diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb92cdd1..6ba33f9e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,14 +29,8 @@ jobs: filters: | dashboard: - 'examples-standalone/dashboard/**' - vite-coffee-warehouse: - - 'examples-standalone/vite-coffee-warehouse/**' - - # - name: Build Coffee warehouse app - # working-directory: ./examples-standalone/coffee-warehouse - # run: | - # npm ci - # npm run build + coffee-warehouse: + - 'examples-standalone/coffee-warehouse/**' - name: Build Dashboard app working-directory: ./examples-standalone/dashboard @@ -46,8 +40,8 @@ jobs: npm run build - name: Build Vite Coffee warehouse app - working-directory: ./examples-standalone/vite-coffee-warehouse - if: steps.changes.outputs.vite-coffee-warehouse == 'true' + working-directory: ./examples-standalone/coffee-warehouse + if: steps.changes.outputs.coffee-warehouse == 'true' run: | npm ci npm run build diff --git a/examples-standalone/coffee-warehouse/.gitignore b/examples-standalone/coffee-warehouse/.gitignore index 8a99ddd6..a547bf36 100644 --- a/examples-standalone/coffee-warehouse/.gitignore +++ b/examples-standalone/coffee-warehouse/.gitignore @@ -1,20 +1,24 @@ -.DS_Store -node_modules - -# local env files -.env.local -.env.*.local - -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/examples-standalone/coffee-warehouse/README.md b/examples-standalone/coffee-warehouse/README.md index 03cda2f5..0f47065a 100644 --- a/examples-standalone/coffee-warehouse/README.md +++ b/examples-standalone/coffee-warehouse/README.md @@ -1,26 +1,21 @@ -This project was bootstrapped with [Vue CLI](https://cli.vuejs.org/). - -# kendo-vue-template-app - -## Project setup -``` -npm install -``` - -### Compiles and hot-reloads for development -``` -npm run serve -``` - -### Compiles and minifies for production -``` -npm run build -``` - -### Lints and fixes files -``` -npm run lint -``` - -### Customize configuration -See [Configuration Reference](https://cli.vuejs.org/config/). +# Kendo UI for Vue Dashboard Application + +The current example shows how the Native Grid, Charts, Inputs, Labels, etc. component can be combined in a real-life application. The project uses Vue 3 in Vite. + +## Project setup + +Install the NPM packages using: + +``` +npm install +``` + +Start the project using: + +``` +npm run dev +``` + +## Recommended IDE Setup + +- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) diff --git a/examples-standalone/coffee-warehouse/babel.config.js b/examples-standalone/coffee-warehouse/babel.config.js deleted file mode 100644 index a6736555..00000000 --- a/examples-standalone/coffee-warehouse/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset' - ] -} diff --git a/examples-standalone/coffee-warehouse/dist/css/app.35fe3187.css b/examples-standalone/coffee-warehouse/dist/css/app.35fe3187.css deleted file mode 100644 index 3b6b4c28..00000000 --- a/examples-standalone/coffee-warehouse/dist/css/app.35fe3187.css +++ /dev/null @@ -1 +0,0 @@ -.ddl-theme[data-v-eaa39c2c]{width:60px;min-width:60px}.localeDropDownList[data-v-eaa39c2c]{min-width:100px;margin:10px}.k-dropdownlist[data-v-eaa39c2c]{min-height:30px}body,h1,h2,h3{margin:0;padding:0}a{text-decoration:none}.k-drawer-container{background-color:#d4d6e4;min-height:100%}.k-drawer-container .k-drawer{box-shadow:0 0 10px rgba(0,0,0,.2)}.k-drawer-container .k-drawer.k-drawer-start{border-right-width:0}.k-drawer-container.k-drawer-push .k-drawer{position:sticky;top:80px;height:calc(100vh - 80px)}.k-drawer-container .k-drawer-item{-webkit-user-select:none;-moz-user-select:none;user-select:none}.k-drawer-container .k-drawer-content{overflow:hidden}.card-container{min-height:100%;background-color:#fff;padding:40px 0;text-align:center}.card-container .card-header-wrapper{display:flex;justify-content:space-between;margin-bottom:1rem}.card-container.grid{display:grid;grid-template-columns:repeat(1,1fr);-moz-column-gap:10px;column-gap:10px;row-gap:1em}.card-container .card-buttons .k-button{min-width:105px}.card-container .card-ranges .k-dateinput{width:105px}.card-container .chart-tooltip{text-align:center;font-size:15px;font-weight:700}.card-container .card-ranges .k-i-calendar{color:#656565;cursor:pointer;margin-right:5px}.card-container .card-ranges{white-space:nowrap}.card-container .card-ranges .k-daterangepicker .k-floating-label-container,.card-container .card-ranges .k-daterangepicker .k-textbox-container{padding-top:0;min-width:105px}.card-container .card-ranges .k-daterangepicker .k-label{display:none}.card-container .card-component{grid-column:1/-1;overflow:hidden}@media (min-width:480px){.content-wrapper>.column.menu{display:none}.card-container{text-align:initial;padding:30px}.card-container.grid{grid-template-columns:repeat(2,1fr)}.card-container .card-title{grid-column:1/2;grid-row:1}.card-container .card-buttons{text-align:center;grid-column:1/-1;grid-row:2}.card-container .card-ranges{text-align:right;grid-column:2/3;grid-row:1}}@media (min-width:768px){.content-wrapper>.column.menu{display:inherit}.card-container{margin:25px;border-radius:5px;box-shadow:0 0 10px rgba(0,0,0,.2)}.card-container.grid{grid-template-columns:repeat(3,1fr)}.card-container .card-buttons{text-align:center}.card-container .card-ranges{text-align:right;grid-column:3/4}.card-container .card-component{grid-column-start:1;grid-column-end:-1}}@media (min-width:900px){.card-container .card-buttons{text-align:center;grid-column:2/3;grid-row:1}}@media (max-width:900px){.card-header-wrapper{flex-direction:column}.card-header-wrapper .card-buttons,.card-header-wrapper .card-ranges{margin-top:1rem;text-align:left}}.dashboard-page .k-grid-toolbar .k-textbox{margin-bottom:10px}@media (min-width:480px){.dashboard-page .k-grid-toolbar .k-textbox{margin-bottom:0;float:left}.dashboard-page .k-grid-toolbar .k-button{float:right}}@media (min-width:768px){.dashboard-page .card-container:last-of-type{padding-top:30px}}.planning-page .card-container,.planning-page .personal-card{grid-template-columns:repeat(1,1fr)}.planning-page .personal-card{display:grid;grid-row-gap:1em;row-gap:1em}.planning-page .k-card-header{padding-left:10px;padding-right:10px}.planning-page .card-title{grid-column:1/-1}.planning-page .k-hbox{padding:0 20px;background:transparent;align-items:center}.planning-page .k-card-title{font-size:15px;margin-bottom:-6px;text-align:left}.planning-page .k-card-subtitle{margin-top:0;text-transform:uppercase;font-size:11px}.planning-page .disabled{opacity:.5}@media (min-width:480px){.planning-page .card-container,.planning-page .personal-card{grid-template-columns:repeat(2,1fr)}.planning-page .k-hbox{padding-left:0}}@media (min-width:768px){.planning-page .k-hbox{border-width:0}}@media (min-width:960px){.planning-page .card-container{grid-template-columns:repeat(3,1fr)}.planning-page .personal-card{grid-template-columns:repeat(2,1fr)}}@media (min-width:1130px){.planning-page .personal-card{grid-template-columns:repeat(3,1fr)}}@media (min-width:1360px){.planning-page .card-container{grid-template-columns:repeat(5,1fr)}}@media (min-width:1770px){.planning-page .personal-card{grid-template-columns:repeat(5,1fr)}}.profile-page .card-container{text-align:left}.profile-page .k-form .k-form-field{display:block;padding:0 15px;margin-top:1.5rem}.profile-page .k-form .k-label{text-align:right}.profile-page .k-form-field:first-of-type .k-form-field-wrap{margin:auto}.profile-page .k-form-field:first-of-type .k-avatar{margin:0 auto 1rem}.profile-page hr{margin-top:2rem;opacity:.2}.profile-page .k-form .k-form-buttons{justify-content:center}.profile-page .k-form .k-form-buttons>*{min-width:140px}@media (min-width:480px){.profile-page .k-form .k-form-field{display:flex}.profile-page .k-form-field:first-of-type .k-avatar{margin:0}}@media (min-width:768px){.profile-page .k-form{margin:0 auto;padding:0}.profile-page .k-form .k-form-field{padding:0}}.info-page{background-color:#06163e;background-image:url(/kendo-vue/coffee-warehouse/img/info-bg.a419fc23.png);background-position:right 0 top 0;color:#fff;background-repeat:no-repeat;opacity:.9}.info-page .component-link,.info-page h1,.info-page h2,.info-page h3{font-family:Metric,Helvetica,Arial,sans-serif}.info-page a:not(.k-button){color:#71a6ff}.info-page .content{padding-top:40px;margin:0 auto;position:relative;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAABCAYAAAA/6bM1AAAAw3pUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjabVDbDcMgDPxnio7gF69xSJNK3aDj9whGCm1Owj58cBiH4/N+hUeHsAWLuaSaEgFWrUoDKTTQzshkZzwBKXt1qYdJSMAUWf1CGplnfZ7zzA0sXozK04VtFaq5f/kxkpG0d9T57kbVjVSGwG7Qxrco1ZKvX9gOWlHGCj1YWdv+22dMb494R0UOZSVEURkNaF8ctEFgRNKIg6wGrtj1enUzDORuThPhC+gfWQ8kgbh/AAABhGlDQ1BJQ0MgcHJvZmlsZQAAeJx9kT1Iw0AcxV9Ti6IVBzsUUchQnSyIijhKFYtgobQVWnUwufQLmjQkKS6OgmvBwY/FqoOLs64OroIg+AHi5uak6CIl/i8ptIjx4Lgf7+497t4BQqPCVLNrAlA1y0jFY2I2typ2v6IPAQQxgrDETD2RXszAc3zdw8fXuyjP8j735+hX8iYDfCLxHNMNi3iDeGbT0jnvE4dYSVKIz4nHDbog8SPXZZffOBcdFnhmyMik5olDxGKxg+UOZiVDJZ4mjiiqRvlC1mWF8xZntVJjrXvyFwbz2kqa6zSHEccSEkhChIwayqjAQpRWjRQTKdqPefiHHH+SXDK5ymDkWEAVKiTHD/4Hv7s1C1OTblIwBgRebPtjFOjeBZp12/4+tu3mCeB/Bq60tr/aAGY/Sa+3tcgRMLANXFy3NXkPuNwBwk+6ZEiO5KcpFArA+xl9Uw4YvAV619zeWvs4fQAy1NXyDXBwCIwVKXvd4909nb39e6bV3w9XJHKc297odQAAD5xpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4KIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgIHhtbG5zOmlwdGNFeHQ9Imh0dHA6Ly9pcHRjLm9yZy9zdGQvSXB0YzR4bXBFeHQvMjAwOC0wMi0yOS8iCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpwbHVzPSJodHRwOi8vbnMudXNlcGx1cy5vcmcvbGRmL3htcC8xLjAvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDowYzRmZDhiOC0zMTZkLTQ1ODctOGUwZS0xOTU1YWMwMTY1MjgiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OGIyYTUwYWYtNzAwMS00MmY5LTkwMzMtOTFmYTA1NzA3M2M2IgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTFkZDE3ZWYtZjQ0MS00NzViLWI0ZjMtMWE5ZDBkYTFkOTM4IgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJXaW5kb3dzIgogICBHSU1QOlRpbWVTdGFtcD0iMTYzNjExNTQyMTQxNzkzMCIKICAgR0lNUDpWZXJzaW9uPSIyLjEwLjIyIgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiPgogICA8aXB0Y0V4dDpMb2NhdGlvbkNyZWF0ZWQ+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpMb2NhdGlvbkNyZWF0ZWQ+CiAgIDxpcHRjRXh0OkxvY2F0aW9uU2hvd24+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpMb2NhdGlvblNob3duPgogICA8aXB0Y0V4dDpBcnR3b3JrT3JPYmplY3Q+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpBcnR3b3JrT3JPYmplY3Q+CiAgIDxpcHRjRXh0OlJlZ2lzdHJ5SWQ+CiAgICA8cmRmOkJhZy8+CiAgIDwvaXB0Y0V4dDpSZWdpc3RyeUlkPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplZjJlZTU0MC1kNTU1LTQzMGMtODJkOS1kNTljNzYzNTA3MTAiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoV2luZG93cykiCiAgICAgIHN0RXZ0OndoZW49IjIwMjEtMTEtMDVUMTQ6MzA6MjEiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogICA8cGx1czpJbWFnZVN1cHBsaWVyPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6SW1hZ2VTdXBwbGllcj4KICAgPHBsdXM6SW1hZ2VDcmVhdG9yPgogICAgPHJkZjpTZXEvPgogICA8L3BsdXM6SW1hZ2VDcmVhdG9yPgogICA8cGx1czpDb3B5cmlnaHRPd25lcj4KICAgIDxyZGY6U2VxLz4KICAgPC9wbHVzOkNvcHlyaWdodE93bmVyPgogICA8cGx1czpMaWNlbnNvcj4KICAgIDxyZGY6U2VxLz4KICAgPC9wbHVzOkxpY2Vuc29yPgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+OezGtQAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB+ULBQweFXrVw+IAAAETSURBVFjD7VdJEsMgDEP00B/0O/3/p6weOilLyOI0IcBY5wRvkhc8X286g8FgMBgMhkEBoCvfBM75TrczgQzBGc9vHUKdHnmkWy8ov6/PO5LNaCW3W/JNV8Br4wDb7zE8zSVZ4PSdPVku5+Af5OuiX07xkkxi12jvKt5r3p38vU2Dsd299aROS9jrA2RWzyGhzV8HC1WiwcbKl8+7kn89cW54fVTM4dp20NKOWfUOioQTx5u3oZAfLOSHv5swv09OmhzaxlvBRsghCqSirG9aS/+NBP04g6Kersi5dfs1eFaT51t7O+d6ZbipvaZPYL6vHTkLJBrUcD7pvf7IW5mOSDrPsXv3+Zduvd0slIaRHso6+gCewFiNfrV6WwAAAABJRU5ErkJggg==);background-repeat:repeat-y}.info-page .section-1{text-align:center}.info-page .section-1 h1{font-size:48px;font-weight:700}.info-page .section-1 h2{font-size:30px;margin-bottom:53px}.info-page .section-1 .button-group{margin-bottom:30px}.info-page .section-1 .button-group .k-button{display:block;margin:10px auto;min-width:145px;width:60%}.info-page .section-1 .github-link{display:inline-flex;flex-direction:row;align-items:center;align-content:center}.info-page .section-1 .github-link .github-text{margin-left:15px}.info-page .section-2,.info-page .section-3{text-align:center;margin-top:40px;padding:0 15px}.info-page .section-3{-moz-column-count:2;column-count:2}.info-page .section-3 ul{list-style:none;padding:0;margin:0}.info-page .package-item{display:inline-block;margin-top:20px}.info-page .package-title a{font-size:17px;color:#ccc;text-transform:uppercase}.info-page .component-link{padding:5px 0}.info-page .component-link a{font-size:20px}.info-page .footer{background-image:url(/kendo-vue/coffee-warehouse/img/info-waves.60f8aba6.svg);background-repeat:no-repeat;height:320px;background-size:cover}@media (min-width:480px){.info-page .content{padding:40px 40px 40px}.info-page .section-1 h1{font-size:71px}.info-page .section-1 h2{font-size:38px}.info-page .section-1 .button-group .k-button{display:inline-block;margin-right:10px;width:auto}}@media (min-width:992px){.info-page .section-3{-moz-column-count:3;column-count:3}}@media (min-width:1370px){.info-page .content{padding:120px 40px 0}.info-page .section-1,.info-page .section-2,.info-page .section-3{text-align:left;padding:0}.info-page .section-3{-moz-column-count:4;column-count:4}}@media (-ms-high-contrast:none){.k-drawer-container.k-drawer-push .k-drawer{position:static;height:auto}.planning-page .card-title{margin-bottom:1rem;text-align:left}.planning-page .personal-card{display:block;margin-bottom:1rem}}@font-face{font-family:Roboto;src:url(/kendo-vue/coffee-warehouse/fonts/Roboto-Regular.ae3a8db9.ttf) format("truetype")}body{font-family:Roboto,sans-serif}h1{font-size:1.25rem;font-weight:400}h2{font-size:1rem;font-weight:200}h3{font-weight:400}h3,h4,h5{font-size:1.25rem}a,p{font-size:1rem}@media (min-width:480px){h1{font-size:1.5rem;font-weight:400}h2{font-size:1.25rem;font-weight:200}}@media (min-width:768px){h1{font-weight:400}h1,h2{font-size:1.75rem}h2{font-weight:200}}.app-header>.project-name{text-align:left;letter-spacing:0;color:#000;opacity:1}.app-header>.nav{float:righnpmt}.content{min-height:100vh}.logo{font-weight:700;font-size:24px}.welcome{font-weight:900;color:#000}.sub-header,.welcome{text-align:center;letter-spacing:0;opacity:1}.sub-header{font-weight:400;color:#919191;margin-bottom:4rem}.get-started{text-align:center;font-weight:900;font-size:78px;letter-spacing:0;color:#000;opacity:1;margin-bottom:1rem}.kendoka{width:12.5rem;height:12.5rem;opacity:1}.change-theme{font-size:14px;color:#9098a5}.components-list>p>a{margin-left:.6em}.components-list>p>img{width:1.25rem;height:1.3125rem}.divider{margin-left:.4rem;margin-right:.4rem;opacity:.2}.copyright{letter-spacing:.33px;color:#fff;opacity:.6}.k-widget.k-menu{height:100%}.social img{margin-left:3rem}.header-bg{background-image:url(/kendo-vue/coffee-warehouse/img/header-bg.b6d60964.png)}.header{height:80px;position:sticky;top:0;z-index:3}.header .nav-container{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:100%;color:#fff}.header .menu-button{flex:0 0 50px;text-align:center}.header .hamburger-icon{background-image:url(/kendo-vue/coffee-warehouse/img/hamburger-icon.19d0bbb4.svg);background-repeat:no-repeat;width:20px;cursor:pointer}.header .title{display:flex;flex:1 0 auto;flex-direction:column;align-items:flex-start;margin-left:25px}.header .k-avatar{display:block;width:40px;height:40px;flex-basis:40px;margin:0 25px;box-shadow:0 0 0 1px #fff}.header .settings{display:none}@media (min-width:480px){.header .title{flex-direction:row;align-items:center}.header .vl{border-left:1px solid #fff;height:25px;margin:6px 15px}}@media (min-width:768px){.header .settings{display:flex;flex:0 0 auto;align-items:center}.header .k-dropdown{max-width:90px;margin-left:15px}}.header .title{flex-direction:row;align-items:center}.header .vl{border-left:1px solid #fff;height:25px;margin:6px 15px}.k-menu-vertical>.k-menu-item.k-state-selected.material>.k-menu-link{color:#ff4081}.k-menu-vertical>.k-menu-item.material>.k-menu-link{color:rgba(0,0,0,.87)}.k-menu-vertical>.k-menu-item.k-state-selected.bootstrap>.k-menu-link{color:#fff}.k-menu-vertical>.k-menu-item.k-state-selected.bootstrap{background-color:#0071eb}.k-menu-vertical>.k-menu-item.bootstrap>.k-menu-link{color:#212529}.k-menu-vertical>.k-menu-item.k-state-selected.default>.k-menu-link{color:#fff}.k-menu-vertical>.k-menu-item.k-state-selected.default{background-color:#ff6358}.k-menu-vertical>.k-menu-item.default>.k-menu-link{color:#424242}.k-widget.k-dropdown.ddl-theme,.k-widget.k-dropdown.localeDropDownList{background-color:#f5f5f5;border-radius:2px}.k-menu.k-menu-vertical:not(.k-context-menu){padding:0}.column{display:inline-block}.column.content{min-width:500px}.k-item.k-menu-item.k-drawer-item.k-state-selected{color:#fff}.content-wrapper{display:grid;grid-template-columns:220px 1fr}.k-drawer-container.k-drawer-push{display:inherit;padding-top:5px;padding-bottom:5px}td.text-center{text-align:center}.customer-photo{width:32px;height:32px;border-radius:50%;background-size:32px 35px;background-position:50%;box-shadow:inset 0 0 1px #999,inset 0 0 10px rgba(0,0,0,.2);margin-left:5px}.customer-name,.customer-photo{display:inline-block;vertical-align:middle;line-height:32px}.customer-name{padding-left:10px}.red{color:#d9534f}.text-bold{font-weight:600}.export-buttons{margin-left:auto;margin-right:0}.k-form-field-wrap[data-v-4a2c0b4d]{margin:auto}.k-form-buttons[data-v-ff4a2cb8]{justify-content:center}.chart-tooltip[data-v-67888aa6]{text-align:center;font-size:15px;font-weight:700}.card-header-wrapper[data-v-67888aa6]{display:flex;justify-content:space-between;margin-bottom:1rem}.card-title[data-v-67888aa6]{grid-column:1/2;grid-row:1}.card-title[data-v-67888aa6],.k-button-group[data-v-67888aa6]{margin-block-start:1em;margin-block-end:1em;margin-inline-start:0;margin-inline-end:0}.k-button-group[data-v-67888aa6]{display:block}.card-ranges[data-v-67888aa6]{margin-top:1rem;text-align:left} \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/dist/fonts/Roboto-Regular.ae3a8db9.ttf b/examples-standalone/coffee-warehouse/dist/fonts/Roboto-Regular.ae3a8db9.ttf deleted file mode 100644 index 2b6392ff..00000000 Binary files a/examples-standalone/coffee-warehouse/dist/fonts/Roboto-Regular.ae3a8db9.ttf and /dev/null differ diff --git a/examples-standalone/coffee-warehouse/dist/img/github-icon.42f4ca19.svg b/examples-standalone/coffee-warehouse/dist/img/github-icon.42f4ca19.svg deleted file mode 100644 index a4ed73da..00000000 --- a/examples-standalone/coffee-warehouse/dist/img/github-icon.42f4ca19.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/examples-standalone/coffee-warehouse/dist/img/hamburger-icon.19d0bbb4.svg b/examples-standalone/coffee-warehouse/dist/img/hamburger-icon.19d0bbb4.svg deleted file mode 100644 index 4814a830..00000000 --- a/examples-standalone/coffee-warehouse/dist/img/hamburger-icon.19d0bbb4.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/examples-standalone/coffee-warehouse/dist/img/header-bg.b6d60964.png b/examples-standalone/coffee-warehouse/dist/img/header-bg.b6d60964.png deleted file mode 100644 index 80b2b45b..00000000 Binary files a/examples-standalone/coffee-warehouse/dist/img/header-bg.b6d60964.png and /dev/null differ diff --git a/examples-standalone/coffee-warehouse/dist/img/info-bg.a419fc23.png b/examples-standalone/coffee-warehouse/dist/img/info-bg.a419fc23.png deleted file mode 100644 index 205bf8b4..00000000 Binary files a/examples-standalone/coffee-warehouse/dist/img/info-bg.a419fc23.png and /dev/null differ diff --git a/examples-standalone/coffee-warehouse/dist/img/info-waves.60f8aba6.svg b/examples-standalone/coffee-warehouse/dist/img/info-waves.60f8aba6.svg deleted file mode 100644 index c147dab1..00000000 --- a/examples-standalone/coffee-warehouse/dist/img/info-waves.60f8aba6.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/dist/img/user.aaada67a.jpg b/examples-standalone/coffee-warehouse/dist/img/user.aaada67a.jpg deleted file mode 100644 index 61d0de30..00000000 Binary files a/examples-standalone/coffee-warehouse/dist/img/user.aaada67a.jpg and /dev/null differ diff --git a/examples-standalone/coffee-warehouse/dist/index.html b/examples-standalone/coffee-warehouse/dist/index.html index c655a521..4cbdca47 100644 --- a/examples-standalone/coffee-warehouse/dist/index.html +++ b/examples-standalone/coffee-warehouse/dist/index.html @@ -1 +1,14 @@ -kendo-vue-template-app
\ No newline at end of file + + + + + + + Kendo UI for Vue Dashboard App made using Vite.js. + + + + +
+ + diff --git a/examples-standalone/coffee-warehouse/dist/js/app.b45c9228.js b/examples-standalone/coffee-warehouse/dist/js/app.b45c9228.js deleted file mode 100644 index f558b44e..00000000 --- a/examples-standalone/coffee-warehouse/dist/js/app.b45c9228.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){"use strict";var e={482:function(e,r,a){var t=a(3751),o=a(641);const d={class:"content-wrapper"},n={class:"column menu"},m={class:"column content"},i={class:"k-drawer-container k-drawer-mini k-drawer-push"},u={class:"card-container"};function s(e,r,a,t,s,c){const l=(0,o.g2)("Header"),D=(0,o.g2)("MenuNavContainer"),A=(0,o.g2)("router-view"),p=(0,o.g2)("intl"),N=(0,o.g2)("localization");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.bF)(N,{language:s.localizationLanguage},{default:(0,o.k6)((()=>[(0,o.bF)(p,{locale:c.locale},{default:(0,o.k6)((()=>[(0,o.bF)(l,{onLocaleChange:c.onLocaleChange,onThemeChange:c.onThemeChange},null,8,["onLocaleChange","onThemeChange"]),(0,o.Lk)("div",d,[(0,o.Lk)("div",n,[(0,o.bF)(D,{"current-theme":s.currentTheme.toLowerCase()},null,8,["current-theme"])]),(0,o.Lk)("div",m,[(0,o.Lk)("div",i,[(0,o.Lk)("div",u,[(0,o.bF)(A,{"localization-language":s.localizationLanguage,"current-theme":s.currentTheme},null,8,["localization-language","current-theme"])])])])])])),_:1},8,["locale"])])),_:1},8,["language"])])}var c=a(33),l=a.p+"img/user.aaada67a.jpg";const D=e=>((0,o.Qi)("data-v-eaa39c2c"),e=e(),(0,o.jt)(),e),A={class:"header header-bg"},p={class:"nav-container"},N={class:"title"},C=D((()=>(0,o.Lk)("span",{class:"vl"},null,-1))),g=D((()=>(0,o.Lk)("div",{style:{margin:"auto 8px auto 10px"}},[(0,o.Lk)("span",{class:"k-icon k-i-palette"})],-1))),I=D((()=>(0,o.Lk)("img",{src:l},null,-1)));function q(e,r,a,t,d,n){const m=(0,o.g2)("DropDownList"),i=(0,o.g2)("Avatar");return(0,o.uX)(),(0,o.CE)("div",A,[(0,o.Lk)("div",p,[(0,o.Lk)("div",N,[(0,o.Lk)("h1",null,(0,c.v_)(n.warehouseMessage),1),C,(0,o.Lk)("h2",null,(0,c.v_)(n.teamMessage),1)]),(0,o.bF)(m,{style:{width:"230px",height:"30px"},class:"localeDropDownList",value:d.currentLocale,"text-field":"language",onChange:n.localeChange,"data-items":d.locales},null,8,["value","onChange","data-items"]),(0,o.bF)(m,{"data-items":d.themes,"text-field":"text","popup-settings":d.themesPopupSettings,"value-render":d.myDropDownValueTemplate,class:"ddl-theme",onChange:n.onThemeChange},{myDropDownValueTemplate:(0,o.k6)((({})=>[g])),_:1},8,["data-items","popup-settings","value-render","onChange"]),(0,o.bF)(i,{rounded:"full",type:"image",style:{width:"40px",height:"40px","flex-basis":"40px"}},{default:(0,o.k6)((()=>[I])),_:1})])])}var y=a(8742),S=a(213),E=a(8298),h={components:{Avatar:y.eu,DropDownList:S.O8},emits:{localeChange:null,themeChange:null},inject:{kendoLocalizationService:{default:null}},computed:{warehouseMessage(){return(0,E.GB)(this).toLanguageString("warehouse","Coffee Warehouse")},teamMessage(){return(0,E.GB)(this).toLanguageString("team","Team")}},methods:{onThemeChange(e){this.theme=e.value.href;const r=document.getElementById("theme-link");r.setAttribute("href",`/kendo-vue/coffee-warehouse//static/themes/kendo-theme-${this.theme}/all.css`),this.$emit("themeChange",e.value.text)},localeChange(e){this.currentLocale=e.target.value,this.$emit("localeChange",this.currentLocale)}},created(){this.currentLocale=this.locales[0]},data(){return{theme:"default",themes:[{href:"default",text:"Default"},{href:"bootstrap",text:"Bootstrap"},{href:"material",text:"Material"}],myDropDownValueTemplate:"myDropDownValueTemplate",themesPopupSettings:{width:"150px"},currentLocale:null,locales:[{language:"English",locale:"en"},{language:"French",locale:"fr"},{language:"Spanish",locale:"es"}]}}},T=a(6262);const b=(0,T.A)(h,[["render",q],["__scopeId","data-v-eaa39c2c"]]);var f=b;function k(e,r,a,t,d,n){const m=(0,o.g2)("kendo-menu");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.bF)(m,{items:n.items,onSelect:n.onSelect,vertical:!0},null,8,["items","onSelect"])])}var Q={props:{currentTheme:String},components:{"kendo-menu":y.W1},mounted(){this.selectedItemID=1},inject:{kendoLocalizationService:{default:null}},watch:{currentTheme(){this.updateSelectedMenuItem(this.selectedItemID)},selectedItemID(e){this.updateSelectedMenuItem(e)}},data(){return{teamClass:"",dashboardClass:"",profileClass:"",infoClass:"",selectedItemID:null}},computed:{items(){return[{text:this.teamMessage,cssClass:this.teamClass,cssStyle:{paddingBottom:"10px",paddingTop:"10px",paddingLeft:"5px"},icon:"k-icon k-i-grid",data:{path:"/"},id:1},{text:this.dashboardMessage,cssClass:this.dashboardClass,cssStyle:{paddingBottom:"10px",paddingTop:"10px",paddingLeft:"5px"},icon:"k-icon k-i-chart-line-markers",data:{path:"/Dashboard"},id:2},{text:this.profileMessage,cssClass:this.profileClass,cssStyle:{paddingBottom:"10px",paddingTop:"10px",paddingLeft:"5px"},icon:"k-icon k-i-user",data:{path:"/Profile"},id:3},{text:this.infoMessage,cssClass:this.infoClass,cssStyle:{borderTop:"1px solid red",paddingBottom:"10px",paddingTop:"10px",paddingLeft:"5px"},icon:"k-icon k-i-info",data:{path:"/Info"},id:4}]},teamMessage(){return(0,E.GB)(this).toLanguageString("team","Team")},dashboardMessage(){return(0,E.GB)(this).toLanguageString("dashboard","Dashboard")},profileMessage(){return(0,E.GB)(this).toLanguageString("profile","Profile")},infoMessage(){return(0,E.GB)(this).toLanguageString("info","Info")}},methods:{onSelect(e){this.$router.push(e.item.data),this.selectedItemID=e.item.id},updateSelectedMenuItem(e){this.teamClass=1===e?this.currentTheme+" k-state-selected":this.currentTheme,this.dashboardClass=2===e?this.currentTheme+" k-state-selected":this.currentTheme,this.profileClass=3===e?this.currentTheme+" k-state-selected":this.currentTheme,this.infoClass=4===e?this.currentTheme+" k-state-selected":this.currentTheme}}};const B=(0,T.A)(Q,[["render",k]]);var v=B;const M={teamEfficiency:"Team Efficiency",teamMembers:"Team Members",dashboard:"Dashboard",planning:"Planning",profile:"Profile",info:"Info",language:"Language",trend:"Trend",volume:"Volume",myTeam:"My Team",allTeams:"All Teams",teamCalendar:"Team Calendar",saveChanges:"Save Changes",cancel:"Cancel",warehouse:"Coffee Warehouse",startFreeTrial:"Start Free Trial",buyNow:"Buy Now",getSource:"Get the source code on GitHub",demoInfo:"This demo application is built using the following Kendo UI for Vue components.",firstName:"First Name",middleName:"Middle Name",lastName:"Last Name",email:"Email Address",phoneNumber:"Phone Number",country:"Country",biography:"Short Biography",public:"Include in public directory",team:"Team",employee:"Employee",contactName:"Contact Name",jobTitle:"Job Title",status:"Status",performance:"Performance",rating:"Rating",engagement:"Engagement",budget:"Budget",contacts:"Contacts",address:"Address",phone:"Phone",gridSearch:"Search in all columns...",exportExcel:"Export to Excel",exportPdf:"Export to PDF"},H={"kendo.grid.groupPanelEmpty":"Drag a column header and drop it here to group by that column","kendo.grid.noRecords":"No records available.","kendo.grid.pagerFirstPage":"Go to the first page","kendo.grid.pagerPreviousPage":"Go to the previous page","kendo.grid.pagerNextPage":"Go to the next page","kendo.grid.pagerLastPage":"Go to the last page","kendo.grid.pagerPage":"Page","kendo.grid.pagerOf":"of","kendo.grid.pagerItems":"items","kendo.grid.pagerItemsPerPage":"items per page","kendo.grid.pagerPageNumberInputTitle":"Page Number","kendo.grid.filter":"Filter","kendo.grid.filterEqOperator":"Is equal to","kendo.grid.filterNotEqOperator":"Is not equal to","kendo.grid.filterIsNullOperator":"Is null","kendo.grid.filterIsNotNullOperator":"Is not null","kendo.grid.filterIsEmptyOperator":"Is empty","kendo.grid.filterIsNotEmptyOperator":"Is not empty","kendo.grid.filterStartsWithOperator":"Starts with","kendo.grid.filterContainsOperator":"Contains","kendo.grid.filterNotContainsOperator":"Does not contain","kendo.grid.filterEndsWithOperator":"Ends with","kendo.grid.filterGteOperator":"Is greater than or equal to","kendo.grid.filterGtOperator":"Is greater than","kendo.grid.filterLteOperator":"Is less than or equal to","kendo.grid.filterLtOperator":"Is less than","kendo.grid.filterIsTrue":"is true","kendo.grid.filterIsFalse":"is false","kendo.grid.filterBooleanAll":"(All)","kendo.grid.filterAfterOrEqualOperator":"Is after or equal to","kendo.grid.filterAfterOperator":"Is after","kendo.grid.filterBeforeOperator":"Is before","kendo.grid.filterBeforeOrEqualOperator":"Is before or equal to","kendo.grid.filterFilterButton":"Filter","kendo.grid.filterClearButton":"Clear","kendo.grid.filterAndLogic":"And","kendo.grid.filterOrLogic":"Or","kendo.grid.filterDateToggle":"Toggle calendar","kendo.grid.filterDateToday":"Today","kendo.grid.filterNumericDecrement":"Decrease value","kendo.grid.filterNumericIncrement":"Increase value","kendo.grid.loading":"Loading","kendo.grid.sort":"Sort","kendo.grid.columnMenu":"Column Menu","kendo.grid.columns":"Columns","kendo.grid.lock":"Lock","kendo.grid.unlock":"Unlock","kendo.grid.stick":"Stick","kendo.grid.unstick":"Unstick","kendo.grid.setColumnPosition":"Set Column Position","kendo.grid.sortAscending":"Sort Ascending","kendo.grid.sortDescending":"Sort Descending","kendo.grid.columnsApply":"Apply","kendo.grid.columnsReset":"Reset","kendo.grid.sortable":"Sortable","kendo.grid.sortedAscending":"Sorted ascending","kendo.grid.sortedDescending":"Sorted descending","kendo.grid.sortedDefault":"Not sorted","kendo.autocomplete.noDataText":"No data found","kendo.autocomplete.clearTitle":"Clear","kendo.combobox.noDataText":"No data found","kendo.combobox.clearTitle":"Clear","kendo.dropdownlist.noDataText":"No data found","kendo.dropdownlist.clearTitle":"Clear","kendo.calendar.today":"TODAY","kendo.textbox.clearTitle":"Clear","kendo.datepicker.today":"TODAY","kendo.datepicker.toggle":"Toggle calendar","kendo.dateinput.increment":"Increase value","kendo.dateinput.decrement":"Decrease value","kendo.numerictextbox.increment":"Increase value","kendo.numerictextbox.decrement":"Decrease value","kendo.datetimepicker.dateTab":"Date","kendo.datetimepicker.dateTabLabel":"Date tab","kendo.datetimepicker.timeTab":"Time","kendo.datetimepicker.timeTabLabel":"Time tab","kendo.datetimepicker.toggle":"Toggle popup","kendo.datetimepicker.accept":"Set","kendo.datetimepicker.acceptLabel":"Set","kendo.datetimepicker.cancel":"Cancel","kendo.datetimepicker.cancelLabel":"Cancel","kendo.datetimepicker.now":"NOW","kendo.datetimepicker.nowLabel":"Select now","kendo.datetimepicker.today":"TODAY","kendo.datetimepicker.prevButtonTitle":"Navigate to previous view","kendo.datetimepicker.nextButtonTitle":"Navigate to next view","kendo.timepicker.accept":"Set","kendo.timepicker.acceptLabel":"Set","kendo.timepicker.cancel":"Cancel","kendo.timepicker.cancelLabel":"Cancel","kendo.timepicker.now":"Now","kendo.timepicker.nowLabel":"Now","kendo.timepicker.toggle":"Toggle time list","kendo.fileselect.cancel":"Cancel","kendo.fileselect.clearSelectedFiles":"Clear","kendo.fileselect.dropFilesHere":"Drop files here to upload","kendo.fileselect.externalDropFilesHere":"Drag and drop files here to upload","kendo.fileselect.filesBatchStatus":"files","kendo.fileselect.filesBatchStatusFailed":"files failed to upload.","kendo.fileselect.filesBatchStatusUploaded":"files successfully uploaded.","kendo.fileselect.fileStatusFailed":"File failed to upload.","kendo.fileselect.fileStatusUploaded":"File successfully uploaded.","kendo.fileselect.headerStatusPaused":"Paused","kendo.fileselect.headerStatusUploaded":"Done","kendo.fileselect.headerStatusUploading":"Uploading...","kendo.fileselect.invalidFileExtension":"File type not allowed.","kendo.fileselect.invalidMaxFileSize":"File size too large.","kendo.fileselect.invalidMinFileSize":"File size too small.","kendo.fileselect.remove":"Remove","kendo.fileselect.retry":"Retry","kendo.fileselect.select":"Select files...","kendo.fileselect.uploadSelectedFiles":"Upload files","kendo.scheduler.agendaViewTitle":"Agenda","kendo.scheduler.allDay":"all day","kendo.scheduler.allEvents":"All events","kendo.scheduler.calendarToday":"TODAY","kendo.scheduler.cancel":"Cancel","kendo.scheduler.save":"Save","kendo.scheduler.editorEventTitle":"Title","kendo.scheduler.editorEventStart":"Start","kendo.scheduler.editorEventStartTimeZone":"Start Time Zone","kendo.scheduler.editorEventEnd":"End","kendo.scheduler.editorEventEndTimeZone":"End Time Zone","kendo.scheduler.dateHeader":"Date","kendo.scheduler.dayViewTitle":"Day","kendo.scheduler.deleteConfirmation":"Are you sure you want to delete this event?","kendo.scheduler.deleteDialogTitle":"Delete Event","kendo.scheduler.deleteOccurrence":"Delete current occurrence","kendo.scheduler.deleteRecurringConfirmation":"Do you want to delete only this event occurrence or the whole series?","kendo.scheduler.deleteRecurringDialogTitle":"Delete Recurring Item","kendo.scheduler.deleteSeries":"Delete the series","kendo.scheduler.deleteTitle":"Delete","kendo.scheduler.destroy":"Delete","kendo.scheduler.editOccurrence":"Edit current occurrence","kendo.scheduler.editorEventAllDay":"All Day Event","kendo.scheduler.editorEventDescription":"Description","kendo.scheduler.editorEventSeparateTimeZones":"End in different Time Zone","kendo.scheduler.editorEventTimeZone":"Specify Time Zone","kendo.scheduler.editorTitle":"Event","kendo.scheduler.editRecurringConfirmation":"Do you want to edit only this event occurrence or the whole series?","kendo.scheduler.editRecurringDialogTitle":"Edit Recurring Item","kendo.scheduler.editSeries":"Edit the series","kendo.scheduler.eventHeader":"Event","kendo.scheduler.monthViewTitle":"Month","kendo.scheduler.multiDayViewTitle":"Multi-Day","kendo.scheduler.nextTitle":"Next","kendo.scheduler.previousTitle":"Previous","kendo.scheduler.recurrenceEditorDailyInterval":"day(s)","kendo.scheduler.recurrenceEditorDailyRepeatEvery":"Repeat every","kendo.scheduler.recurrenceEditorEndAfter":"After","kendo.scheduler.recurrenceEditorEndLabel":"End","kendo.scheduler.recurrenceEditorEndNever":"Never","kendo.scheduler.recurrenceEditorEndOccurrence":"occurrence(s)","kendo.scheduler.recurrenceEditorEndOn":"On","kendo.scheduler.recurrenceEditorFrequenciesDaily":"Daily","kendo.scheduler.recurrenceEditorFrequenciesMonthly":"Monthly","kendo.scheduler.recurrenceEditorFrequenciesNever":"Never","kendo.scheduler.recurrenceEditorFrequenciesWeekly":"Weekly","kendo.scheduler.recurrenceEditorFrequenciesYearly":"Yearly","kendo.scheduler.recurrenceEditorMonthlyDay":"Day","kendo.scheduler.recurrenceEditorMonthlyInterval":"month(s)","kendo.scheduler.recurrenceEditorMonthlyRepeatEvery":"Repeat every","kendo.scheduler.recurrenceEditorMonthlyRepeatOn":"Repeat on","kendo.scheduler.recurrenceEditorOffsetPositionsFirst":"First","kendo.scheduler.recurrenceEditorOffsetPositionsFourth":"Fourth","kendo.scheduler.recurrenceEditorOffsetPositionsLast":"Last","kendo.scheduler.recurrenceEditorOffsetPositionsSecond":"Second","kendo.scheduler.recurrenceEditorOffsetPositionsThird":"Third","kendo.scheduler.recurrenceEditorRepeat":"Repeat","kendo.scheduler.recurrenceEditorWeekdaysDay":"Day","kendo.scheduler.recurrenceEditorWeekdaysWeekday":"Weekday","kendo.scheduler.recurrenceEditorWeekdaysWeekendday":"Weekend Day","kendo.scheduler.recurrenceEditorWeeklyInterval":"week(s)","kendo.scheduler.recurrenceEditorWeeklyRepeatEvery":"Repeat every","kendo.scheduler.recurrenceEditorWeeklyRepeatOn":"Repeat on","kendo.scheduler.recurrenceEditorYearlyInterval":"year(s)","kendo.scheduler.recurrenceEditorYearlyOf":"of","kendo.scheduler.recurrenceEditorYearlyRepeatEvery":"Repeat every","kendo.scheduler.recurrenceEditorYearlyRepeatOn":"Repeat on","kendo.scheduler.showFullDay":"Show full day","kendo.scheduler.showWorkDay":"Show business hours","kendo.scheduler.timeHeader":"Time","kendo.scheduler.timelineMonthViewTitle":"Timeline Month","kendo.scheduler.timelineViewTitle":"Timeline","kendo.scheduler.timelineWeekViewTitle":"Timeline Week","kendo.scheduler.today":"Today","kendo.scheduler.weekViewTitle":"Week","kendo.scheduler.workWeekViewTitle":"Work Week","kendo.recurrenceeditor.dailyInterval":"day(s)","kendo.recurrenceeditor.dailyRepeatEvery":"Repeat every","kendo.recurrenceeditor.endAfter":"After","kendo.recurrenceeditor.endLabel":"End","kendo.recurrenceeditor.endNever":"Never","kendo.recurrenceeditor.endOccurrence":"occurrence(s)","kendo.recurrenceeditor.endOn":"On","kendo.recurrenceeditor.frequenciesDaily":"Daily","kendo.recurrenceeditor.frequenciesMonthly":"Monthly","kendo.recurrenceeditor.frequenciesNever":"Never","kendo.recurrenceeditor.frequenciesWeekly":"Weekly","kendo.recurrenceeditor.frequenciesYearly":"Yearly","kendo.recurrenceeditor.monthlyDay":"Day","kendo.recurrenceeditor.monthlyInterval":"month(s)","kendo.recurrenceeditor.monthlyRepeatEvery":"Repeat every","kendo.recurrenceeditor.monthlyRepeatOn":"Repeat on","kendo.recurrenceeditor.offsetPositionsFourth":"Fourth","kendo.recurrenceeditor.offsetPositionsLast":"Last","kendo.recurrenceeditor.offsetPositionsSecond":"Second","kendo.recurrenceeditor.offsetPositionsThird":"Third","kendo.recurrenceeditor.repeat":"Repeat","kendo.recurrenceeditor.weekdaysDay":"Day","kendo.recurrenceeditor.weekdaysWeekday":"Weekday","kendo.recurrenceeditor.weekdaysWeekendday":"Weekend Day","kendo.recurrenceeditor.weeklyInterval":"week(s)","kendo.recurrenceeditor.weeklyRepeatEvery":"Repeat every","kendo.recurrenceeditor.weeklyRepeatOn":"Repeat on","kendo.recurrenceeditor.yearlyInterval":"year(s)","kendo.recurrenceeditor.yearlyOf":"of","kendo.recurrenceeditor.yearlyRepeatEvery":"Repeat every","kendo.recurrenceeditor.yearlyRepeatOn":"Repeat on"},P={teamEfficiency:"Eficiencia del equipo",teamMembers:"Miembros del equipo",dashboard:"Tablero",planning:"Planificación",info:"Informacion",profile:"Perfil",language:"Idioma",trend:"Tendencia",volume:"Volumen",myTeam:"Mi equipo",allTeams:"Todos los equipos",teamCalendar:"Calendario del equipo",saveChanges:"Guardar cambios",cancel:"Cancelar",warehouse:"Almacén De Café",startFreeTrial:"Iniciar prueba gratuita",buyNow:"Comprar ahora",getSource:"Obtenga el código fuente en GitHub",demoInfo:"Esta aplicación de demostración está construida utilizando los siguientes componentes de Kendo UI for Vue.",firstName:"Primer nombre",middleName:"Segundo nombre",lastName:"Apellido",email:"Dirección de correo electrónico",phoneNumber:"Número de teléfono",country:"País",biography:"Biografía corta",public:"Incluir en directorio público",team:"Equipo",employee:"Empleado",contactName:"Nombre de contacto",jobTitle:"Título del trabajo",status:"Estado",performance:"Rendimiento",rating:"Clasificación",engagement:"Compromiso",budget:"Presupuesto",contacts:"Contactos",address:"Dirección",phone:"Teléfono",gridSearch:"Buscar en todas las columnas ...",exportExcel:"Exportar a Excel",exportPdf:"Exportar a PDF"},j={datepicker:{toggleCalendar:"Alternar calendario"},calendar:{today:"Hoy"},dateinput:{increment:"Incrementar valor",decrement:"Disminuir valor"},datetimepicker:{date:"Fecha",time:"Hora",cancel:"Cancelar",set:"Establecer"},numerictextbox:{increment:"Incrementar valor",decrement:"Disminuir valor"},timepicker:{now:"AHORA",set:"Establecer",cancel:"Cancelar"},grid:{groupPanelEmpty:"Arrastre el título de una columna y suéltelo aquí para agrupar por ese criterio",noRecords:"No hay datos disponibles.",pagerFirstPage:"Ir a la primera página",pagerPreviousPage:"Ir a la página anterior",pagerNextPage:"Ir a la página siguiente",pagerLastPage:"Ir a la última página",pagerPage:"Página",pagerOf:"de",pagerItems:"ítems",pagerInfo:"{0} - {1} de {2} ítems",pagerItemsPerPage:"ítems por página",filterEqOperator:"Es igual a",filterNotEqOperator:"No es igual a",filterIsNullOperator:"Es nulo",filterIsNotNullOperator:"No es nulo",filterIsEmptyOperator:"Está vacío",filterIsNotEmptyOperator:"No está vacío",filterStartsWithOperator:"Comienza con",filterContainsOperator:"Contiene",filterNotContainsOperator:"No contiene",filterEndsWithOperator:"Termina en",filterGteOperator:"Es mayor o igual que",filterGtOperator:"Es mayor que",filterLteOperator:"Es menor o igual que",filterLtOperator:"Es menor o igual que",filterIsTrue:"Sí",filterIsFalse:"No",filterBooleanAll:"(Todas)",filterAfterOrEqualOperator:"Es posterior o igual a",filterAfterOperator:"Es posterior",filterBeforeOperator:"Es anterior",filterBeforeOrEqualOperator:"Es anterior o igual a",filterSubmitButton:"Filtrar",filterClearButton:"Limpiar",filterAndLogic:"Y",filterOrLogic:"O",filterTitle:"Filtros",sortAscending:"Orden ascendente",sortDescending:"Orden descendente"},upload:{cancel:"Cancelar",dropFilesHere:"Arrastre los archivos aquí para subirlos",select:"Seleccione..."}},R={teamEfficiency:"Efficacité de l'équipe",teamMembers:"Membres de l'équipe",dashboard:"Tableau de bord",planning:"Planification",info:"Info",profile:"Profil",language:"Langue",trend:"Tendance",volume:"Le volume",myTeam:"Mon équipe",allTeams:"Toutes les équipes",teamCalendar:"Calendrier d'équipe",saveChanges:"Sauvegarder les modifications",cancel:"Annuler",warehouse:"Entrepôt De Café",startFreeTrial:"Démarrer l'essai gratuit",buyNow:"Acheter maintenant",getSource:"Récupérer le code source sur GitHub",demoInfo:"Cette application de démonstration est construite à l'aide des composants Kendo UI for Vue.",firstName:"Prénom",middleName:"Deuxième nom",lastName:"Nom de famille",email:"Adresse e-mail",phoneNumber:"Numéro de téléphone",country:"Pays",biography:"Biographie courte",public:"Inclure dans le répertoire public",team:"Équipe",employee:"Employé",contactName:"Nom du contact",jobTitle:"Titre du poste",status:"Statut",performance:"Performance",rating:"Évaluation",engagement:"Engagement",budget:"Budget",contacts:"Contacts",address:"Adresse",phone:"Téléphone",gridSearch:"Rechercher dans toutes les colonnes ...",exportExcel:"Exporter vers Excel",exportPdf:"Exporter au format PDF"},O={grid:{groupPanelEmpty:"Faites glisser un en-tête de colonne et déposez-le ici pour grouper par cette colonne",pagerItemsPerPage:"éléments par page",pagerInfo:"{0} - {1} sur {2} éléments",pagerFirstPage:"Aller à la première page",pagerPreviousPage:"Aller à la page précédente",pagerNextPage:"Aller à la page suivante",pagerLastPage:"Aller à la dernière page",pagerPage:"Page",pagerOf:"de",filterClearButton:"Effacer",filterEqOperator:"Est égal à",filterNotEqOperator:"N'est pas égal à",filterIsNullOperator:"Est nulle",filterIsNotNullOperator:"Est non nulle",filterIsEmptyOperator:"Est vide",filterIsNotEmptyOperator:"N'est pas vide",filterStartsWithOperator:"Commence par",filterContainsOperator:"Contient",filterNotContainsOperator:"Ne contient pas",filterEndsWithOperator:"Se termine par",filterGteOperator:"Est supérieur ou égal à",filterGtOperator:"Est supérieur à",filterLteOperator:"Est inférieur ou égal à",filterLtOperator:"Est inférieur à",filterIsTrue:"Est vrai",filterIsFalse:"Est faux",filterBooleanAll:"(Tous)",filterAfterOrEqualOperator:"Est postérieur ou égal à",filterAfterOperator:"Est postérieur",filterBeforeOperator:"Est antérieur",filterBeforeOrEqualOperator:"Est antérieur ou égal à",noRecords:"Aucun enregistrement disponible."},dateinput:{increment:"Augmenter la valeur",decrement:"Diminuer la valeur"},calendar:{today:"AUJOURD'HUI"},datepicker:{toggleCalendar:"Basculer le calendrier"},dropdowns:{nodata:"AUCUNE DONNÉE DISPONIBLE.",clear:"Effacer"},numerictextbox:{increment:"Augmenter la valeur",decrement:"Diminuer la valeur"},upload:{cancel:"Cancel",clearSelectedFiles:"Effacer",dropFilesHere:"Déposer des fichiers ici pour télécharger",headerStatusUploaded:"Terminé",headerStatusUploading:"Téléchargement...",invalidFileExtension:"Type de fichier non autorisé.",invalidFiles:"Fichier(s) invalide(s). Veuillez vérifier les exigences de téléchargement de fichier.",invalidMaxFileSize:"La taille du fichier est trop grande.",invalidMinFileSize:"La taille du fichier est trop petite.",remove:"Retirer",retry:"Réessayez",select:"Sélectionnez les fichiers...",uploadSelectedFiles:"Télécharger",total:"Total",files:"fichiers"},sortable:{noData:"Aucune donnée"}};var w=a(5667),F=a(2775),z=a(8576),W=a(6835),L=a(2197),G=a(281),x=a(6889),V=a(916),K=a(9435),X=a(6417),U=a(7453),J=a(7205),Z=a(7068);(0,E.Hh)(w,F,z,W,L,G,x,W,V,K,X,U,J,Z),(0,E.fH)(M,"English"),(0,E.fH)(H,"English"),(0,E.fH)(P,"Spanish"),(0,E.fH)(j,"Spanish"),(0,E.fH)(R,"French"),(0,E.fH)(O,"French");var Y={name:"app",components:{Header:f,MenuNavContainer:v,localization:E.$J,intl:E.Dk},methods:{onLocaleChange(e){this.localizationLanguage=e.language},onThemeChange(e){this.currentTheme=e}},computed:{locale(){return"Spanish"===this.localizationLanguage?"es":"French"===this.localizationLanguage?"fr":"en"}},data(){return{localizationLanguage:"en",currentTheme:"Default"}}};const _=(0,T.A)(Y,[["render",s]]);var $=_,ee=a(5220);const re={class:"card-header-wrapper"},ae={class:"card-title"},te=(0,o.Lk)("span",null,null,-1),oe={class:"k-textbox k-grid-search k-display-flex"},de={class:"export-buttons"},ne={class:"text-center"},me={class:"text-center"},ie={class:"text-center"},ue={class:"text-center"};function se(e,r,a,t,d,n){const m=(0,o.g2)("KButton"),i=(0,o.g2)("buttongroup"),u=(0,o.g2)("k-input"),s=(0,o.g2)("toolbar"),l=(0,o.g2)("contact"),D=(0,o.g2)("flag"),A=(0,o.g2)("isonline"),p=(0,o.g2)("budget"),N=(0,o.g2)("engagement"),C=(0,o.g2)("Grid"),g=(0,o.g2)("pdfexport");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("div",re,[(0,o.Lk)("h3",ae,(0,c.v_)(n.teamMembersMessage),1),(0,o.bF)(i,null,{default:(0,o.k6)((()=>[(0,o.bF)(m,{togglable:!0,onClick:r[0]||(r[0]=e=>n.onTeamChange(25)),selected:e.myTeamSelected},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(n.myTeamMessage),1)])),_:1},8,["selected"]),(0,o.bF)(m,{togglable:!0,onClick:r[1]||(r[1]=e=>n.onTeamChange(100)),selected:!e.myTeamSelected},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(n.allTeamsMessage),1)])),_:1},8,["selected"])])),_:1}),te]),(0,o.bF)(g,{ref:"gridPdfExport"},{default:(0,o.k6)((()=>[(0,o.bF)(C,{ref:"grid",style:(0,c.Tr)({height:n.gridHeight+"px"}),"data-items":e.gridData,resizable:!0,reorderable:!0,sortable:!0,pageable:e.gridPageable,groupable:!0,group:e.group,sort:e.sort,filter:e.filter,take:n.take,skip:e.skip,"expand-field":e.expandField,selectable:!0,"selected-field":e.selectedField,columns:n.columns,"column-menu":e.columnMenu,onSelectionchange:n.onSelectionChange,onHeaderselectionchange:n.onHeaderSelectionChange,onDatastatechange:n.dataStateChange,onExpandchange:n.expandChange},{contactTemplate:(0,o.k6)((({props:e})=>[(0,o.Lk)("td",null,["groupHeader"!==e.rowType?((0,o.uX)(),(0,o.Wv)(l,{key:0,"data-item":e.dataItem},null,8,["data-item"])):(0,o.Q3)("",!0)])])),flagTemplate:(0,o.k6)((({props:e})=>[(0,o.Lk)("td",ne,["groupHeader"!==e.rowType?((0,o.uX)(),(0,o.Wv)(D,{key:0,"data-item":e.dataItem},null,8,["data-item"])):(0,o.Q3)("",!0)])])),isOnlineTemplate:(0,o.k6)((({props:e})=>[(0,o.Lk)("td",me,["groupHeader"!==e.rowType?((0,o.uX)(),(0,o.Wv)(A,{key:0,"data-item":e.dataItem},null,8,["data-item"])):(0,o.Q3)("",!0)])])),budgetTemplate:(0,o.k6)((({props:e})=>[(0,o.Lk)("td",ie,["groupHeader"!==e.rowType?((0,o.uX)(),(0,o.Wv)(p,{key:0,"data-item":e.dataItem},null,8,["data-item"])):(0,o.Q3)("",!0)])])),engagementTemplate:(0,o.k6)((({props:e})=>[(0,o.Lk)("td",ue,["groupHeader"!==e.rowType?((0,o.uX)(),(0,o.Wv)(N,{key:0,"data-item":e.dataItem},null,8,["data-item"])):(0,o.Q3)("",!0)])])),default:(0,o.k6)((()=>[(0,o.bF)(s,null,{default:(0,o.k6)((()=>[(0,o.Lk)("span",oe,[(0,o.bF)(u,{style:{width:"230px"},placeholder:n.gridSearchMessage,value:e.searchWord,onInput:n.onFilter},null,8,["placeholder","value","onInput"])]),(0,o.Lk)("span",de,[(0,o.bF)(m,{title:"Export to Excel","theme-color":"primary",onClick:n.exportExcel},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(n.exportExcelMessage),1)])),_:1},8,["onClick"]),(0,o.eW)("  "),(0,o.bF)(m,{"theme-color":"primary",onClick:n.exportPDF},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(n.exportPdfMessage),1)])),_:1},8,["onClick"])])])),_:1})])),_:1},8,["style","data-items","pageable","group","sort","filter","take","skip","expand-field","selected-field","columns","column-menu","onSelectionchange","onHeaderselectionchange","onDatastatechange","onExpandchange"])])),_:1},512)])}var ce=a(8494),le=a(3147),De=a(9017),Ae=a(3798),pe=a(3006),Ne=a(6235);function Ce(e,r,a,t,d,n){return(0,o.uX)(),(0,o.CE)("span",{class:(0,c.C4)([a.dataItem.budget<0?"red text-bold":""])},(0,c.v_)(n.formattedNumber),3)}var ge={inject:{kendoIntlService:{default:null}},props:{dataItem:Object},computed:{formattedNumber:function(){return(0,E.Ar)(this).formatNumber(this.dataItem.budget,"c")}}};const Ie=(0,T.A)(ge,[["render",Ce]]);var qe=Ie;function ye(e,r,a,t,d,n){const m=(0,o.g2)("ChartArea"),i=(0,o.g2)("ChartValueAxisItem"),u=(0,o.g2)("ChartValueAxis"),s=(0,o.g2)("Sparkline");return(0,o.uX)(),(0,o.Wv)(s,{"data-items":[a.dataItem.target],transitions:!1,type:"bar","series-defaults":d.seriesDefaults},{default:(0,o.k6)((()=>[(0,o.bF)(m,{opacity:0,width:180,height:40}),(0,o.bF)(u,null,{default:(0,o.k6)((()=>[(0,o.bF)(i,{max:d.max,min:d.min},null,8,["max","min"])])),_:1})])),_:1},8,["data-items","series-defaults"])}var Se=a(7443),Ee=(a(7168),{components:{Sparkline:Se.OW$,ChartValueAxis:Se.vj1,ChartValueAxisItem:Se.aXK,ChartArea:Se.sGu},props:{dataItem:Object},data(){return{seriesDefaults:{labels:{background:"none",visible:!0,padding:3,format:"{0}%"}},min:0,max:130}}});const he=(0,T.A)(Ee,[["render",ye]]);var Te=he;function be(e,r,a,t,d,n){return(0,o.uX)(),(0,o.CE)("span",{class:(0,c.C4)([!0===a.dataItem.is_online?" k-badge k-badge-solid k-badge-success k-badge-md k-badge-rounded k-badge-inline":" k-badge k-badge-solid k-badge-error k-badge-md k-badge-rounded k-badge-inline"])},(0,c.v_)(!0===a.dataItem.is_online?"Online":"Offline"),3)}var fe={props:{dataItem:Object}};const ke=(0,T.A)(fe,[["render",be]]);var Qe=ke;const Be=["src"];function ve(e,r,a,t,d,n){return(0,o.uX)(),(0,o.CE)("img",{class:"flag",src:n.flagURL(a.dataItem),style:{width:"30px"}},null,8,Be)}const Me={"10F":"url('data:image/jpeg;base64,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')","10M":"url('data:image/jpeg;base64,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')","1F":"url('data:image/jpeg;base64,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')","1M":"url('data:image/jpeg;base64,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')","2F":"url('data:image/jpeg;base64,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')","2M":"url('data:image/jpeg;base64,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')","3F":"url('data:image/jpeg;base64,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')","3M":"url('data:image/jpeg;base64,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')","4F":"url('data:image/jpeg;base64,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')","4M":"url('data:image/jpeg;base64,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')","5F":"url('data:image/jpeg;base64,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')","5M":"url('data:image/jpeg;base64,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')","6F":"url('data:image/jpeg;base64,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')","6M":"url('data:image/jpeg;base64,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')","7F":"url('data:image/jpeg;base64,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')","7M":"url('data:image/jpeg;base64,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')","8F":"url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEASABIAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCEAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAG4AZAMBEQACEQEDEQH/2gAMAwEAAhEDEQA/AOV+PXiefV9cfSkceRZ4RQOivtDSMfU5yCfRFHrWEneXkjsiuWPm/wCkeLwFUZVIJL/LHhdzbRwWGSMZxjdlejY98X/w5stPXod7p+mS3ZWOFW6AFQMjLZ/ixhgP4sE7ievTHK2d0VZaHvPhD4aQxKJrtTIxG4qcjPoCMYA9cHGBjGOKxcuiN0lHWR65HoVsowI0GP8AZHXpn8BwPQcVnqw9py7EsWi28JyEAPrikl3H7Z9LIu/Y0AwABkY6darVbGftH1OX1jwvbXiH5ApIIyB6jB/z2NNScdzVNT06nzv4z8Di0jaVVPA4VeB17nOT26DrW8ZprQzlTs9T5y1O1e3umXnCnA4I6dh0x+FdyaSseVKL5rl+3iMwG9XZTxlSQw9x0BI9Dyf7w5Bi9vIfLc29O3afOpD70ZhnjOVB+8VOV3DlSp9SMYNWmTax9TeFJbOCxUQ3AhVjv2ebJtUsqEhfkyFz0B+7yB8oBrojZIyk3c+evH8MsWv6jLeKY2eckDB3FXy/Xj+AbiffgYNYyVrlR6Efh3SG1BonZduQFBHAVc57g9e/fGB3IPBUlbRHp0oaJ9T6s8G+FbeyVZiuWwMFuf8AP0rkcjsa5UesxRjGBxVxVzzpSsWBFit+Qy5hrR0uUal2I2GOOwrN6ehoiFl3cdqVrmifKcdr2mJexmPHXt/nrWHwvQ9KPvRsz5c8W+EUtp2lZCFzn2Oev+f511KTZzOCRwNwIIDsEbRbjgNnerez7VHHpndj2raPk/kckrLS3z/4Yp2EyrMEQch+U9eQcq2QMZAw2RjoQV69MdDldtrWPu3wlo2j3elW/wBtggeaFDCwuI0EqeWzAIwbkYGMD0IxXckrbHE209Dx/wDaE0yGO6sboqqy3AmDBerhBEoBPHZlUnvxjgGuerojairuxkfDzSVvbpYRysQyT2J9v5/SvDlq/I+gh7quz6btrdYFCrwAMVkZTk5GnE2K6YOxxSRb3Cum6MLWEL54o5r6AlYqucVgzoiiAy44pc1jRRKEy7ulYvyOuDscV4l0dLq3Y4+bBqo6aGktdUfIHiq1awmaI/JnJG3j2I+XA+n5dhnsgedU0K3w5s5NW8QWlkwMqmTzBg/wxq0jckgEAKcg8nkDJxXbFaqxwOVk0/kfonZ6NHZoUTABOcEZxgBQAcg4CqAB0HRcKAB2bHIfPn7RSMsmmyn/AFai6x7uPJYL7cDPvg9wK5a2yOqhuX/hHpvk2RuyOZTgH2AH9ePwrwJPWx7+0LntAwKRzFlK3ijFlxE44rrjHQ5m7MjKkGps0WmiFuTWTNVoQsgHNTymib2KcjqOKzdkdEUzF1P50IFZN9jrgtNT5X+KFgQGcDkD8j1yP1/SuulLVHFXhZM5D4K34t/GOnCXAEjSx+257eVR6feYgfj36V60N7o8Ke1mfo6K6TA8H/aA04XekQT9DazMw467oypGe3GT+Fc9X4fmdNHSRa+GbqPD9tIMYKt+jsP0xXz8lZt+Z9D8Sil2Otku5C2YxkDpXOm+h0qnFK0twGtPbYWdMZ79h+Nae0cdGiXhYz96EjoLO+WVdycg12QqaXR5dWi4OzLckvy8Vq56GEYWdihNOIwWY4ArmbsdcIOWkTBl1h5G2RAY6f57Vi5vZHpRw8YK8nr+A1fOmB8z5TS1e+hV4QtymVc3iofKc4Y9Pepv0NuXS6PGfibCHgD9AwZT9QMj+R/A10U9HocVVXjc+bfCV3Jpet2l7GNzWlzHKF/vbZVJX/gWSuexOe1e0naz9D5txu2vU/U6NgygjoRkfjXYcp5l8WNFuda0ow24ZsHJAPGenIyM5UkA84PHevPxHNHlkr8uz7K+1z1sIoTjODsqmjjfdpbpPo/LqvQ5r4e2htvDdtDLkld5PbP7xiBXj1fwuetSurW7Ec3jG8kuZbHRLXzHgR2kkkOxF2jtxucg8YUHnjjrWlGm5bWQqzjBXmnL8jAi8T65qNyLdooZCY4pPlU7G8xmXYrNwXAAcgsvyndnBGLdNN2TV9dHbp3XTyOeniVGyUZJO2qb69v1PR9HuG8sNtMZzhk7Z747j6dv1rktybad0enNc6s9dLp9fmdmnzR5rpjrE8Z+7Oxxl/O93KYUyETlscFvbPYeprB3eh7EEqa82cfqNnqc1uZ4nFpa+aiB4wfMx1Eg6EKGAALE7yQQqj73TCl7vP8Ah5dzjxFf2b9mt+rfTy/zOJt5fEEqfaDevBJGm54pgrR7/MZY4yykNmWNd+ASVHBB61qqUHFyd12eqv8AJ3OWnXqSlyxStbbR2+aO/wDD7X2oxB9TRRKhIJHKt/tL7HsOvrzmvPkrO3Q9lPTszlviHYiaxlUDmM7l/l/Imrg7NGVRe60eB+A9Ga4vo7lo98RkVAx52sx8zjp8w2DnsD6kV2Vqjgoxj3Msvw0arq1J7Rjp63/yP0WgBEahuoAz9cc17i2Pknu7bXY68TfE6+qn+VZzXNCS8ma0ny1Iv+8jzywtVsYRbj5UVpMAdhvOP0xXzU1pY+qStql2LLaPazlWZcFfusuQwJ6kMCCCe/50QbhtoZSqOzTs+6f+Rl/8IdZW0gnikmVhuwqyyYy2c4G7AyCQfUcHiutzb1v69zCHKnf2cVbr0Ne308WijOR/vHJOOh556cVyS3vr8zsdXm92NreSta+/4mrBKfKI9K1htZHHOPvmJYKryNuwQxIPuDURtfXud9VOKutHo/uLJ0C2DEjcobqFY4x6cnoe/rXZZL4XY4nWcviSb7tEMHh6xsDut4QGweQMnnr7An9eM1lKQKd9NEvuX4FuXZaJtRdp/I/4VzS09TWCc3vp+B5Z4lQS2tyG4HlSH8lJ/TFRDdHfJWTv2Oc+FOmGaOG0ZAI43SQnHVhhmP12jb+Arvpr2tVReyd/u1Jqf7HheaOkpRd/WSt+F/wPqdRxXvHw5O44xSA4LUofs85QdOo+hr53EQ5JuK23XofXYaftKam99n6o0LB9gx2rOnpoctdXZbchMsR+FbtJatHPFXsk/mZcshYkn8q5pO7O+EUlZEkRJQjtWsUTJWZj2xCSMM45yKy2bR31FeKfkdFFlR1yK1Wh5MrdNPwHBscAU0uxFur0MfUj1zxxWU1a56OH8jzTVovtscsBOBKrIT6Bhgn8jms4I7p9jtvAeirZRmZBtjA2Rj1/vMfU8BQf94V7WFp8qdTvov1PEzOvzctG+vxS8uy/X7j05RxXonzhO4pIDitcG24U/wCyP5mvGxa99en+Z9LgdaTXaT/JDLWbZx2rhi7G1WF9Sa61IRjYg+Y8D1rSVXSyMqWHu+aWyMttxJJ5rOx3qyVloXoAyJyDg1rtscs7OWm6MO6QRTg/3geKykrM9Gm+aOm6HaTfuC8bnKK+FPsef0JIqU+Uzr0lL3oqz6nRC4xyK6FKx5jp9DC1S5DKT3rCbuelQhyHHRWjXcqwJgNIwXJ6DPU/gPzq6UeaSguuhdafsoOp/Lqe0WVulrGsMYwiKFA9h/U9/U19OkopRjsj4icnUk5y1bd2aQFIglbpSWgHI+II/mRx6Efkc/1rycYrcsvJo+gy+Wk4+af3/wDDGNEDivKPVlYrwJ50jO5AKnAH60lG7uaTlyRUIrdXZopEJD6YrVX6HK5ciJzDcRfKmCvbn+db2ZkpU5ay0foYf9lSSymSd8/7I6Y+tZpdzs9tFK0NF06E8r29kmZGSNR1JIAxQ1YIqdR+6mxlnOLtRJAweNs7SDkcdeelRtp0KqR9npNWel/nsyO9gGMHrUSLpyv6GfpUOdRiUdiWP4KT/OurCq9WPld/gcuNly0ZL0X4o9WiGBX0TPjSekMnNIDF1e28+E7fvJ8w/r+n8q5cRT9pTdt1qjvwlT2VVX2lo/0/E5iAflXzx9DP8TI8RaImo2jeUTFPEfMjkQkMpxg4I5II4I6EVrDZrqbYaty1FGp8Elyvy7P1KnhORNVjENxI8F5EQsm1tqykLkvGjM52kkA55BBGMYJuDvLlehri1WwfxxjVg17snFa9tVaz30udidFvGC4um5OG+RTgeoP+NdnI3Z3/AAPJWLoRcr0Forr3pK77Nf5Fa50hLXe1zdSkKN+0ELlB97hRuPf7vPTHNS4ct7vzNIYtzsqVCCvdN2bs+nxO3bc8T8QaMnibVI7S2Ui1tZd5kLF/OLKjLkkltsR3cH7zY7A55ldXXXv2R9HQhKUPreMk/ZRV4017qnJeSsrJ+Wr8ke2WVpHZW6RRrhYl2j9P19amW587UqSqTcn9p3+XZeXYpXIz8x49KyOunp7qE8O2++aS7boPkT+bH9APzr1sFTsnUfov1PJzCqvdor1f6HdI4FeqeAS7qQDmlA46U7AcLrvxG0Lw/L9mvLkeaPvJGrylfZtgYKf9knd7VhKtTpu0n+v5Hr0MtxWJj7SjTfL0bajf0u0367HM+HPGdl4pluBYJLHHA4Cl1wGDdCCMgHOfkJ3AYJ68eBU5XJyp/CfQVcLUwsYRruLm462e3r/ns9TsC361ktDhscdqOiGOb7Vako4OcjqpPXHqD3B4raye/wB/Y+ioYtSh7DEJSjtr1/yfZrU04Ne1OBArCKX0IbyyAOxUnP6Ae1brnWzX32OOeCwk5Xi6kO6ceZeqa/zKtxc32qnD7YhggmPlyD/DvPQeoFKzekn92/3m0KWGwusU5vopaRT78q3fqS6XpsdkSVGPT61DaWkVZGWIryrJJ7L5G8ZcLt9TWLPMUdbowdUvPLUgcmpOmK5dtzl7W4uoP39u7RuDnGcq3sy9CD09R2weacasqTvB2/L7jGpSjUVpq/n1XzOw03xa0yK1xEVyPvJyP++T/QmvWp42Ml+8VvT/ACPHngWtabv5P/M6WPX7Vlz5ir7NkH8jXcqtN6qS/I4HQqRduV/I+FNa8U6hr9417ezM0p+7glVQdlRQcKB6D6nJ5r5+dSUnzN/8A/Y6GGo4eCoU4pRX4+b7vzMqCOS5lWJRmSVgijPVmIA/Mmsbtna1GlFztZJN79Efavhzw/D4esYrGEf6tfnbu7nl2PuzZ+gwOgrS3Q/Oq1Z1pyqPdv7l0XyNoyBXMY6gA/nkD+VR1suhgldXJDggH2qlpsSrp2Hx2Ky/MMfyrqUbkyrOGmoxrbyztGKlxa0RSqXV2NkUQL71k1YqLc35GBcXpLYTt0qDotbQqPbGRdzVDLStoLaWRjTkViVoXNKsx9nXjHf8CaqCujKTUX95oHTUbnH863sZc6Pg4nA55FR6H6a7LdXO5+Hdot54gso2+6shkx7xozjt/eUU46s83MJezw87dUl97V/1Pspeta7H589ChMuJmxx8qfzasX8Tt2X6m8Ph+b/QnVtpGec1rHuS1daaGrHOqrhRiupTsrI8+VNt3bKksgX5gMVLfU6Yx6XMS5lad/LHA/pWD1Z3KKhHTdj4bNTzRYzb5SzLEAvoKzYRlqLJEI4iV44wPqeP/r1LVo3EpXlZ/wBdS9b24iVUHRQAK1jG1l20OWU76lsRitbGPMf/2Q==')","8M":"url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEBXgFeAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCEAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAG4AZAMBEQACEQEDEQH/2gAMAwEAAhEDEQA/APsugAoAKACgAoAKACgAoAKACgAoAKACgAoAKAILq5jsonnlO1IlLMfQAZpN21Gld2R4PqnxjfzGS0SO2jU8PNlmZRnJAUhR09W+prklVf2Ud0aC+0/0OZ/4Wpf6gwWO6EZPTYijr1z7j0znPGOtYurNbnQqEOhc074o6nZSBJ289c871A4/DkZHOM/hTVWUfMToReysez+F/Gtl4mzHF+6nQZMbEcj+8h43Ad+AR3GOa64VFPyZwTpOnruu52VbGAUAFABQAUAFABQAUAeJfFPXftcf9iWjkNI22Ur/AHsKQn4K2446ED0IrirTt7q+Z6OHpX99/I8il+GBEAXc0m47mYg5GR0z1/z9a4nKSd0etGnG1mS6Z8MrewbMrHn7p64/A8cUOTe5oqcI6RQ2/wDBdxA7Mrq6nnPQ/oP60aj9mnschZ3eoaJdiSNijxHcCpIxjuOx9enr7itE+qOOUbNxex9bfD/xiPFdnmXAuYcB8dHB6OB2z0I7H8h30582j3R5FWn7N3js/wAD0CtzmCgAoAKACgAoAbI4jUueigk/gM0D30PBdGtI77UPtUnzupmlcHnDzOSv5Jx7dK8jeV2e/D3Y2WnRHpIjXGMDmt7CuZOq3FtpkDT3RWONeeRn8h/hUtJbmkW2/dPG9S8c2d4Xis0llAyCyIcD88Vi0dEZerPM9YvQ4SVeQxwSeCD1wc9PSiK6GdXbmR03wo1ya11q3hQ4WSTy2B4yrlhg+4zke5rpj7sk0ebUXNBp9Fc+067zygoAKACgAoAKAIrhPMidP7ysPzBFJjWjufNmj3UttqN5Bbj5yqbN3QMWCEn/AHMkkfhXkNWeh9DDWI25H9m3aSXuoSPMzArGGAHBzjb6evAFDvuk7d0dUVFPlbSb2TaV/RGp8R52n06GROVkkUP7DpVSd7MVOPK5R7HHX9rfQQwx6ZFElu0ZZj8xcN/Cpx8pLdWIyo6DNK0bXbfN2sVzVFPljGPJ3b/JHLap4dmltW+0KI3lGSAcgN2I9OalOzuOUVJNdzjtFupNLuIbpG2PbzKX56bMHJ7nJH6dxW22q+R5qg5e795+hFjcreW8Vwhys0aSA9Mh1DA47cGvSTukzxWuVuPZtFmmSFABQAUAFABQB4XqEAtfFUltGqqjwGXIGDl2U4HsCGP4151RWlp1Pbw8rw9DQHg+z3rMRulUsQ5ALjccsN3XB9PTjpUq6jy3dux1XXP7RxXN0fb0GeJLGOfTJEf5Vj5B9MVDXum8Je96o5Xwlqsd5G1q5BktwB9VPQ/0+oqU+hrKPVFDxVJtXaKh7mlrI8da0E120aqCZMcepOPzI6irvpY5Yq07n3boVs1np1rbv96K3hRs+qxqD+or1Yq0UvJHzVVqVScls5Sa9Ls1asxCgAoAKACgAoA4rxPp8a3EGogAOpMDH1V+U/Jxx/vVy1ltLtp956GFnZuHz+7crh+K57nqnKa9oiahFKssrokwVSC4VFxkkgHjnPzeuBU2NYTv7qW19lqefeF9EtdBkdoZhNI3ycuCSB0Awe3YVm31NNY6NMZ4rkAGOhqC29DB8OaSuo6nZMhAb7RGHH95AysR/wB8hsfl3raC1S8ziqScYycd7H2TntXqnzYtABQAUAFABQAUAVby0jvYjDJ90kH6FSCD+BFTJKSsy4SdN8y6fqcVdIbd2jPVSR/n6150lyu3Y9unLmSfRnF6tZo6PeXTNcFVISLlY0HX7qn5ie5b8AKjmS9T0qc+T3YK3d9WcppiWt0ftdnBHEUOCQgU+hPTPTvWcm9i3K+/U5DxdqIDhmI4Bojc5pNJHn2na/cxXCyWbMsyMDEV6hgcgjPHB5549eK6VF3Sjvc5XJcsuba2voej+DvHF34f1GGa+uJLsXBK3buzNvLHkrnoI+AgGBgcAbjXsqnpbqfNuevkfYkciyqHQhlYAqR0IIyCPYiuc0H0AFABQAUAFABQB5x4q16yguY7RDuuWO1ipG1eCQrf7RPAA6Z57VNSg5U3V2t+KOihWUaio33/AAf/AATnk1CJQVPGOoPWvKWm572pxfifXobZC0RCYB4Hf8qr4tEjS/KryZ8461qNxqtx5ceSzE4HoOpJJ4AA5JPAHJNdMKbbUYq7PNq1bJyk7JF6ytBp0exTukfh3HTH9xM4IX1PBb0A4PtQoeyV38X5eS/zPBqYh1Xyx0j27+b/AMia0JcordUkP/166IxvJHNJ2TPsb4a+KIL/AE6OxmkC3NsPLAY4LoPuFc9cAhSOvA9a4asHGTaWlzqhJOK11PUK5zUKACgAoAKAMzWEuntJFsSFnKnYT+oHoxH3SeAa0hyqS5/h6kTvyvk3PkbxBPPZiQklZkbdk/eV1Oec99w5zzXtVLODS2a/A86ldTT6p/idxp1xbeKNPiv0JQyIN204IYcOp91YEc+lfGSXI2ux93BqcVJbNHG634VeYEwTZz2Ycj9cfpQp26It0k+5w8Hg2axkkupW3BUYn8s/0r0MHU/fRT2d196f6nmY6hbDzknqrP8AFX/AqeVvBx+FfVyjdHxUZWZX06JpZ2IBIB/U1hThr6G05WR6ro9jKEYj5QqFvT5sYHQ8kHrg4GMZya3lBJabnMqmqPUND8aXsI8tyLhIwAd/BzgZww5/763fhXnyoRlto/L/ACO5VpR03X9dT0PTvFlrej95mA/7X3f++hxXDKjKG2vodkasZeXqdMkiSDchDA9CDkVz7aG4+gAoAKAPEvit4bguYjeW7Ilzj54s8yjHDKB/EAOf7wGeo576LlKLhZtdH28jknywkpXSfb9TxP4VRX9u97pro+YpEnSEqQ+yXcC6g8ldygHA4Jz3OPLxFF35orX9Oh7+DrxScJNJdG9r9UewjRryTlYJOfVdo/NsCvOVOb0UX91j2nXpR3nH5O/5HM6u6WRks7jarsrIVJHBK84IODjIBx0Ne7hcC/cruVpKXNbdWT29WfMYzM43qYaEeaDjy82zu1vbsvkecvbBGEMe1iw4CBmOCcDqB1/rX0+myPkLtas3tE0RbZSXHQnIyOvfJGen8WD6DPpCXLsEpXOmSRn8wxjAVSqgf7R4A/Ck1ZWJW5YhEdlGLYH5sb5W9O5yfb/6wrDl6nTzdDHm1Z7x+CYrVOI0X78nuB6E9zx6ZxU8ppzW2NaPVDEMPMYT2RDwo7AnPLep9ahxv0KUraJ2PpqvBPbDOKAOO1vxZHp7eTABJIeNxPyg/wDs2Op6ADHJJxXbSw7n70tF26nFUrqHux1f4HkS6lJfXT3rsXVH2KT/ABH/AJaH2GMKuMYGQK9n2aUfZx006dO39dTyHUblzvXX/hzBlmlgvY9a0s5cgRSqeN0SyBiuezKVYe4JwK5KtJ2v1Ss7dfNHfh6sYtwekW7pvpfoz6DTUYmtxcggoE3kg5AGMmvMUW3ZHpt8qbeyPANWuo725ldgCXYvkgHAY5wAev19q+ipx5YpdlY+ZnLmk33bZSiURgMg+d+E4Ax2zxwMDJH+8fStTE2Db+RGtuv3iMsfbqfz71F+o7WGXVyLKECMfvJD8o+nANK12UtDNuAtrb5myxkbLgdXx0Qf7zcUPy6FRZgtI9iArENeXRycdIl/uJ2CxrwT/Eeg5FZ2ez3fTsbXW62XXv8A8OLHpwuQZGOMk4yRnA4ySepPX9O1PlFz20R9n18ufSHl/izxIYpXgjbEUIO/H8TAAkE+nKr+frXq0KOik1q9vJHlV61m4R2W/meQ6hqck7Dbncy8f8CPy/ixy59lUetevGKjov6/r/M8tu+rN2G3W3gWEdIhyfVtpLH/AL6pX1v3/wAyfLsczYx7ont+myRmBHBw2GGPxz144rbbUybNmzv7izgmg3kRTKNwI75zlR0GQCG7HjvmuJ0VzqcfPTzO9V2qbpS8rPy7HPXTiZUMHy78DJIy0fJZsDoAMkZ6n6iuzY4/Lsa2mr5pN0wwo+WMew4qXpogNLJc5HVqnYDCuJhJdPIOVtwsaD1dv85/GmkN6aIpanMftcMA+7EpZ/c4wP8Ax4lvolLf8/8AIpaJ/d/mYUEomllu5OhO0H0QdFHu33m9BgdqS6v+rGj0Sj/VyjI97fsZYAVjHyqB0wKzd3tojRcsdHufZHibVH0y2Hl/elbaD6DGT+PavBowVSWuyVz2a1T2cdN27Hzdrt40nyHP76Qhj/sqSxH4hcV9HFWSSPnW9WyCyf7VcCRhgIScf7h2D9VJ/Gr2TIemhvS3JETnkZ/rUpaoV7IxhJ5TiUfxDaRWj7Eosavdy6tH85EZlXZlBwoBI4BOTzzycY+UcAVy0qUaCcYtvVvXzOupVdVqUklZWstNjDJH+rjG1crCo9FwCfzG0D6GunayOfu/mdUSI0WJeAoqPMRXE/lgsM/KCRVeQtjm1n2CI85kuVJo2L6+iMO7uXudQnjBK52Rg9wNrsxHvtBC+55qL6tLy/G5qlaKfq/yGzgELEvywxgEqOpzyBn9WPUn65oemi2BPdvcrPebTgbgBwADgAegAqG7GiR//9k=')","9F":"url('data:image/jpeg;base64,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')","9M":"url('data:image/jpeg;base64,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')",BR:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAtCAIAAACRYfoNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJGNTM2NzBBMEMzNTExRTY5Q0NDQkU3NkQ1MUQ1OTFCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJGNTM2NzBCMEMzNTExRTY5Q0NDQkU3NkQ1MUQ1OTFCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkY1MzY3MDgwQzM1MTFFNjlDQ0NCRTc2RDUxRDU5MUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkY1MzY3MDkwQzM1MTFFNjlDQ0NCRTc2RDUxRDU5MUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4SeXTsAAAKC0lEQVR42uxZ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",DE:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAmCAIAAAD7pgrOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFMUI5MDQ1MEM3MjExRTY4MTcyRDlCOEZDMDU3Rjc3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFMUI5MDQ2MEM3MjExRTY4MTcyRDlCOEZDMDU3Rjc3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkUxQjkwNDMwQzcyMTFFNjgxNzJEOUI4RkMwNTdGNzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkUxQjkwNDQwQzcyMTFFNjgxNzJEOUI4RkMwNTdGNzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6gw/inAAAAVklEQVR42uzWUQ2AMAxF0Y5MxCThDI1TMAXwCXjg74VzHZw0TVslSZL039qeDljhgH6FA7YCAAAAAABIvsR3OmAc4c/cM8MnUKclBgAAAAAAAPjaK8AAbScGyes+6bEAAAAASUVORK5CYII5OTg=",ES:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAIAAABHOBkQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkRGRTFGQzcyMEQxRTExRTY4ODAyRUM0Q0I3OUUwQUMzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkRGRTFGQzczMEQxRTExRTY4ODAyRUM0Q0I3OUUwQUMzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REZFMUZDNzAwRDFFMTFFNjg4MDJFQzRDQjc5RTBBQzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6REZFMUZDNzEwRDFFMTFFNjg4MDJFQzRDQjc5RTBBQzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5CGIEmAAAD1UlEQVR42uyYy28bRRzHfzOzD7/Wie3EdtIkdkwSkTRt0iRSlJKKJqhCnJBAiAM3JLhx4QQ3uCP+A269IIGQECFItEhBrVFJBQ1NaVqTuCHOy0lsK2t7nzPDxs0BboYgY4sdzUr7mFnNZ3+v76yQ9vdBKzcMLd5cABfABXABXIAzNYFqqLUBwjNaSwMgvtziLgTGWfBrnbViEKOTqZxBXsVAaq9B/5UF/v7SOce6JaiGvF8Rf9oOzQ/kFYF5RMvpzrPmBkBQNaStY6+qiUS3pLLu14Dl9PskFG4zvQJPRhyLsCYGwHBoeDJfIfEhOgoIeMOrTVd+vNVujVF6iKovku450YMN4E0YA46Li+C4e7ytIoWMrIEqPqM6bnFcKE0w1TIfW6S7s+yRTZBqIxuXRm/VtXpG0c1vBUzghWsWeGHpLlnelAUdhQ71ShsIfnZlmA8PQ7mAbtwQB1J09BIFu5lciAL/nVoEgWGg1et+lseeLGKbHM+/3HdpjCq7WpewVV732Ytrquk3YLS5YoCDgGBwcp5yG8P3W4v+LY9u9uo9m3Lb+UlPcgZ+Xs+pHeJoLKosnp97rVO8ByzTXDGAZAjHXpXJS1YVEQ8tDsv58YAaAIEgdlDyFagSVhAxWBUFg2/7lPGT4tBEFhBhY0nK3vsECE0Xg+YRqDy0pyu9PLu3komNjJjtomLTfMaf/05SfR9qfDt8jXSkGhEG9VmAwHGOkok3yOzrz1xVcZTF8uX+uyyT7PlI969++bU9mSj45M4hs+sCD7zy3rE8YZVYY6Q6+eDNOkYxCPXD3sP24jcPUjMbBwSJx/Y5c/uOPb31bF9sdWWwuKD/tiTt3/ZiNfMF67/4ZGg6h1jzuJAMa5/jQt6feCvaPXRz5VeK44BlcnUnnUxvTkWzzK6IVWA7fOgdabd3Kvtpti+Cuib4mZTivwlgQOoKpeFZRlVmAndyKkOUknhXKSEXZL93JxLpqFQ5WGBx+cLlgeByJJh2rprGAgyUGGi5jy2L4hSAjRwd6hzURhUpIWm52AZYDAsRZLPK0dq7/YHHUhCaqZARuL/bf/2Xy05JjirGyMXN2yVsMMWMTZl4xH50x6dlRKINzukL67MLj0bC3oH3lc/afZUG6Lp6C1lA1GZ795164AEtOUbb4vqBltwVO3aK2cT0uVjxSVfPvq+Dx9dLz/cdeYQydkK4IZKuPi30NN+SU1Fx8l2FU9c63ccINYehtZOnd2xoDIDgZJh/XjnIX235Z3NKjVKjD56LtvamvvCDt7UBiJe3NID7b9QFcAFcABfg/w3whwADALA9jy2I9PhSAAAAAElFTkSuQmCCMTg5Mw==",FR:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAIAAABHOBkQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJENDg5REJDMEM3MDExRTZBM0QzODREQzFFNDczOURFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJENDg5REJEMEM3MDExRTZBM0QzODREQzFFNDczOURFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkQ0ODlEQkEwQzcwMTFFNkEzRDM4NERDMUU0NzM5REUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkQ0ODlEQkIwQzcwMTFFNkEzRDM4NERDMUU0NzM5REUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5eKs0eAAAAZUlEQVR42uzPMQ2AQBAAwXu610EwQxCAAnrE0GAAETR4IqGABg/XfTIrYJMp0W+R7vmOfZynIT14z+te1lJr+tBF4wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTVL8AAJaAJpU7NMCAAAAAASUVORK5CYIIxMDEz",GB:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFERTU2NTJEMEQyRDExRTY5MUVCQTMxOUMzRTQ4OUQ4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFERTU2NTJFMEQyRDExRTY5MUVCQTMxOUMzRTQ4OUQ4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MURFNTY1MkIwRDJEMTFFNjkxRUJBMzE5QzNFNDg5RDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MURFNTY1MkMwRDJEMTFFNjkxRUJBMzE5QzNFNDg5RDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4LW+oDAAAIsElEQVR42sxZ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",US:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAiCAIAAABgN0jYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkFBOEQ0MUQxMEQyRDExRTY4NzY1OUZEN0M0RTRGNDEzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkFBOEQ0MUQyMEQyRDExRTY4NzY1OUZEN0M0RTRGNDEzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUE4RDQxQ0YwRDJEMTFFNjg3NjU5RkQ3QzRFNEY0MTMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QUE4RDQxRDAwRDJEMTFFNjg3NjU5RkQ3QzRFNEY0MTMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Xh7i9AAAGGElEQVR42uxX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"};var He={props:{dataItem:Object},methods:{flagURL(e){const r=e.country,a=Me;return a[r]}}};const Pe=(0,T.A)(He,[["render",ve]]);var je=Pe;const Re={class:"customer-name"};function Oe(e,r,a,t,d,n){return(0,o.uX)(),(0,o.CE)(o.FK,null,[(0,o.Lk)("div",{class:"customer-photo",style:(0,c.Tr)({"background-image":n.photoURL(a.dataItem)})},null,4),(0,o.Lk)("div",Re,(0,c.v_)(a.dataItem.full_name),1)],64)}var we={props:{dataItem:Object},methods:{photoURL(e){const r=e.img_id+e.gender,a=Me;return a[r]}}};const Fe=(0,T.A)(we,[["render",Oe]]);var ze=Fe,We=JSON.parse('[{"id":"848e6002-8a92-447d-951b-1ffd5e695578","full_name":"Sig Jeannel","job_title":"Human Resources Assistant III","country":"US","is_online":true,"rating":3,"target":100,"budget":47601,"phone":"(936) 9429601","address":"138 Buhler Avenue","img_id":1,"gender":"M"},{"id":"19d18d40-0e64-4837-9420-92130a0ed253","full_name":"Shelden Greyes","job_title":"Operator","country":"GB","is_online":true,"rating":5,"target":40,"budget":12253,"phone":"(343) 6656271","address":"2 Waxwing Point","img_id":2,"gender":"M"},{"id":"bebdc6eb-9179-484a-917d-2e16a23bfdfe","full_name":"Megen Cody","job_title":"Operator","country":"BR","is_online":true,"rating":1,"target":66,"budget":96183,"phone":"(178) 2336256","address":"4082 Stephen Court","img_id":6,"gender":"F"},{"id":"38b08b88-e482-46fc-8976-83590c02ec23","full_name":"Clevey Thursfield","job_title":"VP Quality Control","country":"BR","is_online":true,"rating":2,"target":58,"budget":54936,"phone":"(277) 7415010","address":"1563 Glacier Hill Parkway","img_id":5,"gender":"M"},{"id":"2aac53f8-b72d-4629-9082-6d8239a8fecf","full_name":"Ruthi Baldini","job_title":"Data Coordiator","country":"BR","is_online":true,"rating":3,"target":37,"budget":46572,"phone":"(766) 5691615","address":"6 Laurel Avenue","img_id":8,"gender":"F"},{"id":"1aa789e5-de01-406e-a2ee-cc5ce20f7e34","full_name":"Annecorinne Morter","job_title":"Professor","country":"FR","is_online":false,"rating":2,"target":35,"budget":37198,"phone":"(807) 2524830","address":"106 Green Street","img_id":3,"gender":"F"},{"id":"d2ff1b02-3808-44aa-9056-3b5df34bf865","full_name":"Gracia Punyer","job_title":"Assistant Manager","country":"ES","is_online":true,"rating":4,"target":64,"budget":84752,"phone":"(515) 9749536","address":"69 Brentwood Alley","img_id":2,"gender":"F"},{"id":"26b2b760-27e8-47a6-81c2-07870d1b2b30","full_name":"Duky Hurring","job_title":"Account Executive","country":"BR","is_online":false,"rating":3,"target":61,"budget":-1266,"phone":"(897) 7202034","address":"39 Morning Circle","img_id":3,"gender":"M"},{"id":"91c6b652-4206-4a0c-bac6-dc21283a72d7","full_name":"Briana Shemelt","job_title":"Professor","country":"US","is_online":false,"rating":3,"target":63,"budget":-9308,"phone":"(205) 2560799","address":"11 Walton Court","img_id":2,"gender":"F"},{"id":"1e8289dc-2ef3-4045-ad6b-786d00368427","full_name":"Lexis Mostin","job_title":"Analyst Programmer","country":"FR","is_online":true,"rating":4,"target":81,"budget":38153,"phone":"(903) 8388089","address":"38547 Westend Way","img_id":4,"gender":"F"},{"id":"797387bd-c247-48b3-97b6-5e75791f8809","full_name":"Felizio Gooda","job_title":"GIS Technical Architect","country":"DE","is_online":true,"rating":3,"target":89,"budget":81585,"phone":"(372) 2389397","address":"9 Summer Ridge Circle","img_id":2,"gender":"M"},{"id":"24c541b0-4978-4072-84d0-abe94fcd0756","full_name":"Aubry Oxberry","job_title":"Financial Advisor","country":"BR","is_online":false,"rating":2,"target":3,"budget":-6095,"phone":"(665) 4176083","address":"06 Lerdahl Point","img_id":10,"gender":"F"},{"id":"d3416440-7411-42cc-a913-7dd319ca8311","full_name":"Orly Glasbey","job_title":"Environmental Tech","country":"BR","is_online":true,"rating":5,"target":63,"budget":63945,"phone":"(449) 8482879","address":"4035 Porter Parkway","img_id":6,"gender":"F"},{"id":"139066b5-60c5-4cf5-9afe-fb4e5558b087","full_name":"Stephanus Culp","job_title":"Cost Accountant","country":"BR","is_online":false,"rating":2,"target":60,"budget":10613,"phone":"(148) 3124030","address":"57028 Moland Terrace","img_id":8,"gender":"M"},{"id":"eb844971-b97d-4f79-bd5a-a266fcfaaf70","full_name":"Roseanna Janecek","job_title":"Database Administrator IV","country":"FR","is_online":false,"rating":4,"target":97,"budget":77351,"phone":"(125) 4421623","address":"21973 Beilfuss Alley","img_id":4,"gender":"F"},{"id":"5cb391fe-4855-445c-a8b8-617c04d1d999","full_name":"Weidar McCombe","job_title":"Civil Engineer","country":"FR","is_online":true,"rating":1,"target":77,"budget":35924,"phone":"(488) 7911627","address":"7 Dahle Terrace","img_id":1,"gender":"M"},{"id":"4ba9ad7e-d8b7-40e7-b8cd-67a8e743a249","full_name":"Evelin Spirritt","job_title":"Analyst Programmer","country":"BR","is_online":false,"rating":2,"target":18,"budget":58552,"phone":"(821) 9538078","address":"89418 Knutson Pass","img_id":1,"gender":"M"},{"id":"e4a31407-39d1-4ab7-aad1-4e026a8c42fa","full_name":"Andria Helbeck","job_title":"Nurse Practicioner","country":"BR","is_online":true,"rating":4,"target":53,"budget":72526,"phone":"(387) 9614638","address":"8589 Vernon Drive","img_id":8,"gender":"F"},{"id":"cd050499-dbf1-4a43-86ab-54feaacef401","full_name":"Mariellen Ravelus","job_title":"Systems Administrator I","country":"DE","is_online":true,"rating":2,"target":22,"budget":-6659,"phone":"(300) 6741661","address":"707 Gale Hill","img_id":9,"gender":"F"},{"id":"fda1c419-c0b8-4278-94b0-2ebef6bda164","full_name":"Corri Pergens","job_title":"Help Desk Operator","country":"BR","is_online":true,"rating":2,"target":74,"budget":12376,"phone":"(769) 7145603","address":"856 Forest Crossing","img_id":3,"gender":"F"},{"id":"4a962db9-136e-4fcc-a683-2f961e27fb6e","full_name":"Friedrick Macknish","job_title":"Human Resources Assistant II","country":"FR","is_online":true,"rating":2,"target":38,"budget":97848,"phone":"(196) 4156385","address":"157 Talisman Trail","img_id":9,"gender":"M"},{"id":"fa47e456-83c4-4fdc-b57b-07effb279967","full_name":"Georgette Trevorrow","job_title":"VP Accounting","country":"FR","is_online":true,"rating":3,"target":3,"budget":17327,"phone":"(319) 1412549","address":"07 Marquette Point","img_id":3,"gender":"F"},{"id":"67656444-fbcd-4813-84e7-1bdcd82f803e","full_name":"Vanya Goalby","job_title":"Senior Cost Accountant","country":"FR","is_online":false,"rating":2,"target":77,"budget":33584,"phone":"(496) 7538982","address":"2192 Iowa Lane","img_id":6,"gender":"F"},{"id":"05c098c2-9617-4e66-928a-e29b97297138","full_name":"Abel Ansell","job_title":"Actuary","country":"US","is_online":false,"rating":4,"target":52,"budget":12312,"phone":"(571) 9908377","address":"4355 Iowa Parkway","img_id":4,"gender":"M"},{"id":"3b263e99-51bf-4461-bb20-d4303d326cd9","full_name":"Odille Barus","job_title":"Speech Pathologist","country":"FR","is_online":true,"rating":4,"target":60,"budget":46911,"phone":"(974) 1137672","address":"496 Lotheville Avenue","img_id":8,"gender":"F"},{"id":"c09ddfaf-569e-4a75-8e53-1be27cf25927","full_name":"Rudolf Consadine","job_title":"Structural Analysis Engineer","country":"FR","is_online":true,"rating":4,"target":20,"budget":94258,"phone":"(450) 7612220","address":"93 Thierer Park","img_id":6,"gender":"M"},{"id":"a48abbc9-6143-4f77-a720-0b76ad862a9a","full_name":"Christabel Bick","job_title":"Engineer III","country":"FR","is_online":true,"rating":5,"target":0,"budget":65359,"phone":"(361) 5159566","address":"191 Bunting Pass","img_id":5,"gender":"F"},{"id":"d8816aee-4230-4392-a045-0a9c297451f7","full_name":"Lancelot Tanzer","job_title":"Senior Developer","country":"US","is_online":true,"rating":5,"target":80,"budget":13246,"phone":"(502) 3949900","address":"4287 Corben Plaza","img_id":8,"gender":"M"},{"id":"9f5af32c-fb0d-4449-a658-f2c7f182b63a","full_name":"Bink Byk","job_title":"Software Engineer I","country":"FR","is_online":false,"rating":3,"target":17,"budget":56472,"phone":"(475) 9070061","address":"075 Eggendart Avenue","img_id":9,"gender":"M"},{"id":"dbd7f48a-6540-4560-bb7c-cd60456b55b8","full_name":"Rhys Pheazey","job_title":"Speech Pathologist","country":"BR","is_online":false,"rating":5,"target":98,"budget":62483,"phone":"(365) 8904529","address":"987 Carioca Lane","img_id":9,"gender":"M"},{"id":"844189fe-d36e-4e06-9761-932259701fc8","full_name":"Lyndell Howieson","job_title":"Speech Pathologist","country":"DE","is_online":true,"rating":2,"target":82,"budget":16694,"phone":"(461) 3130038","address":"9 Pennsylvania Crossing","img_id":8,"gender":"F"},{"id":"5544d9d5-40ea-4e5a-8fb8-f5016b313b8f","full_name":"Cassey Fitchell","job_title":"Software Engineer III","country":"FR","is_online":true,"rating":2,"target":10,"budget":91253,"phone":"(985) 5060547","address":"652 Merry Place","img_id":9,"gender":"F"},{"id":"1c669764-3cff-424a-b7e4-e7711d6c7d6c","full_name":"Coralyn Steljes","job_title":"Accounting Assistant III","country":"FR","is_online":false,"rating":2,"target":81,"budget":-9871,"phone":"(760) 5696853","address":"4 Norway Maple Pass","img_id":9,"gender":"F"},{"id":"4cc649dc-7f85-40ab-bc59-950f37268a65","full_name":"Bruis Creavin","job_title":"Nuclear Power Engineer","country":"BR","is_online":false,"rating":1,"target":59,"budget":-5798,"phone":"(570) 8801169","address":"71 Carioca Park","img_id":6,"gender":"M"},{"id":"8c9505f1-e8f8-4ba6-8c9a-5a1d089c6f09","full_name":"Adrianne Peery","job_title":"Chief Design Engineer","country":"FR","is_online":false,"rating":2,"target":2,"budget":56575,"phone":"(793) 1143493","address":"3 2nd Drive","img_id":7,"gender":"F"},{"id":"ced0905e-44ac-4317-a203-76994e53a751","full_name":"Port Gerauld","job_title":"Senior Cost Accountant","country":"FR","is_online":true,"rating":2,"target":27,"budget":97919,"phone":"(155) 5488067","address":"9 High Crossing Center","img_id":5,"gender":"M"},{"id":"f0bcc7cd-999e-4611-a04f-7bdc16bc6160","full_name":"Boy Antoszewski","job_title":"VP Accounting","country":"GB","is_online":true,"rating":2,"target":11,"budget":74779,"phone":"(715) 9192627","address":"3773 Hazelcrest Road","img_id":6,"gender":"M"},{"id":"322540e3-b72e-4b7d-ae4a-d927911340b7","full_name":"Gib Yakebowitch","job_title":"Marketing Assistant","country":"BR","is_online":false,"rating":5,"target":57,"budget":89028,"phone":"(923) 6953600","address":"7 Mariners Cove Point","img_id":8,"gender":"M"},{"id":"b1ed798d-6177-4a27-9571-2e02be932214","full_name":"Minerva Gilders","job_title":"Administrative Officer","country":"BR","is_online":false,"rating":3,"target":54,"budget":32267,"phone":"(773) 8863232","address":"82 Annamark Way","img_id":4,"gender":"F"},{"id":"d26bcf84-a8b4-471c-a582-2de64d7e7715","full_name":"Wait Peperell","job_title":"Web Designer III","country":"US","is_online":true,"rating":4,"target":94,"budget":72251,"phone":"(419) 5806752","address":"0355 Petterle Avenue","img_id":8,"gender":"M"},{"id":"da813d45-bd3b-4bfa-abdd-e12050a5da14","full_name":"Ailsun Esmead","job_title":"Software Test Engineer III","country":"FR","is_online":true,"rating":1,"target":12,"budget":69596,"phone":"(852) 7039628","address":"0 Lunder Crossing","img_id":8,"gender":"F"},{"id":"944d8752-ef63-47bc-8db0-f40808d50b15","full_name":"Vallie Van der Velde","job_title":"Nurse","country":"GB","is_online":true,"rating":3,"target":89,"budget":19530,"phone":"(331) 7690832","address":"2 Almo Lane","img_id":4,"gender":"F"},{"id":"3d2f991c-58ef-436d-912e-49496fd2065c","full_name":"Dov Amber","job_title":"Sales Representative","country":"FR","is_online":false,"rating":4,"target":55,"budget":61106,"phone":"(793) 4768356","address":"4 Rockefeller Street","img_id":3,"gender":"M"},{"id":"29b406e9-ca20-45cb-8630-6df3a632276a","full_name":"Tedie Alu","job_title":"Business Systems Analyst","country":"FR","is_online":false,"rating":1,"target":76,"budget":3114,"phone":"(602) 5831373","address":"28 Claremont Plaza","img_id":5,"gender":"M"},{"id":"767de27a-421c-4147-a552-26ac56390339","full_name":"Tally Rizzi","job_title":"Civil Engineer","country":"US","is_online":false,"rating":1,"target":5,"budget":78575,"phone":"(302) 6856300","address":"1 Roth Park","img_id":10,"gender":"M"},{"id":"2b6e6902-11b5-4ca7-8a59-c32b3f57533b","full_name":"Ilise Lewnden","job_title":"Database Administrator I","country":"BR","is_online":false,"rating":4,"target":33,"budget":-1059,"phone":"(659) 8660881","address":"19 Stuart Alley","img_id":2,"gender":"F"},{"id":"c891e87f-b19b-4cb5-8902-b19c59e37494","full_name":"Farr Penwright","job_title":"Senior Editor","country":"US","is_online":true,"rating":3,"target":82,"budget":30505,"phone":"(505) 3900066","address":"9200 Karstens Crossing","img_id":6,"gender":"M"},{"id":"65821428-adc7-4743-9dd8-cf62400e62f2","full_name":"Chantal Bidgod","job_title":"VP Sales","country":"BR","is_online":false,"rating":3,"target":62,"budget":25742,"phone":"(746) 3962702","address":"8807 Kinsman Drive","img_id":2,"gender":"F"},{"id":"f42907e0-d92c-4fb0-b886-2e84331ffe28","full_name":"Johanna Bergin","job_title":"Electrical Engineer","country":"BR","is_online":false,"rating":2,"target":54,"budget":25864,"phone":"(720) 6442547","address":"93166 Spohn Court","img_id":3,"gender":"F"},{"id":"4531be30-eec7-477f-bdc5-88acb8d902af","full_name":"Padriac Syphas","job_title":"Marketing Assistant","country":"BR","is_online":true,"rating":1,"target":50,"budget":20879,"phone":"(606) 9062546","address":"50465 Buena Vista Plaza","img_id":5,"gender":"M"},{"id":"4f0ab8f6-7a36-4a5c-a513-d5495223a9cd","full_name":"Garey De Maria","job_title":"Operator","country":"US","is_online":true,"rating":2,"target":54,"budget":94251,"phone":"(972) 1133958","address":"24 Maple Wood Terrace","img_id":9,"gender":"M"},{"id":"13556e73-d43a-485d-8603-cbf1769bd0ac","full_name":"Glenn Thorwarth","job_title":"Developer IV","country":"BR","is_online":false,"rating":5,"target":39,"budget":33511,"phone":"(394) 3115946","address":"8 Dryden Park","img_id":1,"gender":"M"},{"id":"c8389213-a2cd-4bb8-ba99-9c29e9b70881","full_name":"Bron Crosson","job_title":"GIS Technical Architect","country":"FR","is_online":true,"rating":2,"target":80,"budget":62081,"phone":"(686) 7934926","address":"974 Mayfield Place","img_id":9,"gender":"M"},{"id":"cd233a4e-0315-496d-8f5f-4c8787b0f1ba","full_name":"Garey Malecky","job_title":"Account Executive","country":"BR","is_online":false,"rating":5,"target":51,"budget":76354,"phone":"(304) 6324519","address":"3 Paget Court","img_id":9,"gender":"M"},{"id":"339838eb-99dc-4fc0-8e18-060dbcf6bf78","full_name":"Elisabet Kimblin","job_title":"Automation Specialist I","country":"US","is_online":true,"rating":3,"target":35,"budget":26755,"phone":"(904) 3334563","address":"75 Buell Court","img_id":1,"gender":"F"},{"id":"90a03a5a-1f16-4721-8c56-af4bb89a1f57","full_name":"Berk Uttley","job_title":"Health Coach IV","country":"FR","is_online":false,"rating":4,"target":58,"budget":82064,"phone":"(200) 2124940","address":"4 Mockingbird Trail","img_id":8,"gender":"M"},{"id":"ce5ba778-43eb-4658-a6bd-56f04e6f125f","full_name":"Kenny Clackers","job_title":"Assistant Manager","country":"FR","is_online":true,"rating":4,"target":37,"budget":47477,"phone":"(926) 3235464","address":"53315 Bashford Lane","img_id":2,"gender":"M"},{"id":"df3dffe4-6fb4-4a9c-8512-71f7cb508180","full_name":"Rickard Pingston","job_title":"Environmental Specialist","country":"BR","is_online":true,"rating":5,"target":72,"budget":94173,"phone":"(902) 4658383","address":"8 Mesta Court","img_id":2,"gender":"M"},{"id":"2757a92d-5eed-4215-818f-fdf15b6b27d0","full_name":"Hobard Clabburn","job_title":"Systems Administrator I","country":"BR","is_online":true,"rating":2,"target":37,"budget":66166,"phone":"(711) 6587550","address":"29796 Mcbride Court","img_id":2,"gender":"M"},{"id":"71ebd82a-f9f2-48ea-ada4-ce8db424df64","full_name":"Uri Champken","job_title":"Software Test Engineer IV","country":"BR","is_online":false,"rating":1,"target":39,"budget":65176,"phone":"(514) 1953919","address":"78 Rowland Alley","img_id":6,"gender":"M"},{"id":"b7a77c35-1f9f-45c5-ba44-7622d279b377","full_name":"Obidiah Fold","job_title":"Budget/Accounting Analyst I","country":"FR","is_online":false,"rating":5,"target":66,"budget":74529,"phone":"(747) 8711780","address":"58 Lakeland Court","img_id":9,"gender":"M"},{"id":"9c0fbca6-b793-4fdc-8dcf-5136cb5d049c","full_name":"Angelia Marconi","job_title":"Associate Professor","country":"FR","is_online":false,"rating":4,"target":91,"budget":38996,"phone":"(530) 7506861","address":"7 Ohio Parkway","img_id":2,"gender":"F"},{"id":"9083010c-4f59-49e7-96c6-894cbf24ed75","full_name":"Ronda Lock","job_title":"Quality Engineer","country":"US","is_online":false,"rating":5,"target":36,"budget":69903,"phone":"(916) 6819628","address":"802 American Ash Street","img_id":6,"gender":"F"},{"id":"4225013e-fd75-46f6-b678-b25675e131bc","full_name":"Rachele Fantham","job_title":"Business Systems Analyst","country":"FR","is_online":true,"rating":2,"target":100,"budget":79333,"phone":"(652) 3112938","address":"62 Grim Center","img_id":4,"gender":"F"},{"id":"b75a42e9-db84-479c-96b0-d88109abfebb","full_name":"Emanuel Deery","job_title":"Electrical Engineer","country":"BR","is_online":false,"rating":3,"target":93,"budget":77477,"phone":"(860) 8318923","address":"850 Mifflin Junction","img_id":8,"gender":"M"},{"id":"b2e28f42-7a35-4e23-b2e4-40fe3ed909ca","full_name":"Clay Ellins","job_title":"Design Engineer","country":"US","is_online":true,"rating":4,"target":98,"budget":4120,"phone":"(682) 4688237","address":"458 Scoville Lane","img_id":5,"gender":"M"},{"id":"4239103e-80bc-4f09-8655-c2165b063027","full_name":"Bettina Menlove","job_title":"Senior Financial Analyst","country":"FR","is_online":false,"rating":5,"target":78,"budget":80574,"phone":"(293) 8801412","address":"29 Onsgard Junction","img_id":8,"gender":"F"},{"id":"8442ff74-6f05-43f7-90de-b948a5c2c895","full_name":"Claiborne Willoughey","job_title":"Food Chemist","country":"US","is_online":true,"rating":5,"target":44,"budget":44673,"phone":"(707) 3380798","address":"39114 Killdeer Terrace","img_id":6,"gender":"M"},{"id":"1701041a-2ede-4c1d-a51b-8fe4b3ec1c35","full_name":"Desmond Gritskov","job_title":"Pharmacist","country":"BR","is_online":false,"rating":4,"target":66,"budget":45319,"phone":"(412) 1336481","address":"6912 Farwell Street","img_id":6,"gender":"M"},{"id":"609fd74e-e6c3-41ae-a227-d3d9caba0582","full_name":"Codee Maybery","job_title":"Clinical Specialist","country":"US","is_online":true,"rating":2,"target":26,"budget":43462,"phone":"(682) 7969803","address":"4 Tennessee Plaza","img_id":3,"gender":"F"},{"id":"f535ef7f-c79d-4936-af40-d062d2b2d5c0","full_name":"Denys Beynke","job_title":"Occupational Therapist","country":"BR","is_online":true,"rating":4,"target":60,"budget":32402,"phone":"(110) 4341370","address":"99 Trailsway Park","img_id":4,"gender":"M"},{"id":"ae126e65-b6ab-4388-ba5c-f6f5d54fc435","full_name":"Guthry Limpricht","job_title":"Geologist II","country":"DE","is_online":true,"rating":3,"target":65,"budget":68462,"phone":"(100) 8946768","address":"3117 Commercial Crossing","img_id":2,"gender":"M"},{"id":"9b1efdfc-4cce-4350-9516-028884fb1725","full_name":"Cammie Knoble","job_title":"Community Outreach Specialist","country":"GB","is_online":false,"rating":2,"target":1,"budget":70198,"phone":"(352) 1663192","address":"55 Longview Place","img_id":4,"gender":"F"},{"id":"a44c41e2-3adc-4d52-acb3-06f90e0214c9","full_name":"Kiri Espinal","job_title":"Accounting Assistant I","country":"FR","is_online":false,"rating":3,"target":47,"budget":3712,"phone":"(946) 6686147","address":"90480 Chinook Drive","img_id":4,"gender":"F"},{"id":"9d6d3063-7be8-49fe-be31-64d0d5949f02","full_name":"Joy Tiddy","job_title":"Engineer III","country":"FR","is_online":true,"rating":5,"target":80,"budget":61355,"phone":"(849) 1097790","address":"76 Summerview Hill","img_id":9,"gender":"F"},{"id":"44def3bb-7c65-45d3-aef6-bf8b49f934b3","full_name":"Arlene Karlsson","job_title":"Civil Engineer","country":"BR","is_online":true,"rating":4,"target":98,"budget":14267,"phone":"(699) 4713080","address":"90 Dorton Point","img_id":5,"gender":"F"},{"id":"7b991e13-bef7-4f19-bd18-d5aa9d263cba","full_name":"Melony Millwater","job_title":"Chief Design Engineer","country":"US","is_online":true,"rating":2,"target":27,"budget":67126,"phone":"(352) 5197697","address":"65242 Derek Place","img_id":1,"gender":"F"},{"id":"ab6704b8-20ed-4881-ab28-96e3d55f7792","full_name":"Mab Ballham","job_title":"Programmer Analyst II","country":"FR","is_online":false,"rating":1,"target":34,"budget":65648,"phone":"(699) 9285470","address":"2579 Messerschmidt Crossing","img_id":8,"gender":"F"},{"id":"03f0f5a0-8b7c-486e-ae4b-c9e5858bbde8","full_name":"Nixie MacAskie","job_title":"Structural Analysis Engineer","country":"BR","is_online":true,"rating":2,"target":13,"budget":-5312,"phone":"(434) 6153212","address":"59672 Village Court","img_id":4,"gender":"F"},{"id":"6b63462d-b181-4055-813d-983002ea57b8","full_name":"Gianni Crafts","job_title":"Tax Accountant","country":"FR","is_online":false,"rating":3,"target":54,"budget":85744,"phone":"(428) 3135618","address":"53766 Buhler Parkway","img_id":8,"gender":"M"},{"id":"dcafac96-c436-4232-8d0e-eda10d029e1d","full_name":"Moyra Summerlie","job_title":"Business Systems Analyst","country":"FR","is_online":true,"rating":5,"target":3,"budget":19109,"phone":"(960) 7792763","address":"127 Spohn Crossing","img_id":6,"gender":"F"},{"id":"a765924f-8ffb-4186-8991-6000a6ce2652","full_name":"Hagan Trevers","job_title":"Mechanical Systems Engineer","country":"FR","is_online":false,"rating":2,"target":93,"budget":28290,"phone":"(749) 8913157","address":"516 Clove Road","img_id":7,"gender":"M"},{"id":"2c3423dd-81d0-4e41-987e-1c39956c9ba8","full_name":"Sela Westmacott","job_title":"Account Executive","country":"BR","is_online":false,"rating":3,"target":29,"budget":58239,"phone":"(130) 9778509","address":"81 Maple Point","img_id":2,"gender":"F"},{"id":"e8bce62e-3bf4-4232-801c-bbcc8dab2e74","full_name":"Lilia Wiz","job_title":"VP Product Management","country":"FR","is_online":false,"rating":1,"target":65,"budget":1438,"phone":"(418) 5940094","address":"905 Hauk Point","img_id":1,"gender":"F"},{"id":"5b9b9235-e0f2-4102-b5f1-d512774e7191","full_name":"Orlan MacAlpin","job_title":"Statistician I","country":"US","is_online":false,"rating":1,"target":1,"budget":9094,"phone":"(512) 7106617","address":"6055 Truax Way","img_id":2,"gender":"M"},{"id":"1124d1b2-6ac3-4f2f-ba35-1da116844b0e","full_name":"Ty Nutton","job_title":"Speech Pathologist","country":"FR","is_online":false,"rating":5,"target":88,"budget":76684,"phone":"(250) 2530424","address":"37247 Merry Plaza","img_id":1,"gender":"M"},{"id":"01e7f525-ab3f-48b7-941f-c6ad601ea69f","full_name":"Mirelle Jandl","job_title":"Civil Engineer","country":"DE","is_online":true,"rating":3,"target":19,"budget":94486,"phone":"(871) 7917453","address":"31 Anderson Hill","img_id":10,"gender":"F"},{"id":"078b38d3-79a5-4df1-bd97-f83e300224a4","full_name":"Diann Bertram","job_title":"Structural Engineer","country":"BR","is_online":true,"rating":2,"target":38,"budget":2769,"phone":"(716) 9445650","address":"958 Swallow Drive","img_id":4,"gender":"F"},{"id":"7ca6af51-11bc-44f3-b92f-7af02923d040","full_name":"Cindra Slobom","job_title":"Web Designer III","country":"BR","is_online":true,"rating":5,"target":48,"budget":81624,"phone":"(409) 9223432","address":"82525 Northridge Junction","img_id":1,"gender":"F"},{"id":"86a585e1-b76d-43b5-982d-e74b5b4b616b","full_name":"Tymon Mattheissen","job_title":"Dental Hygienist","country":"FR","is_online":false,"rating":2,"target":51,"budget":42972,"phone":"(724) 3234885","address":"64363 Anzinger Plaza","img_id":3,"gender":"M"},{"id":"37e366fb-9371-4df5-980c-e9678ec9cde2","full_name":"Fancie Heighton","job_title":"Paralegal","country":"FR","is_online":true,"rating":5,"target":52,"budget":67403,"phone":"(738) 9982239","address":"4353 Hermina Junction","img_id":1,"gender":"F"},{"id":"b7df7c2a-4d40-4c03-bfb6-ab6d6930340c","full_name":"Kit Utteridge","job_title":"Office Assistant I","country":"FR","is_online":true,"rating":4,"target":93,"budget":36268,"phone":"(710) 2371400","address":"46806 Moland Center","img_id":7,"gender":"F"},{"id":"7d740468-fad9-4687-895b-cee07aa3bc3d","full_name":"Lea Willey","job_title":"VP Quality Control","country":"US","is_online":false,"rating":3,"target":19,"budget":54614,"phone":"(304) 3327700","address":"1 Moland Crossing","img_id":6,"gender":"F"},{"id":"88df162f-24fa-495d-a65c-b948607193b8","full_name":"Arri Halton","job_title":"Staff Accountant II","country":"GB","is_online":true,"rating":5,"target":73,"budget":32500,"phone":"(743) 8449571","address":"3 Starling Trail","img_id":3,"gender":"M"},{"id":"cb93d087-2f15-43cd-9bc3-89716e39a724","full_name":"Malva Pierpoint","job_title":"Operator","country":"US","is_online":true,"rating":4,"target":98,"budget":20312,"phone":"(423) 8195288","address":"57584 Algoma Plaza","img_id":1,"gender":"F"},{"id":"b76e54a1-1c46-49aa-9464-7dd9aa738b65","full_name":"Dalston Sabben","job_title":"Social Worker","country":"BR","is_online":true,"rating":4,"target":85,"budget":99048,"phone":"(388) 2523908","address":"53578 Clove Lane","img_id":4,"gender":"M"},{"id":"608f098b-16f8-4460-bb35-9599a8a74280","full_name":"Delinda Margrie","job_title":"Financial Advisor","country":"US","is_online":false,"rating":1,"target":1,"budget":8398,"phone":"(702) 6480692","address":"9 Dapin Plaza","img_id":9,"gender":"F"},{"id":"23b426f8-76d5-4808-84cb-c42bde8362fd","full_name":"Meggi Westman","job_title":"Librarian","country":"US","is_online":true,"rating":3,"target":64,"budget":63413,"phone":"(682) 3495155","address":"82 Duke Terrace","img_id":7,"gender":"F"},{"id":"7ecfb74e-64d9-43ee-a028-d2e3841acba9","full_name":"Bret Barnsdall","job_title":"Registered Nurse","country":"BR","is_online":true,"rating":3,"target":52,"budget":55153,"phone":"(222) 2089814","address":"4 Corry Park","img_id":8,"gender":"M"},{"id":"cf505561-d9e1-4d2a-93d5-4745d50595c2","full_name":"Matthus Shyres","job_title":"Marketing Manager","country":"FR","is_online":false,"rating":3,"target":68,"budget":33697,"phone":"(539) 9486139","address":"460 Norway Maple Junction","img_id":1,"gender":"M"}]'),Le={name:"App",components:{Grid:le.xA,toolbar:le.OQ,pdfexport:pe.Vf,budget:qe,engagement:Te,isonline:Qe,flag:je,contact:ze,"k-input":De.pd,KButton:Ae.$n,buttongroup:Ae.e2},inject:{kendoLocalizationService:{default:null}},props:{currentTheme:String},data:function(){return{myTeamSelected:!0,searchWord:"",columnMenu:!0,selectedField:"selected",expandField:"expanded",gridPageable:{buttonCount:5,info:!0,type:"numeric",pageSizes:!0,previousNext:!0},employees:We,gridData:[],skip:0,group:[],sort:[],filter:null,expandedItems:[]}},created:function(){this.gridData=this.getData(this.employees),this.onTeamChange(25)},computed:{gridHeight(){const e=document.querySelectorAll(".k-drawer-container")[0].offsetHeight-280;return e<500?500:e},take(){return Math.floor(this.gridHeight/56)},selectedDataItems(){return this.gridData.data.filter((e=>!0===e.selected))},areAllSelected(){return this.selectedDataItems.length===this.gridData.data.length&&0!==this.selectedDataItems.length},columns(){return[{field:"selected",width:this.getSelectColumnWidth(this.currentTheme),columnMenu:!1,headerSelectionValue:this.areAllSelected},{title:this.employeeMessage,children:[{field:"full_name",title:this.contactNameMessage,width:"220px",cell:"contactTemplate"},{field:"job_title",title:this.jobTitleMessage,width:"250px"},{field:"country",title:this.countryMessage,width:"100px",resizable:!1,className:"text-center",cell:"flagTemplate"},{field:"is_online",title:this.statusMessage,width:"100px",resizable:!1,className:"text-center",filter:"boolean",cell:"isOnlineTemplate"}]},{title:this.performanceMessage,children:[{field:"target",title:this.engagementMessage,width:"230px",resizable:!1,filter:"numeric",cell:"engagementTemplate"},{field:"budget",title:this.budgetMessage,width:"120px",filter:"numeric",format:"{0:c}",cell:"budgetTemplate"}]},{title:this.contactsMessage,children:[{field:"phone",title:this.phoneMessage,width:"160px"},{field:"address",title:this.addressMessage,width:"400px"}]}]},exportPdfMessage(){return(0,E.GB)(this).toLanguageString("exportPdf","Export to PDF")},exportExcelMessage(){return(0,E.GB)(this).toLanguageString("exportExcel","Export to Excel")},gridSearchMessage(){return(0,E.GB)(this).toLanguageString("gridSearch","Search in all columns...")},myTeamMessage(){return(0,E.GB)(this).toLanguageString("myTeam","My Team")},allTeamsMessage(){return(0,E.GB)(this).toLanguageString("allTeams","All Teams")},teamMembersMessage(){return(0,E.GB)(this).toLanguageString("teamMembers","Team Members")},contactNameMessage(){return(0,E.GB)(this).toLanguageString("contactName","Contact Name")},jobTitleMessage(){return(0,E.GB)(this).toLanguageString("jobTitle","Job Title")},countryMessage(){return(0,E.GB)(this).toLanguageString("country","Country")},employeeMessage(){return(0,E.GB)(this).toLanguageString("employee","Employee")},statusMessage(){return(0,E.GB)(this).toLanguageString("status","Status")},engagementMessage(){return(0,E.GB)(this).toLanguageString("engagement","Engagement")},performanceMessage(){return(0,E.GB)(this).toLanguageString("performance","Performance")},budgetMessage(){return(0,E.GB)(this).toLanguageString("budget","Budget")},contactsMessage(){return(0,E.GB)(this).toLanguageString("contacts","Contacts")},phoneMessage(){return(0,E.GB)(this).toLanguageString("phone","Phone")},addressMessage(){return(0,E.GB)(this).toLanguageString("address","Address")}},methods:{onFilter(e){let r=e.value;this.searchWord=r,this.skip=0,this.filter=""!==r?{logic:"or",filters:[{field:"full_name",operator:"contains",value:r},{field:"job_title",operator:"contains",value:r},{field:"budget",operator:"contains",value:r},{field:"phone",operator:"contains",value:r},{field:"address",operator:"contains",value:r}]}:null,this.gridData=this.getData(this.employees)},onHeaderSelectionChange(e){let r=e.event.target.checked;const a=this.employees.map((e=>({...e,selected:r}))),t=this.gridData.data.map((e=>({...e,selected:r})));this.gridData.data=t,this.employees=a},getData(e){return(0,ce.eh)(e,{take:this.take,skip:this.skip,group:this.group,sort:this.sort,filter:this.filter})},createAppState:function(e){this.group=e.group,this.skip=e.skip,this.sort=e.sort,this.filter=e.filter,this.gridData=this.myTeamSelected?this.getData(this.employees.slice(0,25)):this.getData(this.employees)},dataStateChange:function(e){this.createAppState(e.data)},expandChange:function(e){e.dataItem&&(e.dataItem[e.target.$props.expandField]=e.value)},exportExcel(){const e=[...this.columns];e.splice(0,1),(0,Ne.LU)({data:this.gridData.data,group:this.group,fileName:"Employees",columns:e})},exportPDF(){const e=this.sort;this.sort=null,this.$nextTick((()=>{this.$refs.gridPdfExport.save((0,ce.eh)(this.employees,{skip:this.skip,take:this.take})),this.sort=e}))},onSelectionChange(e){e.dataItem[this.selectedField]=!e.dataItem[this.selectedField]},onTeamChange(e){let r;25===e?(r=this.employees.slice(e,2*e),this.myTeamSelected=!0):(r=this.employees.slice(0,e),this.myTeamSelected=!1),this.gridData=this.getData(r)},getSelectColumnWidth(e){return"Default"===e?"42px":"Material"===e?"65px":"32px"}}};const Ge=(0,T.A)(Le,[["render",se]]);var xe=Ge;function Ve(e,r,a,t,d,n){const m=(0,o.g2)("formcontent"),i=(0,o.g2)("k-form");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.bF)(i,{onSubmit:n.handleSubmit,"initial-values":d.formValues},{default:(0,o.k6)((()=>[(0,o.bF)(m)])),_:1},8,["onSubmit","initial-values"])])}var Ke=a(9970);const Xe=e=>((0,o.Qi)("data-v-ff4a2cb8"),e=e(),(0,o.jt)(),e),Ue={class:"k-form-fieldset"},Je=Xe((()=>(0,o.Lk)("hr",null,null,-1))),Ze={class:"k-form-buttons"};function Ye(e,r,a,t,d,n){const m=(0,o.g2)("formupload"),i=(0,o.g2)("field"),u=(0,o.g2)("forminput"),s=(0,o.g2)("formmaskedtextbox"),l=(0,o.g2)("formautocomplete"),D=(0,o.g2)("formtextarea"),A=(0,o.g2)("formradiogroup"),p=(0,o.g2)("KButton"),N=(0,o.g2)("form-element");return(0,o.uX)(),(0,o.Wv)(N,{horizontal:!0,style:{"max-width":"700px",margin:"0 auto"}},{default:(0,o.k6)((()=>[(0,o.Lk)("fieldset",Ue,[(0,o.bF)(i,{id:"avatar",name:"avatar",component:"myTemplate"},{myTemplate:(0,o.k6)((({props:e})=>[(0,o.bF)(m,(0,o.v6)(e,{onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus}),null,16,["onChange","onBlur","onFocus"])])),_:1}),(0,o.bF)(i,{name:"firstName",component:"myTemplate",label:n.firstNameMessage,validator:e.firstNameValidator},{myTemplate:(0,o.k6)((({props:e})=>[(0,o.bF)(u,(0,o.v6)(e,{onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus}),null,16,["onChange","onBlur","onFocus"])])),_:1},8,["label","validator"]),(0,o.bF)(i,{name:"lastName",component:"myTemplate",label:n.lastNameMessage,validator:e.lastNameValidator},{myTemplate:(0,o.k6)((({props:e})=>[(0,o.bF)(u,(0,o.v6)(e,{onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus}),null,16,["onChange","onBlur","onFocus"])])),_:1},8,["label","validator"]),(0,o.bF)(i,{name:"email",type:"email","validation-message":"Error: Email is required",component:"myTemplate",label:n.emailMessage,validator:e.emailValidator},{myTemplate:(0,o.k6)((({props:e})=>[(0,o.bF)(u,(0,o.v6)(e,{onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus}),null,16,["onChange","onBlur","onFocus"])])),_:1},8,["label","validator"]),(0,o.bF)(i,{id:"phoneNumber",name:"phoneNumber",label:n.phoneNumberMessage,mask:"(+9) 0000-000-00-00",component:"myTemplate",validator:e.phoneValidator},{myTemplate:(0,o.k6)((({props:e})=>[(0,o.bF)(s,(0,o.v6)(e,{onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus}),null,16,["onChange","onBlur","onFocus"])])),_:1},8,["label","validator"]),(0,o.bF)(i,{id:"countryselected",name:"countryselected",label:n.countryMessage,component:"myTemplate",data:e.countries,validator:e.requiredValidator},{myTemplate:(0,o.k6)((({props:e})=>[(0,o.bF)(l,(0,o.v6)(e,{onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus}),null,16,["onChange","onBlur","onFocus"])])),_:1},8,["label","data","validator"]),(0,o.bF)(i,{id:"biography",name:"biography",label:n.biographyMessage,component:"myTemplate"},{myTemplate:(0,o.k6)((({props:e})=>[(0,o.bF)(D,(0,o.v6)(e,{onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus}),null,16,["onChange","onBlur","onFocus"])])),_:1},8,["label"]),(0,o.bF)(i,{id:"team",name:"team",label:n.teamMessage,layout:"horizontal",component:"myTemplate","data-items":e.teams},{myTemplate:(0,o.k6)((({props:e})=>[(0,o.bF)(A,(0,o.v6)(e,{onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus}),null,16,["onChange","onBlur","onFocus"])])),_:1},8,["label","data-items"])]),Je,(0,o.Lk)("div",Ze,[(0,o.bF)(p,{onClick:n.clear},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(n.cancelMessage),1)])),_:1},8,["onClick"]),(0,o.bF)(p,{type:"submit","theme-color":"primary",disabled:!n.kendoForm.allowSubmit},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(n.saveChangesMessage),1)])),_:1},8,["disabled"])])])),_:1})}const _e={class:"k-form-field-wrap"};function $e(e,r,a,t,d,n){const m=(0,o.g2)("klabel"),i=(0,o.g2)("kinput"),u=(0,o.g2)("error"),s=(0,o.g2)("hint"),l=(0,o.g2)("fieldwrapper");return(0,o.uX)(),(0,o.Wv)(l,null,{default:(0,o.k6)((()=>[(0,o.bF)(m,{"editor-id":a.id,"editor-valid":a.valid,disabled:a.disabled,optional:a.optional,style:{"text-align":"right"}},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.label),1)])),_:1},8,["editor-id","editor-valid","disabled","optional"]),(0,o.Lk)("div",_e,[(0,o.bF)(i,{valid:a.valid,id:a.id,value:a.value,disabled:a.disabled,placeholder:a.placeholder,onInput:n.handleChange,onBlur:n.handleBlur,onFocus:n.handleFocus},null,8,["valid","id","value","disabled","placeholder","onInput","onBlur","onFocus"]),n.showValidationMessage?((0,o.uX)(),(0,o.Wv)(u,{key:0},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.validationMessage),1)])),_:1})):((0,o.uX)(),(0,o.Wv)(s,{key:1},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.hint),1)])),_:1}))])])),_:1})}var er=a(131),rr={props:{optional:Boolean,disabled:Boolean,placeholder:String,touched:Boolean,label:String,validationMessage:String,hint:String,id:String,valid:Boolean,value:{type:String,default:""}},components:{fieldwrapper:Ke.cm,error:er.$D,hint:er.Ck,klabel:er.JU,kinput:De.pd},computed:{showValidationMessage(){return this.$props.touched&&this.$props.validationMessage},showHint(){return!this.showValidationMessage&&this.$props.hint},hintId(){return this.showHint?`${this.$props.id}_hint`:""},errorId(){return this.showValidationMessage?`${this.$props.id}_error`:""}},emits:{change:null,blur:null,focus:null},methods:{handleChange(e){this.$emit("change",e)},handleBlur(e){this.$emit("blur",e)},handleFocus(e){this.$emit("focus",e)}}};const ar=(0,T.A)(rr,[["render",$e]]);var tr=ar;const or={class:"k-form-field-wrap"};function dr(e,r,a,t,d,n){const m=(0,o.g2)("klabel"),i=(0,o.g2)("maskedtextbox"),u=(0,o.g2)("error"),s=(0,o.g2)("hint"),l=(0,o.g2)("fieldwrapper");return(0,o.uX)(),(0,o.Wv)(l,null,{default:(0,o.k6)((()=>[(0,o.bF)(m,{"editor-id":a.id,"editor-valid":a.valid,optional:a.optional},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.label),1)])),_:1},8,["editor-id","editor-valid","optional"]),(0,o.Lk)("div",or,[(0,o.bF)(i,{valid:a.valid,value:a.value,id:a.id,mask:a.mask,readonly:a.readonly,onChange:n.handleChange,onBlur:n.handleBlur,onFocus:n.handleFocus},null,8,["valid","value","id","mask","readonly","onChange","onBlur","onFocus"]),n.showValidationMessage?((0,o.uX)(),(0,o.Wv)(u,{key:0},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.validationMessage),1)])),_:1})):((0,o.uX)(),(0,o.Wv)(s,{key:1},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.hint),1)])),_:1}))])])),_:1})}var nr={props:{readonly:Boolean,optional:Boolean,mask:String,touched:Boolean,label:String,validationMessage:String,hint:String,id:String,valid:Boolean,value:{type:String,default:""}},components:{fieldwrapper:Ke.cm,error:er.$D,hint:er.Ck,klabel:er.JU,maskedtextbox:De.yi},emits:{change:null,blur:null,focus:null},computed:{showValidationMessage(){return this.$props.touched&&this.$props.validationMessage},showHint(){return!this.showValidationMessage&&this.$props.hint},hintId(){return this.showHint?`${this.$props.id}_hint`:""},errorId(){return this.showValidationMessage?`${this.$props.id}_error`:""}},methods:{handleChange(e){this.$emit("change",e)},handleBlur(e){this.$emit("blur",e)},handleFocus(e){this.$emit("focus",e)}}};const mr=(0,T.A)(nr,[["render",dr]]);var ir=mr;const ur={class:"k-form-field-wrap"};function sr(e,r,a,t,d,n){const m=(0,o.g2)("klabel"),i=(0,o.g2)("autocomplete"),u=(0,o.g2)("error"),s=(0,o.g2)("hint"),l=(0,o.g2)("fieldwrapper");return(0,o.uX)(),(0,o.Wv)(l,null,{default:(0,o.k6)((()=>[(0,o.bF)(m,{"editor-id":a.id,"editor-valid":a.valid},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.label),1)])),_:1},8,["editor-id","editor-valid"]),(0,o.Lk)("div",ur,[(0,o.bF)(i,{"data-items":a.data,"text-field":"name",valid:a.valid,value:a.value,id:a.id,onChange:n.handleChange,onBlur:n.handleBlur,onFocus:n.handleFocus},null,8,["data-items","valid","value","id","onChange","onBlur","onFocus"]),n.showValidationMessage?((0,o.uX)(),(0,o.Wv)(u,{key:0},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.validationMessage),1)])),_:1})):((0,o.uX)(),(0,o.Wv)(s,{key:1},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.hint),1)])),_:1}))])])),_:1})}var cr={props:{data:Object,touched:Boolean,label:String,validationMessage:String,hint:String,id:String,valid:Boolean,value:{type:String,default:""}},components:{fieldwrapper:Ke.cm,error:er.$D,hint:er.Ck,klabel:er.JU,autocomplete:S.j9},emits:{change:null,blur:null,focus:null},computed:{showValidationMessage(){return this.$props.touched&&this.$props.validationMessage},showHint(){return!this.showValidationMessage&&this.$props.hint},hintId(){return this.showHint?`${this.$props.id}_hint`:""},errorId(){return this.showValidationMessage?`${this.$props.id}_error`:""}},methods:{handleChange(e){this.$emit("change",e)},handleBlur(e){this.$emit("blur",e)},handleFocus(e){this.$emit("focus",e)}}};const lr=(0,T.A)(cr,[["render",sr]]);var Dr=lr;const Ar={class:"k-form-field-wrap"},pr={class:"k-textarea"};function Nr(e,r,a,t,d,n){const m=(0,o.g2)("klabel"),i=(0,o.g2)("KTextArea"),u=(0,o.g2)("error"),s=(0,o.g2)("hint"),l=(0,o.g2)("fieldwrapper");return(0,o.uX)(),(0,o.Wv)(l,null,{default:(0,o.k6)((()=>[(0,o.bF)(m,{"editor-id":a.id,"editor-valid":a.valid},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.label),1)])),_:1},8,["editor-id","editor-valid"]),(0,o.Lk)("div",Ar,[(0,o.Lk)("span",pr,[(0,o.bF)(i,{style:{height:"120px"},valid:a.valid,value:a.value,id:a.id,onChange:n.handleChange,onBlur:n.handleBlur,onFocus:n.handleFocus},null,8,["valid","value","id","onChange","onBlur","onFocus"])]),n.showValidationMessage?((0,o.uX)(),(0,o.Wv)(u,{key:0},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.validationMessage),1)])),_:1})):((0,o.uX)(),(0,o.Wv)(s,{key:1},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.hint),1)])),_:1}))])])),_:1})}var Cr={props:{touched:Boolean,label:String,validationMessage:String,hint:String,id:String,valid:Boolean,value:{type:String,default:""}},components:{fieldwrapper:Ke.cm,error:er.$D,hint:er.Ck,klabel:er.JU,KTextArea:De.fs},emits:{change:null,blur:null,focus:null},computed:{showValidationMessage(){return this.$props.touched&&this.$props.validationMessage},showHint(){return!this.showValidationMessage&&this.$props.hint},hintId(){return this.showHint?`${this.$props.id}_hint`:""},errorId(){return this.showValidationMessage?`${this.$props.id}_error`:""}},methods:{handleChange(e){this.$emit("change",e)},handleBlur(e){this.$emit("blur",e)},handleFocus(e){this.$emit("focus",e)}}};const gr=(0,T.A)(Cr,[["render",Nr]]);var Ir=gr;function qr(e,r,a,t,d,n){const m=(0,o.g2)("klabel"),i=(0,o.g2)("radiogroup"),u=(0,o.g2)("error"),s=(0,o.g2)("hint"),l=(0,o.g2)("fieldwrapper");return(0,o.uX)(),(0,o.Wv)(l,null,{default:(0,o.k6)((()=>[(0,o.bF)(m,{id:n.labelId,"editor-id":a.id,"editor-valid":a.valid,"editor-disabled":a.disabled},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.label),1)])),_:1},8,["id","editor-id","editor-valid","editor-disabled"]),(0,o.bF)(i,{name:a.name,"aria-described-by":n.describedBy,label:a.label,valid:a.valid,value:a.value,layout:a.layout,"data-items":a.dataItems,id:a.id,checked:a.value,onChange:n.handleChange},null,8,["name","aria-described-by","label","valid","value","layout","data-items","id","checked","onChange"]),n.showValidationMessage?((0,o.uX)(),(0,o.Wv)(u,{key:0},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.validationMessage),1)])),_:1})):((0,o.uX)(),(0,o.Wv)(s,{key:1},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.hint),1)])),_:1}))])),_:1})}var yr={name:"FormRadioGroup",props:{name:String,touched:Boolean,label:String,validationMessage:String,hint:String,id:String,valid:{type:Boolean,default:!0},disabled:Boolean,layout:String,dataItems:Array,value:{type:String,default:null}},emits:{change:null,blur:null,focus:null},components:{fieldwrapper:Ke.cm,error:er.$D,hint:er.Ck,klabel:er.JU,radiogroup:De.z6},computed:{showValidationMessage(){return this.$props.touched&&this.$props.validationMessage},showHint(){return!this.showValidationMessage&&this.$props.hint},hintId(){return this.showHint?`${this.$props.id}_hint`:""},errorId(){return this.showValidationMessage?`${this.$props.id}_error`:""},describedBy(){return`${this.hintId} ${this.errorId}`},labelId(){return this.label?`${this.id}_label`:""}},methods:{handleChange(e){this.$emit("change",e)},handleBlur(e){this.$emit("blur",e)},handleFocus(e){this.$emit("focus",e)}}};const Sr=(0,T.A)(yr,[["render",qr]]);var Er=Sr;const hr=e=>((0,o.Qi)("data-v-4a2c0b4d"),e=e(),(0,o.jt)(),e),Tr=hr((()=>(0,o.Lk)("img",{src:l},null,-1))),br={class:"k-form-field-wrap"};function fr(e,r,a,t,d,n){const m=(0,o.g2)("avatar"),i=(0,o.g2)("klabel"),u=(0,o.g2)("upload"),s=(0,o.g2)("error"),l=(0,o.g2)("hint"),D=(0,o.g2)("fieldwrapper");return(0,o.uX)(),(0,o.Wv)(D,null,{default:(0,o.k6)((()=>[(0,o.bF)(i,{"editor-id":a.id,"editor-valid":a.valid},{default:(0,o.k6)((()=>[(0,o.bF)(m,{rounded:"full",type:"image",size:"large",style:{width:"80px",height:"80px","flex-basis":"80px"}},{default:(0,o.k6)((()=>[Tr])),_:1})])),_:1},8,["editor-id","editor-valid"]),(0,o.Lk)("div",br,[(0,o.Lk)("span",null,[(0,o.bF)(u,{valid:a.valid,value:a.value,id:a.id,"auto-upload":!1,multiple:!1,"show-file-list":!1,"show-action-buttons":!1,files:a.value,restrictions:{allowedExtensions:[".jpg",".png"]},onBlur:n.handleBlur,onFocus:n.handleFocus,onAdd:n.onAddHandler,onRemove:n.onRemoveHandler},null,8,["valid","value","id","files","restrictions","onBlur","onFocus","onAdd","onRemove"])]),n.showValidationMessage?((0,o.uX)(),(0,o.Wv)(s,{key:0},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.validationMessage),1)])),_:1})):((0,o.uX)(),(0,o.Wv)(l,{key:1},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(a.hint),1)])),_:1}))])])),_:1})}var kr=a(2324),Qr={props:{touched:Boolean,optional:Boolean,label:String,validationMessage:String,hint:String,id:String,valid:Boolean,value:Array},components:{fieldwrapper:Ke.cm,error:er.$D,hint:er.Ck,klabel:er.JU,upload:kr._O,avatar:y.eu},computed:{showValidationMessage(){return this.$props.touched&&this.$props.validationMessage},showHint(){return!this.showValidationMessage&&this.$props.hint},hintId(){return this.showHint?`${this.$props.id}_hint`:""},errorId(){return this.showValidationMessage?`${this.$props.id}_error`:""}},emits:{change:null,blur:null,focus:null},methods:{handleBlur(e){this.$emit("blur",e)},handleFocus(e){this.$emit("focus",e)},onAddHandler(e){const r=document.querySelectorAll(".k-avatar .k-avatar-image"),a=new FileReader,t=e.newState[0].getRawFile();t&&(a.onloadend=function(){r.forEach((e=>{e.querySelector("img").setAttribute("src",a.result),localStorage.setItem("avatar",a.result.toString())}))},a.readAsDataURL(t)),this.$emit("change",{value:e.newState})},onRemoveHandler(e){this.$emit("change",{value:e.newState})}}};const Br=(0,T.A)(Qr,[["render",fr],["__scopeId","data-v-4a2c0b4d"]]);var vr=Br;const Mr=[{label:"Tiger Team",value:"tiger"},{label:"Lemon Team",value:"lemon"},{label:"Organic Team",value:"organic"},{label:"Ocean Team",value:"ocean"}],Hr=[{name:"Afghanistan",code:"AF"},{name:"Åland Islands",code:"AX"},{name:"Albania",code:"AL"},{name:"Algeria",code:"DZ"},{name:"American Samoa",code:"AS"},{name:"AndorrA",code:"AD"},{name:"Angola",code:"AO"},{name:"Anguilla",code:"AI"},{name:"Antarctica",code:"AQ"},{name:"Antigua and Barbuda",code:"AG"},{name:"Argentina",code:"AR"},{name:"Armenia",code:"AM"},{name:"Aruba",code:"AW"},{name:"Australia",code:"AU"},{name:"Austria",code:"AT"},{name:"Azerbaijan",code:"AZ"},{name:"Bahamas",code:"BS"},{name:"Bahrain",code:"BH"},{name:"Bangladesh",code:"BD"},{name:"Barbados",code:"BB"},{name:"Belarus",code:"BY"},{name:"Belgium",code:"BE"},{name:"Belize",code:"BZ"},{name:"Benin",code:"BJ"},{name:"Bermuda",code:"BM"},{name:"Bhutan",code:"BT"},{name:"Bolivia",code:"BO"},{name:"Bosnia and Herzegovina",code:"BA"},{name:"Botswana",code:"BW"},{name:"Bouvet Island",code:"BV"},{name:"Brazil",code:"BR"},{name:"British Indian Ocean Territory",code:"IO"},{name:"Brunei Darussalam",code:"BN"},{name:"Bulgaria",code:"BG"},{name:"Burkina Faso",code:"BF"},{name:"Burundi",code:"BI"},{name:"Cambodia",code:"KH"},{name:"Cameroon",code:"CM"},{name:"Canada",code:"CA"},{name:"Cape Verde",code:"CV"},{name:"Cayman Islands",code:"KY"},{name:"Central African Republic",code:"CF"},{name:"Chad",code:"TD"},{name:"Chile",code:"CL"},{name:"China",code:"CN"},{name:"Christmas Island",code:"CX"},{name:"Cocos (Keeling) Islands",code:"CC"},{name:"Colombia",code:"CO"},{name:"Comoros",code:"KM"},{name:"Congo",code:"CG"},{name:"Congo, The Democratic Republic of the",code:"CD"},{name:"Cook Islands",code:"CK"},{name:"Costa Rica",code:"CR"},{name:"Cote D'Ivoire",code:"CI"},{name:"Croatia",code:"HR"},{name:"Cuba",code:"CU"},{name:"Cyprus",code:"CY"},{name:"Czech Republic",code:"CZ"},{name:"Denmark",code:"DK"},{name:"Djibouti",code:"DJ"},{name:"Dominica",code:"DM"},{name:"Dominican Republic",code:"DO"},{name:"Ecuador",code:"EC"},{name:"Egypt",code:"EG"},{name:"El Salvador",code:"SV"},{name:"Equatorial Guinea",code:"GQ"},{name:"Eritrea",code:"ER"},{name:"Estonia",code:"EE"},{name:"Ethiopia",code:"ET"},{name:"Falkland Islands (Malvinas)",code:"FK"},{name:"Faroe Islands",code:"FO"},{name:"Fiji",code:"FJ"},{name:"Finland",code:"FI"},{name:"France",code:"FR"},{name:"French Guiana",code:"GF"},{name:"French Polynesia",code:"PF"},{name:"French Southern Territories",code:"TF"},{name:"Gabon",code:"GA"},{name:"Gambia",code:"GM"},{name:"Georgia",code:"GE"},{name:"Germany",code:"DE"},{name:"Ghana",code:"GH"},{name:"Gibraltar",code:"GI"},{name:"Greece",code:"GR"},{name:"Greenland",code:"GL"},{name:"Grenada",code:"GD"},{name:"Guadeloupe",code:"GP"},{name:"Guam",code:"GU"},{name:"Guatemala",code:"GT"},{name:"Guernsey",code:"GG"},{name:"Guinea",code:"GN"},{name:"Guinea-Bissau",code:"GW"},{name:"Guyana",code:"GY"},{name:"Haiti",code:"HT"},{name:"Heard Island and Mcdonald Islands",code:"HM"},{name:"Holy See (Vatican City State)",code:"VA"},{name:"Honduras",code:"HN"},{name:"Hong Kong",code:"HK"},{name:"Hungary",code:"HU"},{name:"Iceland",code:"IS"},{name:"India",code:"IN"},{name:"Indonesia",code:"ID"},{name:"Iran, Islamic Republic Of",code:"IR"},{name:"Iraq",code:"IQ"},{name:"Ireland",code:"IE"},{name:"Isle of Man",code:"IM"},{name:"Israel",code:"IL"},{name:"Italy",code:"IT"},{name:"Jamaica",code:"JM"},{name:"Japan",code:"JP"},{name:"Jersey",code:"JE"},{name:"Jordan",code:"JO"},{name:"Kazakhstan",code:"KZ"},{name:"Kenya",code:"KE"},{name:"Kiribati",code:"KI"},{name:"Korea, Democratic People'S Republic of",code:"KP"},{name:"Korea, Republic of",code:"KR"},{name:"Kuwait",code:"KW"},{name:"Kyrgyzstan",code:"KG"},{name:"Lao People'S Democratic Republic",code:"LA"},{name:"Latvia",code:"LV"},{name:"Lebanon",code:"LB"},{name:"Lesotho",code:"LS"},{name:"Liberia",code:"LR"},{name:"Libyan Arab Jamahiriya",code:"LY"},{name:"Liechtenstein",code:"LI"},{name:"Lithuania",code:"LT"},{name:"Luxembourg",code:"LU"},{name:"Macao",code:"MO"},{name:"Macedonia, The Former Yugoslav Republic of",code:"MK"},{name:"Madagascar",code:"MG"},{name:"Malawi",code:"MW"},{name:"Malaysia",code:"MY"},{name:"Maldives",code:"MV"},{name:"Mali",code:"ML"},{name:"Malta",code:"MT"},{name:"Marshall Islands",code:"MH"},{name:"Martinique",code:"MQ"},{name:"Mauritania",code:"MR"},{name:"Mauritius",code:"MU"},{name:"Mayotte",code:"YT"},{name:"Mexico",code:"MX"},{name:"Micronesia, Federated States of",code:"FM"},{name:"Moldova, Republic of",code:"MD"},{name:"Monaco",code:"MC"},{name:"Mongolia",code:"MN"},{name:"Montserrat",code:"MS"},{name:"Morocco",code:"MA"},{name:"Mozambique",code:"MZ"},{name:"Myanmar",code:"MM"},{name:"Namibia",code:"NA"},{name:"Nauru",code:"NR"},{name:"Nepal",code:"NP"},{name:"Netherlands",code:"NL"},{name:"Netherlands Antilles",code:"AN"},{name:"New Caledonia",code:"NC"},{name:"New Zealand",code:"NZ"},{name:"Nicaragua",code:"NI"},{name:"Niger",code:"NE"},{name:"Nigeria",code:"NG"},{name:"Niue",code:"NU"},{name:"Norfolk Island",code:"NF"},{name:"Northern Mariana Islands",code:"MP"},{name:"Norway",code:"NO"},{name:"Oman",code:"OM"},{name:"Pakistan",code:"PK"},{name:"Palau",code:"PW"},{name:"Palestinian Territory, Occupied",code:"PS"},{name:"Panama",code:"PA"},{name:"Papua New Guinea",code:"PG"},{name:"Paraguay",code:"PY"},{name:"Peru",code:"PE"},{name:"Philippines",code:"PH"},{name:"Pitcairn",code:"PN"},{name:"Poland",code:"PL"},{name:"Portugal",code:"PT"},{name:"Puerto Rico",code:"PR"},{name:"Qatar",code:"QA"},{name:"Reunion",code:"RE"},{name:"Romania",code:"RO"},{name:"Russian Federation",code:"RU"},{name:"RWANDA",code:"RW"},{name:"Saint Helena",code:"SH"},{name:"Saint Kitts and Nevis",code:"KN"},{name:"Saint Lucia",code:"LC"},{name:"Saint Pierre and Miquelon",code:"PM"},{name:"Saint Vincent and the Grenadines",code:"VC"},{name:"Samoa",code:"WS"},{name:"San Marino",code:"SM"},{name:"Sao Tome and Principe",code:"ST"},{name:"Saudi Arabia",code:"SA"},{name:"Senegal",code:"SN"},{name:"Serbia and Montenegro",code:"CS"},{name:"Seychelles",code:"SC"},{name:"Sierra Leone",code:"SL"},{name:"Singapore",code:"SG"},{name:"Slovakia",code:"SK"},{name:"Slovenia",code:"SI"},{name:"Solomon Islands",code:"SB"},{name:"Somalia",code:"SO"},{name:"South Africa",code:"ZA"},{name:"South Georgia and the South Sandwich Islands",code:"GS"},{name:"Spain",code:"ES"},{name:"Sri Lanka",code:"LK"},{name:"Sudan",code:"SD"},{name:"Suriname",code:"SR"},{name:"Svalbard and Jan Mayen",code:"SJ"},{name:"Swaziland",code:"SZ"},{name:"Sweden",code:"SE"},{name:"Switzerland",code:"CH"},{name:"Syrian Arab Republic",code:"SY"},{name:"Taiwan, Province of China",code:"TW"},{name:"Tajikistan",code:"TJ"},{name:"Tanzania, United Republic of",code:"TZ"},{name:"Thailand",code:"TH"},{name:"Timor-Leste",code:"TL"},{name:"Togo",code:"TG"},{name:"Tokelau",code:"TK"},{name:"Tonga",code:"TO"},{name:"Trinidad and Tobago",code:"TT"},{name:"Tunisia",code:"TN"},{name:"Turkey",code:"TR"},{name:"Turkmenistan",code:"TM"},{name:"Turks and Caicos Islands",code:"TC"},{name:"Tuvalu",code:"TV"},{name:"Uganda",code:"UG"},{name:"Ukraine",code:"UA"},{name:"United Arab Emirates",code:"AE"},{name:"United Kingdom",code:"GB"},{name:"United States",code:"US"},{name:"United States Minor Outlying Islands",code:"UM"},{name:"Uruguay",code:"UY"},{name:"Uzbekistan",code:"UZ"},{name:"Vanuatu",code:"VU"},{name:"Venezuela",code:"VE"},{name:"Viet Nam",code:"VN"},{name:"Virgin Islands, British",code:"VG"},{name:"Virgin Islands, U.S.",code:"VI"},{name:"Wallis and Futuna",code:"WF"},{name:"Western Sahara",code:"EH"},{name:"Yemen",code:"YE"},{name:"Zambia",code:"ZM"},{name:"Zimbabwe",code:"ZW"}];var Pr=a(2923);const jr=new RegExp(/\S+@\S+\.\S+/),Rr=new RegExp(/^[0-9 ()+-]+$/),Or=e=>e?jr.test(e)?"":"Email is not in a valid format.":"Error: Email field is required.",wr=e=>e?e.length<2?"First Name should be at least 2 characters long.":"":"Error: First Name is required",Fr=e=>e?e.length<2?"Last Name should be at least 2 characters long.":"":"Error: Last Name is required",zr=e=>e?Rr.test(e)?"":"Not a valid phone number.":"Phone number is required.",Wr=e=>e?"":"Error: This field is required.";(0,Pr.oK)("username"),(0,Pr.oK)("email");var Lr={components:{field:Ke.D0,"form-element":Ke.ZS,forminput:tr,formmaskedtextbox:ir,formautocomplete:Dr,formtextarea:Ir,formradiogroup:Er,formupload:vr,KButton:Ae.$n},inject:{kendoForm:{default:{}},kendoLocalizationService:{default:null}},data:function(){return{countries:Hr,teams:Mr,emailValidator:Or,phoneValidator:zr,requiredValidator:Wr,firstNameValidator:wr,lastNameValidator:Fr}},computed:{firstNameMessage(){return(0,E.GB)(this).toLanguageString("firstName","First Name")},lastNameMessage(){return(0,E.GB)(this).toLanguageString("lastName","Last Name")},emailMessage(){return(0,E.GB)(this).toLanguageString("email","Email")},phoneNumberMessage(){return(0,E.GB)(this).toLanguageString("phoneNumber","Phone Number")},countryMessage(){return(0,E.GB)(this).toLanguageString("country","Country")},biographyMessage(){return(0,E.GB)(this).toLanguageString("biography","Biography")},teamMessage(){return(0,E.GB)(this).toLanguageString("team","Team")},cancelMessage(){return(0,E.GB)(this).toLanguageString("cancel","Cancel")},saveChangesMessage(){return(0,E.GB)(this).toLanguageString("saveChanges","Save Changes")}},methods:{clear(){this.kendoForm.onFormReset()}}};const Gr=(0,T.A)(Lr,[["render",Ye],["__scopeId","data-v-ff4a2cb8"]]);var xr=Gr,Vr={components:{"k-form":Ke.lV,formcontent:xr},data(){return{formValues:{avatar:[],firstName:"Peter",lastName:"Douglas",email:"peter.douglas@progress.com",phoneNumber:"(+1) 8373-837-93-02",countryselected:"Bulgaria",biography:null,team:"lemon"}}},created(){this.setFormValues()},mounted(){this.setAvatar()},methods:{handleSubmit(e){alert(JSON.stringify(e,null,2));const r=JSON.stringify(e,null,2);localStorage.setItem("form",r)},setAvatar(){const e=document.querySelectorAll(".k-avatar .k-avatar-image"),r=localStorage.getItem("avatar");r&&e.forEach((e=>{e.querySelector("img").setAttribute("src",r)}))},setFormValues(){const e=localStorage.getItem("form");e&&(this.formValues=JSON.parse(e))}}};const Kr=(0,T.A)(Vr,[["render",Ve]]);var Xr=Kr;const Ur=e=>((0,o.Qi)("data-v-67888aa6"),e=e(),(0,o.jt)(),e),Jr={class:"card-header-wrapper"},Zr={class:"card-title"},Yr={class:"card-ranges"},_r=Ur((()=>(0,o.Lk)("span",null," - ",-1))),$r={key:0},ea=Ur((()=>(0,o.Lk)("br",null,null,-1))),ra={class:"chart-tooltip"},aa={key:1},ta=Ur((()=>(0,o.Lk)("br",null,null,-1))),oa={class:"chart-tooltip"};function da(e,r,a,t,d,n){const m=(0,o.g2)("k-button"),i=(0,o.g2)("buttongroup"),u=(0,o.g2)("datepicker"),s=(0,o.g2)("ChartTooltip"),l=(0,o.g2)("ChartLegend"),D=(0,o.g2)("ChartCategoryAxisItem"),A=(0,o.g2)("ChartCategoryAxis"),p=(0,o.g2)("ChartSeriesItem"),N=(0,o.g2)("ChartSeries"),C=(0,o.g2)("Chart");return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("div",Jr,[(0,o.Lk)("h3",Zr,(0,c.v_)(n.teamEfficiencyMessage),1),(0,o.bF)(i,null,{default:(0,o.k6)((()=>[(0,o.bF)(m,{togglable:!0,onClick:r[0]||(r[0]=e=>n.buttonGroupClick(e,0)),selected:0===e.selectedIndex},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(n.trendMessage),1)])),_:1},8,["selected"]),(0,o.bF)(m,{togglable:!0,onClick:r[1]||(r[1]=e=>n.buttonGroupClick(e,1)),selected:1===e.selectedIndex},{default:(0,o.k6)((()=>[(0,o.eW)((0,c.v_)(n.volumeMessage),1)])),_:1},8,["selected"])])),_:1}),(0,o.Lk)("div",Yr,[(0,o.bF)(u,{style:{width:"130px"},value:e.dateRange.start,onChange:n.onFromDateChange},null,8,["value","onChange"]),_r,(0,o.bF)(u,{style:{width:"130px"},value:e.dateRange.end,onChange:n.onToDateChange},null,8,["value","onChange"])])]),0===e.selectedIndex?((0,o.uX)(),(0,o.CE)("div",$r,[(0,o.bF)(C,null,{default:(0,o.k6)((()=>[(0,o.bF)(s,{render:e.myToolTipTemplate},{myToolTipTemplate:(0,o.k6)((({props:r={point:{}}})=>[(0,o.Lk)("div",null,[(0,o.eW)((0,c.v_)(e.provideIntlService(this).formatDate(r.point.category,"MMMM yyyy").toUpperCase())+" ",1),ea,(0,o.Lk)("div",ra,(0,c.v_)(e.provideIntlService(this).formatNumber(r.point.value,"n3")),1)])])),_:1},8,["render"]),(0,o.bF)(l,{position:"bottom",orientation:"horizontal",background:"#f4f5f8",spacing:140,padding:{left:80,right:80}}),(0,o.bF)(A,null,{default:(0,o.k6)((()=>[(0,o.bF)(D,{labels:{format:"MMMM yyyy",rotation:"auto"},"base-unit":"months",min:e.dateRange.start,max:e.dateRange.end,categories:e.categories},null,8,["min","max","categories"])])),_:1}),(0,o.bF)(N,null,{default:(0,o.k6)((()=>[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(e.series,((e,r)=>((0,o.uX)(),(0,o.Wv)(p,{key:r,type:"line","data-items":e.data,name:e.name},null,8,["data-items","name"])))),128))])),_:1})])),_:1})])):((0,o.uX)(),(0,o.CE)("div",aa,[(0,o.bF)(C,null,{default:(0,o.k6)((()=>[(0,o.bF)(s,{render:e.myToolTipLineTemplate},{myToolTipLineTemplate:(0,o.k6)((({props:r={point:{}}})=>[(0,o.Lk)("div",null,[(0,o.eW)((0,c.v_)(e.provideIntlService(this).formatDate(r.point.category,"MMMM yyyy").toUpperCase())+" ",1),ta,(0,o.Lk)("div",oa,(0,c.v_)(e.provideIntlService(this).formatNumber(r.point.value,"n3")),1)])])),_:1},8,["render"]),(0,o.bF)(l,{position:"bottom",orientation:"horizontal",background:"#f4f5f8",spacing:140,padding:{left:80,right:80}}),(0,o.bF)(A,null,{default:(0,o.k6)((()=>[(0,o.bF)(D,{labels:{format:"MMMM yyyy",rotation:"auto"},"base-unit":"months",min:e.dateRange.start,max:e.dateRange.end,categories:e.categories},null,8,["min","max","categories"])])),_:1}),(0,o.bF)(N,null,{default:(0,o.k6)((()=>[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)(e.series,((e,r)=>((0,o.uX)(),(0,o.Wv)(p,{key:r,type:"column","data-items":e.data,color:e.color,name:e.name},null,8,["data-items","color","name"])))),128))])),_:1})])),_:1})]))])}var na=a(1969);const ma=[{orderID:10255,orderDate:15313428e5,orderTotal:2490.5,customerCompanyName:"Richter Supermarkt",customerContactName:"Michael Holz",requiredDateStart:15338214e5,requiredDateEnd:15338268e5,teamID:4},{orderID:10263,orderDate:15322932e5,orderTotal:1873.8,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15347664e5,requiredDateEnd:15347718e5,teamID:4},{orderID:10324,orderDate:1538946e6,orderTotal:5275.715,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15414156e5,requiredDateEnd:1541421e6,teamID:4},{orderID:10331,orderDate:15396372e5,orderTotal:88.5,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15433128e5,requiredDateEnd:15433164e5,teamID:4},{orderID:10386,orderDate:1545084e6,orderTotal:166,customerCompanyName:"Familia Arquibaldo",customerContactName:"Aria Cruz",requiredDateStart:15463476e5,requiredDateEnd:1546353e6,teamID:4},{orderID:10411,orderDate:15470712e5,orderTotal:966.8,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:154953e7,requiredDateEnd:15495336e5,teamID:4},{orderID:10475,orderDate:15525144e5,orderTotal:1505.18,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:15549894e5,requiredDateEnd:15549912e5,teamID:4},{orderID:10501,orderDate:15547572e5,orderTotal:149,customerCompanyName:"Blauer See Delikatessen",customerContactName:"Hanna Moos",requiredDateStart:15572286e5,requiredDateEnd:15572322e5,teamID:4},{orderID:10506,orderDate:15552756e5,orderTotal:415.8,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15577488e5,requiredDateEnd:15577542e5,teamID:4},{orderID:10538,orderDate:15578676e5,orderTotal:139.8,customerCompanyName:"B's Beverages",customerContactName:"Victoria Ashworth",requiredDateStart:15603372e5,requiredDateEnd:15603426e5,teamID:4},{orderID:10557,orderDate:15595092e5,orderTotal:1152.5,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:1560771e6,requiredDateEnd:15607728e5,teamID:4},{orderID:10566,orderDate:15602868e5,orderTotal:1761,customerCompanyName:"Blondesddsl père et fils",customerContactName:"Frédérique Citeaux",requiredDateStart:15627582e5,requiredDateEnd:15627618e5,teamID:4},{orderID:10577,orderDate:15612372e5,orderTotal:569,customerCompanyName:"Trail's Head Gourmet Provisioners",customerContactName:"Helvetius Nagy",requiredDateStart:15649074e5,requiredDateEnd:1564911e6,teamID:4},{orderID:10586,orderDate:15620148e5,orderTotal:23.8,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:15644736e5,requiredDateEnd:15644772e5,teamID:4},{orderID:10646,orderDate:15668532e5,orderTotal:1446,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15705342e5,requiredDateEnd:15705378e5,teamID:4},{orderID:10672,orderDate:15686676e5,orderTotal:3815.25,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15699258e5,requiredDateEnd:15699276e5,teamID:4},{orderID:10687,orderDate:15697908e5,orderTotal:4960.9,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15722712e5,requiredDateEnd:1572273e6,teamID:4},{orderID:10705,orderDate:15710868e5,orderTotal:378,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:1573569e6,requiredDateEnd:15735744e5,teamID:4},{orderID:10736,orderDate:15734232e5,orderTotal:997,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15758928e5,requiredDateEnd:15758946e5,teamID:4},{orderID:10745,orderDate:1574028e6,orderTotal:4529.8,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15764886e5,requiredDateEnd:15764922e5,teamID:4},{orderID:10750,orderDate:15742872e5,orderTotal:1590.5625,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15767658e5,requiredDateEnd:15767712e5,teamID:4},{orderID:10771,orderDate:15759288e5,orderTotal:344,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:1578402e6,requiredDateEnd:15784074e5,teamID:4},{orderID:10782,orderDate:15765336e5,orderTotal:12.5,customerCompanyName:"Cactus Comidas para llevar",customerContactName:"Patricio Simpson",requiredDateStart:15790104e5,requiredDateEnd:15790158e5,teamID:4},{orderID:10799,orderDate:15773112e5,orderTotal:1553.5,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15809832e5,requiredDateEnd:1580985e6,teamID:4},{orderID:10828,orderDate:15788664e5,orderTotal:932,customerCompanyName:"Rancho grande",customerContactName:"Sergio Gutiérrez",requiredDateStart:15801336e5,requiredDateEnd:1580139e6,teamID:4},{orderID:10829,orderDate:15788664e5,orderTotal:1764,customerCompanyName:"Island Trading",customerContactName:"Helen Bennett",requiredDateStart:15813324e5,requiredDateEnd:15813342e5,teamID:4},{orderID:10837,orderDate:15791256e5,orderTotal:1064.5,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15815952e5,requiredDateEnd:15816006e5,teamID:4},{orderID:10849,orderDate:15797304e5,orderTotal:967.819,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15822018e5,requiredDateEnd:15822072e5,teamID:4},{orderID:10853,orderDate:1580076e6,orderTotal:625,customerCompanyName:"Blauer See Delikatessen",customerContactName:"Hanna Moos",requiredDateStart:1582551e6,requiredDateEnd:15825546e5,teamID:4},{orderID:10871,orderDate:15808536e5,orderTotal:1979.23,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15834024e5,requiredDateEnd:15834042e5,teamID:4},{orderID:10889,orderDate:1581804e6,orderTotal:11380,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15843618e5,requiredDateEnd:15843672e5,teamID:4},{orderID:10893,orderDate:15819768e5,orderTotal:5502.11,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:158454e7,requiredDateEnd:15845418e5,teamID:4},{orderID:10905,orderDate:15824952e5,orderTotal:342,customerCompanyName:"Wellington Importadora",customerContactName:"Paula Parente",requiredDateStart:1585053e6,requiredDateEnd:15850584e5,teamID:4},{orderID:10942,orderDate:15838776e5,orderTotal:560,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:15863328e5,requiredDateEnd:15863346e5,teamID:4},{orderID:10951,orderDate:15843096e5,orderTotal:458.755,customerCompanyName:"Richter Supermarkt",customerContactName:"Michael Holz",requiredDateStart:1587978e6,requiredDateEnd:15879798e5,teamID:4},{orderID:10953,orderDate:15843096e5,orderTotal:4441.25,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:15855606e5,requiredDateEnd:15855624e5,teamID:4},{orderID:10963,orderDate:15845688e5,orderTotal:57.8,customerCompanyName:"Furia Bacalhau e Frutos do Mar",customerContactName:"Lino Rodriguez",requiredDateStart:15870438e5,requiredDateEnd:15870456e5,teamID:4},{orderID:10970,orderDate:15850008e5,orderTotal:224,customerCompanyName:"Bólido Comidas preparadas",customerContactName:"Martín Sommer",requiredDateStart:15862464e5,requiredDateEnd:15862482e5,teamID:4},{orderID:10978,orderDate:15851736e5,orderTotal:1303.195,customerCompanyName:"Maison Dewey",customerContactName:"Catherine Dewey",requiredDateStart:15876396e5,requiredDateEnd:1587645e6,teamID:4},{orderID:11016,orderDate:1586466e6,orderTotal:491.5,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:15889248e5,requiredDateEnd:15889266e5,teamID:4},{orderID:11017,orderDate:15867252e5,orderTotal:6750,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15891966e5,requiredDateEnd:15891984e5,teamID:4},{orderID:11022,orderDate:15868116e5,orderTotal:1402,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:1589283e6,requiredDateEnd:15892866e5,teamID:4},{orderID:11058,orderDate:15881076e5,orderTotal:858,customerCompanyName:"Blauer See Delikatessen",customerContactName:"Hanna Moos",requiredDateStart:15905862e5,requiredDateEnd:1590588e6,teamID:4},{orderID:10262,orderDate:15322068e5,orderTotal:584,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15346728e5,requiredDateEnd:15346764e5,teamID:4},{orderID:10268,orderDate:1532898e6,orderTotal:1101.2,customerCompanyName:"GROSELLA-Restaurante",customerContactName:"Manuel Pereira",requiredDateStart:15353694e5,requiredDateEnd:15353712e5,teamID:4},{orderID:10276,orderDate:15336756e5,orderTotal:420,customerCompanyName:"Tortuga Restaurante",customerContactName:"Miguel Angel Paolino",requiredDateStart:15349284e5,requiredDateEnd:15349302e5,teamID:4},{orderID:10278,orderDate:15340212e5,orderTotal:1488.8,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15364944e5,requiredDateEnd:1536498e6,teamID:4},{orderID:10279,orderDate:15341076e5,orderTotal:351,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:15365682e5,requiredDateEnd:15365718e5,teamID:4},{orderID:10286,orderDate:15347988e5,orderTotal:3016,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15372612e5,requiredDateEnd:15372648e5,teamID:4},{orderID:10287,orderDate:15348852e5,orderTotal:819,customerCompanyName:"Ricardo Adocicados",customerContactName:"Janete Limeira",requiredDateStart:15373512e5,requiredDateEnd:15373566e5,teamID:4},{orderID:10290,orderDate:15353172e5,orderTotal:2169,customerCompanyName:"Comércio Mineiro",customerContactName:"Pedro Afonso",requiredDateStart:1537776e6,requiredDateEnd:15377814e5,teamID:4},{orderID:10301,orderDate:15364404e5,orderTotal:755,customerCompanyName:"Die Wandernde Kuh",customerContactName:"Rita Müller",requiredDateStart:1538919e6,requiredDateEnd:15389226e5,teamID:4},{orderID:10305,orderDate:1536786e6,orderTotal:3741.3,customerCompanyName:"Old World Delicatessen",customerContactName:"Rene Phillips",requiredDateStart:15392484e5,requiredDateEnd:15392502e5,teamID:4},{orderID:10310,orderDate:15373908e5,orderTotal:336,customerCompanyName:"The Big Cheese",customerContactName:"Liz Nixon",requiredDateStart:15398658e5,requiredDateEnd:15398694e5,teamID:4},{orderID:10318,orderDate:15383412e5,orderTotal:240.4,customerCompanyName:"Island Trading",customerContactName:"Helen Bennett",requiredDateStart:15408108e5,requiredDateEnd:15408162e5,teamID:4},{orderID:10334,orderDate:15400692e5,orderTotal:144.8,customerCompanyName:"Victuailles en stock",customerContactName:"Mary Saveley",requiredDateStart:15425496e5,requiredDateEnd:1542555e6,teamID:4},{orderID:10354,orderDate:15421464e5,orderTotal:568.8,customerCompanyName:"Pericles Comidas clásicas",customerContactName:"Guillermo Fernández",requiredDateStart:15446214e5,requiredDateEnd:1544625e6,teamID:4},{orderID:10366,orderDate:1543356e6,orderTotal:136,customerCompanyName:"Galería del gastrónomo",customerContactName:"Eduardo Saavedra",requiredDateStart:15470334e5,requiredDateEnd:1547037e6,teamID:4},{orderID:10369,orderDate:15437016e5,orderTotal:2390.4,customerCompanyName:"Split Rail Beer & Ale",customerContactName:"Art Braunschweiger",requiredDateStart:15461802e5,requiredDateEnd:1546182e6,teamID:4},{orderID:10380,orderDate:15445656e5,orderTotal:1313.82,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15470442e5,requiredDateEnd:1547046e6,teamID:4},{orderID:10383,orderDate:15449112e5,orderTotal:899,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:15473898e5,requiredDateEnd:15473952e5,teamID:4},{orderID:10399,orderDate:15462072e5,orderTotal:1765.6,customerCompanyName:"Vaffeljernet",customerContactName:"Palle Ibsen",requiredDateStart:15474582e5,requiredDateEnd:15474636e5,teamID:4},{orderID:10402,orderDate:154638e7,orderTotal:2713.5,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15500592e5,requiredDateEnd:15500646e5,teamID:4},{orderID:10408,orderDate:15468984e5,orderTotal:1622.4,customerCompanyName:"Folies gourmandes",customerContactName:"Martine Rancé",requiredDateStart:15493698e5,requiredDateEnd:15493734e5,teamID:4},{orderID:10412,orderDate:15473304e5,orderTotal:334.8,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15497892e5,requiredDateEnd:1549791e6,teamID:4},{orderID:10416,orderDate:15475896e5,orderTotal:720,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15500646e5,requiredDateEnd:15500682e5,teamID:4},{orderID:10421,orderDate:15480216e5,orderTotal:1194.27,customerCompanyName:"Que Delícia",customerContactName:"Bernardo Batista",requiredDateStart:15517098e5,requiredDateEnd:15517134e5,teamID:4},{orderID:10435,orderDate:15492312e5,orderTotal:631.6,customerCompanyName:"Consolidated Holdings",customerContactName:"Elizabeth Brown",requiredDateStart:15528996e5,requiredDateEnd:1552905e6,teamID:4},{orderID:10437,orderDate:15493176e5,orderTotal:393,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15517818e5,requiredDateEnd:15517872e5,teamID:4},{orderID:10443,orderDate:15499224e5,orderTotal:517.44,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:15523974e5,requiredDateEnd:15524028e5,teamID:4},{orderID:10450,orderDate:15505272e5,orderTotal:425.12,customerCompanyName:"Victuailles en stock",customerContactName:"Mary Saveley",requiredDateStart:15529914e5,requiredDateEnd:15529968e5,teamID:4},{orderID:10452,orderDate:15506136e5,orderTotal:2018.5,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15530922e5,requiredDateEnd:1553094e6,teamID:4},{orderID:10455,orderDate:15509592e5,orderTotal:2684,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15546366e5,requiredDateEnd:1554642e6,teamID:4},{orderID:10456,orderDate:15510456e5,orderTotal:557.6,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15547302e5,requiredDateEnd:15547356e5,teamID:4},{orderID:10460,orderDate:15513048e5,orderTotal:176.1,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15537816e5,requiredDateEnd:15537852e5,teamID:4},{orderID:10467,orderDate:15518232e5,orderTotal:235.2,customerCompanyName:"Magazzini Alimentari Riuniti",customerContactName:"Giovanni Rovelli",requiredDateStart:1554291e6,requiredDateEnd:15542928e5,teamID:4},{orderID:10472,orderDate:15523416e5,orderTotal:1036.8,customerCompanyName:"Seven Seas Imports",customerContactName:"Hari Kumar",requiredDateStart:15547968e5,requiredDateEnd:15547986e5,teamID:4},{orderID:10476,orderDate:15527736e5,orderTotal:180.48,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15552324e5,requiredDateEnd:15552342e5,teamID:4},{orderID:10481,orderDate:15530328e5,orderTotal:1472,customerCompanyName:"Ricardo Adocicados",customerContactName:"Janete Limeira",requiredDateStart:15554934e5,requiredDateEnd:15554988e5,teamID:4},{orderID:10488,orderDate:15536376e5,orderTotal:1512,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:1556109e6,requiredDateEnd:15561144e5,teamID:4},{orderID:10491,orderDate:15539832e5,orderTotal:259.505,customerCompanyName:"Furia Bacalhau e Frutos do Mar",customerContactName:"Lino Rodriguez",requiredDateStart:1556442e6,requiredDateEnd:15564456e5,teamID:4},{orderID:10498,orderDate:15545844e5,orderTotal:575,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15570594e5,requiredDateEnd:1557063e6,teamID:4},{orderID:10521,orderDate:15564852e5,orderTotal:225.5,customerCompanyName:"Cactus Comidas para llevar",customerContactName:"Patricio Simpson",requiredDateStart:15589638e5,requiredDateEnd:15589656e5,teamID:4},{orderID:10533,orderDate:15576084e5,orderTotal:2222.2,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15600672e5,requiredDateEnd:15600726e5,teamID:4},{orderID:10534,orderDate:15576084e5,orderTotal:465.7,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:15600762e5,requiredDateEnd:1560078e6,teamID:4},{orderID:10543,orderDate:1558386e6,orderTotal:1504.5,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15608502e5,requiredDateEnd:15608556e5,teamID:4},{orderID:10545,orderDate:15584724e5,orderTotal:210,customerCompanyName:"Lazy K Kountry Store",customerContactName:"John Steel",requiredDateStart:15609312e5,requiredDateEnd:15609366e5,teamID:4},{orderID:10560,orderDate:15597684e5,orderTotal:1072.425,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:1562238e6,requiredDateEnd:15622398e5,teamID:4},{orderID:10565,orderDate:15602004e5,orderTotal:639.9,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:156267e7,requiredDateEnd:15626736e5,teamID:4},{orderID:10571,orderDate:15607188e5,orderTotal:550.5875,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15643962e5,requiredDateEnd:15643998e5,teamID:4},{orderID:10589,orderDate:15621876e5,orderTotal:72,customerCompanyName:"Great Lakes Food Market",customerContactName:"Howard Snyder",requiredDateStart:15646482e5,requiredDateEnd:156465e7,teamID:4},{orderID:10596,orderDate:15627924e5,orderTotal:1180.88,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:15652656e5,requiredDateEnd:15652692e5,teamID:4},{orderID:10602,orderDate:15633108e5,orderTotal:48.75,customerCompanyName:"Vaffeljernet",customerContactName:"Palle Ibsen",requiredDateStart:15657804e5,requiredDateEnd:15657858e5,teamID:4},{orderID:10603,orderDate:15633972e5,orderTotal:1483,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15658614e5,requiredDateEnd:15658668e5,teamID:4},{orderID:10610,orderDate:1564002e6,orderTotal:299.25,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15664734e5,requiredDateEnd:1566477e6,teamID:4},{orderID:10614,orderDate:15643476e5,orderTotal:464,customerCompanyName:"Blauer See Delikatessen",customerContactName:"Hanna Moos",requiredDateStart:156681e7,requiredDateEnd:15668154e5,teamID:4},{orderID:10623,orderDate:15651252e5,orderTotal:1336.95,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:15675966e5,requiredDateEnd:15676002e5,teamID:4},{orderID:10627,orderDate:15654708e5,orderTotal:1185.75,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:1569141e6,requiredDateEnd:15691446e5,teamID:4},{orderID:10631,orderDate:156573e7,orderTotal:55.8,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15682086e5,requiredDateEnd:15682122e5,teamID:4},{orderID:10632,orderDate:156573e7,orderTotal:589,customerCompanyName:"Die Wandernde Kuh",customerContactName:"Rita Müller",requiredDateStart:1568205e6,requiredDateEnd:15682068e5,teamID:4},{orderID:10635,orderDate:15660756e5,orderTotal:1326.225,customerCompanyName:"Magazzini Alimentari Riuniti",customerContactName:"Giovanni Rovelli",requiredDateStart:15685362e5,requiredDateEnd:15685416e5,teamID:4},{orderID:10651,orderDate:15672852e5,orderTotal:397.8,customerCompanyName:"Die Wandernde Kuh",customerContactName:"Rita Müller",requiredDateStart:15697584e5,requiredDateEnd:1569762e6,teamID:4},{orderID:10660,orderDate:156789e7,orderTotal:1701,customerCompanyName:"Hungry Coyote Import Store",customerContactName:"Yoshi Latimer",requiredDateStart:15703488e5,requiredDateEnd:15703506e5,teamID:4},{orderID:10679,orderDate:1569186e6,orderTotal:660,customerCompanyName:"Blondesddsl père et fils",customerContactName:"Frédérique Citeaux",requiredDateStart:15716484e5,requiredDateEnd:15716502e5,teamID:4},{orderID:10694,orderDate:15703092e5,orderTotal:4825,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:1572786e6,requiredDateEnd:15727878e5,teamID:4},{orderID:10696,orderDate:1570482e6,orderTotal:996,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:15741666e5,requiredDateEnd:1574172e6,teamID:4},{orderID:10706,orderDate:15711732e5,orderTotal:1893,customerCompanyName:"Old World Delicatessen",customerContactName:"Rene Phillips",requiredDateStart:15736536e5,requiredDateEnd:1573659e6,teamID:4},{orderID:10719,orderDate:15721236e5,orderTotal:844.2525,customerCompanyName:"Let's Stop N Shop",customerContactName:"Jaime Yorres",requiredDateStart:15745986e5,requiredDateEnd:15746022e5,teamID:4},{orderID:10720,orderDate:15722136e5,orderTotal:550,customerCompanyName:"Que Delícia",customerContactName:"Bernardo Batista",requiredDateStart:15734736e5,requiredDateEnd:15734772e5,teamID:4},{orderID:10722,orderDate:15723e8,orderTotal:1570,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15759792e5,requiredDateEnd:1575981e6,teamID:4},{orderID:10724,orderDate:15723864e5,orderTotal:638.5,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:15760728e5,requiredDateEnd:15760782e5,teamID:4},{orderID:10729,orderDate:15728184e5,orderTotal:1850,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:15764904e5,requiredDateEnd:15764958e5,teamID:4},{orderID:10756,orderDate:15748056e5,orderTotal:1990,customerCompanyName:"Split Rail Beer & Ale",customerContactName:"Art Braunschweiger",requiredDateStart:15772752e5,requiredDateEnd:1577277e6,teamID:4},{orderID:10770,orderDate:15758424e5,orderTotal:236.25,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:1578303e6,requiredDateEnd:15783048e5,teamID:4},{orderID:10786,orderDate:15767064e5,orderTotal:1531.08,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:15791778e5,requiredDateEnd:15791832e5,teamID:4},{orderID:10795,orderDate:15771384e5,orderTotal:2158,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15796098e5,requiredDateEnd:15796134e5,teamID:4},{orderID:10811,orderDate:1577916e6,orderTotal:852,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:15803766e5,requiredDateEnd:15803802e5,teamID:4},{orderID:10824,orderDate:15785208e5,orderTotal:250.8,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:1580994e6,requiredDateEnd:15809958e5,teamID:4},{orderID:10844,orderDate:15795576e5,orderTotal:735,customerCompanyName:"Piccolo und mehr",customerContactName:"Georg Pipps",requiredDateStart:15820182e5,requiredDateEnd:15820218e5,teamID:4},{orderID:10845,orderDate:15795576e5,orderTotal:3812.7,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15808266e5,requiredDateEnd:1580832e6,teamID:4},{orderID:10852,orderDate:15799896e5,orderTotal:2984,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15812586e5,requiredDateEnd:1581264e6,teamID:4},{orderID:10857,orderDate:15801624e5,orderTotal:2048.2125,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:1582632e6,requiredDateEnd:15826374e5,teamID:4},{orderID:10862,orderDate:15803352e5,orderTotal:581,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:15841008e5,requiredDateEnd:15841026e5,teamID:4},{orderID:10883,orderDate:15814584e5,orderTotal:36,customerCompanyName:"Lonesome Pine Restaurant",customerContactName:"Fran Wilson",requiredDateStart:15840126e5,requiredDateEnd:1584018e6,teamID:4},{orderID:10887,orderDate:15815448e5,orderTotal:70,customerCompanyName:"Galería del gastrónomo",customerContactName:"Eduardo Saavedra",requiredDateStart:15840954e5,requiredDateEnd:15840972e5,teamID:4},{orderID:10932,orderDate:15834456e5,orderTotal:1788.63,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15859116e5,requiredDateEnd:1585917e6,teamID:4},{orderID:10940,orderDate:15838776e5,orderTotal:360,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15863346e5,requiredDateEnd:15863364e5,teamID:4},{orderID:10955,orderDate:1584396e6,orderTotal:74.4,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:1586871e6,requiredDateEnd:15868728e5,teamID:4},{orderID:10957,orderDate:15844824e5,orderTotal:1762.7,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15869448e5,requiredDateEnd:15869484e5,teamID:4},{orderID:10961,orderDate:15845688e5,orderTotal:1119.9,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:15870312e5,requiredDateEnd:1587033e6,teamID:4},{orderID:10962,orderDate:15845688e5,orderTotal:3584,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15870384e5,requiredDateEnd:15870438e5,teamID:4},{orderID:10977,orderDate:15851736e5,orderTotal:2233,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15876342e5,requiredDateEnd:1587636e6,teamID:4},{orderID:10979,orderDate:15851736e5,orderTotal:4813.5,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15876396e5,requiredDateEnd:15876432e5,teamID:4},{orderID:10986,orderDate:15855156e5,orderTotal:2220,customerCompanyName:"Océano Atlántico Ltda.",customerContactName:"Yvonne Moncada",requiredDateStart:15879798e5,requiredDateEnd:15879834e5,teamID:4},{orderID:10987,orderDate:1585602e6,orderTotal:2772,customerCompanyName:"Eastern Connection",customerContactName:"Ann Devon",requiredDateStart:15880608e5,requiredDateEnd:15880644e5,teamID:4},{orderID:10997,orderDate:15858612e5,orderTotal:1885,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15895422e5,requiredDateEnd:15895476e5,teamID:4},{orderID:10998,orderDate:15858612e5,orderTotal:686,customerCompanyName:"Wolski Zajazd",customerContactName:"Zbyszek Piestrzeniewicz",requiredDateStart:15871212e5,requiredDateEnd:1587123e6,teamID:4},{orderID:11007,orderDate:15862932e5,orderTotal:2633.9,customerCompanyName:"Princesa Isabel Vinhos",customerContactName:"Isabel de Castro",requiredDateStart:15887592e5,requiredDateEnd:15887646e5,teamID:4},{orderID:11034,orderDate:158733e7,orderTotal:539.4,customerCompanyName:"Old World Delicatessen",customerContactName:"Rene Phillips",requiredDateStart:15910164e5,requiredDateEnd:15910218e5,teamID:4},{orderID:11036,orderDate:158733e7,orderTotal:1692,customerCompanyName:"Drachenblut Delikatessen",customerContactName:"Sven Ottlieb",requiredDateStart:15897942e5,requiredDateEnd:15897978e5,teamID:4},{orderID:11046,orderDate:15875892e5,orderTotal:1485.8,customerCompanyName:"Die Wandernde Kuh",customerContactName:"Rita Müller",requiredDateStart:1590066e6,requiredDateEnd:15900678e5,teamID:4},{orderID:11050,orderDate:15879348e5,orderTotal:810,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15904044e5,requiredDateEnd:15904098e5,teamID:4},{orderID:11054,orderDate:15880212e5,orderTotal:305,customerCompanyName:"Cactus Comidas para llevar",customerContactName:"Patricio Simpson",requiredDateStart:1590498e6,requiredDateEnd:15904998e5,teamID:4},{orderID:11056,orderDate:15880212e5,orderTotal:3740,customerCompanyName:"Eastern Connection",customerContactName:"Ann Devon",requiredDateStart:15892704e5,requiredDateEnd:1589274e6,teamID:4},{orderID:11065,orderDate:15882804e5,orderTotal:189.42,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15907554e5,requiredDateEnd:15907572e5,teamID:4},{orderID:11068,orderDate:15885396e5,orderTotal:2027.08,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:1591011e6,requiredDateEnd:15910164e5,teamID:4},{orderID:11075,orderDate:15887124e5,orderTotal:498.1,customerCompanyName:"Richter Supermarkt",customerContactName:"Michael Holz",requiredDateStart:15911802e5,requiredDateEnd:15911856e5,teamID:4},{orderID:10289,orderDate:15352308e5,orderTotal:479.4,customerCompanyName:"B's Beverages",customerContactName:"Victoria Ashworth",requiredDateStart:15376986e5,requiredDateEnd:1537704e6,teamID:3},{orderID:10303,orderDate:15366132e5,orderTotal:1117.8,customerCompanyName:"Godos Cocina Típica",customerContactName:"José Pedro Freyre",requiredDateStart:153909e7,requiredDateEnd:15390936e5,teamID:3},{orderID:10308,orderDate:1537218e6,orderTotal:88.8,customerCompanyName:"Ana Trujillo Emparedados y helados",customerContactName:"Ana Trujillo",requiredDateStart:15396966e5,requiredDateEnd:1539702e6,teamID:3},{orderID:10319,orderDate:15384276e5,orderTotal:1191.2,customerCompanyName:"Tortuga Restaurante",customerContactName:"Miguel Angel Paolino",requiredDateStart:15409098e5,requiredDateEnd:15409152e5,teamID:3},{orderID:10322,orderDate:15386004e5,orderTotal:112,customerCompanyName:"Pericles Comidas clásicas",customerContactName:"Guillermo Fernández",requiredDateStart:15410808e5,requiredDateEnd:15410862e5,teamID:3},{orderID:10335,orderDate:15401556e5,orderTotal:2036.16,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15426198e5,requiredDateEnd:15426234e5,teamID:3},{orderID:10336,orderDate:1540242e6,orderTotal:285.12,customerCompanyName:"Princesa Isabel Vinhos",customerContactName:"Isabel de Castro",requiredDateStart:15427206e5,requiredDateEnd:15427224e5,teamID:3},{orderID:10341,orderDate:1540764e6,orderTotal:352.6,customerCompanyName:"Simons bistro",customerContactName:"Jytte Petersen",requiredDateStart:15432228e5,requiredDateEnd:15432246e5,teamID:3},{orderID:10349,orderDate:1541628e6,orderTotal:141.6,customerCompanyName:"Split Rail Beer & Ale",customerContactName:"Art Braunschweiger",requiredDateStart:15441048e5,requiredDateEnd:15441066e5,teamID:3},{orderID:10353,orderDate:154206e7,orderTotal:8593.28,customerCompanyName:"Piccolo und mehr",customerContactName:"Georg Pipps",requiredDateStart:15445206e5,requiredDateEnd:15445242e5,teamID:3},{orderID:10367,orderDate:1543356e6,orderTotal:834.2,customerCompanyName:"Vaffeljernet",customerContactName:"Palle Ibsen",requiredDateStart:15458346e5,requiredDateEnd:15458382e5,teamID:3},{orderID:10406,orderDate:1546812e6,orderTotal:1830.78,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:15504984e5,requiredDateEnd:15505002e5,teamID:3},{orderID:10424,orderDate:15481944e5,orderTotal:9194.56,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:15506658e5,requiredDateEnd:15506676e5,teamID:3},{orderID:10428,orderDate:15486264e5,orderTotal:192,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:15510978e5,requiredDateEnd:15511032e5,teamID:3},{orderID:10458,orderDate:1551132e6,orderTotal:3891,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:1553607e6,requiredDateEnd:15536124e5,teamID:3},{orderID:10483,orderDate:15533784e5,orderTotal:668.8,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:1555839e6,requiredDateEnd:15558408e5,teamID:3},{orderID:10490,orderDate:15539832e5,orderTotal:3163.2,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15564456e5,requiredDateEnd:1556451e6,teamID:3},{orderID:10496,orderDate:15543252e5,orderTotal:190,customerCompanyName:"Tradição Hipermercados",customerContactName:"Anabela Domingues",requiredDateStart:15567966e5,requiredDateEnd:15568002e5,teamID:3},{orderID:10497,orderDate:15543252e5,orderTotal:1380.6,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:1556802e6,requiredDateEnd:15568038e5,teamID:3},{orderID:10507,orderDate:15552756e5,orderTotal:749.0625,customerCompanyName:"Antonio Moreno Taquería",customerContactName:"Antonio Moreno",requiredDateStart:15577362e5,requiredDateEnd:1557738e6,teamID:3},{orderID:10512,orderDate:1555794e6,orderTotal:525.3,customerCompanyName:"Familia Arquibaldo",customerContactName:"Aria Cruz",requiredDateStart:15582654e5,requiredDateEnd:15582672e5,teamID:3},{orderID:10513,orderDate:15558804e5,orderTotal:1942,customerCompanyName:"Die Wandernde Kuh",customerContactName:"Rita Müller",requiredDateStart:15595632e5,requiredDateEnd:15595668e5,teamID:3},{orderID:10520,orderDate:15564852e5,orderTotal:200,customerCompanyName:"Santé Gourmet",customerContactName:"Jonas Bergulfsen",requiredDateStart:15589584e5,requiredDateEnd:1558962e6,teamID:3},{orderID:10523,orderDate:1556658e6,orderTotal:2444.31,customerCompanyName:"Seven Seas Imports",customerContactName:"Hari Kumar",requiredDateStart:15591204e5,requiredDateEnd:1559124e6,teamID:3},{orderID:10527,orderDate:15570036e5,orderTotal:1503,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15594624e5,requiredDateEnd:1559466e6,teamID:3},{orderID:10531,orderDate:15572628e5,orderTotal:110,customerCompanyName:"Océano Atlántico Ltda.",customerContactName:"Yvonne Moncada",requiredDateStart:15597252e5,requiredDateEnd:15597306e5,teamID:3},{orderID:10532,orderDate:15573492e5,orderTotal:796.35,customerCompanyName:"Eastern Connection",customerContactName:"Ann Devon",requiredDateStart:1559808e6,requiredDateEnd:15598134e5,teamID:3},{orderID:10550,orderDate:15589908e5,orderTotal:683.3,customerCompanyName:"Godos Cocina Típica",customerContactName:"José Pedro Freyre",requiredDateStart:15614694e5,requiredDateEnd:15614712e5,teamID:3},{orderID:10573,orderDate:15608916e5,orderTotal:2082,customerCompanyName:"Antonio Moreno Taquería",customerContactName:"Antonio Moreno",requiredDateStart:1563354e6,requiredDateEnd:15633594e5,teamID:3},{orderID:10585,orderDate:15619284e5,orderTotal:142.5,customerCompanyName:"Wellington Importadora",customerContactName:"Paula Parente",requiredDateStart:1564398e6,requiredDateEnd:15643998e5,teamID:3},{orderID:10593,orderDate:15626196e5,orderTotal:1994.4,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:1565091e6,requiredDateEnd:15650928e5,teamID:3},{orderID:10597,orderDate:15627924e5,orderTotal:718.08,customerCompanyName:"Piccolo und mehr",customerContactName:"Georg Pipps",requiredDateStart:15652584e5,requiredDateEnd:15652638e5,teamID:3},{orderID:10601,orderDate:15632244e5,orderTotal:2285,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15669126e5,requiredDateEnd:15669144e5,teamID:3},{orderID:10609,orderDate:15639156e5,orderTotal:424,customerCompanyName:"Du monde entier",customerContactName:"Janine Labrune",requiredDateStart:15663924e5,requiredDateEnd:1566396e6,teamID:3},{orderID:10633,orderDate:15658164e5,orderTotal:5510.5925,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:1568286e6,requiredDateEnd:15682878e5,teamID:3},{orderID:10639,orderDate:15662484e5,orderTotal:500,customerCompanyName:"Santé Gourmet",customerContactName:"Jonas Bergulfsen",requiredDateStart:1568727e6,requiredDateEnd:15687324e5,teamID:3},{orderID:10642,orderDate:15664212e5,orderTotal:696,customerCompanyName:"Simons bistro",customerContactName:"Jytte Petersen",requiredDateStart:15688962e5,requiredDateEnd:1568898e6,teamID:3},{orderID:10659,orderDate:15676308e5,orderTotal:1227.02,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:15700986e5,requiredDateEnd:15701004e5,teamID:3},{orderID:10661,orderDate:15679764e5,orderTotal:562.6,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:1570437e6,requiredDateEnd:15704424e5,teamID:3},{orderID:10666,orderDate:15682356e5,orderTotal:4666.94,customerCompanyName:"Richter Supermarkt",customerContactName:"Michael Holz",requiredDateStart:15706962e5,requiredDateEnd:15707016e5,teamID:3},{orderID:10667,orderDate:15682356e5,orderTotal:1536.8,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:1570707e6,requiredDateEnd:15707106e5,teamID:3},{orderID:10678,orderDate:1569186e6,orderTotal:5256.5,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15716574e5,requiredDateEnd:15716592e5,teamID:3},{orderID:10695,orderDate:15703956e5,orderTotal:642,customerCompanyName:"Wilman Kala",customerContactName:"Matti Karttunen",requiredDateStart:15740676e5,requiredDateEnd:15740694e5,teamID:3},{orderID:10731,orderDate:15729912e5,orderTotal:1890.5,customerCompanyName:"Chop-suey Chinese",customerContactName:"Yang Wang",requiredDateStart:15754698e5,requiredDateEnd:15754734e5,teamID:3},{orderID:10775,orderDate:15761016e5,orderTotal:228,customerCompanyName:"The Cracker Box",customerContactName:"Liu Wong",requiredDateStart:15785802e5,requiredDateEnd:15785856e5,teamID:3},{orderID:10777,orderDate:15763608e5,orderTotal:224,customerCompanyName:"Gourmet Lanchonetes",customerContactName:"André Fonseca",requiredDateStart:15776118e5,requiredDateEnd:15776172e5,teamID:3},{orderID:10797,orderDate:15772248e5,orderTotal:420,customerCompanyName:"Drachenblut Delikatessen",customerContactName:"Sven Ottlieb",requiredDateStart:15796908e5,requiredDateEnd:15796926e5,teamID:3},{orderID:10809,orderDate:15778296e5,orderTotal:140,customerCompanyName:"Wellington Importadora",customerContactName:"Paula Parente",requiredDateStart:1580292e6,requiredDateEnd:15802938e5,teamID:3},{orderID:10818,orderDate:1578348e6,orderTotal:833,customerCompanyName:"Magazzini Alimentari Riuniti",customerContactName:"Giovanni Rovelli",requiredDateStart:1580823e6,requiredDateEnd:15808284e5,teamID:3},{orderID:10836,orderDate:15791256e5,orderTotal:4705.5,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15816006e5,requiredDateEnd:15816024e5,teamID:3},{orderID:10848,orderDate:15797304e5,orderTotal:931.5,customerCompanyName:"Consolidated Holdings",customerContactName:"Elizabeth Brown",requiredDateStart:1582209e6,requiredDateEnd:15822108e5,teamID:3},{orderID:10868,orderDate:15807672e5,orderTotal:1920.6,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:15833196e5,requiredDateEnd:15833214e5,teamID:3},{orderID:10876,orderDate:15811992e5,orderTotal:917,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15837498e5,requiredDateEnd:15837552e5,teamID:3},{orderID:10880,orderDate:15812856e5,orderTotal:1500,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15850584e5,requiredDateEnd:15850638e5,teamID:3},{orderID:10890,orderDate:1581804e6,orderTotal:860.1,customerCompanyName:"Du monde entier",customerContactName:"Janine Labrune",requiredDateStart:15843546e5,requiredDateEnd:158436e7,teamID:3},{orderID:10891,orderDate:15818904e5,orderTotal:368.9325,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:1584441e6,requiredDateEnd:15844446e5,teamID:3},{orderID:10896,orderDate:15820632e5,orderTotal:750.5,customerCompanyName:"Maison Dewey",customerContactName:"Catherine Dewey",requiredDateStart:15846102e5,requiredDateEnd:15846138e5,teamID:3},{orderID:10923,orderDate:15831864e5,orderTotal:748.8,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15868656e5,requiredDateEnd:15868692e5,teamID:3},{orderID:10937,orderDate:15837912e5,orderTotal:644.8,customerCompanyName:"Cactus Comidas para llevar",customerContactName:"Patricio Simpson",requiredDateStart:1585053e6,requiredDateEnd:15850548e5,teamID:3},{orderID:10941,orderDate:15838776e5,orderTotal:4011.75,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15863472e5,requiredDateEnd:15863526e5,teamID:3},{orderID:10958,orderDate:15844824e5,orderTotal:781,customerCompanyName:"Océano Atlántico Ltda.",customerContactName:"Yvonne Moncada",requiredDateStart:15869484e5,requiredDateEnd:15869502e5,teamID:3},{orderID:10993,orderDate:15856884e5,orderTotal:4895.4375,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15881526e5,requiredDateEnd:15881544e5,teamID:3},{orderID:11008,orderDate:15862932e5,orderTotal:4680.9,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15887592e5,requiredDateEnd:15887628e5,teamID:3},{orderID:11030,orderDate:15870708e5,orderTotal:12615.05,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:1589544e6,requiredDateEnd:15895458e5,teamID:3},{orderID:11033,orderDate:15870708e5,orderTotal:3232.8,customerCompanyName:"Richter Supermarkt",customerContactName:"Michael Holz",requiredDateStart:15895494e5,requiredDateEnd:1589553e6,teamID:3},{orderID:11037,orderDate:15874164e5,orderTotal:60,customerCompanyName:"Godos Cocina Típica",customerContactName:"José Pedro Freyre",requiredDateStart:15898824e5,requiredDateEnd:1589886e6,teamID:3},{orderID:11047,orderDate:15876756e5,orderTotal:817.875,customerCompanyName:"Eastern Connection",customerContactName:"Ann Devon",requiredDateStart:15901416e5,requiredDateEnd:15901452e5,teamID:3},{orderID:11048,orderDate:15876756e5,orderTotal:525,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:15901434e5,requiredDateEnd:15901452e5,teamID:3},{orderID:11051,orderDate:15879348e5,orderTotal:36,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15904134e5,requiredDateEnd:15904188e5,teamID:3},{orderID:11055,orderDate:15880212e5,orderTotal:1727.5,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15904926e5,requiredDateEnd:15904944e5,teamID:3},{orderID:11066,orderDate:15882804e5,orderTotal:928.75,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:15907518e5,requiredDateEnd:15907554e5,teamID:3},{orderID:11074,orderDate:15887124e5,orderTotal:232.085,customerCompanyName:"Simons bistro",customerContactName:"Jytte Petersen",requiredDateStart:15911892e5,requiredDateEnd:15911928e5,teamID:3},{orderID:10249,orderDate:1530738e6,orderTotal:1863.4,customerCompanyName:"Toms Spezialitäten",customerContactName:"Karin Josephs",requiredDateStart:15344262e5,requiredDateEnd:15344298e5,teamID:3},{orderID:10264,orderDate:15323796e5,orderTotal:695.625,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:1534851e6,requiredDateEnd:15348528e5,teamID:3},{orderID:10271,orderDate:15330708e5,orderTotal:48,customerCompanyName:"Split Rail Beer & Ale",customerContactName:"Art Braunschweiger",requiredDateStart:15355332e5,requiredDateEnd:15355386e5,teamID:3},{orderID:10272,orderDate:15331572e5,orderTotal:1456,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15356232e5,requiredDateEnd:15356268e5,teamID:3},{orderID:10274,orderDate:15335028e5,orderTotal:538.6,customerCompanyName:"Vins et alcools Chevalier",customerContactName:"Paul Henriot",requiredDateStart:15359778e5,requiredDateEnd:15359814e5,teamID:3},{orderID:10291,orderDate:15353172e5,orderTotal:497.52,customerCompanyName:"Que Delícia",customerContactName:"Bernardo Batista",requiredDateStart:15377796e5,requiredDateEnd:1537785e6,teamID:3},{orderID:10296,orderDate:1535922e6,orderTotal:1050.6,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15383826e5,requiredDateEnd:15383862e5,teamID:3},{orderID:10298,orderDate:15360948e5,orderTotal:2645,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15385536e5,requiredDateEnd:15385554e5,teamID:3},{orderID:10317,orderDate:15382548e5,orderTotal:288,customerCompanyName:"Lonesome Pine Restaurant",customerContactName:"Fran Wilson",requiredDateStart:15407262e5,requiredDateEnd:15407298e5,teamID:3},{orderID:10350,orderDate:15418872e5,orderTotal:642.06,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15443496e5,requiredDateEnd:15443532e5,teamID:3},{orderID:10355,orderDate:15422328e5,orderTotal:480,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:15447114e5,requiredDateEnd:15447168e5,teamID:3},{orderID:10356,orderDate:1542492e6,orderTotal:1106.4,customerCompanyName:"Die Wandernde Kuh",customerContactName:"Rita Müller",requiredDateStart:15449706e5,requiredDateEnd:15449724e5,teamID:3},{orderID:10370,orderDate:1543788e6,orderTotal:1117.6,customerCompanyName:"Chop-suey Chinese",customerContactName:"Yang Wang",requiredDateStart:1546263e6,requiredDateEnd:15462684e5,teamID:3},{orderID:10390,orderDate:1545516e6,orderTotal:2090.88,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15479928e5,requiredDateEnd:15479982e5,teamID:3},{orderID:10395,orderDate:15457752e5,orderTotal:2122.92,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15482358e5,requiredDateEnd:15482394e5,teamID:3},{orderID:10423,orderDate:15481944e5,orderTotal:1020,customerCompanyName:"Gourmet Lanchonetes",customerContactName:"André Fonseca",requiredDateStart:15494436e5,requiredDateEnd:15494472e5,teamID:3},{orderID:10425,orderDate:15482808e5,orderTotal:360,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:1550745e6,requiredDateEnd:15507486e5,teamID:3},{orderID:10439,orderDate:15494904e5,orderTotal:1078,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:15519528e5,requiredDateEnd:15519546e5,teamID:3},{orderID:10446,orderDate:15500952e5,orderTotal:246.24,customerCompanyName:"Toms Spezialitäten",customerContactName:"Karin Josephs",requiredDateStart:15525648e5,requiredDateEnd:15525666e5,teamID:3},{orderID:10480,orderDate:15530328e5,orderTotal:756,customerCompanyName:"Folies gourmandes",customerContactName:"Martine Rancé",requiredDateStart:15554988e5,requiredDateEnd:15555042e5,teamID:3},{orderID:10489,orderDate:1553724e6,orderTotal:439.2,customerCompanyName:"Piccolo und mehr",customerContactName:"Georg Pipps",requiredDateStart:15561882e5,requiredDateEnd:155619e7,teamID:3},{orderID:10500,orderDate:15547572e5,orderTotal:523.26,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15572358e5,requiredDateEnd:15572412e5,teamID:3},{orderID:10503,orderDate:155493e7,orderTotal:2048.5,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15573978e5,requiredDateEnd:15573996e5,teamID:3},{orderID:10510,orderDate:15555348e5,orderTotal:4707.54,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15580062e5,requiredDateEnd:15580098e5,teamID:3},{orderID:10519,orderDate:15563988e5,orderTotal:2314.2,customerCompanyName:"Chop-suey Chinese",customerContactName:"Yang Wang",requiredDateStart:15588684e5,requiredDateEnd:15588738e5,teamID:3},{orderID:10528,orderDate:155709e7,orderTotal:392.2,customerCompanyName:"Great Lakes Food Market",customerContactName:"Howard Snyder",requiredDateStart:155835e7,requiredDateEnd:15583554e5,teamID:3},{orderID:10539,orderDate:1557954e6,orderTotal:355.5,customerCompanyName:"B's Beverages",customerContactName:"Victoria Ashworth",requiredDateStart:15604218e5,requiredDateEnd:15604254e5,teamID:3},{orderID:10555,orderDate:15594228e5,orderTotal:2944.4,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15618906e5,requiredDateEnd:15618924e5,teamID:3},{orderID:10559,orderDate:1559682e6,orderTotal:520.41,customerCompanyName:"Blondesddsl père et fils",customerContactName:"Frédérique Citeaux",requiredDateStart:15621444e5,requiredDateEnd:15621498e5,teamID:3},{orderID:10599,orderDate:1563138e6,orderTotal:493,customerCompanyName:"B's Beverages",customerContactName:"Victoria Ashworth",requiredDateStart:15668118e5,requiredDateEnd:15668154e5,teamID:3},{orderID:10611,orderDate:1564002e6,orderTotal:808,customerCompanyName:"Wolski Zajazd",customerContactName:"Zbyszek Piestrzeniewicz",requiredDateStart:1566477e6,requiredDateEnd:15664788e5,teamID:3},{orderID:10637,orderDate:1566162e6,orderTotal:2761.9375,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:15686298e5,requiredDateEnd:15686334e5,teamID:3},{orderID:10643,orderDate:15666804e5,orderTotal:814.5,customerCompanyName:"Alfreds Futterkiste",customerContactName:"Maria Anders",requiredDateStart:156915e7,requiredDateEnd:15691536e5,teamID:3},{orderID:10656,orderDate:15675444e5,orderTotal:604.215,customerCompanyName:"Great Lakes Food Market",customerContactName:"Howard Snyder",requiredDateStart:15700212e5,requiredDateEnd:1570023e6,teamID:3},{orderID:10701,orderDate:1570914e6,orderTotal:2864.5,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:1572183e6,requiredDateEnd:15721848e5,teamID:3},{orderID:10703,orderDate:15710004e5,orderTotal:2545,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15734664e5,requiredDateEnd:157347e7,teamID:3},{orderID:10704,orderDate:15710004e5,orderTotal:595.5,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:15734718e5,requiredDateEnd:15734772e5,teamID:3},{orderID:10708,orderDate:15712596e5,orderTotal:180.4,customerCompanyName:"The Big Cheese",customerContactName:"Liz Nixon",requiredDateStart:15749442e5,requiredDateEnd:1574946e6,teamID:3},{orderID:10735,orderDate:15733368e5,orderTotal:536.4,customerCompanyName:"Let's Stop N Shop",customerContactName:"Jaime Yorres",requiredDateStart:15758136e5,requiredDateEnd:1575819e6,teamID:3},{orderID:10744,orderDate:15739416e5,orderTotal:736,customerCompanyName:"Vaffeljernet",customerContactName:"Palle Ibsen",requiredDateStart:1576413e6,requiredDateEnd:15764184e5,teamID:3},{orderID:10747,orderDate:15741144e5,orderTotal:1912.85,customerCompanyName:"Piccolo und mehr",customerContactName:"Georg Pipps",requiredDateStart:15765768e5,requiredDateEnd:15765804e5,teamID:3},{orderID:10754,orderDate:15746328e5,orderTotal:55.2,customerCompanyName:"Magazzini Alimentari Riuniti",customerContactName:"Giovanni Rovelli",requiredDateStart:15770952e5,requiredDateEnd:1577097e6,teamID:3},{orderID:10757,orderDate:15748056e5,orderTotal:3082,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15772662e5,requiredDateEnd:15772698e5,teamID:3},{orderID:10764,orderDate:1575324e6,orderTotal:2286,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15777972e5,requiredDateEnd:1577799e6,teamID:3},{orderID:10790,orderDate:15769656e5,orderTotal:722.5,customerCompanyName:"Gourmet Lanchonetes",customerContactName:"André Fonseca",requiredDateStart:15794334e5,requiredDateEnd:15794388e5,teamID:3},{orderID:10791,orderDate:1577052e6,orderTotal:1829.757,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:1579527e6,requiredDateEnd:15795306e5,teamID:3},{orderID:10794,orderDate:15771384e5,orderTotal:314.76,customerCompanyName:"Que Delícia",customerContactName:"Bernardo Batista",requiredDateStart:15796134e5,requiredDateEnd:15796188e5,teamID:3},{orderID:10804,orderDate:15776568e5,orderTotal:2278.4,customerCompanyName:"Seven Seas Imports",customerContactName:"Hari Kumar",requiredDateStart:15801246e5,requiredDateEnd:15801264e5,teamID:3},{orderID:10822,orderDate:15784344e5,orderTotal:237.9,customerCompanyName:"Trail's Head Gourmet Provisioners",customerContactName:"Helvetius Nagy",requiredDateStart:15808986e5,requiredDateEnd:15809004e5,teamID:3},{orderID:10826,orderDate:157878e7,orderTotal:730,customerCompanyName:"Blondesddsl père et fils",customerContactName:"Frédérique Citeaux",requiredDateStart:15812424e5,requiredDateEnd:15812478e5,teamID:3},{orderID:10833,orderDate:15790392e5,orderTotal:906.93,customerCompanyName:"Ottilies Käseladen",customerContactName:"Henriette Pfalzheim",requiredDateStart:15815142e5,requiredDateEnd:1581516e6,teamID:3},{orderID:10867,orderDate:15806808e5,orderTotal:98.4,customerCompanyName:"Lonesome Pine Restaurant",customerContactName:"Fran Wilson",requiredDateStart:15844518e5,requiredDateEnd:15844536e5,teamID:3},{orderID:10885,orderDate:15814584e5,orderTotal:1209,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:15840162e5,requiredDateEnd:1584018e6,teamID:3},{orderID:10907,orderDate:15825816e5,orderTotal:108.5,customerCompanyName:"Spécialités du monde",customerContactName:"Dominique Perrier",requiredDateStart:15851304e5,requiredDateEnd:1585134e6,teamID:3},{orderID:10914,orderDate:15827544e5,orderTotal:537.5,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:15853068e5,requiredDateEnd:15853122e5,teamID:3},{orderID:10929,orderDate:15833592e5,orderTotal:1174.75,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:15858234e5,requiredDateEnd:15858288e5,teamID:3},{orderID:10933,orderDate:15834456e5,orderTotal:920.6,customerCompanyName:"Island Trading",customerContactName:"Helen Bennett",requiredDateStart:15859062e5,requiredDateEnd:1585908e6,teamID:3},{orderID:10944,orderDate:1583964e6,orderTotal:1025.325,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:15852312e5,requiredDateEnd:1585233e6,teamID:3},{orderID:10956,orderDate:1584396e6,orderTotal:677,customerCompanyName:"Blauer See Delikatessen",customerContactName:"Hanna Moos",requiredDateStart:1588068e6,requiredDateEnd:15880734e5,teamID:3},{orderID:10959,orderDate:15844824e5,orderTotal:131.75,customerCompanyName:"Gourmet Lanchonetes",customerContactName:"André Fonseca",requiredDateStart:15881616e5,requiredDateEnd:1588167e6,teamID:3},{orderID:10965,orderDate:15846552e5,orderTotal:848,customerCompanyName:"Old World Delicatessen",customerContactName:"Rene Phillips",requiredDateStart:15871284e5,requiredDateEnd:1587132e6,teamID:3},{orderID:10973,orderDate:15850008e5,orderTotal:291.55,customerCompanyName:"La corne d'abondance",customerContactName:"Daniel Tonini",requiredDateStart:15874596e5,requiredDateEnd:15874614e5,teamID:3},{orderID:10999,orderDate:15858612e5,orderTotal:1197.95,customerCompanyName:"Ottilies Käseladen",customerContactName:"Henriette Pfalzheim",requiredDateStart:15883398e5,requiredDateEnd:15883452e5,teamID:3},{orderID:11019,orderDate:15867252e5,orderTotal:76,customerCompanyName:"Rancho grande",customerContactName:"Sergio Gutiérrez",requiredDateStart:1589202e6,requiredDateEnd:15892038e5,teamID:3},{orderID:11025,orderDate:1586898e6,orderTotal:270,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15893622e5,requiredDateEnd:1589364e6,teamID:3},{orderID:11031,orderDate:15870708e5,orderTotal:2393.5,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15895494e5,requiredDateEnd:15895512e5,teamID:3},{orderID:11045,orderDate:15875892e5,orderTotal:1309.5,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:1590057e6,requiredDateEnd:15900588e5,teamID:3},{orderID:10248,orderDate:15306516e5,orderTotal:440,customerCompanyName:"Vins et alcools Chevalier",customerContactName:"Paul Henriot",requiredDateStart:1533123e6,requiredDateEnd:15331266e5,teamID:3},{orderID:10254,orderDate:15312564e5,orderTotal:556.62,customerCompanyName:"Chop-suey Chinese",customerContactName:"Yang Wang",requiredDateStart:15337296e5,requiredDateEnd:1533735e6,teamID:3},{orderID:10269,orderDate:15329844e5,orderTotal:642.2,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:1534248e6,requiredDateEnd:15342516e5,teamID:3},{orderID:10297,orderDate:15360084e5,orderTotal:1420,customerCompanyName:"Blondesddsl père et fils",customerContactName:"Frédérique Citeaux",requiredDateStart:15396966e5,requiredDateEnd:15396984e5,teamID:3},{orderID:10320,orderDate:1538514e6,orderTotal:516,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15397704e5,requiredDateEnd:15397722e5,teamID:3},{orderID:10333,orderDate:153981e7,orderTotal:877.2,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:1542276e6,requiredDateEnd:15422778e5,teamID:3},{orderID:10358,orderDate:15426648e5,orderTotal:429.4,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15451416e5,requiredDateEnd:15451434e5,teamID:3},{orderID:10359,orderDate:15427512e5,orderTotal:3471.68,customerCompanyName:"Seven Seas Imports",customerContactName:"Hari Kumar",requiredDateStart:15452208e5,requiredDateEnd:15452262e5,teamID:3},{orderID:10372,orderDate:15438744e5,orderTotal:9210.9,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:1546335e6,requiredDateEnd:15463386e5,teamID:3},{orderID:10378,orderDate:15443928e5,orderTotal:103.2,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15468714e5,requiredDateEnd:15468768e5,teamID:3},{orderID:10397,orderDate:15458616e5,orderTotal:716.72,customerCompanyName:"Princesa Isabel Vinhos",customerContactName:"Isabel de Castro",requiredDateStart:15483222e5,requiredDateEnd:15483258e5,teamID:3},{orderID:10463,orderDate:15516504e5,orderTotal:713.3,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:15541128e5,requiredDateEnd:15541146e5,teamID:3},{orderID:10474,orderDate:1552428e6,orderTotal:1249.1,customerCompanyName:"Pericles Comidas clásicas",customerContactName:"Guillermo Fernández",requiredDateStart:15548886e5,requiredDateEnd:15548922e5,teamID:3},{orderID:10477,orderDate:15527736e5,orderTotal:558,customerCompanyName:"Princesa Isabel Vinhos",customerContactName:"Isabel de Castro",requiredDateStart:15552288e5,requiredDateEnd:15552342e5,teamID:3},{orderID:10529,orderDate:15571764e5,orderTotal:946,customerCompanyName:"Maison Dewey",customerContactName:"Catherine Dewey",requiredDateStart:15596532e5,requiredDateEnd:15596568e5,teamID:3},{orderID:10549,orderDate:15589044e5,orderTotal:3554.275,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15601536e5,requiredDateEnd:15601554e5,teamID:3},{orderID:10569,orderDate:15606324e5,orderTotal:890,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15630984e5,requiredDateEnd:1563102e6,teamID:3},{orderID:10575,orderDate:1560978e6,orderTotal:2147.4,customerCompanyName:"Morgenstern Gesundkost",customerContactName:"Alexander Feuer",requiredDateStart:15622326e5,requiredDateEnd:1562238e6,teamID:3},{orderID:10607,orderDate:15637428e5,orderTotal:6475.4,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:1566207e6,requiredDateEnd:15662088e5,teamID:3},{orderID:10648,orderDate:15669396e5,orderTotal:372.375,customerCompanyName:"Ricardo Adocicados",customerContactName:"Janete Limeira",requiredDateStart:15706098e5,requiredDateEnd:15706116e5,teamID:3},{orderID:10649,orderDate:15669396e5,orderTotal:1434,customerCompanyName:"Maison Dewey",customerContactName:"Catherine Dewey",requiredDateStart:15694002e5,requiredDateEnd:15694038e5,teamID:3},{orderID:10650,orderDate:1567026e6,orderTotal:1779.2,customerCompanyName:"Familia Arquibaldo",customerContactName:"Aria Cruz",requiredDateStart:15694902e5,requiredDateEnd:15694938e5,teamID:3},{orderID:10654,orderDate:15673716e5,orderTotal:601.83,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15698502e5,requiredDateEnd:15698556e5,teamID:3},{orderID:10675,orderDate:15688404e5,orderTotal:1423,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:15712992e5,requiredDateEnd:15713046e5,teamID:3},{orderID:10711,orderDate:15716052e5,orderTotal:4451.7,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:1575297e6,requiredDateEnd:15752988e5,teamID:3},{orderID:10714,orderDate:15716916e5,orderTotal:2205.75,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15741738e5,requiredDateEnd:15741792e5,teamID:3},{orderID:10721,orderDate:15723e8,orderTotal:923.875,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:1574775e6,requiredDateEnd:15747804e5,teamID:3},{orderID:10730,orderDate:15729048e5,orderTotal:484.2625,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15753762e5,requiredDateEnd:15753798e5,teamID:3},{orderID:10761,orderDate:15752376e5,orderTotal:507,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15777126e5,requiredDateEnd:15777162e5,teamID:3},{orderID:10812,orderDate:1577916e6,orderTotal:1692.8,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:15803946e5,requiredDateEnd:15803964e5,teamID:3},{orderID:10823,orderDate:15785208e5,orderTotal:2826,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15809886e5,requiredDateEnd:1580994e6,teamID:3},{orderID:10841,orderDate:15794712e5,orderTotal:4581,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:1581948e6,requiredDateEnd:15819534e5,teamID:3},{orderID:10851,orderDate:15799896e5,orderTotal:2603,customerCompanyName:"Ricardo Adocicados",customerContactName:"Janete Limeira",requiredDateStart:15824682e5,requiredDateEnd:158247e7,teamID:3},{orderID:10866,orderDate:15806808e5,orderTotal:1096.2,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15832332e5,requiredDateEnd:15832386e5,teamID:3},{orderID:10869,orderDate:15807672e5,orderTotal:1630,customerCompanyName:"Seven Seas Imports",customerContactName:"Hari Kumar",requiredDateStart:15833286e5,requiredDateEnd:1583334e6,teamID:3},{orderID:10870,orderDate:15807672e5,orderTotal:160,customerCompanyName:"Wolski Zajazd",customerContactName:"Zbyszek Piestrzeniewicz",requiredDateStart:15833304e5,requiredDateEnd:1583334e6,teamID:3},{orderID:10872,orderDate:15808536e5,orderTotal:2058.46,customerCompanyName:"Godos Cocina Típica",customerContactName:"José Pedro Freyre",requiredDateStart:15834186e5,requiredDateEnd:15834222e5,teamID:3},{orderID:10874,orderDate:158094e7,orderTotal:310,customerCompanyName:"Godos Cocina Típica",customerContactName:"José Pedro Freyre",requiredDateStart:1583505e6,requiredDateEnd:15835086e5,teamID:3},{orderID:10899,orderDate:15821496e5,orderTotal:122.4,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15847038e5,requiredDateEnd:15847092e5,teamID:3},{orderID:10922,orderDate:15831864e5,orderTotal:742.5,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:15856524e5,requiredDateEnd:1585656e6,teamID:3},{orderID:10954,orderDate:1584396e6,orderTotal:1659.535,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:15880752e5,requiredDateEnd:15880806e5,teamID:3},{orderID:11043,orderDate:15875028e5,orderTotal:210,customerCompanyName:"Spécialités du monde",customerContactName:"Dominique Perrier",requiredDateStart:15899814e5,requiredDateEnd:1589985e6,teamID:3},{orderID:10250,orderDate:15309972e5,orderTotal:1552.6,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:15334668e5,requiredDateEnd:15334686e5,teamID:2},{orderID:10252,orderDate:15310836e5,orderTotal:3597.9,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:15335478e5,requiredDateEnd:15335514e5,teamID:2},{orderID:10257,orderDate:15316884e5,orderTotal:1119.9,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15341544e5,requiredDateEnd:15341562e5,teamID:2},{orderID:10259,orderDate:15318612e5,orderTotal:100.8,customerCompanyName:"Centro comercial Moctezuma",customerContactName:"Francisco Chang",requiredDateStart:153432e7,requiredDateEnd:15343254e5,teamID:2},{orderID:10260,orderDate:15319476e5,orderTotal:1504.65,customerCompanyName:"Ottilies Käseladen",customerContactName:"Henriette Pfalzheim",requiredDateStart:153441e7,requiredDateEnd:15344118e5,teamID:2},{orderID:10261,orderDate:15319476e5,orderTotal:448,customerCompanyName:"Que Delícia",customerContactName:"Bernardo Batista",requiredDateStart:15344226e5,requiredDateEnd:15344262e5,teamID:2},{orderID:10267,orderDate:15328116e5,orderTotal:3536.6,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:15352704e5,requiredDateEnd:1535274e6,teamID:2},{orderID:10281,orderDate:1534194e6,orderTotal:86.5,customerCompanyName:"Romero y tomillo",customerContactName:"Alejandra Camino",requiredDateStart:15354594e5,requiredDateEnd:15354648e5,teamID:2},{orderID:10282,orderDate:15342804e5,orderTotal:155.4,customerCompanyName:"Romero y tomillo",customerContactName:"Alejandra Camino",requiredDateStart:15367554e5,requiredDateEnd:15367572e5,teamID:2},{orderID:10284,orderDate:1534626e6,orderTotal:1170.375,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:15370848e5,requiredDateEnd:15370866e5,teamID:2},{orderID:10288,orderDate:15349716e5,orderTotal:80.1,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:15374358e5,requiredDateEnd:15374394e5,teamID:2},{orderID:10294,orderDate:15355764e5,orderTotal:1887.6,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15380496e5,requiredDateEnd:1538055e6,teamID:2},{orderID:10299,orderDate:15361812e5,orderTotal:349.5,customerCompanyName:"Ricardo Adocicados",customerContactName:"Janete Limeira",requiredDateStart:1538658e6,requiredDateEnd:15386616e5,teamID:2},{orderID:10302,orderDate:15365268e5,orderTotal:2708.8,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:15389982e5,requiredDateEnd:15390036e5,teamID:2},{orderID:10315,orderDate:15379092e5,orderTotal:516.8,customerCompanyName:"Island Trading",customerContactName:"Helen Bennett",requiredDateStart:15403716e5,requiredDateEnd:15403752e5,teamID:2},{orderID:10323,orderDate:15388596e5,orderTotal:164.4,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15413238e5,requiredDateEnd:15413256e5,teamID:2},{orderID:10326,orderDate:15391188e5,orderTotal:982,customerCompanyName:"Bólido Comidas preparadas",customerContactName:"Martín Sommer",requiredDateStart:1541601e6,requiredDateEnd:15416046e5,teamID:2},{orderID:10328,orderDate:15394644e5,orderTotal:1168,customerCompanyName:"Furia Bacalhau e Frutos do Mar",customerContactName:"Lino Rodriguez",requiredDateStart:15419394e5,requiredDateEnd:15419448e5,teamID:2},{orderID:10329,orderDate:15395508e5,orderTotal:4578.43,customerCompanyName:"Split Rail Beer & Ale",customerContactName:"Art Braunschweiger",requiredDateStart:15432246e5,requiredDateEnd:154323e7,teamID:2},{orderID:10337,orderDate:15403284e5,orderTotal:2467,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:15428052e5,requiredDateEnd:15428106e5,teamID:2},{orderID:10338,orderDate:15404148e5,orderTotal:934.5,customerCompanyName:"Old World Delicatessen",customerContactName:"Rene Phillips",requiredDateStart:15428934e5,requiredDateEnd:15428988e5,teamID:2},{orderID:10342,orderDate:15408504e5,orderTotal:1840.64,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:15421158e5,requiredDateEnd:15421212e5,teamID:2},{orderID:10343,orderDate:15409368e5,orderTotal:1584,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:15434154e5,requiredDateEnd:1543419e6,teamID:2},{orderID:10344,orderDate:15410232e5,orderTotal:2296,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:15434892e5,requiredDateEnd:15434946e5,teamID:2},{orderID:10347,orderDate:15414552e5,orderTotal:814.42,customerCompanyName:"Familia Arquibaldo",customerContactName:"Aria Cruz",requiredDateStart:1543914e6,requiredDateEnd:15439158e5,teamID:2},{orderID:10348,orderDate:15415416e5,orderTotal:363.6,customerCompanyName:"Die Wandernde Kuh",customerContactName:"Rita Müller",requiredDateStart:15440202e5,requiredDateEnd:15440256e5,teamID:2},{orderID:10360,orderDate:15428376e5,orderTotal:7390.2,customerCompanyName:"Blondesddsl père et fils",customerContactName:"Frédérique Citeaux",requiredDateStart:15452982e5,requiredDateEnd:15453e8,teamID:2},{orderID:10363,orderDate:15431832e5,orderTotal:447.2,customerCompanyName:"Drachenblut Delikatessen",customerContactName:"Sven Ottlieb",requiredDateStart:15456582e5,requiredDateEnd:15456618e5,teamID:2},{orderID:10373,orderDate:15439608e5,orderTotal:1366.4,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15464304e5,requiredDateEnd:15464322e5,teamID:2},{orderID:10382,orderDate:1544652e6,orderTotal:2900,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15471126e5,requiredDateEnd:15471144e5,teamID:2},{orderID:10389,orderDate:15452568e5,orderTotal:1832.8,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:15477228e5,requiredDateEnd:15477282e5,teamID:2},{orderID:10403,orderDate:15464664e5,orderTotal:855.015,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15489414e5,requiredDateEnd:15489468e5,teamID:2},{orderID:10417,orderDate:15475896e5,orderTotal:11188.4,customerCompanyName:"Simons bistro",customerContactName:"Jytte Petersen",requiredDateStart:15500682e5,requiredDateEnd:15500718e5,teamID:2},{orderID:10418,orderDate:1547676e6,orderTotal:1814.8,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15501474e5,requiredDateEnd:15501492e5,teamID:2},{orderID:10419,orderDate:15479352e5,orderTotal:2097.6,customerCompanyName:"Richter Supermarkt",customerContactName:"Michael Holz",requiredDateStart:15504138e5,requiredDateEnd:15504174e5,teamID:2},{orderID:10426,orderDate:154854e7,orderTotal:338.2,customerCompanyName:"Galería del gastrónomo",customerContactName:"Eduardo Saavedra",requiredDateStart:15510024e5,requiredDateEnd:15510078e5,teamID:2},{orderID:10427,orderDate:154854e7,orderTotal:651,customerCompanyName:"Piccolo und mehr",customerContactName:"Georg Pipps",requiredDateStart:15510042e5,requiredDateEnd:1551006e6,teamID:2},{orderID:10430,orderDate:15487992e5,orderTotal:4899.2,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15500682e5,requiredDateEnd:15500736e5,teamID:2},{orderID:10431,orderDate:15487992e5,orderTotal:1892.25,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:15500682e5,requiredDateEnd:15500718e5,teamID:2},{orderID:10440,orderDate:15497496e5,orderTotal:4924.135,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15522084e5,requiredDateEnd:15522102e5,teamID:2},{orderID:10447,orderDate:15500952e5,orderTotal:914.4,customerCompanyName:"Ricardo Adocicados",customerContactName:"Janete Limeira",requiredDateStart:15525558e5,requiredDateEnd:15525576e5,teamID:2},{orderID:10448,orderDate:15503544e5,orderTotal:443.4,customerCompanyName:"Rancho grande",customerContactName:"Sergio Gutiérrez",requiredDateStart:15528258e5,requiredDateEnd:15528294e5,teamID:2},{orderID:10451,orderDate:15505272e5,orderTotal:3849.66,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15517872e5,requiredDateEnd:1551789e6,teamID:2},{orderID:10454,orderDate:15507e8,orderTotal:331.2,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15531642e5,requiredDateEnd:1553166e6,teamID:2},{orderID:10459,orderDate:15512184e5,orderTotal:1659.2,customerCompanyName:"Victuailles en stock",customerContactName:"Mary Saveley",requiredDateStart:15536898e5,requiredDateEnd:15536952e5,teamID:2},{orderID:10464,orderDate:15516504e5,orderTotal:1609.28,customerCompanyName:"Furia Bacalhau e Frutos do Mar",customerContactName:"Lino Rodriguez",requiredDateStart:15541056e5,requiredDateEnd:15541074e5,teamID:2},{orderID:10466,orderDate:15518232e5,orderTotal:216,customerCompanyName:"Comércio Mineiro",customerContactName:"Pedro Afonso",requiredDateStart:1554291e6,requiredDateEnd:15542964e5,teamID:2},{orderID:10470,orderDate:15522552e5,orderTotal:1820.8,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15547122e5,requiredDateEnd:1554714e6,teamID:2},{orderID:10485,orderDate:15534648e5,orderTotal:1584,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:15547284e5,requiredDateEnd:15547338e5,teamID:2},{orderID:10493,orderDate:15541524e5,orderTotal:608.4,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15566274e5,requiredDateEnd:15566292e5,teamID:2},{orderID:10494,orderDate:15541524e5,orderTotal:912,customerCompanyName:"Comércio Mineiro",customerContactName:"Pedro Afonso",requiredDateStart:1556622e6,requiredDateEnd:15566256e5,teamID:2},{orderID:10499,orderDate:15546708e5,orderTotal:1412,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15571494e5,requiredDateEnd:15571548e5,teamID:2},{orderID:10504,orderDate:155493e7,orderTotal:1388.5,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:15573888e5,requiredDateEnd:15573924e5,teamID:2},{orderID:10509,orderDate:15554484e5,orderTotal:136.8,customerCompanyName:"Blauer See Delikatessen",customerContactName:"Hanna Moos",requiredDateStart:1557909e6,requiredDateEnd:15579126e5,teamID:2},{orderID:10511,orderDate:15555348e5,orderTotal:2550,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15580098e5,requiredDateEnd:15580116e5,teamID:2},{orderID:10518,orderDate:15561396e5,orderTotal:4150.05,customerCompanyName:"Tortuga Restaurante",customerContactName:"Miguel Angel Paolino",requiredDateStart:15573924e5,requiredDateEnd:15573978e5,teamID:2},{orderID:10522,orderDate:15565716e5,orderTotal:2318.24,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:15590502e5,requiredDateEnd:1559052e6,teamID:2},{orderID:10526,orderDate:15570036e5,orderTotal:1151.4,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:1559466e6,requiredDateEnd:15594714e5,teamID:2},{orderID:10535,orderDate:15576948e5,orderTotal:1940.85,customerCompanyName:"Antonio Moreno Taquería",customerContactName:"Antonio Moreno",requiredDateStart:15601716e5,requiredDateEnd:15601734e5,teamID:2},{orderID:10544,orderDate:1558386e6,orderTotal:417.2,customerCompanyName:"Lonesome Pine Restaurant",customerContactName:"Fran Wilson",requiredDateStart:15608628e5,requiredDateEnd:15608646e5,teamID:2},{orderID:10551,orderDate:15589908e5,orderTotal:1677.3,customerCompanyName:"Furia Bacalhau e Frutos do Mar",customerContactName:"Lino Rodriguez",requiredDateStart:1562679e6,requiredDateEnd:15626844e5,teamID:2},{orderID:10554,orderDate:15591636e5,orderTotal:1728.525,customerCompanyName:"Ottilies Käseladen",customerContactName:"Henriette Pfalzheim",requiredDateStart:15616242e5,requiredDateEnd:15616278e5,teamID:2},{orderID:10564,orderDate:1560114e6,orderTotal:1234.05,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15625872e5,requiredDateEnd:15625926e5,teamID:2},{orderID:10574,orderDate:15608916e5,orderTotal:764.3,customerCompanyName:"Trail's Head Gourmet Provisioners",customerContactName:"Helvetius Nagy",requiredDateStart:15633702e5,requiredDateEnd:15633738e5,teamID:2},{orderID:10578,orderDate:15613236e5,orderTotal:477,customerCompanyName:"B's Beverages",customerContactName:"Victoria Ashworth",requiredDateStart:1563786e6,requiredDateEnd:15637896e5,teamID:2},{orderID:10580,orderDate:15614964e5,orderTotal:1013.745,customerCompanyName:"Ottilies Käseladen",customerContactName:"Henriette Pfalzheim",requiredDateStart:15639714e5,requiredDateEnd:15639732e5,teamID:2},{orderID:10584,orderDate:1561842e6,orderTotal:593.75,customerCompanyName:"Blondesddsl père et fils",customerContactName:"Frédérique Citeaux",requiredDateStart:15643152e5,requiredDateEnd:15643188e5,teamID:2},{orderID:10590,orderDate:15624468e5,orderTotal:1101,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:15649164e5,requiredDateEnd:15649182e5,teamID:2},{orderID:10600,orderDate:15632244e5,orderTotal:479.8,customerCompanyName:"Hungry Coyote Import Store",customerContactName:"Yoshi Latimer",requiredDateStart:15656886e5,requiredDateEnd:15656904e5,teamID:2},{orderID:10606,orderDate:15637428e5,orderTotal:1130.4,customerCompanyName:"Tradição Hipermercados",customerContactName:"Anabela Domingues",requiredDateStart:15662196e5,requiredDateEnd:1566225e6,teamID:2},{orderID:10608,orderDate:15638292e5,orderTotal:1064,customerCompanyName:"Toms Spezialitäten",customerContactName:"Karin Josephs",requiredDateStart:15663042e5,requiredDateEnd:15663078e5,teamID:2},{orderID:10613,orderDate:15643476e5,orderTotal:353.2,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:1566819e6,requiredDateEnd:15668226e5,teamID:2},{orderID:10617,orderDate:15645204e5,orderTotal:1402.5,customerCompanyName:"Great Lakes Food Market",customerContactName:"Howard Snyder",requiredDateStart:15669972e5,requiredDateEnd:15670008e5,teamID:2},{orderID:10621,orderDate:15649524e5,orderTotal:758.5,customerCompanyName:"Island Trading",customerContactName:"Helen Bennett",requiredDateStart:15674148e5,requiredDateEnd:15674184e5,teamID:2},{orderID:10622,orderDate:15650388e5,orderTotal:560,customerCompanyName:"Ricardo Adocicados",customerContactName:"Janete Limeira",requiredDateStart:15674994e5,requiredDateEnd:1567503e6,teamID:2},{orderID:10624,orderDate:15651252e5,orderTotal:1393.24,customerCompanyName:"The Cracker Box",customerContactName:"Liu Wong",requiredDateStart:15675948e5,requiredDateEnd:15675984e5,teamID:2},{orderID:10628,orderDate:15655572e5,orderTotal:450,customerCompanyName:"Blondesddsl père et fils",customerContactName:"Frédérique Citeaux",requiredDateStart:15680178e5,requiredDateEnd:15680214e5,teamID:2},{orderID:10629,orderDate:15655572e5,orderTotal:2775.05,customerCompanyName:"Godos Cocina Típica",customerContactName:"José Pedro Freyre",requiredDateStart:15680358e5,requiredDateEnd:15680394e5,teamID:2},{orderID:10634,orderDate:15658164e5,orderTotal:4985.5,customerCompanyName:"Folies gourmandes",customerContactName:"Martine Rancé",requiredDateStart:1568295e6,requiredDateEnd:15682986e5,teamID:2},{orderID:10636,orderDate:1566162e6,orderTotal:629.5,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15686298e5,requiredDateEnd:15686316e5,teamID:2},{orderID:10640,orderDate:15663348e5,orderTotal:708.75,customerCompanyName:"Die Wandernde Kuh",customerContactName:"Rita Müller",requiredDateStart:1568799e6,requiredDateEnd:15688026e5,teamID:2},{orderID:10641,orderDate:15664212e5,orderTotal:2054,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15688962e5,requiredDateEnd:15688998e5,teamID:2},{orderID:10645,orderDate:15667668e5,orderTotal:1535,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:15692436e5,requiredDateEnd:15692472e5,teamID:2},{orderID:10647,orderDate:15668532e5,orderTotal:636,customerCompanyName:"Que Delícia",customerContactName:"Bernardo Batista",requiredDateStart:15681168e5,requiredDateEnd:15681204e5,teamID:2},{orderID:10652,orderDate:15672852e5,orderTotal:318.835,customerCompanyName:"Gourmet Lanchonetes",customerContactName:"André Fonseca",requiredDateStart:15697566e5,requiredDateEnd:15697584e5,teamID:2},{orderID:10658,orderDate:15676308e5,orderTotal:4464.6,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15700968e5,requiredDateEnd:15701004e5,teamID:2},{orderID:10670,orderDate:15685812e5,orderTotal:2301.75,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:15710436e5,requiredDateEnd:15710454e5,teamID:2},{orderID:10674,orderDate:1568754e6,orderTotal:45,customerCompanyName:"Island Trading",customerContactName:"Helen Bennett",requiredDateStart:15712146e5,requiredDateEnd:157122e7,teamID:2},{orderID:10685,orderDate:15697044e5,orderTotal:801.1,customerCompanyName:"Gourmet Lanchonetes",customerContactName:"André Fonseca",requiredDateStart:15709608e5,requiredDateEnd:15709626e5,teamID:2},{orderID:10688,orderDate:15698772e5,orderTotal:3160.6,customerCompanyName:"Vaffeljernet",customerContactName:"Palle Ibsen",requiredDateStart:15711372e5,requiredDateEnd:15711408e5,teamID:2},{orderID:10692,orderDate:157005e7,orderTotal:878,customerCompanyName:"Alfreds Futterkiste",customerContactName:"Maria Anders",requiredDateStart:15725268e5,requiredDateEnd:15725286e5,teamID:2},{orderID:10698,orderDate:15705684e5,orderTotal:3436.4435,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15730506e5,requiredDateEnd:15730542e5,teamID:2},{orderID:10702,orderDate:1570914e6,orderTotal:330,customerCompanyName:"Alfreds Futterkiste",customerContactName:"Maria Anders",requiredDateStart:1574586e6,requiredDateEnd:15745878e5,teamID:2},{orderID:10707,orderDate:15711732e5,orderTotal:1641,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:15724314e5,requiredDateEnd:1572435e6,teamID:2},{orderID:10716,orderDate:15718644e5,orderTotal:706,customerCompanyName:"Rancho grande",customerContactName:"Sergio Gutiérrez",requiredDateStart:1574343e6,requiredDateEnd:15743466e5,teamID:2},{orderID:10725,orderDate:15724728e5,orderTotal:287.8,customerCompanyName:"Familia Arquibaldo",customerContactName:"Aria Cruz",requiredDateStart:15749334e5,requiredDateEnd:15749388e5,teamID:2},{orderID:10726,orderDate:1572732e6,orderTotal:655,customerCompanyName:"Eastern Connection",customerContactName:"Ann Devon",requiredDateStart:15739866e5,requiredDateEnd:15739902e5,teamID:2},{orderID:10728,orderDate:15728184e5,orderTotal:1296.75,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:1575288e6,requiredDateEnd:15752898e5,teamID:2},{orderID:10740,orderDate:1573596e6,orderTotal:1416,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:15760656e5,requiredDateEnd:15760692e5,teamID:2},{orderID:10741,orderDate:15736824e5,orderTotal:228,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:1574946e6,requiredDateEnd:15749496e5,teamID:2},{orderID:10749,orderDate:15742008e5,orderTotal:1080,customerCompanyName:"Island Trading",customerContactName:"Helen Bennett",requiredDateStart:15766776e5,requiredDateEnd:15766794e5,teamID:2},{orderID:10755,orderDate:15747192e5,orderTotal:1948.5,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:1577178e6,requiredDateEnd:15771798e5,teamID:2},{orderID:10760,orderDate:15751512e5,orderTotal:2917,customerCompanyName:"Maison Dewey",customerContactName:"Catherine Dewey",requiredDateStart:15776298e5,requiredDateEnd:15776316e5,teamID:2},{orderID:10766,orderDate:15754968e5,orderTotal:2310,customerCompanyName:"Ottilies Käseladen",customerContactName:"Henriette Pfalzheim",requiredDateStart:15779646e5,requiredDateEnd:15779682e5,teamID:2},{orderID:10767,orderDate:15754968e5,orderTotal:28,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:1577961e6,requiredDateEnd:15779664e5,teamID:2},{orderID:10774,orderDate:15760152e5,orderTotal:868.75,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15772788e5,requiredDateEnd:15772824e5,teamID:2},{orderID:10783,orderDate:157662e7,orderTotal:1442.5,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:15790824e5,requiredDateEnd:1579086e6,teamID:2},{orderID:10784,orderDate:157662e7,orderTotal:1488,customerCompanyName:"Magazzini Alimentari Riuniti",customerContactName:"Giovanni Rovelli",requiredDateStart:15790824e5,requiredDateEnd:15790878e5,teamID:2},{orderID:10801,orderDate:15775704e5,orderTotal:3026.85,customerCompanyName:"Bólido Comidas preparadas",customerContactName:"Martín Sommer",requiredDateStart:15800382e5,requiredDateEnd:15800436e5,teamID:2},{orderID:10802,orderDate:15775704e5,orderTotal:2942.8125,customerCompanyName:"Simons bistro",customerContactName:"Jytte Petersen",requiredDateStart:15800346e5,requiredDateEnd:15800364e5,teamID:2},{orderID:10803,orderDate:15776568e5,orderTotal:1193.01,customerCompanyName:"Wellington Importadora",customerContactName:"Paula Parente",requiredDateStart:158013e7,requiredDateEnd:15801354e5,teamID:2},{orderID:10807,orderDate:15777432e5,orderTotal:18.4,customerCompanyName:"Franchi S.p.A.",customerContactName:"Paolo Accorti",requiredDateStart:158022e7,requiredDateEnd:15802254e5,teamID:2},{orderID:10816,orderDate:15782616e5,orderTotal:8446.45,customerCompanyName:"Great Lakes Food Market",customerContactName:"Howard Snyder",requiredDateStart:15807348e5,requiredDateEnd:15807366e5,teamID:2},{orderID:10830,orderDate:15788664e5,orderTotal:1974,customerCompanyName:"Tradição Hipermercados",customerContactName:"Anabela Domingues",requiredDateStart:1582551e6,requiredDateEnd:15825528e5,teamID:2},{orderID:10840,orderDate:15793848e5,orderTotal:211.2,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:15831396e5,requiredDateEnd:1583145e6,teamID:2},{orderID:10843,orderDate:15795576e5,orderTotal:159,customerCompanyName:"Victuailles en stock",customerContactName:"Mary Saveley",requiredDateStart:15820326e5,requiredDateEnd:15820362e5,teamID:2},{orderID:10847,orderDate:1579644e6,orderTotal:4931.92,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15808968e5,requiredDateEnd:15808986e5,teamID:2},{orderID:10861,orderDate:15803352e5,orderTotal:3523.4,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:15827994e5,requiredDateEnd:1582803e6,teamID:2},{orderID:10863,orderDate:15805944e5,orderTotal:441.15,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15831414e5,requiredDateEnd:15831432e5,teamID:2},{orderID:10864,orderDate:15805944e5,orderTotal:282,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:15831594e5,requiredDateEnd:15831648e5,teamID:2},{orderID:10873,orderDate:158094e7,orderTotal:336.8,customerCompanyName:"Wilman Kala",customerContactName:"Matti Karttunen",requiredDateStart:15834978e5,requiredDateEnd:15835014e5,teamID:2},{orderID:10875,orderDate:158094e7,orderTotal:709.55,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:1583505e6,requiredDateEnd:15835104e5,teamID:2},{orderID:10878,orderDate:15812856e5,orderTotal:1539,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15838398e5,requiredDateEnd:15838452e5,teamID:2},{orderID:10881,orderDate:1581372e6,orderTotal:150,customerCompanyName:"Cactus Comidas para llevar",customerContactName:"Patricio Simpson",requiredDateStart:15839316e5,requiredDateEnd:15839352e5,teamID:2},{orderID:10882,orderDate:1581372e6,orderTotal:892.64,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:1583928e6,requiredDateEnd:15839298e5,teamID:2},{orderID:10884,orderDate:15814584e5,orderTotal:1378.07,customerCompanyName:"Let's Stop N Shop",customerContactName:"Jaime Yorres",requiredDateStart:15840072e5,requiredDateEnd:15840126e5,teamID:2},{orderID:10892,orderDate:15818904e5,orderTotal:2090,customerCompanyName:"Maison Dewey",customerContactName:"Catherine Dewey",requiredDateStart:15844356e5,requiredDateEnd:15844374e5,teamID:2},{orderID:10898,orderDate:15821496e5,orderTotal:30,customerCompanyName:"Océano Atlántico Ltda.",customerContactName:"Yvonne Moncada",requiredDateStart:15846966e5,requiredDateEnd:1584702e6,teamID:2},{orderID:10901,orderDate:15824088e5,orderTotal:934.5,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15849684e5,requiredDateEnd:1584972e6,teamID:2},{orderID:10906,orderDate:15825816e5,orderTotal:427.5,customerCompanyName:"Wolski Zajazd",customerContactName:"Zbyszek Piestrzeniewicz",requiredDateStart:1583928e6,requiredDateEnd:15839334e5,teamID:2},{orderID:10908,orderDate:1582668e6,orderTotal:663.1,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:1585224e6,requiredDateEnd:15852294e5,teamID:2},{orderID:10913,orderDate:1582668e6,orderTotal:768.75,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:15852204e5,requiredDateEnd:1585224e6,teamID:2},{orderID:10917,orderDate:15831e8,orderTotal:365.89,customerCompanyName:"Romero y tomillo",customerContactName:"Alejandra Camino",requiredDateStart:1585566e6,requiredDateEnd:15855696e5,teamID:2},{orderID:10920,orderDate:15831864e5,orderTotal:390,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:15856488e5,requiredDateEnd:15856524e5,teamID:2},{orderID:10926,orderDate:15832728e5,orderTotal:514.4,customerCompanyName:"Ana Trujillo Emparedados y helados",customerContactName:"Ana Trujillo",requiredDateStart:1585746e6,requiredDateEnd:15857496e5,teamID:2},{orderID:10927,orderDate:15833592e5,orderTotal:800,customerCompanyName:"La corne d'abondance",customerContactName:"Daniel Tonini",requiredDateStart:15858144e5,requiredDateEnd:15858162e5,teamID:2},{orderID:10930,orderDate:15834456e5,orderTotal:2255.5,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:1587123e6,requiredDateEnd:15871248e5,teamID:2},{orderID:10931,orderDate:15834456e5,orderTotal:799.2,customerCompanyName:"Richter Supermarkt",customerContactName:"Michael Holz",requiredDateStart:1584702e6,requiredDateEnd:15847056e5,teamID:2},{orderID:10935,orderDate:15837048e5,orderTotal:619.5,customerCompanyName:"Wellington Importadora",customerContactName:"Paula Parente",requiredDateStart:158616e7,requiredDateEnd:15861654e5,teamID:2},{orderID:10943,orderDate:15838776e5,orderTotal:711,customerCompanyName:"B's Beverages",customerContactName:"Victoria Ashworth",requiredDateStart:15863454e5,requiredDateEnd:1586349e6,teamID:2},{orderID:10945,orderDate:1583964e6,orderTotal:245,customerCompanyName:"Morgenstern Gesundkost",customerContactName:"Alexander Feuer",requiredDateStart:15864354e5,requiredDateEnd:15864408e5,teamID:2},{orderID:10966,orderDate:15846552e5,orderTotal:1098.46,customerCompanyName:"Chop-suey Chinese",customerContactName:"Yang Wang",requiredDateStart:15871158e5,requiredDateEnd:15871176e5,teamID:2},{orderID:10972,orderDate:15850008e5,orderTotal:251.5,customerCompanyName:"La corne d'abondance",customerContactName:"Daniel Tonini",requiredDateStart:15874614e5,requiredDateEnd:1587465e6,teamID:2},{orderID:10980,orderDate:158526e7,orderTotal:248,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15889302e5,requiredDateEnd:15889356e5,teamID:2},{orderID:10996,orderDate:15857748e5,orderTotal:560,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15882336e5,requiredDateEnd:15882372e5,teamID:2},{orderID:11002,orderDate:15861204e5,orderTotal:1811.1,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15885792e5,requiredDateEnd:1588581e6,teamID:2},{orderID:11018,orderDate:15867252e5,orderTotal:1575,customerCompanyName:"Lonesome Pine Restaurant",customerContactName:"Fran Wilson",requiredDateStart:1589193e6,requiredDateEnd:15891948e5,teamID:2},{orderID:11024,orderDate:1586898e6,orderTotal:1966.81,customerCompanyName:"Eastern Connection",customerContactName:"Ann Devon",requiredDateStart:15893658e5,requiredDateEnd:15893712e5,teamID:2},{orderID:11026,orderDate:1586898e6,orderTotal:1030,customerCompanyName:"Franchi S.p.A.",customerContactName:"Paolo Accorti",requiredDateStart:15893694e5,requiredDateEnd:15893712e5,teamID:2},{orderID:11029,orderDate:15869844e5,orderTotal:1286.8,customerCompanyName:"Chop-suey Chinese",customerContactName:"Yang Wang",requiredDateStart:15894432e5,requiredDateEnd:1589445e6,teamID:2},{orderID:11040,orderDate:15875028e5,orderTotal:200,customerCompanyName:"Great Lakes Food Market",customerContactName:"Howard Snyder",requiredDateStart:15899814e5,requiredDateEnd:15899832e5,teamID:2},{orderID:11044,orderDate:15875892e5,orderTotal:591.6,customerCompanyName:"Wolski Zajazd",customerContactName:"Zbyszek Piestrzeniewicz",requiredDateStart:15900552e5,requiredDateEnd:15900588e5,teamID:2},{orderID:11061,orderDate:1588194e6,orderTotal:510,customerCompanyName:"Great Lakes Food Market",customerContactName:"Howard Snyder",requiredDateStart:15918624e5,requiredDateEnd:15918678e5,teamID:2},{orderID:11062,orderDate:1588194e6,orderTotal:406.4,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:1590669e6,requiredDateEnd:15906744e5,teamID:2},{orderID:11072,orderDate:1588626e6,orderTotal:5218,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15911028e5,requiredDateEnd:15911046e5,teamID:2},{orderID:11076,orderDate:15887124e5,orderTotal:792.75,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15911838e5,requiredDateEnd:15911856e5,teamID:2},{orderID:10251,orderDate:15309972e5,orderTotal:654.06,customerCompanyName:"Victuailles en stock",customerContactName:"Mary Saveley",requiredDateStart:15334596e5,requiredDateEnd:15334632e5,teamID:2},{orderID:10253,orderDate:153117e7,orderTotal:1444.8,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:15324336e5,requiredDateEnd:15324372e5,teamID:2},{orderID:10256,orderDate:1531602e6,orderTotal:517.8,customerCompanyName:"Wellington Importadora",customerContactName:"Paula Parente",requiredDateStart:15340752e5,requiredDateEnd:15340806e5,teamID:2},{orderID:10266,orderDate:15325524e5,orderTotal:346.56,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15362226e5,requiredDateEnd:1536228e6,teamID:2},{orderID:10273,orderDate:15334164e5,orderTotal:2037.28,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15358806e5,requiredDateEnd:15358842e5,teamID:2},{orderID:10283,orderDate:15343668e5,orderTotal:1414.8,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15368418e5,requiredDateEnd:15368454e5,teamID:2},{orderID:10309,orderDate:15373044e5,orderTotal:1762,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15397704e5,requiredDateEnd:15397758e5,teamID:2},{orderID:10321,orderDate:1538514e6,orderTotal:144,customerCompanyName:"Island Trading",customerContactName:"Helen Bennett",requiredDateStart:15409872e5,requiredDateEnd:1540989e6,teamID:2},{orderID:10330,orderDate:15396372e5,orderTotal:1649,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15421176e5,requiredDateEnd:15421212e5,teamID:2},{orderID:10332,orderDate:15397236e5,orderTotal:1786.88,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:15433956e5,requiredDateEnd:15433974e5,teamID:2},{orderID:10346,orderDate:15413688e5,orderTotal:1618.88,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15450516e5,requiredDateEnd:15450552e5,teamID:2},{orderID:10352,orderDate:15419736e5,orderTotal:136.3,customerCompanyName:"Furia Bacalhau e Frutos do Mar",customerContactName:"Lino Rodriguez",requiredDateStart:15432246e5,requiredDateEnd:15432282e5,teamID:2},{orderID:10362,orderDate:15430968e5,orderTotal:1549.6,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:154557e7,requiredDateEnd:15455736e5,teamID:2},{orderID:10365,orderDate:15432696e5,orderTotal:403.2,customerCompanyName:"Antonio Moreno Taquería",customerContactName:"Antonio Moreno",requiredDateStart:15457392e5,requiredDateEnd:1545741e6,teamID:2},{orderID:10375,orderDate:15440472e5,orderTotal:338,customerCompanyName:"Hungry Coyote Import Store",customerContactName:"Yoshi Latimer",requiredDateStart:1546506e6,requiredDateEnd:15465078e5,teamID:2},{orderID:10381,orderDate:15445656e5,orderTotal:112,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15470352e5,requiredDateEnd:1547037e6,teamID:2},{orderID:10384,orderDate:15449112e5,orderTotal:2222.4,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15473754e5,requiredDateEnd:15473808e5,teamID:2},{orderID:10391,orderDate:1545516e6,orderTotal:86.4,customerCompanyName:"Drachenblut Delikatessen",customerContactName:"Sven Ottlieb",requiredDateStart:15479748e5,requiredDateEnd:15479802e5,teamID:2},{orderID:10409,orderDate:15469848e5,orderTotal:319.2,customerCompanyName:"Océano Atlántico Ltda.",customerContactName:"Yvonne Moncada",requiredDateStart:15494616e5,requiredDateEnd:15494652e5,teamID:2},{orderID:10410,orderDate:15470712e5,orderTotal:802,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:15495408e5,requiredDateEnd:15495444e5,teamID:2},{orderID:10413,orderDate:15474168e5,orderTotal:2123.2,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:154989e7,requiredDateEnd:15498954e5,teamID:2},{orderID:10415,orderDate:15475032e5,orderTotal:102.4,customerCompanyName:"Hungry Coyote Import Store",customerContactName:"Yoshi Latimer",requiredDateStart:15499674e5,requiredDateEnd:15499692e5,teamID:2},{orderID:10420,orderDate:15480216e5,orderTotal:1707.84,customerCompanyName:"Wellington Importadora",customerContactName:"Paula Parente",requiredDateStart:15504822e5,requiredDateEnd:15504876e5,teamID:2},{orderID:10429,orderDate:15487128e5,orderTotal:1441.375,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:1552383e6,requiredDateEnd:15523848e5,teamID:2},{orderID:10432,orderDate:15488856e5,orderTotal:485,customerCompanyName:"Split Rail Beer & Ale",customerContactName:"Art Braunschweiger",requiredDateStart:15501528e5,requiredDateEnd:15501582e5,teamID:2},{orderID:10433,orderDate:15491448e5,orderTotal:851.2,customerCompanyName:"Princesa Isabel Vinhos",customerContactName:"Isabel de Castro",requiredDateStart:1551618e6,requiredDateEnd:15516198e5,teamID:2},{orderID:10434,orderDate:15491448e5,orderTotal:321.12,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:1551609e6,requiredDateEnd:15516126e5,teamID:2},{orderID:10436,orderDate:15493176e5,orderTotal:1994.52,customerCompanyName:"Blondesddsl père et fils",customerContactName:"Frédérique Citeaux",requiredDateStart:15517872e5,requiredDateEnd:1551789e6,teamID:2},{orderID:10438,orderDate:1549404e6,orderTotal:454,customerCompanyName:"Toms Spezialitäten",customerContactName:"Karin Josephs",requiredDateStart:15518682e5,requiredDateEnd:155187e7,teamID:2},{orderID:10441,orderDate:15497496e5,orderTotal:1755,customerCompanyName:"Old World Delicatessen",customerContactName:"Rene Phillips",requiredDateStart:15534342e5,requiredDateEnd:15534378e5,teamID:2},{orderID:10442,orderDate:1549836e6,orderTotal:1792,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:1552302e6,requiredDateEnd:15523038e5,teamID:2},{orderID:10444,orderDate:15499224e5,orderTotal:1031.7,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15523884e5,requiredDateEnd:15523902e5,teamID:2},{orderID:10445,orderDate:15500088e5,orderTotal:174.9,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15524712e5,requiredDateEnd:15524766e5,teamID:2},{orderID:10449,orderDate:15504408e5,orderTotal:1838.2,customerCompanyName:"Blondesddsl père et fils",customerContactName:"Frédérique Citeaux",requiredDateStart:15529176e5,requiredDateEnd:1552923e6,teamID:2},{orderID:10468,orderDate:15519096e5,orderTotal:717.6,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15543648e5,requiredDateEnd:15543702e5,teamID:2},{orderID:10479,orderDate:15529464e5,orderTotal:10495.6,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15554124e5,requiredDateEnd:15554142e5,teamID:2},{orderID:10484,orderDate:15533784e5,orderTotal:386.2,customerCompanyName:"B's Beverages",customerContactName:"Victoria Ashworth",requiredDateStart:15558462e5,requiredDateEnd:1555848e6,teamID:2},{orderID:10492,orderDate:1554066e6,orderTotal:851.2,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:15565338e5,requiredDateEnd:15565356e5,teamID:2},{orderID:10495,orderDate:15542388e5,orderTotal:278,customerCompanyName:"Laughing Bacchus Wine Cellars",customerContactName:"Yoshi Tannamuri",requiredDateStart:1556703e6,requiredDateEnd:15567084e5,teamID:2},{orderID:10505,orderDate:15551892e5,orderTotal:147.9,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:15576498e5,requiredDateEnd:15576552e5,teamID:2},{orderID:10514,orderDate:15558804e5,orderTotal:8623.45,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:1558359e6,requiredDateEnd:15583644e5,teamID:2},{orderID:10517,orderDate:15560532e5,orderTotal:352,customerCompanyName:"North/South",customerContactName:"Simon Crowther",requiredDateStart:155853e7,requiredDateEnd:15585336e5,teamID:2},{orderID:10530,orderDate:15572628e5,orderTotal:4180,customerCompanyName:"Piccolo und mehr",customerContactName:"Georg Pipps",requiredDateStart:15597306e5,requiredDateEnd:1559736e6,teamID:2},{orderID:10536,orderDate:15577812e5,orderTotal:1645,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:15602472e5,requiredDateEnd:15602526e5,teamID:2},{orderID:10540,orderDate:15582132e5,orderTotal:10191.7,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15606846e5,requiredDateEnd:156069e7,teamID:2},{orderID:10547,orderDate:15585588e5,orderTotal:1792.8,customerCompanyName:"Seven Seas Imports",customerContactName:"Hari Kumar",requiredDateStart:15610176e5,requiredDateEnd:15610212e5,teamID:2},{orderID:10548,orderDate:1558818e6,orderTotal:240.1,customerCompanyName:"Toms Spezialitäten",customerContactName:"Karin Josephs",requiredDateStart:15612858e5,requiredDateEnd:15612876e5,teamID:2},{orderID:10568,orderDate:15603732e5,orderTotal:155,customerCompanyName:"Galería del gastrónomo",customerContactName:"Eduardo Saavedra",requiredDateStart:15628464e5,requiredDateEnd:15628482e5,teamID:2},{orderID:10570,orderDate:15607188e5,orderTotal:2465.25,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:1563192e6,requiredDateEnd:15631956e5,teamID:2},{orderID:10572,orderDate:15608052e5,orderTotal:1501.085,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15632802e5,requiredDateEnd:15632856e5,teamID:2},{orderID:10576,orderDate:15612372e5,orderTotal:838.45,customerCompanyName:"Tortuga Restaurante",customerContactName:"Miguel Angel Paolino",requiredDateStart:15625026e5,requiredDateEnd:15625044e5,teamID:2},{orderID:10581,orderDate:15614964e5,orderTotal:310,customerCompanyName:"Familia Arquibaldo",customerContactName:"Aria Cruz",requiredDateStart:15639714e5,requiredDateEnd:1563975e6,teamID:2},{orderID:10582,orderDate:15615828e5,orderTotal:330,customerCompanyName:"Blauer See Delikatessen",customerContactName:"Hanna Moos",requiredDateStart:15640488e5,requiredDateEnd:15640542e5,teamID:2},{orderID:10592,orderDate:15625332e5,orderTotal:516.4675,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:15650028e5,requiredDateEnd:15650046e5,teamID:2},{orderID:10594,orderDate:15626196e5,orderTotal:565.5,customerCompanyName:"Old World Delicatessen",customerContactName:"Rene Phillips",requiredDateStart:15650964e5,requiredDateEnd:15651e8,teamID:2},{orderID:10619,orderDate:1564866e6,orderTotal:1260,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:1567341e6,requiredDateEnd:15673428e5,teamID:2},{orderID:10625,orderDate:15652116e5,orderTotal:479.75,customerCompanyName:"Ana Trujillo Emparedados y helados",customerContactName:"Ana Trujillo",requiredDateStart:15676776e5,requiredDateEnd:15676794e5,teamID:2},{orderID:10638,orderDate:15662484e5,orderTotal:2720.05,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:1568709e6,requiredDateEnd:15687144e5,teamID:2},{orderID:10644,orderDate:15666804e5,orderTotal:1371.8,customerCompanyName:"Wellington Importadora",customerContactName:"Paula Parente",requiredDateStart:15691464e5,requiredDateEnd:15691482e5,teamID:2},{orderID:10662,orderDate:15679764e5,orderTotal:125,customerCompanyName:"Lonesome Pine Restaurant",customerContactName:"Fran Wilson",requiredDateStart:15704514e5,requiredDateEnd:15704568e5,teamID:2},{orderID:10681,orderDate:15693588e5,orderTotal:1287.4,customerCompanyName:"Great Lakes Food Market",customerContactName:"Howard Snyder",requiredDateStart:15718248e5,requiredDateEnd:15718302e5,teamID:2},{orderID:10682,orderDate:15693588e5,orderTotal:375.5,customerCompanyName:"Antonio Moreno Taquería",customerContactName:"Antonio Moreno",requiredDateStart:15718302e5,requiredDateEnd:15718338e5,teamID:2},{orderID:10684,orderDate:15694452e5,orderTotal:1768,customerCompanyName:"Ottilies Käseladen",customerContactName:"Henriette Pfalzheim",requiredDateStart:15719094e5,requiredDateEnd:15719148e5,teamID:2},{orderID:10693,orderDate:15703092e5,orderTotal:2071.2,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:15715674e5,requiredDateEnd:15715728e5,teamID:2},{orderID:10697,orderDate:1570482e6,orderTotal:805.425,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:15729444e5,requiredDateEnd:1572948e6,teamID:2},{orderID:10699,orderDate:15705684e5,orderTotal:114,customerCompanyName:"Morgenstern Gesundkost",customerContactName:"Alexander Feuer",requiredDateStart:15730362e5,requiredDateEnd:15730398e5,teamID:2},{orderID:10700,orderDate:15706548e5,orderTotal:1638.4,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:1573128e6,requiredDateEnd:15731316e5,teamID:2},{orderID:10712,orderDate:15716052e5,orderTotal:1233.48,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15740676e5,requiredDateEnd:1574073e6,teamID:2},{orderID:10715,orderDate:1571778e6,orderTotal:1296,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15730308e5,requiredDateEnd:15730326e5,teamID:2},{orderID:10723,orderDate:15723864e5,orderTotal:468.45,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:1574856e6,requiredDateEnd:15748596e5,teamID:2},{orderID:10732,orderDate:15729912e5,orderTotal:360,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15754698e5,requiredDateEnd:15754716e5,teamID:2},{orderID:10739,orderDate:15735096e5,orderTotal:240,customerCompanyName:"Vins et alcools Chevalier",customerContactName:"Paul Henriot",requiredDateStart:15759738e5,requiredDateEnd:15759792e5,teamID:2},{orderID:10742,orderDate:15736824e5,orderTotal:3118,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:15761502e5,requiredDateEnd:15761538e5,teamID:2},{orderID:10748,orderDate:15742008e5,orderTotal:2196,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15766704e5,requiredDateEnd:15766758e5,teamID:2},{orderID:10751,orderDate:15745464e5,orderTotal:1631.484,customerCompanyName:"Richter Supermarkt",customerContactName:"Michael Holz",requiredDateStart:1577007e6,requiredDateEnd:15770106e5,teamID:2},{orderID:10753,orderDate:15746328e5,orderTotal:88,customerCompanyName:"Franchi S.p.A.",customerContactName:"Paolo Accorti",requiredDateStart:15770934e5,requiredDateEnd:15770952e5,teamID:2},{orderID:10758,orderDate:1574892e6,orderTotal:1644.6,customerCompanyName:"Richter Supermarkt",customerContactName:"Michael Holz",requiredDateStart:15773526e5,requiredDateEnd:15773544e5,teamID:2},{orderID:10759,orderDate:1574892e6,orderTotal:320,customerCompanyName:"Ana Trujillo Emparedados y helados",customerContactName:"Ana Trujillo",requiredDateStart:15773688e5,requiredDateEnd:15773742e5,teamID:2},{orderID:10762,orderDate:15752376e5,orderTotal:4337,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15777108e5,requiredDateEnd:15777126e5,teamID:2},{orderID:10763,orderDate:1575324e6,orderTotal:616,customerCompanyName:"Folies gourmandes",customerContactName:"Martine Rancé",requiredDateStart:1577799e6,requiredDateEnd:15778008e5,teamID:2},{orderID:10765,orderDate:15754104e5,orderTotal:1515.6,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15778692e5,requiredDateEnd:15778728e5,teamID:2},{orderID:10768,orderDate:1575756e6,orderTotal:1477,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:1578231e6,requiredDateEnd:15782328e5,teamID:2},{orderID:10769,orderDate:1575756e6,orderTotal:1684.275,customerCompanyName:"Vaffeljernet",customerContactName:"Palle Ibsen",requiredDateStart:15782238e5,requiredDateEnd:15782256e5,teamID:2},{orderID:10772,orderDate:15759288e5,orderTotal:3603.22,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:15783876e5,requiredDateEnd:1578393e6,teamID:2},{orderID:10778,orderDate:15764472e5,orderTotal:96.5,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15789132e5,requiredDateEnd:1578915e6,teamID:2},{orderID:10779,orderDate:15764472e5,orderTotal:1335,customerCompanyName:"Morgenstern Gesundkost",customerContactName:"Alexander Feuer",requiredDateStart:15789132e5,requiredDateEnd:15789186e5,teamID:2},{orderID:10793,orderDate:15771384e5,orderTotal:191.1,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:15796134e5,requiredDateEnd:1579617e6,teamID:2},{orderID:10796,orderDate:15772248e5,orderTotal:2341.364,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:1579689e6,requiredDateEnd:15796926e5,teamID:2},{orderID:10806,orderDate:15777432e5,orderTotal:439.6,customerCompanyName:"Victuailles en stock",customerContactName:"Mary Saveley",requiredDateStart:15802092e5,requiredDateEnd:15802128e5,teamID:2},{orderID:10814,orderDate:15781752e5,orderTotal:1788.45,customerCompanyName:"Victuailles en stock",customerContactName:"Mary Saveley",requiredDateStart:15806394e5,requiredDateEnd:15806448e5,teamID:2},{orderID:10817,orderDate:15782616e5,orderTotal:10952.845,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15795162e5,requiredDateEnd:15795216e5,teamID:2},{orderID:10820,orderDate:1578348e6,orderTotal:1140,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15808104e5,requiredDateEnd:15808122e5,teamID:2},{orderID:10831,orderDate:15789528e5,orderTotal:2684.4,customerCompanyName:"Santé Gourmet",customerContactName:"Jonas Bergulfsen",requiredDateStart:1581426e6,requiredDateEnd:15814278e5,teamID:2},{orderID:10838,orderDate:15793848e5,orderTotal:1938.375,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:15818526e5,requiredDateEnd:15818544e5,teamID:2},{orderID:10839,orderDate:15793848e5,orderTotal:827.55,customerCompanyName:"Tradição Hipermercados",customerContactName:"Anabela Domingues",requiredDateStart:15818616e5,requiredDateEnd:15818652e5,teamID:2},{orderID:10854,orderDate:1580076e6,orderTotal:2966.5,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15825366e5,requiredDateEnd:1582542e6,teamID:2},{orderID:10855,orderDate:1580076e6,orderTotal:2227.8875,customerCompanyName:"Old World Delicatessen",customerContactName:"Rene Phillips",requiredDateStart:1582551e6,requiredDateEnd:15825564e5,teamID:2},{orderID:10856,orderDate:15801624e5,orderTotal:660,customerCompanyName:"Antonio Moreno Taquería",customerContactName:"Antonio Moreno",requiredDateStart:15826266e5,requiredDateEnd:15826284e5,teamID:2},{orderID:10860,orderDate:15802488e5,orderTotal:519,customerCompanyName:"France restauration",customerContactName:"Carine Schmitt",requiredDateStart:15827274e5,requiredDateEnd:1582731e6,teamID:2},{orderID:10879,orderDate:15812856e5,orderTotal:611.3,customerCompanyName:"Wilman Kala",customerContactName:"Matti Karttunen",requiredDateStart:1583838e6,requiredDateEnd:15838398e5,teamID:2},{orderID:10895,orderDate:15819768e5,orderTotal:6379.4,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:158454e7,requiredDateEnd:15845436e5,teamID:2},{orderID:10897,orderDate:15820632e5,orderTotal:10835.24,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15846282e5,requiredDateEnd:15846318e5,teamID:2},{orderID:10903,orderDate:15824952e5,orderTotal:932.05,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:15850476e5,requiredDateEnd:15850494e5,teamID:2},{orderID:10904,orderDate:15824952e5,orderTotal:1924.25,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:15850566e5,requiredDateEnd:15850602e5,teamID:2},{orderID:10911,orderDate:1582668e6,orderTotal:858,customerCompanyName:"Godos Cocina Típica",customerContactName:"José Pedro Freyre",requiredDateStart:15852186e5,requiredDateEnd:15852222e5,teamID:2},{orderID:10918,orderDate:15831e8,orderTotal:1447.5,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:15855552e5,requiredDateEnd:15855606e5,teamID:2},{orderID:10924,orderDate:15832728e5,orderTotal:1835.7,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15857388e5,requiredDateEnd:15857442e5,teamID:2},{orderID:10925,orderDate:15832728e5,orderTotal:475.15,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:15857352e5,requiredDateEnd:15857406e5,teamID:2},{orderID:10934,orderDate:15837048e5,orderTotal:500,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:15861618e5,requiredDateEnd:15861636e5,teamID:2},{orderID:10936,orderDate:15837048e5,orderTotal:456,customerCompanyName:"Great Lakes Food Market",customerContactName:"Howard Snyder",requiredDateStart:15861762e5,requiredDateEnd:15861816e5,teamID:2},{orderID:10938,orderDate:15837912e5,orderTotal:2731.875,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15862536e5,requiredDateEnd:1586259e6,teamID:2},{orderID:10947,orderDate:15840504e5,orderTotal:220,customerCompanyName:"B's Beverages",customerContactName:"Victoria Ashworth",requiredDateStart:15865254e5,requiredDateEnd:15865272e5,teamID:2},{orderID:10948,orderDate:15840504e5,orderTotal:2362.25,customerCompanyName:"Godos Cocina Típica",customerContactName:"José Pedro Freyre",requiredDateStart:15865056e5,requiredDateEnd:15865092e5,teamID:2},{orderID:10960,orderDate:15845688e5,orderTotal:265.35,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15858306e5,requiredDateEnd:15858342e5,teamID:2},{orderID:10964,orderDate:15846552e5,orderTotal:2052.5,customerCompanyName:"Spécialités du monde",customerContactName:"Dominique Perrier",requiredDateStart:1587114e6,requiredDateEnd:15871176e5,teamID:2},{orderID:10974,orderDate:15850872e5,orderTotal:439,customerCompanyName:"Split Rail Beer & Ale",customerContactName:"Art Braunschweiger",requiredDateStart:1586349e6,requiredDateEnd:15863544e5,teamID:2},{orderID:10988,orderDate:1585602e6,orderTotal:3574.8,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15880752e5,requiredDateEnd:15880806e5,teamID:2},{orderID:11003,orderDate:15861204e5,orderTotal:326,customerCompanyName:"The Cracker Box",customerContactName:"Liu Wong",requiredDateStart:15885918e5,requiredDateEnd:15885936e5,teamID:2},{orderID:11004,orderDate:15862068e5,orderTotal:295.38,customerCompanyName:"Maison Dewey",customerContactName:"Catherine Dewey",requiredDateStart:1588671e6,requiredDateEnd:15886746e5,teamID:2},{orderID:11006,orderDate:15862068e5,orderTotal:329.685,customerCompanyName:"Great Lakes Food Market",customerContactName:"Howard Snyder",requiredDateStart:158868e7,requiredDateEnd:15886818e5,teamID:2},{orderID:11011,orderDate:15863796e5,orderTotal:933.5,customerCompanyName:"Alfreds Futterkiste",customerContactName:"Maria Anders",requiredDateStart:15888474e5,requiredDateEnd:15888492e5,teamID:2},{orderID:11021,orderDate:15868116e5,orderTotal:6306.24,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15892848e5,requiredDateEnd:15892884e5,teamID:2},{orderID:11041,orderDate:15875028e5,orderTotal:1773,customerCompanyName:"Chop-suey Chinese",customerContactName:"Yang Wang",requiredDateStart:15899688e5,requiredDateEnd:15899706e5,teamID:2},{orderID:11049,orderDate:15876756e5,orderTotal:273.6,customerCompanyName:"Gourmet Lanchonetes",customerContactName:"André Fonseca",requiredDateStart:15901416e5,requiredDateEnd:15901452e5,teamID:2},{orderID:11052,orderDate:15879348e5,orderTotal:1332,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:15903954e5,requiredDateEnd:1590399e6,teamID:2},{orderID:11057,orderDate:15881076e5,orderTotal:45,customerCompanyName:"North/South",customerContactName:"Simon Crowther",requiredDateStart:15905772e5,requiredDateEnd:15905826e5,teamID:2},{orderID:11063,orderDate:1588194e6,orderTotal:1342.95,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15906546e5,requiredDateEnd:15906564e5,teamID:2},{orderID:10265,orderDate:1532466e6,orderTotal:1176,customerCompanyName:"Blondesddsl père et fils",customerContactName:"Frédérique Citeaux",requiredDateStart:15349338e5,requiredDateEnd:15349374e5,teamID:1},{orderID:10277,orderDate:1533762e6,orderTotal:1200.8,customerCompanyName:"Morgenstern Gesundkost",customerContactName:"Alexander Feuer",requiredDateStart:15362316e5,requiredDateEnd:15362334e5,teamID:1},{orderID:10280,orderDate:1534194e6,orderTotal:613.2,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15366528e5,requiredDateEnd:15366564e5,teamID:1},{orderID:10295,orderDate:15358356e5,orderTotal:121.6,customerCompanyName:"Vins et alcools Chevalier",customerContactName:"Paul Henriot",requiredDateStart:15382962e5,requiredDateEnd:15382998e5,teamID:1},{orderID:10300,orderDate:15364404e5,orderTotal:608,customerCompanyName:"Magazzini Alimentari Riuniti",customerContactName:"Giovanni Rovelli",requiredDateStart:15389082e5,requiredDateEnd:15389136e5,teamID:1},{orderID:10307,orderDate:15371316e5,orderTotal:424,customerCompanyName:"Lonesome Pine Restaurant",customerContactName:"Fran Wilson",requiredDateStart:15396048e5,requiredDateEnd:15396066e5,teamID:1},{orderID:10312,orderDate:153765e7,orderTotal:1614.8,customerCompanyName:"Die Wandernde Kuh",customerContactName:"Rita Müller",requiredDateStart:1540116e6,requiredDateEnd:15401196e5,teamID:1},{orderID:10313,orderDate:15377364e5,orderTotal:182.4,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15401952e5,requiredDateEnd:15402006e5,teamID:1},{orderID:10327,orderDate:15392052e5,orderTotal:1810,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:1541673e6,requiredDateEnd:15416748e5,teamID:1},{orderID:10339,orderDate:1540674e6,orderTotal:3354,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:154314e7,requiredDateEnd:15431418e5,teamID:1},{orderID:10345,orderDate:15412824e5,orderTotal:2924.8,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:1543761e6,requiredDateEnd:15437664e5,teamID:1},{orderID:10368,orderDate:15434424e5,orderTotal:1689.78,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15459066e5,requiredDateEnd:1545912e6,teamID:1},{orderID:10379,orderDate:15444792e5,orderTotal:863.28,customerCompanyName:"Que Delícia",customerContactName:"Bernardo Batista",requiredDateStart:1546956e6,requiredDateEnd:15469614e5,teamID:1},{orderID:10388,orderDate:15451704e5,orderTotal:1228.8,customerCompanyName:"Seven Seas Imports",customerContactName:"Hari Kumar",requiredDateStart:15476418e5,requiredDateEnd:15476472e5,teamID:1},{orderID:10392,orderDate:15456024e5,orderTotal:1440,customerCompanyName:"Piccolo und mehr",customerContactName:"Georg Pipps",requiredDateStart:1548063e6,requiredDateEnd:15480666e5,teamID:1},{orderID:10398,orderDate:15461208e5,orderTotal:2505.6,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15485796e5,requiredDateEnd:1548585e6,teamID:1},{orderID:10404,orderDate:15464664e5,orderTotal:1591.25,customerCompanyName:"Magazzini Alimentari Riuniti",customerContactName:"Giovanni Rovelli",requiredDateStart:15489288e5,requiredDateEnd:15489324e5,teamID:1},{orderID:10407,orderDate:1546812e6,orderTotal:1194,customerCompanyName:"Ottilies Käseladen",customerContactName:"Henriette Pfalzheim",requiredDateStart:15492852e5,requiredDateEnd:15492888e5,teamID:1},{orderID:10414,orderDate:15474168e5,orderTotal:224.83,customerCompanyName:"Familia Arquibaldo",customerContactName:"Aria Cruz",requiredDateStart:15498792e5,requiredDateEnd:1549881e6,teamID:1},{orderID:10422,orderDate:1548108e6,orderTotal:49.8,customerCompanyName:"Franchi S.p.A.",customerContactName:"Paolo Accorti",requiredDateStart:1550583e6,requiredDateEnd:15505866e5,teamID:1},{orderID:10457,orderDate:15510456e5,orderTotal:1584,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15535134e5,requiredDateEnd:1553517e6,teamID:1},{orderID:10462,orderDate:1551564e6,orderTotal:156,customerCompanyName:"Consolidated Holdings",customerContactName:"Elizabeth Brown",requiredDateStart:15540426e5,requiredDateEnd:15540462e5,teamID:1},{orderID:10471,orderDate:15522552e5,orderTotal:1328,customerCompanyName:"B's Beverages",customerContactName:"Victoria Ashworth",requiredDateStart:15547158e5,requiredDateEnd:15547212e5,teamID:1},{orderID:10478,orderDate:155286e7,orderTotal:471.2,customerCompanyName:"Victuailles en stock",customerContactName:"Mary Saveley",requiredDateStart:15541164e5,requiredDateEnd:155412e7,teamID:1},{orderID:10487,orderDate:15535512e5,orderTotal:889.7,customerCompanyName:"Queen Cozinha",customerContactName:"Lúcia Carvalho",requiredDateStart:15560064e5,requiredDateEnd:155601e7,teamID:1},{orderID:10502,orderDate:15548436e5,orderTotal:816.3,customerCompanyName:"Pericles Comidas clásicas",customerContactName:"Guillermo Fernández",requiredDateStart:15573132e5,requiredDateEnd:1557315e6,teamID:1},{orderID:10515,orderDate:15559668e5,orderTotal:9921.3,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15572178e5,requiredDateEnd:15572214e5,teamID:1},{orderID:10516,orderDate:15560532e5,orderTotal:2381.05,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15585138e5,requiredDateEnd:15585192e5,teamID:1},{orderID:10541,orderDate:15582132e5,orderTotal:1946.52,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:15606846e5,requiredDateEnd:15606882e5,teamID:1},{orderID:10552,orderDate:15590772e5,orderTotal:880.5,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15615432e5,requiredDateEnd:15615486e5,teamID:1},{orderID:10553,orderDate:15591636e5,orderTotal:1546.3,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15616278e5,requiredDateEnd:15616296e5,teamID:1},{orderID:10556,orderDate:15595092e5,orderTotal:835.2,customerCompanyName:"Simons bistro",customerContactName:"Jytte Petersen",requiredDateStart:15631776e5,requiredDateEnd:15631812e5,teamID:1},{orderID:10561,orderDate:15597684e5,orderTotal:2844.5,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15622308e5,requiredDateEnd:15622326e5,teamID:1},{orderID:10563,orderDate:1560114e6,orderTotal:965,customerCompanyName:"Ricardo Adocicados",customerContactName:"Janete Limeira",requiredDateStart:15637896e5,requiredDateEnd:15637914e5,teamID:1},{orderID:10583,orderDate:1561842e6,orderTotal:2237.5,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15643152e5,requiredDateEnd:1564317e6,teamID:1},{orderID:10588,orderDate:15621012e5,orderTotal:3120,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:1564578e6,requiredDateEnd:15645834e5,teamID:1},{orderID:10595,orderDate:1562706e6,orderTotal:4725,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:1565181e6,requiredDateEnd:15651828e5,teamID:1},{orderID:10615,orderDate:1564434e6,orderTotal:120,customerCompanyName:"Wilman Kala",customerContactName:"Matti Karttunen",requiredDateStart:15669e8,requiredDateEnd:15669018e5,teamID:1},{orderID:10620,orderDate:15649524e5,orderTotal:57.5,customerCompanyName:"Laughing Bacchus Wine Cellars",customerContactName:"Yoshi Tannamuri",requiredDateStart:1567422e6,requiredDateEnd:15674238e5,teamID:1},{orderID:10657,orderDate:15675444e5,orderTotal:4371.6,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15700122e5,requiredDateEnd:15700158e5,teamID:1},{orderID:10663,orderDate:15680628e5,orderTotal:1930.4,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15693282e5,requiredDateEnd:15693336e5,teamID:1},{orderID:10669,orderDate:15684948e5,orderTotal:570,customerCompanyName:"Simons bistro",customerContactName:"Jytte Petersen",requiredDateStart:15709662e5,requiredDateEnd:1570968e6,teamID:1},{orderID:10673,orderDate:1568754e6,orderTotal:412.35,customerCompanyName:"Wilman Kala",customerContactName:"Matti Karttunen",requiredDateStart:15712308e5,requiredDateEnd:15712344e5,teamID:1},{orderID:10676,orderDate:15690996e5,orderTotal:534.85,customerCompanyName:"Tortuga Restaurante",customerContactName:"Miguel Angel Paolino",requiredDateStart:15715692e5,requiredDateEnd:15715746e5,teamID:1},{orderID:10683,orderDate:15694452e5,orderTotal:63,customerCompanyName:"Du monde entier",customerContactName:"Janine Labrune",requiredDateStart:15719076e5,requiredDateEnd:15719094e5,teamID:1},{orderID:10686,orderDate:15697908e5,orderTotal:1404.45,customerCompanyName:"Piccolo und mehr",customerContactName:"Georg Pipps",requiredDateStart:1572255e6,requiredDateEnd:15722568e5,teamID:1},{orderID:10691,orderDate:157005e7,orderTotal:10164.8,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15737292e5,requiredDateEnd:1573731e6,teamID:1},{orderID:10727,orderDate:1572732e6,orderTotal:1624.5,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:1575207e6,requiredDateEnd:15752124e5,teamID:1},{orderID:10734,orderDate:15730776e5,orderTotal:1498.35,customerCompanyName:"Gourmet Lanchonetes",customerContactName:"André Fonseca",requiredDateStart:15755526e5,requiredDateEnd:15755562e5,teamID:1},{orderID:10737,orderDate:15734232e5,orderTotal:139.8,customerCompanyName:"Vins et alcools Chevalier",customerContactName:"Paul Henriot",requiredDateStart:15759018e5,requiredDateEnd:15759054e5,teamID:1},{orderID:10738,orderDate:15735096e5,orderTotal:52.35,customerCompanyName:"Spécialités du monde",customerContactName:"Dominique Perrier",requiredDateStart:1575972e6,requiredDateEnd:15759774e5,teamID:1},{orderID:10752,orderDate:15745464e5,orderTotal:252,customerCompanyName:"North/South",customerContactName:"Simon Crowther",requiredDateStart:15770196e5,requiredDateEnd:15770232e5,teamID:1},{orderID:10780,orderDate:15764472e5,orderTotal:720,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15776964e5,requiredDateEnd:15777e8,teamID:1},{orderID:10781,orderDate:15765336e5,orderTotal:975.88,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15790068e5,requiredDateEnd:15790086e5,teamID:1},{orderID:10787,orderDate:15767064e5,orderTotal:2622.76,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15779628e5,requiredDateEnd:15779682e5,teamID:1},{orderID:10798,orderDate:15773112e5,orderTotal:446.6,customerCompanyName:"Island Trading",customerContactName:"Helen Bennett",requiredDateStart:15797826e5,requiredDateEnd:15797862e5,teamID:1},{orderID:10805,orderDate:15776568e5,orderTotal:2775,customerCompanyName:"The Big Cheese",customerContactName:"Liz Nixon",requiredDateStart:15801246e5,requiredDateEnd:15801282e5,teamID:1},{orderID:10808,orderDate:15778296e5,orderTotal:1411,customerCompanyName:"Old World Delicatessen",customerContactName:"Rene Phillips",requiredDateStart:15802902e5,requiredDateEnd:15802956e5,teamID:1},{orderID:10810,orderDate:15778296e5,orderTotal:187,customerCompanyName:"Laughing Bacchus Wine Cellars",customerContactName:"Yoshi Tannamuri",requiredDateStart:15803064e5,requiredDateEnd:15803082e5,teamID:1},{orderID:10815,orderDate:15781752e5,orderTotal:40,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15806466e5,requiredDateEnd:1580652e6,teamID:1},{orderID:10819,orderDate:1578348e6,orderTotal:477,customerCompanyName:"Cactus Comidas para llevar",customerContactName:"Patricio Simpson",requiredDateStart:15808176e5,requiredDateEnd:15808194e5,teamID:1},{orderID:10832,orderDate:15789528e5,orderTotal:475.11,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15814134e5,requiredDateEnd:15814152e5,teamID:1},{orderID:10846,orderDate:1579644e6,orderTotal:1112,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:15834114e5,requiredDateEnd:1583415e6,teamID:1},{orderID:10858,orderDate:15802488e5,orderTotal:649,customerCompanyName:"La corne d'abondance",customerContactName:"Daniel Tonini",requiredDateStart:15827184e5,requiredDateEnd:1582722e6,teamID:1},{orderID:10865,orderDate:15805944e5,orderTotal:16387.5,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15818472e5,requiredDateEnd:15818508e5,teamID:1},{orderID:10912,orderDate:1582668e6,orderTotal:6200.55,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15852204e5,requiredDateEnd:15852222e5,teamID:1},{orderID:10915,orderDate:15827544e5,orderTotal:539.5,customerCompanyName:"Tortuga Restaurante",customerContactName:"Miguel Angel Paolino",requiredDateStart:15853176e5,requiredDateEnd:15853212e5,teamID:1},{orderID:10919,orderDate:15831e8,orderTotal:1122.8,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:1585575e6,requiredDateEnd:15855804e5,teamID:1},{orderID:10939,orderDate:15837912e5,orderTotal:637.5,customerCompanyName:"Magazzini Alimentari Riuniti",customerContactName:"Giovanni Rovelli",requiredDateStart:15862554e5,requiredDateEnd:1586259e6,teamID:1},{orderID:10949,orderDate:15840504e5,orderTotal:4422,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:15865146e5,requiredDateEnd:15865164e5,teamID:1},{orderID:10967,orderDate:15849144e5,orderTotal:910.4,customerCompanyName:"Toms Spezialitäten",customerContactName:"Karin Josephs",requiredDateStart:15873732e5,requiredDateEnd:15873768e5,teamID:1},{orderID:10971,orderDate:15850008e5,orderTotal:1733.06,customerCompanyName:"France restauration",customerContactName:"Carine Schmitt",requiredDateStart:15874668e5,requiredDateEnd:15874704e5,teamID:1},{orderID:10982,orderDate:158526e7,orderTotal:1014,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:1587717e6,requiredDateEnd:15877206e5,teamID:1},{orderID:10983,orderDate:158526e7,orderTotal:720.9,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15877278e5,requiredDateEnd:15877296e5,teamID:1},{orderID:10985,orderDate:15855156e5,orderTotal:2023.38,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:1587978e6,requiredDateEnd:15879834e5,teamID:1},{orderID:10989,orderDate:1585602e6,orderTotal:1353.6,customerCompanyName:"Que Delícia",customerContactName:"Bernardo Batista",requiredDateStart:15880626e5,requiredDateEnd:1588068e6,teamID:1},{orderID:10990,orderDate:15856884e5,orderTotal:4288.85,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15893622e5,requiredDateEnd:1589364e6,teamID:1},{orderID:10994,orderDate:15857748e5,orderTotal:940.5,customerCompanyName:"Vaffeljernet",customerContactName:"Palle Ibsen",requiredDateStart:15870402e5,requiredDateEnd:1587042e6,teamID:1},{orderID:11e3,orderDate:15861204e5,orderTotal:903.75,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:1588581e6,requiredDateEnd:15885864e5,teamID:1},{orderID:11001,orderDate:15861204e5,orderTotal:2769,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15885972e5,requiredDateEnd:1588599e6,teamID:1},{orderID:11005,orderDate:15862068e5,orderTotal:586,customerCompanyName:"Wilman Kala",customerContactName:"Matti Karttunen",requiredDateStart:1588671e6,requiredDateEnd:15886728e5,teamID:1},{orderID:11009,orderDate:15862932e5,orderTotal:616.5,customerCompanyName:"Godos Cocina Típica",customerContactName:"José Pedro Freyre",requiredDateStart:15887538e5,requiredDateEnd:15887556e5,teamID:1},{orderID:11010,orderDate:15863796e5,orderTotal:645,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:1588851e6,requiredDateEnd:15888528e5,teamID:1},{orderID:11013,orderDate:15863796e5,orderTotal:361,customerCompanyName:"Romero y tomillo",customerContactName:"Alejandra Camino",requiredDateStart:15888492e5,requiredDateEnd:1588851e6,teamID:1},{orderID:11014,orderDate:1586466e6,orderTotal:243.18,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:1588932e6,requiredDateEnd:15889356e5,teamID:1},{orderID:11015,orderDate:1586466e6,orderTotal:622.35,customerCompanyName:"Santé Gourmet",customerContactName:"Jonas Bergulfsen",requiredDateStart:15877314e5,requiredDateEnd:15877368e5,teamID:1},{orderID:11020,orderDate:15868116e5,orderTotal:632.4,customerCompanyName:"Ottilies Käseladen",customerContactName:"Henriette Pfalzheim",requiredDateStart:15892812e5,requiredDateEnd:15892848e5,teamID:1},{orderID:11028,orderDate:15869844e5,orderTotal:2160,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:1589445e6,requiredDateEnd:15894486e5,teamID:1},{orderID:11032,orderDate:15870708e5,orderTotal:8902.5,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:15895494e5,requiredDateEnd:1589553e6,teamID:1},{orderID:11035,orderDate:158733e7,orderTotal:1754.5,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:15898014e5,requiredDateEnd:15898032e5,teamID:1},{orderID:11042,orderDate:15875028e5,orderTotal:405.75,customerCompanyName:"Comércio Mineiro",customerContactName:"Pedro Afonso",requiredDateStart:158877e7,requiredDateEnd:15887718e5,teamID:1},{orderID:11053,orderDate:15879348e5,orderTotal:3055,customerCompanyName:"Piccolo und mehr",customerContactName:"Georg Pipps",requiredDateStart:15903954e5,requiredDateEnd:1590399e6,teamID:1},{orderID:11059,orderDate:15881076e5,orderTotal:1838,customerCompanyName:"Ricardo Adocicados",customerContactName:"Janete Limeira",requiredDateStart:15917958e5,requiredDateEnd:15917994e5,teamID:1},{orderID:11060,orderDate:1588194e6,orderTotal:266,customerCompanyName:"Franchi S.p.A.",customerContactName:"Paolo Accorti",requiredDateStart:15906546e5,requiredDateEnd:15906564e5,teamID:1},{orderID:11070,orderDate:1588626e6,orderTotal:1629.975,customerCompanyName:"Lehmanns Marktstand",customerContactName:"Renate Messner",requiredDateStart:15910956e5,requiredDateEnd:15910992e5,teamID:1},{orderID:11073,orderDate:1588626e6,orderTotal:300,customerCompanyName:"Pericles Comidas clásicas",customerContactName:"Guillermo Fernández",requiredDateStart:15911046e5,requiredDateEnd:159111e7,teamID:1},{orderID:10258,orderDate:15317748e5,orderTotal:1614.88,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15342462e5,requiredDateEnd:1534248e6,teamID:1},{orderID:10270,orderDate:15330708e5,orderTotal:1376,customerCompanyName:"Wartian Herkku",customerContactName:"Pirkko Koskitalo",requiredDateStart:15355332e5,requiredDateEnd:15355386e5,teamID:1},{orderID:10275,orderDate:15335892e5,orderTotal:291.84,customerCompanyName:"Magazzini Alimentari Riuniti",customerContactName:"Giovanni Rovelli",requiredDateStart:15360588e5,requiredDateEnd:15360624e5,teamID:1},{orderID:10285,orderDate:15347124e5,orderTotal:1743.36,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15371874e5,requiredDateEnd:15371928e5,teamID:1},{orderID:10292,orderDate:15354036e5,orderTotal:1296,customerCompanyName:"Tradição Hipermercados",customerContactName:"Anabela Domingues",requiredDateStart:15378786e5,requiredDateEnd:1537884e6,teamID:1},{orderID:10293,orderDate:153549e7,orderTotal:848.7,customerCompanyName:"Tortuga Restaurante",customerContactName:"Miguel Angel Paolino",requiredDateStart:15379614e5,requiredDateEnd:15379668e5,teamID:1},{orderID:10304,orderDate:15366996e5,orderTotal:954.4,customerCompanyName:"Tortuga Restaurante",customerContactName:"Miguel Angel Paolino",requiredDateStart:15391674e5,requiredDateEnd:15391728e5,teamID:1},{orderID:10306,orderDate:15370452e5,orderTotal:498.5,customerCompanyName:"Romero y tomillo",customerContactName:"Alejandra Camino",requiredDateStart:15395184e5,requiredDateEnd:1539522e6,teamID:1},{orderID:10311,orderDate:15373908e5,orderTotal:268.8,customerCompanyName:"Du monde entier",customerContactName:"Janine Labrune",requiredDateStart:15386526e5,requiredDateEnd:1538658e6,teamID:1},{orderID:10314,orderDate:15378228e5,orderTotal:2094.3,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15402852e5,requiredDateEnd:15402906e5,teamID:1},{orderID:10316,orderDate:15379956e5,orderTotal:2835,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15404688e5,requiredDateEnd:15404706e5,teamID:1},{orderID:10325,orderDate:15390324e5,orderTotal:1497,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15402906e5,requiredDateEnd:1540296e6,teamID:1},{orderID:10340,orderDate:1540764e6,orderTotal:2436.18,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15432354e5,requiredDateEnd:15432408e5,teamID:1},{orderID:10351,orderDate:15418872e5,orderTotal:5398.725,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15443478e5,requiredDateEnd:15443496e5,teamID:1},{orderID:10357,orderDate:15425784e5,orderTotal:1167.68,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15450462e5,requiredDateEnd:15450516e5,teamID:1},{orderID:10361,orderDate:15428376e5,orderTotal:2046.24,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15453162e5,requiredDateEnd:15453198e5,teamID:1},{orderID:10364,orderDate:15431832e5,orderTotal:950,customerCompanyName:"Eastern Connection",customerContactName:"Ann Devon",requiredDateStart:15468516e5,requiredDateEnd:15468534e5,teamID:1},{orderID:10371,orderDate:1543788e6,orderTotal:72.96,customerCompanyName:"La maison d'Asie",customerContactName:"Annette Roulet",requiredDateStart:15462612e5,requiredDateEnd:15462648e5,teamID:1},{orderID:10374,orderDate:15439608e5,orderTotal:459,customerCompanyName:"Wolski Zajazd",customerContactName:"Zbyszek Piestrzeniewicz",requiredDateStart:15464196e5,requiredDateEnd:15464232e5,teamID:1},{orderID:10376,orderDate:15443064e5,orderTotal:399,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:15467688e5,requiredDateEnd:15467706e5,teamID:1},{orderID:10377,orderDate:15443064e5,orderTotal:863.6,customerCompanyName:"Seven Seas Imports",customerContactName:"Hari Kumar",requiredDateStart:15467832e5,requiredDateEnd:15467886e5,teamID:1},{orderID:10385,orderDate:15449976e5,orderTotal:691.2,customerCompanyName:"Split Rail Beer & Ale",customerContactName:"Art Braunschweiger",requiredDateStart:15474582e5,requiredDateEnd:15474636e5,teamID:1},{orderID:10387,orderDate:1545084e6,orderTotal:1058.4,customerCompanyName:"Santé Gourmet",customerContactName:"Jonas Bergulfsen",requiredDateStart:1547559e6,requiredDateEnd:15475626e5,teamID:1},{orderID:10393,orderDate:15456888e5,orderTotal:2556.95,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:1548162e6,requiredDateEnd:15481656e5,teamID:1},{orderID:10394,orderDate:15456888e5,orderTotal:442,customerCompanyName:"Hungry Coyote Import Store",customerContactName:"Yoshi Latimer",requiredDateStart:15481584e5,requiredDateEnd:15481602e5,teamID:1},{orderID:10396,orderDate:15458616e5,orderTotal:1903.8,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:1547118e6,requiredDateEnd:15471216e5,teamID:1},{orderID:10400,orderDate:15462936e5,orderTotal:3063,customerCompanyName:"Eastern Connection",customerContactName:"Ann Devon",requiredDateStart:15487614e5,requiredDateEnd:1548765e6,teamID:1},{orderID:10401,orderDate:15462936e5,orderTotal:3868.6,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15487722e5,requiredDateEnd:15487758e5,teamID:1},{orderID:10405,orderDate:15467256e5,orderTotal:400,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:15492006e5,requiredDateEnd:15492024e5,teamID:1},{orderID:10453,orderDate:15507e8,orderTotal:407.7,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:15531606e5,requiredDateEnd:15531624e5,teamID:1},{orderID:10461,orderDate:15513048e5,orderTotal:1538.7,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:1553769e6,requiredDateEnd:15537744e5,teamID:1},{orderID:10465,orderDate:15517368e5,orderTotal:2518,customerCompanyName:"Vaffeljernet",customerContactName:"Palle Ibsen",requiredDateStart:1554201e6,requiredDateEnd:15542064e5,teamID:1},{orderID:10469,orderDate:15521688e5,orderTotal:956.675,customerCompanyName:"White Clover Markets",customerContactName:"Karl Jablonski",requiredDateStart:15546276e5,requiredDateEnd:15546294e5,teamID:1},{orderID:10473,orderDate:1552428e6,orderTotal:230.4,customerCompanyName:"Island Trading",customerContactName:"Helen Bennett",requiredDateStart:1553697e6,requiredDateEnd:15537006e5,teamID:1},{orderID:10482,orderDate:15531192e5,orderTotal:147,customerCompanyName:"Lazy K Kountry Store",customerContactName:"John Steel",requiredDateStart:15555924e5,requiredDateEnd:1555596e6,teamID:1},{orderID:10486,orderDate:15535512e5,orderTotal:1272,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:155601e7,requiredDateEnd:15560136e5,teamID:1},{orderID:10508,orderDate:1555362e6,orderTotal:240,customerCompanyName:"Ottilies Käseladen",customerContactName:"Henriette Pfalzheim",requiredDateStart:15578244e5,requiredDateEnd:15578298e5,teamID:1},{orderID:10524,orderDate:1556658e6,orderTotal:3192.65,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15591312e5,requiredDateEnd:1559133e6,teamID:1},{orderID:10525,orderDate:15567444e5,orderTotal:818.4,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15592086e5,requiredDateEnd:15592104e5,teamID:1},{orderID:10537,orderDate:15577812e5,orderTotal:1823.8,customerCompanyName:"Richter Supermarkt",customerContactName:"Michael Holz",requiredDateStart:15590502e5,requiredDateEnd:1559052e6,teamID:1},{orderID:10542,orderDate:15582996e5,orderTotal:469.11,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15607656e5,requiredDateEnd:1560771e6,teamID:1},{orderID:10546,orderDate:15585588e5,orderTotal:2812,customerCompanyName:"Victuailles en stock",customerContactName:"Mary Saveley",requiredDateStart:15610284e5,requiredDateEnd:15610338e5,teamID:1},{orderID:10558,orderDate:15595956e5,orderTotal:2142.9,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:15620634e5,requiredDateEnd:1562067e6,teamID:1},{orderID:10562,orderDate:15600276e5,orderTotal:488.7,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:15624936e5,requiredDateEnd:15624972e5,teamID:1},{orderID:10567,orderDate:15602868e5,orderTotal:2519,customerCompanyName:"Hungry Owl All-Night Grocers",customerContactName:"Patricia McKenna",requiredDateStart:15627636e5,requiredDateEnd:15627654e5,teamID:1},{orderID:10579,orderDate:156141e7,orderTotal:317.75,customerCompanyName:"Let's Stop N Shop",customerContactName:"Jaime Yorres",requiredDateStart:1563885e6,requiredDateEnd:15638868e5,teamID:1},{orderID:10587,orderDate:15620148e5,orderTotal:807.38,customerCompanyName:"Que Delícia",customerContactName:"Bernardo Batista",requiredDateStart:15644736e5,requiredDateEnd:15644754e5,teamID:1},{orderID:10591,orderDate:15624468e5,orderTotal:812.5,customerCompanyName:"Vaffeljernet",customerContactName:"Palle Ibsen",requiredDateStart:15637104e5,requiredDateEnd:15637158e5,teamID:1},{orderID:10598,orderDate:15630516e5,orderTotal:2388.5,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:1565514e6,requiredDateEnd:15655176e5,teamID:1},{orderID:10604,orderDate:15633972e5,orderTotal:230.85,customerCompanyName:"Furia Bacalhau e Frutos do Mar",customerContactName:"Lino Rodriguez",requiredDateStart:15658578e5,requiredDateEnd:15658632e5,teamID:1},{orderID:10605,orderDate:15636564e5,orderTotal:4109.7,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:15661188e5,requiredDateEnd:15661206e5,teamID:1},{orderID:10612,orderDate:15642612e5,orderTotal:6375,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15667326e5,requiredDateEnd:1566738e6,teamID:1},{orderID:10616,orderDate:15645204e5,orderTotal:4807,customerCompanyName:"Great Lakes Food Market",customerContactName:"Howard Snyder",requiredDateStart:15669918e5,requiredDateEnd:15669972e5,teamID:1},{orderID:10618,orderDate:15646068e5,orderTotal:2697.5,customerCompanyName:"Mère Paillarde",customerContactName:"Jean Fresnière",requiredDateStart:15682932e5,requiredDateEnd:1568295e6,teamID:1},{orderID:10626,orderDate:15654708e5,orderTotal:1503.6,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15679494e5,requiredDateEnd:15679548e5,teamID:1},{orderID:10630,orderDate:15656436e5,orderTotal:903.6,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15681186e5,requiredDateEnd:1568124e6,teamID:1},{orderID:10653,orderDate:15673716e5,orderTotal:1083.15,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:1569834e6,requiredDateEnd:15698358e5,teamID:1},{orderID:10655,orderDate:1567458e6,orderTotal:154.4,customerCompanyName:"Reggiani Caseifici",customerContactName:"Maurizio Moroni",requiredDateStart:15699168e5,requiredDateEnd:15699186e5,teamID:1},{orderID:10664,orderDate:15680628e5,orderTotal:1288.3875,customerCompanyName:"Furia Bacalhau e Frutos do Mar",customerContactName:"Lino Rodriguez",requiredDateStart:15705324e5,requiredDateEnd:15705378e5,teamID:1},{orderID:10665,orderDate:15681492e5,orderTotal:1295,customerCompanyName:"Lonesome Pine Restaurant",customerContactName:"Fran Wilson",requiredDateStart:15706098e5,requiredDateEnd:15706152e5,teamID:1},{orderID:10668,orderDate:15684948e5,orderTotal:625.275,customerCompanyName:"Die Wandernde Kuh",customerContactName:"Rita Müller",requiredDateStart:1570968e6,requiredDateEnd:15709698e5,teamID:1},{orderID:10671,orderDate:15686676e5,orderTotal:920.1,customerCompanyName:"France restauration",customerContactName:"Carine Schmitt",requiredDateStart:15711444e5,requiredDateEnd:15711462e5,teamID:1},{orderID:10677,orderDate:15690996e5,orderTotal:813.365,customerCompanyName:"Antonio Moreno Taquería",customerContactName:"Antonio Moreno",requiredDateStart:15715764e5,requiredDateEnd:15715818e5,teamID:1},{orderID:10680,orderDate:15692724e5,orderTotal:1261.875,customerCompanyName:"Old World Delicatessen",customerContactName:"Rene Phillips",requiredDateStart:1571742e6,requiredDateEnd:15717438e5,teamID:1},{orderID:10689,orderDate:15698772e5,orderTotal:472.5,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15723396e5,requiredDateEnd:15723432e5,teamID:1},{orderID:10690,orderDate:15699636e5,orderTotal:862.5,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:15724368e5,requiredDateEnd:15724404e5,teamID:1},{orderID:10709,orderDate:15712596e5,orderTotal:3424,customerCompanyName:"Gourmet Lanchonetes",customerContactName:"André Fonseca",requiredDateStart:15737238e5,requiredDateEnd:15737274e5,teamID:1},{orderID:10710,orderDate:15715188e5,orderTotal:93.5,customerCompanyName:"Franchi S.p.A.",customerContactName:"Paolo Accorti",requiredDateStart:15739866e5,requiredDateEnd:15739902e5,teamID:1},{orderID:10713,orderDate:15716916e5,orderTotal:2827.9,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15741648e5,requiredDateEnd:15741702e5,teamID:1},{orderID:10717,orderDate:15718644e5,orderTotal:1270.75,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:15743286e5,requiredDateEnd:15743304e5,teamID:1},{orderID:10718,orderDate:15721236e5,orderTotal:3463,customerCompanyName:"Königlich Essen",customerContactName:"Philip Cramer",requiredDateStart:15745878e5,requiredDateEnd:15745914e5,teamID:1},{orderID:10733,orderDate:15730776e5,orderTotal:1459,customerCompanyName:"Berglunds snabbköp",customerContactName:"Christina Berglund",requiredDateStart:15755526e5,requiredDateEnd:1575558e6,teamID:1},{orderID:10743,orderDate:15739416e5,orderTotal:319.2,customerCompanyName:"Around the Horn",customerContactName:"Thomas Hardy",requiredDateStart:15764004e5,requiredDateEnd:1576404e6,teamID:1},{orderID:10746,orderDate:15741144e5,orderTotal:2311.7,customerCompanyName:"Chop-suey Chinese",customerContactName:"Yang Wang",requiredDateStart:15765804e5,requiredDateEnd:1576584e6,teamID:1},{orderID:10773,orderDate:15760152e5,orderTotal:2030.4,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15784794e5,requiredDateEnd:1578483e6,teamID:1},{orderID:10776,orderDate:15763608e5,orderTotal:6635.275,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:15788304e5,requiredDateEnd:1578834e6,teamID:1},{orderID:10785,orderDate:157662e7,orderTotal:387.5,customerCompanyName:"GROSELLA-Restaurante",customerContactName:"Manuel Pereira",requiredDateStart:1579095e6,requiredDateEnd:15791004e5,teamID:1},{orderID:10788,orderDate:15769656e5,orderTotal:731.5,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15794442e5,requiredDateEnd:1579446e6,teamID:1},{orderID:10789,orderDate:15769656e5,orderTotal:3687,customerCompanyName:"Folies gourmandes",customerContactName:"Martine Rancé",requiredDateStart:15794262e5,requiredDateEnd:15794298e5,teamID:1},{orderID:10792,orderDate:1577052e6,orderTotal:399.85,customerCompanyName:"Wolski Zajazd",customerContactName:"Zbyszek Piestrzeniewicz",requiredDateStart:15795288e5,requiredDateEnd:15795324e5,teamID:1},{orderID:10800,orderDate:15773112e5,orderTotal:1468.935,customerCompanyName:"Seven Seas Imports",customerContactName:"Hari Kumar",requiredDateStart:15797808e5,requiredDateEnd:15797862e5,teamID:1},{orderID:10813,orderDate:15781752e5,orderTotal:602.4,customerCompanyName:"Ricardo Adocicados",customerContactName:"Janete Limeira",requiredDateStart:1580652e6,requiredDateEnd:15806574e5,teamID:1},{orderID:10821,orderDate:15784344e5,orderTotal:678,customerCompanyName:"Split Rail Beer & Ale",customerContactName:"Art Braunschweiger",requiredDateStart:15809004e5,requiredDateEnd:15809058e5,teamID:1},{orderID:10825,orderDate:15785208e5,orderTotal:1030.76,customerCompanyName:"Drachenblut Delikatessen",customerContactName:"Sven Ottlieb",requiredDateStart:15809922e5,requiredDateEnd:1580994e6,teamID:1},{orderID:10827,orderDate:157878e7,orderTotal:843,customerCompanyName:"Bon app",customerContactName:"Laurence Lebihan",requiredDateStart:15800364e5,requiredDateEnd:15800418e5,teamID:1},{orderID:10834,orderDate:15790392e5,orderTotal:1432.714,customerCompanyName:"Tradição Hipermercados",customerContactName:"Anabela Domingues",requiredDateStart:15815142e5,requiredDateEnd:15815196e5,teamID:1},{orderID:10835,orderDate:15790392e5,orderTotal:845.8,customerCompanyName:"Alfreds Futterkiste",customerContactName:"Maria Anders",requiredDateStart:15815178e5,requiredDateEnd:15815214e5,teamID:1},{orderID:10842,orderDate:15794712e5,orderTotal:975,customerCompanyName:"Tortuga Restaurante",customerContactName:"Miguel Angel Paolino",requiredDateStart:15819426e5,requiredDateEnd:15819462e5,teamID:1},{orderID:10850,orderDate:15797304e5,orderTotal:629,customerCompanyName:"Victuailles en stock",customerContactName:"Mary Saveley",requiredDateStart:15834888e5,requiredDateEnd:15834942e5,teamID:1},{orderID:10859,orderDate:15802488e5,orderTotal:1078.6875,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:1582722e6,requiredDateEnd:15827256e5,teamID:1},{orderID:10877,orderDate:15811992e5,orderTotal:1955.125,customerCompanyName:"Ricardo Adocicados",customerContactName:"Janete Limeira",requiredDateStart:15837444e5,requiredDateEnd:1583748e6,teamID:1},{orderID:10886,orderDate:15815448e5,orderTotal:3127.5,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:15841062e5,requiredDateEnd:15841116e5,teamID:1},{orderID:10888,orderDate:1581804e6,orderTotal:605,customerCompanyName:"Godos Cocina Típica",customerContactName:"José Pedro Freyre",requiredDateStart:15843636e5,requiredDateEnd:15843654e5,teamID:1},{orderID:10894,orderDate:15819768e5,orderTotal:2753.1,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15845292e5,requiredDateEnd:15845346e5,teamID:1},{orderID:10900,orderDate:15821496e5,orderTotal:33.75,customerCompanyName:"Wellington Importadora",customerContactName:"Paula Parente",requiredDateStart:15847146e5,requiredDateEnd:158472e7,teamID:1},{orderID:10902,orderDate:15824088e5,orderTotal:863.43,customerCompanyName:"Folk och fä HB",customerContactName:"Maria Larsson",requiredDateStart:15849576e5,requiredDateEnd:15849612e5,teamID:1},{orderID:10909,orderDate:1582668e6,orderTotal:670,customerCompanyName:"Santé Gourmet",customerContactName:"Jonas Bergulfsen",requiredDateStart:15852294e5,requiredDateEnd:15852312e5,teamID:1},{orderID:10910,orderDate:1582668e6,orderTotal:452.9,customerCompanyName:"Wilman Kala",customerContactName:"Matti Karttunen",requiredDateStart:15852204e5,requiredDateEnd:15852222e5,teamID:1},{orderID:10916,orderDate:15827544e5,orderTotal:686.7,customerCompanyName:"Rancho grande",customerContactName:"Sergio Gutiérrez",requiredDateStart:15853194e5,requiredDateEnd:1585323e6,teamID:1},{orderID:10921,orderDate:15831864e5,orderTotal:1936,customerCompanyName:"Vaffeljernet",customerContactName:"Palle Ibsen",requiredDateStart:1586853e6,requiredDateEnd:15868584e5,teamID:1},{orderID:10928,orderDate:15833592e5,orderTotal:137.5,customerCompanyName:"Galería del gastrónomo",customerContactName:"Eduardo Saavedra",requiredDateStart:15858234e5,requiredDateEnd:15858252e5,teamID:1},{orderID:10946,orderDate:1583964e6,orderTotal:1407.5,customerCompanyName:"Vaffeljernet",customerContactName:"Palle Ibsen",requiredDateStart:15864228e5,requiredDateEnd:15864264e5,teamID:1},{orderID:10950,orderDate:15843096e5,orderTotal:110,customerCompanyName:"Magazzini Alimentari Riuniti",customerContactName:"Giovanni Rovelli",requiredDateStart:15867828e5,requiredDateEnd:15867882e5,teamID:1},{orderID:10952,orderDate:15843096e5,orderTotal:471.2,customerCompanyName:"Alfreds Futterkiste",customerContactName:"Maria Anders",requiredDateStart:15879852e5,requiredDateEnd:1587987e6,teamID:1},{orderID:10968,orderDate:15849144e5,orderTotal:1408,customerCompanyName:"Ernst Handel",customerContactName:"Roland Mendel",requiredDateStart:1587375e6,requiredDateEnd:15873804e5,teamID:1},{orderID:10969,orderDate:15849144e5,orderTotal:108,customerCompanyName:"Comércio Mineiro",customerContactName:"Pedro Afonso",requiredDateStart:1587375e6,requiredDateEnd:15873768e5,teamID:1},{orderID:10975,orderDate:15850872e5,orderTotal:717.5,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:15875604e5,requiredDateEnd:1587564e6,teamID:1},{orderID:10976,orderDate:15850872e5,orderTotal:912,customerCompanyName:"HILARION-Abastos",customerContactName:"Carlos Hernández",requiredDateStart:15887574e5,requiredDateEnd:15887592e5,teamID:1},{orderID:10981,orderDate:158526e7,orderTotal:15810,customerCompanyName:"Hanari Carnes",customerContactName:"Mario Pontes",requiredDateStart:1587735e6,requiredDateEnd:15877368e5,teamID:1},{orderID:10984,orderDate:15855156e5,orderTotal:1809.75,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:15879744e5,requiredDateEnd:15879762e5,teamID:1},{orderID:10991,orderDate:15856884e5,orderTotal:2296,customerCompanyName:"QUICK-Stop",customerContactName:"Horst Kloss",requiredDateStart:15881472e5,requiredDateEnd:15881508e5,teamID:1},{orderID:10992,orderDate:15856884e5,orderTotal:69.6,customerCompanyName:"The Big Cheese",customerContactName:"Liz Nixon",requiredDateStart:15881634e5,requiredDateEnd:15881652e5,teamID:1},{orderID:10995,orderDate:15857748e5,orderTotal:1196,customerCompanyName:"Pericles Comidas clásicas",customerContactName:"Guillermo Fernández",requiredDateStart:1588248e6,requiredDateEnd:15882498e5,teamID:1},{orderID:11012,orderDate:15863796e5,orderTotal:2825.3,customerCompanyName:"Frankenversand",customerContactName:"Peter Franken",requiredDateStart:15876468e5,requiredDateEnd:15876522e5,teamID:1},{orderID:11023,orderDate:15868116e5,orderTotal:1500,customerCompanyName:"B's Beverages",customerContactName:"Victoria Ashworth",requiredDateStart:15880734e5,requiredDateEnd:15880752e5,teamID:1},{orderID:11027,orderDate:15869844e5,orderTotal:877.725,customerCompanyName:"Bottom-Dollar Markets",customerContactName:"Elizabeth Lincoln",requiredDateStart:15894558e5,requiredDateEnd:15894612e5,teamID:1},{orderID:11038,orderDate:15874164e5,orderTotal:732.6,customerCompanyName:"Suprêmes délices",customerContactName:"Pascale Cartrain",requiredDateStart:15898932e5,requiredDateEnd:15898968e5,teamID:1},{orderID:11039,orderDate:15874164e5,orderTotal:3090,customerCompanyName:"LINO-Delicateses",customerContactName:"Felipe Izquierdo",requiredDateStart:15898806e5,requiredDateEnd:15898824e5,teamID:1},{orderID:11064,orderDate:15882804e5,orderTotal:4330.4,customerCompanyName:"Save-a-lot Markets",customerContactName:"Jose Pavarotti",requiredDateStart:159075e7,requiredDateEnd:15907518e5,teamID:1},{orderID:11067,orderDate:15885396e5,orderTotal:86.85,customerCompanyName:"Drachenblut Delikatessen",customerContactName:"Sven Ottlieb",requiredDateStart:15897978e5,requiredDateEnd:15897996e5,teamID:1},{orderID:11069,orderDate:15885396e5,orderTotal:360,customerCompanyName:"Tortuga Restaurante",customerContactName:"Miguel Angel Paolino",requiredDateStart:15910056e5,requiredDateEnd:15910092e5,teamID:1},{orderID:11071,orderDate:1588626e6,orderTotal:484.5,customerCompanyName:"LILA-Supermercado",customerContactName:"Carlos González",requiredDateStart:15910956e5,requiredDateEnd:15910974e5,teamID:1},{orderID:11077,orderDate:15887124e5,orderTotal:1255.7205,customerCompanyName:"Rattlesnake Canyon Grocery",customerContactName:"Paula Wilson",requiredDateStart:15911892e5,requiredDateEnd:15911946e5,teamID:1}].map((e=>({...e,orderDate:new Date(e.orderDate),requiredDateStart:new Date(e.requiredDateStart),requiredDateEnd:new Date(e.requiredDateEnd)})));var ia={props:{localizationLanguage:String},components:{Chart:Se.t1X,ChartSeries:Se.Eum,ChartSeriesItem:Se.LjI,ChartCategoryAxis:Se.GT0,ChartCategoryAxisItem:Se.b7$,ChartLegend:Se._3D,ChartTooltip:Se.IIn,"k-button":Ae.$n,buttongroup:Ae.e2,datepicker:na.lr},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data:function(){return{selectedIndex:0,provideIntlService:E.Ar,myToolTipTemplate:"myToolTipTemplate",myToolTipLineTemplate:"myToolTipLineTemplate",orders:ma,dateRange:{start:new Date(2020,0,1),end:new Date(2020,4,1)},series:null,categories:null}},created(){this.categories=this.orders.map((e=>e.orderDate)),this.series=[{name:"Tiger Team",data:this.fetchData(1),color:"#FF6358"},{name:"Lemon Team",data:this.fetchData(2),color:"#F7C62F"},{name:"Organic Team",data:this.fetchData(3),color:"#55AB1D"},{name:"Ocean Team",data:this.fetchData(4),color:"#28B4C8"}]},computed:{teamEfficiencyMessage(){return(0,E.GB)(this).toLanguageString("teamEfficiency","Team Efficiency")},trendMessage(){return(0,E.GB)(this).toLanguageString("trend","Trend")},volumeMessage(){return(0,E.GB)(this).toLanguageString("volume","Volume")}},methods:{fetchData(e){return this.orders.map((r=>{if(r.teamID===e&&r.orderDate>=this.dateRange.start&&r.orderDatee.data=this.fetchData(r+1)))},onFromDateChange(e){this.dateRange.start=e.value,this.updateSeries()},onToDateChange(e){this.dateRange.end=e.value,this.updateSeries()}}};const ua=(0,T.A)(ia,[["render",da],["__scopeId","data-v-67888aa6"]]);var sa=ua,ca=a.p+"img/github-icon.42f4ca19.svg";const la={class:"info-page main-content"},Da={class:"content"},Aa={class:"section-1"},pa=(0,o.Lk)("h1",null,"Kendo UI for Vue",-1),Na=(0,o.Lk)("h2",null,"Build Professional-Grade Vue UI",-1),Ca={class:"github-link",target:"_blank",href:"https://github.com/telerik/kendo-vue/tree/master/examples-standalone/coffee-warehouse"},ga=(0,o.Lk)("img",{src:ca,alt:"github icon"},null,-1),Ia={class:"github-text"},qa={class:"section-2"},ya=(0,o.Fv)('
',1);function Sa(e,r,a,t,d,n){return(0,o.uX)(),(0,o.CE)("div",null,[(0,o.Lk)("div",la,[(0,o.Lk)("div",Da,[(0,o.Lk)("div",Aa,[pa,Na,(0,o.Lk)("a",Ca,[ga,(0,o.Lk)("span",Ia,(0,c.v_)(n.getSourceMessage),1)])]),(0,o.Lk)("div",qa,[(0,o.Lk)("p",null,(0,c.v_)(n.demoInfoMessage),1)]),ya])])])}var Ea={computed:{getSourceMessage(){return(0,E.GB)(this).toLanguageString("getSource","Get Source")},demoInfoMessage(){return(0,E.GB)(this).toLanguageString("demoInfo","This demo application is built using the following Kendo UI for Vue components.")}},inject:{kendoLocalizationService:{default:null}}};const ha=(0,T.A)(Ea,[["render",Sa]]);var Ta=ha;const ba=[{path:"/",name:"Team",component:xe,props:!0},{path:"/Profile",name:"Profile",component:Xr},{path:"/Dashboard",name:"Dashboard",component:sa},{path:"/Info",name:"Info",component:Ta}],fa=(0,ee.aE)({history:(0,ee.LA)("/kendo-vue/coffee-warehouse/"),routes:ba});var ka=fa;(0,t.Ef)($).use(ka).mount("#app")}},r={};function a(t){var o=r[t];if(void 0!==o)return o.exports;var d=r[t]={exports:{}};return e[t](d,d.exports,a),d.exports}a.m=e,function(){var e=[];a.O=function(r,t,o,d){if(!t){var n=1/0;for(s=0;s=d)&&Object.keys(a.O).every((function(e){return a.O[e](t[i])}))?t.splice(i--,1):(m=!1,d0&&e[s-1][2]>d;s--)e[s]=e[s-1];e[s]=[t,o,d]}}(),function(){a.d=function(e,r){for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)}}(),function(){a.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}}(),function(){a.p="/kendo-vue/coffee-warehouse/"}(),function(){var e={524:0};a.O.j=function(r){return 0===e[r]};var r=function(r,t){var o,d,n=t[0],m=t[1],i=t[2],u=0;if(n.some((function(r){return 0!==e[r]}))){for(o in m)a.o(m,o)&&(a.m[o]=m[o]);if(i)var s=i(a)}for(r&&r(t);u\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","import { render } from \"./Header.vue?vue&type=template&id=eaa39c2c&scoped=true\"\nimport script from \"./Header.vue?vue&type=script&lang=js\"\nexport * from \"./Header.vue?vue&type=script&lang=js\"\n\nimport \"./Header.vue?vue&type=style&index=0&id=eaa39c2c&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-eaa39c2c\"]])\n\nexport default __exports__","\r\n\r\n","import { render } from \"./MenuNavContainer.vue?vue&type=template&id=627c2386\"\nimport script from \"./MenuNavContainer.vue?vue&type=script&lang=js\"\nexport * from \"./MenuNavContainer.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__","// Custom Messages\nexport const enCustomMessages = {\n teamEfficiency: 'Team Efficiency',\n teamMembers: 'Team Members',\n dashboard: 'Dashboard',\n planning: 'Planning',\n profile: 'Profile',\n info: 'Info',\n language: 'Language',\n trend: 'Trend',\n volume: 'Volume',\n myTeam: 'My Team',\n allTeams: 'All Teams',\n teamCalendar: 'Team Calendar',\n saveChanges: 'Save Changes',\n cancel: 'Cancel',\n warehouse: 'Coffee Warehouse',\n startFreeTrial: 'Start Free Trial',\n buyNow: 'Buy Now',\n getSource: 'Get the source code on GitHub',\n demoInfo: 'This demo application is built using the following Kendo UI for Vue components.',\n firstName: 'First Name',\n middleName: 'Middle Name',\n lastName: 'Last Name',\n email: 'Email Address',\n phoneNumber: 'Phone Number',\n country: 'Country',\n biography: 'Short Biography',\n public: 'Include in public directory',\n team: 'Team',\n employee: 'Employee',\n contactName: 'Contact Name',\n jobTitle: 'Job Title',\n status: 'Status',\n performance: 'Performance',\n rating: 'Rating',\n engagement: 'Engagement',\n budget: 'Budget',\n contacts: 'Contacts',\n address: 'Address',\n phone: 'Phone',\n gridSearch: 'Search in all columns...',\n exportExcel: 'Export to Excel',\n exportPdf: 'Export to PDF'\n};\n\n// Kendo Component Messages\nexport const enComponentMessages = {\n // Grid\n 'kendo.grid.groupPanelEmpty': 'Drag a column header and drop it here to group by that column',\n 'kendo.grid.noRecords': 'No records available.',\n 'kendo.grid.pagerFirstPage': 'Go to the first page',\n 'kendo.grid.pagerPreviousPage': 'Go to the previous page',\n 'kendo.grid.pagerNextPage': 'Go to the next page',\n 'kendo.grid.pagerLastPage': 'Go to the last page',\n 'kendo.grid.pagerPage': 'Page',\n 'kendo.grid.pagerOf': 'of',\n 'kendo.grid.pagerItems': 'items',\n 'kendo.grid.pagerItemsPerPage': 'items per page',\n 'kendo.grid.pagerPageNumberInputTitle': 'Page Number',\n 'kendo.grid.filter': 'Filter',\n 'kendo.grid.filterEqOperator': 'Is equal to',\n 'kendo.grid.filterNotEqOperator': 'Is not equal to',\n 'kendo.grid.filterIsNullOperator': 'Is null',\n 'kendo.grid.filterIsNotNullOperator': 'Is not null',\n 'kendo.grid.filterIsEmptyOperator': 'Is empty',\n 'kendo.grid.filterIsNotEmptyOperator': 'Is not empty',\n 'kendo.grid.filterStartsWithOperator': 'Starts with',\n 'kendo.grid.filterContainsOperator': 'Contains',\n 'kendo.grid.filterNotContainsOperator': 'Does not contain',\n 'kendo.grid.filterEndsWithOperator': 'Ends with',\n 'kendo.grid.filterGteOperator': 'Is greater than or equal to',\n 'kendo.grid.filterGtOperator': 'Is greater than',\n 'kendo.grid.filterLteOperator': 'Is less than or equal to',\n 'kendo.grid.filterLtOperator': 'Is less than',\n 'kendo.grid.filterIsTrue': 'is true',\n 'kendo.grid.filterIsFalse': 'is false',\n 'kendo.grid.filterBooleanAll': '(All)',\n 'kendo.grid.filterAfterOrEqualOperator': 'Is after or equal to',\n 'kendo.grid.filterAfterOperator': 'Is after',\n 'kendo.grid.filterBeforeOperator': 'Is before',\n 'kendo.grid.filterBeforeOrEqualOperator': 'Is before or equal to',\n 'kendo.grid.filterFilterButton': 'Filter',\n 'kendo.grid.filterClearButton': 'Clear',\n 'kendo.grid.filterAndLogic': 'And',\n 'kendo.grid.filterOrLogic': 'Or',\n 'kendo.grid.filterDateToggle': 'Toggle calendar',\n 'kendo.grid.filterDateToday': 'Today',\n 'kendo.grid.filterNumericDecrement': 'Decrease value',\n 'kendo.grid.filterNumericIncrement': 'Increase value',\n 'kendo.grid.loading': 'Loading',\n 'kendo.grid.sort': 'Sort',\n 'kendo.grid.columnMenu': 'Column Menu',\n 'kendo.grid.columns': 'Columns',\n 'kendo.grid.lock': 'Lock',\n 'kendo.grid.unlock': 'Unlock',\n 'kendo.grid.stick': 'Stick',\n 'kendo.grid.unstick': 'Unstick',\n 'kendo.grid.setColumnPosition': 'Set Column Position',\n 'kendo.grid.sortAscending': 'Sort Ascending',\n 'kendo.grid.sortDescending': 'Sort Descending',\n 'kendo.grid.columnsApply': 'Apply',\n 'kendo.grid.columnsReset': 'Reset',\n 'kendo.grid.sortable': 'Sortable',\n 'kendo.grid.sortedAscending': 'Sorted ascending',\n 'kendo.grid.sortedDescending': 'Sorted descending',\n 'kendo.grid.sortedDefault': 'Not sorted',\n\n // DropDowns\n 'kendo.autocomplete.noDataText': 'No data found',\n 'kendo.autocomplete.clearTitle': 'Clear',\n 'kendo.combobox.noDataText': 'No data found',\n 'kendo.combobox.clearTitle': 'Clear',\n 'kendo.dropdownlist.noDataText': 'No data found',\n 'kendo.dropdownlist.clearTitle': 'Clear',\n\n // Calendar\n 'kendo.calendar.today': 'TODAY',\n\n // TextBox\n 'kendo.textbox.clearTitle': 'Clear',\n\n // DatePicker\n 'kendo.datepicker.today': 'TODAY',\n 'kendo.datepicker.toggle': 'Toggle calendar',\n\n // DateInput\n 'kendo.dateinput.increment': 'Increase value',\n 'kendo.dateinput.decrement': 'Decrease value',\n\n // NumericTextBox\n 'kendo.numerictextbox.increment': 'Increase value',\n 'kendo.numerictextbox.decrement': 'Decrease value',\n\n // DateTimePicker\n 'kendo.datetimepicker.dateTab': 'Date',\n 'kendo.datetimepicker.dateTabLabel': 'Date tab',\n 'kendo.datetimepicker.timeTab': 'Time',\n 'kendo.datetimepicker.timeTabLabel': 'Time tab',\n 'kendo.datetimepicker.toggle': 'Toggle popup',\n 'kendo.datetimepicker.accept': 'Set',\n 'kendo.datetimepicker.acceptLabel': 'Set',\n 'kendo.datetimepicker.cancel': 'Cancel',\n 'kendo.datetimepicker.cancelLabel': 'Cancel',\n 'kendo.datetimepicker.now': 'NOW',\n 'kendo.datetimepicker.nowLabel': 'Select now',\n 'kendo.datetimepicker.today': 'TODAY',\n 'kendo.datetimepicker.prevButtonTitle': 'Navigate to previous view',\n 'kendo.datetimepicker.nextButtonTitle': 'Navigate to next view',\n\n // TimePicker\n 'kendo.timepicker.accept': 'Set',\n 'kendo.timepicker.acceptLabel': 'Set',\n 'kendo.timepicker.cancel': 'Cancel',\n 'kendo.timepicker.cancelLabel': 'Cancel',\n 'kendo.timepicker.now': 'Now',\n 'kendo.timepicker.nowLabel': 'Now',\n 'kendo.timepicker.toggle': 'Toggle time list',\n\n // FileSelect\n 'kendo.fileselect.cancel': 'Cancel',\n 'kendo.fileselect.clearSelectedFiles': 'Clear',\n 'kendo.fileselect.dropFilesHere': 'Drop files here to upload',\n 'kendo.fileselect.externalDropFilesHere': 'Drag and drop files here to upload',\n 'kendo.fileselect.filesBatchStatus': 'files',\n 'kendo.fileselect.filesBatchStatusFailed': 'files failed to upload.',\n 'kendo.fileselect.filesBatchStatusUploaded': 'files successfully uploaded.',\n 'kendo.fileselect.fileStatusFailed': 'File failed to upload.',\n 'kendo.fileselect.fileStatusUploaded': 'File successfully uploaded.',\n 'kendo.fileselect.headerStatusPaused': 'Paused',\n 'kendo.fileselect.headerStatusUploaded': 'Done',\n 'kendo.fileselect.headerStatusUploading': 'Uploading...',\n 'kendo.fileselect.invalidFileExtension': 'File type not allowed.',\n 'kendo.fileselect.invalidMaxFileSize': 'File size too large.',\n 'kendo.fileselect.invalidMinFileSize': 'File size too small.',\n 'kendo.fileselect.remove': 'Remove',\n 'kendo.fileselect.retry': 'Retry',\n 'kendo.fileselect.select': 'Select files...',\n 'kendo.fileselect.uploadSelectedFiles': 'Upload files',\n\n // Scheduler\n \"kendo.scheduler.agendaViewTitle\": \"Agenda\",\n \"kendo.scheduler.allDay\": \"all day\",\n \"kendo.scheduler.allEvents\": \"All events\",\n \"kendo.scheduler.calendarToday\": \"TODAY\",\n \"kendo.scheduler.cancel\": \"Cancel\",\n \"kendo.scheduler.save\": \"Save\",\n \"kendo.scheduler.editorEventTitle\": \"Title\",\n \"kendo.scheduler.editorEventStart\": \"Start\",\n \"kendo.scheduler.editorEventStartTimeZone\": \"Start Time Zone\",\n \"kendo.scheduler.editorEventEnd\": \"End\",\n \"kendo.scheduler.editorEventEndTimeZone\": \"End Time Zone\",\n \"kendo.scheduler.dateHeader\": \"Date\",\n \"kendo.scheduler.dayViewTitle\": \"Day\",\n \"kendo.scheduler.deleteConfirmation\": \"Are you sure you want to delete this event?\",\n \"kendo.scheduler.deleteDialogTitle\": \"Delete Event\",\n \"kendo.scheduler.deleteOccurrence\": \"Delete current occurrence\",\n \"kendo.scheduler.deleteRecurringConfirmation\": \"Do you want to delete only this event occurrence or the whole series?\",\n \"kendo.scheduler.deleteRecurringDialogTitle\": \"Delete Recurring Item\",\n \"kendo.scheduler.deleteSeries\": \"Delete the series\",\n \"kendo.scheduler.deleteTitle\": \"Delete\",\n \"kendo.scheduler.destroy\": \"Delete\",\n \"kendo.scheduler.editOccurrence\": \"Edit current occurrence\",\n \"kendo.scheduler.editorEventAllDay\": \"All Day Event\",\n \"kendo.scheduler.editorEventDescription\": \"Description\",\n \"kendo.scheduler.editorEventSeparateTimeZones\": \"End in different Time Zone\",\n \"kendo.scheduler.editorEventTimeZone\": \"Specify Time Zone\",\n \"kendo.scheduler.editorTitle\": \"Event\",\n \"kendo.scheduler.editRecurringConfirmation\": \"Do you want to edit only this event occurrence or the whole series?\",\n \"kendo.scheduler.editRecurringDialogTitle\": \"Edit Recurring Item\",\n \"kendo.scheduler.editSeries\": \"Edit the series\",\n \"kendo.scheduler.eventHeader\": \"Event\",\n \"kendo.scheduler.monthViewTitle\": \"Month\",\n \"kendo.scheduler.multiDayViewTitle\": \"Multi-Day\",\n \"kendo.scheduler.nextTitle\": \"Next\",\n \"kendo.scheduler.previousTitle\": \"Previous\",\n \"kendo.scheduler.recurrenceEditorDailyInterval\": \"day(s)\",\n \"kendo.scheduler.recurrenceEditorDailyRepeatEvery\": \"Repeat every\",\n \"kendo.scheduler.recurrenceEditorEndAfter\": \"After\",\n \"kendo.scheduler.recurrenceEditorEndLabel\": \"End\",\n \"kendo.scheduler.recurrenceEditorEndNever\": \"Never\",\n \"kendo.scheduler.recurrenceEditorEndOccurrence\": \"occurrence(s)\",\n \"kendo.scheduler.recurrenceEditorEndOn\": \"On\",\n \"kendo.scheduler.recurrenceEditorFrequenciesDaily\": \"Daily\",\n \"kendo.scheduler.recurrenceEditorFrequenciesMonthly\": \"Monthly\",\n \"kendo.scheduler.recurrenceEditorFrequenciesNever\": \"Never\",\n \"kendo.scheduler.recurrenceEditorFrequenciesWeekly\": \"Weekly\",\n \"kendo.scheduler.recurrenceEditorFrequenciesYearly\": \"Yearly\",\n \"kendo.scheduler.recurrenceEditorMonthlyDay\": \"Day\",\n \"kendo.scheduler.recurrenceEditorMonthlyInterval\": \"month(s)\",\n \"kendo.scheduler.recurrenceEditorMonthlyRepeatEvery\": \"Repeat every\",\n \"kendo.scheduler.recurrenceEditorMonthlyRepeatOn\": \"Repeat on\",\n \"kendo.scheduler.recurrenceEditorOffsetPositionsFirst\": \"First\",\n \"kendo.scheduler.recurrenceEditorOffsetPositionsFourth\": \"Fourth\",\n \"kendo.scheduler.recurrenceEditorOffsetPositionsLast\": \"Last\",\n \"kendo.scheduler.recurrenceEditorOffsetPositionsSecond\": \"Second\",\n \"kendo.scheduler.recurrenceEditorOffsetPositionsThird\": \"Third\",\n \"kendo.scheduler.recurrenceEditorRepeat\": \"Repeat\",\n \"kendo.scheduler.recurrenceEditorWeekdaysDay\": \"Day\",\n \"kendo.scheduler.recurrenceEditorWeekdaysWeekday\": \"Weekday\",\n \"kendo.scheduler.recurrenceEditorWeekdaysWeekendday\": \"Weekend Day\",\n \"kendo.scheduler.recurrenceEditorWeeklyInterval\": \"week(s)\",\n \"kendo.scheduler.recurrenceEditorWeeklyRepeatEvery\": \"Repeat every\",\n \"kendo.scheduler.recurrenceEditorWeeklyRepeatOn\": \"Repeat on\",\n \"kendo.scheduler.recurrenceEditorYearlyInterval\": \"year(s)\",\n \"kendo.scheduler.recurrenceEditorYearlyOf\": \"of\",\n \"kendo.scheduler.recurrenceEditorYearlyRepeatEvery\": \"Repeat every\",\n \"kendo.scheduler.recurrenceEditorYearlyRepeatOn\": \"Repeat on\",\n \"kendo.scheduler.showFullDay\": \"Show full day\",\n \"kendo.scheduler.showWorkDay\": \"Show business hours\",\n \"kendo.scheduler.timeHeader\": \"Time\",\n \"kendo.scheduler.timelineMonthViewTitle\": \"Timeline Month\",\n \"kendo.scheduler.timelineViewTitle\": \"Timeline\",\n \"kendo.scheduler.timelineWeekViewTitle\": \"Timeline Week\",\n \"kendo.scheduler.today\": \"Today\",\n \"kendo.scheduler.weekViewTitle\": \"Week\",\n \"kendo.scheduler.workWeekViewTitle\": \"Work Week\",\n\n // RecurrenceEditor\n \"kendo.recurrenceeditor.dailyInterval\": \"day(s)\",\n \"kendo.recurrenceeditor.dailyRepeatEvery\": \"Repeat every\",\n \"kendo.recurrenceeditor.endAfter\": \"After\",\n \"kendo.recurrenceeditor.endLabel\": \"End\",\n \"kendo.recurrenceeditor.endNever\": \"Never\",\n \"kendo.recurrenceeditor.endOccurrence\": \"occurrence(s)\",\n \"kendo.recurrenceeditor.endOn\": \"On\",\n \"kendo.recurrenceeditor.frequenciesDaily\": \"Daily\",\n \"kendo.recurrenceeditor.frequenciesMonthly\": \"Monthly\",\n \"kendo.recurrenceeditor.frequenciesNever\": \"Never\",\n \"kendo.recurrenceeditor.frequenciesWeekly\": \"Weekly\",\n \"kendo.recurrenceeditor.frequenciesYearly\": \"Yearly\",\n \"kendo.recurrenceeditor.monthlyDay\": \"Day\",\n \"kendo.recurrenceeditor.monthlyInterval\": \"month(s)\",\n \"kendo.recurrenceeditor.monthlyRepeatEvery\": \"Repeat every\",\n \"kendo.recurrenceeditor.monthlyRepeatOn\": \"Repeat on\",\n \"kendo.recurrenceeditor.offsetPositionsFourth\": \"Fourth\",\n \"kendo.recurrenceeditor.offsetPositionsLast\": \"Last\",\n \"kendo.recurrenceeditor.offsetPositionsSecond\": \"Second\",\n \"kendo.recurrenceeditor.offsetPositionsThird\": \"Third\",\n \"kendo.recurrenceeditor.repeat\": \"Repeat\",\n \"kendo.recurrenceeditor.weekdaysDay\": \"Day\",\n \"kendo.recurrenceeditor.weekdaysWeekday\": \"Weekday\",\n \"kendo.recurrenceeditor.weekdaysWeekendday\": \"Weekend Day\",\n \"kendo.recurrenceeditor.weeklyInterval\": \"week(s)\",\n \"kendo.recurrenceeditor.weeklyRepeatEvery\": \"Repeat every\",\n \"kendo.recurrenceeditor.weeklyRepeatOn\": \"Repeat on\",\n \"kendo.recurrenceeditor.yearlyInterval\": \"year(s)\",\n \"kendo.recurrenceeditor.yearlyOf\": \"of\",\n \"kendo.recurrenceeditor.yearlyRepeatEvery\": \"Repeat every\",\n \"kendo.recurrenceeditor.yearlyRepeatOn\": \"Repeat on\",\n};\n","// Custom Messages\r\nexport const esCustomMessages = {\r\n teamEfficiency: 'Eficiencia del equipo',\r\n teamMembers: 'Miembros del equipo',\r\n dashboard: 'Tablero',\r\n planning: 'Planificación',\r\n info: 'Informacion',\r\n profile: 'Perfil',\r\n language: 'Idioma',\r\n trend: 'Tendencia',\r\n volume: 'Volumen',\r\n myTeam: 'Mi equipo',\r\n allTeams: 'Todos los equipos',\r\n teamCalendar: 'Calendario del equipo',\r\n saveChanges: 'Guardar cambios',\r\n cancel: 'Cancelar',\r\n warehouse: 'Almacén De Café',\r\n startFreeTrial: 'Iniciar prueba gratuita',\r\n buyNow: 'Comprar ahora',\r\n getSource: 'Obtenga el código fuente en GitHub',\r\n demoInfo:\r\n 'Esta aplicación de demostración está construida utilizando los siguientes componentes de Kendo UI for Vue.',\r\n firstName: 'Primer nombre',\r\n middleName: 'Segundo nombre',\r\n lastName: 'Apellido',\r\n email: 'Dirección de correo electrónico',\r\n phoneNumber: 'Número de teléfono',\r\n country: 'País',\r\n biography: 'Biografía corta',\r\n public: 'Incluir en directorio público',\r\n team: 'Equipo',\r\n employee: 'Empleado',\r\n contactName: 'Nombre de contacto',\r\n jobTitle: 'Título del trabajo',\r\n status: 'Estado',\r\n performance: 'Rendimiento',\r\n rating: 'Clasificación',\r\n engagement: 'Compromiso',\r\n budget: 'Presupuesto',\r\n contacts: 'Contactos',\r\n address: 'Dirección',\r\n phone: 'Teléfono',\r\n gridSearch: 'Buscar en todas las columnas ...',\r\n exportExcel: 'Exportar a Excel',\r\n exportPdf: 'Exportar a PDF'\r\n};\r\n\r\n// Kendo Vue Component Messages\r\nexport const esComponentMessages = {\r\n \"datepicker\": {\r\n \"toggleCalendar\": \"Alternar calendario\"\r\n },\r\n \"calendar\": {\r\n \"today\": \"Hoy\"\r\n },\r\n \"dateinput\": {\r\n \"increment\": \"Incrementar valor\",\r\n \"decrement\": \"Disminuir valor\"\r\n },\r\n \"datetimepicker\": {\r\n \"date\": \"Fecha\",\r\n \"time\": \"Hora\",\r\n \"cancel\": \"Cancelar\",\r\n \"set\": \"Establecer\"\r\n },\r\n \"numerictextbox\": {\r\n \"increment\": \"Incrementar valor\",\r\n \"decrement\": \"Disminuir valor\"\r\n },\r\n \"timepicker\": {\r\n \"now\": \"AHORA\",\r\n \"set\": \"Establecer\",\r\n \"cancel\": \"Cancelar\"\r\n },\r\n \"grid\": {\r\n \"groupPanelEmpty\": \"Arrastre el título de una columna y suéltelo aquí para agrupar por ese criterio\",\r\n \"noRecords\": \"No hay datos disponibles.\",\r\n \"pagerFirstPage\": \"Ir a la primera página\",\r\n \"pagerPreviousPage\": \"Ir a la página anterior\",\r\n \"pagerNextPage\": \"Ir a la página siguiente\",\r\n \"pagerLastPage\": \"Ir a la última página\",\r\n \"pagerPage\": \"Página\",\r\n \"pagerOf\": \"de\",\r\n \"pagerItems\": \"ítems\",\r\n \"pagerInfo\": \"{0} - {1} de {2} ítems\",\r\n \"pagerItemsPerPage\": \"ítems por página\",\r\n \"filterEqOperator\": \"Es igual a\",\r\n \"filterNotEqOperator\": \"No es igual a\",\r\n \"filterIsNullOperator\": \"Es nulo\",\r\n \"filterIsNotNullOperator\": \"No es nulo\",\r\n \"filterIsEmptyOperator\": \"Está vacío\",\r\n \"filterIsNotEmptyOperator\": \"No está vacío\",\r\n \"filterStartsWithOperator\": \"Comienza con\",\r\n \"filterContainsOperator\": \"Contiene\",\r\n \"filterNotContainsOperator\": \"No contiene\",\r\n \"filterEndsWithOperator\": \"Termina en\",\r\n \"filterGteOperator\": \"Es mayor o igual que\",\r\n \"filterGtOperator\": \"Es mayor que\",\r\n \"filterLteOperator\": \"Es menor o igual que\",\r\n \"filterLtOperator\": \"Es menor o igual que\",\r\n \"filterIsTrue\": \"Sí\",\r\n \"filterIsFalse\": \"No\",\r\n \"filterBooleanAll\": \"(Todas)\",\r\n \"filterAfterOrEqualOperator\": \"Es posterior o igual a\",\r\n \"filterAfterOperator\": \"Es posterior\",\r\n \"filterBeforeOperator\": \"Es anterior\",\r\n \"filterBeforeOrEqualOperator\": \"Es anterior o igual a\",\r\n \"filterSubmitButton\": \"Filtrar\",\r\n \"filterClearButton\": \"Limpiar\",\r\n \"filterAndLogic\": \"Y\",\r\n \"filterOrLogic\": \"O\",\r\n \"filterTitle\": \"Filtros\",\r\n \"sortAscending\": \"Orden ascendente\",\r\n \"sortDescending\": \"Orden descendente\"\r\n },\r\n \"upload\": {\r\n \"cancel\": \"Cancelar\",\r\n \"dropFilesHere\": \"Arrastre los archivos aquí para subirlos\",\r\n \"select\": \"Seleccione...\",\r\n },\r\n};\r\n","// Custom Messages\r\nexport const frCustomMessages = {\r\n teamEfficiency: \"Efficacité de l'équipe\",\r\n teamMembers: \"Membres de l'équipe\",\r\n dashboard: 'Tableau de bord',\r\n planning: 'Planification',\r\n info: 'Info',\r\n profile: 'Profil',\r\n language: 'Langue',\r\n trend: 'Tendance',\r\n volume: 'Le volume',\r\n myTeam: 'Mon équipe',\r\n allTeams: 'Toutes les équipes',\r\n teamCalendar: \"Calendrier d'équipe\",\r\n saveChanges: 'Sauvegarder les modifications',\r\n cancel: 'Annuler',\r\n warehouse: 'Entrepôt De Café',\r\n startFreeTrial: \"Démarrer l'essai gratuit\",\r\n buyNow: 'Acheter maintenant',\r\n getSource: 'Récupérer le code source sur GitHub',\r\n demoInfo:\r\n \"Cette application de démonstration est construite à l'aide des composants Kendo UI for Vue.\",\r\n firstName: 'Prénom',\r\n middleName: 'Deuxième nom',\r\n lastName: 'Nom de famille',\r\n email: 'Adresse e-mail',\r\n phoneNumber: 'Numéro de téléphone',\r\n country: 'Pays',\r\n biography: 'Biographie courte',\r\n public: 'Inclure dans le répertoire public',\r\n team: 'Équipe',\r\n employee: 'Employé',\r\n contactName: 'Nom du contact',\r\n jobTitle: 'Titre du poste',\r\n status: 'Statut',\r\n performance: 'Performance',\r\n rating: 'Évaluation',\r\n engagement: 'Engagement',\r\n budget: 'Budget',\r\n contacts: 'Contacts',\r\n address: 'Adresse',\r\n phone: 'Téléphone',\r\n gridSearch: 'Rechercher dans toutes les colonnes ...',\r\n exportExcel: 'Exporter vers Excel',\r\n exportPdf: 'Exporter au format PDF'\r\n};\r\n\r\nexport const frComponentMessages = {\r\n \"grid\": {\r\n \"groupPanelEmpty\": \"Faites glisser un en-tête de colonne et déposez-le ici pour grouper par cette colonne\",\r\n \"pagerItemsPerPage\": \"éléments par page\",\r\n \"pagerInfo\": \"{0} - {1} sur {2} éléments\",\r\n \"pagerFirstPage\": \"Aller à la première page\",\r\n \"pagerPreviousPage\": \"Aller à la page précédente\",\r\n \"pagerNextPage\": \"Aller à la page suivante\",\r\n \"pagerLastPage\": \"Aller à la dernière page\",\r\n \"pagerPage\": \"Page\",\r\n \"pagerOf\": \"de\",\r\n \"filterClearButton\": \"Effacer\",\r\n \"filterEqOperator\": \"Est égal à\",\r\n \"filterNotEqOperator\": \"N'est pas égal à\",\r\n \"filterIsNullOperator\": \"Est nulle\",\r\n \"filterIsNotNullOperator\": \"Est non nulle\",\r\n \"filterIsEmptyOperator\": \"Est vide\",\r\n \"filterIsNotEmptyOperator\": \"N'est pas vide\",\r\n \"filterStartsWithOperator\": \"Commence par\",\r\n \"filterContainsOperator\": \"Contient\",\r\n \"filterNotContainsOperator\": \"Ne contient pas\",\r\n \"filterEndsWithOperator\": \"Se termine par\",\r\n \"filterGteOperator\": \"Est supérieur ou égal à\",\r\n \"filterGtOperator\": \"Est supérieur à\",\r\n \"filterLteOperator\": \"Est inférieur ou égal à\",\r\n \"filterLtOperator\": \"Est inférieur à\",\r\n \"filterIsTrue\": \"Est vrai\",\r\n \"filterIsFalse\": \"Est faux\",\r\n \"filterBooleanAll\": \"(Tous)\",\r\n \"filterAfterOrEqualOperator\": \"Est postérieur ou égal à\",\r\n \"filterAfterOperator\": \"Est postérieur\",\r\n \"filterBeforeOperator\": \"Est antérieur\",\r\n \"filterBeforeOrEqualOperator\": \"Est antérieur ou égal à\",\r\n \"noRecords\": \"Aucun enregistrement disponible.\"\r\n },\r\n \"dateinput\": {\r\n \"increment\": \"Augmenter la valeur\",\r\n \"decrement\": \"Diminuer la valeur\"\r\n },\r\n \"calendar\": {\r\n \"today\": \"AUJOURD'HUI\"\r\n },\r\n \"datepicker\": {\r\n \"toggleCalendar\": \"Basculer le calendrier\"\r\n },\r\n \"dropdowns\": {\r\n \"nodata\": \"AUCUNE DONNÉE DISPONIBLE.\",\r\n \"clear\": \"Effacer\"\r\n },\r\n \"numerictextbox\": {\r\n \"increment\": \"Augmenter la valeur\",\r\n \"decrement\": \"Diminuer la valeur\"\r\n },\r\n \"upload\": {\r\n \"cancel\": \"Cancel\",\r\n \"clearSelectedFiles\": \"Effacer\",\r\n \"dropFilesHere\": \"Déposer des fichiers ici pour télécharger\",\r\n \"headerStatusUploaded\": \"Terminé\",\r\n \"headerStatusUploading\": \"Téléchargement...\",\r\n \"invalidFileExtension\": \"Type de fichier non autorisé.\",\r\n \"invalidFiles\": \"Fichier(s) invalide(s). Veuillez vérifier les exigences de téléchargement de fichier.\",\r\n \"invalidMaxFileSize\": \"La taille du fichier est trop grande.\",\r\n \"invalidMinFileSize\": \"La taille du fichier est trop petite.\",\r\n \"remove\": \"Retirer\",\r\n \"retry\": \"Réessayez\",\r\n \"select\": \"Sélectionnez les fichiers...\",\r\n \"uploadSelectedFiles\": \"Télécharger\",\r\n \"total\": \"Total\",\r\n \"files\": \"fichiers\"\r\n },\r\n \"sortable\": {\r\n \"noData\": \"Aucune donnée\"\r\n }\r\n};\r\n","import { render } from \"./App.vue?vue&type=template&id=c98d7a2e\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=c98d7a2e&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\r\n","import { render } from \"./BudgetComponent.vue?vue&type=template&id=5eea940c\"\nimport script from \"./BudgetComponent.vue?vue&type=script&lang=js\"\nexport * from \"./BudgetComponent.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__","\r\n\r\n\r\n","import { render } from \"./EngagementComponent.vue?vue&type=template&id=5bd26532\"\nimport script from \"./EngagementComponent.vue?vue&type=script&lang=js\"\nexport * from \"./EngagementComponent.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__","\r\n\r\n\r\n","import { render } from \"./IsOnlineComponent.vue?vue&type=template&id=2f7b59ca\"\nimport script from \"./IsOnlineComponent.vue?vue&type=script&lang=js\"\nexport * from \"./IsOnlineComponent.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__","\r\n\r\n\r\n","export const images = {\r\n \"10F\":\r\n \"url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEA8ADwAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCEAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAG4AZAMBEQACEQEDEQH/2gAMAwEAAhEDEQA/APsugAoAOlAHP6v4ht9J+RsyTEcRpy31P90e5rCdWNPTr2NoU3PyXc831PxrqjgvAsdvEv8AESCMe7N8v5HrXA8RN/DodioxW+pkRfEu62+SzLKwOd8e3p6cH9QKft5paj9jBvQ29H+KAeYQ3sZVM48xQRjt8wPH8vXpVxxD2mtO6IlQX2Xr2Z69b3EdygliIZGGQRXoJpq62OBpxdnuTVQgoAKACgAoAKACgDlvEmsNYILe3IE8oJ3HpGg+9If5KO7enJHJWqci5Y6N/gv62OmlDm957Lp3f9bnmEk8Vr80mZZJeVQnLP8A9NJjx8vovT27V5LfV/16no26L+vJHI6taTas++dz5SHp0UeyqOM9MdT09QKhSa2L5UjnLu0ltseUoiiHqMscdyeQvp0c+r0+bvuNLsixav5aHdgh+OPXt2FVcpo9I8A+JHs2FtKT5ROAD2+nuP5V00anI7dGclWnzK63R7wrBhkdDXsHlbC0AFABQAUAFACMQoJPAHNLYPI8V1nUfNMt3LyJGyqnui5EKfQgGR/qfUV4FWfM2+7/AOG/zPahDlSS6L/hzhIZpLmVmJJdycsenH3jj+6g+VQO/wCBrkb6HRaxM92ckRgtsIVF/vOc5Y+45B9PmP8AEKd7DUeZ2NG18KvfETXhJJHCjgD2FUk/Q6LRjsW9S8MxW9uSi/d549qbvHVCspaHORSLFGt1GNpWTa49GHOf+BLn3OeapPqjncbaM+hPDOoC+tF/vJ8p+nY17dCfNG3Y8atHkl6nR11HMFABQAUAFAGRrc/kWrAcF/kH/AuP61zVpcsGu+hvSV5X7anh+vOZZfKTpEMn03Hp+gUfnXz83ZvyPagtkYojFpCWx8zfu1HsAC/1LMVT65rmTv8A10N2rfL82bfhnSGmfznHyJ092P3m/E8D/ZArohHmd+hb9xW6s9EWLbwK6bWMriyQb1KnpTa6AnY8zv8ATxamW2HAl+dfZwMj8MKV+rYrmXutxKmr2kjtfh7eFokDH7w2n6qSufxK/rXo4eVpW7nl146eh6wK9g8sKACgAoAKAOX12UFlQ9EBc/h0/WvNxErO3ZNndRjpfu7HkiJ9oZpCM7yx+oHT8wfzBrwJarzPZSszk/F+pw6EsZm3kcRqE++Xb5mI4POTuBwcFR6VpTg5y5Y9EDkormk7K/8AWhN4R8cJeOsVtJJ5OQpWdAecZwsqADdgEhWGTg+hx2uEqe6sgUo1L8ru18meyCcFfM/hxnNMjY841X4hpp12bVpLeNAdozvkf6lV2qPpuzTXM/hWnoN8q+JpPzdhup3630UV/BLFcRmRVygK43EY/iYEBsZ5BHTntyzVnfr2tY2SfLa2m6ad0dT4UjNrLsHBWRsD9f51vRfvL1OCqtPkeyKcjivoTw9haACgAoADxQB514hudiTzdziNR9f84NfP4iduaXdpI9qhH4Y9lc5e0tThd3f+QyWP/AjmvO8zu22OR1vQ49cvYkkGRGS+QSCrZ6gj0yRVUpOL93qbcicbyW2xt2Xge2syPKBVQ4kK54LgYBwABwOntkdCa9J3ktWcqah8K1O2urbFqIB6YpNWSsJbs87/AOFdwXFyl05IeFi0ZIVtuSWP3hz8xJ+bODVxk4qyCajLVrUk1bw7Bo1hIlvnAJlYnqW6luwHI6AAVx1ddTqpaK2ysdLok4eaOYHiTY34uAG/XNVSfvJ+aOCqvda9T2CE/IPoK+jjsjwnuyWqEFABQBHKdqk+1TLRMpbpHnGsxmZliHQMWP1PT+n4Zr5uvrJR6LU92jom++hTl/0eEsMAkYTPoB1/H+uelYNdO/5HbCN5KPTrY5zwztuMzuQ0uSH9AykhgPbOcUqUeVnbWiorljsdiJsNjoo5J9K7b/cec49ty7OwdVKkY4wT7/41pLbQzirXuJC4PHTFQmU0cT8R7k2Wg3kyfe8oqv1chB/6FRZNpPa42+WLtvYoeEJT9htC/wB75fyHP9a5qb10/m/UzqK3/gP6HvducopHoK+njsj556Nk9USFABQBXujtQ1lN2izSC1OIlTzHJ9Tj/H9P514EtW33f/D/ANeZ7cNFbt/SM6VBcmZ2O2O3UhfTO3JP0AI/WiEebmk+h2J+zUV1lq/S5414G1lbpSVb7/zfieT+tYNOErM72+eKaPQbnxZYaawgu96tJwP3bbWzx984Tqf71dMX5HOqUpe+mkl1d9PuTHya/Dax+dIkiW64IZkwoGMg56YI6YJp6rSzsV7OL2qQv5S/Tc3NK1e21dPNtWLL0ztYDj0JAB/AmkYTpypO0rfI8z+MWqollbaOh/fX9zFlR1EUbq7sfQZCr75PpVx0vL+VP77aHLN7R7tfcnqbemsLZII0GFQcD6Kp/rXmQlaz8zaavc7GDxHPYOHT95AfvL/d9x6D1r2YVnHbbqjyZ009Ho+jO/sdXhvUDqcZ7Zr1IzUtjz5R5TTDg9K1IH5oAztRfamPWuWs7ROiktTlXYIpbpgH9eT/ADrxmerHexVtyEds/cc9O2eh/StIe76HU9Urbo8D8T+C77wjezaxpS+bpsrmR4Ywd9vkAuwUfei3bjhRlB/DtBIucFNdmtn3Lp1OT0e67enkdZpdyniG0Q4DY5VhgkfgeCD0INcauvde6PQjP2T547PddCePwgsjjzNgTOcBAP0zitLM2eLitYw176fna5u6zr1h4MsPMkwu0YjjGN7t1wB7nknoOpq7dEeTObk3OR8xQaldeKdZOqXhy5YLGo+7GgJ2Ivtkkk9yGJoqvkhyr5nNBc0uZ/LyPop0Mctuo4Gxj+iCvKWlv66HU+pg2WpPECTyI5HjYewOR+akYrZScWmjGUU1qb1petZTrLGf3TgY54weufp29MjPHT1KMre8vmjy6sfs/cz0OC/kABDHHtXtJHkczRrJqjqMEZq7Bzl/VXwMegzXn130PSorqc27B4sHucH8QP8AGvLeqPQWjKMEyx/I3UcEe47/AI+opRlbQ691oX0m3jBHFdaaehi1bYpS6PbsTJEohkbksgC5PqQOG+p596mVNPVaMuFZx917djhtf1LUvD43sgniY4V04wT0DjqpPbqPfNYWcdGdLcWrrQ8J8Qwav4mmkvTFLMkakkqpKRoOSB6Ack/ma1jF72OSc4p2uvvF8BWomkDY6Mcfgdo/MsT9a5K/YdN2PoK4iCXSn+5CP1Lf4Vx2s16G19H6nnyZR53H3QVc/wC8DsP/AI6wz64BpatWW61E9H5PQ348vavt5EY3j8izD6MoP4n2rtpy0Ul8zhnGzcX8vI63w5eC5tlOc7cr7/Kcc+9e/QfNBeWn3Hh11yzfnZ/edOrjFdhxm1qs+Jtn049sV4teXv8AL/Wx9BSj7tzmppTCWPLRtzx1B/8A1dfwrzW7XXQ7Utn1OYu3+15EE21k5xtIcf7vT+YH4Vzv1/zN0+XoaOgXc+oO9u2FeMDBYgFh0JIGQDnqB613UFKponsYVaipK8l9x1i6fL/y1fHsg/qf8K9aNB/af3HlzxS+xH7yxJpttcJ5c6eYndWyQSD3Ax7GtlRgtbHM8VUacbpJ+QDTLaCCSC3jjhWRXU7EAzuU9cDnqetauKS0RzqTur9z5S8DRm3vXtiPmikcHt0cY/Pr+NfPV1Zn0VN6HtV3KPtUuP8AlnHGD+KMQPzYfnXny0k/Jf5nXH4V6nB3CPYxXM7ghJ5NgyORtb5mGf4Sqpj1Ymrjpr1t/wAH/gES10NLTJgmnTSHqkZXH6A/TBz9DWtPSTS23RjU1Svvsx3h27NpKEU5SQjI9G9fxHB/Cvbpfu7W2e/r3+Z4lX3733W3p2+R6lGg2jOa9NI81mxqmyWTeDgjjIPpXgYlLm54vyPo8O3blaOZud4JSJgGI4HQ/iCRke45A7V5jutvuO9W6nnfiGeaBGRZFeQKxPlkdQD3AJ4+uc1i7qSWm+pqrNM4CPxPc6IsF95jGTcNuTndnjbk9R1z+HqM+hRvGd49N/Q46qTjZ9dj6t0PUotcsYr6PpKgYj0OPmH4c19HF3R87JW0NErg/T/9R/xrQyIvY/5PINIaPma9ih8M+IpvN63Eg2j1DYOcdgOQScAAHGTwPBxCd2ux9BRd4o6S5uS9w+0/NcPGf+AJGCT/AN9BR+OK8aTv9y/M9KKsrdrnLa/rv2eL7MAJI5NzyKMD5Qw5GcY5GST7dFINbQi5aJ2tt6mcmoa2v/kS6LeQvbSJbsx3QlVVtpyQOMMpKk4AHPPFUnyTTl3JlHmg1HsL4Scz3xibKrF+8O7jAXOePQH9MCvdp++1FbJ3/wCAeFV/dpye9rf8E9sglMiBumfpXrHkl/V7XzsvC6r6A8YP14PP1+mK8uphoz1joz1qeJcNHqjznUdSvrJRDJCJATj75PqeCQTg446/WvHqUXT0f3PoerTqqeqXzR5reassE2JYzCpJDbRn5Txzk59yQen8NcnLzX5Xqdt7JXKF54U+12qqkkbxRj92c7TjOR1AwQfQkEd+K1jW5HfZ9TOVO6t06HtnwfWWzsXsZGVljclQCDgHr0JOPrj0FfQYeoqkbo8KvDklY9Zddp/z9P5EflXeec9CH/P9D+uKAR4Z8X9AaVI9StULTg+X8oyTv47c5A6emSa8zER05j1cPL7JzGmWjWVub3WpQhKAeWpy+0D7uQeCx5O32GRivnbXdoHu3stTjGnXXWTUFVYljmeOOIfwx7CVDeu/q3bkiuvk9n7nez+dzHm5lzdr/cXdLs1jfMHCtllH931XPohyAf7uCetZSu5cu729ew1pHm2W/p3Ox8P6ZvuZL6NtoBKn0cOSCPwHOeemK+jpU2mpdIqz83Y+arVE4yj3ldeSueqwzKiAdK7zz9juZo1x0xWUtE32OpLVJaHN6jaLtOABjnpzXDUoqpHV69Oy+R1wrezdktOvd/M8S8UeGm1mb7PC6wykZ3EHafxHIP4H6142kJXttv8A8A9mL5o26Pb59zNj0TUvDdruup0ZEBB8rduPpncFX6nbn61ElGT0VjRNxVjrPhPe+deSb9wkIORwVK5wCW4OeOm3HvXqYSyul0POxN9Gz3+QYP8An6f1/SvXR47K+D/n34/mAaZOxmaxaLfWskT91JHJGCB69R+FY1IqUWn2OinJxkmj5W1q981p4VA/dkwrkcbmB3N1JweBnlsZJycV844cjt89D6KMuZX+R5nYahcwq9mCFLy7gRnA7Y7HGOK62lpUXRHOm9aZ9A+GdH+zWQaRg7Fcnju3zdT25AxXVhqKb9u93dJdv+CediqzX7haJbvubllJ9mt5WUdHX9TivWWh47ZtW0h8sE8k81Qj/9k=')\",\r\n\r\n \"10M\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"1F\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"1M\":\r\n \"url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEA8ADwAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCEAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAG4AZAMBEQACEQEDEQH/2gAMAwEAAhEDEQA/APsugAoAjaQIMntQBzOreLrHR1LXDbcdjgfkCwJ/Ck2o7lKLex5dqPxls4ZtsbMIghLZG3Dfw8+mMn1OR2Oay9rHojX2b6nlusfGK7vMNYy3EY+dcB2Xdu6FQCDleMZGe4Izis5T7aFqCQWnxV1MhjNcXKZOVBYcAk4Unjn6bc8VHtGtmaKC7HpXhv4oSyyql1JviIHzuACCR/EEzx2JC8ehpxrdJbd9hSpK14/ce62d2LlA4IOQCMHIIPcEdR712ehxbaF4UAFABQAUAFAEE0qwruY7QP8AP4/zoA8O8efE5dMLWWnhWm6M5O4J7+hb0GWx14rnnU5fdjudMKfVnzZe6pPqkxmuZGfcerE9foOv+6owPSuJtvVnUkloiEQpKdzcofXuRz9MdyB0/iapvbYdjXitIGG1UCjHVQCxzz0/unrznj+KouzRRRk3tnISpjjGwMc/NljnrkKcLwMAYAA4HU072V2HL2RZhaSE72Hl56Dp0Axjnuck5/SlcfK0e9+A/GrWRWzuSXi+Ug913AHK+oyTlfXkEmt6dbk92Xw/kYVKXPrHf8z6GgmSdFkjIZGGQR0Ir0l3Wx5rVtHoTUwCgAoADxQB4v8AFLxW2l2xtbclGk4aQHB2/wB1O/OMHpxkYORXPVlyqyOilG7uz5Kur/7QxI4Hck8k+/fPt+eScV5+x2EMDZY7gXb7qp6nGfnPYKOSowAMAnJxSGXRFMpDv85Y47hVx0Axjp7YAOaqyKSfQ1rDR55dzuWAk/hDMFye5Gefcn/Gk7LRHRGn3O90vw1bwR79u5j1PqfbPb/PXpg7s6VFLQ7Gz8PWt3F5cyDB59CNwHIPqDnn86uMdBS0ONu9HufDF8gjy8WRsJ+6VPY8fLjvjPPOD2TXLozna6o908G68AVtpPlSX7mTnD/3fTkcgjhuCO9dtCdn7N9dv8jgrwuudbrf07nqFegeeFABQAyRxGpZuAoJNAHwL8U/Ft1q+rzxv+7jgdoo41IIAU45I43E/e565HAWuCb5pO/Q7opQSSPOtPeSU7Vw0jcqB0UdB+A5J6Z6dME5tL5Gkbna6Vp5CZ7j5cjg7jyx+vHX8e9Yt6nXCHc7Sw0yM4DDp0780HUopHV29oNuMBfQd6Vijfs4wqcZJJAXsAO/0otYo6y0jWMAAe1aRVjCTH6tp63sHzDlR8p9DVON0Y3scQLttIKs2QoYcd8jqQeOO/r365zlsyWr3R9FabdpfW0dxGdyyIGBHf3r2E7pM8VrlbXYu0yQoAinYRxszdFUk/QDJoA/MvxXdLe6jczLkI0rkAjB+ZicYHcDgnoOnrXn7t27nfsi/o1r9lszcAfv7g7F9gRgY/3VBaok+h001ZX6s7vT0EKBPT+dZWOyOh2Nkd2MDH9fx/woNTftVAcDjBppDLM+o22nPtnbjOVx/gBmnZLRiv20LC+LFnYR2cTynoMKRn6DHT3qr9EYbbnZafqa3i7ZY3gcjlXUgZxyAcYP06+1aJ30tYzatscx4rtFtoHugPlQHn+6f6emf8nNoT0PQvhvqIudGtkbKuFbAbuu44I/4DiuulNNcq3R59ajOH7xrR2fpfv6noNdJxBQAjAMCDyDwaAPzR8bWUthrl3aTjEi3MgYDgY3bhjHYgjGO1cGzfqd26Vjb0hRIF/uxDC/U9T/AEH4+tYPc76Zvtcx23zOQMc89qpI2b5S5YeL7beIUVpWzwQOPzOBSasCqJ6I9CtXaYLJgrkcfj/nmg2XYtx+HlnufOmPFFiL6aG7HqthoZ2KVR3/ABY49AO36VXMo6In2blq9i3B4kgvn8uNGmbrhF3fT5hlF/4Ey0029LESiorR/cQ61Ib+2fT3RhJcowER27yo+824MUAHXO7PYAsQDVnsRdWs736I6OzPlRRiz2xz2iowjH93G109OcED3Az7YNtaw+KOtvzXzO+CTjyVk/ZzTi32a+F/9u6fI9NsrpbyFZl4DjOPQ9x+Br1IS54qS6nzFWm6M5U30f39mWqsxCgD45/aA8OpYarDqsSbRexkSHt5sZC59spsHvgn1rkqqzuup1U3pbseZaES6nHQVyno0ynd6bJqV0VclYY+CAeTnnH61adhuLm7dDptO0+w0n943ykDoxJ4/nU3vojdQUNTeTxvbxqVj+bb0xyP/rZp8r6Bzx7ndWXie2vbQFZES4ZcBGYA59fXA6n2FJeeg2+XVa9TzLxNpd5c3jQxyEynbiX+ADHRUycAHoCSevzc5Li1DW1xThKqtJW/L7v8z1zRVhswsrsBKVRNqDaAFGMkDhmPVmxkn8gc3vcz08gVJpKK1tu/62R3yXCvJGmfnZWyo6hOCHbHQZUKM4yTxWu5lbldkYGuJJp0qXluTukZYWUd8klSPocg+ua5KicWpx9D2MK1NSoz2Sck+3c9R8PMQskZ/hYN9C6gsPzzXdR0TXZ3+9a/ifP41K8Jrqmv/AXZfgdFXWeSFAHB/EnQrXXtCuIrvI8lDLG4ALJIv3cDjhj8rDI4PtWc7crv0Naabkox3bsfF2j2s2nmXz1KpkYb5TjnA3AElQ3QEgAngEmuG11dHqx/dScJ6duxflVhH58ZwrFsFcE5U4PJyMg8dKLaamnNvyvRdjmJ7Ke8wytsIfcxds5UEcc55PPt0461pGUYbrUwlCdTZ2XmJD5iyzbeUKMM4wpO3Hyr2Geev04qub5eQ1Cydnt1Z6x8ORbzRNZ3CLhwScAAk9M/X/8AVXHa+ktmelHSPu2TR3s2iy28IVY45RFkK5badnYHgnj1Gc9+eTVmlr9/cS0fKkrdF28tn8jPtLF5ZQxIjHonLf8AfbDofZAR1DA0lZ7GvK1u7LstPx/ysepabapaxYjXbu5J5LMcdWY5Zj7sSfeunZHBKyehPcQowBdQwQhxnsR3qGl19SoSafuuzenyZveHZCXlGCA2GBPtx/Xj2raju/vOfGRtGD7XVvXX9Dqq6zxgoAwvE9p9v0m8tx1kt5QPrsOP1xWdRXhJeT/I6KEuSrCT2Uo/mfG6eWoggk+/LHsx64jyQ3scce9eRTlZJdWj6avTvJytom/ubFVI41aJxhTgrgfdYcHI44ZepGSCq8YJI3T0szklGzvFfIi+yxyDCISffAB+hBY/mopbFKLe0ber/wArnJ6pvtplg27dx6Dvn1Pf8NoPcGncHC2j+5aI7bwtJ9kvI1J2E/hn1qW0bxXTyPfZbqBAqsPlI++WRQM+xO4/8BB+tU2v+DczSa6/KzOK1S2l0yf7XZkSwnl0U8jvlR6e35Vk1y6x2N41FJcs1bsd9oWppfwhk7dR0IPoRXRGXMjhqR5Xc31UHrTMEzsbWCKBB5SqgIBwoxXbFKK91W9DypzlJ+/Ju3d3LNWZBQAjKGBU9CMfnQGx8R+J9IuNI1bykH7y0lI2NxuTJKuCf7yEEfWvEceSXL2f4H20ZKrT5+kl9z6r5MddxgHjoa12PPuT6QAzbTTbN4nOeL76D7UIVABhXJPfJ5qV+BlOSTMvQnN7defPyE4UnrhSBjPbjOP/ANdZydvdiiYuUnodotpe3krT3kyGLnYfMwFA+6OcdhjAqJRctdjrUJLf7jbFrdrEI7KOSYnkMTtCqMHJL7T7DAOc1LptbMlx5dWd/wCExJHK4lBRwqhlPXI6dOvBxn6VvSunZnLU+HTuegjpmus49jt4BtjUeij+Vdq0SPIerb82S0yQoAKAPNfiL4VGsW63trF5l5b4Hyj5niOcrj+IqeVHXG4DJIFc1WHMuZLVfkephK/sm6U3aEu+yfR+Xn8jwe/0O/sbZJ72F4FmZhHvG1iFx1U8rnPG4AkDI4rj5ZJXkrdj0JTg5uNNp2te233mLZTi3lGeOakpO2hymv6LcLcTXeA6u26PP3TnpnHPA6/So1vboZyjrczLOG8kdVdwoB6RDZ+v3v1rXRbGkHy7nrOk2lpAymQr5jf8CY/Unms7pHf7VbR/yPV4JkaILEu3cAMkdq0vfY4W23dv5GhCqQP5jfLkAZx1+v8Anv8AWmtNWYPXRG/p4W5kVF6Fv06n9K2j7zSOao+SLfkd30ruPICgAoAKACgDD8Q6JFr9k9pJwT80bf3HH3W+nY+qkiolHmVjSE3TkpL+kfIus6bNpVw9vOpSSMkEfT+hHIPcc15rTi7M92MlJKUTJn1Jmh8k9AeKixTZUt5YgQf4if09fzxQwTsdlDcJZbZBjJx+uD/X+dRe2xomdWmuJEijIznt0HTv+P4jmk520QtyUarLIcBuF/I/n/LHr+EqTYWSPTPB0hcpI3Bbd9Oh5H17e1d1HdfM4K/wv5fmek16B5AUAFABQAUAFAHiPxg0hTFDqSLhsmGQ+vBZD9Rhh9MDtXJWW0vkd+GlvD5r9T5W1KV4SQSACePeuM7mzF+2shBJ6EHP8h+NJom9jok1eS4AVB8o/wA59j6e3Ws+Wxpfsb1heySHaT8oOSR3HA/IgAA9euKjlNEeiaPZy6qVijJRQQzt0wATxj1I+uKtK+iK23PZrM/YQpj42dPwrpXu6o55JS917M7G11m2nAVnWOQjO1jjpwcE4B69ueRnFdsakZdbPseTOlKD2uujRpCZDyGH5itbmGxJTAKACgAoA4D4mwiTQZiesbRsPrvC/wAmNYVfgfyOrDu1RL1/I+PNRt1kXPcdK889do5WW23vtY9ucf4U7mVjtPD2kw3H3s4x7Z/wPY+nWs2bxSPTtK8K246/c4JA7/TpihIvbY9J061itVEcKhFXoBWqVjNmwxwKoyMC8TzJFU9Artg/gP61lYvb7zm5rCHecLt/3SVH5KQKnlRR/9k=')\",\r\n\r\n \"2F\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"2M\":\r\n \"url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEBLAEsAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCEAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAG4AZAMBEQACEQEDEQH/2gAMAwEAAhEDEQA/APsqgAoAKACgBCQtAHkHjf4vaf4VkNpblLq6T74DfJH7MVzlvVcjHc54rGU7aR1N4076y0PGJP2hdVe4BjS3WLPKbT/Mnk/R/wAKx9pLyR0eyh5/edtpXx+iuEb7RbZlBG1Vfao+pIduTk4wTWyn/Wxk6XZmtpfx5064nEN9A9spON6s0m0f3mUxR/KO5Us2OQpo57fErCdL+V/oe22GpW2pxiazlSaM/wASMD+eOQfY4Napp7HO046PQvUxBQAUAFABQAUAQXE62sTzPwsaljzjgDJ5NJuyuNK7sfM3xS+K8E9v/Z+kSuMPmSZDt3DHyxoQc4O47zgdFx1rknUT92J2wpOPvS0Pky/vp5ZC7kgyYJGcjp1OMckeo+vNIvYottY5A2sOuOh/z3FSO3bQmF08bLIpwTx6cjpz6Ef5PNK3TsVtr3Ntb6Z184EYdQrqwB2dsqeuD9cD6Uc1nZ/8OPl0uv8Ahjb8F+KdS8FagtzbSuYFI3RMx2FSw3AqTjDDuPrkEKRonb3o6Myt9mW35H6F+Htcg8R6fBqdqf3VygYDup6Mp91YEH6V1J3VzhkuV2NqqJCgAoAKACgD59+OHiaWyji0mFiiSxNPNj+NQdscZ/2SwLMO4A7cVxVpNWgvmd2HgtZvpsfINyjSzMp6IP1JAJ+u4muVe6jua5mc9dKzvg8E4/p/n2reL0uYSjrYsmDYgIBYjg4/z/kVF9TTlsiLauMYIwen+fzp3JsdVosH2gGNRvUqW9wOpOO4H8QHQc9q55uzOuEbq3Q1JNMjG2BxhoxkEgHcuQRn1yOPQEA1pCXVGU420Pov9n/VWgS70N3BjjK3FsuSfkf/AFuCegy8fA4zkjqa7qb3XzPNqxtZ/L9UfSldByBQAUAFACdKAPkb49XEY1KOXd/y7LEF9SZHJ6e2V56HmvPrfEl5f5np0FaLfn/keNWmi3srh1gZ0uEAyOCucHJzgZBAPv2rjbVrLoejGLTu9mvuJ5vhjrNx+8iWNgexbBGf89jWkZWWzJlTu90joNO+GV/HERcSKHxwBkjjp1x07HPtzUNt6pWNIxUVZu7KTfDe9835E+XPYgYI7jIIIP8AdbA7ZxU8z2sU6cVqmdJpPw1ubacOs6QuOVCg7Se+VyQvvtYj0AFCbk7fmTZRV1+H+RzfjaFvD9yqTfNvXaCMgZPbP6jHQVolq4rdGc37qfRndfCbUV0fX7SM4MdzAbUHvuYF1z3zmILXZTdmefVXuu39f0j7KBrtPNFoAKACgCpe3MdlC88pwkYyT7f59ePWlsNK+iPz38b61PrPiY28zGW2FyFTp93zOAQP4hkhsY5B4zknglrzPrt8j1Ie64q2mh7Ne30emSC1toWnlVRnHyoD6Z/melcvLY9FNyV38izp3iK5X5LqKOEdsOGP44J/kKrm5dB8tzpBdrKhlGMAdqTl1BK2h57rWuTQMXS7Fqg/2FIH1J6fiRntURu3oaytFa2S8xvh/wASTTzqYruG6DfwlQpI9vfHPX9KrWDu/wASPdqRtFr5F74oaKNZ0nzkQb1wwPcEe459a1e8Zx+Zy292VN/I8Q0FdT0l4LqDPmQyK0LdcyAHb147kdDwTjmr5lF3RkqUpK1tD7w8AnU5NKjuNZffc3H7zbt2iNSAFTB5zxuO4kgsR04HfG9rs8mdk7R6Ha1ZmFABQBS1CyTULeS1kJCTI0bFTggMCDg/jSaurDT5Wmuh8SXHgC407XRb3UbxCC4QxOwX97H5qhXXaTw2c+xyCARx5sk4Pl7ntU0pwdRWuunyO78RWD3twV3mKMOSQv8AHzwHxglfUAjNc/M1Lyud8YXgrX26aHBQ+C0sLgzxSSOMhiCAqDGOAMZ5xznrknOTTlNvSyt6Dp0VHW7u/M9H0yCR4DGpwT0FYWctDpaUdehhXGiJOzCZVcEbWVsjIznBAPqAfqB6URk4eTCUVLSyaJ7LQrOALHFbxxhT8pAyV/3Sen4YobctGCpRgrq3oek21mLi1a2YA/L8oPTpx+tdsFaPKzy6js7o4XWLL7JIsaHeFlt/LQcKrrujxwDw0jqzYGcEA9qz+3p3X4X/AFsda0oOVrNRav35nH8le3mfT2nwtb28cb4DIig46ZAGcHjIz3xXrrQ+Ve+hcpiCgAoAKAPL/Hscq3unyIq+VvlWRiCWHybkAxwAWHfvjBrlqrY78O7cy7q33/8ABscdc2yrJ8xwTk/rXDy2Z7dOXu6HPXBR32R84PXtx7Vk7PRHStN9DZ04CNgzYCjGe3bmrSUWmZP4XFFHUpAjGRXWRyxyq4wF9fUdhWVRK91ubU9rWtZfiNsLpJPmxgjgj0NKLRU7pWO1tZNzjbxlc12p66HkTVl8zzLS9al8a3EVjpUEqHz8yzSqqqoVskjBJPKg5P8AdAAJIwRg07W1FVqx5LK9vPy6fifWAGBivTPBFoAKACgAoAqXtubiF40IVyp2kgMA3Y4PXmk1pZDTs7nheswTRSeVLxKq4bHTdjnHsT09q8erdOx9JQfuprbc86n1eyhm+ws58/ugRs/XpjnI796yS0utj0Ypy2067mnE6qoEfmENgY2t3GQBjuR09RzTafQajrq1pruug661CKwhM0kchQdTgDHXkhiCB8p56HFTsP2bezStrv8A13K2i3iaiy3VurpFIucOu0kdmx+nvms2rOxD0Vn8j0fTmLcL1wQPrj/GumD1PNqKyNj4aeCJ/DsX2u9k3zSrwgAAUHnJwOW56A478nGPThBr3meLUmn7sVoes1ucwUAFABQAUAFAHl3jXT2hnW8QfLJgH2YDv9Rj68151eGvMtj2MLPTke6/I8a1bTFurhLuH93cwklHGAcHqvOQR7EEfjg1xLTQ9yLTXLNXj+XmbNvqWo20QjUoSuCCU74x0BxkDjj+Va3aVrkewoyd+aWu6v8APsV7qyuNTTN9KTHxmIYVTtzgYHUfMc5/Ksntc1Xs6btSjd93d2+/Qls49mWACqAAMdsdq51vcmb+87LQCBOhPABH6nmuyno0edV2dux7aOBx0r2j5wWgAoAKACgAoAKAOT8X6nb2FiyXAB85ljUejOcA+xHUfSsKrSi79dDpopuacdLanh97t3Bk+n4ivGl3R9LSenKxdpwD+VDbsdCsOVS33jx6VnuN2jsXHmigQJxnqR/jV6RVupxayemw+0vhCTLnAA4+p4H5nAFOMtbhONlY98s5wUAbqOP0Br6C1kvQ+We7LoOelAhaACgAoATpQBn3GoxwkRqdzt0A/madhnz/APFzUZUjjAySh8zjgbgQQPoACPx964a2rS6K56NBcqb66IyIZfPQP2YA4+teWmeztsOVGPCnA96uwc8u48xSR9DWTVth8zluUipBOc1jqbrTYuaIp1LVrexX7kR+0Tf7sZGxfq0hU49Aa6qEeaa7LU5cRPkpvu9F89z3mK44Y9Arn/CvoeyPmCjba21rGVwT5UxjIP8AdBYAj644qdlqO19jpYdVilUN6+lOxNjUpCKk92kHHU+n+NA0jFn1EyZCnAHHHTn+Z/lQUkZcJMkjHsAM+/Pr17fkafS4/I82+JGlm8th2JkUE+gOQT+oriqK+q6M7ab5dDidEZvs6RyjbLEPLkXusifK4/Bga8u3K2j173Sa7GpuMZyKtaEg8rN7D0qGWjK1C+W0Q45fHArK3Q2Tsdz8MtKa3t5dUuB+9u2yM9RGmdv4EksPYivXw8OWN+rPFxVTmlyrZfmei7iiIB/Edx/Hn/Cu9/keakc3PdGa1eVFw5cYHc/Nz/PNSuxWwyC8DqCG2+xOKqzWgaHpV/elBsiOCTgn+dIhIyGyzZPYUjQpXB2AKOuc/if84pi2IH1CGwMcLAtLO+FReuM7Qx5GF75+uAaT00BIra1aLfwyI3ICED69c/lWdr6dzRO3yPNdZ0WaGJdZs1LZRReRAc7oxtM6jucDEgHJADjPzGuKtTfxx+a/X/M9ChUX8OXyf6f5GbNMjQrMh4YAg9ua4juS1sZgu3c7elJmlrGfBp76veLbKTl2AJH8Kj7x/AZ/GqhDmkooznP2cXLsfRdnbpYWSQJwoAQD6cfyFe7FctkuiPnZPmbb6sJWwxPZVOPwGKXQNjkZG328YHBaQN+WWNXt9wEE0SBuc59iR/Ki7WiC1z0hhkZ/H8z/APWqWCImbaAR3pj8ijN/rAP8+tHZCOXf91qiyNlghAx/vJnj6Zzj2okruw1ojpsZVnBPUjHbnr+PI/Koeg0VtPfyzJHjhXOPowDfpuxVBsc3q3g22uwRbMbXJ3bVAMYPU4TI257hSB6DrXJKhGWq0/I7YYmUN1zeu/3mKvg8Q4DTbseke0n/AMfOKj6v5/h/wTX612j+P/AJljg8KxieBPMklYgs552rjI4AxnPGOM8nOOd4wVPSP3nJOpKr8XTojvba7W/gt5kBVZV3gHqPlzzjvzXQupy9Uhl+/lxTMP4Yz/ImkM5iz/eRKx/hAx+Of/r/AJ1XQNmVJJCzt7Nj8sVBSP/Z')\",\r\n\r\n \"3F\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"3M\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"4F\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"4M\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"5F\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"5M\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"6F\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"6M\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"7F\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"7M\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"8F\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"8M\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"9F\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n \"9M\":\r\n \"url('data:image/jpeg;base64,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')\",\r\n\r\n BR:\r\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAtCAIAAACRYfoNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJGNTM2NzBBMEMzNTExRTY5Q0NDQkU3NkQ1MUQ1OTFCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJGNTM2NzBCMEMzNTExRTY5Q0NDQkU3NkQ1MUQ1OTFCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkY1MzY3MDgwQzM1MTFFNjlDQ0NCRTc2RDUxRDU5MUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkY1MzY3MDkwQzM1MTFFNjlDQ0NCRTc2RDUxRDU5MUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4SeXTsAAAKC0lEQVR42uxZCWwU1xl+b469T3vXu16vjY0x5kiMEw47tATEIbUJh0pKSSg91FRNI0VpS5tDUZS0SqBqUoqCaNQEIqUlASqSNrQpacAFEihHQOXyGl9re32svXjXe83uzs71+t4YB/BVDjuBiqeRvDue433//3/ffywDts4Ft/OiwG2+7gD4PwcgU+S4LQEoEEj0Qmd0sTOKP5CvtxMAibYz0u+m+Wtm+vbP8r02vTmHlQiMcVg0WF44poan8LHcHf5zZcPS/ChUyLmqHG6lK9LJa+qTJgAggOhWBSAxBXp+8zT/b8oDDq2EpM9RgVyttNoTLjVkTsXNiawWUMotBgAzFcHvFfbsmNFwvyMBZIBUK0P1IAsRu8+wpVe7wzGZOh03E1ZQ6BYAgDBZmcnm1Ft3NT1b2mVhZGxvoAVQByBDHg8YADUAalW6ScDMyCtcfTMtydOcKZzREVg3R294U6WETNOU/ERR9wuTOnK0EjY80AOQBZ9dyP/0XNG5FmdP1Ihd4ban7p7YO7+io2pqEOgAyBAwMZF+qblwc8AjKTSg5S8cADa8TM+yx18tb12gxky/sfd8UrZxV9VhnxekWWLyfr7ii7Fb9OJXpnetW31i5YJGcr16y+GI5Rf1JZ9FrQTDDZH7hgBItIGVninpfKqkS88oZCsakEhpnnxtyR8/rCTb1YnD7Aaf51n8d+0DZ7f8bJ/VlAUCwZCVqY1tng3+wpTIAEYeZw4oxPCLnNFdMxoeLgizmKsKgCzoS+iWPbvq7zXTgUEErDx8WOOT+F+Mcu689xNfwYqvNhmMRKkYiOY5Eg86o35e25I0XrpyXABIdK5GfGVK6+apLR69iFRjQQqIiFr1yxUH/j0ZWPj//W58gVbqbHOeDuQ+vLCeoRDRKwW49eLa/N48nXAybk4L7LUL1LUBUNPTyvxenJ6+5orh6EADOo7V5tdvV279UzXQpYEoYzRAkoGMiI5CSI5hl1ZqaXIbDPy8OZ1AHNBZCGbncA/lhbsFti5xrSnvGjggMUWG9IbJgW8X9IIrtk5upkFvzPLQhmdSoslkpVmWFiRJycJkMhuLChcjHJ9Mk6jDesrSBBJ9ReUiUVYzf37rW4X5SSRe8UxCfbAz6HiusbgtZQC0NLpXRwWA0xMEj3p7XioL5OtFrOJoSDgkzY8fFB5T6IiWZliKEWQpJfHFhnwbsDW0hyIBeffhUwFfpqGpz2TSRmMcYK7AwOnWP7H/uUePodTgx2LMoQz7YlPRG51uwn5auU4ARCWpaZbUK+WtD7qiOEaRMsytCMFdZ7bU1DkzcT4c5yQJQQppdXSJO9fuYu+ZUjClzJk0RNviIalD33Q+9c67Z1tb+jCPgYYhT+DZWRUdJ7ZsJ0QYEizEFRT450X7Uw3FtThzj6CzwwGQaZaWfzIh+Hxph1UjDzX8pTuxkSKGgtXfKXJP7uMS8e6YGiGqvxWZvF/LOHOM90wtmHOfu2y2wTvREItnP/5b4MAHwebGENBjDIzZzNdv2+bJ4y4XTkNckRTo9S3eTW0FgjxMyhtMYsz+ubbk9orGHxaFdKpKjug7FvjbbX/YWxVLZrKSSIyKA52lSP7SMkBD4/en04LfH/r0UOuxw+FOf9ZoYBcu88xanOO1un2+XpHLCpBds6DO406BkRKAArQUWpwXX5QTa0rrOnktgqMAUKiZVq5mdu0kG4/FYXQJwB5oC1q37a28imQKyndbJVmRsBb1qxBGoqEERalvCP9rb6Cjli+dmLtgZV51lbe9NdPjT6x9wDehIAmkUd+lgEKzsNoVronYuvorqOEBQBTKag5HrVP0mUKjMLqIYQCRqP7Nj2ZgJgwUn/gD0OtYPivLMvEdw9AUDRUFKeQrViHQ1tx7cF9XKgwq59uWfqNUFuj5pfs9Tg6MnIKJFDPgRJ/pB+fLjsfM6OoUMTiE8GYCacP2bmdaoqpsnJZFUBnxuRjh1o9m8Bxjy9Hr9VqFbBul01lZwfkZMhC68ixmo1bgRQmBzx0iIbn2ZNB3kpt2t+tbq/IrTe8BMTGsVkLVTJxM/aq58Ee1Zf6UAQ1JcMMlMgrJCB6J2D8M20v0/CQzD9VEM/jpCBiN4p6jk6NRl9drFkQplcpqtKwsqzlJVpxOMyZHLJGZ4M2N9HGXkxrGZmRDwfihfRfvnyRMK9oJpGGMRFSIBvt7bY+cKX8v6JLx+4Zrg0bIxPhdlHKR177b7ezhNbNtnEmjDHUFNIBon/5Me1Vre1eKyxpNOofdmIilAYWbFZhKCxi1IEiRaApQV8i/KFdMLdCZNJkUU2h5e1H1QDK+2vC9Wfbp+uInL0wM4Q6OkUdKZ6M29Th9QPRGoKD62IxdXQ4MFg66PAvWLPQlk00AkeIZi0xfPK3RMQNyLHtd1rISJ8ARpVICU5wcELYFo1pGB+juHy9rIDXpEMPvDuZWH6t4vc1L9k0rN1ELqa6Iiez7PY46Tj/TwuXo5MvkVoDFIWDH1hwpBzoZmxxXEnPvLQ6GEpi42OqpjBBP8vj9+S4LlxasZr3dgtnCelzWCz7u+e8eXL6oBfFXkAorW1r7uK/0xabiqMSqyWtMijkSf6gubt7Z4zBR8iwrh6ugflZAGVTd1X2i2elvzMclGj7THowpCPW3w5gPRI4gxJ1brs0AEbJb9VxGCDRmF1ZfeH1dDUPKvktlFV5vtrvWnC0/gfsbRrnG/uZ6ymkKpSX6HyHHsbi5wpxyG0SoFp00i74+p/XIBQ8ukoHmKpvheIBEWzEMZDHrurtjFquxu02aU9ny/ssfWE0CTsD9hq9NGL5fW7appTBFOszrmFlcZ0NDIgr5OeM73U5suTk2jqFx/Qxwa/LNBQ2dUeO5Cx5SAtKXWnWGoSgKkshXUCKWAZKWz8JVS/6z44U9DjuPBGJ4QYGvtnjx7n24hGauu7G8mZ6YmmOP/3ZK27zcgZ6YBn85NHnjruqjdR6QUZuSyz0x6TOrpwV/uur46kWNpEVWbznaZ8Y98bHIdcTMGE8lGEot+yZ12HDwqFMJTMrjdQWHzhTVtjkuxg3YUXm29PQJkfmVgfumd1EDU4mESK/3F24KeET5S5lKXDUXoqdaOVx4L82LEkYi0uOTJkZRj36tplSTZ/uDEOwN2Z9uKPYlzDc8jBi7wZaq02Fes7M7rwOnPCtnxq7AhaBIxlhQHZ+QUlkEUCKoerLsurqJP28o6c1qRklPX/hoUQ3301Hr7lCukxUrrGlSN6DB3cmOoOORs1MOhHNIUUCNzYh3TIe7lJIQ2b/2OM8lDfdauVydBNEllfSndI/VTnq5uSguMdeSnr688bqa8uoTJlxE6SkF17N4r78P5K89V34qZrlhqRlPEo8yAlOoJa4Ijp2PQ7ljGDODFjNuv11hV8j7L+YQGzEyGLfFgHFdtALGed35mfUOgJtc/xVgALbmqDgClr53AAAAAElFTkSuQmCCMzQ4Mw==\",\r\n\r\n DE:\r\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAmCAIAAAD7pgrOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFMUI5MDQ1MEM3MjExRTY4MTcyRDlCOEZDMDU3Rjc3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFMUI5MDQ2MEM3MjExRTY4MTcyRDlCOEZDMDU3Rjc3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkUxQjkwNDMwQzcyMTFFNjgxNzJEOUI4RkMwNTdGNzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkUxQjkwNDQwQzcyMTFFNjgxNzJEOUI4RkMwNTdGNzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6gw/inAAAAVklEQVR42uzWUQ2AMAxF0Y5MxCThDI1TMAXwCXjg74VzHZw0TVslSZL039qeDljhgH6FA7YCAAAAAABIvsR3OmAc4c/cM8MnUKclBgAAAAAAAPjaK8AAbScGyes+6bEAAAAASUVORK5CYII5OTg=\",\r\n\r\n ES:\r\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAIAAABHOBkQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkRGRTFGQzcyMEQxRTExRTY4ODAyRUM0Q0I3OUUwQUMzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkRGRTFGQzczMEQxRTExRTY4ODAyRUM0Q0I3OUUwQUMzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REZFMUZDNzAwRDFFMTFFNjg4MDJFQzRDQjc5RTBBQzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6REZFMUZDNzEwRDFFMTFFNjg4MDJFQzRDQjc5RTBBQzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5CGIEmAAAD1UlEQVR42uyYy28bRRzHfzOzD7/Wie3EdtIkdkwSkTRt0iRSlJKKJqhCnJBAiAM3JLhx4QQ3uCP+A269IIGQECFItEhBrVFJBQ1NaVqTuCHOy0lsK2t7nzPDxs0BboYgY4sdzUr7mFnNZ3+v76yQ9vdBKzcMLd5cABfABXABXIAzNYFqqLUBwjNaSwMgvtziLgTGWfBrnbViEKOTqZxBXsVAaq9B/5UF/v7SOce6JaiGvF8Rf9oOzQ/kFYF5RMvpzrPmBkBQNaStY6+qiUS3pLLu14Dl9PskFG4zvQJPRhyLsCYGwHBoeDJfIfEhOgoIeMOrTVd+vNVujVF6iKovku450YMN4E0YA46Li+C4e7ytIoWMrIEqPqM6bnFcKE0w1TIfW6S7s+yRTZBqIxuXRm/VtXpG0c1vBUzghWsWeGHpLlnelAUdhQ71ShsIfnZlmA8PQ7mAbtwQB1J09BIFu5lciAL/nVoEgWGg1et+lseeLGKbHM+/3HdpjCq7WpewVV732Ytrquk3YLS5YoCDgGBwcp5yG8P3W4v+LY9u9uo9m3Lb+UlPcgZ+Xs+pHeJoLKosnp97rVO8ByzTXDGAZAjHXpXJS1YVEQ8tDsv58YAaAIEgdlDyFagSVhAxWBUFg2/7lPGT4tBEFhBhY0nK3vsECE0Xg+YRqDy0pyu9PLu3komNjJjtomLTfMaf/05SfR9qfDt8jXSkGhEG9VmAwHGOkok3yOzrz1xVcZTF8uX+uyyT7PlI969++bU9mSj45M4hs+sCD7zy3rE8YZVYY6Q6+eDNOkYxCPXD3sP24jcPUjMbBwSJx/Y5c/uOPb31bF9sdWWwuKD/tiTt3/ZiNfMF67/4ZGg6h1jzuJAMa5/jQt6feCvaPXRz5VeK44BlcnUnnUxvTkWzzK6IVWA7fOgdabd3Kvtpti+Cuib4mZTivwlgQOoKpeFZRlVmAndyKkOUknhXKSEXZL93JxLpqFQ5WGBx+cLlgeByJJh2rprGAgyUGGi5jy2L4hSAjRwd6hzURhUpIWm52AZYDAsRZLPK0dq7/YHHUhCaqZARuL/bf/2Xy05JjirGyMXN2yVsMMWMTZl4xH50x6dlRKINzukL67MLj0bC3oH3lc/afZUG6Lp6C1lA1GZ795164AEtOUbb4vqBltwVO3aK2cT0uVjxSVfPvq+Dx9dLz/cdeYQydkK4IZKuPi30NN+SU1Fx8l2FU9c63ccINYehtZOnd2xoDIDgZJh/XjnIX235Z3NKjVKjD56LtvamvvCDt7UBiJe3NID7b9QFcAFcABfg/w3whwADALA9jy2I9PhSAAAAAElFTkSuQmCCMTg5Mw==\",\r\n\r\n FR:\r\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAIAAABHOBkQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJENDg5REJDMEM3MDExRTZBM0QzODREQzFFNDczOURFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJENDg5REJEMEM3MDExRTZBM0QzODREQzFFNDczOURFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkQ0ODlEQkEwQzcwMTFFNkEzRDM4NERDMUU0NzM5REUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkQ0ODlEQkIwQzcwMTFFNkEzRDM4NERDMUU0NzM5REUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5eKs0eAAAAZUlEQVR42uzPMQ2AQBAAwXu610EwQxCAAnrE0GAAETR4IqGABg/XfTIrYJMp0W+R7vmOfZynIT14z+te1lJr+tBF4wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTVL8AAJaAJpU7NMCAAAAAASUVORK5CYIIxMDEz\",\r\n\r\n GB:\r\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFERTU2NTJEMEQyRDExRTY5MUVCQTMxOUMzRTQ4OUQ4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFERTU2NTJFMEQyRDExRTY5MUVCQTMxOUMzRTQ4OUQ4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MURFNTY1MkIwRDJEMTFFNjkxRUJBMzE5QzNFNDg5RDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MURFNTY1MkMwRDJEMTFFNjkxRUJBMzE5QzNFNDg5RDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4LW+oDAAAIsElEQVR42sxZ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\",\r\n\r\n US:\r\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAiCAIAAABgN0jYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkFBOEQ0MUQxMEQyRDExRTY4NzY1OUZEN0M0RTRGNDEzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkFBOEQ0MUQyMEQyRDExRTY4NzY1OUZEN0M0RTRGNDEzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUE4RDQxQ0YwRDJEMTFFNjg3NjU5RkQ3QzRFNEY0MTMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QUE4RDQxRDAwRDJEMTFFNjg3NjU5RkQ3QzRFNEY0MTMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Xh7i9AAAGGElEQVR42uxX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\"\r\n};\r\n","import { render } from \"./FlagComponent.vue?vue&type=template&id=b1d70d46\"\nimport script from \"./FlagComponent.vue?vue&type=script&lang=js\"\nexport * from \"./FlagComponent.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__","\r\n\r\n\r\n","import { render } from \"./ContactNameComponent.vue?vue&type=template&id=6796f2b0\"\nimport script from \"./ContactNameComponent.vue?vue&type=script&lang=js\"\nexport * from \"./ContactNameComponent.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__","import { render } from \"./Team.vue?vue&type=template&id=515f8c9b\"\nimport script from \"./Team.vue?vue&type=script&lang=js\"\nexport * from \"./Team.vue?vue&type=script&lang=js\"\n\nimport \"./Team.vue?vue&type=style&index=0&id=515f8c9b&lang=css\"\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","import { render } from \"./FormInput.vue?vue&type=template&id=14286ad4\"\nimport script from \"./FormInput.vue?vue&type=script&lang=js\"\nexport * from \"./FormInput.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__","\r\n\r\n","import { render } from \"./FormMaskedTextBox.vue?vue&type=template&id=561576ba\"\nimport script from \"./FormMaskedTextBox.vue?vue&type=script&lang=js\"\nexport * from \"./FormMaskedTextBox.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__","\r\n\r\n","import { render } from \"./FormAutoComplete.vue?vue&type=template&id=18084087\"\nimport script from \"./FormAutoComplete.vue?vue&type=script&lang=js\"\nexport * from \"./FormAutoComplete.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__","\r\n\r\n","import { render } from \"./FormTextArea.vue?vue&type=template&id=4a3f4edc\"\nimport script from \"./FormTextArea.vue?vue&type=script&lang=js\"\nexport * from \"./FormTextArea.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__","\r\n\r\n","import { render } from \"./FormRadioGroup.vue?vue&type=template&id=180c74aa\"\nimport script from \"./FormRadioGroup.vue?vue&type=script&lang=js\"\nexport * from \"./FormRadioGroup.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__","\r\n\r\n\r\n","import { render } from \"./FormUpload.vue?vue&type=template&id=4a2c0b4d&scoped=true\"\nimport script from \"./FormUpload.vue?vue&type=script&lang=js\"\nexport * from \"./FormUpload.vue?vue&type=script&lang=js\"\n\nimport \"./FormUpload.vue?vue&type=style&index=0&id=4a2c0b4d&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4a2c0b4d\"]])\n\nexport default __exports__","export const teams = [\r\n { label: \"Tiger Team\", value: \"tiger\" },\r\n { label: \"Lemon Team\", value: \"lemon\" },\r\n { label: \"Organic Team\", value: \"organic\" },\r\n { label: \"Ocean Team\", value: \"ocean\" },\r\n];\r\n\r\nexport const countries = [\r\n { name: 'Afghanistan', code: 'AF' },\r\n { name: 'Åland Islands', code: 'AX' },\r\n { name: 'Albania', code: 'AL' },\r\n { name: 'Algeria', code: 'DZ' },\r\n { name: 'American Samoa', code: 'AS' },\r\n { name: 'AndorrA', code: 'AD' },\r\n { name: 'Angola', code: 'AO' },\r\n { name: 'Anguilla', code: 'AI' },\r\n { name: 'Antarctica', code: 'AQ' },\r\n { name: 'Antigua and Barbuda', code: 'AG' },\r\n { name: 'Argentina', code: 'AR' },\r\n { name: 'Armenia', code: 'AM' },\r\n { name: 'Aruba', code: 'AW' },\r\n { name: 'Australia', code: 'AU' },\r\n { name: 'Austria', code: 'AT' },\r\n { name: 'Azerbaijan', code: 'AZ' },\r\n { name: 'Bahamas', code: 'BS' },\r\n { name: 'Bahrain', code: 'BH' },\r\n { name: 'Bangladesh', code: 'BD' },\r\n { name: 'Barbados', code: 'BB' },\r\n { name: 'Belarus', code: 'BY' },\r\n { name: 'Belgium', code: 'BE' },\r\n { name: 'Belize', code: 'BZ' },\r\n { name: 'Benin', code: 'BJ' },\r\n { name: 'Bermuda', code: 'BM' },\r\n { name: 'Bhutan', code: 'BT' },\r\n { name: 'Bolivia', code: 'BO' },\r\n { name: 'Bosnia and Herzegovina', code: 'BA' },\r\n { name: 'Botswana', code: 'BW' },\r\n { name: 'Bouvet Island', code: 'BV' },\r\n { name: 'Brazil', code: 'BR' },\r\n { name: 'British Indian Ocean Territory', code: 'IO' },\r\n { name: 'Brunei Darussalam', code: 'BN' },\r\n { name: 'Bulgaria', code: 'BG' },\r\n { name: 'Burkina Faso', code: 'BF' },\r\n { name: 'Burundi', code: 'BI' },\r\n { name: 'Cambodia', code: 'KH' },\r\n { name: 'Cameroon', code: 'CM' },\r\n { name: 'Canada', code: 'CA' },\r\n { name: 'Cape Verde', code: 'CV' },\r\n { name: 'Cayman Islands', code: 'KY' },\r\n { name: 'Central African Republic', code: 'CF' },\r\n { name: 'Chad', code: 'TD' },\r\n { name: 'Chile', code: 'CL' },\r\n { name: 'China', code: 'CN' },\r\n { name: 'Christmas Island', code: 'CX' },\r\n { name: 'Cocos (Keeling) Islands', code: 'CC' },\r\n { name: 'Colombia', code: 'CO' },\r\n { name: 'Comoros', code: 'KM' },\r\n { name: 'Congo', code: 'CG' },\r\n { name: 'Congo, The Democratic Republic of the', code: 'CD' },\r\n { name: 'Cook Islands', code: 'CK' },\r\n { name: 'Costa Rica', code: 'CR' },\r\n { name: 'Cote D\\'Ivoire', code: 'CI' },\r\n { name: 'Croatia', code: 'HR' },\r\n { name: 'Cuba', code: 'CU' },\r\n { name: 'Cyprus', code: 'CY' },\r\n { name: 'Czech Republic', code: 'CZ' },\r\n { name: 'Denmark', code: 'DK' },\r\n { name: 'Djibouti', code: 'DJ' },\r\n { name: 'Dominica', code: 'DM' },\r\n { name: 'Dominican Republic', code: 'DO' },\r\n { name: 'Ecuador', code: 'EC' },\r\n { name: 'Egypt', code: 'EG' },\r\n { name: 'El Salvador', code: 'SV' },\r\n { name: 'Equatorial Guinea', code: 'GQ' },\r\n { name: 'Eritrea', code: 'ER' },\r\n { name: 'Estonia', code: 'EE' },\r\n { name: 'Ethiopia', code: 'ET' },\r\n { name: 'Falkland Islands (Malvinas)', code: 'FK' },\r\n { name: 'Faroe Islands', code: 'FO' },\r\n { name: 'Fiji', code: 'FJ' },\r\n { name: 'Finland', code: 'FI' },\r\n { name: 'France', code: 'FR' },\r\n { name: 'French Guiana', code: 'GF' },\r\n { name: 'French Polynesia', code: 'PF' },\r\n { name: 'French Southern Territories', code: 'TF' },\r\n { name: 'Gabon', code: 'GA' },\r\n { name: 'Gambia', code: 'GM' },\r\n { name: 'Georgia', code: 'GE' },\r\n { name: 'Germany', code: 'DE' },\r\n { name: 'Ghana', code: 'GH' },\r\n { name: 'Gibraltar', code: 'GI' },\r\n { name: 'Greece', code: 'GR' },\r\n { name: 'Greenland', code: 'GL' },\r\n { name: 'Grenada', code: 'GD' },\r\n { name: 'Guadeloupe', code: 'GP' },\r\n { name: 'Guam', code: 'GU' },\r\n { name: 'Guatemala', code: 'GT' },\r\n { name: 'Guernsey', code: 'GG' },\r\n { name: 'Guinea', code: 'GN' },\r\n { name: 'Guinea-Bissau', code: 'GW' },\r\n { name: 'Guyana', code: 'GY' },\r\n { name: 'Haiti', code: 'HT' },\r\n { name: 'Heard Island and Mcdonald Islands', code: 'HM' },\r\n { name: 'Holy See (Vatican City State)', code: 'VA' },\r\n { name: 'Honduras', code: 'HN' },\r\n { name: 'Hong Kong', code: 'HK' },\r\n { name: 'Hungary', code: 'HU' },\r\n { name: 'Iceland', code: 'IS' },\r\n { name: 'India', code: 'IN' },\r\n { name: 'Indonesia', code: 'ID' },\r\n { name: 'Iran, Islamic Republic Of', code: 'IR' },\r\n { name: 'Iraq', code: 'IQ' },\r\n { name: 'Ireland', code: 'IE' },\r\n { name: 'Isle of Man', code: 'IM' },\r\n { name: 'Israel', code: 'IL' },\r\n { name: 'Italy', code: 'IT' },\r\n { name: 'Jamaica', code: 'JM' },\r\n { name: 'Japan', code: 'JP' },\r\n { name: 'Jersey', code: 'JE' },\r\n { name: 'Jordan', code: 'JO' },\r\n { name: 'Kazakhstan', code: 'KZ' },\r\n { name: 'Kenya', code: 'KE' },\r\n { name: 'Kiribati', code: 'KI' },\r\n { name: 'Korea, Democratic People\\'S Republic of', code: 'KP' },\r\n { name: 'Korea, Republic of', code: 'KR' },\r\n { name: 'Kuwait', code: 'KW' },\r\n { name: 'Kyrgyzstan', code: 'KG' },\r\n { name: 'Lao People\\'S Democratic Republic', code: 'LA' },\r\n { name: 'Latvia', code: 'LV' },\r\n { name: 'Lebanon', code: 'LB' },\r\n { name: 'Lesotho', code: 'LS' },\r\n { name: 'Liberia', code: 'LR' },\r\n { name: 'Libyan Arab Jamahiriya', code: 'LY' },\r\n { name: 'Liechtenstein', code: 'LI' },\r\n { name: 'Lithuania', code: 'LT' },\r\n { name: 'Luxembourg', code: 'LU' },\r\n { name: 'Macao', code: 'MO' },\r\n { name: 'Macedonia, The Former Yugoslav Republic of', code: 'MK' },\r\n { name: 'Madagascar', code: 'MG' },\r\n { name: 'Malawi', code: 'MW' },\r\n { name: 'Malaysia', code: 'MY' },\r\n { name: 'Maldives', code: 'MV' },\r\n { name: 'Mali', code: 'ML' },\r\n { name: 'Malta', code: 'MT' },\r\n { name: 'Marshall Islands', code: 'MH' },\r\n { name: 'Martinique', code: 'MQ' },\r\n { name: 'Mauritania', code: 'MR' },\r\n { name: 'Mauritius', code: 'MU' },\r\n { name: 'Mayotte', code: 'YT' },\r\n { name: 'Mexico', code: 'MX' },\r\n { name: 'Micronesia, Federated States of', code: 'FM' },\r\n { name: 'Moldova, Republic of', code: 'MD' },\r\n { name: 'Monaco', code: 'MC' },\r\n { name: 'Mongolia', code: 'MN' },\r\n { name: 'Montserrat', code: 'MS' },\r\n { name: 'Morocco', code: 'MA' },\r\n { name: 'Mozambique', code: 'MZ' },\r\n { name: 'Myanmar', code: 'MM' },\r\n { name: 'Namibia', code: 'NA' },\r\n { name: 'Nauru', code: 'NR' },\r\n { name: 'Nepal', code: 'NP' },\r\n { name: 'Netherlands', code: 'NL' },\r\n { name: 'Netherlands Antilles', code: 'AN' },\r\n { name: 'New Caledonia', code: 'NC' },\r\n { name: 'New Zealand', code: 'NZ' },\r\n { name: 'Nicaragua', code: 'NI' },\r\n { name: 'Niger', code: 'NE' },\r\n { name: 'Nigeria', code: 'NG' },\r\n { name: 'Niue', code: 'NU' },\r\n { name: 'Norfolk Island', code: 'NF' },\r\n { name: 'Northern Mariana Islands', code: 'MP' },\r\n { name: 'Norway', code: 'NO' },\r\n { name: 'Oman', code: 'OM' },\r\n { name: 'Pakistan', code: 'PK' },\r\n { name: 'Palau', code: 'PW' },\r\n { name: 'Palestinian Territory, Occupied', code: 'PS' },\r\n { name: 'Panama', code: 'PA' },\r\n { name: 'Papua New Guinea', code: 'PG' },\r\n { name: 'Paraguay', code: 'PY' },\r\n { name: 'Peru', code: 'PE' },\r\n { name: 'Philippines', code: 'PH' },\r\n { name: 'Pitcairn', code: 'PN' },\r\n { name: 'Poland', code: 'PL' },\r\n { name: 'Portugal', code: 'PT' },\r\n { name: 'Puerto Rico', code: 'PR' },\r\n { name: 'Qatar', code: 'QA' },\r\n { name: 'Reunion', code: 'RE' },\r\n { name: 'Romania', code: 'RO' },\r\n { name: 'Russian Federation', code: 'RU' },\r\n { name: 'RWANDA', code: 'RW' },\r\n { name: 'Saint Helena', code: 'SH' },\r\n { name: 'Saint Kitts and Nevis', code: 'KN' },\r\n { name: 'Saint Lucia', code: 'LC' },\r\n { name: 'Saint Pierre and Miquelon', code: 'PM' },\r\n { name: 'Saint Vincent and the Grenadines', code: 'VC' },\r\n { name: 'Samoa', code: 'WS' },\r\n { name: 'San Marino', code: 'SM' },\r\n { name: 'Sao Tome and Principe', code: 'ST' },\r\n { name: 'Saudi Arabia', code: 'SA' },\r\n { name: 'Senegal', code: 'SN' },\r\n { name: 'Serbia and Montenegro', code: 'CS' },\r\n { name: 'Seychelles', code: 'SC' },\r\n { name: 'Sierra Leone', code: 'SL' },\r\n { name: 'Singapore', code: 'SG' },\r\n { name: 'Slovakia', code: 'SK' },\r\n { name: 'Slovenia', code: 'SI' },\r\n { name: 'Solomon Islands', code: 'SB' },\r\n { name: 'Somalia', code: 'SO' },\r\n { name: 'South Africa', code: 'ZA' },\r\n { name: 'South Georgia and the South Sandwich Islands', code: 'GS' },\r\n { name: 'Spain', code: 'ES' },\r\n { name: 'Sri Lanka', code: 'LK' },\r\n { name: 'Sudan', code: 'SD' },\r\n { name: 'Suriname', code: 'SR' },\r\n { name: 'Svalbard and Jan Mayen', code: 'SJ' },\r\n { name: 'Swaziland', code: 'SZ' },\r\n { name: 'Sweden', code: 'SE' },\r\n { name: 'Switzerland', code: 'CH' },\r\n { name: 'Syrian Arab Republic', code: 'SY' },\r\n { name: 'Taiwan, Province of China', code: 'TW' },\r\n { name: 'Tajikistan', code: 'TJ' },\r\n { name: 'Tanzania, United Republic of', code: 'TZ' },\r\n { name: 'Thailand', code: 'TH' },\r\n { name: 'Timor-Leste', code: 'TL' },\r\n { name: 'Togo', code: 'TG' },\r\n { name: 'Tokelau', code: 'TK' },\r\n { name: 'Tonga', code: 'TO' },\r\n { name: 'Trinidad and Tobago', code: 'TT' },\r\n { name: 'Tunisia', code: 'TN' },\r\n { name: 'Turkey', code: 'TR' },\r\n { name: 'Turkmenistan', code: 'TM' },\r\n { name: 'Turks and Caicos Islands', code: 'TC' },\r\n { name: 'Tuvalu', code: 'TV' },\r\n { name: 'Uganda', code: 'UG' },\r\n { name: 'Ukraine', code: 'UA' },\r\n { name: 'United Arab Emirates', code: 'AE' },\r\n { name: 'United Kingdom', code: 'GB' },\r\n { name: 'United States', code: 'US' },\r\n { name: 'United States Minor Outlying Islands', code: 'UM' },\r\n { name: 'Uruguay', code: 'UY' },\r\n { name: 'Uzbekistan', code: 'UZ' },\r\n { name: 'Vanuatu', code: 'VU' },\r\n { name: 'Venezuela', code: 'VE' },\r\n { name: 'Viet Nam', code: 'VN' },\r\n { name: 'Virgin Islands, British', code: 'VG' },\r\n { name: 'Virgin Islands, U.S.', code: 'VI' },\r\n { name: 'Wallis and Futuna', code: 'WF' },\r\n { name: 'Western Sahara', code: 'EH' },\r\n { name: 'Yemen', code: 'YE' },\r\n { name: 'Zambia', code: 'ZM' },\r\n { name: 'Zimbabwe', code: 'ZW' }\r\n];","import { getter } from '@progress/kendo-vue-common';\r\n\r\nconst emailRegex = new RegExp(/\\S+@\\S+\\.\\S+/);\r\nconst phoneRegex = new RegExp(/^[0-9 ()+-]+$/);\r\nconst ccardRegex = new RegExp(/^[0-9-]+$/);\r\nconst cvcRegex = new RegExp(/^[0-9]+$/);\r\n\r\nexport const termsValidator = value =>\r\n value ? '' : \"It's required to agree with Terms and Conditions.\";\r\nexport const emailValidator = value =>\r\n !value\r\n ? 'Error: Email field is required.'\r\n : emailRegex.test(value)\r\n ? ''\r\n : 'Email is not in a valid format.';\r\nexport const firstNameValidator = value => {\r\n return !value\r\n ? 'Error: First Name is required'\r\n : value.length < 2\r\n ? 'First Name should be at least 2 characters long.'\r\n : '';\r\n}\r\nexport const lastNameValidator = value =>\r\n !value\r\n ? 'Error: Last Name is required'\r\n : value.length < 2\r\n ? 'Last Name should be at least 2 characters long.'\r\n : '';\r\nexport const userNameValidator = value =>\r\n !value\r\n ? 'User Name is required'\r\n : value.length < 5\r\n ? 'User name should be at least 5 characters long.'\r\n : '';\r\nexport const phoneValidator = value =>\r\n !value\r\n ? 'Phone number is required.'\r\n : phoneRegex.test(value)\r\n ? ''\r\n : 'Not a valid phone number.';\r\nexport const cardValidator = value =>\r\n !value\r\n ? 'Credit card number is required. '\r\n : ccardRegex.test(value)\r\n ? ''\r\n : 'Not a valid credit card number format.';\r\nexport const cvcValidator = value =>\r\n !value\r\n ? 'CVC code is required,'\r\n : cvcRegex.test(value) || value.length !== 3\r\n ? ''\r\n : 'Not a valid CVC code format.';\r\nexport const guestsValidator = value =>\r\n !value\r\n ? 'Number of guests is required'\r\n : value <= 5\r\n ? ''\r\n : 'Maximum 5 guests';\r\nexport const nightsValidator = value =>\r\n value ? '' : 'Number of Nights is required.';\r\nexport const arrivalDateValidator = value =>\r\n value ? '' : 'Arrival Date is required.';\r\nexport const colorValidator = value => (value ? '' : 'Color is required.');\r\nexport const requiredValidator = value =>\r\n value ? '' : 'Error: This field is required.';\r\nexport const passwordValidator = value =>\r\n value && value.length > 8 ? '' : 'Password must be at least 8 symbols.';\r\nexport const addressValidator = value => (value ? '' : 'Address is required.');\r\n\r\nconst userNameGetter = getter('username');\r\nconst emailGetter = getter('email');\r\n\r\nexport const formValidator = values => {\r\n const userName = userNameGetter(values);\r\n const emailValue = emailGetter(values);\r\n\r\n if (userName && emailValue && emailRegex.test(emailValue)) {\r\n return {};\r\n }\r\n\r\n return {\r\n VALIDATION_SUMMARY: 'Please fill in the following fields.',\r\n ['username']: !userName ? 'User Name is required.' : '',\r\n ['email']:\r\n emailValue && emailRegex.test(emailValue)\r\n ? ''\r\n : 'Email is required and should be in a valid format.'\r\n };\r\n};\r\n","import { render } from \"./FormContent.vue?vue&type=template&id=ff4a2cb8&scoped=true\"\nimport script from \"./FormContent.vue?vue&type=script&lang=js\"\nexport * from \"./FormContent.vue?vue&type=script&lang=js\"\n\nimport \"./FormContent.vue?vue&type=style&index=0&id=ff4a2cb8&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ff4a2cb8\"]])\n\nexport default __exports__","import { render } from \"./Profile.vue?vue&type=template&id=1663867c\"\nimport script from \"./Profile.vue?vue&type=script&lang=js\"\nexport * from \"./Profile.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__","\r\n\r\n\r\n\r\n","export const orders = [\r\n {\r\n orderID: 10255,\r\n orderDate: 1531342800000,\r\n orderTotal: 2490.5,\r\n customerCompanyName: 'Richter Supermarkt',\r\n customerContactName: 'Michael Holz',\r\n requiredDateStart: 1533821400000,\r\n requiredDateEnd: 1533826800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10263,\r\n orderDate: 1532293200000,\r\n orderTotal: 1873.8,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1534766400000,\r\n requiredDateEnd: 1534771800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10324,\r\n orderDate: 1538946000000,\r\n orderTotal: 5275.715,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1541415600000,\r\n requiredDateEnd: 1541421000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10331,\r\n orderDate: 1539637200000,\r\n orderTotal: 88.5,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1543312800000,\r\n requiredDateEnd: 1543316400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10386,\r\n orderDate: 1545084000000,\r\n orderTotal: 166,\r\n customerCompanyName: 'Familia Arquibaldo',\r\n customerContactName: 'Aria Cruz',\r\n requiredDateStart: 1546347600000,\r\n requiredDateEnd: 1546353000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10411,\r\n orderDate: 1547071200000,\r\n orderTotal: 966.8,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1549530000000,\r\n requiredDateEnd: 1549533600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10475,\r\n orderDate: 1552514400000,\r\n orderTotal: 1505.18,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1554989400000,\r\n requiredDateEnd: 1554991200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10501,\r\n orderDate: 1554757200000,\r\n orderTotal: 149,\r\n customerCompanyName: 'Blauer See Delikatessen',\r\n customerContactName: 'Hanna Moos',\r\n requiredDateStart: 1557228600000,\r\n requiredDateEnd: 1557232200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10506,\r\n orderDate: 1555275600000,\r\n orderTotal: 415.8,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1557748800000,\r\n requiredDateEnd: 1557754200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10538,\r\n orderDate: 1557867600000,\r\n orderTotal: 139.8,\r\n customerCompanyName: `B's Beverages`,\r\n customerContactName: 'Victoria Ashworth',\r\n requiredDateStart: 1560337200000,\r\n requiredDateEnd: 1560342600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10557,\r\n orderDate: 1559509200000,\r\n orderTotal: 1152.5,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1560771000000,\r\n requiredDateEnd: 1560772800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10566,\r\n orderDate: 1560286800000,\r\n orderTotal: 1761,\r\n customerCompanyName: 'Blondesddsl père et fils',\r\n customerContactName: 'Frédérique Citeaux',\r\n requiredDateStart: 1562758200000,\r\n requiredDateEnd: 1562761800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10577,\r\n orderDate: 1561237200000,\r\n orderTotal: 569,\r\n customerCompanyName: `Trail's Head Gourmet Provisioners`,\r\n customerContactName: 'Helvetius Nagy',\r\n requiredDateStart: 1564907400000,\r\n requiredDateEnd: 1564911000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10586,\r\n orderDate: 1562014800000,\r\n orderTotal: 23.8,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1564473600000,\r\n requiredDateEnd: 1564477200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10646,\r\n orderDate: 1566853200000,\r\n orderTotal: 1446,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1570534200000,\r\n requiredDateEnd: 1570537800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10672,\r\n orderDate: 1568667600000,\r\n orderTotal: 3815.25,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1569925800000,\r\n requiredDateEnd: 1569927600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10687,\r\n orderDate: 1569790800000,\r\n orderTotal: 4960.9,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1572271200000,\r\n requiredDateEnd: 1572273000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10705,\r\n orderDate: 1571086800000,\r\n orderTotal: 378,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1573569000000,\r\n requiredDateEnd: 1573574400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10736,\r\n orderDate: 1573423200000,\r\n orderTotal: 997,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1575892800000,\r\n requiredDateEnd: 1575894600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10745,\r\n orderDate: 1574028000000,\r\n orderTotal: 4529.8,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1576488600000,\r\n requiredDateEnd: 1576492200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10750,\r\n orderDate: 1574287200000,\r\n orderTotal: 1590.5625,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1576765800000,\r\n requiredDateEnd: 1576771200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10771,\r\n orderDate: 1575928800000,\r\n orderTotal: 344,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1578402000000,\r\n requiredDateEnd: 1578407400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10782,\r\n orderDate: 1576533600000,\r\n orderTotal: 12.5,\r\n customerCompanyName: 'Cactus Comidas para llevar',\r\n customerContactName: 'Patricio Simpson',\r\n requiredDateStart: 1579010400000,\r\n requiredDateEnd: 1579015800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10799,\r\n orderDate: 1577311200000,\r\n orderTotal: 1553.5,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1580983200000,\r\n requiredDateEnd: 1580985000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10828,\r\n orderDate: 1578866400000,\r\n orderTotal: 932,\r\n customerCompanyName: 'Rancho grande',\r\n customerContactName: 'Sergio Gutiérrez',\r\n requiredDateStart: 1580133600000,\r\n requiredDateEnd: 1580139000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10829,\r\n orderDate: 1578866400000,\r\n orderTotal: 1764,\r\n customerCompanyName: 'Island Trading',\r\n customerContactName: 'Helen Bennett',\r\n requiredDateStart: 1581332400000,\r\n requiredDateEnd: 1581334200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10837,\r\n orderDate: 1579125600000,\r\n orderTotal: 1064.5,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1581595200000,\r\n requiredDateEnd: 1581600600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10849,\r\n orderDate: 1579730400000,\r\n orderTotal: 967.819,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1582201800000,\r\n requiredDateEnd: 1582207200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10853,\r\n orderDate: 1580076000000,\r\n orderTotal: 625,\r\n customerCompanyName: 'Blauer See Delikatessen',\r\n customerContactName: 'Hanna Moos',\r\n requiredDateStart: 1582551000000,\r\n requiredDateEnd: 1582554600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10871,\r\n orderDate: 1580853600000,\r\n orderTotal: 1979.23,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1583402400000,\r\n requiredDateEnd: 1583404200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10889,\r\n orderDate: 1581804000000,\r\n orderTotal: 11380,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1584361800000,\r\n requiredDateEnd: 1584367200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10893,\r\n orderDate: 1581976800000,\r\n orderTotal: 5502.11,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1584540000000,\r\n requiredDateEnd: 1584541800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10905,\r\n orderDate: 1582495200000,\r\n orderTotal: 342,\r\n customerCompanyName: 'Wellington Importadora',\r\n customerContactName: 'Paula Parente',\r\n requiredDateStart: 1585053000000,\r\n requiredDateEnd: 1585058400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10942,\r\n orderDate: 1583877600000,\r\n orderTotal: 560,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1586332800000,\r\n requiredDateEnd: 1586334600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10951,\r\n orderDate: 1584309600000,\r\n orderTotal: 458.755,\r\n customerCompanyName: 'Richter Supermarkt',\r\n customerContactName: 'Michael Holz',\r\n requiredDateStart: 1587978000000,\r\n requiredDateEnd: 1587979800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10953,\r\n orderDate: 1584309600000,\r\n orderTotal: 4441.25,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1585560600000,\r\n requiredDateEnd: 1585562400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10963,\r\n orderDate: 1584568800000,\r\n orderTotal: 57.8,\r\n customerCompanyName: 'Furia Bacalhau e Frutos do Mar',\r\n customerContactName: 'Lino Rodriguez',\r\n requiredDateStart: 1587043800000,\r\n requiredDateEnd: 1587045600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10970,\r\n orderDate: 1585000800000,\r\n orderTotal: 224,\r\n customerCompanyName: 'Bólido Comidas preparadas',\r\n customerContactName: 'Martín Sommer',\r\n requiredDateStart: 1586246400000,\r\n requiredDateEnd: 1586248200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10978,\r\n orderDate: 1585173600000,\r\n orderTotal: 1303.195,\r\n customerCompanyName: 'Maison Dewey',\r\n customerContactName: 'Catherine Dewey',\r\n requiredDateStart: 1587639600000,\r\n requiredDateEnd: 1587645000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11016,\r\n orderDate: 1586466000000,\r\n orderTotal: 491.5,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1588924800000,\r\n requiredDateEnd: 1588926600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11017,\r\n orderDate: 1586725200000,\r\n orderTotal: 6750,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1589196600000,\r\n requiredDateEnd: 1589198400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11022,\r\n orderDate: 1586811600000,\r\n orderTotal: 1402,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1589283000000,\r\n requiredDateEnd: 1589286600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11058,\r\n orderDate: 1588107600000,\r\n orderTotal: 858,\r\n customerCompanyName: 'Blauer See Delikatessen',\r\n customerContactName: 'Hanna Moos',\r\n requiredDateStart: 1590586200000,\r\n requiredDateEnd: 1590588000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10262,\r\n orderDate: 1532206800000,\r\n orderTotal: 584,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1534672800000,\r\n requiredDateEnd: 1534676400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10268,\r\n orderDate: 1532898000000,\r\n orderTotal: 1101.2,\r\n customerCompanyName: 'GROSELLA-Restaurante',\r\n customerContactName: 'Manuel Pereira',\r\n requiredDateStart: 1535369400000,\r\n requiredDateEnd: 1535371200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10276,\r\n orderDate: 1533675600000,\r\n orderTotal: 420,\r\n customerCompanyName: 'Tortuga Restaurante',\r\n customerContactName: 'Miguel Angel Paolino',\r\n requiredDateStart: 1534928400000,\r\n requiredDateEnd: 1534930200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10278,\r\n orderDate: 1534021200000,\r\n orderTotal: 1488.8,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1536494400000,\r\n requiredDateEnd: 1536498000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10279,\r\n orderDate: 1534107600000,\r\n orderTotal: 351,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1536568200000,\r\n requiredDateEnd: 1536571800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10286,\r\n orderDate: 1534798800000,\r\n orderTotal: 3016,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1537261200000,\r\n requiredDateEnd: 1537264800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10287,\r\n orderDate: 1534885200000,\r\n orderTotal: 819,\r\n customerCompanyName: 'Ricardo Adocicados',\r\n customerContactName: 'Janete Limeira',\r\n requiredDateStart: 1537351200000,\r\n requiredDateEnd: 1537356600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10290,\r\n orderDate: 1535317200000,\r\n orderTotal: 2169,\r\n customerCompanyName: 'Comércio Mineiro',\r\n customerContactName: 'Pedro Afonso',\r\n requiredDateStart: 1537776000000,\r\n requiredDateEnd: 1537781400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10301,\r\n orderDate: 1536440400000,\r\n orderTotal: 755,\r\n customerCompanyName: 'Die Wandernde Kuh',\r\n customerContactName: 'Rita Müller',\r\n requiredDateStart: 1538919000000,\r\n requiredDateEnd: 1538922600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10305,\r\n orderDate: 1536786000000,\r\n orderTotal: 3741.3,\r\n customerCompanyName: 'Old World Delicatessen',\r\n customerContactName: 'Rene Phillips',\r\n requiredDateStart: 1539248400000,\r\n requiredDateEnd: 1539250200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10310,\r\n orderDate: 1537390800000,\r\n orderTotal: 336,\r\n customerCompanyName: 'The Big Cheese',\r\n customerContactName: 'Liz Nixon',\r\n requiredDateStart: 1539865800000,\r\n requiredDateEnd: 1539869400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10318,\r\n orderDate: 1538341200000,\r\n orderTotal: 240.4,\r\n customerCompanyName: 'Island Trading',\r\n customerContactName: 'Helen Bennett',\r\n requiredDateStart: 1540810800000,\r\n requiredDateEnd: 1540816200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10334,\r\n orderDate: 1540069200000,\r\n orderTotal: 144.8,\r\n customerCompanyName: 'Victuailles en stock',\r\n customerContactName: 'Mary Saveley',\r\n requiredDateStart: 1542549600000,\r\n requiredDateEnd: 1542555000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10354,\r\n orderDate: 1542146400000,\r\n orderTotal: 568.8,\r\n customerCompanyName: 'Pericles Comidas clásicas',\r\n customerContactName: 'Guillermo Fernández',\r\n requiredDateStart: 1544621400000,\r\n requiredDateEnd: 1544625000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10366,\r\n orderDate: 1543356000000,\r\n orderTotal: 136,\r\n customerCompanyName: 'Galería del gastrónomo',\r\n customerContactName: 'Eduardo Saavedra',\r\n requiredDateStart: 1547033400000,\r\n requiredDateEnd: 1547037000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10369,\r\n orderDate: 1543701600000,\r\n orderTotal: 2390.4,\r\n customerCompanyName: 'Split Rail Beer & Ale',\r\n customerContactName: 'Art Braunschweiger',\r\n requiredDateStart: 1546180200000,\r\n requiredDateEnd: 1546182000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10380,\r\n orderDate: 1544565600000,\r\n orderTotal: 1313.82,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1547044200000,\r\n requiredDateEnd: 1547046000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10383,\r\n orderDate: 1544911200000,\r\n orderTotal: 899,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1547389800000,\r\n requiredDateEnd: 1547395200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10399,\r\n orderDate: 1546207200000,\r\n orderTotal: 1765.6,\r\n customerCompanyName: 'Vaffeljernet',\r\n customerContactName: 'Palle Ibsen',\r\n requiredDateStart: 1547458200000,\r\n requiredDateEnd: 1547463600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10402,\r\n orderDate: 1546380000000,\r\n orderTotal: 2713.5,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1550059200000,\r\n requiredDateEnd: 1550064600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10408,\r\n orderDate: 1546898400000,\r\n orderTotal: 1622.4,\r\n customerCompanyName: 'Folies gourmandes',\r\n customerContactName: 'Martine Rancé',\r\n requiredDateStart: 1549369800000,\r\n requiredDateEnd: 1549373400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10412,\r\n orderDate: 1547330400000,\r\n orderTotal: 334.8,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1549789200000,\r\n requiredDateEnd: 1549791000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10416,\r\n orderDate: 1547589600000,\r\n orderTotal: 720,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1550064600000,\r\n requiredDateEnd: 1550068200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10421,\r\n orderDate: 1548021600000,\r\n orderTotal: 1194.27,\r\n customerCompanyName: 'Que Delícia',\r\n customerContactName: 'Bernardo Batista',\r\n requiredDateStart: 1551709800000,\r\n requiredDateEnd: 1551713400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10435,\r\n orderDate: 1549231200000,\r\n orderTotal: 631.6,\r\n customerCompanyName: 'Consolidated Holdings',\r\n customerContactName: 'Elizabeth Brown',\r\n requiredDateStart: 1552899600000,\r\n requiredDateEnd: 1552905000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10437,\r\n orderDate: 1549317600000,\r\n orderTotal: 393,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1551781800000,\r\n requiredDateEnd: 1551787200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10443,\r\n orderDate: 1549922400000,\r\n orderTotal: 517.44,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1552397400000,\r\n requiredDateEnd: 1552402800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10450,\r\n orderDate: 1550527200000,\r\n orderTotal: 425.12,\r\n customerCompanyName: 'Victuailles en stock',\r\n customerContactName: 'Mary Saveley',\r\n requiredDateStart: 1552991400000,\r\n requiredDateEnd: 1552996800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10452,\r\n orderDate: 1550613600000,\r\n orderTotal: 2018.5,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1553092200000,\r\n requiredDateEnd: 1553094000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10455,\r\n orderDate: 1550959200000,\r\n orderTotal: 2684,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1554636600000,\r\n requiredDateEnd: 1554642000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10456,\r\n orderDate: 1551045600000,\r\n orderTotal: 557.6,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1554730200000,\r\n requiredDateEnd: 1554735600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10460,\r\n orderDate: 1551304800000,\r\n orderTotal: 176.1,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1553781600000,\r\n requiredDateEnd: 1553785200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10467,\r\n orderDate: 1551823200000,\r\n orderTotal: 235.2,\r\n customerCompanyName: 'Magazzini Alimentari Riuniti',\r\n customerContactName: 'Giovanni Rovelli',\r\n requiredDateStart: 1554291000000,\r\n requiredDateEnd: 1554292800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10472,\r\n orderDate: 1552341600000,\r\n orderTotal: 1036.8,\r\n customerCompanyName: 'Seven Seas Imports',\r\n customerContactName: 'Hari Kumar',\r\n requiredDateStart: 1554796800000,\r\n requiredDateEnd: 1554798600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10476,\r\n orderDate: 1552773600000,\r\n orderTotal: 180.48,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1555232400000,\r\n requiredDateEnd: 1555234200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10481,\r\n orderDate: 1553032800000,\r\n orderTotal: 1472,\r\n customerCompanyName: 'Ricardo Adocicados',\r\n customerContactName: 'Janete Limeira',\r\n requiredDateStart: 1555493400000,\r\n requiredDateEnd: 1555498800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10488,\r\n orderDate: 1553637600000,\r\n orderTotal: 1512,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1556109000000,\r\n requiredDateEnd: 1556114400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10491,\r\n orderDate: 1553983200000,\r\n orderTotal: 259.505,\r\n customerCompanyName: 'Furia Bacalhau e Frutos do Mar',\r\n customerContactName: 'Lino Rodriguez',\r\n requiredDateStart: 1556442000000,\r\n requiredDateEnd: 1556445600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10498,\r\n orderDate: 1554584400000,\r\n orderTotal: 575,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1557059400000,\r\n requiredDateEnd: 1557063000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10521,\r\n orderDate: 1556485200000,\r\n orderTotal: 225.5,\r\n customerCompanyName: 'Cactus Comidas para llevar',\r\n customerContactName: 'Patricio Simpson',\r\n requiredDateStart: 1558963800000,\r\n requiredDateEnd: 1558965600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10533,\r\n orderDate: 1557608400000,\r\n orderTotal: 2222.2,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1560067200000,\r\n requiredDateEnd: 1560072600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10534,\r\n orderDate: 1557608400000,\r\n orderTotal: 465.7,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1560076200000,\r\n requiredDateEnd: 1560078000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10543,\r\n orderDate: 1558386000000,\r\n orderTotal: 1504.5,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1560850200000,\r\n requiredDateEnd: 1560855600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10545,\r\n orderDate: 1558472400000,\r\n orderTotal: 210,\r\n customerCompanyName: 'Lazy K Kountry Store',\r\n customerContactName: 'John Steel',\r\n requiredDateStart: 1560931200000,\r\n requiredDateEnd: 1560936600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10560,\r\n orderDate: 1559768400000,\r\n orderTotal: 1072.425,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1562238000000,\r\n requiredDateEnd: 1562239800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10565,\r\n orderDate: 1560200400000,\r\n orderTotal: 639.9,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1562670000000,\r\n requiredDateEnd: 1562673600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10571,\r\n orderDate: 1560718800000,\r\n orderTotal: 550.5875,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1564396200000,\r\n requiredDateEnd: 1564399800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10589,\r\n orderDate: 1562187600000,\r\n orderTotal: 72,\r\n customerCompanyName: 'Great Lakes Food Market',\r\n customerContactName: 'Howard Snyder',\r\n requiredDateStart: 1564648200000,\r\n requiredDateEnd: 1564650000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10596,\r\n orderDate: 1562792400000,\r\n orderTotal: 1180.88,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1565265600000,\r\n requiredDateEnd: 1565269200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10602,\r\n orderDate: 1563310800000,\r\n orderTotal: 48.75,\r\n customerCompanyName: 'Vaffeljernet',\r\n customerContactName: 'Palle Ibsen',\r\n requiredDateStart: 1565780400000,\r\n requiredDateEnd: 1565785800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10603,\r\n orderDate: 1563397200000,\r\n orderTotal: 1483,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1565861400000,\r\n requiredDateEnd: 1565866800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10610,\r\n orderDate: 1564002000000,\r\n orderTotal: 299.25,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1566473400000,\r\n requiredDateEnd: 1566477000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10614,\r\n orderDate: 1564347600000,\r\n orderTotal: 464,\r\n customerCompanyName: 'Blauer See Delikatessen',\r\n customerContactName: 'Hanna Moos',\r\n requiredDateStart: 1566810000000,\r\n requiredDateEnd: 1566815400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10623,\r\n orderDate: 1565125200000,\r\n orderTotal: 1336.95,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1567596600000,\r\n requiredDateEnd: 1567600200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10627,\r\n orderDate: 1565470800000,\r\n orderTotal: 1185.75,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1569141000000,\r\n requiredDateEnd: 1569144600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10631,\r\n orderDate: 1565730000000,\r\n orderTotal: 55.8,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1568208600000,\r\n requiredDateEnd: 1568212200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10632,\r\n orderDate: 1565730000000,\r\n orderTotal: 589,\r\n customerCompanyName: 'Die Wandernde Kuh',\r\n customerContactName: 'Rita Müller',\r\n requiredDateStart: 1568205000000,\r\n requiredDateEnd: 1568206800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10635,\r\n orderDate: 1566075600000,\r\n orderTotal: 1326.225,\r\n customerCompanyName: 'Magazzini Alimentari Riuniti',\r\n customerContactName: 'Giovanni Rovelli',\r\n requiredDateStart: 1568536200000,\r\n requiredDateEnd: 1568541600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10651,\r\n orderDate: 1567285200000,\r\n orderTotal: 397.8,\r\n customerCompanyName: 'Die Wandernde Kuh',\r\n customerContactName: 'Rita Müller',\r\n requiredDateStart: 1569758400000,\r\n requiredDateEnd: 1569762000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10660,\r\n orderDate: 1567890000000,\r\n orderTotal: 1701,\r\n customerCompanyName: 'Hungry Coyote Import Store',\r\n customerContactName: 'Yoshi Latimer',\r\n requiredDateStart: 1570348800000,\r\n requiredDateEnd: 1570350600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10679,\r\n orderDate: 1569186000000,\r\n orderTotal: 660,\r\n customerCompanyName: 'Blondesddsl père et fils',\r\n customerContactName: 'Frédérique Citeaux',\r\n requiredDateStart: 1571648400000,\r\n requiredDateEnd: 1571650200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10694,\r\n orderDate: 1570309200000,\r\n orderTotal: 4825,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1572786000000,\r\n requiredDateEnd: 1572787800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10696,\r\n orderDate: 1570482000000,\r\n orderTotal: 996,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1574166600000,\r\n requiredDateEnd: 1574172000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10706,\r\n orderDate: 1571173200000,\r\n orderTotal: 1893,\r\n customerCompanyName: 'Old World Delicatessen',\r\n customerContactName: 'Rene Phillips',\r\n requiredDateStart: 1573653600000,\r\n requiredDateEnd: 1573659000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10719,\r\n orderDate: 1572123600000,\r\n orderTotal: 844.2525,\r\n customerCompanyName: `Let's Stop N Shop`,\r\n customerContactName: 'Jaime Yorres',\r\n requiredDateStart: 1574598600000,\r\n requiredDateEnd: 1574602200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10720,\r\n orderDate: 1572213600000,\r\n orderTotal: 550,\r\n customerCompanyName: 'Que Delícia',\r\n customerContactName: 'Bernardo Batista',\r\n requiredDateStart: 1573473600000,\r\n requiredDateEnd: 1573477200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10722,\r\n orderDate: 1572300000000,\r\n orderTotal: 1570,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1575979200000,\r\n requiredDateEnd: 1575981000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10724,\r\n orderDate: 1572386400000,\r\n orderTotal: 638.5,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1576072800000,\r\n requiredDateEnd: 1576078200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10729,\r\n orderDate: 1572818400000,\r\n orderTotal: 1850,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1576490400000,\r\n requiredDateEnd: 1576495800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10756,\r\n orderDate: 1574805600000,\r\n orderTotal: 1990,\r\n customerCompanyName: 'Split Rail Beer & Ale',\r\n customerContactName: 'Art Braunschweiger',\r\n requiredDateStart: 1577275200000,\r\n requiredDateEnd: 1577277000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10770,\r\n orderDate: 1575842400000,\r\n orderTotal: 236.25,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1578303000000,\r\n requiredDateEnd: 1578304800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10786,\r\n orderDate: 1576706400000,\r\n orderTotal: 1531.08,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1579177800000,\r\n requiredDateEnd: 1579183200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10795,\r\n orderDate: 1577138400000,\r\n orderTotal: 2158,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1579609800000,\r\n requiredDateEnd: 1579613400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10811,\r\n orderDate: 1577916000000,\r\n orderTotal: 852,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1580376600000,\r\n requiredDateEnd: 1580380200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10824,\r\n orderDate: 1578520800000,\r\n orderTotal: 250.8,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1580994000000,\r\n requiredDateEnd: 1580995800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10844,\r\n orderDate: 1579557600000,\r\n orderTotal: 735,\r\n customerCompanyName: 'Piccolo und mehr',\r\n customerContactName: 'Georg Pipps',\r\n requiredDateStart: 1582018200000,\r\n requiredDateEnd: 1582021800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10845,\r\n orderDate: 1579557600000,\r\n orderTotal: 3812.7,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1580826600000,\r\n requiredDateEnd: 1580832000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10852,\r\n orderDate: 1579989600000,\r\n orderTotal: 2984,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1581258600000,\r\n requiredDateEnd: 1581264000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10857,\r\n orderDate: 1580162400000,\r\n orderTotal: 2048.2125,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1582632000000,\r\n requiredDateEnd: 1582637400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10862,\r\n orderDate: 1580335200000,\r\n orderTotal: 581,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1584100800000,\r\n requiredDateEnd: 1584102600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10883,\r\n orderDate: 1581458400000,\r\n orderTotal: 36,\r\n customerCompanyName: 'Lonesome Pine Restaurant',\r\n customerContactName: 'Fran Wilson',\r\n requiredDateStart: 1584012600000,\r\n requiredDateEnd: 1584018000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10887,\r\n orderDate: 1581544800000,\r\n orderTotal: 70,\r\n customerCompanyName: 'Galería del gastrónomo',\r\n customerContactName: 'Eduardo Saavedra',\r\n requiredDateStart: 1584095400000,\r\n requiredDateEnd: 1584097200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10932,\r\n orderDate: 1583445600000,\r\n orderTotal: 1788.63,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1585911600000,\r\n requiredDateEnd: 1585917000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10940,\r\n orderDate: 1583877600000,\r\n orderTotal: 360,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1586334600000,\r\n requiredDateEnd: 1586336400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10955,\r\n orderDate: 1584396000000,\r\n orderTotal: 74.4,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1586871000000,\r\n requiredDateEnd: 1586872800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10957,\r\n orderDate: 1584482400000,\r\n orderTotal: 1762.7,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1586944800000,\r\n requiredDateEnd: 1586948400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10961,\r\n orderDate: 1584568800000,\r\n orderTotal: 1119.9,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1587031200000,\r\n requiredDateEnd: 1587033000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10962,\r\n orderDate: 1584568800000,\r\n orderTotal: 3584,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1587038400000,\r\n requiredDateEnd: 1587043800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10977,\r\n orderDate: 1585173600000,\r\n orderTotal: 2233,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1587634200000,\r\n requiredDateEnd: 1587636000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10979,\r\n orderDate: 1585173600000,\r\n orderTotal: 4813.5,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1587639600000,\r\n requiredDateEnd: 1587643200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10986,\r\n orderDate: 1585515600000,\r\n orderTotal: 2220,\r\n customerCompanyName: 'Océano Atlántico Ltda.',\r\n customerContactName: 'Yvonne Moncada',\r\n requiredDateStart: 1587979800000,\r\n requiredDateEnd: 1587983400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10987,\r\n orderDate: 1585602000000,\r\n orderTotal: 2772,\r\n customerCompanyName: 'Eastern Connection',\r\n customerContactName: 'Ann Devon',\r\n requiredDateStart: 1588060800000,\r\n requiredDateEnd: 1588064400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10997,\r\n orderDate: 1585861200000,\r\n orderTotal: 1885,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1589542200000,\r\n requiredDateEnd: 1589547600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10998,\r\n orderDate: 1585861200000,\r\n orderTotal: 686,\r\n customerCompanyName: 'Wolski Zajazd',\r\n customerContactName: 'Zbyszek Piestrzeniewicz',\r\n requiredDateStart: 1587121200000,\r\n requiredDateEnd: 1587123000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11007,\r\n orderDate: 1586293200000,\r\n orderTotal: 2633.9,\r\n customerCompanyName: 'Princesa Isabel Vinhos',\r\n customerContactName: 'Isabel de Castro',\r\n requiredDateStart: 1588759200000,\r\n requiredDateEnd: 1588764600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11034,\r\n orderDate: 1587330000000,\r\n orderTotal: 539.4,\r\n customerCompanyName: 'Old World Delicatessen',\r\n customerContactName: 'Rene Phillips',\r\n requiredDateStart: 1591016400000,\r\n requiredDateEnd: 1591021800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11036,\r\n orderDate: 1587330000000,\r\n orderTotal: 1692,\r\n customerCompanyName: 'Drachenblut Delikatessen',\r\n customerContactName: 'Sven Ottlieb',\r\n requiredDateStart: 1589794200000,\r\n requiredDateEnd: 1589797800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11046,\r\n orderDate: 1587589200000,\r\n orderTotal: 1485.8,\r\n customerCompanyName: 'Die Wandernde Kuh',\r\n customerContactName: 'Rita Müller',\r\n requiredDateStart: 1590066000000,\r\n requiredDateEnd: 1590067800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11050,\r\n orderDate: 1587934800000,\r\n orderTotal: 810,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1590404400000,\r\n requiredDateEnd: 1590409800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11054,\r\n orderDate: 1588021200000,\r\n orderTotal: 305,\r\n customerCompanyName: 'Cactus Comidas para llevar',\r\n customerContactName: 'Patricio Simpson',\r\n requiredDateStart: 1590498000000,\r\n requiredDateEnd: 1590499800000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11056,\r\n orderDate: 1588021200000,\r\n orderTotal: 3740,\r\n customerCompanyName: 'Eastern Connection',\r\n customerContactName: 'Ann Devon',\r\n requiredDateStart: 1589270400000,\r\n requiredDateEnd: 1589274000000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11065,\r\n orderDate: 1588280400000,\r\n orderTotal: 189.42,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1590755400000,\r\n requiredDateEnd: 1590757200000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11068,\r\n orderDate: 1588539600000,\r\n orderTotal: 2027.08,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1591011000000,\r\n requiredDateEnd: 1591016400000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 11075,\r\n orderDate: 1588712400000,\r\n orderTotal: 498.1,\r\n customerCompanyName: 'Richter Supermarkt',\r\n customerContactName: 'Michael Holz',\r\n requiredDateStart: 1591180200000,\r\n requiredDateEnd: 1591185600000,\r\n teamID: 4\r\n },\r\n {\r\n orderID: 10289,\r\n orderDate: 1535230800000,\r\n orderTotal: 479.4,\r\n customerCompanyName: `B's Beverages`,\r\n customerContactName: 'Victoria Ashworth',\r\n requiredDateStart: 1537698600000,\r\n requiredDateEnd: 1537704000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10303,\r\n orderDate: 1536613200000,\r\n orderTotal: 1117.8,\r\n customerCompanyName: 'Godos Cocina Típica',\r\n customerContactName: 'José Pedro Freyre',\r\n requiredDateStart: 1539090000000,\r\n requiredDateEnd: 1539093600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10308,\r\n orderDate: 1537218000000,\r\n orderTotal: 88.8,\r\n customerCompanyName: 'Ana Trujillo Emparedados y helados',\r\n customerContactName: 'Ana Trujillo',\r\n requiredDateStart: 1539696600000,\r\n requiredDateEnd: 1539702000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10319,\r\n orderDate: 1538427600000,\r\n orderTotal: 1191.2,\r\n customerCompanyName: 'Tortuga Restaurante',\r\n customerContactName: 'Miguel Angel Paolino',\r\n requiredDateStart: 1540909800000,\r\n requiredDateEnd: 1540915200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10322,\r\n orderDate: 1538600400000,\r\n orderTotal: 112,\r\n customerCompanyName: 'Pericles Comidas clásicas',\r\n customerContactName: 'Guillermo Fernández',\r\n requiredDateStart: 1541080800000,\r\n requiredDateEnd: 1541086200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10335,\r\n orderDate: 1540155600000,\r\n orderTotal: 2036.16,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1542619800000,\r\n requiredDateEnd: 1542623400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10336,\r\n orderDate: 1540242000000,\r\n orderTotal: 285.12,\r\n customerCompanyName: 'Princesa Isabel Vinhos',\r\n customerContactName: 'Isabel de Castro',\r\n requiredDateStart: 1542720600000,\r\n requiredDateEnd: 1542722400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10341,\r\n orderDate: 1540764000000,\r\n orderTotal: 352.6,\r\n customerCompanyName: 'Simons bistro',\r\n customerContactName: 'Jytte Petersen',\r\n requiredDateStart: 1543222800000,\r\n requiredDateEnd: 1543224600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10349,\r\n orderDate: 1541628000000,\r\n orderTotal: 141.6,\r\n customerCompanyName: 'Split Rail Beer & Ale',\r\n customerContactName: 'Art Braunschweiger',\r\n requiredDateStart: 1544104800000,\r\n requiredDateEnd: 1544106600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10353,\r\n orderDate: 1542060000000,\r\n orderTotal: 8593.28,\r\n customerCompanyName: 'Piccolo und mehr',\r\n customerContactName: 'Georg Pipps',\r\n requiredDateStart: 1544520600000,\r\n requiredDateEnd: 1544524200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10367,\r\n orderDate: 1543356000000,\r\n orderTotal: 834.2,\r\n customerCompanyName: 'Vaffeljernet',\r\n customerContactName: 'Palle Ibsen',\r\n requiredDateStart: 1545834600000,\r\n requiredDateEnd: 1545838200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10406,\r\n orderDate: 1546812000000,\r\n orderTotal: 1830.78,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1550498400000,\r\n requiredDateEnd: 1550500200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10424,\r\n orderDate: 1548194400000,\r\n orderTotal: 9194.56,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1550665800000,\r\n requiredDateEnd: 1550667600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10428,\r\n orderDate: 1548626400000,\r\n orderTotal: 192,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1551097800000,\r\n requiredDateEnd: 1551103200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10458,\r\n orderDate: 1551132000000,\r\n orderTotal: 3891,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1553607000000,\r\n requiredDateEnd: 1553612400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10483,\r\n orderDate: 1553378400000,\r\n orderTotal: 668.8,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1555839000000,\r\n requiredDateEnd: 1555840800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10490,\r\n orderDate: 1553983200000,\r\n orderTotal: 3163.2,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1556445600000,\r\n requiredDateEnd: 1556451000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10496,\r\n orderDate: 1554325200000,\r\n orderTotal: 190,\r\n customerCompanyName: 'Tradição Hipermercados',\r\n customerContactName: 'Anabela Domingues',\r\n requiredDateStart: 1556796600000,\r\n requiredDateEnd: 1556800200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10497,\r\n orderDate: 1554325200000,\r\n orderTotal: 1380.6,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1556802000000,\r\n requiredDateEnd: 1556803800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10507,\r\n orderDate: 1555275600000,\r\n orderTotal: 749.0625,\r\n customerCompanyName: 'Antonio Moreno Taquería',\r\n customerContactName: 'Antonio Moreno',\r\n requiredDateStart: 1557736200000,\r\n requiredDateEnd: 1557738000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10512,\r\n orderDate: 1555794000000,\r\n orderTotal: 525.3,\r\n customerCompanyName: 'Familia Arquibaldo',\r\n customerContactName: 'Aria Cruz',\r\n requiredDateStart: 1558265400000,\r\n requiredDateEnd: 1558267200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10513,\r\n orderDate: 1555880400000,\r\n orderTotal: 1942,\r\n customerCompanyName: 'Die Wandernde Kuh',\r\n customerContactName: 'Rita Müller',\r\n requiredDateStart: 1559563200000,\r\n requiredDateEnd: 1559566800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10520,\r\n orderDate: 1556485200000,\r\n orderTotal: 200,\r\n customerCompanyName: 'Santé Gourmet',\r\n customerContactName: 'Jonas Bergulfsen',\r\n requiredDateStart: 1558958400000,\r\n requiredDateEnd: 1558962000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10523,\r\n orderDate: 1556658000000,\r\n orderTotal: 2444.31,\r\n customerCompanyName: 'Seven Seas Imports',\r\n customerContactName: 'Hari Kumar',\r\n requiredDateStart: 1559120400000,\r\n requiredDateEnd: 1559124000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10527,\r\n orderDate: 1557003600000,\r\n orderTotal: 1503,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1559462400000,\r\n requiredDateEnd: 1559466000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10531,\r\n orderDate: 1557262800000,\r\n orderTotal: 110,\r\n customerCompanyName: 'Océano Atlántico Ltda.',\r\n customerContactName: 'Yvonne Moncada',\r\n requiredDateStart: 1559725200000,\r\n requiredDateEnd: 1559730600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10532,\r\n orderDate: 1557349200000,\r\n orderTotal: 796.35,\r\n customerCompanyName: 'Eastern Connection',\r\n customerContactName: 'Ann Devon',\r\n requiredDateStart: 1559808000000,\r\n requiredDateEnd: 1559813400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10550,\r\n orderDate: 1558990800000,\r\n orderTotal: 683.3,\r\n customerCompanyName: 'Godos Cocina Típica',\r\n customerContactName: 'José Pedro Freyre',\r\n requiredDateStart: 1561469400000,\r\n requiredDateEnd: 1561471200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10573,\r\n orderDate: 1560891600000,\r\n orderTotal: 2082,\r\n customerCompanyName: 'Antonio Moreno Taquería',\r\n customerContactName: 'Antonio Moreno',\r\n requiredDateStart: 1563354000000,\r\n requiredDateEnd: 1563359400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10585,\r\n orderDate: 1561928400000,\r\n orderTotal: 142.5,\r\n customerCompanyName: 'Wellington Importadora',\r\n customerContactName: 'Paula Parente',\r\n requiredDateStart: 1564398000000,\r\n requiredDateEnd: 1564399800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10593,\r\n orderDate: 1562619600000,\r\n orderTotal: 1994.4,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1565091000000,\r\n requiredDateEnd: 1565092800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10597,\r\n orderDate: 1562792400000,\r\n orderTotal: 718.08,\r\n customerCompanyName: 'Piccolo und mehr',\r\n customerContactName: 'Georg Pipps',\r\n requiredDateStart: 1565258400000,\r\n requiredDateEnd: 1565263800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10601,\r\n orderDate: 1563224400000,\r\n orderTotal: 2285,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1566912600000,\r\n requiredDateEnd: 1566914400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10609,\r\n orderDate: 1563915600000,\r\n orderTotal: 424,\r\n customerCompanyName: 'Du monde entier',\r\n customerContactName: 'Janine Labrune',\r\n requiredDateStart: 1566392400000,\r\n requiredDateEnd: 1566396000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10633,\r\n orderDate: 1565816400000,\r\n orderTotal: 5510.5925,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1568286000000,\r\n requiredDateEnd: 1568287800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10639,\r\n orderDate: 1566248400000,\r\n orderTotal: 500,\r\n customerCompanyName: 'Santé Gourmet',\r\n customerContactName: 'Jonas Bergulfsen',\r\n requiredDateStart: 1568727000000,\r\n requiredDateEnd: 1568732400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10642,\r\n orderDate: 1566421200000,\r\n orderTotal: 696,\r\n customerCompanyName: 'Simons bistro',\r\n customerContactName: 'Jytte Petersen',\r\n requiredDateStart: 1568896200000,\r\n requiredDateEnd: 1568898000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10659,\r\n orderDate: 1567630800000,\r\n orderTotal: 1227.02,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1570098600000,\r\n requiredDateEnd: 1570100400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10661,\r\n orderDate: 1567976400000,\r\n orderTotal: 562.6,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1570437000000,\r\n requiredDateEnd: 1570442400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10666,\r\n orderDate: 1568235600000,\r\n orderTotal: 4666.94,\r\n customerCompanyName: 'Richter Supermarkt',\r\n customerContactName: 'Michael Holz',\r\n requiredDateStart: 1570696200000,\r\n requiredDateEnd: 1570701600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10667,\r\n orderDate: 1568235600000,\r\n orderTotal: 1536.8,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1570707000000,\r\n requiredDateEnd: 1570710600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10678,\r\n orderDate: 1569186000000,\r\n orderTotal: 5256.5,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1571657400000,\r\n requiredDateEnd: 1571659200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10695,\r\n orderDate: 1570395600000,\r\n orderTotal: 642,\r\n customerCompanyName: 'Wilman Kala',\r\n customerContactName: 'Matti Karttunen',\r\n requiredDateStart: 1574067600000,\r\n requiredDateEnd: 1574069400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10731,\r\n orderDate: 1572991200000,\r\n orderTotal: 1890.5,\r\n customerCompanyName: 'Chop-suey Chinese',\r\n customerContactName: 'Yang Wang',\r\n requiredDateStart: 1575469800000,\r\n requiredDateEnd: 1575473400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10775,\r\n orderDate: 1576101600000,\r\n orderTotal: 228,\r\n customerCompanyName: 'The Cracker Box',\r\n customerContactName: 'Liu Wong',\r\n requiredDateStart: 1578580200000,\r\n requiredDateEnd: 1578585600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10777,\r\n orderDate: 1576360800000,\r\n orderTotal: 224,\r\n customerCompanyName: 'Gourmet Lanchonetes',\r\n customerContactName: 'André Fonseca',\r\n requiredDateStart: 1577611800000,\r\n requiredDateEnd: 1577617200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10797,\r\n orderDate: 1577224800000,\r\n orderTotal: 420,\r\n customerCompanyName: 'Drachenblut Delikatessen',\r\n customerContactName: 'Sven Ottlieb',\r\n requiredDateStart: 1579690800000,\r\n requiredDateEnd: 1579692600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10809,\r\n orderDate: 1577829600000,\r\n orderTotal: 140,\r\n customerCompanyName: 'Wellington Importadora',\r\n customerContactName: 'Paula Parente',\r\n requiredDateStart: 1580292000000,\r\n requiredDateEnd: 1580293800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10818,\r\n orderDate: 1578348000000,\r\n orderTotal: 833,\r\n customerCompanyName: 'Magazzini Alimentari Riuniti',\r\n customerContactName: 'Giovanni Rovelli',\r\n requiredDateStart: 1580823000000,\r\n requiredDateEnd: 1580828400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10836,\r\n orderDate: 1579125600000,\r\n orderTotal: 4705.5,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1581600600000,\r\n requiredDateEnd: 1581602400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10848,\r\n orderDate: 1579730400000,\r\n orderTotal: 931.5,\r\n customerCompanyName: 'Consolidated Holdings',\r\n customerContactName: 'Elizabeth Brown',\r\n requiredDateStart: 1582209000000,\r\n requiredDateEnd: 1582210800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10868,\r\n orderDate: 1580767200000,\r\n orderTotal: 1920.6,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1583319600000,\r\n requiredDateEnd: 1583321400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10876,\r\n orderDate: 1581199200000,\r\n orderTotal: 917,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1583749800000,\r\n requiredDateEnd: 1583755200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10880,\r\n orderDate: 1581285600000,\r\n orderTotal: 1500,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1585058400000,\r\n requiredDateEnd: 1585063800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10890,\r\n orderDate: 1581804000000,\r\n orderTotal: 860.1,\r\n customerCompanyName: 'Du monde entier',\r\n customerContactName: 'Janine Labrune',\r\n requiredDateStart: 1584354600000,\r\n requiredDateEnd: 1584360000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10891,\r\n orderDate: 1581890400000,\r\n orderTotal: 368.9325,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1584441000000,\r\n requiredDateEnd: 1584444600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10896,\r\n orderDate: 1582063200000,\r\n orderTotal: 750.5,\r\n customerCompanyName: 'Maison Dewey',\r\n customerContactName: 'Catherine Dewey',\r\n requiredDateStart: 1584610200000,\r\n requiredDateEnd: 1584613800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10923,\r\n orderDate: 1583186400000,\r\n orderTotal: 748.8,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1586865600000,\r\n requiredDateEnd: 1586869200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10937,\r\n orderDate: 1583791200000,\r\n orderTotal: 644.8,\r\n customerCompanyName: 'Cactus Comidas para llevar',\r\n customerContactName: 'Patricio Simpson',\r\n requiredDateStart: 1585053000000,\r\n requiredDateEnd: 1585054800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10941,\r\n orderDate: 1583877600000,\r\n orderTotal: 4011.75,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1586347200000,\r\n requiredDateEnd: 1586352600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10958,\r\n orderDate: 1584482400000,\r\n orderTotal: 781,\r\n customerCompanyName: 'Océano Atlántico Ltda.',\r\n customerContactName: 'Yvonne Moncada',\r\n requiredDateStart: 1586948400000,\r\n requiredDateEnd: 1586950200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10993,\r\n orderDate: 1585688400000,\r\n orderTotal: 4895.4375,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1588152600000,\r\n requiredDateEnd: 1588154400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11008,\r\n orderDate: 1586293200000,\r\n orderTotal: 4680.9,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1588759200000,\r\n requiredDateEnd: 1588762800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11030,\r\n orderDate: 1587070800000,\r\n orderTotal: 12615.05,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1589544000000,\r\n requiredDateEnd: 1589545800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11033,\r\n orderDate: 1587070800000,\r\n orderTotal: 3232.8,\r\n customerCompanyName: 'Richter Supermarkt',\r\n customerContactName: 'Michael Holz',\r\n requiredDateStart: 1589549400000,\r\n requiredDateEnd: 1589553000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11037,\r\n orderDate: 1587416400000,\r\n orderTotal: 60,\r\n customerCompanyName: 'Godos Cocina Típica',\r\n customerContactName: 'José Pedro Freyre',\r\n requiredDateStart: 1589882400000,\r\n requiredDateEnd: 1589886000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11047,\r\n orderDate: 1587675600000,\r\n orderTotal: 817.875,\r\n customerCompanyName: 'Eastern Connection',\r\n customerContactName: 'Ann Devon',\r\n requiredDateStart: 1590141600000,\r\n requiredDateEnd: 1590145200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11048,\r\n orderDate: 1587675600000,\r\n orderTotal: 525,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1590143400000,\r\n requiredDateEnd: 1590145200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11051,\r\n orderDate: 1587934800000,\r\n orderTotal: 36,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1590413400000,\r\n requiredDateEnd: 1590418800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11055,\r\n orderDate: 1588021200000,\r\n orderTotal: 1727.5,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1590492600000,\r\n requiredDateEnd: 1590494400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11066,\r\n orderDate: 1588280400000,\r\n orderTotal: 928.75,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1590751800000,\r\n requiredDateEnd: 1590755400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11074,\r\n orderDate: 1588712400000,\r\n orderTotal: 232.085,\r\n customerCompanyName: 'Simons bistro',\r\n customerContactName: 'Jytte Petersen',\r\n requiredDateStart: 1591189200000,\r\n requiredDateEnd: 1591192800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10249,\r\n orderDate: 1530738000000,\r\n orderTotal: 1863.4,\r\n customerCompanyName: 'Toms Spezialitäten',\r\n customerContactName: 'Karin Josephs',\r\n requiredDateStart: 1534426200000,\r\n requiredDateEnd: 1534429800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10264,\r\n orderDate: 1532379600000,\r\n orderTotal: 695.625,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1534851000000,\r\n requiredDateEnd: 1534852800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10271,\r\n orderDate: 1533070800000,\r\n orderTotal: 48,\r\n customerCompanyName: 'Split Rail Beer & Ale',\r\n customerContactName: 'Art Braunschweiger',\r\n requiredDateStart: 1535533200000,\r\n requiredDateEnd: 1535538600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10272,\r\n orderDate: 1533157200000,\r\n orderTotal: 1456,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1535623200000,\r\n requiredDateEnd: 1535626800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10274,\r\n orderDate: 1533502800000,\r\n orderTotal: 538.6,\r\n customerCompanyName: 'Vins et alcools Chevalier',\r\n customerContactName: 'Paul Henriot',\r\n requiredDateStart: 1535977800000,\r\n requiredDateEnd: 1535981400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10291,\r\n orderDate: 1535317200000,\r\n orderTotal: 497.52,\r\n customerCompanyName: 'Que Delícia',\r\n customerContactName: 'Bernardo Batista',\r\n requiredDateStart: 1537779600000,\r\n requiredDateEnd: 1537785000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10296,\r\n orderDate: 1535922000000,\r\n orderTotal: 1050.6,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1538382600000,\r\n requiredDateEnd: 1538386200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10298,\r\n orderDate: 1536094800000,\r\n orderTotal: 2645,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1538553600000,\r\n requiredDateEnd: 1538555400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10317,\r\n orderDate: 1538254800000,\r\n orderTotal: 288,\r\n customerCompanyName: 'Lonesome Pine Restaurant',\r\n customerContactName: 'Fran Wilson',\r\n requiredDateStart: 1540726200000,\r\n requiredDateEnd: 1540729800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10350,\r\n orderDate: 1541887200000,\r\n orderTotal: 642.06,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1544349600000,\r\n requiredDateEnd: 1544353200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10355,\r\n orderDate: 1542232800000,\r\n orderTotal: 480,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1544711400000,\r\n requiredDateEnd: 1544716800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10356,\r\n orderDate: 1542492000000,\r\n orderTotal: 1106.4,\r\n customerCompanyName: 'Die Wandernde Kuh',\r\n customerContactName: 'Rita Müller',\r\n requiredDateStart: 1544970600000,\r\n requiredDateEnd: 1544972400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10370,\r\n orderDate: 1543788000000,\r\n orderTotal: 1117.6,\r\n customerCompanyName: 'Chop-suey Chinese',\r\n customerContactName: 'Yang Wang',\r\n requiredDateStart: 1546263000000,\r\n requiredDateEnd: 1546268400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10390,\r\n orderDate: 1545516000000,\r\n orderTotal: 2090.88,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1547992800000,\r\n requiredDateEnd: 1547998200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10395,\r\n orderDate: 1545775200000,\r\n orderTotal: 2122.92,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1548235800000,\r\n requiredDateEnd: 1548239400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10423,\r\n orderDate: 1548194400000,\r\n orderTotal: 1020,\r\n customerCompanyName: 'Gourmet Lanchonetes',\r\n customerContactName: 'André Fonseca',\r\n requiredDateStart: 1549443600000,\r\n requiredDateEnd: 1549447200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10425,\r\n orderDate: 1548280800000,\r\n orderTotal: 360,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1550745000000,\r\n requiredDateEnd: 1550748600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10439,\r\n orderDate: 1549490400000,\r\n orderTotal: 1078,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1551952800000,\r\n requiredDateEnd: 1551954600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10446,\r\n orderDate: 1550095200000,\r\n orderTotal: 246.24,\r\n customerCompanyName: 'Toms Spezialitäten',\r\n customerContactName: 'Karin Josephs',\r\n requiredDateStart: 1552564800000,\r\n requiredDateEnd: 1552566600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10480,\r\n orderDate: 1553032800000,\r\n orderTotal: 756,\r\n customerCompanyName: 'Folies gourmandes',\r\n customerContactName: 'Martine Rancé',\r\n requiredDateStart: 1555498800000,\r\n requiredDateEnd: 1555504200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10489,\r\n orderDate: 1553724000000,\r\n orderTotal: 439.2,\r\n customerCompanyName: 'Piccolo und mehr',\r\n customerContactName: 'Georg Pipps',\r\n requiredDateStart: 1556188200000,\r\n requiredDateEnd: 1556190000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10500,\r\n orderDate: 1554757200000,\r\n orderTotal: 523.26,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1557235800000,\r\n requiredDateEnd: 1557241200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10503,\r\n orderDate: 1554930000000,\r\n orderTotal: 2048.5,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1557397800000,\r\n requiredDateEnd: 1557399600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10510,\r\n orderDate: 1555534800000,\r\n orderTotal: 4707.54,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1558006200000,\r\n requiredDateEnd: 1558009800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10519,\r\n orderDate: 1556398800000,\r\n orderTotal: 2314.2,\r\n customerCompanyName: 'Chop-suey Chinese',\r\n customerContactName: 'Yang Wang',\r\n requiredDateStart: 1558868400000,\r\n requiredDateEnd: 1558873800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10528,\r\n orderDate: 1557090000000,\r\n orderTotal: 392.2,\r\n customerCompanyName: 'Great Lakes Food Market',\r\n customerContactName: 'Howard Snyder',\r\n requiredDateStart: 1558350000000,\r\n requiredDateEnd: 1558355400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10539,\r\n orderDate: 1557954000000,\r\n orderTotal: 355.5,\r\n customerCompanyName: `B's Beverages`,\r\n customerContactName: 'Victoria Ashworth',\r\n requiredDateStart: 1560421800000,\r\n requiredDateEnd: 1560425400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10555,\r\n orderDate: 1559422800000,\r\n orderTotal: 2944.4,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1561890600000,\r\n requiredDateEnd: 1561892400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10559,\r\n orderDate: 1559682000000,\r\n orderTotal: 520.41,\r\n customerCompanyName: 'Blondesddsl père et fils',\r\n customerContactName: 'Frédérique Citeaux',\r\n requiredDateStart: 1562144400000,\r\n requiredDateEnd: 1562149800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10599,\r\n orderDate: 1563138000000,\r\n orderTotal: 493,\r\n customerCompanyName: `B's Beverages`,\r\n customerContactName: 'Victoria Ashworth',\r\n requiredDateStart: 1566811800000,\r\n requiredDateEnd: 1566815400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10611,\r\n orderDate: 1564002000000,\r\n orderTotal: 808,\r\n customerCompanyName: 'Wolski Zajazd',\r\n customerContactName: 'Zbyszek Piestrzeniewicz',\r\n requiredDateStart: 1566477000000,\r\n requiredDateEnd: 1566478800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10637,\r\n orderDate: 1566162000000,\r\n orderTotal: 2761.9375,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1568629800000,\r\n requiredDateEnd: 1568633400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10643,\r\n orderDate: 1566680400000,\r\n orderTotal: 814.5,\r\n customerCompanyName: 'Alfreds Futterkiste',\r\n customerContactName: 'Maria Anders',\r\n requiredDateStart: 1569150000000,\r\n requiredDateEnd: 1569153600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10656,\r\n orderDate: 1567544400000,\r\n orderTotal: 604.215,\r\n customerCompanyName: 'Great Lakes Food Market',\r\n customerContactName: 'Howard Snyder',\r\n requiredDateStart: 1570021200000,\r\n requiredDateEnd: 1570023000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10701,\r\n orderDate: 1570914000000,\r\n orderTotal: 2864.5,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1572183000000,\r\n requiredDateEnd: 1572184800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10703,\r\n orderDate: 1571000400000,\r\n orderTotal: 2545,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1573466400000,\r\n requiredDateEnd: 1573470000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10704,\r\n orderDate: 1571000400000,\r\n orderTotal: 595.5,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1573471800000,\r\n requiredDateEnd: 1573477200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10708,\r\n orderDate: 1571259600000,\r\n orderTotal: 180.4,\r\n customerCompanyName: 'The Big Cheese',\r\n customerContactName: 'Liz Nixon',\r\n requiredDateStart: 1574944200000,\r\n requiredDateEnd: 1574946000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10735,\r\n orderDate: 1573336800000,\r\n orderTotal: 536.4,\r\n customerCompanyName: `Let's Stop N Shop`,\r\n customerContactName: 'Jaime Yorres',\r\n requiredDateStart: 1575813600000,\r\n requiredDateEnd: 1575819000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10744,\r\n orderDate: 1573941600000,\r\n orderTotal: 736,\r\n customerCompanyName: 'Vaffeljernet',\r\n customerContactName: 'Palle Ibsen',\r\n requiredDateStart: 1576413000000,\r\n requiredDateEnd: 1576418400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10747,\r\n orderDate: 1574114400000,\r\n orderTotal: 1912.85,\r\n customerCompanyName: 'Piccolo und mehr',\r\n customerContactName: 'Georg Pipps',\r\n requiredDateStart: 1576576800000,\r\n requiredDateEnd: 1576580400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10754,\r\n orderDate: 1574632800000,\r\n orderTotal: 55.2,\r\n customerCompanyName: 'Magazzini Alimentari Riuniti',\r\n customerContactName: 'Giovanni Rovelli',\r\n requiredDateStart: 1577095200000,\r\n requiredDateEnd: 1577097000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10757,\r\n orderDate: 1574805600000,\r\n orderTotal: 3082,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1577266200000,\r\n requiredDateEnd: 1577269800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10764,\r\n orderDate: 1575324000000,\r\n orderTotal: 2286,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1577797200000,\r\n requiredDateEnd: 1577799000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10790,\r\n orderDate: 1576965600000,\r\n orderTotal: 722.5,\r\n customerCompanyName: 'Gourmet Lanchonetes',\r\n customerContactName: 'André Fonseca',\r\n requiredDateStart: 1579433400000,\r\n requiredDateEnd: 1579438800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10791,\r\n orderDate: 1577052000000,\r\n orderTotal: 1829.757,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1579527000000,\r\n requiredDateEnd: 1579530600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10794,\r\n orderDate: 1577138400000,\r\n orderTotal: 314.76,\r\n customerCompanyName: 'Que Delícia',\r\n customerContactName: 'Bernardo Batista',\r\n requiredDateStart: 1579613400000,\r\n requiredDateEnd: 1579618800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10804,\r\n orderDate: 1577656800000,\r\n orderTotal: 2278.4,\r\n customerCompanyName: 'Seven Seas Imports',\r\n customerContactName: 'Hari Kumar',\r\n requiredDateStart: 1580124600000,\r\n requiredDateEnd: 1580126400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10822,\r\n orderDate: 1578434400000,\r\n orderTotal: 237.9,\r\n customerCompanyName: `Trail's Head Gourmet Provisioners`,\r\n customerContactName: 'Helvetius Nagy',\r\n requiredDateStart: 1580898600000,\r\n requiredDateEnd: 1580900400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10826,\r\n orderDate: 1578780000000,\r\n orderTotal: 730,\r\n customerCompanyName: 'Blondesddsl père et fils',\r\n customerContactName: 'Frédérique Citeaux',\r\n requiredDateStart: 1581242400000,\r\n requiredDateEnd: 1581247800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10833,\r\n orderDate: 1579039200000,\r\n orderTotal: 906.93,\r\n customerCompanyName: 'Ottilies Käseladen',\r\n customerContactName: 'Henriette Pfalzheim',\r\n requiredDateStart: 1581514200000,\r\n requiredDateEnd: 1581516000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10867,\r\n orderDate: 1580680800000,\r\n orderTotal: 98.4,\r\n customerCompanyName: 'Lonesome Pine Restaurant',\r\n customerContactName: 'Fran Wilson',\r\n requiredDateStart: 1584451800000,\r\n requiredDateEnd: 1584453600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10885,\r\n orderDate: 1581458400000,\r\n orderTotal: 1209,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1584016200000,\r\n requiredDateEnd: 1584018000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10907,\r\n orderDate: 1582581600000,\r\n orderTotal: 108.5,\r\n customerCompanyName: 'Spécialités du monde',\r\n customerContactName: 'Dominique Perrier',\r\n requiredDateStart: 1585130400000,\r\n requiredDateEnd: 1585134000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10914,\r\n orderDate: 1582754400000,\r\n orderTotal: 537.5,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1585306800000,\r\n requiredDateEnd: 1585312200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10929,\r\n orderDate: 1583359200000,\r\n orderTotal: 1174.75,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1585823400000,\r\n requiredDateEnd: 1585828800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10933,\r\n orderDate: 1583445600000,\r\n orderTotal: 920.6,\r\n customerCompanyName: 'Island Trading',\r\n customerContactName: 'Helen Bennett',\r\n requiredDateStart: 1585906200000,\r\n requiredDateEnd: 1585908000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10944,\r\n orderDate: 1583964000000,\r\n orderTotal: 1025.325,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1585231200000,\r\n requiredDateEnd: 1585233000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10956,\r\n orderDate: 1584396000000,\r\n orderTotal: 677,\r\n customerCompanyName: 'Blauer See Delikatessen',\r\n customerContactName: 'Hanna Moos',\r\n requiredDateStart: 1588068000000,\r\n requiredDateEnd: 1588073400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10959,\r\n orderDate: 1584482400000,\r\n orderTotal: 131.75,\r\n customerCompanyName: 'Gourmet Lanchonetes',\r\n customerContactName: 'André Fonseca',\r\n requiredDateStart: 1588161600000,\r\n requiredDateEnd: 1588167000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10965,\r\n orderDate: 1584655200000,\r\n orderTotal: 848,\r\n customerCompanyName: 'Old World Delicatessen',\r\n customerContactName: 'Rene Phillips',\r\n requiredDateStart: 1587128400000,\r\n requiredDateEnd: 1587132000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10973,\r\n orderDate: 1585000800000,\r\n orderTotal: 291.55,\r\n customerCompanyName: `La corne d'abondance`,\r\n customerContactName: 'Daniel Tonini',\r\n requiredDateStart: 1587459600000,\r\n requiredDateEnd: 1587461400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10999,\r\n orderDate: 1585861200000,\r\n orderTotal: 1197.95,\r\n customerCompanyName: 'Ottilies Käseladen',\r\n customerContactName: 'Henriette Pfalzheim',\r\n requiredDateStart: 1588339800000,\r\n requiredDateEnd: 1588345200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11019,\r\n orderDate: 1586725200000,\r\n orderTotal: 76,\r\n customerCompanyName: 'Rancho grande',\r\n customerContactName: 'Sergio Gutiérrez',\r\n requiredDateStart: 1589202000000,\r\n requiredDateEnd: 1589203800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11025,\r\n orderDate: 1586898000000,\r\n orderTotal: 270,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1589362200000,\r\n requiredDateEnd: 1589364000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11031,\r\n orderDate: 1587070800000,\r\n orderTotal: 2393.5,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1589549400000,\r\n requiredDateEnd: 1589551200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11045,\r\n orderDate: 1587589200000,\r\n orderTotal: 1309.5,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1590057000000,\r\n requiredDateEnd: 1590058800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10248,\r\n orderDate: 1530651600000,\r\n orderTotal: 440,\r\n customerCompanyName: 'Vins et alcools Chevalier',\r\n customerContactName: 'Paul Henriot',\r\n requiredDateStart: 1533123000000,\r\n requiredDateEnd: 1533126600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10254,\r\n orderDate: 1531256400000,\r\n orderTotal: 556.62,\r\n customerCompanyName: 'Chop-suey Chinese',\r\n customerContactName: 'Yang Wang',\r\n requiredDateStart: 1533729600000,\r\n requiredDateEnd: 1533735000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10269,\r\n orderDate: 1532984400000,\r\n orderTotal: 642.2,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1534248000000,\r\n requiredDateEnd: 1534251600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10297,\r\n orderDate: 1536008400000,\r\n orderTotal: 1420,\r\n customerCompanyName: 'Blondesddsl père et fils',\r\n customerContactName: 'Frédérique Citeaux',\r\n requiredDateStart: 1539696600000,\r\n requiredDateEnd: 1539698400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10320,\r\n orderDate: 1538514000000,\r\n orderTotal: 516,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1539770400000,\r\n requiredDateEnd: 1539772200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10333,\r\n orderDate: 1539810000000,\r\n orderTotal: 877.2,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1542276000000,\r\n requiredDateEnd: 1542277800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10358,\r\n orderDate: 1542664800000,\r\n orderTotal: 429.4,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1545141600000,\r\n requiredDateEnd: 1545143400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10359,\r\n orderDate: 1542751200000,\r\n orderTotal: 3471.68,\r\n customerCompanyName: 'Seven Seas Imports',\r\n customerContactName: 'Hari Kumar',\r\n requiredDateStart: 1545220800000,\r\n requiredDateEnd: 1545226200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10372,\r\n orderDate: 1543874400000,\r\n orderTotal: 9210.9,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1546335000000,\r\n requiredDateEnd: 1546338600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10378,\r\n orderDate: 1544392800000,\r\n orderTotal: 103.2,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1546871400000,\r\n requiredDateEnd: 1546876800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10397,\r\n orderDate: 1545861600000,\r\n orderTotal: 716.72,\r\n customerCompanyName: 'Princesa Isabel Vinhos',\r\n customerContactName: 'Isabel de Castro',\r\n requiredDateStart: 1548322200000,\r\n requiredDateEnd: 1548325800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10463,\r\n orderDate: 1551650400000,\r\n orderTotal: 713.3,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1554112800000,\r\n requiredDateEnd: 1554114600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10474,\r\n orderDate: 1552428000000,\r\n orderTotal: 1249.1,\r\n customerCompanyName: 'Pericles Comidas clásicas',\r\n customerContactName: 'Guillermo Fernández',\r\n requiredDateStart: 1554888600000,\r\n requiredDateEnd: 1554892200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10477,\r\n orderDate: 1552773600000,\r\n orderTotal: 558,\r\n customerCompanyName: 'Princesa Isabel Vinhos',\r\n customerContactName: 'Isabel de Castro',\r\n requiredDateStart: 1555228800000,\r\n requiredDateEnd: 1555234200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10529,\r\n orderDate: 1557176400000,\r\n orderTotal: 946,\r\n customerCompanyName: 'Maison Dewey',\r\n customerContactName: 'Catherine Dewey',\r\n requiredDateStart: 1559653200000,\r\n requiredDateEnd: 1559656800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10549,\r\n orderDate: 1558904400000,\r\n orderTotal: 3554.275,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1560153600000,\r\n requiredDateEnd: 1560155400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10569,\r\n orderDate: 1560632400000,\r\n orderTotal: 890,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1563098400000,\r\n requiredDateEnd: 1563102000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10575,\r\n orderDate: 1560978000000,\r\n orderTotal: 2147.4,\r\n customerCompanyName: 'Morgenstern Gesundkost',\r\n customerContactName: 'Alexander Feuer',\r\n requiredDateStart: 1562232600000,\r\n requiredDateEnd: 1562238000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10607,\r\n orderDate: 1563742800000,\r\n orderTotal: 6475.4,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1566207000000,\r\n requiredDateEnd: 1566208800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10648,\r\n orderDate: 1566939600000,\r\n orderTotal: 372.375,\r\n customerCompanyName: 'Ricardo Adocicados',\r\n customerContactName: 'Janete Limeira',\r\n requiredDateStart: 1570609800000,\r\n requiredDateEnd: 1570611600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10649,\r\n orderDate: 1566939600000,\r\n orderTotal: 1434,\r\n customerCompanyName: 'Maison Dewey',\r\n customerContactName: 'Catherine Dewey',\r\n requiredDateStart: 1569400200000,\r\n requiredDateEnd: 1569403800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10650,\r\n orderDate: 1567026000000,\r\n orderTotal: 1779.2,\r\n customerCompanyName: 'Familia Arquibaldo',\r\n customerContactName: 'Aria Cruz',\r\n requiredDateStart: 1569490200000,\r\n requiredDateEnd: 1569493800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10654,\r\n orderDate: 1567371600000,\r\n orderTotal: 601.83,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1569850200000,\r\n requiredDateEnd: 1569855600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10675,\r\n orderDate: 1568840400000,\r\n orderTotal: 1423,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1571299200000,\r\n requiredDateEnd: 1571304600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10711,\r\n orderDate: 1571605200000,\r\n orderTotal: 4451.7,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1575297000000,\r\n requiredDateEnd: 1575298800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10714,\r\n orderDate: 1571691600000,\r\n orderTotal: 2205.75,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1574173800000,\r\n requiredDateEnd: 1574179200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10721,\r\n orderDate: 1572300000000,\r\n orderTotal: 923.875,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1574775000000,\r\n requiredDateEnd: 1574780400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10730,\r\n orderDate: 1572904800000,\r\n orderTotal: 484.2625,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1575376200000,\r\n requiredDateEnd: 1575379800000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10761,\r\n orderDate: 1575237600000,\r\n orderTotal: 507,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1577712600000,\r\n requiredDateEnd: 1577716200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10812,\r\n orderDate: 1577916000000,\r\n orderTotal: 1692.8,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1580394600000,\r\n requiredDateEnd: 1580396400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10823,\r\n orderDate: 1578520800000,\r\n orderTotal: 2826,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1580988600000,\r\n requiredDateEnd: 1580994000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10841,\r\n orderDate: 1579471200000,\r\n orderTotal: 4581,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1581948000000,\r\n requiredDateEnd: 1581953400000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10851,\r\n orderDate: 1579989600000,\r\n orderTotal: 2603,\r\n customerCompanyName: 'Ricardo Adocicados',\r\n customerContactName: 'Janete Limeira',\r\n requiredDateStart: 1582468200000,\r\n requiredDateEnd: 1582470000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10866,\r\n orderDate: 1580680800000,\r\n orderTotal: 1096.2,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1583233200000,\r\n requiredDateEnd: 1583238600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10869,\r\n orderDate: 1580767200000,\r\n orderTotal: 1630,\r\n customerCompanyName: 'Seven Seas Imports',\r\n customerContactName: 'Hari Kumar',\r\n requiredDateStart: 1583328600000,\r\n requiredDateEnd: 1583334000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10870,\r\n orderDate: 1580767200000,\r\n orderTotal: 160,\r\n customerCompanyName: 'Wolski Zajazd',\r\n customerContactName: 'Zbyszek Piestrzeniewicz',\r\n requiredDateStart: 1583330400000,\r\n requiredDateEnd: 1583334000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10872,\r\n orderDate: 1580853600000,\r\n orderTotal: 2058.46,\r\n customerCompanyName: 'Godos Cocina Típica',\r\n customerContactName: 'José Pedro Freyre',\r\n requiredDateStart: 1583418600000,\r\n requiredDateEnd: 1583422200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10874,\r\n orderDate: 1580940000000,\r\n orderTotal: 310,\r\n customerCompanyName: 'Godos Cocina Típica',\r\n customerContactName: 'José Pedro Freyre',\r\n requiredDateStart: 1583505000000,\r\n requiredDateEnd: 1583508600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10899,\r\n orderDate: 1582149600000,\r\n orderTotal: 122.4,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1584703800000,\r\n requiredDateEnd: 1584709200000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10922,\r\n orderDate: 1583186400000,\r\n orderTotal: 742.5,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1585652400000,\r\n requiredDateEnd: 1585656000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10954,\r\n orderDate: 1584396000000,\r\n orderTotal: 1659.535,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1588075200000,\r\n requiredDateEnd: 1588080600000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 11043,\r\n orderDate: 1587502800000,\r\n orderTotal: 210,\r\n customerCompanyName: 'Spécialités du monde',\r\n customerContactName: 'Dominique Perrier',\r\n requiredDateStart: 1589981400000,\r\n requiredDateEnd: 1589985000000,\r\n teamID: 3\r\n },\r\n {\r\n orderID: 10250,\r\n orderDate: 1530997200000,\r\n orderTotal: 1552.6,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1533466800000,\r\n requiredDateEnd: 1533468600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10252,\r\n orderDate: 1531083600000,\r\n orderTotal: 3597.9,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1533547800000,\r\n requiredDateEnd: 1533551400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10257,\r\n orderDate: 1531688400000,\r\n orderTotal: 1119.9,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1534154400000,\r\n requiredDateEnd: 1534156200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10259,\r\n orderDate: 1531861200000,\r\n orderTotal: 100.8,\r\n customerCompanyName: 'Centro comercial Moctezuma',\r\n customerContactName: 'Francisco Chang',\r\n requiredDateStart: 1534320000000,\r\n requiredDateEnd: 1534325400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10260,\r\n orderDate: 1531947600000,\r\n orderTotal: 1504.65,\r\n customerCompanyName: 'Ottilies Käseladen',\r\n customerContactName: 'Henriette Pfalzheim',\r\n requiredDateStart: 1534410000000,\r\n requiredDateEnd: 1534411800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10261,\r\n orderDate: 1531947600000,\r\n orderTotal: 448,\r\n customerCompanyName: 'Que Delícia',\r\n customerContactName: 'Bernardo Batista',\r\n requiredDateStart: 1534422600000,\r\n requiredDateEnd: 1534426200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10267,\r\n orderDate: 1532811600000,\r\n orderTotal: 3536.6,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1535270400000,\r\n requiredDateEnd: 1535274000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10281,\r\n orderDate: 1534194000000,\r\n orderTotal: 86.5,\r\n customerCompanyName: 'Romero y tomillo',\r\n customerContactName: 'Alejandra Camino',\r\n requiredDateStart: 1535459400000,\r\n requiredDateEnd: 1535464800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10282,\r\n orderDate: 1534280400000,\r\n orderTotal: 155.4,\r\n customerCompanyName: 'Romero y tomillo',\r\n customerContactName: 'Alejandra Camino',\r\n requiredDateStart: 1536755400000,\r\n requiredDateEnd: 1536757200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10284,\r\n orderDate: 1534626000000,\r\n orderTotal: 1170.375,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1537084800000,\r\n requiredDateEnd: 1537086600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10288,\r\n orderDate: 1534971600000,\r\n orderTotal: 80.1,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1537435800000,\r\n requiredDateEnd: 1537439400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10294,\r\n orderDate: 1535576400000,\r\n orderTotal: 1887.6,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1538049600000,\r\n requiredDateEnd: 1538055000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10299,\r\n orderDate: 1536181200000,\r\n orderTotal: 349.5,\r\n customerCompanyName: 'Ricardo Adocicados',\r\n customerContactName: 'Janete Limeira',\r\n requiredDateStart: 1538658000000,\r\n requiredDateEnd: 1538661600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10302,\r\n orderDate: 1536526800000,\r\n orderTotal: 2708.8,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1538998200000,\r\n requiredDateEnd: 1539003600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10315,\r\n orderDate: 1537909200000,\r\n orderTotal: 516.8,\r\n customerCompanyName: 'Island Trading',\r\n customerContactName: 'Helen Bennett',\r\n requiredDateStart: 1540371600000,\r\n requiredDateEnd: 1540375200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10323,\r\n orderDate: 1538859600000,\r\n orderTotal: 164.4,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1541323800000,\r\n requiredDateEnd: 1541325600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10326,\r\n orderDate: 1539118800000,\r\n orderTotal: 982,\r\n customerCompanyName: 'Bólido Comidas preparadas',\r\n customerContactName: 'Martín Sommer',\r\n requiredDateStart: 1541601000000,\r\n requiredDateEnd: 1541604600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10328,\r\n orderDate: 1539464400000,\r\n orderTotal: 1168,\r\n customerCompanyName: 'Furia Bacalhau e Frutos do Mar',\r\n customerContactName: 'Lino Rodriguez',\r\n requiredDateStart: 1541939400000,\r\n requiredDateEnd: 1541944800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10329,\r\n orderDate: 1539550800000,\r\n orderTotal: 4578.43,\r\n customerCompanyName: 'Split Rail Beer & Ale',\r\n customerContactName: 'Art Braunschweiger',\r\n requiredDateStart: 1543224600000,\r\n requiredDateEnd: 1543230000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10337,\r\n orderDate: 1540328400000,\r\n orderTotal: 2467,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1542805200000,\r\n requiredDateEnd: 1542810600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10338,\r\n orderDate: 1540414800000,\r\n orderTotal: 934.5,\r\n customerCompanyName: 'Old World Delicatessen',\r\n customerContactName: 'Rene Phillips',\r\n requiredDateStart: 1542893400000,\r\n requiredDateEnd: 1542898800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10342,\r\n orderDate: 1540850400000,\r\n orderTotal: 1840.64,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1542115800000,\r\n requiredDateEnd: 1542121200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10343,\r\n orderDate: 1540936800000,\r\n orderTotal: 1584,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1543415400000,\r\n requiredDateEnd: 1543419000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10344,\r\n orderDate: 1541023200000,\r\n orderTotal: 2296,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1543489200000,\r\n requiredDateEnd: 1543494600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10347,\r\n orderDate: 1541455200000,\r\n orderTotal: 814.42,\r\n customerCompanyName: 'Familia Arquibaldo',\r\n customerContactName: 'Aria Cruz',\r\n requiredDateStart: 1543914000000,\r\n requiredDateEnd: 1543915800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10348,\r\n orderDate: 1541541600000,\r\n orderTotal: 363.6,\r\n customerCompanyName: 'Die Wandernde Kuh',\r\n customerContactName: 'Rita Müller',\r\n requiredDateStart: 1544020200000,\r\n requiredDateEnd: 1544025600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10360,\r\n orderDate: 1542837600000,\r\n orderTotal: 7390.2,\r\n customerCompanyName: 'Blondesddsl père et fils',\r\n customerContactName: 'Frédérique Citeaux',\r\n requiredDateStart: 1545298200000,\r\n requiredDateEnd: 1545300000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10363,\r\n orderDate: 1543183200000,\r\n orderTotal: 447.2,\r\n customerCompanyName: 'Drachenblut Delikatessen',\r\n customerContactName: 'Sven Ottlieb',\r\n requiredDateStart: 1545658200000,\r\n requiredDateEnd: 1545661800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10373,\r\n orderDate: 1543960800000,\r\n orderTotal: 1366.4,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1546430400000,\r\n requiredDateEnd: 1546432200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10382,\r\n orderDate: 1544652000000,\r\n orderTotal: 2900,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1547112600000,\r\n requiredDateEnd: 1547114400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10389,\r\n orderDate: 1545256800000,\r\n orderTotal: 1832.8,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1547722800000,\r\n requiredDateEnd: 1547728200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10403,\r\n orderDate: 1546466400000,\r\n orderTotal: 855.015,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1548941400000,\r\n requiredDateEnd: 1548946800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10417,\r\n orderDate: 1547589600000,\r\n orderTotal: 11188.4,\r\n customerCompanyName: 'Simons bistro',\r\n customerContactName: 'Jytte Petersen',\r\n requiredDateStart: 1550068200000,\r\n requiredDateEnd: 1550071800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10418,\r\n orderDate: 1547676000000,\r\n orderTotal: 1814.8,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1550147400000,\r\n requiredDateEnd: 1550149200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10419,\r\n orderDate: 1547935200000,\r\n orderTotal: 2097.6,\r\n customerCompanyName: 'Richter Supermarkt',\r\n customerContactName: 'Michael Holz',\r\n requiredDateStart: 1550413800000,\r\n requiredDateEnd: 1550417400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10426,\r\n orderDate: 1548540000000,\r\n orderTotal: 338.2,\r\n customerCompanyName: 'Galería del gastrónomo',\r\n customerContactName: 'Eduardo Saavedra',\r\n requiredDateStart: 1551002400000,\r\n requiredDateEnd: 1551007800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10427,\r\n orderDate: 1548540000000,\r\n orderTotal: 651,\r\n customerCompanyName: 'Piccolo und mehr',\r\n customerContactName: 'Georg Pipps',\r\n requiredDateStart: 1551004200000,\r\n requiredDateEnd: 1551006000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10430,\r\n orderDate: 1548799200000,\r\n orderTotal: 4899.2,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1550068200000,\r\n requiredDateEnd: 1550073600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10431,\r\n orderDate: 1548799200000,\r\n orderTotal: 1892.25,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1550068200000,\r\n requiredDateEnd: 1550071800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10440,\r\n orderDate: 1549749600000,\r\n orderTotal: 4924.135,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1552208400000,\r\n requiredDateEnd: 1552210200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10447,\r\n orderDate: 1550095200000,\r\n orderTotal: 914.4,\r\n customerCompanyName: 'Ricardo Adocicados',\r\n customerContactName: 'Janete Limeira',\r\n requiredDateStart: 1552555800000,\r\n requiredDateEnd: 1552557600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10448,\r\n orderDate: 1550354400000,\r\n orderTotal: 443.4,\r\n customerCompanyName: 'Rancho grande',\r\n customerContactName: 'Sergio Gutiérrez',\r\n requiredDateStart: 1552825800000,\r\n requiredDateEnd: 1552829400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10451,\r\n orderDate: 1550527200000,\r\n orderTotal: 3849.66,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1551787200000,\r\n requiredDateEnd: 1551789000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10454,\r\n orderDate: 1550700000000,\r\n orderTotal: 331.2,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1553164200000,\r\n requiredDateEnd: 1553166000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10459,\r\n orderDate: 1551218400000,\r\n orderTotal: 1659.2,\r\n customerCompanyName: 'Victuailles en stock',\r\n customerContactName: 'Mary Saveley',\r\n requiredDateStart: 1553689800000,\r\n requiredDateEnd: 1553695200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10464,\r\n orderDate: 1551650400000,\r\n orderTotal: 1609.28,\r\n customerCompanyName: 'Furia Bacalhau e Frutos do Mar',\r\n customerContactName: 'Lino Rodriguez',\r\n requiredDateStart: 1554105600000,\r\n requiredDateEnd: 1554107400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10466,\r\n orderDate: 1551823200000,\r\n orderTotal: 216,\r\n customerCompanyName: 'Comércio Mineiro',\r\n customerContactName: 'Pedro Afonso',\r\n requiredDateStart: 1554291000000,\r\n requiredDateEnd: 1554296400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10470,\r\n orderDate: 1552255200000,\r\n orderTotal: 1820.8,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1554712200000,\r\n requiredDateEnd: 1554714000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10485,\r\n orderDate: 1553464800000,\r\n orderTotal: 1584,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1554728400000,\r\n requiredDateEnd: 1554733800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10493,\r\n orderDate: 1554152400000,\r\n orderTotal: 608.4,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1556627400000,\r\n requiredDateEnd: 1556629200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10494,\r\n orderDate: 1554152400000,\r\n orderTotal: 912,\r\n customerCompanyName: 'Comércio Mineiro',\r\n customerContactName: 'Pedro Afonso',\r\n requiredDateStart: 1556622000000,\r\n requiredDateEnd: 1556625600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10499,\r\n orderDate: 1554670800000,\r\n orderTotal: 1412,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1557149400000,\r\n requiredDateEnd: 1557154800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10504,\r\n orderDate: 1554930000000,\r\n orderTotal: 1388.5,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1557388800000,\r\n requiredDateEnd: 1557392400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10509,\r\n orderDate: 1555448400000,\r\n orderTotal: 136.8,\r\n customerCompanyName: 'Blauer See Delikatessen',\r\n customerContactName: 'Hanna Moos',\r\n requiredDateStart: 1557909000000,\r\n requiredDateEnd: 1557912600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10511,\r\n orderDate: 1555534800000,\r\n orderTotal: 2550,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1558009800000,\r\n requiredDateEnd: 1558011600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10518,\r\n orderDate: 1556139600000,\r\n orderTotal: 4150.05,\r\n customerCompanyName: 'Tortuga Restaurante',\r\n customerContactName: 'Miguel Angel Paolino',\r\n requiredDateStart: 1557392400000,\r\n requiredDateEnd: 1557397800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10522,\r\n orderDate: 1556571600000,\r\n orderTotal: 2318.24,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1559050200000,\r\n requiredDateEnd: 1559052000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10526,\r\n orderDate: 1557003600000,\r\n orderTotal: 1151.4,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1559466000000,\r\n requiredDateEnd: 1559471400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10535,\r\n orderDate: 1557694800000,\r\n orderTotal: 1940.85,\r\n customerCompanyName: 'Antonio Moreno Taquería',\r\n customerContactName: 'Antonio Moreno',\r\n requiredDateStart: 1560171600000,\r\n requiredDateEnd: 1560173400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10544,\r\n orderDate: 1558386000000,\r\n orderTotal: 417.2,\r\n customerCompanyName: 'Lonesome Pine Restaurant',\r\n customerContactName: 'Fran Wilson',\r\n requiredDateStart: 1560862800000,\r\n requiredDateEnd: 1560864600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10551,\r\n orderDate: 1558990800000,\r\n orderTotal: 1677.3,\r\n customerCompanyName: 'Furia Bacalhau e Frutos do Mar',\r\n customerContactName: 'Lino Rodriguez',\r\n requiredDateStart: 1562679000000,\r\n requiredDateEnd: 1562684400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10554,\r\n orderDate: 1559163600000,\r\n orderTotal: 1728.525,\r\n customerCompanyName: 'Ottilies Käseladen',\r\n customerContactName: 'Henriette Pfalzheim',\r\n requiredDateStart: 1561624200000,\r\n requiredDateEnd: 1561627800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10564,\r\n orderDate: 1560114000000,\r\n orderTotal: 1234.05,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1562587200000,\r\n requiredDateEnd: 1562592600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10574,\r\n orderDate: 1560891600000,\r\n orderTotal: 764.3,\r\n customerCompanyName: `Trail's Head Gourmet Provisioners`,\r\n customerContactName: 'Helvetius Nagy',\r\n requiredDateStart: 1563370200000,\r\n requiredDateEnd: 1563373800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10578,\r\n orderDate: 1561323600000,\r\n orderTotal: 477,\r\n customerCompanyName: `B's Beverages`,\r\n customerContactName: 'Victoria Ashworth',\r\n requiredDateStart: 1563786000000,\r\n requiredDateEnd: 1563789600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10580,\r\n orderDate: 1561496400000,\r\n orderTotal: 1013.745,\r\n customerCompanyName: 'Ottilies Käseladen',\r\n customerContactName: 'Henriette Pfalzheim',\r\n requiredDateStart: 1563971400000,\r\n requiredDateEnd: 1563973200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10584,\r\n orderDate: 1561842000000,\r\n orderTotal: 593.75,\r\n customerCompanyName: 'Blondesddsl père et fils',\r\n customerContactName: 'Frédérique Citeaux',\r\n requiredDateStart: 1564315200000,\r\n requiredDateEnd: 1564318800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10590,\r\n orderDate: 1562446800000,\r\n orderTotal: 1101,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1564916400000,\r\n requiredDateEnd: 1564918200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10600,\r\n orderDate: 1563224400000,\r\n orderTotal: 479.8,\r\n customerCompanyName: 'Hungry Coyote Import Store',\r\n customerContactName: 'Yoshi Latimer',\r\n requiredDateStart: 1565688600000,\r\n requiredDateEnd: 1565690400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10606,\r\n orderDate: 1563742800000,\r\n orderTotal: 1130.4,\r\n customerCompanyName: 'Tradição Hipermercados',\r\n customerContactName: 'Anabela Domingues',\r\n requiredDateStart: 1566219600000,\r\n requiredDateEnd: 1566225000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10608,\r\n orderDate: 1563829200000,\r\n orderTotal: 1064,\r\n customerCompanyName: 'Toms Spezialitäten',\r\n customerContactName: 'Karin Josephs',\r\n requiredDateStart: 1566304200000,\r\n requiredDateEnd: 1566307800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10613,\r\n orderDate: 1564347600000,\r\n orderTotal: 353.2,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1566819000000,\r\n requiredDateEnd: 1566822600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10617,\r\n orderDate: 1564520400000,\r\n orderTotal: 1402.5,\r\n customerCompanyName: 'Great Lakes Food Market',\r\n customerContactName: 'Howard Snyder',\r\n requiredDateStart: 1566997200000,\r\n requiredDateEnd: 1567000800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10621,\r\n orderDate: 1564952400000,\r\n orderTotal: 758.5,\r\n customerCompanyName: 'Island Trading',\r\n customerContactName: 'Helen Bennett',\r\n requiredDateStart: 1567414800000,\r\n requiredDateEnd: 1567418400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10622,\r\n orderDate: 1565038800000,\r\n orderTotal: 560,\r\n customerCompanyName: 'Ricardo Adocicados',\r\n customerContactName: 'Janete Limeira',\r\n requiredDateStart: 1567499400000,\r\n requiredDateEnd: 1567503000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10624,\r\n orderDate: 1565125200000,\r\n orderTotal: 1393.24,\r\n customerCompanyName: 'The Cracker Box',\r\n customerContactName: 'Liu Wong',\r\n requiredDateStart: 1567594800000,\r\n requiredDateEnd: 1567598400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10628,\r\n orderDate: 1565557200000,\r\n orderTotal: 450,\r\n customerCompanyName: 'Blondesddsl père et fils',\r\n customerContactName: 'Frédérique Citeaux',\r\n requiredDateStart: 1568017800000,\r\n requiredDateEnd: 1568021400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10629,\r\n orderDate: 1565557200000,\r\n orderTotal: 2775.05,\r\n customerCompanyName: 'Godos Cocina Típica',\r\n customerContactName: 'José Pedro Freyre',\r\n requiredDateStart: 1568035800000,\r\n requiredDateEnd: 1568039400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10634,\r\n orderDate: 1565816400000,\r\n orderTotal: 4985.5,\r\n customerCompanyName: 'Folies gourmandes',\r\n customerContactName: 'Martine Rancé',\r\n requiredDateStart: 1568295000000,\r\n requiredDateEnd: 1568298600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10636,\r\n orderDate: 1566162000000,\r\n orderTotal: 629.5,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1568629800000,\r\n requiredDateEnd: 1568631600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10640,\r\n orderDate: 1566334800000,\r\n orderTotal: 708.75,\r\n customerCompanyName: 'Die Wandernde Kuh',\r\n customerContactName: 'Rita Müller',\r\n requiredDateStart: 1568799000000,\r\n requiredDateEnd: 1568802600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10641,\r\n orderDate: 1566421200000,\r\n orderTotal: 2054,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1568896200000,\r\n requiredDateEnd: 1568899800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10645,\r\n orderDate: 1566766800000,\r\n orderTotal: 1535,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1569243600000,\r\n requiredDateEnd: 1569247200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10647,\r\n orderDate: 1566853200000,\r\n orderTotal: 636,\r\n customerCompanyName: 'Que Delícia',\r\n customerContactName: 'Bernardo Batista',\r\n requiredDateStart: 1568116800000,\r\n requiredDateEnd: 1568120400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10652,\r\n orderDate: 1567285200000,\r\n orderTotal: 318.835,\r\n customerCompanyName: 'Gourmet Lanchonetes',\r\n customerContactName: 'André Fonseca',\r\n requiredDateStart: 1569756600000,\r\n requiredDateEnd: 1569758400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10658,\r\n orderDate: 1567630800000,\r\n orderTotal: 4464.6,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1570096800000,\r\n requiredDateEnd: 1570100400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10670,\r\n orderDate: 1568581200000,\r\n orderTotal: 2301.75,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1571043600000,\r\n requiredDateEnd: 1571045400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10674,\r\n orderDate: 1568754000000,\r\n orderTotal: 45,\r\n customerCompanyName: 'Island Trading',\r\n customerContactName: 'Helen Bennett',\r\n requiredDateStart: 1571214600000,\r\n requiredDateEnd: 1571220000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10685,\r\n orderDate: 1569704400000,\r\n orderTotal: 801.1,\r\n customerCompanyName: 'Gourmet Lanchonetes',\r\n customerContactName: 'André Fonseca',\r\n requiredDateStart: 1570960800000,\r\n requiredDateEnd: 1570962600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10688,\r\n orderDate: 1569877200000,\r\n orderTotal: 3160.6,\r\n customerCompanyName: 'Vaffeljernet',\r\n customerContactName: 'Palle Ibsen',\r\n requiredDateStart: 1571137200000,\r\n requiredDateEnd: 1571140800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10692,\r\n orderDate: 1570050000000,\r\n orderTotal: 878,\r\n customerCompanyName: 'Alfreds Futterkiste',\r\n customerContactName: 'Maria Anders',\r\n requiredDateStart: 1572526800000,\r\n requiredDateEnd: 1572528600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10698,\r\n orderDate: 1570568400000,\r\n orderTotal: 3436.4435,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1573050600000,\r\n requiredDateEnd: 1573054200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10702,\r\n orderDate: 1570914000000,\r\n orderTotal: 330,\r\n customerCompanyName: 'Alfreds Futterkiste',\r\n customerContactName: 'Maria Anders',\r\n requiredDateStart: 1574586000000,\r\n requiredDateEnd: 1574587800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10707,\r\n orderDate: 1571173200000,\r\n orderTotal: 1641,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1572431400000,\r\n requiredDateEnd: 1572435000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10716,\r\n orderDate: 1571864400000,\r\n orderTotal: 706,\r\n customerCompanyName: 'Rancho grande',\r\n customerContactName: 'Sergio Gutiérrez',\r\n requiredDateStart: 1574343000000,\r\n requiredDateEnd: 1574346600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10725,\r\n orderDate: 1572472800000,\r\n orderTotal: 287.8,\r\n customerCompanyName: 'Familia Arquibaldo',\r\n customerContactName: 'Aria Cruz',\r\n requiredDateStart: 1574933400000,\r\n requiredDateEnd: 1574938800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10726,\r\n orderDate: 1572732000000,\r\n orderTotal: 655,\r\n customerCompanyName: 'Eastern Connection',\r\n customerContactName: 'Ann Devon',\r\n requiredDateStart: 1573986600000,\r\n requiredDateEnd: 1573990200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10728,\r\n orderDate: 1572818400000,\r\n orderTotal: 1296.75,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1575288000000,\r\n requiredDateEnd: 1575289800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10740,\r\n orderDate: 1573596000000,\r\n orderTotal: 1416,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1576065600000,\r\n requiredDateEnd: 1576069200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10741,\r\n orderDate: 1573682400000,\r\n orderTotal: 228,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1574946000000,\r\n requiredDateEnd: 1574949600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10749,\r\n orderDate: 1574200800000,\r\n orderTotal: 1080,\r\n customerCompanyName: 'Island Trading',\r\n customerContactName: 'Helen Bennett',\r\n requiredDateStart: 1576677600000,\r\n requiredDateEnd: 1576679400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10755,\r\n orderDate: 1574719200000,\r\n orderTotal: 1948.5,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1577178000000,\r\n requiredDateEnd: 1577179800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10760,\r\n orderDate: 1575151200000,\r\n orderTotal: 2917,\r\n customerCompanyName: 'Maison Dewey',\r\n customerContactName: 'Catherine Dewey',\r\n requiredDateStart: 1577629800000,\r\n requiredDateEnd: 1577631600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10766,\r\n orderDate: 1575496800000,\r\n orderTotal: 2310,\r\n customerCompanyName: 'Ottilies Käseladen',\r\n customerContactName: 'Henriette Pfalzheim',\r\n requiredDateStart: 1577964600000,\r\n requiredDateEnd: 1577968200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10767,\r\n orderDate: 1575496800000,\r\n orderTotal: 28,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1577961000000,\r\n requiredDateEnd: 1577966400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10774,\r\n orderDate: 1576015200000,\r\n orderTotal: 868.75,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1577278800000,\r\n requiredDateEnd: 1577282400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10783,\r\n orderDate: 1576620000000,\r\n orderTotal: 1442.5,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1579082400000,\r\n requiredDateEnd: 1579086000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10784,\r\n orderDate: 1576620000000,\r\n orderTotal: 1488,\r\n customerCompanyName: 'Magazzini Alimentari Riuniti',\r\n customerContactName: 'Giovanni Rovelli',\r\n requiredDateStart: 1579082400000,\r\n requiredDateEnd: 1579087800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10801,\r\n orderDate: 1577570400000,\r\n orderTotal: 3026.85,\r\n customerCompanyName: 'Bólido Comidas preparadas',\r\n customerContactName: 'Martín Sommer',\r\n requiredDateStart: 1580038200000,\r\n requiredDateEnd: 1580043600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10802,\r\n orderDate: 1577570400000,\r\n orderTotal: 2942.8125,\r\n customerCompanyName: 'Simons bistro',\r\n customerContactName: 'Jytte Petersen',\r\n requiredDateStart: 1580034600000,\r\n requiredDateEnd: 1580036400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10803,\r\n orderDate: 1577656800000,\r\n orderTotal: 1193.01,\r\n customerCompanyName: 'Wellington Importadora',\r\n customerContactName: 'Paula Parente',\r\n requiredDateStart: 1580130000000,\r\n requiredDateEnd: 1580135400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10807,\r\n orderDate: 1577743200000,\r\n orderTotal: 18.4,\r\n customerCompanyName: 'Franchi S.p.A.',\r\n customerContactName: 'Paolo Accorti',\r\n requiredDateStart: 1580220000000,\r\n requiredDateEnd: 1580225400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10816,\r\n orderDate: 1578261600000,\r\n orderTotal: 8446.45,\r\n customerCompanyName: 'Great Lakes Food Market',\r\n customerContactName: 'Howard Snyder',\r\n requiredDateStart: 1580734800000,\r\n requiredDateEnd: 1580736600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10830,\r\n orderDate: 1578866400000,\r\n orderTotal: 1974,\r\n customerCompanyName: 'Tradição Hipermercados',\r\n customerContactName: 'Anabela Domingues',\r\n requiredDateStart: 1582551000000,\r\n requiredDateEnd: 1582552800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10840,\r\n orderDate: 1579384800000,\r\n orderTotal: 211.2,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1583139600000,\r\n requiredDateEnd: 1583145000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10843,\r\n orderDate: 1579557600000,\r\n orderTotal: 159,\r\n customerCompanyName: 'Victuailles en stock',\r\n customerContactName: 'Mary Saveley',\r\n requiredDateStart: 1582032600000,\r\n requiredDateEnd: 1582036200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10847,\r\n orderDate: 1579644000000,\r\n orderTotal: 4931.92,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1580896800000,\r\n requiredDateEnd: 1580898600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10861,\r\n orderDate: 1580335200000,\r\n orderTotal: 3523.4,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1582799400000,\r\n requiredDateEnd: 1582803000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10863,\r\n orderDate: 1580594400000,\r\n orderTotal: 441.15,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1583141400000,\r\n requiredDateEnd: 1583143200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10864,\r\n orderDate: 1580594400000,\r\n orderTotal: 282,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1583159400000,\r\n requiredDateEnd: 1583164800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10873,\r\n orderDate: 1580940000000,\r\n orderTotal: 336.8,\r\n customerCompanyName: 'Wilman Kala',\r\n customerContactName: 'Matti Karttunen',\r\n requiredDateStart: 1583497800000,\r\n requiredDateEnd: 1583501400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10875,\r\n orderDate: 1580940000000,\r\n orderTotal: 709.55,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1583505000000,\r\n requiredDateEnd: 1583510400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10878,\r\n orderDate: 1581285600000,\r\n orderTotal: 1539,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1583839800000,\r\n requiredDateEnd: 1583845200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10881,\r\n orderDate: 1581372000000,\r\n orderTotal: 150,\r\n customerCompanyName: 'Cactus Comidas para llevar',\r\n customerContactName: 'Patricio Simpson',\r\n requiredDateStart: 1583931600000,\r\n requiredDateEnd: 1583935200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10882,\r\n orderDate: 1581372000000,\r\n orderTotal: 892.64,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1583928000000,\r\n requiredDateEnd: 1583929800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10884,\r\n orderDate: 1581458400000,\r\n orderTotal: 1378.07,\r\n customerCompanyName: `Let's Stop N Shop`,\r\n customerContactName: 'Jaime Yorres',\r\n requiredDateStart: 1584007200000,\r\n requiredDateEnd: 1584012600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10892,\r\n orderDate: 1581890400000,\r\n orderTotal: 2090,\r\n customerCompanyName: 'Maison Dewey',\r\n customerContactName: 'Catherine Dewey',\r\n requiredDateStart: 1584435600000,\r\n requiredDateEnd: 1584437400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10898,\r\n orderDate: 1582149600000,\r\n orderTotal: 30,\r\n customerCompanyName: 'Océano Atlántico Ltda.',\r\n customerContactName: 'Yvonne Moncada',\r\n requiredDateStart: 1584696600000,\r\n requiredDateEnd: 1584702000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10901,\r\n orderDate: 1582408800000,\r\n orderTotal: 934.5,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1584968400000,\r\n requiredDateEnd: 1584972000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10906,\r\n orderDate: 1582581600000,\r\n orderTotal: 427.5,\r\n customerCompanyName: 'Wolski Zajazd',\r\n customerContactName: 'Zbyszek Piestrzeniewicz',\r\n requiredDateStart: 1583928000000,\r\n requiredDateEnd: 1583933400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10908,\r\n orderDate: 1582668000000,\r\n orderTotal: 663.1,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1585224000000,\r\n requiredDateEnd: 1585229400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10913,\r\n orderDate: 1582668000000,\r\n orderTotal: 768.75,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1585220400000,\r\n requiredDateEnd: 1585224000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10917,\r\n orderDate: 1583100000000,\r\n orderTotal: 365.89,\r\n customerCompanyName: 'Romero y tomillo',\r\n customerContactName: 'Alejandra Camino',\r\n requiredDateStart: 1585566000000,\r\n requiredDateEnd: 1585569600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10920,\r\n orderDate: 1583186400000,\r\n orderTotal: 390,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1585648800000,\r\n requiredDateEnd: 1585652400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10926,\r\n orderDate: 1583272800000,\r\n orderTotal: 514.4,\r\n customerCompanyName: 'Ana Trujillo Emparedados y helados',\r\n customerContactName: 'Ana Trujillo',\r\n requiredDateStart: 1585746000000,\r\n requiredDateEnd: 1585749600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10927,\r\n orderDate: 1583359200000,\r\n orderTotal: 800,\r\n customerCompanyName: `La corne d'abondance`,\r\n customerContactName: 'Daniel Tonini',\r\n requiredDateStart: 1585814400000,\r\n requiredDateEnd: 1585816200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10930,\r\n orderDate: 1583445600000,\r\n orderTotal: 2255.5,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1587123000000,\r\n requiredDateEnd: 1587124800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10931,\r\n orderDate: 1583445600000,\r\n orderTotal: 799.2,\r\n customerCompanyName: 'Richter Supermarkt',\r\n customerContactName: 'Michael Holz',\r\n requiredDateStart: 1584702000000,\r\n requiredDateEnd: 1584705600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10935,\r\n orderDate: 1583704800000,\r\n orderTotal: 619.5,\r\n customerCompanyName: 'Wellington Importadora',\r\n customerContactName: 'Paula Parente',\r\n requiredDateStart: 1586160000000,\r\n requiredDateEnd: 1586165400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10943,\r\n orderDate: 1583877600000,\r\n orderTotal: 711,\r\n customerCompanyName: `B's Beverages`,\r\n customerContactName: 'Victoria Ashworth',\r\n requiredDateStart: 1586345400000,\r\n requiredDateEnd: 1586349000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10945,\r\n orderDate: 1583964000000,\r\n orderTotal: 245,\r\n customerCompanyName: 'Morgenstern Gesundkost',\r\n customerContactName: 'Alexander Feuer',\r\n requiredDateStart: 1586435400000,\r\n requiredDateEnd: 1586440800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10966,\r\n orderDate: 1584655200000,\r\n orderTotal: 1098.46,\r\n customerCompanyName: 'Chop-suey Chinese',\r\n customerContactName: 'Yang Wang',\r\n requiredDateStart: 1587115800000,\r\n requiredDateEnd: 1587117600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10972,\r\n orderDate: 1585000800000,\r\n orderTotal: 251.5,\r\n customerCompanyName: `La corne d'abondance`,\r\n customerContactName: 'Daniel Tonini',\r\n requiredDateStart: 1587461400000,\r\n requiredDateEnd: 1587465000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10980,\r\n orderDate: 1585260000000,\r\n orderTotal: 248,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1588930200000,\r\n requiredDateEnd: 1588935600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10996,\r\n orderDate: 1585774800000,\r\n orderTotal: 560,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1588233600000,\r\n requiredDateEnd: 1588237200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11002,\r\n orderDate: 1586120400000,\r\n orderTotal: 1811.1,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1588579200000,\r\n requiredDateEnd: 1588581000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11018,\r\n orderDate: 1586725200000,\r\n orderTotal: 1575,\r\n customerCompanyName: 'Lonesome Pine Restaurant',\r\n customerContactName: 'Fran Wilson',\r\n requiredDateStart: 1589193000000,\r\n requiredDateEnd: 1589194800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11024,\r\n orderDate: 1586898000000,\r\n orderTotal: 1966.81,\r\n customerCompanyName: 'Eastern Connection',\r\n customerContactName: 'Ann Devon',\r\n requiredDateStart: 1589365800000,\r\n requiredDateEnd: 1589371200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11026,\r\n orderDate: 1586898000000,\r\n orderTotal: 1030,\r\n customerCompanyName: 'Franchi S.p.A.',\r\n customerContactName: 'Paolo Accorti',\r\n requiredDateStart: 1589369400000,\r\n requiredDateEnd: 1589371200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11029,\r\n orderDate: 1586984400000,\r\n orderTotal: 1286.8,\r\n customerCompanyName: 'Chop-suey Chinese',\r\n customerContactName: 'Yang Wang',\r\n requiredDateStart: 1589443200000,\r\n requiredDateEnd: 1589445000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11040,\r\n orderDate: 1587502800000,\r\n orderTotal: 200,\r\n customerCompanyName: 'Great Lakes Food Market',\r\n customerContactName: 'Howard Snyder',\r\n requiredDateStart: 1589981400000,\r\n requiredDateEnd: 1589983200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11044,\r\n orderDate: 1587589200000,\r\n orderTotal: 591.6,\r\n customerCompanyName: 'Wolski Zajazd',\r\n customerContactName: 'Zbyszek Piestrzeniewicz',\r\n requiredDateStart: 1590055200000,\r\n requiredDateEnd: 1590058800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11061,\r\n orderDate: 1588194000000,\r\n orderTotal: 510,\r\n customerCompanyName: 'Great Lakes Food Market',\r\n customerContactName: 'Howard Snyder',\r\n requiredDateStart: 1591862400000,\r\n requiredDateEnd: 1591867800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11062,\r\n orderDate: 1588194000000,\r\n orderTotal: 406.4,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1590669000000,\r\n requiredDateEnd: 1590674400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11072,\r\n orderDate: 1588626000000,\r\n orderTotal: 5218,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1591102800000,\r\n requiredDateEnd: 1591104600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11076,\r\n orderDate: 1588712400000,\r\n orderTotal: 792.75,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1591183800000,\r\n requiredDateEnd: 1591185600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10251,\r\n orderDate: 1530997200000,\r\n orderTotal: 654.06,\r\n customerCompanyName: 'Victuailles en stock',\r\n customerContactName: 'Mary Saveley',\r\n requiredDateStart: 1533459600000,\r\n requiredDateEnd: 1533463200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10253,\r\n orderDate: 1531170000000,\r\n orderTotal: 1444.8,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1532433600000,\r\n requiredDateEnd: 1532437200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10256,\r\n orderDate: 1531602000000,\r\n orderTotal: 517.8,\r\n customerCompanyName: 'Wellington Importadora',\r\n customerContactName: 'Paula Parente',\r\n requiredDateStart: 1534075200000,\r\n requiredDateEnd: 1534080600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10266,\r\n orderDate: 1532552400000,\r\n orderTotal: 346.56,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1536222600000,\r\n requiredDateEnd: 1536228000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10273,\r\n orderDate: 1533416400000,\r\n orderTotal: 2037.28,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1535880600000,\r\n requiredDateEnd: 1535884200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10283,\r\n orderDate: 1534366800000,\r\n orderTotal: 1414.8,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1536841800000,\r\n requiredDateEnd: 1536845400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10309,\r\n orderDate: 1537304400000,\r\n orderTotal: 1762,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1539770400000,\r\n requiredDateEnd: 1539775800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10321,\r\n orderDate: 1538514000000,\r\n orderTotal: 144,\r\n customerCompanyName: 'Island Trading',\r\n customerContactName: 'Helen Bennett',\r\n requiredDateStart: 1540987200000,\r\n requiredDateEnd: 1540989000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10330,\r\n orderDate: 1539637200000,\r\n orderTotal: 1649,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1542117600000,\r\n requiredDateEnd: 1542121200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10332,\r\n orderDate: 1539723600000,\r\n orderTotal: 1786.88,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1543395600000,\r\n requiredDateEnd: 1543397400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10346,\r\n orderDate: 1541368800000,\r\n orderTotal: 1618.88,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1545051600000,\r\n requiredDateEnd: 1545055200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10352,\r\n orderDate: 1541973600000,\r\n orderTotal: 136.3,\r\n customerCompanyName: 'Furia Bacalhau e Frutos do Mar',\r\n customerContactName: 'Lino Rodriguez',\r\n requiredDateStart: 1543224600000,\r\n requiredDateEnd: 1543228200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10362,\r\n orderDate: 1543096800000,\r\n orderTotal: 1549.6,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1545570000000,\r\n requiredDateEnd: 1545573600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10365,\r\n orderDate: 1543269600000,\r\n orderTotal: 403.2,\r\n customerCompanyName: 'Antonio Moreno Taquería',\r\n customerContactName: 'Antonio Moreno',\r\n requiredDateStart: 1545739200000,\r\n requiredDateEnd: 1545741000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10375,\r\n orderDate: 1544047200000,\r\n orderTotal: 338,\r\n customerCompanyName: 'Hungry Coyote Import Store',\r\n customerContactName: 'Yoshi Latimer',\r\n requiredDateStart: 1546506000000,\r\n requiredDateEnd: 1546507800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10381,\r\n orderDate: 1544565600000,\r\n orderTotal: 112,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1547035200000,\r\n requiredDateEnd: 1547037000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10384,\r\n orderDate: 1544911200000,\r\n orderTotal: 2222.4,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1547375400000,\r\n requiredDateEnd: 1547380800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10391,\r\n orderDate: 1545516000000,\r\n orderTotal: 86.4,\r\n customerCompanyName: 'Drachenblut Delikatessen',\r\n customerContactName: 'Sven Ottlieb',\r\n requiredDateStart: 1547974800000,\r\n requiredDateEnd: 1547980200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10409,\r\n orderDate: 1546984800000,\r\n orderTotal: 319.2,\r\n customerCompanyName: 'Océano Atlántico Ltda.',\r\n customerContactName: 'Yvonne Moncada',\r\n requiredDateStart: 1549461600000,\r\n requiredDateEnd: 1549465200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10410,\r\n orderDate: 1547071200000,\r\n orderTotal: 802,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1549540800000,\r\n requiredDateEnd: 1549544400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10413,\r\n orderDate: 1547416800000,\r\n orderTotal: 2123.2,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1549890000000,\r\n requiredDateEnd: 1549895400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10415,\r\n orderDate: 1547503200000,\r\n orderTotal: 102.4,\r\n customerCompanyName: 'Hungry Coyote Import Store',\r\n customerContactName: 'Yoshi Latimer',\r\n requiredDateStart: 1549967400000,\r\n requiredDateEnd: 1549969200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10420,\r\n orderDate: 1548021600000,\r\n orderTotal: 1707.84,\r\n customerCompanyName: 'Wellington Importadora',\r\n customerContactName: 'Paula Parente',\r\n requiredDateStart: 1550482200000,\r\n requiredDateEnd: 1550487600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10429,\r\n orderDate: 1548712800000,\r\n orderTotal: 1441.375,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1552383000000,\r\n requiredDateEnd: 1552384800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10432,\r\n orderDate: 1548885600000,\r\n orderTotal: 485,\r\n customerCompanyName: 'Split Rail Beer & Ale',\r\n customerContactName: 'Art Braunschweiger',\r\n requiredDateStart: 1550152800000,\r\n requiredDateEnd: 1550158200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10433,\r\n orderDate: 1549144800000,\r\n orderTotal: 851.2,\r\n customerCompanyName: 'Princesa Isabel Vinhos',\r\n customerContactName: 'Isabel de Castro',\r\n requiredDateStart: 1551618000000,\r\n requiredDateEnd: 1551619800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10434,\r\n orderDate: 1549144800000,\r\n orderTotal: 321.12,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1551609000000,\r\n requiredDateEnd: 1551612600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10436,\r\n orderDate: 1549317600000,\r\n orderTotal: 1994.52,\r\n customerCompanyName: 'Blondesddsl père et fils',\r\n customerContactName: 'Frédérique Citeaux',\r\n requiredDateStart: 1551787200000,\r\n requiredDateEnd: 1551789000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10438,\r\n orderDate: 1549404000000,\r\n orderTotal: 454,\r\n customerCompanyName: 'Toms Spezialitäten',\r\n customerContactName: 'Karin Josephs',\r\n requiredDateStart: 1551868200000,\r\n requiredDateEnd: 1551870000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10441,\r\n orderDate: 1549749600000,\r\n orderTotal: 1755,\r\n customerCompanyName: 'Old World Delicatessen',\r\n customerContactName: 'Rene Phillips',\r\n requiredDateStart: 1553434200000,\r\n requiredDateEnd: 1553437800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10442,\r\n orderDate: 1549836000000,\r\n orderTotal: 1792,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1552302000000,\r\n requiredDateEnd: 1552303800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10444,\r\n orderDate: 1549922400000,\r\n orderTotal: 1031.7,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1552388400000,\r\n requiredDateEnd: 1552390200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10445,\r\n orderDate: 1550008800000,\r\n orderTotal: 174.9,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1552471200000,\r\n requiredDateEnd: 1552476600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10449,\r\n orderDate: 1550440800000,\r\n orderTotal: 1838.2,\r\n customerCompanyName: 'Blondesddsl père et fils',\r\n customerContactName: 'Frédérique Citeaux',\r\n requiredDateStart: 1552917600000,\r\n requiredDateEnd: 1552923000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10468,\r\n orderDate: 1551909600000,\r\n orderTotal: 717.6,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1554364800000,\r\n requiredDateEnd: 1554370200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10479,\r\n orderDate: 1552946400000,\r\n orderTotal: 10495.6,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1555412400000,\r\n requiredDateEnd: 1555414200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10484,\r\n orderDate: 1553378400000,\r\n orderTotal: 386.2,\r\n customerCompanyName: `B's Beverages`,\r\n customerContactName: 'Victoria Ashworth',\r\n requiredDateStart: 1555846200000,\r\n requiredDateEnd: 1555848000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10492,\r\n orderDate: 1554066000000,\r\n orderTotal: 851.2,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1556533800000,\r\n requiredDateEnd: 1556535600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10495,\r\n orderDate: 1554238800000,\r\n orderTotal: 278,\r\n customerCompanyName: 'Laughing Bacchus Wine Cellars',\r\n customerContactName: 'Yoshi Tannamuri',\r\n requiredDateStart: 1556703000000,\r\n requiredDateEnd: 1556708400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10505,\r\n orderDate: 1555189200000,\r\n orderTotal: 147.9,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1557649800000,\r\n requiredDateEnd: 1557655200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10514,\r\n orderDate: 1555880400000,\r\n orderTotal: 8623.45,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1558359000000,\r\n requiredDateEnd: 1558364400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10517,\r\n orderDate: 1556053200000,\r\n orderTotal: 352,\r\n customerCompanyName: 'North/South',\r\n customerContactName: 'Simon Crowther',\r\n requiredDateStart: 1558530000000,\r\n requiredDateEnd: 1558533600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10530,\r\n orderDate: 1557262800000,\r\n orderTotal: 4180,\r\n customerCompanyName: 'Piccolo und mehr',\r\n customerContactName: 'Georg Pipps',\r\n requiredDateStart: 1559730600000,\r\n requiredDateEnd: 1559736000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10536,\r\n orderDate: 1557781200000,\r\n orderTotal: 1645,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1560247200000,\r\n requiredDateEnd: 1560252600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10540,\r\n orderDate: 1558213200000,\r\n orderTotal: 10191.7,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1560684600000,\r\n requiredDateEnd: 1560690000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10547,\r\n orderDate: 1558558800000,\r\n orderTotal: 1792.8,\r\n customerCompanyName: 'Seven Seas Imports',\r\n customerContactName: 'Hari Kumar',\r\n requiredDateStart: 1561017600000,\r\n requiredDateEnd: 1561021200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10548,\r\n orderDate: 1558818000000,\r\n orderTotal: 240.1,\r\n customerCompanyName: 'Toms Spezialitäten',\r\n customerContactName: 'Karin Josephs',\r\n requiredDateStart: 1561285800000,\r\n requiredDateEnd: 1561287600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10568,\r\n orderDate: 1560373200000,\r\n orderTotal: 155,\r\n customerCompanyName: 'Galería del gastrónomo',\r\n customerContactName: 'Eduardo Saavedra',\r\n requiredDateStart: 1562846400000,\r\n requiredDateEnd: 1562848200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10570,\r\n orderDate: 1560718800000,\r\n orderTotal: 2465.25,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1563192000000,\r\n requiredDateEnd: 1563195600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10572,\r\n orderDate: 1560805200000,\r\n orderTotal: 1501.085,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1563280200000,\r\n requiredDateEnd: 1563285600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10576,\r\n orderDate: 1561237200000,\r\n orderTotal: 838.45,\r\n customerCompanyName: 'Tortuga Restaurante',\r\n customerContactName: 'Miguel Angel Paolino',\r\n requiredDateStart: 1562502600000,\r\n requiredDateEnd: 1562504400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10581,\r\n orderDate: 1561496400000,\r\n orderTotal: 310,\r\n customerCompanyName: 'Familia Arquibaldo',\r\n customerContactName: 'Aria Cruz',\r\n requiredDateStart: 1563971400000,\r\n requiredDateEnd: 1563975000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10582,\r\n orderDate: 1561582800000,\r\n orderTotal: 330,\r\n customerCompanyName: 'Blauer See Delikatessen',\r\n customerContactName: 'Hanna Moos',\r\n requiredDateStart: 1564048800000,\r\n requiredDateEnd: 1564054200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10592,\r\n orderDate: 1562533200000,\r\n orderTotal: 516.4675,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1565002800000,\r\n requiredDateEnd: 1565004600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10594,\r\n orderDate: 1562619600000,\r\n orderTotal: 565.5,\r\n customerCompanyName: 'Old World Delicatessen',\r\n customerContactName: 'Rene Phillips',\r\n requiredDateStart: 1565096400000,\r\n requiredDateEnd: 1565100000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10619,\r\n orderDate: 1564866000000,\r\n orderTotal: 1260,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1567341000000,\r\n requiredDateEnd: 1567342800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10625,\r\n orderDate: 1565211600000,\r\n orderTotal: 479.75,\r\n customerCompanyName: 'Ana Trujillo Emparedados y helados',\r\n customerContactName: 'Ana Trujillo',\r\n requiredDateStart: 1567677600000,\r\n requiredDateEnd: 1567679400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10638,\r\n orderDate: 1566248400000,\r\n orderTotal: 2720.05,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1568709000000,\r\n requiredDateEnd: 1568714400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10644,\r\n orderDate: 1566680400000,\r\n orderTotal: 1371.8,\r\n customerCompanyName: 'Wellington Importadora',\r\n customerContactName: 'Paula Parente',\r\n requiredDateStart: 1569146400000,\r\n requiredDateEnd: 1569148200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10662,\r\n orderDate: 1567976400000,\r\n orderTotal: 125,\r\n customerCompanyName: 'Lonesome Pine Restaurant',\r\n customerContactName: 'Fran Wilson',\r\n requiredDateStart: 1570451400000,\r\n requiredDateEnd: 1570456800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10681,\r\n orderDate: 1569358800000,\r\n orderTotal: 1287.4,\r\n customerCompanyName: 'Great Lakes Food Market',\r\n customerContactName: 'Howard Snyder',\r\n requiredDateStart: 1571824800000,\r\n requiredDateEnd: 1571830200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10682,\r\n orderDate: 1569358800000,\r\n orderTotal: 375.5,\r\n customerCompanyName: 'Antonio Moreno Taquería',\r\n customerContactName: 'Antonio Moreno',\r\n requiredDateStart: 1571830200000,\r\n requiredDateEnd: 1571833800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10684,\r\n orderDate: 1569445200000,\r\n orderTotal: 1768,\r\n customerCompanyName: 'Ottilies Käseladen',\r\n customerContactName: 'Henriette Pfalzheim',\r\n requiredDateStart: 1571909400000,\r\n requiredDateEnd: 1571914800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10693,\r\n orderDate: 1570309200000,\r\n orderTotal: 2071.2,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1571567400000,\r\n requiredDateEnd: 1571572800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10697,\r\n orderDate: 1570482000000,\r\n orderTotal: 805.425,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1572944400000,\r\n requiredDateEnd: 1572948000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10699,\r\n orderDate: 1570568400000,\r\n orderTotal: 114,\r\n customerCompanyName: 'Morgenstern Gesundkost',\r\n customerContactName: 'Alexander Feuer',\r\n requiredDateStart: 1573036200000,\r\n requiredDateEnd: 1573039800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10700,\r\n orderDate: 1570654800000,\r\n orderTotal: 1638.4,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1573128000000,\r\n requiredDateEnd: 1573131600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10712,\r\n orderDate: 1571605200000,\r\n orderTotal: 1233.48,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1574067600000,\r\n requiredDateEnd: 1574073000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10715,\r\n orderDate: 1571778000000,\r\n orderTotal: 1296,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1573030800000,\r\n requiredDateEnd: 1573032600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10723,\r\n orderDate: 1572386400000,\r\n orderTotal: 468.45,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1574856000000,\r\n requiredDateEnd: 1574859600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10732,\r\n orderDate: 1572991200000,\r\n orderTotal: 360,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1575469800000,\r\n requiredDateEnd: 1575471600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10739,\r\n orderDate: 1573509600000,\r\n orderTotal: 240,\r\n customerCompanyName: 'Vins et alcools Chevalier',\r\n customerContactName: 'Paul Henriot',\r\n requiredDateStart: 1575973800000,\r\n requiredDateEnd: 1575979200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10742,\r\n orderDate: 1573682400000,\r\n orderTotal: 3118,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1576150200000,\r\n requiredDateEnd: 1576153800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10748,\r\n orderDate: 1574200800000,\r\n orderTotal: 2196,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1576670400000,\r\n requiredDateEnd: 1576675800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10751,\r\n orderDate: 1574546400000,\r\n orderTotal: 1631.484,\r\n customerCompanyName: 'Richter Supermarkt',\r\n customerContactName: 'Michael Holz',\r\n requiredDateStart: 1577007000000,\r\n requiredDateEnd: 1577010600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10753,\r\n orderDate: 1574632800000,\r\n orderTotal: 88,\r\n customerCompanyName: 'Franchi S.p.A.',\r\n customerContactName: 'Paolo Accorti',\r\n requiredDateStart: 1577093400000,\r\n requiredDateEnd: 1577095200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10758,\r\n orderDate: 1574892000000,\r\n orderTotal: 1644.6,\r\n customerCompanyName: 'Richter Supermarkt',\r\n customerContactName: 'Michael Holz',\r\n requiredDateStart: 1577352600000,\r\n requiredDateEnd: 1577354400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10759,\r\n orderDate: 1574892000000,\r\n orderTotal: 320,\r\n customerCompanyName: 'Ana Trujillo Emparedados y helados',\r\n customerContactName: 'Ana Trujillo',\r\n requiredDateStart: 1577368800000,\r\n requiredDateEnd: 1577374200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10762,\r\n orderDate: 1575237600000,\r\n orderTotal: 4337,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1577710800000,\r\n requiredDateEnd: 1577712600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10763,\r\n orderDate: 1575324000000,\r\n orderTotal: 616,\r\n customerCompanyName: 'Folies gourmandes',\r\n customerContactName: 'Martine Rancé',\r\n requiredDateStart: 1577799000000,\r\n requiredDateEnd: 1577800800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10765,\r\n orderDate: 1575410400000,\r\n orderTotal: 1515.6,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1577869200000,\r\n requiredDateEnd: 1577872800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10768,\r\n orderDate: 1575756000000,\r\n orderTotal: 1477,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1578231000000,\r\n requiredDateEnd: 1578232800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10769,\r\n orderDate: 1575756000000,\r\n orderTotal: 1684.275,\r\n customerCompanyName: 'Vaffeljernet',\r\n customerContactName: 'Palle Ibsen',\r\n requiredDateStart: 1578223800000,\r\n requiredDateEnd: 1578225600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10772,\r\n orderDate: 1575928800000,\r\n orderTotal: 3603.22,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1578387600000,\r\n requiredDateEnd: 1578393000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10778,\r\n orderDate: 1576447200000,\r\n orderTotal: 96.5,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1578913200000,\r\n requiredDateEnd: 1578915000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10779,\r\n orderDate: 1576447200000,\r\n orderTotal: 1335,\r\n customerCompanyName: 'Morgenstern Gesundkost',\r\n customerContactName: 'Alexander Feuer',\r\n requiredDateStart: 1578913200000,\r\n requiredDateEnd: 1578918600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10793,\r\n orderDate: 1577138400000,\r\n orderTotal: 191.1,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1579613400000,\r\n requiredDateEnd: 1579617000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10796,\r\n orderDate: 1577224800000,\r\n orderTotal: 2341.364,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1579689000000,\r\n requiredDateEnd: 1579692600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10806,\r\n orderDate: 1577743200000,\r\n orderTotal: 439.6,\r\n customerCompanyName: 'Victuailles en stock',\r\n customerContactName: 'Mary Saveley',\r\n requiredDateStart: 1580209200000,\r\n requiredDateEnd: 1580212800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10814,\r\n orderDate: 1578175200000,\r\n orderTotal: 1788.45,\r\n customerCompanyName: 'Victuailles en stock',\r\n customerContactName: 'Mary Saveley',\r\n requiredDateStart: 1580639400000,\r\n requiredDateEnd: 1580644800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10817,\r\n orderDate: 1578261600000,\r\n orderTotal: 10952.845,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1579516200000,\r\n requiredDateEnd: 1579521600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10820,\r\n orderDate: 1578348000000,\r\n orderTotal: 1140,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1580810400000,\r\n requiredDateEnd: 1580812200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10831,\r\n orderDate: 1578952800000,\r\n orderTotal: 2684.4,\r\n customerCompanyName: 'Santé Gourmet',\r\n customerContactName: 'Jonas Bergulfsen',\r\n requiredDateStart: 1581426000000,\r\n requiredDateEnd: 1581427800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10838,\r\n orderDate: 1579384800000,\r\n orderTotal: 1938.375,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1581852600000,\r\n requiredDateEnd: 1581854400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10839,\r\n orderDate: 1579384800000,\r\n orderTotal: 827.55,\r\n customerCompanyName: 'Tradição Hipermercados',\r\n customerContactName: 'Anabela Domingues',\r\n requiredDateStart: 1581861600000,\r\n requiredDateEnd: 1581865200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10854,\r\n orderDate: 1580076000000,\r\n orderTotal: 2966.5,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1582536600000,\r\n requiredDateEnd: 1582542000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10855,\r\n orderDate: 1580076000000,\r\n orderTotal: 2227.8875,\r\n customerCompanyName: 'Old World Delicatessen',\r\n customerContactName: 'Rene Phillips',\r\n requiredDateStart: 1582551000000,\r\n requiredDateEnd: 1582556400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10856,\r\n orderDate: 1580162400000,\r\n orderTotal: 660,\r\n customerCompanyName: 'Antonio Moreno Taquería',\r\n customerContactName: 'Antonio Moreno',\r\n requiredDateStart: 1582626600000,\r\n requiredDateEnd: 1582628400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10860,\r\n orderDate: 1580248800000,\r\n orderTotal: 519,\r\n customerCompanyName: 'France restauration',\r\n customerContactName: 'Carine Schmitt',\r\n requiredDateStart: 1582727400000,\r\n requiredDateEnd: 1582731000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10879,\r\n orderDate: 1581285600000,\r\n orderTotal: 611.3,\r\n customerCompanyName: 'Wilman Kala',\r\n customerContactName: 'Matti Karttunen',\r\n requiredDateStart: 1583838000000,\r\n requiredDateEnd: 1583839800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10895,\r\n orderDate: 1581976800000,\r\n orderTotal: 6379.4,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1584540000000,\r\n requiredDateEnd: 1584543600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10897,\r\n orderDate: 1582063200000,\r\n orderTotal: 10835.24,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1584628200000,\r\n requiredDateEnd: 1584631800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10903,\r\n orderDate: 1582495200000,\r\n orderTotal: 932.05,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1585047600000,\r\n requiredDateEnd: 1585049400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10904,\r\n orderDate: 1582495200000,\r\n orderTotal: 1924.25,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1585056600000,\r\n requiredDateEnd: 1585060200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10911,\r\n orderDate: 1582668000000,\r\n orderTotal: 858,\r\n customerCompanyName: 'Godos Cocina Típica',\r\n customerContactName: 'José Pedro Freyre',\r\n requiredDateStart: 1585218600000,\r\n requiredDateEnd: 1585222200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10918,\r\n orderDate: 1583100000000,\r\n orderTotal: 1447.5,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1585555200000,\r\n requiredDateEnd: 1585560600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10924,\r\n orderDate: 1583272800000,\r\n orderTotal: 1835.7,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1585738800000,\r\n requiredDateEnd: 1585744200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10925,\r\n orderDate: 1583272800000,\r\n orderTotal: 475.15,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1585735200000,\r\n requiredDateEnd: 1585740600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10934,\r\n orderDate: 1583704800000,\r\n orderTotal: 500,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1586161800000,\r\n requiredDateEnd: 1586163600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10936,\r\n orderDate: 1583704800000,\r\n orderTotal: 456,\r\n customerCompanyName: 'Great Lakes Food Market',\r\n customerContactName: 'Howard Snyder',\r\n requiredDateStart: 1586176200000,\r\n requiredDateEnd: 1586181600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10938,\r\n orderDate: 1583791200000,\r\n orderTotal: 2731.875,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1586253600000,\r\n requiredDateEnd: 1586259000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10947,\r\n orderDate: 1584050400000,\r\n orderTotal: 220,\r\n customerCompanyName: `B's Beverages`,\r\n customerContactName: 'Victoria Ashworth',\r\n requiredDateStart: 1586525400000,\r\n requiredDateEnd: 1586527200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10948,\r\n orderDate: 1584050400000,\r\n orderTotal: 2362.25,\r\n customerCompanyName: 'Godos Cocina Típica',\r\n customerContactName: 'José Pedro Freyre',\r\n requiredDateStart: 1586505600000,\r\n requiredDateEnd: 1586509200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10960,\r\n orderDate: 1584568800000,\r\n orderTotal: 265.35,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1585830600000,\r\n requiredDateEnd: 1585834200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10964,\r\n orderDate: 1584655200000,\r\n orderTotal: 2052.5,\r\n customerCompanyName: 'Spécialités du monde',\r\n customerContactName: 'Dominique Perrier',\r\n requiredDateStart: 1587114000000,\r\n requiredDateEnd: 1587117600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10974,\r\n orderDate: 1585087200000,\r\n orderTotal: 439,\r\n customerCompanyName: 'Split Rail Beer & Ale',\r\n customerContactName: 'Art Braunschweiger',\r\n requiredDateStart: 1586349000000,\r\n requiredDateEnd: 1586354400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10988,\r\n orderDate: 1585602000000,\r\n orderTotal: 3574.8,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1588075200000,\r\n requiredDateEnd: 1588080600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11003,\r\n orderDate: 1586120400000,\r\n orderTotal: 326,\r\n customerCompanyName: 'The Cracker Box',\r\n customerContactName: 'Liu Wong',\r\n requiredDateStart: 1588591800000,\r\n requiredDateEnd: 1588593600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11004,\r\n orderDate: 1586206800000,\r\n orderTotal: 295.38,\r\n customerCompanyName: 'Maison Dewey',\r\n customerContactName: 'Catherine Dewey',\r\n requiredDateStart: 1588671000000,\r\n requiredDateEnd: 1588674600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11006,\r\n orderDate: 1586206800000,\r\n orderTotal: 329.685,\r\n customerCompanyName: 'Great Lakes Food Market',\r\n customerContactName: 'Howard Snyder',\r\n requiredDateStart: 1588680000000,\r\n requiredDateEnd: 1588681800000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11011,\r\n orderDate: 1586379600000,\r\n orderTotal: 933.5,\r\n customerCompanyName: 'Alfreds Futterkiste',\r\n customerContactName: 'Maria Anders',\r\n requiredDateStart: 1588847400000,\r\n requiredDateEnd: 1588849200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11021,\r\n orderDate: 1586811600000,\r\n orderTotal: 6306.24,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1589284800000,\r\n requiredDateEnd: 1589288400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11041,\r\n orderDate: 1587502800000,\r\n orderTotal: 1773,\r\n customerCompanyName: 'Chop-suey Chinese',\r\n customerContactName: 'Yang Wang',\r\n requiredDateStart: 1589968800000,\r\n requiredDateEnd: 1589970600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11049,\r\n orderDate: 1587675600000,\r\n orderTotal: 273.6,\r\n customerCompanyName: 'Gourmet Lanchonetes',\r\n customerContactName: 'André Fonseca',\r\n requiredDateStart: 1590141600000,\r\n requiredDateEnd: 1590145200000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11052,\r\n orderDate: 1587934800000,\r\n orderTotal: 1332,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1590395400000,\r\n requiredDateEnd: 1590399000000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11057,\r\n orderDate: 1588107600000,\r\n orderTotal: 45,\r\n customerCompanyName: 'North/South',\r\n customerContactName: 'Simon Crowther',\r\n requiredDateStart: 1590577200000,\r\n requiredDateEnd: 1590582600000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 11063,\r\n orderDate: 1588194000000,\r\n orderTotal: 1342.95,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1590654600000,\r\n requiredDateEnd: 1590656400000,\r\n teamID: 2\r\n },\r\n {\r\n orderID: 10265,\r\n orderDate: 1532466000000,\r\n orderTotal: 1176,\r\n customerCompanyName: 'Blondesddsl père et fils',\r\n customerContactName: 'Frédérique Citeaux',\r\n requiredDateStart: 1534933800000,\r\n requiredDateEnd: 1534937400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10277,\r\n orderDate: 1533762000000,\r\n orderTotal: 1200.8,\r\n customerCompanyName: 'Morgenstern Gesundkost',\r\n customerContactName: 'Alexander Feuer',\r\n requiredDateStart: 1536231600000,\r\n requiredDateEnd: 1536233400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10280,\r\n orderDate: 1534194000000,\r\n orderTotal: 613.2,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1536652800000,\r\n requiredDateEnd: 1536656400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10295,\r\n orderDate: 1535835600000,\r\n orderTotal: 121.6,\r\n customerCompanyName: 'Vins et alcools Chevalier',\r\n customerContactName: 'Paul Henriot',\r\n requiredDateStart: 1538296200000,\r\n requiredDateEnd: 1538299800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10300,\r\n orderDate: 1536440400000,\r\n orderTotal: 608,\r\n customerCompanyName: 'Magazzini Alimentari Riuniti',\r\n customerContactName: 'Giovanni Rovelli',\r\n requiredDateStart: 1538908200000,\r\n requiredDateEnd: 1538913600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10307,\r\n orderDate: 1537131600000,\r\n orderTotal: 424,\r\n customerCompanyName: 'Lonesome Pine Restaurant',\r\n customerContactName: 'Fran Wilson',\r\n requiredDateStart: 1539604800000,\r\n requiredDateEnd: 1539606600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10312,\r\n orderDate: 1537650000000,\r\n orderTotal: 1614.8,\r\n customerCompanyName: 'Die Wandernde Kuh',\r\n customerContactName: 'Rita Müller',\r\n requiredDateStart: 1540116000000,\r\n requiredDateEnd: 1540119600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10313,\r\n orderDate: 1537736400000,\r\n orderTotal: 182.4,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1540195200000,\r\n requiredDateEnd: 1540200600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10327,\r\n orderDate: 1539205200000,\r\n orderTotal: 1810,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1541673000000,\r\n requiredDateEnd: 1541674800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10339,\r\n orderDate: 1540674000000,\r\n orderTotal: 3354,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1543140000000,\r\n requiredDateEnd: 1543141800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10345,\r\n orderDate: 1541282400000,\r\n orderTotal: 2924.8,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1543761000000,\r\n requiredDateEnd: 1543766400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10368,\r\n orderDate: 1543442400000,\r\n orderTotal: 1689.78,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1545906600000,\r\n requiredDateEnd: 1545912000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10379,\r\n orderDate: 1544479200000,\r\n orderTotal: 863.28,\r\n customerCompanyName: 'Que Delícia',\r\n customerContactName: 'Bernardo Batista',\r\n requiredDateStart: 1546956000000,\r\n requiredDateEnd: 1546961400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10388,\r\n orderDate: 1545170400000,\r\n orderTotal: 1228.8,\r\n customerCompanyName: 'Seven Seas Imports',\r\n customerContactName: 'Hari Kumar',\r\n requiredDateStart: 1547641800000,\r\n requiredDateEnd: 1547647200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10392,\r\n orderDate: 1545602400000,\r\n orderTotal: 1440,\r\n customerCompanyName: 'Piccolo und mehr',\r\n customerContactName: 'Georg Pipps',\r\n requiredDateStart: 1548063000000,\r\n requiredDateEnd: 1548066600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10398,\r\n orderDate: 1546120800000,\r\n orderTotal: 2505.6,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1548579600000,\r\n requiredDateEnd: 1548585000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10404,\r\n orderDate: 1546466400000,\r\n orderTotal: 1591.25,\r\n customerCompanyName: 'Magazzini Alimentari Riuniti',\r\n customerContactName: 'Giovanni Rovelli',\r\n requiredDateStart: 1548928800000,\r\n requiredDateEnd: 1548932400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10407,\r\n orderDate: 1546812000000,\r\n orderTotal: 1194,\r\n customerCompanyName: 'Ottilies Käseladen',\r\n customerContactName: 'Henriette Pfalzheim',\r\n requiredDateStart: 1549285200000,\r\n requiredDateEnd: 1549288800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10414,\r\n orderDate: 1547416800000,\r\n orderTotal: 224.83,\r\n customerCompanyName: 'Familia Arquibaldo',\r\n customerContactName: 'Aria Cruz',\r\n requiredDateStart: 1549879200000,\r\n requiredDateEnd: 1549881000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10422,\r\n orderDate: 1548108000000,\r\n orderTotal: 49.8,\r\n customerCompanyName: 'Franchi S.p.A.',\r\n customerContactName: 'Paolo Accorti',\r\n requiredDateStart: 1550583000000,\r\n requiredDateEnd: 1550586600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10457,\r\n orderDate: 1551045600000,\r\n orderTotal: 1584,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1553513400000,\r\n requiredDateEnd: 1553517000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10462,\r\n orderDate: 1551564000000,\r\n orderTotal: 156,\r\n customerCompanyName: 'Consolidated Holdings',\r\n customerContactName: 'Elizabeth Brown',\r\n requiredDateStart: 1554042600000,\r\n requiredDateEnd: 1554046200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10471,\r\n orderDate: 1552255200000,\r\n orderTotal: 1328,\r\n customerCompanyName: `B's Beverages`,\r\n customerContactName: 'Victoria Ashworth',\r\n requiredDateStart: 1554715800000,\r\n requiredDateEnd: 1554721200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10478,\r\n orderDate: 1552860000000,\r\n orderTotal: 471.2,\r\n customerCompanyName: 'Victuailles en stock',\r\n customerContactName: 'Mary Saveley',\r\n requiredDateStart: 1554116400000,\r\n requiredDateEnd: 1554120000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10487,\r\n orderDate: 1553551200000,\r\n orderTotal: 889.7,\r\n customerCompanyName: 'Queen Cozinha',\r\n customerContactName: 'Lúcia Carvalho',\r\n requiredDateStart: 1556006400000,\r\n requiredDateEnd: 1556010000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10502,\r\n orderDate: 1554843600000,\r\n orderTotal: 816.3,\r\n customerCompanyName: 'Pericles Comidas clásicas',\r\n customerContactName: 'Guillermo Fernández',\r\n requiredDateStart: 1557313200000,\r\n requiredDateEnd: 1557315000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10515,\r\n orderDate: 1555966800000,\r\n orderTotal: 9921.3,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1557217800000,\r\n requiredDateEnd: 1557221400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10516,\r\n orderDate: 1556053200000,\r\n orderTotal: 2381.05,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1558513800000,\r\n requiredDateEnd: 1558519200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10541,\r\n orderDate: 1558213200000,\r\n orderTotal: 1946.52,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1560684600000,\r\n requiredDateEnd: 1560688200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10552,\r\n orderDate: 1559077200000,\r\n orderTotal: 880.5,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1561543200000,\r\n requiredDateEnd: 1561548600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10553,\r\n orderDate: 1559163600000,\r\n orderTotal: 1546.3,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1561627800000,\r\n requiredDateEnd: 1561629600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10556,\r\n orderDate: 1559509200000,\r\n orderTotal: 835.2,\r\n customerCompanyName: 'Simons bistro',\r\n customerContactName: 'Jytte Petersen',\r\n requiredDateStart: 1563177600000,\r\n requiredDateEnd: 1563181200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10561,\r\n orderDate: 1559768400000,\r\n orderTotal: 2844.5,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1562230800000,\r\n requiredDateEnd: 1562232600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10563,\r\n orderDate: 1560114000000,\r\n orderTotal: 965,\r\n customerCompanyName: 'Ricardo Adocicados',\r\n customerContactName: 'Janete Limeira',\r\n requiredDateStart: 1563789600000,\r\n requiredDateEnd: 1563791400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10583,\r\n orderDate: 1561842000000,\r\n orderTotal: 2237.5,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1564315200000,\r\n requiredDateEnd: 1564317000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10588,\r\n orderDate: 1562101200000,\r\n orderTotal: 3120,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1564578000000,\r\n requiredDateEnd: 1564583400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10595,\r\n orderDate: 1562706000000,\r\n orderTotal: 4725,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1565181000000,\r\n requiredDateEnd: 1565182800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10615,\r\n orderDate: 1564434000000,\r\n orderTotal: 120,\r\n customerCompanyName: 'Wilman Kala',\r\n customerContactName: 'Matti Karttunen',\r\n requiredDateStart: 1566900000000,\r\n requiredDateEnd: 1566901800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10620,\r\n orderDate: 1564952400000,\r\n orderTotal: 57.5,\r\n customerCompanyName: 'Laughing Bacchus Wine Cellars',\r\n customerContactName: 'Yoshi Tannamuri',\r\n requiredDateStart: 1567422000000,\r\n requiredDateEnd: 1567423800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10657,\r\n orderDate: 1567544400000,\r\n orderTotal: 4371.6,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1570012200000,\r\n requiredDateEnd: 1570015800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10663,\r\n orderDate: 1568062800000,\r\n orderTotal: 1930.4,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1569328200000,\r\n requiredDateEnd: 1569333600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10669,\r\n orderDate: 1568494800000,\r\n orderTotal: 570,\r\n customerCompanyName: 'Simons bistro',\r\n customerContactName: 'Jytte Petersen',\r\n requiredDateStart: 1570966200000,\r\n requiredDateEnd: 1570968000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10673,\r\n orderDate: 1568754000000,\r\n orderTotal: 412.35,\r\n customerCompanyName: 'Wilman Kala',\r\n customerContactName: 'Matti Karttunen',\r\n requiredDateStart: 1571230800000,\r\n requiredDateEnd: 1571234400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10676,\r\n orderDate: 1569099600000,\r\n orderTotal: 534.85,\r\n customerCompanyName: 'Tortuga Restaurante',\r\n customerContactName: 'Miguel Angel Paolino',\r\n requiredDateStart: 1571569200000,\r\n requiredDateEnd: 1571574600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10683,\r\n orderDate: 1569445200000,\r\n orderTotal: 63,\r\n customerCompanyName: 'Du monde entier',\r\n customerContactName: 'Janine Labrune',\r\n requiredDateStart: 1571907600000,\r\n requiredDateEnd: 1571909400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10686,\r\n orderDate: 1569790800000,\r\n orderTotal: 1404.45,\r\n customerCompanyName: 'Piccolo und mehr',\r\n customerContactName: 'Georg Pipps',\r\n requiredDateStart: 1572255000000,\r\n requiredDateEnd: 1572256800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10691,\r\n orderDate: 1570050000000,\r\n orderTotal: 10164.8,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1573729200000,\r\n requiredDateEnd: 1573731000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10727,\r\n orderDate: 1572732000000,\r\n orderTotal: 1624.5,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1575207000000,\r\n requiredDateEnd: 1575212400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10734,\r\n orderDate: 1573077600000,\r\n orderTotal: 1498.35,\r\n customerCompanyName: 'Gourmet Lanchonetes',\r\n customerContactName: 'André Fonseca',\r\n requiredDateStart: 1575552600000,\r\n requiredDateEnd: 1575556200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10737,\r\n orderDate: 1573423200000,\r\n orderTotal: 139.8,\r\n customerCompanyName: 'Vins et alcools Chevalier',\r\n customerContactName: 'Paul Henriot',\r\n requiredDateStart: 1575901800000,\r\n requiredDateEnd: 1575905400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10738,\r\n orderDate: 1573509600000,\r\n orderTotal: 52.35,\r\n customerCompanyName: 'Spécialités du monde',\r\n customerContactName: 'Dominique Perrier',\r\n requiredDateStart: 1575972000000,\r\n requiredDateEnd: 1575977400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10752,\r\n orderDate: 1574546400000,\r\n orderTotal: 252,\r\n customerCompanyName: 'North/South',\r\n customerContactName: 'Simon Crowther',\r\n requiredDateStart: 1577019600000,\r\n requiredDateEnd: 1577023200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10780,\r\n orderDate: 1576447200000,\r\n orderTotal: 720,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1577696400000,\r\n requiredDateEnd: 1577700000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10781,\r\n orderDate: 1576533600000,\r\n orderTotal: 975.88,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1579006800000,\r\n requiredDateEnd: 1579008600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10787,\r\n orderDate: 1576706400000,\r\n orderTotal: 2622.76,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1577962800000,\r\n requiredDateEnd: 1577968200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10798,\r\n orderDate: 1577311200000,\r\n orderTotal: 446.6,\r\n customerCompanyName: 'Island Trading',\r\n customerContactName: 'Helen Bennett',\r\n requiredDateStart: 1579782600000,\r\n requiredDateEnd: 1579786200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10805,\r\n orderDate: 1577656800000,\r\n orderTotal: 2775,\r\n customerCompanyName: 'The Big Cheese',\r\n customerContactName: 'Liz Nixon',\r\n requiredDateStart: 1580124600000,\r\n requiredDateEnd: 1580128200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10808,\r\n orderDate: 1577829600000,\r\n orderTotal: 1411,\r\n customerCompanyName: 'Old World Delicatessen',\r\n customerContactName: 'Rene Phillips',\r\n requiredDateStart: 1580290200000,\r\n requiredDateEnd: 1580295600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10810,\r\n orderDate: 1577829600000,\r\n orderTotal: 187,\r\n customerCompanyName: 'Laughing Bacchus Wine Cellars',\r\n customerContactName: 'Yoshi Tannamuri',\r\n requiredDateStart: 1580306400000,\r\n requiredDateEnd: 1580308200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10815,\r\n orderDate: 1578175200000,\r\n orderTotal: 40,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1580646600000,\r\n requiredDateEnd: 1580652000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10819,\r\n orderDate: 1578348000000,\r\n orderTotal: 477,\r\n customerCompanyName: 'Cactus Comidas para llevar',\r\n customerContactName: 'Patricio Simpson',\r\n requiredDateStart: 1580817600000,\r\n requiredDateEnd: 1580819400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10832,\r\n orderDate: 1578952800000,\r\n orderTotal: 475.11,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1581413400000,\r\n requiredDateEnd: 1581415200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10846,\r\n orderDate: 1579644000000,\r\n orderTotal: 1112,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1583411400000,\r\n requiredDateEnd: 1583415000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10858,\r\n orderDate: 1580248800000,\r\n orderTotal: 649,\r\n customerCompanyName: `La corne d'abondance`,\r\n customerContactName: 'Daniel Tonini',\r\n requiredDateStart: 1582718400000,\r\n requiredDateEnd: 1582722000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10865,\r\n orderDate: 1580594400000,\r\n orderTotal: 16387.5,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1581847200000,\r\n requiredDateEnd: 1581850800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10912,\r\n orderDate: 1582668000000,\r\n orderTotal: 6200.55,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1585220400000,\r\n requiredDateEnd: 1585222200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10915,\r\n orderDate: 1582754400000,\r\n orderTotal: 539.5,\r\n customerCompanyName: 'Tortuga Restaurante',\r\n customerContactName: 'Miguel Angel Paolino',\r\n requiredDateStart: 1585317600000,\r\n requiredDateEnd: 1585321200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10919,\r\n orderDate: 1583100000000,\r\n orderTotal: 1122.8,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1585575000000,\r\n requiredDateEnd: 1585580400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10939,\r\n orderDate: 1583791200000,\r\n orderTotal: 637.5,\r\n customerCompanyName: 'Magazzini Alimentari Riuniti',\r\n customerContactName: 'Giovanni Rovelli',\r\n requiredDateStart: 1586255400000,\r\n requiredDateEnd: 1586259000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10949,\r\n orderDate: 1584050400000,\r\n orderTotal: 4422,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1586514600000,\r\n requiredDateEnd: 1586516400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10967,\r\n orderDate: 1584914400000,\r\n orderTotal: 910.4,\r\n customerCompanyName: 'Toms Spezialitäten',\r\n customerContactName: 'Karin Josephs',\r\n requiredDateStart: 1587373200000,\r\n requiredDateEnd: 1587376800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10971,\r\n orderDate: 1585000800000,\r\n orderTotal: 1733.06,\r\n customerCompanyName: 'France restauration',\r\n customerContactName: 'Carine Schmitt',\r\n requiredDateStart: 1587466800000,\r\n requiredDateEnd: 1587470400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10982,\r\n orderDate: 1585260000000,\r\n orderTotal: 1014,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1587717000000,\r\n requiredDateEnd: 1587720600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10983,\r\n orderDate: 1585260000000,\r\n orderTotal: 720.9,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1587727800000,\r\n requiredDateEnd: 1587729600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10985,\r\n orderDate: 1585515600000,\r\n orderTotal: 2023.38,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1587978000000,\r\n requiredDateEnd: 1587983400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10989,\r\n orderDate: 1585602000000,\r\n orderTotal: 1353.6,\r\n customerCompanyName: 'Que Delícia',\r\n customerContactName: 'Bernardo Batista',\r\n requiredDateStart: 1588062600000,\r\n requiredDateEnd: 1588068000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10990,\r\n orderDate: 1585688400000,\r\n orderTotal: 4288.85,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1589362200000,\r\n requiredDateEnd: 1589364000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10994,\r\n orderDate: 1585774800000,\r\n orderTotal: 940.5,\r\n customerCompanyName: 'Vaffeljernet',\r\n customerContactName: 'Palle Ibsen',\r\n requiredDateStart: 1587040200000,\r\n requiredDateEnd: 1587042000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11000,\r\n orderDate: 1586120400000,\r\n orderTotal: 903.75,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1588581000000,\r\n requiredDateEnd: 1588586400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11001,\r\n orderDate: 1586120400000,\r\n orderTotal: 2769,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1588597200000,\r\n requiredDateEnd: 1588599000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11005,\r\n orderDate: 1586206800000,\r\n orderTotal: 586,\r\n customerCompanyName: 'Wilman Kala',\r\n customerContactName: 'Matti Karttunen',\r\n requiredDateStart: 1588671000000,\r\n requiredDateEnd: 1588672800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11009,\r\n orderDate: 1586293200000,\r\n orderTotal: 616.5,\r\n customerCompanyName: 'Godos Cocina Típica',\r\n customerContactName: 'José Pedro Freyre',\r\n requiredDateStart: 1588753800000,\r\n requiredDateEnd: 1588755600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11010,\r\n orderDate: 1586379600000,\r\n orderTotal: 645,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1588851000000,\r\n requiredDateEnd: 1588852800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11013,\r\n orderDate: 1586379600000,\r\n orderTotal: 361,\r\n customerCompanyName: 'Romero y tomillo',\r\n customerContactName: 'Alejandra Camino',\r\n requiredDateStart: 1588849200000,\r\n requiredDateEnd: 1588851000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11014,\r\n orderDate: 1586466000000,\r\n orderTotal: 243.18,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1588932000000,\r\n requiredDateEnd: 1588935600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11015,\r\n orderDate: 1586466000000,\r\n orderTotal: 622.35,\r\n customerCompanyName: 'Santé Gourmet',\r\n customerContactName: 'Jonas Bergulfsen',\r\n requiredDateStart: 1587731400000,\r\n requiredDateEnd: 1587736800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11020,\r\n orderDate: 1586811600000,\r\n orderTotal: 632.4,\r\n customerCompanyName: 'Ottilies Käseladen',\r\n customerContactName: 'Henriette Pfalzheim',\r\n requiredDateStart: 1589281200000,\r\n requiredDateEnd: 1589284800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11028,\r\n orderDate: 1586984400000,\r\n orderTotal: 2160,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1589445000000,\r\n requiredDateEnd: 1589448600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11032,\r\n orderDate: 1587070800000,\r\n orderTotal: 8902.5,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1589549400000,\r\n requiredDateEnd: 1589553000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11035,\r\n orderDate: 1587330000000,\r\n orderTotal: 1754.5,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1589801400000,\r\n requiredDateEnd: 1589803200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11042,\r\n orderDate: 1587502800000,\r\n orderTotal: 405.75,\r\n customerCompanyName: 'Comércio Mineiro',\r\n customerContactName: 'Pedro Afonso',\r\n requiredDateStart: 1588770000000,\r\n requiredDateEnd: 1588771800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11053,\r\n orderDate: 1587934800000,\r\n orderTotal: 3055,\r\n customerCompanyName: 'Piccolo und mehr',\r\n customerContactName: 'Georg Pipps',\r\n requiredDateStart: 1590395400000,\r\n requiredDateEnd: 1590399000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11059,\r\n orderDate: 1588107600000,\r\n orderTotal: 1838,\r\n customerCompanyName: 'Ricardo Adocicados',\r\n customerContactName: 'Janete Limeira',\r\n requiredDateStart: 1591795800000,\r\n requiredDateEnd: 1591799400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11060,\r\n orderDate: 1588194000000,\r\n orderTotal: 266,\r\n customerCompanyName: 'Franchi S.p.A.',\r\n customerContactName: 'Paolo Accorti',\r\n requiredDateStart: 1590654600000,\r\n requiredDateEnd: 1590656400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11070,\r\n orderDate: 1588626000000,\r\n orderTotal: 1629.975,\r\n customerCompanyName: 'Lehmanns Marktstand',\r\n customerContactName: 'Renate Messner',\r\n requiredDateStart: 1591095600000,\r\n requiredDateEnd: 1591099200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11073,\r\n orderDate: 1588626000000,\r\n orderTotal: 300,\r\n customerCompanyName: 'Pericles Comidas clásicas',\r\n customerContactName: 'Guillermo Fernández',\r\n requiredDateStart: 1591104600000,\r\n requiredDateEnd: 1591110000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10258,\r\n orderDate: 1531774800000,\r\n orderTotal: 1614.88,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1534246200000,\r\n requiredDateEnd: 1534248000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10270,\r\n orderDate: 1533070800000,\r\n orderTotal: 1376,\r\n customerCompanyName: 'Wartian Herkku',\r\n customerContactName: 'Pirkko Koskitalo',\r\n requiredDateStart: 1535533200000,\r\n requiredDateEnd: 1535538600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10275,\r\n orderDate: 1533589200000,\r\n orderTotal: 291.84,\r\n customerCompanyName: 'Magazzini Alimentari Riuniti',\r\n customerContactName: 'Giovanni Rovelli',\r\n requiredDateStart: 1536058800000,\r\n requiredDateEnd: 1536062400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10285,\r\n orderDate: 1534712400000,\r\n orderTotal: 1743.36,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1537187400000,\r\n requiredDateEnd: 1537192800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10292,\r\n orderDate: 1535403600000,\r\n orderTotal: 1296,\r\n customerCompanyName: 'Tradição Hipermercados',\r\n customerContactName: 'Anabela Domingues',\r\n requiredDateStart: 1537878600000,\r\n requiredDateEnd: 1537884000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10293,\r\n orderDate: 1535490000000,\r\n orderTotal: 848.7,\r\n customerCompanyName: 'Tortuga Restaurante',\r\n customerContactName: 'Miguel Angel Paolino',\r\n requiredDateStart: 1537961400000,\r\n requiredDateEnd: 1537966800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10304,\r\n orderDate: 1536699600000,\r\n orderTotal: 954.4,\r\n customerCompanyName: 'Tortuga Restaurante',\r\n customerContactName: 'Miguel Angel Paolino',\r\n requiredDateStart: 1539167400000,\r\n requiredDateEnd: 1539172800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10306,\r\n orderDate: 1537045200000,\r\n orderTotal: 498.5,\r\n customerCompanyName: 'Romero y tomillo',\r\n customerContactName: 'Alejandra Camino',\r\n requiredDateStart: 1539518400000,\r\n requiredDateEnd: 1539522000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10311,\r\n orderDate: 1537390800000,\r\n orderTotal: 268.8,\r\n customerCompanyName: 'Du monde entier',\r\n customerContactName: 'Janine Labrune',\r\n requiredDateStart: 1538652600000,\r\n requiredDateEnd: 1538658000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10314,\r\n orderDate: 1537822800000,\r\n orderTotal: 2094.3,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1540285200000,\r\n requiredDateEnd: 1540290600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10316,\r\n orderDate: 1537995600000,\r\n orderTotal: 2835,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1540468800000,\r\n requiredDateEnd: 1540470600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10325,\r\n orderDate: 1539032400000,\r\n orderTotal: 1497,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1540290600000,\r\n requiredDateEnd: 1540296000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10340,\r\n orderDate: 1540764000000,\r\n orderTotal: 2436.18,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1543235400000,\r\n requiredDateEnd: 1543240800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10351,\r\n orderDate: 1541887200000,\r\n orderTotal: 5398.725,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1544347800000,\r\n requiredDateEnd: 1544349600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10357,\r\n orderDate: 1542578400000,\r\n orderTotal: 1167.68,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1545046200000,\r\n requiredDateEnd: 1545051600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10361,\r\n orderDate: 1542837600000,\r\n orderTotal: 2046.24,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1545316200000,\r\n requiredDateEnd: 1545319800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10364,\r\n orderDate: 1543183200000,\r\n orderTotal: 950,\r\n customerCompanyName: 'Eastern Connection',\r\n customerContactName: 'Ann Devon',\r\n requiredDateStart: 1546851600000,\r\n requiredDateEnd: 1546853400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10371,\r\n orderDate: 1543788000000,\r\n orderTotal: 72.96,\r\n customerCompanyName: `La maison d'Asie`,\r\n customerContactName: 'Annette Roulet',\r\n requiredDateStart: 1546261200000,\r\n requiredDateEnd: 1546264800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10374,\r\n orderDate: 1543960800000,\r\n orderTotal: 459,\r\n customerCompanyName: 'Wolski Zajazd',\r\n customerContactName: 'Zbyszek Piestrzeniewicz',\r\n requiredDateStart: 1546419600000,\r\n requiredDateEnd: 1546423200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10376,\r\n orderDate: 1544306400000,\r\n orderTotal: 399,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1546768800000,\r\n requiredDateEnd: 1546770600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10377,\r\n orderDate: 1544306400000,\r\n orderTotal: 863.6,\r\n customerCompanyName: 'Seven Seas Imports',\r\n customerContactName: 'Hari Kumar',\r\n requiredDateStart: 1546783200000,\r\n requiredDateEnd: 1546788600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10385,\r\n orderDate: 1544997600000,\r\n orderTotal: 691.2,\r\n customerCompanyName: 'Split Rail Beer & Ale',\r\n customerContactName: 'Art Braunschweiger',\r\n requiredDateStart: 1547458200000,\r\n requiredDateEnd: 1547463600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10387,\r\n orderDate: 1545084000000,\r\n orderTotal: 1058.4,\r\n customerCompanyName: 'Santé Gourmet',\r\n customerContactName: 'Jonas Bergulfsen',\r\n requiredDateStart: 1547559000000,\r\n requiredDateEnd: 1547562600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10393,\r\n orderDate: 1545688800000,\r\n orderTotal: 2556.95,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1548162000000,\r\n requiredDateEnd: 1548165600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10394,\r\n orderDate: 1545688800000,\r\n orderTotal: 442,\r\n customerCompanyName: 'Hungry Coyote Import Store',\r\n customerContactName: 'Yoshi Latimer',\r\n requiredDateStart: 1548158400000,\r\n requiredDateEnd: 1548160200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10396,\r\n orderDate: 1545861600000,\r\n orderTotal: 1903.8,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1547118000000,\r\n requiredDateEnd: 1547121600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10400,\r\n orderDate: 1546293600000,\r\n orderTotal: 3063,\r\n customerCompanyName: 'Eastern Connection',\r\n customerContactName: 'Ann Devon',\r\n requiredDateStart: 1548761400000,\r\n requiredDateEnd: 1548765000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10401,\r\n orderDate: 1546293600000,\r\n orderTotal: 3868.6,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1548772200000,\r\n requiredDateEnd: 1548775800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10405,\r\n orderDate: 1546725600000,\r\n orderTotal: 400,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1549200600000,\r\n requiredDateEnd: 1549202400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10453,\r\n orderDate: 1550700000000,\r\n orderTotal: 407.7,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1553160600000,\r\n requiredDateEnd: 1553162400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10461,\r\n orderDate: 1551304800000,\r\n orderTotal: 1538.7,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1553769000000,\r\n requiredDateEnd: 1553774400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10465,\r\n orderDate: 1551736800000,\r\n orderTotal: 2518,\r\n customerCompanyName: 'Vaffeljernet',\r\n customerContactName: 'Palle Ibsen',\r\n requiredDateStart: 1554201000000,\r\n requiredDateEnd: 1554206400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10469,\r\n orderDate: 1552168800000,\r\n orderTotal: 956.675,\r\n customerCompanyName: 'White Clover Markets',\r\n customerContactName: 'Karl Jablonski',\r\n requiredDateStart: 1554627600000,\r\n requiredDateEnd: 1554629400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10473,\r\n orderDate: 1552428000000,\r\n orderTotal: 230.4,\r\n customerCompanyName: 'Island Trading',\r\n customerContactName: 'Helen Bennett',\r\n requiredDateStart: 1553697000000,\r\n requiredDateEnd: 1553700600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10482,\r\n orderDate: 1553119200000,\r\n orderTotal: 147,\r\n customerCompanyName: 'Lazy K Kountry Store',\r\n customerContactName: 'John Steel',\r\n requiredDateStart: 1555592400000,\r\n requiredDateEnd: 1555596000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10486,\r\n orderDate: 1553551200000,\r\n orderTotal: 1272,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1556010000000,\r\n requiredDateEnd: 1556013600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10508,\r\n orderDate: 1555362000000,\r\n orderTotal: 240,\r\n customerCompanyName: 'Ottilies Käseladen',\r\n customerContactName: 'Henriette Pfalzheim',\r\n requiredDateStart: 1557824400000,\r\n requiredDateEnd: 1557829800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10524,\r\n orderDate: 1556658000000,\r\n orderTotal: 3192.65,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1559131200000,\r\n requiredDateEnd: 1559133000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10525,\r\n orderDate: 1556744400000,\r\n orderTotal: 818.4,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1559208600000,\r\n requiredDateEnd: 1559210400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10537,\r\n orderDate: 1557781200000,\r\n orderTotal: 1823.8,\r\n customerCompanyName: 'Richter Supermarkt',\r\n customerContactName: 'Michael Holz',\r\n requiredDateStart: 1559050200000,\r\n requiredDateEnd: 1559052000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10542,\r\n orderDate: 1558299600000,\r\n orderTotal: 469.11,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1560765600000,\r\n requiredDateEnd: 1560771000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10546,\r\n orderDate: 1558558800000,\r\n orderTotal: 2812,\r\n customerCompanyName: 'Victuailles en stock',\r\n customerContactName: 'Mary Saveley',\r\n requiredDateStart: 1561028400000,\r\n requiredDateEnd: 1561033800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10558,\r\n orderDate: 1559595600000,\r\n orderTotal: 2142.9,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1562063400000,\r\n requiredDateEnd: 1562067000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10562,\r\n orderDate: 1560027600000,\r\n orderTotal: 488.7,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1562493600000,\r\n requiredDateEnd: 1562497200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10567,\r\n orderDate: 1560286800000,\r\n orderTotal: 2519,\r\n customerCompanyName: 'Hungry Owl All-Night Grocers',\r\n customerContactName: 'Patricia McKenna',\r\n requiredDateStart: 1562763600000,\r\n requiredDateEnd: 1562765400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10579,\r\n orderDate: 1561410000000,\r\n orderTotal: 317.75,\r\n customerCompanyName: `Let's Stop N Shop`,\r\n customerContactName: 'Jaime Yorres',\r\n requiredDateStart: 1563885000000,\r\n requiredDateEnd: 1563886800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10587,\r\n orderDate: 1562014800000,\r\n orderTotal: 807.38,\r\n customerCompanyName: 'Que Delícia',\r\n customerContactName: 'Bernardo Batista',\r\n requiredDateStart: 1564473600000,\r\n requiredDateEnd: 1564475400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10591,\r\n orderDate: 1562446800000,\r\n orderTotal: 812.5,\r\n customerCompanyName: 'Vaffeljernet',\r\n customerContactName: 'Palle Ibsen',\r\n requiredDateStart: 1563710400000,\r\n requiredDateEnd: 1563715800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10598,\r\n orderDate: 1563051600000,\r\n orderTotal: 2388.5,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1565514000000,\r\n requiredDateEnd: 1565517600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10604,\r\n orderDate: 1563397200000,\r\n orderTotal: 230.85,\r\n customerCompanyName: 'Furia Bacalhau e Frutos do Mar',\r\n customerContactName: 'Lino Rodriguez',\r\n requiredDateStart: 1565857800000,\r\n requiredDateEnd: 1565863200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10605,\r\n orderDate: 1563656400000,\r\n orderTotal: 4109.7,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1566118800000,\r\n requiredDateEnd: 1566120600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10612,\r\n orderDate: 1564261200000,\r\n orderTotal: 6375,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1566732600000,\r\n requiredDateEnd: 1566738000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10616,\r\n orderDate: 1564520400000,\r\n orderTotal: 4807,\r\n customerCompanyName: 'Great Lakes Food Market',\r\n customerContactName: 'Howard Snyder',\r\n requiredDateStart: 1566991800000,\r\n requiredDateEnd: 1566997200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10618,\r\n orderDate: 1564606800000,\r\n orderTotal: 2697.5,\r\n customerCompanyName: 'Mère Paillarde',\r\n customerContactName: 'Jean Fresnière',\r\n requiredDateStart: 1568293200000,\r\n requiredDateEnd: 1568295000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10626,\r\n orderDate: 1565470800000,\r\n orderTotal: 1503.6,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1567949400000,\r\n requiredDateEnd: 1567954800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10630,\r\n orderDate: 1565643600000,\r\n orderTotal: 903.6,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1568118600000,\r\n requiredDateEnd: 1568124000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10653,\r\n orderDate: 1567371600000,\r\n orderTotal: 1083.15,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1569834000000,\r\n requiredDateEnd: 1569835800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10655,\r\n orderDate: 1567458000000,\r\n orderTotal: 154.4,\r\n customerCompanyName: 'Reggiani Caseifici',\r\n customerContactName: 'Maurizio Moroni',\r\n requiredDateStart: 1569916800000,\r\n requiredDateEnd: 1569918600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10664,\r\n orderDate: 1568062800000,\r\n orderTotal: 1288.3875,\r\n customerCompanyName: 'Furia Bacalhau e Frutos do Mar',\r\n customerContactName: 'Lino Rodriguez',\r\n requiredDateStart: 1570532400000,\r\n requiredDateEnd: 1570537800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10665,\r\n orderDate: 1568149200000,\r\n orderTotal: 1295,\r\n customerCompanyName: 'Lonesome Pine Restaurant',\r\n customerContactName: 'Fran Wilson',\r\n requiredDateStart: 1570609800000,\r\n requiredDateEnd: 1570615200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10668,\r\n orderDate: 1568494800000,\r\n orderTotal: 625.275,\r\n customerCompanyName: 'Die Wandernde Kuh',\r\n customerContactName: 'Rita Müller',\r\n requiredDateStart: 1570968000000,\r\n requiredDateEnd: 1570969800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10671,\r\n orderDate: 1568667600000,\r\n orderTotal: 920.1,\r\n customerCompanyName: 'France restauration',\r\n customerContactName: 'Carine Schmitt',\r\n requiredDateStart: 1571144400000,\r\n requiredDateEnd: 1571146200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10677,\r\n orderDate: 1569099600000,\r\n orderTotal: 813.365,\r\n customerCompanyName: 'Antonio Moreno Taquería',\r\n customerContactName: 'Antonio Moreno',\r\n requiredDateStart: 1571576400000,\r\n requiredDateEnd: 1571581800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10680,\r\n orderDate: 1569272400000,\r\n orderTotal: 1261.875,\r\n customerCompanyName: 'Old World Delicatessen',\r\n customerContactName: 'Rene Phillips',\r\n requiredDateStart: 1571742000000,\r\n requiredDateEnd: 1571743800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10689,\r\n orderDate: 1569877200000,\r\n orderTotal: 472.5,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1572339600000,\r\n requiredDateEnd: 1572343200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10690,\r\n orderDate: 1569963600000,\r\n orderTotal: 862.5,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1572436800000,\r\n requiredDateEnd: 1572440400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10709,\r\n orderDate: 1571259600000,\r\n orderTotal: 3424,\r\n customerCompanyName: 'Gourmet Lanchonetes',\r\n customerContactName: 'André Fonseca',\r\n requiredDateStart: 1573723800000,\r\n requiredDateEnd: 1573727400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10710,\r\n orderDate: 1571518800000,\r\n orderTotal: 93.5,\r\n customerCompanyName: 'Franchi S.p.A.',\r\n customerContactName: 'Paolo Accorti',\r\n requiredDateStart: 1573986600000,\r\n requiredDateEnd: 1573990200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10713,\r\n orderDate: 1571691600000,\r\n orderTotal: 2827.9,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1574164800000,\r\n requiredDateEnd: 1574170200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10717,\r\n orderDate: 1571864400000,\r\n orderTotal: 1270.75,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1574328600000,\r\n requiredDateEnd: 1574330400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10718,\r\n orderDate: 1572123600000,\r\n orderTotal: 3463,\r\n customerCompanyName: 'Königlich Essen',\r\n customerContactName: 'Philip Cramer',\r\n requiredDateStart: 1574587800000,\r\n requiredDateEnd: 1574591400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10733,\r\n orderDate: 1573077600000,\r\n orderTotal: 1459,\r\n customerCompanyName: 'Berglunds snabbköp',\r\n customerContactName: 'Christina Berglund',\r\n requiredDateStart: 1575552600000,\r\n requiredDateEnd: 1575558000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10743,\r\n orderDate: 1573941600000,\r\n orderTotal: 319.2,\r\n customerCompanyName: 'Around the Horn',\r\n customerContactName: 'Thomas Hardy',\r\n requiredDateStart: 1576400400000,\r\n requiredDateEnd: 1576404000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10746,\r\n orderDate: 1574114400000,\r\n orderTotal: 2311.7,\r\n customerCompanyName: 'Chop-suey Chinese',\r\n customerContactName: 'Yang Wang',\r\n requiredDateStart: 1576580400000,\r\n requiredDateEnd: 1576584000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10773,\r\n orderDate: 1576015200000,\r\n orderTotal: 2030.4,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1578479400000,\r\n requiredDateEnd: 1578483000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10776,\r\n orderDate: 1576360800000,\r\n orderTotal: 6635.275,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1578830400000,\r\n requiredDateEnd: 1578834000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10785,\r\n orderDate: 1576620000000,\r\n orderTotal: 387.5,\r\n customerCompanyName: 'GROSELLA-Restaurante',\r\n customerContactName: 'Manuel Pereira',\r\n requiredDateStart: 1579095000000,\r\n requiredDateEnd: 1579100400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10788,\r\n orderDate: 1576965600000,\r\n orderTotal: 731.5,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1579444200000,\r\n requiredDateEnd: 1579446000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10789,\r\n orderDate: 1576965600000,\r\n orderTotal: 3687,\r\n customerCompanyName: 'Folies gourmandes',\r\n customerContactName: 'Martine Rancé',\r\n requiredDateStart: 1579426200000,\r\n requiredDateEnd: 1579429800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10792,\r\n orderDate: 1577052000000,\r\n orderTotal: 399.85,\r\n customerCompanyName: 'Wolski Zajazd',\r\n customerContactName: 'Zbyszek Piestrzeniewicz',\r\n requiredDateStart: 1579528800000,\r\n requiredDateEnd: 1579532400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10800,\r\n orderDate: 1577311200000,\r\n orderTotal: 1468.935,\r\n customerCompanyName: 'Seven Seas Imports',\r\n customerContactName: 'Hari Kumar',\r\n requiredDateStart: 1579780800000,\r\n requiredDateEnd: 1579786200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10813,\r\n orderDate: 1578175200000,\r\n orderTotal: 602.4,\r\n customerCompanyName: 'Ricardo Adocicados',\r\n customerContactName: 'Janete Limeira',\r\n requiredDateStart: 1580652000000,\r\n requiredDateEnd: 1580657400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10821,\r\n orderDate: 1578434400000,\r\n orderTotal: 678,\r\n customerCompanyName: 'Split Rail Beer & Ale',\r\n customerContactName: 'Art Braunschweiger',\r\n requiredDateStart: 1580900400000,\r\n requiredDateEnd: 1580905800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10825,\r\n orderDate: 1578520800000,\r\n orderTotal: 1030.76,\r\n customerCompanyName: 'Drachenblut Delikatessen',\r\n customerContactName: 'Sven Ottlieb',\r\n requiredDateStart: 1580992200000,\r\n requiredDateEnd: 1580994000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10827,\r\n orderDate: 1578780000000,\r\n orderTotal: 843,\r\n customerCompanyName: 'Bon app',\r\n customerContactName: 'Laurence Lebihan',\r\n requiredDateStart: 1580036400000,\r\n requiredDateEnd: 1580041800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10834,\r\n orderDate: 1579039200000,\r\n orderTotal: 1432.714,\r\n customerCompanyName: 'Tradição Hipermercados',\r\n customerContactName: 'Anabela Domingues',\r\n requiredDateStart: 1581514200000,\r\n requiredDateEnd: 1581519600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10835,\r\n orderDate: 1579039200000,\r\n orderTotal: 845.8,\r\n customerCompanyName: 'Alfreds Futterkiste',\r\n customerContactName: 'Maria Anders',\r\n requiredDateStart: 1581517800000,\r\n requiredDateEnd: 1581521400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10842,\r\n orderDate: 1579471200000,\r\n orderTotal: 975,\r\n customerCompanyName: 'Tortuga Restaurante',\r\n customerContactName: 'Miguel Angel Paolino',\r\n requiredDateStart: 1581942600000,\r\n requiredDateEnd: 1581946200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10850,\r\n orderDate: 1579730400000,\r\n orderTotal: 629,\r\n customerCompanyName: 'Victuailles en stock',\r\n customerContactName: 'Mary Saveley',\r\n requiredDateStart: 1583488800000,\r\n requiredDateEnd: 1583494200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10859,\r\n orderDate: 1580248800000,\r\n orderTotal: 1078.6875,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1582722000000,\r\n requiredDateEnd: 1582725600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10877,\r\n orderDate: 1581199200000,\r\n orderTotal: 1955.125,\r\n customerCompanyName: 'Ricardo Adocicados',\r\n customerContactName: 'Janete Limeira',\r\n requiredDateStart: 1583744400000,\r\n requiredDateEnd: 1583748000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10886,\r\n orderDate: 1581544800000,\r\n orderTotal: 3127.5,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1584106200000,\r\n requiredDateEnd: 1584111600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10888,\r\n orderDate: 1581804000000,\r\n orderTotal: 605,\r\n customerCompanyName: 'Godos Cocina Típica',\r\n customerContactName: 'José Pedro Freyre',\r\n requiredDateStart: 1584363600000,\r\n requiredDateEnd: 1584365400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10894,\r\n orderDate: 1581976800000,\r\n orderTotal: 2753.1,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1584529200000,\r\n requiredDateEnd: 1584534600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10900,\r\n orderDate: 1582149600000,\r\n orderTotal: 33.75,\r\n customerCompanyName: 'Wellington Importadora',\r\n customerContactName: 'Paula Parente',\r\n requiredDateStart: 1584714600000,\r\n requiredDateEnd: 1584720000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10902,\r\n orderDate: 1582408800000,\r\n orderTotal: 863.43,\r\n customerCompanyName: 'Folk och fä HB',\r\n customerContactName: 'Maria Larsson',\r\n requiredDateStart: 1584957600000,\r\n requiredDateEnd: 1584961200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10909,\r\n orderDate: 1582668000000,\r\n orderTotal: 670,\r\n customerCompanyName: 'Santé Gourmet',\r\n customerContactName: 'Jonas Bergulfsen',\r\n requiredDateStart: 1585229400000,\r\n requiredDateEnd: 1585231200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10910,\r\n orderDate: 1582668000000,\r\n orderTotal: 452.9,\r\n customerCompanyName: 'Wilman Kala',\r\n customerContactName: 'Matti Karttunen',\r\n requiredDateStart: 1585220400000,\r\n requiredDateEnd: 1585222200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10916,\r\n orderDate: 1582754400000,\r\n orderTotal: 686.7,\r\n customerCompanyName: 'Rancho grande',\r\n customerContactName: 'Sergio Gutiérrez',\r\n requiredDateStart: 1585319400000,\r\n requiredDateEnd: 1585323000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10921,\r\n orderDate: 1583186400000,\r\n orderTotal: 1936,\r\n customerCompanyName: 'Vaffeljernet',\r\n customerContactName: 'Palle Ibsen',\r\n requiredDateStart: 1586853000000,\r\n requiredDateEnd: 1586858400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10928,\r\n orderDate: 1583359200000,\r\n orderTotal: 137.5,\r\n customerCompanyName: 'Galería del gastrónomo',\r\n customerContactName: 'Eduardo Saavedra',\r\n requiredDateStart: 1585823400000,\r\n requiredDateEnd: 1585825200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10946,\r\n orderDate: 1583964000000,\r\n orderTotal: 1407.5,\r\n customerCompanyName: 'Vaffeljernet',\r\n customerContactName: 'Palle Ibsen',\r\n requiredDateStart: 1586422800000,\r\n requiredDateEnd: 1586426400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10950,\r\n orderDate: 1584309600000,\r\n orderTotal: 110,\r\n customerCompanyName: 'Magazzini Alimentari Riuniti',\r\n customerContactName: 'Giovanni Rovelli',\r\n requiredDateStart: 1586782800000,\r\n requiredDateEnd: 1586788200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10952,\r\n orderDate: 1584309600000,\r\n orderTotal: 471.2,\r\n customerCompanyName: 'Alfreds Futterkiste',\r\n customerContactName: 'Maria Anders',\r\n requiredDateStart: 1587985200000,\r\n requiredDateEnd: 1587987000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10968,\r\n orderDate: 1584914400000,\r\n orderTotal: 1408,\r\n customerCompanyName: 'Ernst Handel',\r\n customerContactName: 'Roland Mendel',\r\n requiredDateStart: 1587375000000,\r\n requiredDateEnd: 1587380400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10969,\r\n orderDate: 1584914400000,\r\n orderTotal: 108,\r\n customerCompanyName: 'Comércio Mineiro',\r\n customerContactName: 'Pedro Afonso',\r\n requiredDateStart: 1587375000000,\r\n requiredDateEnd: 1587376800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10975,\r\n orderDate: 1585087200000,\r\n orderTotal: 717.5,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1587560400000,\r\n requiredDateEnd: 1587564000000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10976,\r\n orderDate: 1585087200000,\r\n orderTotal: 912,\r\n customerCompanyName: 'HILARION-Abastos',\r\n customerContactName: 'Carlos Hernández',\r\n requiredDateStart: 1588757400000,\r\n requiredDateEnd: 1588759200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10981,\r\n orderDate: 1585260000000,\r\n orderTotal: 15810,\r\n customerCompanyName: 'Hanari Carnes',\r\n customerContactName: 'Mario Pontes',\r\n requiredDateStart: 1587735000000,\r\n requiredDateEnd: 1587736800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10984,\r\n orderDate: 1585515600000,\r\n orderTotal: 1809.75,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1587974400000,\r\n requiredDateEnd: 1587976200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10991,\r\n orderDate: 1585688400000,\r\n orderTotal: 2296,\r\n customerCompanyName: 'QUICK-Stop',\r\n customerContactName: 'Horst Kloss',\r\n requiredDateStart: 1588147200000,\r\n requiredDateEnd: 1588150800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10992,\r\n orderDate: 1585688400000,\r\n orderTotal: 69.6,\r\n customerCompanyName: 'The Big Cheese',\r\n customerContactName: 'Liz Nixon',\r\n requiredDateStart: 1588163400000,\r\n requiredDateEnd: 1588165200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 10995,\r\n orderDate: 1585774800000,\r\n orderTotal: 1196,\r\n customerCompanyName: 'Pericles Comidas clásicas',\r\n customerContactName: 'Guillermo Fernández',\r\n requiredDateStart: 1588248000000,\r\n requiredDateEnd: 1588249800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11012,\r\n orderDate: 1586379600000,\r\n orderTotal: 2825.3,\r\n customerCompanyName: 'Frankenversand',\r\n customerContactName: 'Peter Franken',\r\n requiredDateStart: 1587646800000,\r\n requiredDateEnd: 1587652200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11023,\r\n orderDate: 1586811600000,\r\n orderTotal: 1500,\r\n customerCompanyName: `B's Beverages`,\r\n customerContactName: 'Victoria Ashworth',\r\n requiredDateStart: 1588073400000,\r\n requiredDateEnd: 1588075200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11027,\r\n orderDate: 1586984400000,\r\n orderTotal: 877.725,\r\n customerCompanyName: 'Bottom-Dollar Markets',\r\n customerContactName: 'Elizabeth Lincoln',\r\n requiredDateStart: 1589455800000,\r\n requiredDateEnd: 1589461200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11038,\r\n orderDate: 1587416400000,\r\n orderTotal: 732.6,\r\n customerCompanyName: 'Suprêmes délices',\r\n customerContactName: 'Pascale Cartrain',\r\n requiredDateStart: 1589893200000,\r\n requiredDateEnd: 1589896800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11039,\r\n orderDate: 1587416400000,\r\n orderTotal: 3090,\r\n customerCompanyName: 'LINO-Delicateses',\r\n customerContactName: 'Felipe Izquierdo',\r\n requiredDateStart: 1589880600000,\r\n requiredDateEnd: 1589882400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11064,\r\n orderDate: 1588280400000,\r\n orderTotal: 4330.4,\r\n customerCompanyName: 'Save-a-lot Markets',\r\n customerContactName: 'Jose Pavarotti',\r\n requiredDateStart: 1590750000000,\r\n requiredDateEnd: 1590751800000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11067,\r\n orderDate: 1588539600000,\r\n orderTotal: 86.85,\r\n customerCompanyName: 'Drachenblut Delikatessen',\r\n customerContactName: 'Sven Ottlieb',\r\n requiredDateStart: 1589797800000,\r\n requiredDateEnd: 1589799600000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11069,\r\n orderDate: 1588539600000,\r\n orderTotal: 360,\r\n customerCompanyName: 'Tortuga Restaurante',\r\n customerContactName: 'Miguel Angel Paolino',\r\n requiredDateStart: 1591005600000,\r\n requiredDateEnd: 1591009200000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11071,\r\n orderDate: 1588626000000,\r\n orderTotal: 484.5,\r\n customerCompanyName: 'LILA-Supermercado',\r\n customerContactName: 'Carlos González',\r\n requiredDateStart: 1591095600000,\r\n requiredDateEnd: 1591097400000,\r\n teamID: 1\r\n },\r\n {\r\n orderID: 11077,\r\n orderDate: 1588712400000,\r\n orderTotal: 1255.7205,\r\n customerCompanyName: 'Rattlesnake Canyon Grocery',\r\n customerContactName: 'Paula Wilson',\r\n requiredDateStart: 1591189200000,\r\n requiredDateEnd: 1591194600000,\r\n teamID: 1\r\n }\r\n].map((order) => ({\r\n ...order,\r\n // parse dates\r\n orderDate: new Date(order.orderDate),\r\n requiredDateStart: new Date(order.requiredDateStart),\r\n requiredDateEnd: new Date(order.requiredDateEnd)\r\n}));\r\n","import { render } from \"./Dashboard.vue?vue&type=template&id=67888aa6&scoped=true\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=67888aa6&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-67888aa6\"]])\n\nexport default __exports__","\r\n\r\n\r\n\r\n\r\n","import { render } from \"./Info.vue?vue&type=template&id=48121f8e\"\nimport script from \"./Info.vue?vue&type=script&lang=js\"\nexport * from \"./Info.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__","import { createWebHistory, createRouter } from \"vue-router\";\r\nimport Team from \"../components/Team\";\r\nimport Profile from \"../components/Profile\";\r\nimport Dashboard from \"../components/Dashboard\";\r\nimport Info from \"../components/Info\";\r\n\r\nconst routes = [\r\n {\r\n path: \"/\",\r\n name: \"Team\",\r\n component: Team,\r\n props: true\r\n },\r\n {\r\n path: \"/Profile\",\r\n name: \"Profile\",\r\n component: Profile\r\n },\r\n {\r\n path: \"/Dashboard\",\r\n name: \"Dashboard\",\r\n component: Dashboard\r\n },\r\n {\r\n path: \"/Info\",\r\n name: \"Info\",\r\n component: Info\r\n }\r\n];\r\n\r\nconst router = createRouter({\r\n history: createWebHistory(process.env.BASE_URL),\r\n routes,\r\n});\r\n\r\nexport default router;\r\n","import { createApp } from 'vue'\r\nimport App from './App.vue'\r\nimport router from \"./router\";\r\n\r\ncreateApp(App).use(router).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](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};","// 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); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/kendo-vue/coffee-warehouse/\";","// 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\t524: 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[\"webpackChunkkendo_vue_coffee_warehouse\"] = self[\"webpackChunkkendo_vue_coffee_warehouse\"] || [];\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, [504], function() { return __webpack_require__(482); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["class","_createElementBlock","_createVNode","_component_localization","language","$data","localizationLanguage","_component_intl","locale","$options","_component_Header","onLocaleChange","onThemeChange","_createElementVNode","_hoisted_1","_hoisted_2","_component_MenuNavContainer","currentTheme","toLowerCase","_hoisted_3","_hoisted_4","_hoisted_5","_component_router_view","style","src","_imports_0","_toDisplayString","warehouseMessage","teamMessage","_component_DropDownList","width","height","value","currentLocale","onChange","localeChange","locales","themes","themesPopupSettings","myDropDownValueTemplate","_withCtx","_component_Avatar","rounded","type","_hoisted_6","components","Avatar","DropDownList","emits","themeChange","inject","kendoLocalizationService","default","computed","provideLocalizationService","this","toLanguageString","methods","e","theme","href","linkTag","document","getElementById","setAttribute","$emit","text","target","created","data","__exports__","_component_kendo_menu","items","onSelect","vertical","props","String","Menu","mounted","selectedItemID","watch","updateSelectedMenuItem","teamClass","dashboardClass","profileClass","infoClass","cssClass","cssStyle","paddingBottom","paddingTop","paddingLeft","icon","path","id","dashboardMessage","profileMessage","infoMessage","borderTop","$router","push","item","menuItemID","enCustomMessages","teamEfficiency","teamMembers","dashboard","planning","profile","info","trend","volume","myTeam","allTeams","teamCalendar","saveChanges","cancel","warehouse","startFreeTrial","buyNow","getSource","demoInfo","firstName","middleName","lastName","email","phoneNumber","country","biography","public","team","employee","contactName","jobTitle","status","performance","rating","engagement","budget","contacts","address","phone","gridSearch","exportExcel","exportPdf","enComponentMessages","esCustomMessages","esComponentMessages","frCustomMessages","frComponentMessages","load","likelySubtags","currencyData","weekData","numbers","caGregorian","dateFields","timeZoneNames","esNumbers","esCurrencies","frNumbers","frCaGregorian","frDateFields","frTimeZoneNames","frCurrencies","loadMessages","name","Header","MenuNavContainer","localization","LocalizationProvider","intl","IntlProvider","render","teamMembersMessage","_component_buttongroup","_component_KButton","togglable","onClick","_cache","$event","onTeamChange","selected","_ctx","myTeamSelected","myTeamMessage","allTeamsMessage","_component_pdfexport","ref","_component_Grid","_normalizeStyle","gridHeight","gridData","resizable","reorderable","sortable","pageable","gridPageable","groupable","group","sort","filter","take","skip","expandField","selectable","selectedField","columns","columnMenu","onSelectionchange","onSelectionChange","onHeaderselectionchange","onHeaderSelectionChange","onDatastatechange","dataStateChange","onExpandchange","expandChange","contactTemplate","rowType","_createBlock","_component_contact","dataItem","flagTemplate","_component_flag","isOnlineTemplate","_hoisted_7","_component_isonline","budgetTemplate","_hoisted_8","_component_budget","engagementTemplate","_hoisted_9","_component_engagement","_component_toolbar","_component_k_input","placeholder","gridSearchMessage","searchWord","onInput","onFilter","title","exportExcelMessage","exportPDF","exportPdfMessage","_normalizeClass","$props","formattedNumber","kendoIntlService","Object","provideIntlService","formatNumber","_component_Sparkline","transitions","seriesDefaults","_component_ChartArea","opacity","_component_ChartValueAxis","_component_ChartValueAxisItem","max","min","Sparkline","ChartValueAxis","ChartValueAxisItem","ChartArea","labels","background","visible","padding","format","is_online","flagURL","images","BR","DE","ES","FR","GB","US","code","image","photoURL","full_name","img_id","gender","Grid","toolbar","GridToolbar","pdfexport","GridPdfExport","BudgetComponent","EngagementComponent","isonline","IsOnlineComponent","flag","Flag","contact","ContactName","Input","KButton","Button","buttongroup","ButtonGroup","buttonCount","pageSizes","previousNext","employees","expandedItems","getData","newGridHeight","querySelectorAll","offsetHeight","Math","floor","selectedDataItems","areAllSelected","length","field","getSelectColumnWidth","headerSelectionValue","employeeMessage","children","contactNameMessage","cell","jobTitleMessage","countryMessage","className","statusMessage","performanceMessage","engagementMessage","budgetMessage","contactsMessage","phoneMessage","addressMessage","inputValue","logic","filters","operator","event","checked","tempData","map","tempGridData","process","createAppState","dataState","slice","columnsToExport","splice","saveExcel","fileName","tempSort","$nextTick","$refs","gridPdfExport","save","pageSize","slicedEmployees","_component_k_form","onSubmit","handleSubmit","formValues","_component_formcontent","_component_form_element","horizontal","margin","_component_field","component","myTemplate","_component_formupload","_mergeProps","onBlur","onFocus","label","firstNameMessage","validator","firstNameValidator","_component_forminput","lastNameMessage","lastNameValidator","emailMessage","emailValidator","phoneNumberMessage","mask","phoneValidator","_component_formmaskedtextbox","countries","requiredValidator","_component_formautocomplete","biographyMessage","_component_formtextarea","layout","teams","_component_formradiogroup","clear","cancelMessage","disabled","kendoForm","allowSubmit","saveChangesMessage","_component_fieldwrapper","_component_klabel","valid","optional","_component_kinput","handleChange","handleBlur","handleFocus","showValidationMessage","_component_error","key","validationMessage","_component_hint","hint","Boolean","touched","fieldwrapper","FieldWrapper","error","Error","Hint","klabel","Label","kinput","showHint","hintId","errorId","change","blur","focus","_component_maskedtextbox","readonly","maskedtextbox","MaskedTextBox","_component_autocomplete","autocomplete","AutoComplete","_component_KTextArea","KTextArea","TextArea","labelId","_component_radiogroup","describedBy","dataItems","Array","radiogroup","RadioGroup","_component_avatar","size","_component_upload","multiple","files","restrictions","onAdd","onAddHandler","onRemove","onRemoveHandler","upload","Upload","avatar","avatars","reader","FileReader","file","newState","getRawFile","onloadend","forEach","querySelector","result","localStorage","setItem","toString","readAsDataURL","emailRegex","RegExp","phoneRegex","test","getter","Field","FormElement","forminput","FormInput","formmaskedtextbox","FormMaskedTextBox","formautocomplete","FormAutoComplete","formtextarea","FormTextArea","formradiogroup","FormRadioGroup","formupload","FormUpload","onFormReset","Form","formcontent","FormContent","countryselected","setFormValues","setAvatar","alert","JSON","stringify","avatarImg","getItem","form","parse","teamEfficiencyMessage","_component_k_button","buttonGroupClick","selectedIndex","trendMessage","volumeMessage","_component_datepicker","dateRange","start","onFromDateChange","end","onToDateChange","_component_Chart","_component_ChartTooltip","myToolTipTemplate","point","formatDate","category","toUpperCase","_component_ChartLegend","position","orientation","spacing","left","right","_component_ChartCategoryAxis","_component_ChartCategoryAxisItem","rotation","categories","_component_ChartSeries","_Fragment","_renderList","series","index","_component_ChartSeriesItem","myToolTipLineTemplate","_hoisted_10","color","orders","orderID","orderDate","orderTotal","customerCompanyName","customerContactName","requiredDateStart","requiredDateEnd","teamID","order","Date","Chart","ChartSeries","ChartSeriesItem","ChartCategoryAxis","ChartCategoryAxisItem","ChartLegend","ChartTooltip","datepicker","DatePicker","fetchData","newIndex","updateSeries","date","alt","getSourceMessage","demoInfoMessage","routes","Team","Profile","Dashboard","Info","router","createRouter","history","createWebHistory","createApp","App","use","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","r","d","definition","o","defineProperty","enumerable","get","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","p","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/dist/js/chunk-vendors.ae545a5e.js b/examples-standalone/coffee-warehouse/dist/js/chunk-vendors.ae545a5e.js deleted file mode 100644 index 25761544..00000000 --- a/examples-standalone/coffee-warehouse/dist/js/chunk-vendors.ae545a5e.js +++ /dev/null @@ -1,13 +0,0 @@ -(self["webpackChunkkendo_vue_coffee_warehouse"]=self["webpackChunkkendo_vue_coffee_warehouse"]||[]).push([[504],{8494:function(t,e,n){"use strict";n.d(e,{WP:function(){return jt},HG:function(){return p},eh:function(){return Yt}});var i=function(t){return null!==t&&void 0!==t},r=function(t){return null===t||void 0===t},o=function(t){return Array.isArray(t)},a=function(t){return"function"===typeof t},s=function(t){return"string"===typeof t},l=function(t){return r(t)||0===t.trim().length},u=function(t){return!l(t)},c=function(t){return!isNaN(t-parseFloat(t))},h=function(t){return t&&t.getTime},p=function(t){return i(t.filters)},d=function(t,e,n){return function(i){return t(i)?e(i):n(i)}},f=function(){for(var t=[],e=0;e0},S=function(t){return function(e){return i(t(e))}},M=function(t){return function(e){return _(t(e))}},A=function(t,e){return d(t,e,C)},I=function(t){var e=t.skip,n=t.take;return Math.floor((e||0)/n)+1},T=function(t,e){return function(n){return t(n).map(e).join("~")}},N=function(t){return function(e){return e.slice(0,e.indexOf(t))}},$=function(t){return f.apply(void 0,t.map((function(t){var e=t[0],n=t[1];return function(t){return t.replace(new RegExp(e,"g"),n)}})))},O=$([['"',""],[":","-"]]),L=N("."),E=function(t){var e=t.field,n=t.dir,i=void 0===n?"asc":n;return e+"-"+i},P=function(t){var e=t.field,n=t.aggregate;return e+"-"+n},D=b("take"),R=b("aggregates"),B=b("skip"),F=b("group"),z=b("sort",!0),j=T(z,E),V=T(F,E),H=T(R,P),Z=function(t){return"datetime'"+t+"'"},U=f(Z,L,O,JSON.stringify,x),G=function(t){var e=t.field,n=t.value,i=t.ignoreCase,r=t.operator;return{value:U(n),field:e,ignoreCase:i,operator:r}},K=function(t){return Object.assign({},t,{sort:(z(t)||[]).filter((function(t){var e=t.dir;return u(e)}))})},W=f(k("page"),I),q=f(k("pageSize"),D),Y=f(k("group"),V),X=f(k("sort"),j),J=f(k("aggregate"),H),Q=(A(S(B),W),A(S(D),q),A(M(F),Y),A(S(R),J),f(A(M(z),X),K),function(t){var e=t.field,n=t.operator,i=t.value;return e+"~"+n+"~"+i}),tt=(d(w,f(Q,G),Q),function(t,e,n){return e[t]=n,e}),et=function(t){return t.replace(/(^[A-Z])/g,(function(t,e){return e.toLowerCase()}))},nt=function(t){return function(e){var n=e[t];return i(n)?n:e[et(t)]}},it=(nt("Member"),nt("AggregateMethodName"),nt("Value"),function(t){return function(e){return Object.keys(e).reduce(t.bind(null,e),{})}}),rt=it((function(t,e,n){return tt(n.toLowerCase(),e,t[n])})),ot=it((function(t,e,n){return tt(n,e,rt(t[n]))})),at=function(t,e){return i(t)?t:e},st=function(t){return{aggregates:t.Aggregates||t.aggregates,field:t.Member||t.member||t.field,hasSubgroups:t.HasSubgroups||t.hasSubgroups||!1,items:t.Items||t.items,value:at(t.Key,at(t.key,t.value))}},lt=f((function(t){var e=t.field,n=t.hasSubgroups,i=t.value,r=t.aggregates,o=t.items;return{aggregates:ot(r),field:e,items:n?o.map(lt):o,value:i}}),st),ut=function(t,e){return r(t)?t===e?0:-1:r(e)?1:t.localeCompare?t.localeCompare(e):t>e?1:te&&(c(e)||h(e))&&(t=e)},result:function(){return t}}},sum:function(){var t=0;return{calc:function(e){e=i(e)?e:0,t+=e},result:function(){return t}}}}[t]()},yt=function(t){var e=t.map((function(t){var e=b(t.field,!0),n=(t.aggregate||"").toLowerCase(),i=b(n,!0);return function(r,o){var a=r[t.field]||{},s=i(a)||gt(n);return s.calc(e(o)),a[t.aggregate]=s,r[t.field]=a,r}}));return function(t,n){return e.reduce((function(t,e){return e(t,n)}),t)}},bt=function(t,e){return t.push(e),t},xt=function(t){return function(e){return function(n,i,r){return e(n,t(i,r))}}},wt=function(t){return function(e){return function(n,i){return t(i)?e(n,i):n}}},kt=function(t){return i(t.__value)},Ct=function(t){return kt(t)?t:{__value:t,reduced:!0}},_t=function(t){return function(e){return function(n,i){return t-- >0?e(n,i):Ct(n)}}},St=function(t){return function(e){return function(n,i){return t--<=0?e(n,i):n}}},Mt=function(t,e,n){for(var i=e,r=0,o=n.length;r":"gt",">=":"gte",equal:"eq",equals:"eq",equalto:"eq",ge:"gte",greater:"gt",greaterthan:"gt",greaterthanequal:"gte",isempty:"isempty",isequalto:"eq",isgreaterthan:"gt",isgreaterthanorequalto:"gte",islessthan:"lt",islessthanorequalto:"lte",isnotempty:"isnotempty",isnotequalto:"neq",isnull:"isnull",le:"lte",less:"lt",lessthan:"lt",lessthanequal:"lte",ne:"neq",notequal:"neq",notequals:"neq",notequalto:"neq",notsubstringof:"doesnotcontain"}[t.toLowerCase()]||t},Nt=function(t){t.filters&&(t.filters=t.filters.map((function(t){var e=Object.assign({},t);return!p(t)&&s(t.operator)&&(e.operator=Tt(t.operator)),p(t)&&Nt(e),e})))},$t=function(t){return p(t)?Object.assign({},t):{filters:o(t)?t:[t],logic:"and"}},Ot=function(t){return i(t)&&(t=$t(t),Nt(t)),t},Lt={or:{concat:function(t,e){return function(n){return t(n)||e(n)}},identity:function(){return!1}},and:{concat:function(t,e){return function(n){return t(n)&&e(n)}},identity:function(){return!0}}},Et={contains:function(t,e){return(t||"").indexOf(e)>=0},doesnotcontain:function(t,e){return-1===(t||"").indexOf(e)},doesnotendwith:function(t,e){return(t||"").indexOf(e,(t||"").length-(e||"").length)<0},doesnotstartwith:function(t,e){return-1===(t||"").lastIndexOf(e,0)},endswith:function(t,e){return(t||"").indexOf(e,(t||"").length-(e||"").length)>=0},eq:function(t,e){return t===e},gt:function(t,e){return t>e},gte:function(t,e){return t>=e},isempty:function(t){return""===t},isnotempty:function(t){return""!==t},isnotnull:function(t){return i(t)},isnull:function(t){return r(t)},lt:function(t,e){return t1?Zt(a.items,e.slice(1),Ht,c):a.items,value:a.value}}))})),l},Ut=function(t,e,n,i,r){for(var o=n-e,a=i-n,s=[],l=0;l0&&o>0);while(o)t[h++]=s[u++],o--;while(a)t[h++]=t[c++],a--},Gt=function(t,e,n,i){if(!(n-e<2)){var r=e+n>>>1;Gt(t,e,r,i),Gt(t,r,n,i),Ut(t,e,r,n,i)}},Kt=function(t,e){if(e.some((function(t){return i(t.dir)}))){t=t.slice(0);var n=dt(e);Gt(t,0,t.length,n)}return t},Wt=function(t,e){for(var n=0,i=0,r=t.length;i1||e._ignoreMouse||(r(e.document,"mousemove",e._mousemove),r(e.document,"mouseup",e._mouseup),e._pressHandler(t))},this._mousemove=function(t){e._dragHandler(t)},this._mouseup=function(t){o(e.document,"mousemove",e._mousemove),o(e.document,"mouseup",e._mouseup),e._releaseHandler(t)},this._pointerdown=function(t){t.isPrimary&&0===t.button&&(r(e.document,"pointermove",e._pointermove),r(e.document,"pointerup",e._pointerup),r(e.document,"pointercancel",e._pointerup),r(e.document,"contextmenu",s),e._pressHandler(t))},this._pointermove=function(t){t.isPrimary&&e._dragHandler(t)},this._pointerup=function(t){t.isPrimary&&(o(e.document,"pointermove",e._pointermove),o(e.document,"pointerup",e._pointerup),o(e.document,"pointercancel",e._pointerup),o(e.document,"contextmenu",s),e._releaseHandler(t))}},p={document:{configurable:!0}};h.supportPointerEvent=function(){return"undefined"!==typeof window&&window.PointerEvent},p.document.get=function(){return this._element?this._element.ownerDocument:document},h.prototype.bindTo=function(t){t!==this._element&&(this._element&&this._unbindFromCurrent(),this._element=t,this._bindToCurrent())},h.prototype._bindToCurrent=function(){var t=this._element;this._usePointers()?r(t,"pointerdown",this._pointerdown):(r(t,"mousedown",this._mousedown),this._mouseOnly||(r(t,"touchstart",this._touchstart),r(t,"touchmove",this._touchmove),r(t,"touchend",this._touchend)))},h.prototype._unbindFromCurrent=function(){var t=this._element;if(this._usePointers())return o(t,"pointerdown",this._pointerdown),o(this.document,"pointermove",this._pointermove),o(this.document,"pointerup",this._pointerup),o(this.document,"contextmenu",s),void o(this.document,"pointercancel",this._pointerup);o(t,"mousedown",this._mousedown),this._mouseOnly||(o(t,"touchstart",this._touchstart),o(t,"touchmove",this._touchmove),o(t,"touchend",this._touchend))},h.prototype._usePointers=function(){return!this._mouseOnly&&h.supportPointerEvent()},h.prototype.update=function(t){var e=t.press;void 0===e&&(e=a);var n=t.drag;void 0===n&&(n=a);var r=t.release;void 0===r&&(r=a);var o=t.mouseOnly;void 0===o&&(o=!1),this._pressHandler=i(c,e),this._dragHandler=i(c,n),this._releaseHandler=i(c,r),this._mouseOnly=o},h.prototype.destroy=function(){this._unbindFromCurrent(),this._element=null},Object.defineProperties(h.prototype,p),h.default=h,e["default"]=h},9794:function(t,e,n){"use strict";n.d(e,{A:function(){return lt}});var i=n(2104),r=n(8830),o=n(4653),a=n(2336),s=n(5532),l=n(8721),u=n(853),c={},h=c;function p(t,e){var n=e.segments;if(0!==n.length){var i=n[0],r=i.anchor();t.moveTo(r.x,r.y);for(var o=1;o0&&s.load(a,e,n),(0,d.A)(e)?i.insertAt(s,e):i.append(s)}},e.prototype.load=function(t,e,n){this.loadElements(t,e,n),this.invalidate()},e.prototype.setOpacity=function(t){if(this.srcElement){var e=this.srcElement.opacity();(0,d.A)(e)&&this.globalAlpha(t,e)}},e.prototype.globalAlpha=function(t,e){var n=e;n&&t.globalAlpha&&(n*=t.globalAlpha),t.globalAlpha=n},e.prototype.visible=function(){var t=this.srcElement;return!t||t&&!1!==t.options.visible},e}(u.A),m=f,v=n(8199),g=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.renderTo=function(t){if(this.visible()){t.save(),this.setTransform(t),this.setClip(t),this.setOpacity(t);for(var e=this.childNodes,n=0;n0)e=t.pop(),e.addObserver(n),"Group"===e.nodeType?(0,I.A)(t,e.children):n._insertShape(e)},e.prototype._insertShape=function(t){var e=t.bbox();if(e){var n=this.getSectors(e),i=n[0][0],r=n[1][0];if(this.inRoot(n))this.root.insert(t,e);else{var o=this.rootMap;o[i]||(o[i]={}),o[i][r]||(o[i][r]=new N(new A.A([i*$,r*$],[$,$]))),o[i][r].insert(t,e)}}},e.prototype.remove=function(t){var e=this;if(t.removeObserver(this),"Group"===t.nodeType)for(var n=t.children,i=0;i1||t[1].length>1},e.prototype.getSectors=function(t){for(var e=t.bottomRight(),n=Math.floor(e.x/$),i=Math.floor(e.y/$),r=[[],[]],o=Math.floor(t.origin.x/$);o<=n;o++)r[0].push(o);for(var a=Math.floor(t.origin.y/$);a<=i;a++)r[1].push(a);return r},e}(_.A);function P(t,e){return t._zIndexe._zIndex?-1:0}var D=E,R=function(t){t.bind("mouseenter",this._mouseenter.bind(this)),t.bind("mouseleave",this._mouseleave.bind(this)),this.element=t.element};R.prototype.clear=function(){this._resetCursor()},R.prototype.destroy=function(){this._resetCursor(),delete this.element},R.prototype._mouseenter=function(t){var e=this._shapeCursor(t);e?(this._current||(this._defaultCursor=this._getCursor()),this._setCursor(e)):this._resetCursor()},R.prototype._mouseleave=function(){this._resetCursor()},R.prototype._shapeCursor=function(t){var e=t.element;while(e&&!(0,d.A)(e.options.cursor))e=e.parent;if(e)return e.options.cursor},R.prototype._getCursor=function(){if(this.element)return this.element.style.cursor},R.prototype._setCursor=function(t){this.element&&(this.element.style.cursor=t,this._current=t)},R.prototype._resetCursor=function(){this._current&&(this._setCursor(this._defaultCursor||""),delete this._current)};var B=R,F=n(1474),z=n(7003),j=n(9929),V=n(8703),H=n(4877),Z=n(2464);function U(t,e){for(var n=0;n0)return t.strokeStyle=e.color,t.lineWidth=(0,j.A)(e.width,1),t.save(),this.globalAlpha(t,e.opacity),t.stroke(),t.restore(),!0},e.prototype.dashType=function(){var t=this.srcElement.options.stroke;if(t&&t.dashType)return t.dashType.toLowerCase()},e.prototype.setLineDash=function(t){var e=this.dashType();if(e&&e!==Z.I$){var n=Z.MT[e];t.setLineDash?t.setLineDash(n):(t.mozDash=n,t.webkitLineDash=n)}},e.prototype.setLineCap=function(t){var e=this.dashType(),n=this.srcElement.options.stroke;e&&e!==Z.I$?t.lineCap=Z.SQ:n&&n.lineCap&&(t.lineCap=n.lineCap)},e.prototype.setLineJoin=function(t){var e=this.srcElement.options.stroke;e&&e.lineJoin&&(t.lineJoin=e.lineJoin)},e.prototype.renderPoints=function(t,e){p(t,e)},e}(m),K=G,W=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.renderPoints=function(t){var e=this.srcElement.toPath();p(t,e)},e}(K),q=W,Y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.renderPoints=function(t){var e=this.srcElement.geometry(),n=e.center,i=e.radius;t.arc(n.x,n.y,i,0,2*Math.PI)},e}(K),X=Y,J=function(t){function e(e,n){t.call(this,e),this.onLoad=this.onLoad.bind(this),this.onError=this.onError.bind(this),this.loading=(0,s.A)();var i=this.img=new Image,r=e.src();n&&!/^data:/i.test(r)&&(i.crossOrigin=n),r&&(i.src=r),i.complete?this.onLoad():(i.onload=this.onLoad,i.onerror=this.onError)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.renderTo=function(t){"resolved"===this.loading.state()&&(t.save(),this.setTransform(t),this.setClip(t),this.drawImage(t),t.restore())},e.prototype.optionsChange=function(e){"src"===e.field?(this.loading=(0,s.A)(),this.img.src=this.srcElement.src()):t.prototype.optionsChange.call(this,e)},e.prototype.onLoad=function(){this.loading.resolve(),this.invalidate()},e.prototype.onError=function(){this.loading.reject(new Error("Unable to load image '"+this.img.src+"'. Check for connectivity and verify CORS headers."))},e.prototype.drawImage=function(t){var e=this.srcElement.rect(),n=e.topLeft();t.drawImage(this.img,n.x,n.y,e.width(),e.height())},e}(K),Q=J,tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.renderPoints=function(t){for(var e=this.srcElement.paths,n=0;n"},e.prototype._enableTracking=function(){this._searchTree=new D,this._cursor=new B(this),t.prototype._enableTracking.call(this)},e.prototype._trackMouse=function(t){if(!this._suspendedTracking){var e=this.eventTarget(t);if("click"!==t.type){var n=this._currentShape;n&&n!==e&&this.trigger("mouseleave",{element:n,originalEvent:t,type:"mouseleave"}),e&&n!==e&&this.trigger("mouseenter",{element:e,originalEvent:t,type:"mouseenter"}),this.trigger("mousemove",{element:e,originalEvent:t,type:"mousemove"}),this._currentShape=e}else e&&this.trigger("click",{element:e,originalEvent:t,type:"click"})}},Object.defineProperties(e.prototype,n),e}(i.A),lt=st},4517:function(t,e){"use strict";var n=function(t){var e="undefined"!==typeof window?window:{},i=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(t){setTimeout(t,1e3/60)};n=function(t){return i.call(e,t)},n(t)};e.A=n},15:function(t,e){"use strict";var n=function(){};e.A=n},5252:function(t,e,n){"use strict";var i=n(15),r=n(1115),o=n(1474),a=180,s=function(t){function e(n){var i=this;if(t.call(this),1===arguments.length)for(var r=e.formats,o=this.resolveColor(n),a=0;a255?255:t},e.prototype.padDigit=function(t){return 1===t.length?"0"+t:t},e.prototype.brightness=function(t){var e=Math.round;return this.r=e(this.normalizeByte(this.r*t)),this.g=e(this.normalizeByte(this.g*t)),this.b=e(this.normalizeByte(this.b*t)),this},e.prototype.percBrightness=function(){return Math.sqrt(.241*this.r*this.r+.691*this.g*this.g+.068*this.b*this.b)},e.prototype.isDark=function(){return this.percBrightness().5?u/(2-a-s):u/(a+s),a){case i:t=(r-o)/u+(ri.length)i=n+i;return i}var p=function(t){function e(e,n,i,r){t.call(this),this.h=e,this.s=n,this.v=i,this.a=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toRGB=function(){var t,e,n,i=this,r=i.h,o=i.s,a=i.v;if(0===o)t=e=n=a;else{r/=60;var s=Math.floor(r),l=r-s,c=a*(1-o),h=a*(1-o*l),p=a*(1-o*(1-l));switch(s){case 0:t=a,e=p,n=c;break;case 1:t=h,e=a,n=c;break;case 2:t=c,e=a,n=p;break;case 3:t=c,e=h,n=a;break;case 4:t=p,e=c,n=a;break;default:t=a,e=c,n=h;break}}return new u(t,e,n,this.a)},e.prototype.toHSL=function(){return this.toRGB().toHSL()},e.prototype.toBytes=function(){return this.toRGB().toBytes()},e}(l),d=function(t){function e(e,n,i,r){t.call(this),this.h=e,this.s=n,this.l=i,this.a=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toRGB=function(){var t,e,n,i=this.h/360,r=this.s/100,o=this.l/100;if(0===r)t=e=n=o;else{var a=o<.5?o*(1+r):o+r-o*r,s=2*o-a;t=f(s,a,i+1/3),e=f(s,a,i),n=f(s,a,i-1/3)}return new u(t,e,n,this.a)},e.prototype.toHSV=function(){return this.toRGB().toHSV()},e.prototype.toBytes=function(){return this.toRGB().toBytes()},e}(l);function f(t,e,n){var i=n;return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function m(t){return parseFloat(parseFloat(parseInt(t,16)/255).toFixed(3))}function v(t,e){var n,i;if(null==t||"none"===t)return null;if(t instanceof l)return t;var r=t.toLowerCase();if(n=s(r))return r="transparent"===n[1]?new u(1,1,1,0):v(o.A[n[1]],e),r.match=[n[1]],r;if((n=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\b/i.exec(r))?i=new c(parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16),1):(n=/^#?([0-9a-f])([0-9a-f])([0-9a-f])\b/i.exec(r))?i=new c(parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16),1):(n=/^#?([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])\b/i.exec(r))?i=new c(parseInt(n[1]+n[1],16),parseInt(n[2]+n[2],16),parseInt(n[3]+n[3],16),m(n[4]+n[4])):(n=/^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\b/i.exec(r))?i=new c(parseInt(n[1],16),parseInt(n[2],16),parseInt(n[3],16),m(n[4])):(n=/^rgb\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/.exec(r))?i=new c(parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10),1):(n=/^rgba\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9.]+)\s*\)/.exec(r))?i=new c(parseInt(n[1],10),parseInt(n[2],10),parseInt(n[3],10),parseFloat(n[4])):(n=/^rgb\(\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*\)/.exec(r))?i=new u(parseFloat(n[1])/100,parseFloat(n[2])/100,parseFloat(n[3])/100,1):(n=/^rgba\(\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9]*\.?[0-9]+)%\s*,\s*([0-9.]+)\s*\)/.exec(r))&&(i=new u(parseFloat(n[1])/100,parseFloat(n[2])/100,parseFloat(n[3])/100,parseFloat(n[4]))),i)i.match=n;else if(!e)throw new Error("Cannot parse color: "+r);return i}},7103:function(t,e,n){"use strict";function i(t){var e=window.console;"undefined"!=typeof e&&e.log&&e.log(t)}n.d(e,{A:function(){return i}})},3452:function(t,e){"use strict";function n(t){var e={edge:/(edge)[ \/]([\w.]+)/i,webkit:/(chrome)[ \/]([\w.]+)/i,safari:/(webkit)[ \/]([\w.]+)/i,opera:/(opera)(?:.*version|)[ \/]([\w.]+)/i,msie:/(msie\s|trident.*? rv:)([\w.]+)/i,mozilla:/(mozilla)(?:.*? rv:([\w.]+))/i},n={};for(var i in e)if(e.hasOwnProperty(i)){var r=t.match(e[i]);if(r){n[i]=!0,n[r[1].toLowerCase().split(" ")[0].split("/")[0]]=!0,n.version=parseInt(document.documentMode||r[2],10);break}}return n}var i=null,r={get browser(){return"undefined"===typeof window||i||(i=n(window.navigator.userAgent)),i}};e.A=r},1811:function(t,e,n){"use strict";n.d(e,{A:function(){return r}});var i=n(9866);function r(t,e){var n,r=0;if(!e||e<=0)return t;var o=function(){var o=(0,i.A)()-r,a=arguments,s=function(){t.apply(null,a),r=(0,i.A)()};if(!r)return s();n&&clearTimeout(n),o>e?s():n=setTimeout(s,e-o)};return o.cancel=function(){clearTimeout(n)},o}},853:function(t,e,n){"use strict";var i=n(15),r=function(t){function e(e){t.call(this),this.childNodes=[],this.parent=null,e&&(this.srcElement=e,this.observe())}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.destroy=function(){var t=this;this.srcElement&&this.srcElement.removeObserver(this);for(var e=this.childNodes,n=0;n=0,o=this,a=t;if(r){var s=a.split("."),l=this.prefix;while(s.length>1){a=s.shift(),l+=a+".";var u=o[a];u||(u=new e({},l),u.addObserver(i),o[a]=u),o=u}a=s[0]}o._clear(a),o[a]=n},e.prototype._clear=function(t){var e=this[t];e&&e.removeObserver&&e.removeObserver(this)},e.prototype._wrap=function(t,n){var r=a.call(t),s=t;return null!==s&&(0,o.A)(s)&&"[object Object]"===r&&(t instanceof e||t instanceof i.A||(s=new e(s,this.prefix+n+".")),s.addObserver(this)),s},e}(r.A);e.A=s},2104:function(t,e,n){"use strict";n.d(e,{A:function(){return x}});var i=n(6651),r=n(1836),o=n(15),a=function(t){function e(){t.call(this),this._events={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.bind=function(t,e,n){var i=arguments,r=this,o=l(t),a=s(e),u=o.length;if(void 0===e){for(var c in t)r.bind(c,t[c]);return this}for(var h=function(t){var s=o[t],l=a?e:e[s];if(l){if(n){var u=l;l=function(){r.unbind(s,l),u.apply(r,i)},l.original=u}var c=r._events[s]=r._events[s]||[];c.push(l)}},p=0;p=0;i--)n[i]!==e&&n[i].original!==e||n.splice(i,1);else this._events[t]=[];return this},e}(o.A);function s(t){return"function"===typeof t}function l(t){return"string"===typeof t?[t]:t}function u(){this._defaultPrevented=!0}function c(){return!0===this._defaultPrevented}var h=a,p=n(8830),d=n(7439),f=n(8714),m=n(3836),v=n(9196),g=n(2841),y=["click","mouseenter","mouseleave","mousemove","resize"],b=function(t){function e(e,n){t.call(this),this.options=Object.assign({},n),this.element=e,this.element._kendoExportVisual=this.exportVisual.bind(this),this._click=this._handler("click"),this._mouseenter=this._handler("mouseenter"),this._mouseleave=this._handler("mouseleave"),this._mousemove=this._handler("mousemove"),this._visual=new i.A,(0,p.A)(e,this.options),this.bind(y,this.options),this._enableTracking()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.draw=function(t){this._visual.children.push(t)},e.prototype.clear=function(){this._visual.children=[]},e.prototype.destroy=function(){this._visual=null,this.element._kendoExportVisual=null,this.unbind()},e.prototype.eventTarget=function(t){var e,n=this,i=(0,d.A)(t);while(!e&&i){if(e=i._kendoNode,i===n.element)break;i=i.parentElement}if(e)return e.srcElement},e.prototype.exportVisual=function(){return this._visual},e.prototype.getSize=function(){return(0,p.A)(this.element)},e.prototype.currentSize=function(t){if(!t)return this._size;this._size=t},e.prototype.setSize=function(t){(0,p.A)(this.element,t),this.currentSize(t),this._resize()},e.prototype.resize=function(t){var e=this.getSize(),n=this.currentSize();(t||(e.width>0||e.height>0)&&(!n||e.width!==n.width||e.height!==n.height))&&(this.currentSize(e),this._resize(e,t),this.trigger("resize",e))},e.prototype.size=function(t){if(!t)return this.getSize();this.setSize(t)},e.prototype.suspendTracking=function(){this._suspendedTracking=!0},e.prototype.resumeTracking=function(){this._suspendedTracking=!1},e.prototype._enableTracking=function(){},e.prototype._resize=function(){},e.prototype._handler=function(t){var e=this;return function(n){var i=e.eventTarget(n);i&&!e._suspendedTracking&&e.trigger(t,{element:i,originalEvent:n,type:t})}},e.prototype._elementOffset=function(){var t=this.element,e=(0,f.A)(t),n=(0,m.A)(t),i=n.left,r=n.top;return{left:i+e.left,top:r+e.top}},e.prototype._surfacePoint=function(t){var e=this._elementOffset(),n=(0,v.A)(t),i=n.x-e.left,o=n.y-e.top,a=(0,g.A)(this.element).invert(),s=new r.A(i,o).transform(a);return s},e}(h),x=b},4879:function(t,e,n){"use strict";n.d(e,{A:function(){return C}});var i=n(7691),r=n(9917),o=n(562),a=n(1454),s=n(5123),l=n(1833);function u(t,e,n){return t=0&&p<=1&&d>=0&&d<=1)return new c.A(t.x+d*r,t.y+d*a)}var p=n(7739),d=n(9919),f=n(2226),m=n(6148),v=45,g=Math.pow,y=["radiusX","radiusY","startAngle","endAngle","anticlockwise"],b=function(t){function e(e,n){void 0===e&&(e=new c.A),void 0===n&&(n={}),t.call(this),this.setCenter(e),this.radiusX=n.radiusX,this.radiusY=n.radiusY||n.radiusX,this.startAngle=n.startAngle,this.endAngle=n.endAngle,this.anticlockwise=n.anticlockwise||!1,this.xRotation=n.xRotation}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.center,{radiusX:this.radiusX,radiusY:this.radiusY,startAngle:this.startAngle,endAngle:this.endAngle,anticlockwise:this.anticlockwise})},e.prototype.setCenter=function(t){return this._observerField("center",c.A.create(t)),this.geometryChange(),this},e.prototype.getCenter=function(){return this.center},e.prototype.pointAt=function(t){var e=this.center,n=(0,r.A)(t);return new c.A(e.x+this.radiusX*Math.cos(n),e.y+this.radiusY*Math.sin(n))},e.prototype.curvePoints=function(){var t,e=this,n=this.startAngle,i=this.anticlockwise?-1:1,r=[this.pointAt(n)],o=this._arcInterval(),a=o.endAngle-o.startAngle,s=Math.ceil(a/v),l=a/s,u=n;this.xRotation&&(t=(0,m.A)().rotate(this.xRotation,this.center));for(var c=1;c<=s;c++){var h=u+i*l,p=e._intervalCurvePoints(u,h,t);r.push(p.cp1,p.cp2,p.p2),u=h}return r},e.prototype.bbox=function(t){var e=this,n=this._arcInterval(),i=n.startAngle,r=n.endAngle,a=(0,p.A)(this.center,this.radiusX,this.radiusY,t),s=(0,o.A)(a.x),l=(0,o.A)(a.y),u=this.pointAt(r).transformCopy(t),h=k(s,i),d=k(l,i),m=this.pointAt(i).transformCopy(t),v=c.A.min(m,u),g=c.A.max(m,u);while(hn||i&&e===n)&&(n+=360),{startAngle:e,endAngle:n}},e.prototype._intervalCurvePoints=function(t,e,n){var i=this.pointAt(t),o=this.pointAt(e),a=this._derivativeAt(t),s=this._derivativeAt(e),l=((0,r.A)(e)-(0,r.A)(t))/3,u=new c.A(i.x+l*a.x,i.y+l*a.y),h=new c.A(o.x-l*s.x,o.y-l*s.y);return n&&(i.transform(n),o.transform(n),u.transform(n),h.transform(n)),{p1:i,cp1:u,cp2:h,p2:o}},e.prototype._derivativeAt=function(t){var e=(0,r.A)(t);return new c.A(-this.radiusX*Math.sin(e),this.radiusY*Math.cos(e))},e.prototype.containsPoint=function(t){var e,n=this._arcInterval(),i=n.endAngle-n.startAngle,r=this,o=r.center,a=r.radiusX,s=r.radiusY,l=o.distanceTo(t),c=Math.atan2(t.y-o.y,t.x-o.x),p=a*s/Math.sqrt(g(a,2)*g(Math.sin(c),2)+g(s,2)*g(Math.cos(c),2)),f=this.pointAt(this.startAngle).round(d.P),m=this.pointAt(this.endAngle).round(d.P),v=h(o,t.round(d.P),f,m);if(i<180)e=v&&u(o.distanceTo(v),l)&&u(l,p);else{var y=x(o.x,o.y,a,s,t.x,t.y);360!==y&&(y=(360+y)%360);var b=n.startAngle<=y&&y<=n.endAngle;e=b&&u(l,p)||!b&&(!v||v.equals(t))}return e},e.prototype._isOnPath=function(t,e){var n=this._arcInterval(),i=this.center,r=x(i.x,i.y,this.radiusX,this.radiusY,t.x,t.y);360!==r&&(r=(360+r)%360);var o=n.startAngle<=r&&r<=n.endAngle;return o&&this.pointAt(r).distanceTo(t)<=e},e.fromPoints=function(t,n,i,r,o,a,s){var l=w({x1:t.x,y1:t.y,x2:n.x,y2:n.y,rx:i,ry:r,largeArc:o,swipe:a,rotation:s});return new e(l.center,{startAngle:l.startAngle,endAngle:l.endAngle,radiusX:l.radiusX,radiusY:l.radiusY,xRotation:l.xRotation,anticlockwise:0===a})},e}((0,s.A)(i.A,y));function x(t,e,n,i,r,s){var l=(0,a.A)((r-t)/n,3),u=(0,a.A)((s-e)/i,3);return(0,a.A)((0,o.A)(Math.atan2(u,l)))}function w(t){var e=t.x1,n=t.y1,i=t.x2,s=t.y2,l=t.rx,u=t.ry,h=t.largeArc,p=t.swipe,d=t.rotation;void 0===d&&(d=0);var f=(0,r.A)(d),m=Math.cos(f),v=Math.sin(f),g=m*(e-i)/2+v*(n-s)/2,y=-v*(e-i)/2+m*(n-s)/2,b=h!==p?1:-1,x=Math.pow(g,2),w=Math.pow(y,2),k=Math.pow(l,2),C=Math.pow(u,2),_=x/k+w/C;_>1&&(_=Math.sqrt(x/k+w/C),l*=_,k=Math.pow(l,2),u*=_,C=Math.pow(u,2));var S=b*Math.sqrt((k*C-k*w-C*x)/(k*w+C*x));isNaN(S)&&(S=0);var M=S*(l*y)/u,A=u*g*-S/l,I=m*M-v*A+(e+i)/2,T=v*M+m*A+(n+s)/2,N=(g-M)/l,$=(y-A)/u,O=-(g+M)/l,L=-(y+A)/u,E=($>=0?1:-1)*(0,o.A)(Math.acos(N/Math.sqrt(N*N+$*$))),P=(0,a.A)((N*O+$*L)/(Math.sqrt(N*N+$*$)*Math.sqrt(O*O+L*L)),10),D=(N*L-$*O>=0?1:-1)*(0,o.A)(Math.acos(P));!p&&D>0&&(D-=360),p&&D<0&&(D+=360);var R=E+D,B=R>=0?1:-1;return R=Math.abs(R)%360*B,{center:new c.A(I,T),startAngle:E,endAngle:R,radiusX:l,radiusY:u,xRotation:d}}function k(t,e){var n=t;while(n0?n.x-r:o-n.x)/(o-r)+a-n.y>=0}return i?1:0}n.d(e,{A:function(){return i}})},6349:function(t,e,n){"use strict";var i=n(15),r=n(8599),o=n(9917),a=n(1454),s=function(t){function e(e,n,i,r,o,a){void 0===e&&(e=0),void 0===n&&(n=0),void 0===i&&(i=0),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),t.call(this),this.a=e,this.b=n,this.c=i,this.d=r,this.e=o,this.f=a}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.multiplyCopy=function(t){return new e(this.a*t.a+this.c*t.b,this.b*t.a+this.d*t.b,this.a*t.c+this.c*t.d,this.b*t.c+this.d*t.d,this.a*t.e+this.c*t.f+this.e,this.b*t.e+this.d*t.f+this.f)},e.prototype.invert=function(){var t=this,n=t.a,i=t.b,r=t.c,o=t.d,a=t.e,s=t.f,l=n*o-i*r;return 0===l?null:new e(o/l,-i/l,-r/l,n/l,(r*s-o*a)/l,(i*a-n*s)/l)},e.prototype.clone=function(){return new e(this.a,this.b,this.c,this.d,this.e,this.f)},e.prototype.equals=function(t){return!!t&&(this.a===t.a&&this.b===t.b&&this.c===t.c&&this.d===t.d&&this.e===t.e&&this.f===t.f)},e.prototype.round=function(t){return this.a=(0,a.A)(this.a,t),this.b=(0,a.A)(this.b,t),this.c=(0,a.A)(this.c,t),this.d=(0,a.A)(this.d,t),this.e=(0,a.A)(this.e,t),this.f=(0,a.A)(this.f,t),this},e.prototype.toArray=function(t){var e=[this.a,this.b,this.c,this.d,this.e,this.f];if((0,r.A)(t))for(var n=0;ne.y,r&&((0===a[l]||1===a[l])&&n.bottomRight().x>e.x||01)&&(c=0);var h=Math.min(Math.max(l,u),1);return(h>1||h<0)&&(h=1),{min:c,max:h}},e.prototype._intersectionsTo=function(t,e){var n;return n=this.controlOut()&&t.controlIn()?k([this.anchor(),this.controlOut(),t.controlIn(),t.anchor()],e,this.bboxTo(t)):(0,C.A)(this.anchor(),t.anchor(),e),n},e.prototype._isOnCurveTo=function(t,e,n,i){var r=this.bboxTo(t).expand(n,n);if(r.containsPoint(e)){var o=this.anchor(),s=this.controlOut(),l=t.controlIn(),c=t.anchor();if("start"===i&&o.distanceTo(e)<=n)return!u(o,s,e);if("end"===i&&c.distanceTo(e)<=n)return!u(c,l,e);var h=[o,s,l,c];if(x(h,e,"x","y",n)||x(h,e,"y","x",n))return!0;var p=(0,a.A)().rotate(45,e),d=[o.transformCopy(p),s.transformCopy(p),l.transformCopy(p),c.transformCopy(p)];return x(d,e,"x","y",n)||x(d,e,"y","x",n)}},e.prototype._isOnLineTo=function(t,e,n){var i=this.anchor(),o=t.anchor(),l=(0,s.A)(Math.atan2(o.y-i.y,o.x-i.x)),u=new r.A([i.x,i.y-n/2],[i.distanceTo(o),n]);return u.containsPoint(e.transformCopy((0,a.A)().rotate(-l,i)))},e.prototype._isOnPathTo=function(t,e,n,i){var r;return r=this.controlOut()&&t.controlIn()?this._isOnCurveTo(t,e,n/2,i):this._isOnLineTo(t,e,n),r},e}((0,_.A)(i.A,S));function A(t){for(var e=t.length,n=l.eN,i=l.uo,r=0;r1?new e(t[0],t[1],t[2]):new e(t.offset,t.color,t.opacity),n},e}(h(p.A,d)),m=f,v=n(5071),g=function(t){function e(e){void 0===e&&(e={}),t.call(this),this.stops=new o(this._createStops(e.stops)),this.stops.addObserver(this),this._userSpace=e.userSpace,this.id=(0,v.A)()}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={nodeType:{configurable:!0}};return n.nodeType.get=function(){return"Gradient"},e.prototype.userSpace=function(t){return(0,s.A)(t)?(this._userSpace=t,this.optionsChange(),this):this._userSpace},e.prototype._createStops=function(t){void 0===t&&(t=[]);for(var e=[],n=0;n=0&&this.stops.splice(e,1)},e.prototype.optionsChange=function(t){this.trigger("optionsChange",{field:"gradient"+(t?"."+t.field:""),value:this})},e.prototype.geometryChange=function(){this.optionsChange()},Object.defineProperties(e.prototype,n),e}(p.A),y=g},8703:function(t,e,n){"use strict";var i=n(1284),r=n(1836),o=n(9316),a=["start","end"],s=function(t){function e(e){void 0===e&&(e={}),t.call(this,e),this.start(e.start||new r.A),this.end(e.end||new r.A(1,0))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}((0,i.A)(o.A,a));e.A=s},4877:function(t,e,n){"use strict";var i=n(1284),r=n(1836),o=n(9316),a=n(8599),s=function(t){function e(e){void 0===e&&(e={}),t.call(this,e),this.center(e.center||new r.A),this._radius=(0,a.A)(e.radius)?e.radius:1,this._fallbackFill=e.fallbackFill}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.radius=function(t){return(0,a.A)(t)?(this._radius=t,this.geometryChange(),this):this._radius},e.prototype.fallbackFill=function(t){return(0,a.A)(t)?(this._fallbackFill=t,this.optionsChange(),this):this._fallbackFill},e}((0,i.A)(o.A,["center"]));e.A=s},9603:function(t,e,n){"use strict";var i=n(6349),r=n(4635),o=i.A.IDENTITY.toString(),a=function(t){return function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.bbox=function(t){var e,n=(0,r.A)(this.currentTransform(t)),i=n?n.toString():o;this._bboxCache&&this._matrixHash===i?e=this._bboxCache.clone():(e=this._bbox(n),this._bboxCache=e?e.clone():null,this._matrixHash=i);var a=this.options.get("stroke.width");return a&&e&&e.expand(a/2),e},e.prototype.geometryChange=function(){delete this._bboxCache,this.trigger("geometryChange",{element:this})},e}(t)};e.A=a},1112:function(t,e,n){"use strict";var i=n(8599),r="Gradient",o=function(t){return function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.fill=function(t,e){var n=this.options;if((0,i.A)(t)){if(t&&t.nodeType!==r){var o={color:t};(0,i.A)(e)&&(o.opacity=e),n.set("fill",o)}else n.set("fill",t);return this}return n.get("fill")},e.prototype.stroke=function(t,e,n){return(0,i.A)(t)?(this.options.set("stroke.color",t),(0,i.A)(e)&&this.options.set("stroke.width",e),(0,i.A)(n)&&this.options.set("stroke.opacity",n),this):this.options.get("stroke")},e}(t)};e.A=o},8199:function(t,e){"use strict";var n=function(t,e){return function(t){function n(){t.apply(this,arguments)}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n.prototype.traverse=function(t){for(var n=this[e],i=0;i0&&!(0,p.A)(t.color)},e.prototype._clippedBBox=function(t){return this.bbox(t)},Object.defineProperties(e.prototype,n),e}(l.A);e.A=d},4655:function(t,e,n){"use strict";var i=n(7691),r=[].push,o=[].pop,a=[].splice,s=[].shift,l=[].slice,u=[].unshift,c=function(t){function e(e){void 0===e&&(e=[]),t.call(this),this.length=0,this._splice(0,e.length,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.elements=function(t){return t?(this._splice(0,this.length,t),this._change(),this):this.slice(0)},e.prototype.push=function(){var t=arguments,e=r.apply(this,t);return this._add(t),e},e.prototype.slice=function(){return l.call(this)},e.prototype.pop=function(){var t=this.length,e=o.apply(this);return t&&this._remove([e]),e},e.prototype.splice=function(t,e){var n=l.call(arguments,2),i=this._splice(t,e,n);return this._change(),i},e.prototype.shift=function(){var t=this.length,e=s.apply(this);return t&&this._remove([e]),e},e.prototype.unshift=function(){var t=arguments,e=u.apply(this,t);return this._add(t),e},e.prototype.indexOf=function(t){for(var e=this,n=this.length,i=0;i=0&&(this.children.splice(e,1),t.parent=null,this.childrenChange("remove",[t],e)),this},e.prototype.removeAt=function(t){if(0<=t&&t2&&(v(0,n),r=n.length),r<2||2===r&&n[0].equals(n[1]))return i;var o,a,l=n[0],c=n[1],h=n[2];i.push(new s.A(l));while(l.equals(n[r-1]))e=!0,n.pop(),r--;if(2===r){var p=k(l,c,d,f);return(0,u.A)(i).controlOut(_(p,l,c,d,f)),i.push(new s.A(c,S(p,l,c,d,f))),i}if(e){l=n[r-1],c=n[0],h=n[1];var m=x(l,c,h);o=m[1],a=m[0]}else{var g=k(l,c,d,f);o=_(g,l,c,d,f)}for(var y=o,b=0;b<=r-3;b++)if(v(b,n),r=n.length,b+3<=r){l=n[b],c=n[b+1],h=n[b+2];var w=x(l,c,h);(0,u.A)(i).controlOut(y),y=w[1];var C=w[0];i.push(new s.A(c,C))}if(e){l=n[r-2],c=n[r-1],h=n[0];var M=x(l,c,h);(0,u.A)(i).controlOut(y),i.push(new s.A(c,M[0])),(0,u.A)(i).controlOut(M[1]),i.push(new s.A(h,a))}else{var A=k(c,h,d,f);(0,u.A)(i).controlOut(y),i.push(new s.A(h,S(A,c,h,d,f)))}return i}function v(t,e){while(e[t+1]&&(e[t].equals(e[t+1])||e[t+1].equals(e[t+2])))e.splice(t+1,1)}function g(t,e,n){var i=!1;if(t.x===e.x)i=!0;else if(e.x===n.x)(e.y=o||(i=!0)}return i}function y(t,e,n){var i=b(t,e),r=A(i,n.x);return t.x===e.x&&e.x===n.x||(0,c.A)(r,1)===(0,c.A)(n.y,1)}function b(t,e){var n=(e.y-t.y)/(e.x-t.x),i=t.y-n*t.x;return[i,n]}function x(t,e,n){var i,r=d,o=f,a=!1,s=!1;if(y(t,e,n))i=k(t,e,d,f);else{var l,u={x:C(t,e,n,d),y:C(t,e,n,f)};if(u.x&&u.y)i=k(t,n,d,f),a=!0;else if(g(t,e,n)&&(r=f,o=d),u[r])i=0;else l=n[o]e[i]&&e[i]>t[i]||n[i]2&&(s="l",u.splice(0,2))),V[s])V[s](t,{parameters:u,position:i,isRelative:l,previousCommand:n}),a&&a.toLowerCase()===G&&t.close();else if(s!==U)throw new Error("Error while parsing SVG path. Unsupported command: "+s);n=s})),t}var q=W,Y=n(1626),X=n(8014),J=n(1901),Q=" ",tt=function(t){return function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];return e.map((function(e){return e.toString(t)})).join(Q)}},et=function(t,e){return t.controlOut()&&e.controlIn()?"C":"L"},nt=function(t){function e(e){t.call(this,e),this.segments=new o,this.segments.addObserver(this),(0,P.A)(this.options.stroke)||(this.stroke("#000"),(0,P.A)(this.options.stroke.lineJoin)||this.options.set("stroke.lineJoin","miter"))}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={nodeType:{configurable:!0}};return n.nodeType.get=function(){return"Path"},e.prototype.moveTo=function(t,e){return this.suspend(),this.segments.elements([]),this.resume(),this.lineTo(t,e),this},e.prototype.lineTo=function(t,e){var n=(0,P.A)(e)?new l.A(t,e):t,i=new s.A(n);return this.segments.push(i),this},e.prototype.curveTo=function(t,e,n){if(this.segments.length>0){var i=(0,u.A)(this.segments),r=new s.A(n,e);this.suspend(),i.controlOut(t),this.resume(),this.segments.push(r)}return this},e.prototype.arc=function(t,e,n,i,r){if(this.segments.length>0){var o=(0,u.A)(this.segments),a=o.anchor(),s=(0,D.A)(t),c=new l.A(a.x-n*Math.cos(s),a.y-i*Math.sin(s)),h=new $.A(c,{startAngle:t,endAngle:e,radiusX:n,radiusY:i,anticlockwise:r});this._addArcSegments(h)}return this},e.prototype.arcTo=function(t,e,n,i,r,o){if(this.segments.length>0){var a=(0,u.A)(this.segments),s=a.anchor(),c=$.A.fromPoints(s,l.A.create(t),e,n,i,r,o);this._addArcSegments(c)}return this},e.prototype._addArcSegments=function(t){var e=this;this.suspend();for(var n=t.curvePoints(),i=1;i0){for(var r,o=[],a=tt(t),s=1;s1){if(n[0]._isOnPathTo(n[1],t,r,"start"))return!0;for(var o=2;o<=i-2;o++)if(n[o-1]._isOnPathTo(n[o],t,r))return!0;if(n[i-2]._isOnPathTo(n[i-1],t,r,"end"))return!0}return!1},e.prototype._bbox=function(t){var e,n=this.segments,i=n.length;if(1===i){var r=n[0].anchor().transformCopy(t);e=new O.A(r,L.A.ZERO)}else if(i>0)for(var o=1;o0){for(var i=[],r=0;r0&&(0,u.A)(this.paths).lineTo(t,e),this},e.prototype.curveTo=function(t,e,n){return this.paths.length>0&&(0,u.A)(this.paths).curveTo(t,e,n),this},e.prototype.arc=function(t,e,n,i,r){return this.paths.length>0&&(0,u.A)(this.paths).arc(t,e,n,i,r),this},e.prototype.arcTo=function(t,e,n,i,r,o){return this.paths.length>0&&(0,u.A)(this.paths).arcTo(t,e,n,i,r,o),this},e.prototype.close=function(){return this.paths.length>0&&(0,u.A)(this.paths).close(),this},e.prototype._bbox=function(t){return(0,Y.A)(this.paths,!0,t)},e.prototype.rawBBox=function(){return(0,Y.A)(this.paths,!1)},e.prototype._containsPoint=function(t){for(var e=this.paths,n=0;n",k=document.createElement("div"),C="undefined"!==typeof DOMParser;k.innerHTML=w,C&&k.firstChild.namespaceURI!==d&&(x=function(t,e){var n=new DOMParser,i=n.parseFromString(y(e),"text/xml");b(i);var r=document.adoptNode(i.documentElement);t.innerHTML="",t.appendChild(r)})}var _=x,S=n(3452),M="transform",A={clip:"clip-path",fill:"fill"};function I(t,e){return"clip"===t||"fill"===t&&(!e||"Gradient"===e.nodeType)}function T(){var t=document.getElementsByTagName("base")[0],e=document.location.href,n="";if(t&&!(S.A.browser||{}).msie){var i=e.indexOf("#");-1!==i&&(e=e.substring(0,i)),n=e}return n}var N=function(t){function e(e,n){t.call(this,e),this.definitions={},this.options=n}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.destroy=function(){this.element&&(this.element._kendoNode=null,this.element=null),this.clearDefinitions(),t.prototype.destroy.call(this)},e.prototype.load=function(t,e){for(var n=this,i=0;i0&&a.load(o);var l=n.element;l&&a.attachTo(l,e)}},e.prototype.root=function(){var t=this;while(t.parent)t=t.parent;return t},e.prototype.attachTo=function(t,e){var n=document.createElement("div");_(n,""+this.render()+"");var i=n.firstChild.firstChild;i&&((0,s.A)(e)?t.insertBefore(i,t.childNodes[e]||null):t.appendChild(i),this.setElement(i))},e.prototype.setElement=function(t){this.element&&(this.element._kendoNode=null),this.element=t,this.element._kendoNode=this;for(var e=this.childNodes,n=0;n"},e.prototype.renderOffset=function(){return l("offset",this.srcElement.offset())},e.prototype.mapStyle=function(){var t=this.srcElement;return[["stop-color",t.color()],["stop-opacity",t.opacity()]]},e.prototype.optionsChange=function(t){"offset"===t.field?this.attr(t.field,t.value):"color"!==t.field&&"opacity"!==t.field||this.css("stop-"+t.field,t.value)},e}($),P=E,D=function(t){function e(e){t.call(this,e),this.id=e.id,this.loadStops()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.loadStops=function(){for(var t=this,e=this.srcElement.stops,n=this.element,i=0;i"+this.renderChildren()+""},e.prototype.mapCoordinates=function(){var t=this.srcElement,e=t.start(),n=t.end(),i=[["x1",e.x],["y1",e.y],["x2",n.x],["y2",n.y],this.mapSpace()];return i},e}(R),F=B,z=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.template=function(){return""+this.renderChildren()+""},e.prototype.mapCoordinates=function(){var t=this.srcElement,e=t.center(),n=t.radius(),i=[["cx",e.x],["cy",e.y],["r",n],this.mapSpace()];return i},e}(R),j=z,V=function(t){function e(e){t.call(this),this.srcElement=e,this.id=e.id,this.load([e])}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.template=function(){return""+this.renderChildren()+""},e}($),H=V,Z=function(t){function e(){t.call(this),this.definitionMap={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.attachTo=function(t){this.element=t},e.prototype.template=function(){return""+this.renderChildren()+""},e.prototype.definitionChange=function(t){var e=t.definitions,n=t.action;"add"===n?this.addDefinitions(e):"remove"===n&&this.removeDefinitions(e)},e.prototype.createDefinition=function(t,e){var n;return"clip"===t?n=H:"fill"===t&&(e instanceof O.A?n=F:e instanceof L.A&&(n=j)),new n(e)},e.prototype.addDefinitions=function(t){var e=this;for(var n in t)e.addDefinition(n,t[n])},e.prototype.addDefinition=function(t,e){var n=this,i=n.element,r=n.definitionMap,o=e.id,a=r[o];if(a)a.count++;else{var s=this.createDefinition(t,e);r[o]={element:s,count:1},this.append(s),i&&s.attachTo(this.element)}},e.prototype.removeDefinitions=function(t){var e=this;for(var n in t)e.removeDefinition(t[n])},e.prototype.removeDefinition=function(t){var e=this.definitionMap,n=t.id,i=e[n];i&&(i.count--,0===i.count&&(this.remove(this.childNodes.indexOf(i.element),1),delete e[n]))},e}($),U=Z,G=function(t){function e(e){t.call(this),this.options=e,this.defs=new U}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.attachTo=function(t){this.element=t,this.defs.attachTo(t.firstElementChild)},e.prototype.clear=function(){a.A.prototype.clear.call(this)},e.prototype.template=function(){return this.defs.render()+this.renderChildren()},e.prototype.definitionChange=function(t){this.defs.definitionChange(t)},e}($),K=G,W=n(6651),q=n(6148),Y=n(1081),X=n(4653),J=n(2336),Q=n(7003),tt=n(2464),et={"fill.opacity":"fill-opacity","stroke.color":"stroke","stroke.width":"stroke-width","stroke.opacity":"stroke-opacity"},nt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.geometryChange=function(){this.attr("d",this.renderData()),this.invalidate()},e.prototype.optionsChange=function(e){switch(e.field){case"fill":e.value?this.allAttr(this.mapFill(e.value)):this.removeAttr("fill");break;case"fill.color":this.allAttr(this.mapFill({color:e.value}));break;case"stroke":e.value?this.allAttr(this.mapStroke(e.value)):this.removeAttr("stroke");break;case"transform":this.transformChange(e.value);break;default:var n=et[e.field];n&&this.attr(n,e.value);break}t.prototype.optionsChange.call(this,e)},e.prototype.content=function(){this.element&&(this.element.textContent=this.srcElement.content())},e.prototype.renderData=function(){return this.srcElement.toString(m)||void 0},e.prototype.mapStroke=function(t){var e=[];return t&&!(0,Q.A)(t.color)?(e.push(["stroke",t.color]),e.push(["stroke-width",t.width]),e.push(["stroke-linecap",this.renderLinecap(t)]),e.push(["stroke-linejoin",t.lineJoin]),(0,s.A)(t.opacity)&&e.push(["stroke-opacity",t.opacity]),(0,s.A)(t.dashType)&&e.push(["stroke-dasharray",this.renderDashType(t)])):e.push(["stroke",f]),e},e.prototype.renderStroke=function(){return u(this.mapStroke(this.srcElement.options.stroke))},e.prototype.renderDashType=function(t){var e=t.dashType,n=t.width;if(void 0===n&&(n=1),e&&e!==tt.I$){for(var i=tt.MT[e.toLowerCase()],r=[],o=0;o"},e}($),it=nt,rt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.renderData=function(){return this.srcElement.toPath().toString(m)},e}(it),ot=rt,at=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.geometryChange=function(){var t=this.center();this.attr("cx",t.x),this.attr("cy",t.y),this.attr("r",this.radius()),this.invalidate()},e.prototype.center=function(){return this.srcElement.geometry().center},e.prototype.radius=function(){return this.srcElement.geometry().radius},e.prototype.template=function(){return""},e}(it),st=at,lt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.template=function(){return""+this.renderChildren()+""},e.prototype.optionsChange=function(e){"transform"===e.field&&this.transformChange(e.value),t.prototype.optionsChange.call(this,e)},e}($),ut=lt,ct=/&/g,ht=//g;function mt(t){return String(t).replace(ct,"&").replace(ht,"<").replace(ft,">").replace(pt,""").replace(dt,"'")}var vt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.geometryChange=function(){this.allAttr(this.mapPosition()),this.invalidate()},e.prototype.optionsChange=function(e){"src"===e.field&&this.allAttr(this.mapSource()),t.prototype.optionsChange.call(this,e)},e.prototype.mapPosition=function(){var t=this.srcElement.rect(),e=t.topLeft();return[["x",e.x],["y",e.y],["width",t.width()+"px"],["height",t.height()+"px"]]},e.prototype.renderPosition=function(){return u(this.mapPosition())},e.prototype.mapSource=function(t){var e=this.srcElement.src();return t&&(e=mt(e)),[["xlink:href",e]]},e.prototype.renderSource=function(){return u(this.mapSource(!0))},e.prototype.template=function(){return""},e}(it),gt=vt,yt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.renderData=function(){return this.srcElement.toString(m)||"undefined"},e}(it),bt=yt,xt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.geometryChange=function(){var t=this.srcElement.geometry();this.attr("x",t.origin.x),this.attr("y",t.origin.y),this.attr("width",t.size.width),this.attr("height",t.size.height),this.attr("rx",t.cornerRadius[0]),this.attr("ry",t.cornerRadius[1]),this.invalidate()},e.prototype.size=function(){return this.srcElement.geometry().size},e.prototype.origin=function(){return this.srcElement.geometry().origin},e.prototype.rx=function(){return this.srcElement.geometry().cornerRadius[0]},e.prototype.ry=function(){return this.srcElement.geometry().cornerRadius[1]},e.prototype.template=function(){return""},e}(it),wt=xt,kt=n(9581),Ct=/&(?:[a-zA-Z]+|#\d+);/g;function _t(t){if(!t||"string"!==typeof t||!Ct.test(t))return t;var e=_t._element;return Ct.lastIndex=0,t.replace(Ct,(function(t){return e.innerHTML=t,e.textContent||e.innerText}))}"undefined"!==typeof document&&(_t._element=document.createElement("span"));var St=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.geometryChange=function(){var t=this.pos();this.attr("x",t.x),this.attr("y",t.y),this.invalidate()},e.prototype.optionsChange=function(e){"font"===e.field?(this.attr("style",c(this.mapStyle())),this.geometryChange()):"content"===e.field&&t.prototype.content.call(this,this.srcElement.content()),t.prototype.optionsChange.call(this,e)},e.prototype.mapStyle=function(e){var n=t.prototype.mapStyle.call(this,e),i=this.srcElement.options.font;return e&&(i=mt(i)),n.push(["font",i],["white-space","pre"]),n},e.prototype.pos=function(){var t=this.srcElement.position(),e=this.srcElement.measure();return t.clone().setY(t.y+e.baseline)},e.prototype.renderContent=function(){var t=this.srcElement.content();return t=_t(t),t=mt(t),(0,kt.fQ)(t)},e.prototype.renderTextAnchor=function(){var t;return!(this.options||{}).rtl||S.A.browser.msie||S.A.browser.edge||(t="end"),l("text-anchor",t)},e.prototype.template=function(){return""+this.renderContent()+""},e}(it),Mt=St;p.Arc=ot,p.Circle=st,p.Group=ut,p.Image=gt,p.MultiPath=bt,p.Path=it,p.Rect=wt,p.Text=Mt;var At="rtl";function It(t){var e;try{e=t.getScreenCTM?t.getScreenCTM():null}catch(o){}if(e){var n=-e.e%1,i=-e.f%1,r=t.style;0===n&&0===i||(r.left=n+"px",r.top=i+"px")}}var Tt,Nt,$t=function(t){function e(e,n){t.call(this,e,n),this._root=new K(Object.assign({rtl:(0,Y.A)(e,"direction").direction===At},this.options)),_(this.element,this._template("")),this._rootElement=this.element.firstElementChild,this._rootElement.style.width="100%",this._rootElement.style.height="100%",this._rootElement.style.overflow="hidden",It(this._rootElement),this._root.attachTo(this._rootElement),(0,X.A)(this.element,{click:this._click,mouseover:this._mouseenter,mouseout:this._mouseleave,mousemove:this._mousemove}),this.resize()}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={type:{configurable:!0}};return n.type.get=function(){return"svg"},e.prototype.destroy=function(){this._root&&(this._root.destroy(),this._root=null,this._rootElement=null,(0,J.A)(this.element,{click:this._click,mouseover:this._mouseenter,mouseout:this._mouseleave,mousemove:this._mousemove})),t.prototype.destroy.call(this)},e.prototype.translate=function(t){var e=Math.round(t.x)+" "+Math.round(t.y)+" "+this._size.width+" "+this._size.height;this._offset=t,this._rootElement.setAttribute("viewBox",e)},e.prototype.draw=function(e){t.prototype.draw.call(this,e),this._root.load([e])},e.prototype.clear=function(){t.prototype.clear.call(this),this._root.clear()},e.prototype.svg=function(){return""+this._template()},e.prototype.exportVisual=function(){var t=this,e=t._visual,n=t._offset;if(n){var i=new W.A;i.children.push(e),i.transform((0,q.A)().translate(-n.x,-n.y)),e=i}return e},e.prototype._resize=function(){this._offset&&this.translate(this._offset)},e.prototype._template=function(t){var e="string"===typeof t?t:"style='width: 100%; height: 100%; overflow: hidden;' ";return""+this._root.render()+""},Object.defineProperties(e.prototype,n),e}(i.A),Ot=$t,Lt=n(9794),Et=function(){return"undefined"!==typeof document},Pt=function(){return Et()&&document.createElement("canvas").getContext},Dt=function(){return Et()&&document.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")},Rt=function(t){function e(){t.call(this),this._items=[{name:"svg",type:Ot},{name:"canvas",type:Lt.A}]}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var n={support:{configurable:!0},current:{configurable:!0}};return n.support.get=function(){return Nt||(Nt={canvas:Pt(),svg:Dt()}),Nt},n.current.get=function(){return Tt||(Tt=new e),Tt},e.prototype.create=function(t,e){var n=this._items,i=n[0];if(e&&e.type)for(var o=e.type.toLowerCase(),a=0;a=this._size?(n[this._head.key]=null,this._head=this._head.newer,this._head.older=null):this._length++},e.prototype.get=function(t){var e=this._map[t];if(e)return e===this._head&&e!==this._tail&&(this._head=e.newer,this._head.older=null),e!==this._tail&&(e.older&&(e.older.newer=e.newer,e.newer.older=e.older),e.older=this._tail,e.newer=null,this._tail.newer=e,this._tail=e),e.value},e}(i.A);e.A=r},5753:function(t,e,n){"use strict";n.d(e,{A:function(){return r}});var i=n(8470);function r(t,e,n){return i.A.current.measure(t,e,n)}},8470:function(t,e,n){"use strict";var i=n(4127),r=n(15),o=n(9581);function a(){return{width:0,height:0,baseline:0}}var s,l={baselineMarkerSize:1};"undefined"!==typeof document&&(s=document.createElement("div"),s.style.cssText="position: absolute !important; top: -4000px !important; width: auto !important; height: auto !important;padding: 0 !important; margin: 0 !important; border: 0 !important;line-height: normal !important; visibility: hidden !important; white-space: pre!important;");var u=function(t){function e(e){t.call(this),this._cache=new i.A(1e3),this.options=Object.assign({},l,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.measure=function(t,e,n){if(void 0===n&&(n={}),"undefined"===typeof t||null===t)return a();var i=(0,o.T5)(e),r=(0,o.EN)(t+i),l=this._cache.get(r);if(l)return l;var u=a(),c=n.box||s,h=this._baselineMarker().cloneNode(!1);for(var p in e){var d=e[p];"undefined"!==typeof d&&(c.style[p]=d)}var f=!1!==n.normalizeText?(0,o.fQ)(t):String(t);return c.textContent=f,c.appendChild(h),document.body.appendChild(c),f.length&&(u.width=c.offsetWidth-this.options.baselineMarkerSize,u.height=c.offsetHeight,u.baseline=h.offsetTop+this.options.baselineMarkerSize),u.width>0&&u.height>0&&this._cache.put(r,u),c.parentNode.removeChild(c),u},e.prototype._baselineMarker=function(){var t=document.createElement("div");return t.style.cssText="display: inline-block; vertical-align: baseline;width: "+this.options.baselineMarkerSize+"px; height: "+this.options.baselineMarkerSize+"px;overflow: hidden;",t},e}(r.A);u.current=new u,e.A=u},9581:function(t,e,n){"use strict";n.d(e,{EN:function(){return s},T5:function(){return a},fQ:function(){return o}});var i=/\r?\n|\r|\t/g,r=" ";function o(t){return String(t).replace(i,r)}function a(t){var e=[];for(var n in t)e.push(n+t[n]);return e.sort().join("")}function s(t){for(var e=2166136261,n=0;n>>0}},549:function(t,e,n){"use strict";n.r(e),n.d(e,{DEG_TO_RAD:function(){return I.Td},LRUCache:function(){return T.A},MAX_NUM:function(){return I.eN},MIN_NUM:function(){return I.uo},TextMetrics:function(){return N.A},append:function(){return i.A},arabicToRoman:function(){return r.A},bindEvents:function(){return w.A},createPromise:function(){return o.A},defined:function(){return a.A},definitionId:function(){return s.A},deg:function(){return l.A},elementOffset:function(){return k.A},elementPadding:function(){return M.A},elementScale:function(){return A.A},elementSize:function(){return C.A},elementStyles:function(){return _.A},encodeBase64:function(){return u.A},eventCoordinates:function(){return c.A},eventElement:function(){return h.A},hashKey:function(){return O.EN},isTransparent:function(){return p.A},last:function(){return d.A},limitValue:function(){return f.A},measureText:function(){return $.A},mergeSort:function(){return m.A},normalizeText:function(){return O.fQ},now:function(){return v.A},objectKey:function(){return O.T5},promiseAll:function(){return g.A},rad:function(){return y.A},round:function(){return b.A},unbindEvents:function(){return S.A},valueOrDefault:function(){return x.A}});var i=n(9188),r=n(2876),o=n(5532),a=n(8599),s=n(5071),l=n(562),u=n(5844),c=n(9196),h=n(7439),p=n(7003),d=n(6964),f=n(1901),m=n(1867),v=n(9866),g=n(8721),y=n(9917),b=n(1454),x=n(9929),w=n(4653),k=n(3836),C=n(8830),_=n(1081),S=n(2336),M=n(8714),A=n(2841),I=n(2575),T=n(4127),N=n(8470),$=n(5753),O=n(9581)},9188:function(t,e,n){"use strict";function i(t,e){return t.push.apply(t,e),t}n.d(e,{A:function(){return i}})},2876:function(t,e,n){"use strict";n.d(e,{A:function(){return r}});var i={1:"i",10:"x",100:"c",2:"ii",20:"xx",200:"cc",3:"iii",30:"xxx",300:"ccc",4:"iv",40:"xl",400:"cd",5:"v",50:"l",500:"d",6:"vi",60:"lx",600:"dc",7:"vii",70:"lxx",700:"dcc",8:"viii",80:"lxxx",800:"dccc",9:"ix",90:"xc",900:"cm",1e3:"m"};function r(t){var e=[1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],n="";while(t>0)t>2,c=(3&a)<<4|s>>4,h=(15&s)<<2|l>>6,p=63&l;isNaN(s)?h=p=64:isNaN(l)&&(p=64),e=e+r.charAt(u)+r.charAt(c)+r.charAt(h)+r.charAt(p)}return e}},4542:function(t,e,n){"use strict";n.d(e,{CH:function(){return s},YH:function(){return o},bh:function(){return r}});var i=String.fromCharCode,r="þÿ";function o(t){for(var e="",n=0;n>>6),e+=i(128|63&r)):r<65536?(e+=i(224|r>>>12),e+=i(128|r>>>6&63),e+=i(128|63&r)):r<1114111&&(e+=i(240|r>>>18),e+=i(128|r>>>12&63),e+=i(128|r>>>6&63),e+=i(128|63&r))}return e}function a(t){return i(t>>8)+i(255&t)}function s(t){for(var e="",n=0;n>10),o=56320+(i-65536&1023);e+=a(r),e+=a(o)}}return e}},9196:function(t,e,n){"use strict";n.d(e,{A:function(){return r}});var i=n(8599);function r(t){return(0,i.A)((t.x||{}).location)?{x:t.x.location,y:t.y.location}:{x:t.pageX||t.clientX||0,y:t.pageY||t.clientY||0}}},7439:function(t,e,n){"use strict";function i(t){return void 0===t&&(t={}),t.touch?t.touch.initialTouch:t.target}n.d(e,{A:function(){return i}})},7003:function(t,e,n){"use strict";n.d(e,{A:function(){return r}});var i=n(8599);function r(t){return""===t||null===t||"none"===t||"transparent"===t||!(0,i.A)(t)}},6964:function(t,e,n){"use strict";function i(t){if(t)return t[t.length-1]}n.d(e,{A:function(){return i}})},1901:function(t,e,n){"use strict";function i(t,e,n){return Math.max(Math.min(t,n),e)}n.d(e,{A:function(){return i}})},1867:function(t,e,n){"use strict";function i(t,e){if(t.length<2)return t.slice();function n(t,n){var i=[],r=0,o=0,a=0;while(r>(-2*a&6)):0)n=i["indexOf"](n);return o};r["tDWcmv"]=function(t){for(var e=o(t),n=[],i=0,r=e["length"];i0&&(i.width-=f()),i}var v=function(t){if(!t.getBoundingClientRect){var e=m(t);return{bottom:e.height,left:0,right:e.width,top:0}}var n=t.getBoundingClientRect(),i=n.bottom,r=n.left,o=n.right,a=n.top;return{bottom:i,left:r,right:o,top:a}},g=v,y=function(t){var e=t.offsetParent;while(e&&"static"===e.style.position)e=e.offsetParent;return e||p(t)},b=y,x=function(t){return b(t)===t.ownerDocument.body},w=x,k=function(t){var e=t.style,n=e.display,i=e.left,r=e.position;t.style.display="",t.style.left="-10000px",t.style.position="absolute";var o=t.getBoundingClientRect();return t.style.display=n,t.style.left=i,t.style.position=r,o},C=function(t){var e=t.getBoundingClientRect(),n=e.left,i=e.top;return e.height||e.width||(e=k(t)),{top:i,left:n,height:e.height,width:e.width}},_=C;function S(t,e){var n=[],i=t.parentNode;while(i){if(n.push(i),i===e)break;i=i.parentNode}return n}function M(t){var e=p(t),n=c(t);return{x:n.pageXOffset||e.scrollLeft||0,y:n.pageYOffset||e.scrollTop||0}}function A(t){return t===(t.ownerDocument||{}).body?M(t):{x:t.scrollLeft,y:t.scrollTop}}function I(t){var e=b(t);return e?A(e):{x:0,y:0}}function T(t,e){return t?A(t):I(e)}var N=function(t,e){var n=c(t),i=n.getComputedStyle(t),r=_(t),o=e||b(t),a=t.ownerDocument,s=o!==a.body&&o!==a.documentElement,l={top:0,left:0};if("fixed"!==i.position&&s){var u=n.getComputedStyle(o);l=_(o),l.top+=parseInt(u.borderTopWidth,10),l.left+=parseInt(u.borderLeftWidth,10)}return{top:r.top-l.top,left:r.left-l.left,height:r.height,width:r.width}},$=N;function O(t,e,n){void 0===n&&(n=1);var i=e?b(e):null,r=$(t,i),o=r.top,a=r.left,s=r.height,l=r.width,u=T(i,t),c=u.x,h=u.y,p=t.ownerDocument,d=i===p.body||i===p.documentElement?1:n;return{top:o+h*d,left:a+c*d,height:s,width:l}}function L(t,e){return{top:t.top-e.y,left:t.left-e.x,height:t.height,width:t.width}}var E={fit:"fit",flip:"flip",none:"none"},P=function(t,e,n){var i=0;return t+e>n&&(i=n-(t+e)),t<0&&(i=-t),i},D=function(t){var e=t.offset,n=t.size,r=t.anchorSize,o=t.viewPortSize,a=t.anchorAlignPoint,s=t.elementAlignPoint,l=t.margin,u=0,c=s===i.center||s===i.middle,h=a===i.center||a===i.middle,p=2*l;if(s!==a&&!c&&!h){var d=a===i.top||a===i.left;e<0&&d?(u=n+r+p,e+u+n>o&&(u=0)):e>=0&&!d&&(e+n>o&&(u+=-(r+n+p)),e+u<0&&(u=0))}return u},R=function(t){var e=t.anchorRect,n=t.anchorAlign,i=t.elementRect,r=t.elementAlign,o=t.collisions,a=t.viewPort,s=t.margin;void 0===s&&(s={});var l=i.top,u=i.left,c=i.height,h=i.width,p=a.height,d=a.width,f=s.horizontal||0,m=s.vertical||0,v=0,g=0,y=o.vertical===E.fit,b=o.horizontal===E.fit,x=o.vertical===E.flip,w=o.horizontal===E.flip;y&&(g+=P(l,c,p)),b&&(v+=P(u,h,d)),x&&(g+=D({margin:m,offset:l,size:c,anchorSize:e.height,viewPortSize:p,anchorAlignPoint:n.vertical,elementAlignPoint:r.vertical})),w&&(v+=D({margin:f,offset:u,size:h,anchorSize:e.width,viewPortSize:d,anchorAlignPoint:n.horizontal,elementAlignPoint:r.horizontal}));var k=x&&0!==g,C=w&&0!==v,_=y&&0!==g,S=b&&0!==v;return{flipped:C||k,fitted:_||S,flip:{horizontal:C,vertical:k},fit:{horizontal:S,vertical:_},offset:{left:v,top:g}}},B=R;function F(t){var e=[],n=t.parentNode.firstElementChild;while(n)n!==t&&e.push(n),n=n.nextElementSibling;return e}function z(t,e){var n,i,r=S(t),o=e;while(o){if(n=F(o),i=r.reduce((function(t,e){return t.concat(n.filter((function(t){return t===e})))}),[])[0],i)break;o=o.parentElement}return i}function j(t){var e,n=!1;return function(){var i=[],r=arguments.length;while(r--)i[r]=arguments[r];return n||(e=t.apply(void 0,i),n=!0),e}}j((function(t){if(!V())return!1;var e=t?t.ownerDocument:document;if(!e||!e.body)return!1;var n=10,i=e.createElement("div");i.style.transform="matrix(10, 0, 0, 10, 0, 0)",i.innerHTML='
child
',e.body.appendChild(i);var r=i.children[0].getBoundingClientRect().top!==n;return e.body.removeChild(i),r}));var V=function(){return Boolean("undefined"!==typeof window&&window.document&&window.document.createElement)}},4199:function(t,e,n){"use strict";n.d(e,{ATm:function(){return P},BLb:function(){return j},DeK:function(){return m},EGr:function(){return J},FlX:function(){return F},HtB:function(){return Q},IlG:function(){return d},IxQ:function(){return D},L9Q:function(){return v},LjL:function(){return N},R2q:function(){return s},Sj_:function(){return T},T3d:function(){return L},UAH:function(){return q},USf:function(){return U},V9O:function(){return h},VYI:function(){return Y},WWM:function(){return S},Wi:function(){return R},Xse:function(){return K},Y8K:function(){return o},YAr:function(){return x},YgP:function(){return H},aVR:function(){return _},brG:function(){return p},cmS:function(){return M},eSy:function(){return Z},hcq:function(){return $},hdA:function(){return i},i3N:function(){return C},k_2:function(){return u},ki9:function(){return b},mAq:function(){return c},mML:function(){return O},nJH:function(){return V},ner:function(){return a},o6i:function(){return g},oEo:function(){return w},oqD:function(){return l},pAL:function(){return f},qEA:function(){return E},qX7:function(){return X},qcD:function(){return B},qzV:function(){return k},uEm:function(){return A},vLQ:function(){return z},wan:function(){return I},yQ9:function(){return G},yVr:function(){return r},yaS:function(){return y},z0_:function(){return W}});const i={name:"caret-alt-up",content:'',viewBox:"0 0 512 512"},r={name:"caret-alt-right",content:'',viewBox:"0 0 512 512"},o={name:"caret-alt-down",content:'',viewBox:"0 0 512 512"},a={name:"caret-alt-left",content:'',viewBox:"0 0 512 512"},s={name:"caret-alt-to-right",content:'',viewBox:"0 0 512 512"},l={name:"caret-alt-to-left",content:'',viewBox:"0 0 512 512"},u={name:"caret-alt-expand",content:'',viewBox:"0 0 512 512"},c={name:"chevron-up",content:'',viewBox:"0 0 512 512"},h={name:"chevron-right",content:'',viewBox:"0 0 512 512"},p={name:"chevron-down",content:'',viewBox:"0 0 512 512"},d={name:"chevron-left",content:'',viewBox:"0 0 512 512"},f={name:"arrows-swap",content:'',viewBox:"0 0 512 512"},m={name:"more-vertical",content:'',viewBox:"0 0 512 512"},v={name:"droplet-slider",content:'',viewBox:"0 0 512 512"},g={name:"arrow-rotate-cw",content:'',viewBox:"0 0 512 512"},y={name:"clock",content:'',viewBox:"0 0 512 512"},b={name:"calendar",content:'',viewBox:"0 0 512 512"},x={name:"cancel",content:'',viewBox:"0 0 512 512"},w={name:"check",content:'',viewBox:"0 0 512 512"},k={name:"check-outline",content:'',viewBox:"0 0 512 512"},C={name:"x",content:'',viewBox:"0 0 512 512"},_={name:"x-circle",content:'',viewBox:"0 0 512 512"},S={name:"plus",content:'',viewBox:"0 0 512 512"},M={name:"minus",content:'',viewBox:"0 0 512 512"},A={name:"sort-asc-small",content:'',viewBox:"0 0 512 512"},I={name:"sort-desc-small",content:'',viewBox:"0 0 512 512"},T={name:"filter",content:'',viewBox:"0 0 512 512"},N={name:"filter-clear",content:'',viewBox:"0 0 512 512"},$={name:"filter-add-expression",content:'',viewBox:"0 0 512 512"},O={name:"filter-add-group",content:'',viewBox:"0 0 512 512"},L={name:"upload",content:'',viewBox:"0 0 512 512"},E={name:"hyperlink-open",content:'',viewBox:"0 0 512 512"},P={name:"window",content:'',viewBox:"0 0 512 512"},D={name:"window-restore",content:'',viewBox:"0 0 512 512"},R={name:"window-minimize",content:'',viewBox:"0 0 512 512"},B={name:"search",content:'',viewBox:"0 0 512 512"},F={name:"exclamation-circle",content:'',viewBox:"0 0 512 512"},z={name:"palette",content:'',viewBox:"0 0 512 512"},j={name:"droplet-slash",content:'',viewBox:"0 0 512 512"},V={name:"copy",content:'',viewBox:"0 0 512 512"},H={name:"file",content:'',viewBox:"0 0 512 512"},Z={name:"file-txt",content:'',viewBox:"0 0 512 512"},U={name:"file-pdf",content:'',viewBox:"0 0 512 512"},G={name:"file-config",content:'',viewBox:"0 0 512 512"},K={name:"file-zip",content:'',viewBox:"0 0 512 512"},W={name:"file-video",content:'',viewBox:"0 0 512 512"},q={name:"file-audio",content:'',viewBox:"0 0 512 512"},Y={name:"file-image",content:'',viewBox:"0 0 512 512"},X={name:"file-presentation",content:'',viewBox:"0 0 512 512"},J={name:"file-data",content:'',viewBox:"0 0 512 512"},Q={name:"file-programming",content:'',viewBox:"0 0 512 512"}},5932:function(t,e,n){"use strict";n.d(e,{zW:function(){return $},gN:function(){return nt},q7:function(){return U},i0:function(){return it},px:function(){return rt}});var i=n(8756),r=function(t){if(!t)return 0;var e=t.ownerDocument.defaultView,n=e.getComputedStyle(t),i=parseFloat(n.marginTop),r=parseFloat(n.marginBottom);return t.offsetHeight+i+r},o=function(t){if(!t)return 0;var e=t.ownerDocument.defaultView,n=e.getComputedStyle(t),i=parseFloat(n.marginLeft),r=parseFloat(n.marginRight);return t.offsetWidth+i+r},a={"animation-container":"k-animation-container","animation-container-relative":"k-animation-container-relative","animation-container-fixed":"k-animation-container-fixed","push-right-enter":"k-push-right-enter","push-right-appear":"k-push-right-appear","push-right-enter-active":"k-push-right-enter-active","push-right-appear-active":"k-push-right-appear-active","push-right-exit":"k-push-right-exit","push-right-exit-active":"k-push-right-exit-active","push-left-enter":"k-push-left-enter","push-left-appear":"k-push-left-appear","push-left-enter-active":"k-push-left-enter-active","push-left-appear-active":"k-push-left-appear-active","push-left-exit":"k-push-left-exit","push-left-exit-active":"k-push-left-exit-active","push-down-enter":"k-push-down-enter","push-down-appear":"k-push-down-appear","push-down-enter-active":"k-push-down-enter-active","push-down-appear-active":"k-push-down-appear-active","push-down-exit":"k-push-down-exit","push-down-exit-active":"k-push-down-exit-active","push-up-enter":"k-push-up-enter","push-up-appear":"k-push-up-appear","push-up-enter-active":"k-push-up-enter-active","push-up-appear-active":"k-push-up-appear-active","push-up-exit":"k-push-up-exit","push-up-exit-active":"k-push-up-exit-active",expand:"k-expand","expand-vertical-enter":"k-expand-vertical-enter","expand-vertical-appear":"k-expand-vertical-appear","expand-vertical-enter-active":"k-expand-vertical-enter-active","expand-vertical-appear-active":"k-expand-vertical-appear-active","expand-vertical-exit":"k-expand-vertical-exit","expand-vertical-exit-active":"k-expand-vertical-exit-active","expand-horizontal-enter":"k-expand-horizontal-enter","expand-horizontal-appear":"k-expand-horizontal-appear","expand-horizontal-enter-active":"k-expand-horizontal-enter-active","expand-horizontal-appear-active":"k-expand-horizontal-appear-active","expand-horizontal-exit":"k-expand-horizontal-exit","expand-horizontal-exit-active":"k-expand-horizontal-exit-active","child-animation-container":"k-child-animation-container","fade-enter":"k-fade-enter","fade-appear":"k-fade-appear","fade-enter-active":"k-fade-enter-active","fade-appear-active":"k-fade-appear-active","fade-exit":"k-fade-exit","fade-exit-active":"k-fade-exit-active","zoom-in-enter":"k-zoom-in-enter","zoom-in-appear":"k-zoom-in-appear","zoom-in-enter-active":"k-zoom-in-enter-active","zoom-in-appear-active":"k-zoom-in-appear-active","zoom-in-exit":"k-zoom-in-exit","zoom-in-exit-active":"k-zoom-in-exit-active","zoom-out-enter":"k-zoom-out-enter","zoom-out-appear":"k-zoom-out-appear","zoom-out-enter-active":"k-zoom-out-enter-active","zoom-out-appear-active":"k-zoom-out-appear-active","zoom-out-exit":"k-zoom-out-exit","zoom-out-exit-active":"k-zoom-out-exit-active","slide-in-appear":"k-slide-in-appear",centered:"k-centered","slide-in-appear-active":"k-slide-in-appear-active","slide-down-enter":"k-slide-down-enter","slide-down-appear":"k-slide-down-appear","slide-down-enter-active":"k-slide-down-enter-active","slide-down-appear-active":"k-slide-down-appear-active","slide-down-exit":"k-slide-down-exit","slide-down-exit-active":"k-slide-down-exit-active","slide-up-enter":"k-slide-up-enter","slide-up-appear":"k-slide-up-appear","slide-up-enter-active":"k-slide-up-enter-active","slide-up-appear-active":"k-slide-up-appear-active","slide-up-exit":"k-slide-up-exit","slide-up-exit-active":"k-slide-up-exit-active","slide-right-enter":"k-slide-right-enter","slide-right-appear":"k-slide-right-appear","slide-right-enter-active":"k-slide-right-enter-active","slide-right-appear-active":"k-slide-right-appear-active","slide-right-exit":"k-slide-right-exit","slide-right-exit-active":"k-slide-right-exit-active","slide-left-enter":"k-slide-left-enter","slide-left-appear":"k-slide-left-appear","slide-left-enter-active":"k-slide-left-enter-active","slide-left-appear-active":"k-slide-left-appear-active","slide-left-exit":"k-slide-left-exit","slide-left-exit-active":"k-slide-left-exit-active","reveal-vertical-enter":"k-reveal-vertical-enter","reveal-vertical-appear":"k-reveal-vertical-appear","reveal-vertical-enter-active":"k-reveal-vertical-enter-active","reveal-vertical-appear-active":"k-reveal-vertical-appear-active","reveal-vertical-exit":"k-reveal-vertical-exit","reveal-vertical-exit-active":"k-reveal-vertical-exit-active","reveal-horizontal-enter":"k-reveal-horizontal-enter","reveal-horizontal-appear":"k-reveal-horizontal-appear","reveal-horizontal-enter-active":"k-reveal-horizontal-enter-active","reveal-horizontal-appear-active":"k-reveal-horizontal-appear-active","reveal-horizontal-exit":"k-reveal-horizontal-exit","reveal-horizontal-exit-active":"k-reveal-horizontal-exit-active"},s={outerHeight:r,outerWidth:o,styles:a},l=n(2923),u=function(){return u=Object.assign||function(t){for(var e,n=1,i=arguments.length;n .k-button):not(.k-colorpicker > .k-button)",u=".k-dropdownlist > .k-button,.k-colorpicker > .k-button",c=["button"+l,".k-button-group > button",".k-dropdownlist",".k-colorpicker"],h={styles:s},p=r,d=p.h,f=p.version&&"3"===p.version[0],m=h.styles,v={name:"KendoButton",emits:{click:null,mousedown:null,mouseup:null,pointerdown:null,pointerup:null,focus:null,blur:null,keypress:null,keydown:null},props:{ariaLabel:String,title:String,dir:String,selected:{type:Boolean,default:void 0},togglable:{type:Boolean,default:!1},icon:{type:String,default:function(){}},svgIcon:Object,iconClass:{type:String,default:function(){}},imageUrl:{type:String,default:function(){}},imageAlt:String,disabled:{type:Boolean,default:void 0},size:{type:String,default:"medium"},shape:{type:String},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid"},themeColor:{type:String,default:"base"}},created:function(){(0,o.$j)(a),this.currentActive=!0===this.$props.togglable&&!0===this.$props.selected,this._activeTemp=void 0},data:function(){return{currentActive:null}},computed:{computedSelected:function(){return void 0!==this._activeTemp?this._activeTemp:void 0!==this.$props.selected?this.$props.selected:this.currentActive},buttonClasses:function(){var t,e=this.$props,n=e.disabled,i=e.icon,r=e.iconClass,a=e.imageUrl,s=e.dir,l=e.size,u=e.shape,c=e.rounded,h=e.fillMode,p=e.themeColor,d=void 0!==i||void 0!==r||void 0!==a,f=(0,o.Rk)(this),v=f;return t={},t[m.button]=!0,t["k-button-".concat(o.OR.sizeMap[l]||l)]=l,t["k-button-".concat(u)]=u&&"rectangle"!==u,t["k-rounded-".concat(o.OR.roundedMap[c]||c)]=c,t["k-icon-button"]=!v&&d,t["k-disabled"]=n,t["k-selected"]=this.computedSelected,t["k-rtl"]="rtl"===s,t["k-button-".concat(h)]=h,t["k-button-".concat(h,"-").concat(p)]=h&&p,t}},updated:function(){this.$props.togglable&&void 0!==this.$props.selected&&this.$props.selected!==this.currentActive&&(this.currentActive=this.$props.selected)},methods:{focus:function(t){this.$el.focus(t)},toggleIfApplicable:function(){if(!this.disabled&&this.$props.togglable&&void 0===this.$props.selected){var t=!this.currentActive;this._activeTemp=t,this.currentActive=t,this._activeTemp=void 0}},handleClick:function(t){this.toggleIfApplicable(),this.disabled||this.$emit("click",t)},handleMouseDown:function(t){this.disabled||this.$emit("mousedown",t)},handlePointerDown:function(t){this.disabled||this.$emit("pointerdown",t)},handleMouseUp:function(t){this.disabled||this.$emit("mouseup",t)},handlePointerUp:function(t){this.disabled||this.$emit("pointerup",t)},handleFocus:function(t){this.disabled||this.$emit("focus",t)},handleBlur:function(t){this.disabled||this.$emit("blur",t)},handleKeypress:function(t){this.disabled||this.$emit("keypress",t)},handleKeydown:function(t){this.disabled||this.$emit("keydown",t)},handleContextmenu:function(t){this.disabled||this.$emit("contextmenu",t)}},setup:f?function(){var t=!!f;return{v3:t}}:void 0,render:function(t){var e=d||t,n=this.$props,i=n.togglable,r=n.icon,a=n.svgIcon,s=n.iconClass,l=n.imageUrl,u=n.imageAlt,c=(0,o.Rk)(this),h=function(){if(l)return e("img",{role:"presentation",attrs:this.v3?void 0:{role:"presentation",alt:u,src:l},class:"k-image",alt:u,src:l});if(r||a){var t=(0,o.xW)("k-button-icon",s);return e(o.In,{name:r,attrs:this.v3?void 0:{name:r,icon:a},icon:a,class:t})}return s?e("span",{role:"presentation",attrs:this.v3?void 0:{role:"presentation"},class:s}):null};return e("button",{class:this.buttonClasses,onClick:this.handleClick,on:this.v3?void 0:{click:this.handleClick,mousedown:this.handleMouseDown,mouseup:this.handleMouseUp,pointerdown:this.handlePointerDown,pointerup:this.handlePointerUp,focus:this.handleFocus,blur:this.handleBlur,keypress:this.handleKeypress,keydown:this.handleKeydown,contextmenu:this.handleContextmenu},onMousedown:this.handleMouseDown,onMouseup:this.handleMouseUp,onPointerdown:this.handlePointerDown,onPointerup:this.handlePointerUp,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeypress:this.handleKeypress,onKeydown:this.handleKeydown,onContextmenu:this.handleContextmenu,title:this.title,attrs:this.v3?void 0:{title:this.title,"aria-label":this.ariaLabel,"aria-disabled":this.$props.disabled||void 0,"aria-pressed":i?!!this.currentActive:void 0},"aria-label":this.ariaLabel,"aria-disabled":this.$props.disabled||void 0,"aria-pressed":i?!!this.currentActive:void 0},[h.call(this),c&&e("span",{class:"k-button-text"},[c])])}},g=v,y=r,b=(y.h,y.version&&"3"===y.version[0]),x={name:"KendoButtonWrap",props:{},setup:b?function(){var t=!!b;return{v3:t}}:void 0,render:function(t){var e=(0,o.Rk)(this);return e[0]}},w=x,k=r,C=k.h,_=k.version&&"3"===k.version[0],S=h.styles,M={name:"KendoButtonGroup",props:{disabled:{type:Boolean,default:void 0},width:String,dir:{type:String,default:function(){}}},created:function(){(0,o.$j)(a)},setup:_?function(){var t=!!_;return{v3:t}}:void 0,render:function(t){var e,n=C||t,i=(0,o.Rk)(this),r=function(t,e,i,r){var a,s=(0,o.xW)((a={},a[S["state-disabled"]]=this.$props.disabled,a[S["group-start"]]=r?i:0===e,a[S["group-end"]]=r?0===e:i,a));return n(w,{class:s,attrs:this.v3?void 0:{"aria-disabled":this.$props.disabled},"aria-disabled":this.$props.disabled},this.v3?function(){return[t]}:[t])},a=function(t){var e=this,n=t.length,i=void 0!==this.$props.dir?"rtl"===this.$props.dir:this.$el&&"rtl"===getComputedStyle(this.$el).direction||!1;return t.map((function(t,o){return e.isValidButton(t)?r.call(e,t,o,o===n-1,i):t}))},s=(0,o.xW)([S["button-group"]],(e={},e["k-disabled"]=this.$props.disabled,e[S["button-group-stretched"]]=!!this.$props.width,e));return n("div",{style:{width:this.width},dir:this.$props.dir,attrs:this.v3?void 0:{dir:this.$props.dir,role:"group","aria-disabled":this.$props.disabled},role:"group","aria-disabled":this.$props.disabled,class:s},[a.call(this,i)])},methods:{isValidButton:function(t){return t&&t.tag&&-1!==t.tag.toLowerCase().indexOf("button")||t.componentOptions&&t.componentOptions.tag&&-1!==t.componentOptions.tag.toLowerCase().indexOf("button")||t.type&&t.type.name&&-1!==t.type.name.toLowerCase().indexOf("kendobutton")}}},A=M,I=n(4199);(function(t){t["next"]="next",t["prev"]="prev",t["current"]="current",t["reset"]="reset"})(i||(i={}));var T,N=function(t,e){var n=e.items.findIndex((function(e){return e===t}));switch(e.type){case i.next:return n===e.items.length-1?t:e.items[n+1];case i.prev:return 0===n?t:e.items[n-1];case i.current:return e.payload;case i.reset:return null;default:return t}};(function(t){t["remove"]="remove",t["add"]="add",t["reorder"]="reorder"})(T||(T={}));var $,O,L=function(t,e){switch(e.type){case T.add:break;case T.remove:return t.filter((function(t){return t[e.valueField]!==e.payload}));case T.reorder:break;default:return t}},E=function(t,e,n){if(n||2===arguments.length)for(var i,r=0,o=e.length;r0)e[n]=arguments[n+1];return this.observer[t].apply(this.observer,e)},At.prototype.requiresHandlers=function(t){var e=this;if(this.observer.requiresHandlers)return this.observer.requiresHandlers(t);for(var n=0;n0?Math.ceil(e):Math.floor(e),e}var Lt=n(15),Et=n(7103),Pt=n(549),Dt=Pt,Rt=Dt.append,Bt=Dt.bindEvents,Ft=Dt.defined,zt=Dt.deg,jt=Dt.elementOffset,Vt=Dt.elementSize,Ht=Dt.eventCoordinates,Zt=Dt.eventElement,Ut=Dt.hashKey,Gt=Dt.last,Kt=Dt.limitValue,Wt=Dt.objectKey,qt=Dt.rad,Yt=Dt.round,Xt=Dt.unbindEvents,Jt=Dt.valueOrDefault,Qt=function(){};Qt.fetchFonts=function(t,e,n){void 0===n&&(n={depth:0});var i=5;!t||n.depth>i||!document.fonts||Object.keys(t).forEach((function(i){var r=t[i];"dataSource"!==i&&"$"!==i[0]&&r&&("font"===i?e.push(r):"object"===typeof r&&(n.depth++,Qt.fetchFonts(r,e,n),n.depth--))}))},Qt.loadFonts=function(t,e){var n=[];if(t.length>0&&document.fonts){try{n=t.map((function(t){return document.fonts.load(t)}))}catch(i){(0,Et.A)(i)}Promise.all(n).then(e,e)}else e()},Qt.preloadFonts=function(t,e){var n=[];Qt.fetchFonts(t,n),Qt.loadFonts(n,e)};var te=Qt;function ee(t,e){var n=t.prototype;n.options?n.options=ot({},n.options,e):n.options=e}function ne(t){for(var e=S,n=M,i=0,r=t.length;i=this.x1&&t.x<=this.x2&&t.y>=this.y1&&t.y<=this.y2},e.prototype.points=function(){return[new Se(this.x1,this.y1),new Se(this.x2,this.y1),new Se(this.x2,this.y2),new Se(this.x1,this.y2)]},e.prototype.getHash=function(){return[this.x1,this.y1,this.x2,this.y2].join(",")},e.prototype.overlaps=function(t){return!(t.y2=n*n&&f<=i*i},e.prototype.getBBox=function(){var t,e=this,n=new Te(S,S,M,M),i=Yt(this.startAngle%360),r=Yt((i+this.angle)%360),o=this.innerRadius,a=[0,90,180,270,i,r].sort($e),s=a.indexOf(i),l=a.indexOf(r);t=i===r?a:s0&&n===i&&(i+=De);var r=new Le.A(t.center.x,t.center.y),o=Math.max(t.radius,0),a=Math.max(t.innerRadius,0),s=new Ee.A(r,{startAngle:n,endAngle:i,radiusX:o,radiusY:o}),l=Pe.w.fromArc(s,e).close();if(a){s.radiusX=s.radiusY=a;var u=s.pointAt(i);l.lineTo(u.x,u.y),l.arc(i,n,a,a,!0)}else l.lineTo(r.x,r.y);return l},e}(Lt.A);Re.current=new Re;var Be=Re,Fe=n(3018),ze=n(6428),je=n(6148),Ve=n(6651);function He(t){return.5-Math.cos(t*Math.PI)/2}function Ze(t){return t}function Ue(t,e,n,i){var r=1.70158,o=0,a=i;return 0===t?n:1===t?n+i:(o||(o=.5),an)break}this.visual.insert(e,t)},e.prototype.traverse=function(t){for(var e=this.children,n=e.length,i=0;i0&&t.width()>0}))[0]}var fn=function(t){function e(e){t.call(this,e);var n=this.options;n.width=parseInt(n.width,10),n.height=parseInt(n.height,10),this.gradients={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflow=function(){var t=this,e=t.options,n=t.children,i=new Te(0,0,e.width,e.height);this.box=i.unpad(e.margin);for(var r=0;rl&&(c.push({groupElements:m,groupSize:h,groupElementsSize:p}),f=Math.max(f,p),d+=s+h,h=0,p=0,m=[]),h=Math.max(h,y[o]),p>0&&(p+=a),p+=y[r],m.push(g)}return c.push({groupElements:m,groupSize:h,groupElementsSize:p}),f=Math.max(f,p),d+=h,{groups:c,groupsSize:d,maxGroupElementsSize:f}},e.prototype.elementSize=function(t){return{width:t.box.width(),height:t.box.height()}},e.prototype.createVisual=function(){},e}(en);ee(gn,{vertical:!0,wrap:!0,vSpacing:0,spacing:0});var yn=gn,bn=n(3657),xn=n(5753),wn=bn.A,kn=function(t){function e(e,n){t.call(this,n),this.content=e,this.reflow(new Te)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflow=function(t){var e=this.options,n=e.size=xn.A(this.content,{font:e.font});this.baseline=n.baseline,this.box=new Te(t.x1,t.y1,t.x1+n.width,t.y1+n.height)},e.prototype.createVisual=function(){var t=this.options,e=t.font,n=t.color,i=t.opacity,r=t.cursor;this.visual=new wn(this.content,this.box.toRect().topLeft(),{font:e,fill:{color:n,opacity:i},cursor:r})},e}(en);ee(kn,{font:m,color:l});var Cn=kn;function _n(t){var e=t.origin,n=t.bottomRight();return new Te(e.x,e.y,n.x,n.y)}var Sn=/\n/m,Mn=function(t){function e(e,n,i){t.call(this,n),this.content=e,this.data=i,this._initContainer(),!1!==this.options._autoReflow&&this.reflow(new Te)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._initContainer=function(){var t=this.options,e=String(this.content).split(Sn),n=new yn({vertical:!0,align:t.align,wrap:!1}),i=ot({},t,{opacity:1,animation:null});this.container=n,this.append(n);for(var r=0;r0)e[n]=arguments[n+1];var i=this.intl;return Q(t)&&t.match(x)?i.format.apply(i,[t].concat(e)):i.toString(e[0],t)},Hn.prototype.localeAuto=function(t,e,n){var i,r=this.intl;return i=Q(t)&&t.match(x)?t.replace(Vn,(function(t,i,o){var a=e[parseInt(i,10)];return r.toString(a,o?o.substring(1):"",n)})):r.toString(e[0],t,n),i},Object.defineProperties(Hn.prototype,Zn);var Un=Hn,Gn=function(t,e){void 0===e&&(e={}),this._intlService=e.intlService,this.sender=e.sender||t,this.format=new Un(e.intlService),this.chart=t,this.rtl=Boolean(e.rtl)},Kn={intl:{configurable:!0}};Kn.intl.get=function(){return this._intlService||jn.implementation},Kn.intl.set=function(t){this._intlService=t,this.format.intl=t},Gn.prototype.notify=function(t,e){this.chart&&this.chart.trigger(t,e)},Gn.prototype.isPannable=function(t){var e=((this.chart||{}).options||{}).pannable;return e&&e.lock!==t},Object.defineProperties(Gn.prototype,Kn);var Wn,qn=Gn,Yn=function(){};Yn.register=function(t){Wn=t},Yn.create=function(t,e){if(Wn)return Wn.create(t,e)};var Xn=Yn;function Jn(t,e){var n=t.tickX,i=t.tickY,r=t.position,o=new Pe.w({stroke:{width:e.width,color:e.color}});return t.vertical?o.moveTo(n,r).lineTo(n+e.size,r):o.moveTo(r,i).lineTo(r,i+e.size),Y(o),o}function Qn(t,e){var n=t.lineStart,i=t.lineEnd,r=t.position,o=new Pe.w({stroke:{width:e.width,color:e.color,dashType:e.dashType}});return t.vertical?o.moveTo(n,r).lineTo(i,r):o.moveTo(r,n).lineTo(r,i),Y(o),o}var ti=function(t){function e(e,n){void 0===n&&(n=new qn),t.call(this,e),this.chartService=n,this.options.visible||(this.options=ot({},this.options,{labels:{visible:!1},line:{visible:!1},margin:0,majorTickSize:0,minorTickSize:0})),this.options.minorTicks=ot({},{color:this.options.line.color,width:this.options.line.width,visible:this.options.minorTickType!==A},this.options.minorTicks,{size:this.options.minorTickSize,align:this.options.minorTickType}),this.options.majorTicks=ot({},{color:this.options.line.color,width:this.options.line.width,visible:this.options.majorTickType!==A},this.options.majorTicks,{size:this.options.majorTickSize,align:this.options.majorTickType}),this.initFields(),this.options._deferLabels||this.createLabels(),this.createTitle(),this.createNotes()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initFields=function(){},e.prototype.labelsRange=function(){return{min:this.options.labels.skip,max:this.labelsCount()}},e.prototype.normalizeLabelRotation=function(t){var e=t.rotation;at(e)&&(t.alignRotation=e.align,t.rotation=e.angle)},e.prototype.createLabels=function(){var t=this,e=this.options,n=e.vertical?L:c,i=ot({},e.labels,{align:n,zIndex:e.zIndex}),r=Math.max(1,i.step);if(this.clearLabels(),i.visible){this.normalizeLabelRotation(i),"auto"===i.rotation&&(i.rotation=0,e.autoRotateLabels=!0);for(var o=this.labelsRange(),a=o.min;a0&&e.visible){var i=new Pe.w({stroke:{width:e.width,color:e.color,dashType:e.dashType}});i.moveTo(n.x1,n.y1).lineTo(n.x2,n.y2),t._alignLines&&Y(i);var r=this._lineGroup=new Ve.A;r.append(i),this.visual.append(r),this.createTicks(r)}},e.prototype.getActualTickSize=function(){var t=this.options,e=0;return t.majorTicks.visible&&t.minorTicks.visible?e=Math.max(t.majorTicks.size,t.minorTicks.size):t.majorTicks.visible?e=t.majorTicks.size:t.minorTicks.visible&&(e=t.minorTicks.size),e},e.prototype.createBackground=function(){var t=this,e=t.options,n=t.box,i=e.background;i&&(this._backgroundPath=Pe.w.fromRect(n.toRect(),{fill:{color:i},stroke:null}),this.visual.append(this._backgroundPath))},e.prototype.createPlotBands=function(){var t=this,e=this.options,n=e.plotBands||[],i=e.vertical,r=this.plotArea;if(0!==n.length){for(var o=this._plotbandGroup=new Ve.A({zIndex:-1}),a=bt(this.pane.axes,(function(e){return e.options.vertical!==t.options.vertical}))[0],s=0;se?-90:-45},e.prototype.autoRotateLabels=function(){var t=this;if(!this.options.autoRotateLabels||this.options.vertical)return!1;for(var e=this.getMajorTickPositions(),n=this.labels,i=Math.min(n.length,e.length-1),r=0,o=0;o0&&(!Ft(o.max)||i<=o.max))return null;if(e0||ii&&r>0&&(l=Kt(e,n,i),s=Kt(e-a,n,i-a)),{min:s,max:l}},e.prototype.valueRange=function(){return{min:this.seriesMin,max:this.seriesMax}},e.prototype.lineDir=function(){var t=this.options,e=t.vertical,n=t.reverse;return(e?-1:1)*(n?-1:1)},e.prototype.lineInfo=function(){var t=this.options,e=t.vertical,n=this.lineBox(),i=e?n.height():n.width(),r=e?H:V,o=this.lineDir(),a=1===o?1:2,s=r+a.toString(),l=n[s];return{axis:r,axisOrigin:s,axisDir:o,lineBox:n,lineSize:i,lineStart:l}},e.prototype.pointOffset=function(t){var e=this.lineInfo(),n=e.axis,i=e.axisDir,r=e.axisOrigin,o=e.lineBox,a=e.lineSize,s=i>0?t[n]-o[r]:o[r]-t[n],l=s/a;return l},e.prototype.scaleToDelta=function(t,e){var n,i=.999,r=Kt(t,-i,i);return n=r>0?e*Math.min(1,r):e-e/(1+r),n},e.prototype.labelsBetweenTicks=function(){return!this.options.justified},e.prototype.prepareUserOptions=function(){},e}(en);ee(ti,{labels:{visible:!0,rotation:0,mirror:!1,step:1,skip:0},line:{width:1,color:l,visible:!0},title:{visible:!0,position:c},majorTicks:{align:O,size:4,skip:0,step:1},minorTicks:{align:O,size:3,skip:0,step:1},axisCrossingValue:0,majorTickType:O,minorTickType:A,majorGridLines:{skip:0,step:1},minorGridLines:{visible:!1,width:1,color:l,skip:0,step:1},margin:5,visible:!0,reverse:!1,justified:!0,notes:{label:{text:""}},_alignLines:!0,_deferLabels:!1});var ei=ti,ni="milliseconds",ii="seconds",ri="minutes",oi="hours",ai="days",si="weeks",li="months",ui="years",ci=1,hi=1e3,pi=60*hi,di=60*pi,fi=24*di,mi=7*fi,vi=31*fi,gi=365*fi,yi={years:gi,months:vi,weeks:mi,days:fi,hours:di,minutes:pi,seconds:hi,milliseconds:ci};function bi(t,e){var n=t.getTime()-e,i=t.getTimezoneOffset()-e.getTimezoneOffset();return n-i*pi}function xi(t,e){return new Date(t.getTime()+e)}function wi(t){var e;return t instanceof Date?e=t:t&&(e=new Date(t)),e}function ki(t,e){void 0===e&&(e=0);var n=0,i=t.getDay();if(!isNaN(i))while(i!==e)0===i?i=6:i--,n++;return xi(t,-n*fi)}function Ci(t,e){return 0===e&&23===t.getHours()&&(t.setHours(t.getHours()+2),!0)}function _i(t,e){var n=new Date(t);n.setMinutes(0,0,0);var i=(t.getTimezoneOffset()-n.getTimezoneOffset())*pi;return xi(n,i+e*di)}function Si(t,e,n,i){var r=t;if(t){var o=wi(t),a=o.getHours();n===ui?(r=new Date(o.getFullYear()+e,0,1),Ci(r,0)):n===li?(r=new Date(o.getFullYear(),o.getMonth()+e,1),Ci(r,a)):n===si?(r=Si(ki(o,i),7*e,ai),Ci(r,a)):n===ai?(r=new Date(o.getFullYear(),o.getMonth(),o.getDate()+e),Ci(r,a)):n===oi?r=_i(o,e):n===ri?(r=xi(o,e*pi),r.getSeconds()>0&&r.setSeconds(0)):n===ii?r=xi(o,e*hi):n===ni&&(r=xi(o,e)),n!==ni&&r.getMilliseconds()>0&&r.setMilliseconds(0)}return r}function Mi(t,e,n){return Si(wi(t),0,e,n)}function Ai(t,e,n){var i=wi(t);return i&&Mi(i,e,n).getTime()===i.getTime()?i:Si(i,1,e,n)}function Ii(t,e){return t&&e?t.getTime()-e.getTime():-1}function Ti(t,e){return t.getTime()-e}function Ni(t){if(U(t)){for(var e=[],n=0;n0){var i=this.options.vertical?H:V,r=e[i+1],o=e[i+2],a=n[0],s=Gt(n);(a.box[i+1]>o||a.box[i+2]o||s.box[i+2]=0)a--;return t.slice(o,a+1)},e.prototype.lineInfo=function(){var t=this.options,e=t.vertical,n=t.reverse,i=this.lineBox(),r=e?i.height():i.width(),o=e?H:V,a=n?-1:1,s=1===a?1:2,l=o+s.toString(),u=i[l];return{axis:o,axisOrigin:l,axisDir:a,lineBox:i,lineSize:r,lineStart:u}},e.prototype.lineDir=function(){var t=this.options,e=t.reverse;return e?-1:1},e.prototype.getSlot=function(t,e,n){var i=this.options,r=i.reverse,o=i.justified,a=this.scaleOptions(),s=a.scale,l=a.box,u=a.min,c=this.lineInfo(),h=c.axis,p=c.lineStart,d=l.clone(),f=!Ft(e),m=Jt(t,0),v=Jt(e,m);v=Math.max(v-1,m),v=Math.max(m,v);var g=p+(m-u)*s,y=p+(v+1-u)*s;return f&&o&&(y=g),n&&(g=Kt(g,l[h+1],l[h+2]),y=Kt(y,l[h+1],l[h+2])),d[h+1]=r?y:g,d[h+2]=r?g:y,d},e.prototype.limitSlot=function(t){var e=this.options.vertical,n=e?H:V,i=this.lineBox(),r=t.clone();return r[n+1]=Kt(t[n+1],i[n+1],i[n+2]),r[n+2]=Kt(t[n+2],i[n+1],i[n+2]),r},e.prototype.slot=function(e,n,i){var r=Math.floor(this.options.min||0),o=e,a=n;return"string"===typeof o?o=this.categoryIndex(o):J(o)&&(o-=r),"string"===typeof a?a=this.categoryIndex(a):J(a)&&(a-=r),t.prototype.slot.call(this,o,a,i)},e.prototype.pointCategoryIndex=function(t){var e=this.options,n=e.reverse,i=e.justified,r=e.vertical,o=r?H:V,a=this.scaleOptions(),s=a.scale,l=a.box,u=a.min,c=a.max,h=n?c:u,p=l[o+1],d=l[o+2],f=t[o];if(fd)return null;var m=h+(f-p)/s,v=m%1;return i?m=Math.round(m):0===v&&m>0&&m--,Math.floor(m)},e.prototype.getCategory=function(t){var e=this.pointCategoryIndex(t);return null===e?null:this.options.categories[e]},e.prototype.categoryIndex=function(t){return this.totalIndex(t)-Math.floor(this.options.min||0)},e.prototype.categoryAt=function(t,e){var n=this.options;return(e?n.srcCategories:n.categories)[t]},e.prototype.categoriesCount=function(){return(this.options.categories||[]).length},e.prototype.translateRange=function(t){var e=this.options,n=this.lineBox(),i=e.vertical?n.height():n.width(),r=e.categories.length,o=i/r,a=Yt(t/o,g);return{min:a,max:r+a}},e.prototype.scaleRange=function(t,e){var n=Math.abs(this.pointOffset(e)),i=this.totalRangeIndices(),r=i.max-i.min,o=this.scaleToDelta(t,r),a=n*o,s=(1-n)*o,l=i.min+a,u=i.max-s;return u-li.skip?i.skip+i.step*Math.ceil((o-i.skip)/i.step):i.skip,{min:t-s,max:(e.categories.length?a+(n?1:0):0)-s}},e.prototype.createAxisLabel=function(t,e,n){var i=this.options,r=i.dataItems?i.dataItems[t]:null,o=Jt(i.categories[t],"");n.dataItem=r;var a=this.axisLabelText(o,e,n);return new On(o,a,t,r,e)},e.prototype.shouldRenderNote=function(t){var e=this.totalRangeIndices();return Math.floor(e.min)<=t&&t<=Math.ceil(e.max)},e.prototype.noteSlot=function(t){var e=this.options,n=t-Math.floor(e.min||0);return this.getSlot(n)},e.prototype.arrangeNotes=function(){t.prototype.arrangeNotes.call(this),this.hideOutOfRangeNotes()},e.prototype.hideOutOfRangeNotes=function(){var t=this,e=t.notes,n=t.box;if(e&&e.length)for(var i=this.options.vertical?H:V,r=n[i+1],o=n[i+2],a=0;a=Bi)return{min:m,max:v}},e.prototype.valueRange=function(){return this.range()},e.prototype.totalIndex=function(t){var e=this.options,n=this._categoriesMap?this._categoriesMap.get(t):zi(t,e.srcCategories);return n},e.prototype.currentRangeIndices=function(){var t,e=this.options,n=0;return J(e.min)&&(n=Math.floor(e.min)),t=J(e.max)?e.justified?Math.floor(e.max):Math.ceil(e.max)-1:this.totalCount()-1,{min:n,max:t}},e.prototype.mapCategories=function(){if(!this._categoriesMap)for(var t=this._categoriesMap=new kt,e=this.options.srcCategories,n=0;n=u){i=i||l[p].slice(0);do{o=i.shift()}while(o&&e===p&&ou&&(r=Math.ceil(f/u));break}p=Ki[h++]||Gt(Ki),f=s/yi[p],i=null}}t.baseUnitStep=r,t.baseUnit=p}function Qi(t){for(var e,n,i=t.categories,r=Ft(i)?i.length:0,o=S,a=0;a0&&(o=Math.min(o,l),n=o>=gi?ui:o>=vi-3*fi?li:o>=mi?si:o>=fi?ai:o>=di?oi:o>=pi?ri:ii)}e=s}t.baseUnit=n||ai}function tr(t){var e=(t.baseUnit||"").toLowerCase(),n=e!==Wi&&!Ct(e,Ki);return n&&Qi(t),e!==Wi&&t.baseUnitStep!==Gi||Ji(t),t}Xi.prototype.displayRange=function(){return{min:this.displayStart,max:this.displayEnd}},Xi.prototype.displayIndices=function(){if(!this._indices){var t=this.options,e=t.baseUnit,n=t.baseUnitStep,i=Li(this.displayStart,this.valueStart,e,n),r=Li(this.displayEnd,this.valueStart,e,n);this._indices={min:i,max:r}}return this._indices},Xi.prototype.total=function(){return{min:this.start,max:this.end}},Xi.prototype.totalCount=function(){var t=this.totalIndex(this.end);return t+(this.options.justified?1:0)},Xi.prototype.valueRange=function(){return{min:this.valueStart,max:this.valueEnd}},Xi.prototype.valueIndex=function(t){var e=this.options;return Math.floor(Li(t,this.valueStart,e.baseUnit,e.baseUnitStep))},Xi.prototype.totalIndex=function(t){var e=this.options;return Math.floor(Li(t,this.start,e.baseUnit,e.baseUnitStep))},Xi.prototype.dateIndex=function(t){var e=this.options;return Li(t,this.valueStart,e.baseUnit,e.baseUnitStep)},Xi.prototype.valuesCount=function(){var t=this.valueIndex(this.valueEnd);return t+1},Xi.prototype.values=function(){var t=this._values;if(!t){var e=this.options,n=this.valueRange();this._values=t=[];for(var i=n.min;i<=n.max;)t.push(i),i=Si(i,e.baseUnitStep,e.baseUnit,e.weekStartDay)}return t},Xi.prototype.dateAt=function(t,e){var n=this.options;return Si(e?this.start:this.valueStart,n.baseUnitStep*t,n.baseUnit,n.weekStartDay)},Xi.prototype.roundToTotalStep=function(t,e,n){var i=this.options,r=i.baseUnit,o=i.baseUnitStep,a=i.weekStartDay,s=this.start,l=Li(t,s,r,o),u=e?Math.ceil(l):Math.floor(l);return n&&(u+=n),Si(s,u*o,r,a)};var er=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){var t=new e(Object.assign({},this.options),this.chartService);return t.createLabels(),t},e.prototype.categoriesHash=function(){var t=this.dataRange.total().min;return this.options.baseUnit+this.options.baseUnitStep+t},e.prototype.initUserOptions=function(t){return t},e.prototype.initFields=function(){t.prototype.initFields.call(this);var e=this.chartService,n=e.intl,i=this.options,r=i.categories||[];if(r._parsed||(r=Di(n,r),r._parsed=!0),i=ot({roundToBaseUnit:!0},i,{categories:r,min:Pi(n,i.min),max:Pi(n,i.max),weekStartDay:Ri(i,n)}),e.panning&&e.isPannable(i.vertical?H:V)&&(i.roundToBaseUnit=!1),i.userSetBaseUnit=i.userSetBaseUnit||i.baseUnit,i.userSetBaseUnitStep=i.userSetBaseUnitStep||i.baseUnitStep,this.options=i,i.srcCategories=r,r.length>0){var o=qi(r),a=i.maxDivisions;if(this.dataRange=new Xi(o.min,o.max,tr(i)),a){var s=this.dataRange.displayRange(),l=Object.assign({},i,{justified:!0,roundToBaseUnit:!1,baseUnit:"fit",min:s.min,max:s.max,maxDateGroups:a}),u=this.dataRange.options;Ji(l,u.baseUnit,u.baseUnitStep),this.divisionRange=new Xi(o.min,o.max,l)}else this.divisionRange=this.dataRange}else i.baseUnit=i.baseUnit||ai,this.dataRange=this.divisionRange=new Yi(i);this.rangeLabels=[]},e.prototype.tickIndices=function(e){var n=this,i=n.dataRange,r=n.divisionRange,o=r.valuesCount();if(!this.options.maxDivisions||!o)return t.prototype.tickIndices.call(this,e);var a=[],s=r.values(),l=0;this.options.justified||(s=s.concat(r.dateAt(o)),l=.5);for(var u=0;u=1){var c=a.length-1;a.splice(u,0,a[c-1]+(a[c]-a[c-1])*e)}return a},e.prototype.shouldRenderNote=function(t){var e=this.range(),n=this.options.categories||[];return Ii(t,e.min)>=0&&Ii(t,e.max)<=0&&n.length},e.prototype.parseNoteValue=function(t){return Pi(this.chartService.intl,t)},e.prototype.noteSlot=function(t){return this.getSlot(t)},e.prototype.translateRange=function(t){var e=this.options,n=e.baseUnit,i=e.weekStartDay,r=e.vertical,o=this.lineBox(),a=r?o.height():o.width(),s=this.range(),l=a/(s.max-s.min),u=Yt(t/l,g);if(s.min&&s.max){var c=xi(e.min||s.min,u),h=xi(e.max||s.max,u);s={min:Si(c,0,n,i),max:Si(h,0,n,i)}}return s},e.prototype.labelsRange=function(){return{min:this.options.labels.skip,max:this.divisionRange.valuesCount()}},e.prototype.pan=function(t){if(this.isEmpty())return null;var e=this.options,n=this.lineBox(),i=e.vertical?n.height():n.width(),r=this.dataRange.displayRange(),o=r.min,a=r.max,s=this.dataRange.total(),l=i/(a-o),u=Yt(t/l,g)*(e.reverse?-1:1),c=xi(o,u),h=xi(a,u),p=this.limitRange(Ni(c),Ni(h),Ni(s.min),Ni(s.max),u);return p?(p.min=wi(p.min),p.max=wi(p.max),p.baseUnit=e.baseUnit,p.baseUnitStep=e.baseUnitStep||1,p.userSetBaseUnit=e.userSetBaseUnit,p.userSetBaseUnitStep=e.userSetBaseUnitStep,p):void 0},e.prototype.pointsRange=function(e,n){if(this.isEmpty())return null;var i=t.prototype.pointsRange.call(this,e,n),r=this.dataRange.displayRange(),o=this.dataRange.displayIndices(),a=Ti(r.max,r.min)/(o.max-o.min),s=this.options,l=xi(r.min,i.min*a),u=xi(r.min,i.max*a);return{min:l,max:u,baseUnit:s.userSetBaseUnit||s.baseUnit,baseUnitStep:s.userSetBaseUnitStep||s.baseUnitStep}},e.prototype.scaleRange=function(t,e){if(this.isEmpty())return{};var n=this.options,i=n.userSetBaseUnit===Wi,r=this.dataRange.total(),o=this.dataRange.displayRange(),a=o.min,s=o.max,l=Math.abs(this.pointOffset(e)),u=s-a,c=this.scaleToDelta(t,u),h=Math.round(l*c),p=Math.round((1-l)*c),d=this.dataRange.options,f=d.baseUnit,m=new Date(a.getTime()+h),v=new Date(s.getTime()-p);if(i){var g,y,b=n.autoBaseUnitSteps,x=n.maxDateGroups,w=Gt(b[f])*x*yi[f],k=Ti(s,a),C=Ti(v,m),_=Ki.indexOf(f);if(Cw&&f!==ui){var S=0;do{_++,f=Ki[_],S=0,y=2*yi[f];do{g=b[f][S],S++}while(S0&&(m=xi(a,-y),v=xi(s,y),m=xi(m,Kt(v,r.min,r.max)-v),v=xi(v,Kt(m,r.min,r.max)-m))}}return m&&v&&Ti(v,m)>0?{min:m,max:v,baseUnit:n.userSetBaseUnit||n.baseUnit,baseUnitStep:n.userSetBaseUnitStep||n.baseUnitStep}:void 0},e.prototype.zoomRange=function(t,e){var n=this.dataRange.total(),i=this.scaleRange(t,e);return i&&(i.minn.max&&(i.max=n.max)),i},e.prototype.range=function(){return this.dataRange.displayRange()},e.prototype.createLabels=function(){t.prototype.createLabels.call(this),this.createRangeLabels()},e.prototype.clearLabels=function(){t.prototype.clearLabels.call(this),this.rangeLabels=[]},e.prototype.arrangeLabels=function(){this.arrangeRangeLabels(),t.prototype.arrangeLabels.call(this)},e.prototype.arrangeRangeLabels=function(){var t=this,e=t.options,n=t.rangeLabels;if(0!==n.length){var i=this.lineBox(),r=e.vertical,o=e.rangeLabels.mirror||e.labels.mirror,a=n[0];if(a){var s=r?i.y1-a.box.height()/2:i.x1;this.positionLabel(a,o,s)}var l=n[1];if(l){var u=r?i.y2-l.box.height()/2:i.x2;this.positionLabel(l,o,u)}}},e.prototype.autoRotateLabels=function(){t.prototype.autoRotateLabels.call(this),this.autoRotateRangeLabels()},e.prototype.hideOutOfRangeLabels=function(){t.prototype.hideOutOfRangeLabels.call(this),this.hideOverlappingLabels()},e.prototype.hideOverlappingLabels=function(){var t=this,e=t.rangeLabels,n=t.labels;if(0!==e.length){var i=e[0];if(i&&i.options.visible)for(var r=0;r0;--s){var l=u(a,n[s]);if(!l)break}}function u(t,e){return!(e.options.visible&&!e.box.overlaps(t.box))&&(e.options.visible=!1,!0)}},e.prototype.contentBox=function(){for(var e=t.prototype.contentBox.call(this),n=this.rangeLabels,i=0;i=0&&e>=0){var r=t===e?0:t,o=(e-r)/e;if(!1===n||!n&&o>Ui)return 0;i=Math.max(0,r-(e-r)/2)}else i=t;return i}function rr(t,e,n){if(!t&&!e)return 1;var i;if(t<=0&&e<=0){var r=t===e?0:e,o=Math.abs((r-t)/r);if(!1===n||!n&&o>Ui)return 0;i=Math.min(0,r-(t-r)/2)}else i=e;return i}function or(t,e){return Yt(Math.floor(t/e)*e,g)}function ar(t,e){return Yt(Math.ceil(t/e)*e,g)}function sr(t){return Math.max(Math.min(t,Hi),-Hi)}var lr=Math.pow(10,1-g),ur=function(t){function e(e,n,i,r){t.call(this,Object.assign({},i,{seriesMin:e,seriesMax:n}),r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initUserOptions=function(t){var e=cr(t.seriesMin,t.seriesMax,t);return this.totalOptions=hr(e,t),dr(e,t)},e.prototype.initFields=function(){this.totalMin=this.totalOptions.min,this.totalMax=this.totalOptions.max,this.totalMajorUnit=this.totalOptions.majorUnit,this.seriesMin=this.options.seriesMin,this.seriesMax=this.options.seriesMax},e.prototype.clone=function(){return new e(this.seriesMin,this.seriesMax,Object.assign({},this.options),this.chartService)},e.prototype.startValue=function(){return 0},e.prototype.range=function(){var t=this.options;return{min:t.min,max:t.max}},e.prototype.getDivisions=function(t){if(0===t)return 1;var e=this.options,n=e.max-e.min;return Math.floor(Yt(n/t,p))+1},e.prototype.getTickPositions=function(t,e){var n=this.options,i=this.lineInfo(),r=i.axisDir,o=i.axisOrigin,a=i.lineBox,s=i.lineSize,l=n.max-n.min,u=s/l,c=t*u,h=this.getDivisions(t),d=[],f=a[o],m=0;e&&(m=e/t);for(var v=0;v0?d:f)),m[o+2]=sr(u+c*(a>0?f:d)),m},e.prototype.getValue=function(t){var e=this.options,n=Number(e.max),i=Number(e.min),r=this.pointOffset(t),o=r*(n-i);if(r<0||r>1)return null;var a=i+o;return Yt(a,g)},e.prototype.translateRange=function(t){var e=this.options,n=e.vertical,i=e.reverse,r=e.max,o=e.min,a=this.lineInfo(),s=a.lineSize,l=r-o,u=s/l,c=Yt(t/u,g);return!n&&!i||n&&i||(c=-c),{min:o+c,max:r+c,offset:c}},e.prototype.labelsCount=function(){return this.getDivisions(this.options.majorUnit)},e.prototype.createAxisLabel=function(t,e,n){var i=this.options,r=Yt(i.min+t*i.majorUnit,g),o=this.axisLabelText(r,e,n);return new On(r,o,t,null,e)},e.prototype.shouldRenderNote=function(t){var e=this.range();return e.min<=t&&t<=e.max},e.prototype.pan=function(t){var e=this.translateRange(t);return this.limitRange(e.min,e.max,this.totalMin,this.totalMax,e.offset)},e.prototype.pointsRange=function(t,e){var n=this.getValue(t),i=this.getValue(e),r=Math.min(n,i),o=Math.max(n,i);if(this.isValidRange(r,o))return{min:r,max:o}},e.prototype.scaleRange=function(t,e){var n=Math.abs(this.pointOffset(e)),i=this.options.max-this.options.min,r=this.scaleToDelta(t,i),o=n*r,a=(1-n)*r,s=Yt(this.options.min+o,g),l=Yt(this.options.max-a,g);return l-slr},e}(ei);function cr(t,e,n){var i=n.narrowRange,r=ir(t,e,i),o=rr(t,e,i),a=Ce(r,o),s={majorUnit:a};return!1!==n.roundToMajorUnit&&(r<0&&fr(r,a,1/3)&&(r-=a),o>0&&fr(o,a,1/3)&&(o+=a)),s.min=or(r,a),s.max=ar(o,a),s}function hr(t,e){return{min:Ft(e.min)?Math.min(t.min,e.min):t.min,max:Ft(e.max)?Math.max(t.max,e.max):t.max,majorUnit:t.majorUnit}}function pr(t,e){for(var n=0;n0?e.min=0:e.max=1),e.majorUnit?(t.min=or(t.min,e.majorUnit),t.max=ar(t.max,e.majorUnit)):o&&(r=ot(t,e),t.majorUnit=Ce(r.min,r.max))}t.minorUnit=(r.majorUnit||t.majorUnit)/5;var a=ot(t,r);return a.min>=a.max&&(n&&!i?a.max=a.min+a.majorUnit:!n&&i&&(a.min=a.max-a.majorUnit)),a}function fr(t,e,n){var i=Yt(Math.abs(t%e),g),r=e*(1-n);return 0===i||i>r}ee(ur,{type:"numeric",min:0,max:1,vertical:!0,majorGridLines:{visible:!0,width:1,color:l},labels:{format:"#.####################"},zIndex:1});var mr=ur,vr=1e3,gr=function(t){function e(e,n,i,r){var o=wi(e),a=wi(n),s=r.intl,l=i||{};l=ot(l||{},{min:Pi(s,l.min),max:Pi(s,l.max),axisCrossingValue:Di(s,l.axisCrossingValues||l.axisCrossingValue),weekStartDay:Ri(l,s)}),l=br(o,a,l),t.call(this,l,r),this.intlService=s,this.seriesMin=o,this.seriesMax=a;var u=l.weekStartDay||0;this.totalMin=Ni(Mi(Ni(o)-1,l.baseUnit,u)),this.totalMax=Ni(Ai(Ni(a)+1,l.baseUnit,u))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.seriesMin,this.seriesMax,Object.assign({},this.options),this.chartService)},e.prototype.range=function(){var t=this.options;return{min:t.min,max:t.max}},e.prototype.getDivisions=function(t){var e=this.options;return Math.floor(Ei(e.min,e.max,e.baseUnit)/t+1)},e.prototype.getTickPositions=function(t){for(var e=this.options,n=this.lineInfo(),i=n.axisDir,r=n.lineSize,o=n.lineStart,a=this.getDivisions(t),s=Ti(e.max,e.min),l=r/s,u=e.weekStartDay||0,c=[o],h=1;h0&&(a=Si(a,r,i.baseUnit,o));var s=e.dateFormats[i.baseUnit];e.format=e.format||s;var l=this.axisLabelText(a,e,n);return new On(a,l,t,null,e)},e.prototype.translateRange=function(t){var e=this.options,n=this.lineBox(),i=e.vertical,r=e.reverse,o=i?n.height():n.width(),a=this.range(),s=o/Ti(a.max,a.min),l=Yt(t/s,g);!i&&!r||i&&r||(l=-l);var u=xi(e.min,l),c=xi(e.max,l);return{min:u,max:c,offset:l}},e.prototype.shouldRenderNote=function(t){var e=this.range();return Ii(t,e.min)>=0&&Ii(t,e.max)<=0},e.prototype.pan=function(t){var e=this.translateRange(t,!0),n=this.limitRange(Ni(e.min),Ni(e.max),this.totalMin,this.totalMax,e.offset);if(n)return{min:wi(n.min),max:wi(n.max)}},e.prototype.pointsRange=function(t,e){var n=this.getValue(t),i=this.getValue(e),r=Math.min(n,i),o=Math.max(n,i);return{min:wi(r),max:wi(o)}},e.prototype.scaleRange=function(t,e){var n=Math.abs(this.pointOffset(e)),i=this.options.max-this.options.min,r=this.scaleToDelta(t,i),o=n*r,a=(1-n)*r,s=wi(Ni(this.options.min)+o),l=wi(Ni(this.options.max)-a);return l-s=gi?e=ui:t>=vi?e=li:t>=mi?e=si:t>=fi&&(e=ai),e}function br(t,e,n){var i=n.min||t,r=n.max||e,o=n.baseUnit||(r&&i?yr(bi(r,i)):oi),a=yi[o],s=n.weekStartDay||0,l=Mi(Ni(i)-1,o,s)||wi(r),u=Ai(Ni(r)+1,o,s),c=n.majorUnit?n.majorUnit:void 0,h=c||ar(Ce(l.getTime(),u.getTime()),a)/a,p=Ei(l,u,o),d=ar(p,h),f=d-p,m=Math.floor(f/2),v=f-m;return n.baseUnit||delete n.baseUnit,n.baseUnit=n.baseUnit||o,n.min=n.min||Si(l,-m,o,s),n.max=n.max||Si(u,v,o,s),n.minorUnit=n.minorUnit||h/5,n.majorUnit=h,n}ee(gr,{type:f,majorGridLines:{visible:!0,width:1,color:l},labels:{dateFormats:Zi}});var xr=gr,wr=10,kr=1e-6,Cr=function(t){function e(e,n,i,r){var o=ot({majorUnit:wr,min:e,max:n},i),a=o.majorUnit,s=Mr(n,a),l=Sr(e,n,o),u=_r(l,s,o,i);o.max=u.max,o.min=u.min,o.minorUnit=i.minorUnit||Yt(a-1,g),t.call(this,o,r),this.totalMin=Ft(i.min)?Math.min(l,i.min):l,this.totalMax=Ft(i.max)?Math.max(s,i.max):s,this.logMin=Yt(Ir(u.min,a),g),this.logMax=Yt(Ir(u.max,a),g),this.seriesMin=e,this.seriesMax=n,this.createLabels()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.seriesMin,this.seriesMax,Object.assign({},this.options),this.chartService)},e.prototype.startValue=function(){return this.options.min},e.prototype.getSlot=function(t,e,n){var i=this,r=i.options,o=i.logMin,a=i.logMax,s=r.majorUnit,l=r.min,u=r.max,c=this.lineInfo(),h=c.axis,p=c.axisDir,d=c.lineBox,f=c.lineSize,m=c.lineStart,v=p*(f/(a-o)),g=Jt(t,e||1),y=Jt(e,t||1);if(g<=0||y<=0)return null;n&&(g=Kt(g,l,u),y=Kt(y,l,u)),g=Ir(g,s),y=Ir(y,s);var b=Math.min(g,y)-o,x=Math.max(g,y)-o,w=new Te(d.x1,d.y1,d.x1,d.y1);return w[h+1]=sr(m+v*(p>0?b:x)),w[h+2]=sr(m+v*(p>0?x:b)),w},e.prototype.getValue=function(t){var e=this,n=e.options,i=e.logMin,r=e.logMax,o=n.majorUnit,a=this.lineInfo(),s=a.axis,l=a.axisDir,u=a.lineStart,c=a.lineSize,h=(r-i)/c,p=l*(t[s]-u),d=p*h;if(p<0||p>c)return null;var f=i+d;return Yt(Math.pow(o,f),g)},e.prototype.range=function(){var t=this.options;return{min:t.min,max:t.max}},e.prototype.translateRange=function(t){var e=this,n=e.options,i=e.logMin,r=e.logMax,o=n.reverse,a=n.vertical,s=n.majorUnit,l=this.lineBox(),u=a?l.height():l.width(),c=u/(r-i),h=Yt(t/c,g);return!a&&!o||a&&o||(h=-h),{min:Math.pow(s,i+h),max:Math.pow(s,r+h),offset:h}},e.prototype.labelsCount=function(){var t=Math.floor(this.logMax),e=Math.floor(t-this.logMin)+1;return e},e.prototype.getMajorTickPositions=function(){var t=[];return this.traverseMajorTicksPositions((function(e){t.push(e)}),{step:1,skip:0}),t},e.prototype.createTicks=function(t){var e=this.options,n=e.majorTicks,i=e.minorTicks,r=e.vertical,o=e.labels.mirror,a=this.lineBox(),s=[],l={vertical:r};function u(e,n){l.tickX=o?a.x2:a.x2-n.size,l.tickY=o?a.y1-n.size:a.y1,l.position=e,t.append(Jn(l,n))}return n.visible&&this.traverseMajorTicksPositions(u,n),i.visible&&this.traverseMinorTicksPositions(u,i),s},e.prototype.createGridLines=function(t){var e=this.options,n=e.minorGridLines,i=e.majorGridLines,r=e.vertical,o=t.lineBox(),a={lineStart:o[r?"x1":"y1"],lineEnd:o[r?"x2":"y2"],vertical:r},s=[],l=this.gridLinesVisual();function u(t,e){Ct(t,s)||(a.position=t,l.append(Qn(a,e)),s.push(t))}return i.visible&&this.traverseMajorTicksPositions(u,i),n.visible&&this.traverseMinorTicksPositions(u,n),l.children},e.prototype.traverseMajorTicksPositions=function(t,e){for(var n=this.lineInfo(),i=n.lineStart,r=n.step,o=this,a=o.logMin,s=o.logMax,l=Math.ceil(a)+e.skip;l<=s;l+=e.step){var u=Yt(i+r*(l-a),g);t(u,e)}},e.prototype.traverseMinorTicksPositions=function(t,e){for(var n=this,i=this.options,r=i.min,o=i.max,a=i.minorUnit,s=i.majorUnit,l=this.lineInfo(),u=l.lineStart,c=l.step,h=this,p=h.logMin,d=h.logMax,f=Math.floor(p),m=f;mo)break;if(b>=r){var x=Yt(u+c*(Ir(b,s)-p),g);t(x,e)}}},e.prototype.createAxisLabel=function(t,e,n){var i=Math.ceil(this.logMin+t),r=Math.pow(this.options.majorUnit,i),o=this.axisLabelText(r,e,n);return new On(r,o,t,null,e)},e.prototype.shouldRenderNote=function(t){var e=this.range();return e.min<=t&&t<=e.max},e.prototype.pan=function(t){var e=this.translateRange(t);return this.limitRange(e.min,e.max,this.totalMin,this.totalMax,e.offset)},e.prototype.pointsRange=function(t,e){var n=this.getValue(t),i=this.getValue(e),r=Math.min(n,i),o=Math.max(n,i);return{min:r,max:o}},e.prototype.scaleRange=function(t,e){var n=this.options,i=n.majorUnit,r=Ir(this.options.min,i),o=Ir(this.options.max,i),a=Math.abs(this.pointOffset(e)),s=o-r,l=this.scaleToDelta(t,s),u=Math.pow(i,r+a*l),c=Math.pow(i,o-(1-a)*l);return c-u.9)?Math.pow(e,Ir(t,e)+.2):Math.pow(e,Math.ceil(Ir(t,e))),n}function Ar(){throw new Error("Non positive values cannot be used for a logarithmic axis")}function Ir(t,e){return Math.log(t)/Math.log(e)}ee(Cr,{type:"log",majorUnit:wr,minorUnit:1,axisCrossingValue:1,vertical:!0,majorGridLines:{visible:!0,width:1,color:l},zIndex:1,_deferLabels:!0});var Tr=Cr,Nr={createGridLines:function(t){var e,n,i=this.options,r=Math.abs(this.box.center().y-t.lineBox().y1),o=[],a=!1;return i.majorGridLines.visible&&(e=this.majorGridLineAngles(t),a=!0,o=this.renderMajorGridLines(e,r,i.majorGridLines)),i.minorGridLines.visible&&(n=this.minorGridLineAngles(t,a),Rt(o,this.renderMinorGridLines(n,r,i.minorGridLines,t,a))),o},renderMajorGridLines:function(t,e,n){return this.renderGridLines(t,e,n)},renderMinorGridLines:function(t,e,n,i,r){var o=this.radiusCallback&&this.radiusCallback(e,i,r);return this.renderGridLines(t,e,n,o)},renderGridLines:function(t,e,n,i){for(var r={stroke:{width:n.width,color:n.color,dashType:n.dashType}},o=this.box.center(),a=new ze.A([o.x,o.y],e),s=this.gridLinesVisual(),l=0;l0){var h=new ze.A([t.x,t.y],c);if(i.type===a)l.append(new Fe.A(h,r));else{for(var p=new Pe.w(r),d=0;d1){var l=t.x-r.x,u=t.y-r.y,c=(zt(Math.atan2(u,l))+540)%360;i.sort((function(t,e){return Rr(t,c)-Rr(e,c)}));var h=Rr(i[0],i[1])/2,p=Rr(c,i[0]),d=90-h,f=180-p-d;s=o*(Math.sin(qt(f))/Math.sin(qt(d)))}return this.axisType().prototype.getValue.call(this,new Se(e.x1,e.y2-s))}};function Rr(t,e){return 180-Math.abs(Math.abs(t-e)-180)}var Br=Dr,Fr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.radarMajorGridLinePositions=function(){return this.getTickPositions(this.options.majorUnit)},e.prototype.radarMinorGridLinePositions=function(){var t=this.options,e=0;return t.majorGridLines.visible&&(e=t.majorUnit),this.getTickPositions(t.minorUnit,e)},e.prototype.axisType=function(){return t},e}(mr);ot(Fr.prototype,Br);var zr=Fr,jr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.radarMajorGridLinePositions=function(){var t=[];return this.traverseMajorTicksPositions((function(e){t.push(e)}),this.options.majorGridLines),t},e.prototype.radarMinorGridLinePositions=function(){var t=[];return this.traverseMinorTicksPositions((function(e){t.push(e)}),this.options.minorGridLines),t},e.prototype.axisType=function(){return t},e}(Tr);ot(jr.prototype,Br);var Vr=jr,Hr=n(50),Zr=.333,Ur=.01,Gr=function(t){function e(e){t.call(this),this.closed=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.process=function(t){var e=this,n=t.slice(0),i=[],r=this.closed,o=n.length;if(o>2&&(this.removeDuplicates(0,n),o=n.length),o<2||2===o&&n[0].equals(n[1]))return i;var a,s,l=n[0],u=n[1],c=n[2];i.push(new Hr.A(l));while(l.equals(n[o-1]))r=!0,n.pop(),o--;if(2===o){var h=this.tangent(l,u,V,H);return Gt(i).controlOut(this.firstControlPoint(h,l,u,V,H)),i.push(new Hr.A(u,this.secondControlPoint(h,l,u,V,H))),i}if(r){l=n[o-1],u=n[0],c=n[1];var p=this.controlPoints(l,u,c);a=p[1],s=p[0]}else{var d=this.tangent(l,u,V,H);a=this.firstControlPoint(d,l,u,V,H)}for(var f=a,m=0;m<=o-3;m++)if(e.removeDuplicates(m,n),o=n.length,m+3<=o){l=n[m],u=n[m+1],c=n[m+2];var v=e.controlPoints(l,u,c);Gt(i).controlOut(f),f=v[1];var g=v[0];i.push(new Hr.A(u,g))}if(r){l=n[o-2],u=n[o-1],c=n[0];var y=this.controlPoints(l,u,c);Gt(i).controlOut(f),i.push(new Hr.A(u,y[0])),Gt(i).controlOut(y[1]),i.push(new Hr.A(c,s))}else{var b=this.tangent(u,c,V,H);Gt(i).controlOut(f),i.push(new Hr.A(c,this.secondControlPoint(b,u,c,V,H)))}return i},e.prototype.removeDuplicates=function(t,e){while(e[t+1]&&(e[t].equals(e[t+1])||e[t+1].equals(e[t+2])))e.splice(t+1,1)},e.prototype.invertAxis=function(t,e,n){var i=!1;if(t.x===e.x)i=!0;else if(e.x===n.x)(e.y=o||(i=!0)}return i},e.prototype.isLine=function(t,e,n){var i=this.lineFunction(t,e),r=this.calculateFunction(i,n.x);return t.x===e.x&&e.x===n.x||Yt(r,1)===Yt(n.y,1)},e.prototype.lineFunction=function(t,e){var n=(e.y-t.y)/(e.x-t.x),i=t.y-n*t.x;return[i,n]},e.prototype.controlPoints=function(t,e,n){var i,r=V,o=H,a=!1,s=!1;if(this.isLine(t,e,n))i=this.tangent(t,e,V,H);else{var l,u={x:this.isMonotonicByField(t,e,n,V),y:this.isMonotonicByField(t,e,n,H)};if(u.x&&u.y)i=this.tangent(t,n,V,H),a=!0;else if(this.invertAxis(t,e,n)&&(r=H,o=V),u[r])i=0;else l=n[o]e[i]&&e[i]>t[i]||n[i]0&&(n=io.sum(t)/e),n},first:function(t){for(var e=t.length,n=0;n=0){this.valueGetter=this.createValueGetter(e,n);var u=this.getStandardError(i,this.getAverage(i));this.globalRange=function(t){return{low:t-u,high:t+u}}}},e.prototype.createValueGetter=function(t,e){var n,i=t.data,r=so.current,o=r.valueFields(t),a=Ft(i[0])?i[0]:{};if(U(a)){var s=e?o.indexOf(e):0;n=yt("["+s+"]")}else if(J(a))n=yt();else if(typeof a===$){var l=r.sourceFields(t,o);n=yt(l[o.indexOf(e)])}return n},e.prototype.getErrorRange=function(t,e){var n,i,r;if(!Ft(e))return null;if(this.globalRange)return this.globalRange(t);if(U(e))n=t-e[0],i=t+e[1];else if(J(r=parseFloat(e)))n=t-r,i=t+r;else{if(!(r=co.exec(e)))throw new Error("Invalid ErrorBar value: "+e);var o=t*(parseFloat(r[1])/100);n=t-Math.abs(o),i=t+Math.abs(o)}return{low:n,high:i}},e.prototype.getStandardError=function(t,e){return this.getStandardDeviation(t,e,!0)/Math.sqrt(e.count)},e.prototype.getStandardDeviation=function(t,e,n){for(var i=this,r=t.length,o=n?e.count-1:e.count,a=0,s=0;sXa)return null;for(var s in t)if(!Ct(s,n.excluded)&&t.hasOwnProperty(s)){var l=t[s];et(l)?(a=!0,i||(t[s]=Jt(l(e),r[s]))):at(l)&&(i||(n.defaults=r[s]),n.depth++,a=Ja(l,e,n,i)||a,n.depth--)}return a}function Qa(t){for(var e=t.length,n=0,i=0;i0)return t.value/r}return t.value},e.prototype.plotRange=function(t,e){var n=this;void 0===e&&(e=0);var i=this.categoryPoints[t.categoryIx];if(this.options.isStacked){for(var r=this.plotValue(t),o=r>=0,a=e,s=!1,l=0;l=0&&o||p<0&&!o)&&(a+=p,r+=p,s=!0,n.options.isStacked100&&(r=Math.min(r,1)))}return s&&(a-=e),[a,r]}var d=t.series,f=this.seriesValueAxis(d),m=this.categoryAxisCrossingValue(f);return[m,tt(t.value)?t.value:m]},e.prototype.stackLimits=function(t,e){for(var n=this,i=S,r=M,o=0;o0&&(this.errorTotals.positive[e]=Math.max(this.errorTotals.positive[e]||0,r)),{low:i,high:r}},e.prototype.addValue=function(t,e){var n=e.categoryIx,i=e.series,r=e.seriesIx,o=this.categoryPoints[n];o||(this.categoryPoints[n]=o=[]);var a=this.seriesPoints[r];a||(this.seriesPoints[r]=a=[]);var s=this.createPoint(t,e);s&&(Object.assign(s,e),s.owner=this,s.noteText=t.fields.noteText,Ft(s.dataItem)||(s.dataItem=i.data[n]),this.addErrorBar(s,t,n)),this.points.push(s),a.push(s),o.push(s),this.updateRange(t.valueFields,e)},e.prototype.evalPointOptions=function(t,e,n){var i=n.categoryIx,r=n.category,o=n.series,a=n.seriesIx,s={defaults:o._defaults,excluded:["data","aggregate","_events","tooltip","content","template","visual","toggle","_outOfRangeMinPoint","_outOfRangeMaxPoint","drilldownSeriesFactory"]},l=this._evalSeries[a];Ft(l)||(this._evalSeries[a]=l=Ja(t,{},s,!0));var u=t;return l&&(u=ot({},u),Ja(u,{value:e,category:r,index:i,series:o,dataItem:o.data[i]},s)),u},e.prototype.updateRange=function(t,e){var n=e.series.axis,i=t.value,r=this.valueAxisRanges[n];isFinite(i)&&null!==i&&(r=this.valueAxisRanges[n]=r||{min:S,max:M},r.min=Math.min(r.min,i),r.max=Math.max(r.max,i))},e.prototype.seriesValueAxis=function(t){var e=this.plotArea,n=t.axis,i=n?e.namedValueAxes[n]:e.valueAxis;if(!i)throw new Error("Unable to locate value axis with name "+n);return i},e.prototype.reflow=function(t){var e=this,n=this.categorySlots=[],i=this.points,r=this.categoryAxis,o=0;this.traverseDataPoints((function(t,a){var s=a.categoryIx,l=a.series,u=e.seriesValueAxis(l),c=i[o++],h=n[s];if(h||(n[s]=h=e.categorySlot(r,s,u)),c){var p=e.plotRange(c,u.startValue()),d=e.valueSlot(u,p);if(d){var f=e.pointSlot(h,d);c.aboveAxis=e.aboveAxis(c,u),c.stackValue=p[1],e.options.isStacked100&&(c.percentage=e.plotValue(c)),e.reflowPoint(c,f)}else c.visible=!1}})),this.reflowCategories(n),!this.options.clip&&this.options.limitPoints&&this.points.length&&this.limitPoints(),this.box=t},e.prototype.valueSlot=function(t,e){return t.getSlot(e[0],e[1],!this.options.clip)},e.prototype.limitPoints=function(){for(var t=this,e=this.categoryPoints,n=e[0].concat(Gt(e)),i=0;i=n},e.prototype.categoryAxisCrossingValue=function(t){var e=this.categoryAxis,n=t.options,i=[].concat(n.axisCrossingValues||n.axisCrossingValue);return i[e.axisIndex||0]||0},e.prototype.reflowPoint=function(t,e){t.reflow(e)},e.prototype.reflowCategories=function(){},e.prototype.pointSlot=function(t,e){var n=this.options,i=n.invertAxes,r=i?e:t,o=i?t:e;return new Te(r.x1,o.y1,r.x2,o.y2)},e.prototype.categorySlot=function(t,e){return t.getSlot(e)},e.prototype.traverseDataPoints=function(t){for(var e=this,n=this.options.series,i=Qa(n),r=n.length,o=0;o1&&(t=e.createSegment(h,l,s,t),e._addSegment(t)),h=[])}h.length>1&&(t=e.createSegment(h,l,s,t),e._addSegment(t))}this.children.unshift.apply(this.children,this._segments)},_addSegment:function(t){this._segments.push(t),t.parent=this},sortPoints:function(t){return t},seriesMissingValues:function(t){var e=t.missingValues,n=!e&&this.options.isStacked;return n?Io:e||To},getNearestPoint:function(t,e,n){for(var i,r=new Se(t,e),o=this.seriesPoints[n],a=S,s=0;s0&&!1!==n.visible&&this.createStroke({stroke:ot({color:i,opacity:t.opacity,lineCap:"butt"},n)})},e.prototype.strokeSegments=function(){var t=this._strokeSegments;return t||(t=this._strokeSegments=this.createStrokeSegments()),t},e.prototype.createStrokeSegments=function(){return this.segmentsFromPoints(this.points())},e.prototype.stackSegments=function(){return this.prevSegment?this.prevSegment.createStackSegments(this.stackPoints):this.createStackSegments(this.stackPoints)},e.prototype.createStackSegments=function(t){return this.segmentsFromPoints(this.toGeometryPoints(t)).reverse()},e.prototype.segmentsFromPoints=function(t){return t.map((function(t){return new Hr.A(t)}))},e.prototype.createStroke=function(t){var e=new Pe.w(t);e.segments.push.apply(e.segments,this.strokeSegments()),this.visual.append(e)},e.prototype.hasStackSegment=function(){return this.prevSegment||this.stackPoints&&this.stackPoints.length},e.prototype.createFill=function(t){var e=this.strokeSegments(),n=e.slice(0),i=this.hasStackSegment();if(i){var r=this.stackSegments();Rt(n,r)}var o=new Pe.w(t);o.segments.push.apply(o.segments,n),!i&&e.length>1&&this.fillToAxes(o),this.visual.append(o)},e.prototype.fillToAxes=function(t){var e=this.parent,n=e.options.invertAxes,i=e.seriesValueAxis(this.series),r=e.categoryAxisCrossingValue(i),o=i.getSlot(r,r,!0),a=this.strokeSegments(),s=a[0].anchor(),l=Gt(a).anchor(),u=n?o.x1:o.y1;n?t.lineTo(u,l.y).lineTo(u,s.y):t.lineTo(l.x,u).lineTo(s.x,u)},e}(us),As=Ms,Is=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createStrokeSegments=function(){return this.segmentsFromPoints(this.calculateStepPoints(this.linePoints))},e.prototype.createStackSegments=function(t){return this.segmentsFromPoints(this.calculateStepPoints(t)).reverse()},e}(As);ot(Is.prototype,ps);var Ts=Is,Ns=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createStrokeSegments=function(){var t=new Wr(this.options.closed),e=this.points();return t.process(e)},e.prototype.createStackSegments=function(){for(var t=this.strokeSegments(),e=[],n=t.length-1;n>=0;n--){var i=t[n];e.push(new Hr.A(i.anchor(),i.controlOut(),i.controlIn()))}return e},e}(As),$s=Ns,Os=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createSegment=function(t,e,n,i){var r,o,a,s=this.options.isStacked,l=(e.line||{}).style;if(s&&n>0&&i){var u=this.seriesMissingValues(e);"gap"!==u?(o=i.linePoints,r=i):o=this._gapStackPoints(t,n,l)}return a=l===Eo?Ts:l===Lo?$s:As,new a(t,e,n,r,o)},e.prototype.reflow=function(e){var n=this;t.prototype.reflow.call(this,e);var i=this._stackPoints;if(i)for(var r=0;r0&&!d);if(d)n!==Eo&&c>o&&!r[p][h-1]&&u.push(i._previousSegmentPoint(c,h,h-1,p)),u.push(d),n!==Eo&&c+10&&!r)a--,r=o[a][n];return r?r=o[a][e]:(r=this._createGapStackPoint(t),this._stackPoints.push(r)),r},e.prototype._createGapStackPoint=function(t){var e=this.pointOptions({},0),n=new ss(0,e);return n.categoryIx=t,n.series={},n},e.prototype.seriesMissingValues=function(t){return t.missingValues||Io},e.prototype.supportsPointInactiveOpacity=function(){return!1},e}(Ss),Ls=Os,Es=function(t){function e(){t.call(this),this.axisRanges={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.update=function(t){var e=this.axisRanges;for(var n in t){var i=t[n],r=e[n];e[n]=r=r||{min:S,max:M},r.min=Math.min(r.min,i.min),r.max=Math.max(r.max,i.max)}},e.prototype.reset=function(t){this.axisRanges[t]=void 0},e.prototype.query=function(t){return this.axisRanges[t]},e}(Lt.A),Ps=Es,Ds=function(t){function e(e,n,i){t.call(this,n),this.textBox=new An(e,this.options,i),this.append(this.textBox)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createVisual=function(){this.textBox.options.noclip=this.options.noclip},e.prototype.reflow=function(t){var e=this.options,n=e.vertical,i=e.aboveAxis,r=this.children[0],o=r.options,a=r.box,s=r.options.padding,l=t;o.align=n?c:_,o.vAlign=n?R:c,e.position===Ba?n?(o.vAlign=R,!i&&a.height()0&&i.height()>0&&this.createRect(this.visual)},e.prototype.createRect=function(t){var e=this.options,n=e.border,i=Ft(n.opacity)?n.opacity:e.opacity,r=this.box.toRect();r.size.width=Math.round(r.size.width);var o=this.rectVisual=Pe.w.fromRect(r,{fill:{color:this.color,opacity:e.opacity},stroke:{color:this.getBorderColor(),width:n.width,opacity:i,dashType:n.dashType}}),a=this.box.width(),s=this.box.height(),l=e.vertical?a:s;if(l>Fs&&(Y(o),(a<1||s<1)&&(o.options.stroke.lineJoin="round")),t.append(o),Bs(e)){var u=this.createGradientOverlay(o,{baseColor:this.color},ot({end:e.vertical?void 0:[0,1]},e.overlay));t.append(u)}},e.prototype.createHighlight=function(t){var e=Pe.w.fromRect(this.box.toRect(),t);return Y(e)},e.prototype.highlightVisual=function(){return this.rectVisual},e.prototype.highlightVisualArgs=function(){return{options:this.options,rect:this.box.toRect(),visual:this.rectVisual}},e.prototype.getBorderColor=function(){var t=this.color,e=this.options.border,n=e._brightness||yo,i=e.color;return Ft(i)||(i=new ce.A(t).brightness(n).toHex()),i},e.prototype.tooltipAnchor=function(){var t,e,n=this,i=n.options,r=n.box,o=n.aboveAxis,a=this.owner.pane.clipBox()||r,s=_,l=R;if(i.vertical)t=Math.min(r.x2,a.x2)+bo,o?e=Math.max(r.y1,a.y1):(e=Math.min(r.y2,a.y2),l=u);else{var c=Math.max(r.x1,a.x1),h=Math.min(r.x2,a.x2);i.isStacked?(l=u,o?(s=L,t=h):t=c,e=Math.max(r.y1,a.y1)-bo):(o?t=h+bo:(t=c-bo,s=L),e=Math.max(r.y1,a.y1))}return{point:new Se(t,e),align:{horizontal:s,vertical:l}}},e.prototype.overlapsBox=function(t){return this.box.overlaps(t)},e.prototype.pointData=function(){return{dataItem:this.dataItem,category:this.category,value:this.value,percentage:this.percentage,stackValue:this.stackValue,runningTotal:this.runningTotal,total:this.total,series:this.series}},e}(en);ot(zs.prototype,is),ot(zs.prototype,os),zs.prototype.defaults={border:{width:1},vertical:!0,overlay:{gradient:"glass"},labels:{visible:!1,format:"{0}"},opacity:1,notes:{label:{}}};var js=zs;function Vs(t,e){t.forEach(e)}function Hs(t,e){for(var n=t.length,i=n-1;i>=0;i--)e(t[i],i-n-1)}var Zs=function(t){function e(e){t.call(this,e),this.forEach=e.rtl?Hs:Vs}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflow=function(t){var e=this.options,n=e.vertical,i=e.gap,r=e.spacing,o=this.children,a=o.length,s=n?H:V,l=a+i+r*(a-1),u=(n?t.height():t.width())/l,c=t[s+1]+u*(i/2);this.forEach(o,(function(e,n){var i=(e.box||t).clone();i[s+1]=c,i[s+2]=c+u,e.reflow(i),n0&&n.options.set("stroke",{color:this.getBorderColor(),width:e.border.width,dashType:e.border.dashType,opacity:Jt(e.border.opacity,e.opacity)}),Y(n),t.append(n),Bs(e)&&t.append(this.createGradientOverlay(n,{baseColor:this.color},ot({end:e.vertical?void 0:[0,1]},e.overlay)))},e.prototype.createLines=function(t,e){this.drawLines(t,e,this.lines,e.line)},e.prototype.drawLines=function(t,e,n,i){if(n)for(var r={stroke:{color:i.color||this.color,opacity:Jt(i.opacity,e.opacity),width:i.width,dashType:i.dashType,lineCap:"butt"}},o=0;o{4:d}Open:{0:C}High:{1:C}Low:{2:C}Close:{3:C}"},highlight:{opacity:1,border:{width:1,opacity:1},line:{width:1,opacity:1}},notes:{visible:!0,label:{}}}),ot(Ys.prototype,is),ot(Ys.prototype,os);var Xs=Ys;function Js(t){return no(t)===t.length}var Qs=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflowCategories=function(t){for(var e=this.children,n=e.length,i=0;ir.close&&(a=t.fields.downColor||n.downColor||n.color),et(n.color)&&(a=o.color),o.vertical=!this.options.invertAxes;var s=new i(r,o);return s.color=a,s},e.prototype.splitValue=function(t){return[t.low,t.open,t.close,t.high]},e.prototype.updateRange=function(t,e){var n=e.series.axis,i=this.splitValue(t),r=this.valueAxisRanges[n];r=this.valueAxisRanges[n]=r||{min:S,max:M},r=this.valueAxisRanges[n]={min:Math.min.apply(Math,i.concat([r.min])),max:Math.max.apply(Math,i.concat([r.max]))}},e.prototype.formatPointValue=function(t,e){var n=t.value;return this.chartService.format.auto(e,n.open,n.high,n.low,n.close,t.category)},e.prototype.animationPoints=function(){return this.points},e}(es);ot(Qs.prototype,Cs);var tl=Qs,el=function(t){function e(e,n){t.call(this,e,n),this.createNote()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflow=function(t){var e,n,i=this,r=i.options,o=i.value,a=i.owner,s=a.seriesValueAxis(r);this.boxSlot=n=s.getSlot(o.q1,o.q3),this.realBody=n,this.reflowBoxSlot(t),this.whiskerSlot=e=s.getSlot(o.lower,o.upper),this.reflowWhiskerSlot(t);var l=s.getSlot(o.median);if(o.mean){var u=s.getSlot(o.mean);this.meanPoints=this.calcMeanPoints(t,u)}this.whiskerPoints=this.calcWhiskerPoints(n,e),this.medianPoints=this.calcMedianPoints(t,l),this.box=e.clone().wrap(n),this.reflowNote()},e.prototype.reflowBoxSlot=function(t){this.boxSlot.x1=t.x1,this.boxSlot.x2=t.x2},e.prototype.reflowWhiskerSlot=function(t){this.whiskerSlot.x1=t.x1,this.whiskerSlot.x2=t.x2},e.prototype.calcMeanPoints=function(t,e){return[[[t.x1,e.y1],[t.x2,e.y1]]]},e.prototype.calcWhiskerPoints=function(t,e){var n=e.center().x;return[[[n-5,e.y1],[n+5,e.y1],[n,e.y1],[n,t.y1]],[[n-5,e.y2],[n+5,e.y2],[n,e.y2],[n,t.y2]]]},e.prototype.calcMedianPoints=function(t,e){return[[[t.x1,e.y1],[t.x2,e.y1]]]},e.prototype.renderOutliers=function(t){for(var e=this,n=this.value,i=n.outliers||[],r=3*Math.abs(n.q3-n.q1),o=[],a=t.markers||{},s=0;sn.q1-r?t.outliers:t.extremes;var u=ot({},a.border);Ft(u.color)||(Ft(e.color)?u.color=e.color:u.color=new ce.A(a.background).brightness(yo).toHex());var c=new an({type:a.type,width:a.size,height:a.size,rotation:a.rotation,background:a.background,border:u,opacity:a.opacity});c.value=l,o.push(c)}return this.reflowOutliers(o),o},e.prototype.reflowOutliers=function(t){for(var e=this,n=this.owner.seriesValueAxis(this.options),i=this.box.center(),r=0;r{6:d}Lower:{0:C}Q1:{1:C}Median:{2:C}Mean:{5:C}Q3:{3:C}Upper:{4:C}"},highlight:{opacity:1,border:{width:1,opacity:1},line:{width:1,opacity:1}},notes:{visible:!0,label:{}},outliers:{visible:!0,size:Ao,type:d,background:z,border:{width:2,opacity:1},opacity:0},extremes:{visible:!0,size:Ao,type:h,background:z,border:{width:2,opacity:1},opacity:0}}),ot(el.prototype,is);var nl=el,il=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflowBoxSlot=function(t){this.boxSlot.y1=t.y1,this.boxSlot.y2=t.y2},e.prototype.reflowWhiskerSlot=function(t){this.whiskerSlot.y1=t.y1,this.whiskerSlot.y2=t.y2},e.prototype.calcMeanPoints=function(t,e){return[[[e.x1,t.y1],[e.x1,t.y2]]]},e.prototype.calcWhiskerPoints=function(t,e){var n=e.center().y;return[[[e.x1,n-5],[e.x1,n+5],[e.x1,n],[t.x1,n]],[[e.x2,n-5],[e.x2,n+5],[e.x2,n],[t.x2,n]]]},e.prototype.calcMedianPoints=function(t,e){return[[[e.x1,t.y1],[e.x1,t.y2]]]},e}(nl),rl=il,ol=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.addValue=function(t,e){var n,i=e.categoryIx,r=e.category,o=e.series,a=e.seriesIx,s=this,l=s.children,u=s.options,c=t.valueFields,h=this.splitValue(c),p=Js(h),d=o.data[i],f=this.categoryPoints[i];f||(this.categoryPoints[i]=f=[]),p&&(n=this.createPoint(t,e));var m=l[i];m||(m=new Us({vertical:u.invertAxes,gap:u.gap,spacing:u.spacing,rtl:!u.invertAxes&&(this.chartService||{}).rtl}),this.append(m)),n&&(this.updateRange(c,e),m.append(n),n.categoryIx=i,n.category=r,n.series=o,n.seriesIx=a,n.owner=this,n.dataItem=d),this.points.push(n),f.push(n)},e.prototype.pointType=function(){return this.options.invertAxes?rl:nl},e.prototype.splitValue=function(t){return[t.lower,t.q1,t.median,t.q3,t.upper]},e.prototype.updateRange=function(t,e){var n=e.series.axis,i=this.valueAxisRanges[n],r=this.splitValue(t).concat(this.filterOutliers(t.outliers));Ft(t.mean)&&(r=r.concat(t.mean)),i=this.valueAxisRanges[n]=i||{min:S,max:M},i=this.valueAxisRanges[n]={min:Math.min.apply(Math,r.concat([i.min])),max:Math.max.apply(Math,r.concat([i.max]))}},e.prototype.formatPointValue=function(t,e){var n=t.value;return this.chartService.format.auto(e,n.lower,n.q1,n.median,n.q3,n.upper,n.mean,t.category)},e.prototype.filterOutliers=function(t){for(var e=(t||[]).length,n=[],i=0;i0||e.size<0&&n.series.negativeValues.visible)?(this._maxSize=Math.max(this._maxSize,Math.abs(e.size)),t.prototype.addValue.call(this,e,n)):(this.points.push(null),this.seriesPoints[n.seriesIx].push(null))},e.prototype.reflow=function(e){this.updateBubblesSize(e),t.prototype.reflow.call(this,e)},e.prototype.pointType=function(){return dl},e.prototype.createPoint=function(t,e){var n=e.series,i=n.data.length,r=e.pointIx*(vo/i),o={delay:r,duration:vo-r,type:Bo},a=e.color||n.color;t.size<0&&n.negativeValues.visible&&(a=Jt(n.negativeValues.color,a));var s=ot({labels:{animation:{delay:r,duration:vo-r}}},this.pointOptions(n,e.seriesIx),{markers:{type:h,border:n.border,opacity:n.opacity,animation:o}});s=this.evalPointOptions(s,t,e),et(n.color)&&(a=s.color),s.markers.background=a;var l=new dl(t,s);return l.color=a,this.append(l),l},e.prototype.updateBubblesSize=function(t){for(var e=this,n=this,i=n.options.series,r=Math.min(t.width(),t.height()),o=0;o0&&n.options.set("stroke",{color:e.border.color||this.color,width:e.border.width,dashType:e.border.dashType,opacity:Jt(e.border.opacity,e.opacity)}),this.bodyVisual=n,Y(n),this.visual.append(n)},e.prototype.createAnimation=function(){this.bodyVisual&&(this.animation=Qe.create(this.bodyVisual,this.options.animation))},e.prototype.createHighlight=function(t){return Pe.w.fromRect(this.box.toRect(),t)},e.prototype.highlightVisual=function(){return this.bodyVisual},e.prototype.highlightVisualArgs=function(){return{rect:this.box.toRect(),visual:this.bodyVisual,options:this.options}},e.prototype.formatValue=function(t){return this.owner.formatPointValue(this,t)},e.prototype.pointData=function(){return{dataItem:this.dataItem,category:this.category,value:this.value,series:this.series}},e.prototype.overlapsBox=function(t){return this.box.overlaps(t)},e}(en);yl.prototype.tooltipAnchor=js.prototype.tooltipAnchor,ee(yl,{border:{width:1},vertical:!1,opacity:1,target:{shape:"",border:{width:0,color:"green"},line:{width:2}},labels:{visible:!1},tooltip:{format:"Current: {0}
Target: {1}"},notes:{label:{}}}),ot(yl.prototype,is),ot(yl.prototype,os);var bl=yl,xl=function(t){function e(e,n){wl(n),t.call(this,e,n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflowCategories=function(t){for(var e=this.children,n=e.length,i=0;i0},e.prototype.createAnimation=function(){var t=this,e=this.points;this._setAnimationOptions();for(var n=0;n0&&o=0;i--)for(var r=0;r0&&(i=Math.max(i,n.width()-o.contentBox.width()))}if(0!==i)for(var a=0;a0){var s=Yl(o),l=Math.max(a.y1-s.y1,a.y2-s.y2);n=Math.max(n,a.x1-s.x1);for(var u=0;u0&&n.y.length>0&&(this.alignAxes(n.x,n.y),this.shrinkAxisWidth(t),this.autoRotateAxisLabels(n),this.alignAxes(n.x,n.y),this.shrinkAxisWidth(t)&&this.alignAxes(n.x,n.y),this.shrinkAxisHeight(t),this.alignAxes(n.x,n.y),this.shrinkAxisHeight(t)&&this.alignAxes(n.x,n.y),this.fitAxes(t))},e.prototype.autoRotateAxisLabels=function(t){for(var e,n=this,i=this,r=i.panes,o=Ql(r),a=0;a0&&t.y.length>0&&(this.alignAxes(t.x,t.y),this.shrinkAxisWidth(r))}},e.prototype.reflowPaneAxes=function(t){var e=t.axes,n=e.length;if(n>0)for(var i=0;i-1){var o=t.split(".");while(o.length>1)r=o.shift(),Ft(i[r])||(i[r]={}),i=i[r];r=o.shift()}i[r]=n}var ou=iu,au=function(t){function e(){t.call(this),this._defaults={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.register=function(t,e){for(var n=this,i=0;ir.to,n.reflow(t)),i&&(i.options.aboveAxis=r.to>r.from,i.reflow(t)),this.note&&this.note.reflow(t)},e}(js);lu.prototype.defaults=ot({},lu.prototype.defaults,{labels:{format:"{0} - {1}"},tooltip:{format:"{1}"}});var uu=lu,cu=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.pointType=function(){return uu},e.prototype.pointValue=function(t){return t.valueFields},e.prototype.formatPointValue=function(t,e){return null===t.value.from&&null===t.value.to?"":this.chartService.format.auto(e,t.value.from,t.value.to)},e.prototype.plotRange=function(t){return t?[t.value.from,t.value.to]:0},e.prototype.updateRange=function(t,e){var n=e.series.axis,i=t.from,r=t.to,o=this.valueAxisRanges[n];null!==t&&J(i)&&J(r)&&(o=this.valueAxisRanges[n]=o||{min:S,max:M},o.min=Math.min(o.min,i),o.max=Math.max(o.max,i),o.min=Math.min(o.min,r),o.max=Math.max(o.max,r))},e.prototype.aboveAxis=function(t){var e=t.value;return e.from=0},e.prototype.plotRange=function(t){return[t.from,t.to]},e.prototype.createSegments=function(){for(var t=this,e=this.options.series,n=this.seriesPoints,i=this.segments=[],r=0;r0){this.invertAxes=Ct(t[0].type,[Do,Fo,ua,aa,ca,na,Uo,sa]);for(var n=0;n0){o=r.options.categories=r.options.categories.slice(0);while(a--)o.push("")}this.valueAxisRangeTracker.update(e.valueAxisRanges),t.prototype.appendChart.call(this,e,n)},e.prototype.seriesPaneName=function(t){var e=this.options,n=t.axis,i=[].concat(e.valueAxis),r=bt(i,(function(t){return t.name===n}))[0],o=e.panes||[{}],a=(o[0]||{}).name||"default",s=(r||{}).pane||a;return s},e.prototype.seriesCategoryAxis=function(t){var e=t.categoryAxis,n=e?this.namedCategoryAxes[e]:this.categoryAxis;if(!n)throw new Error("Unable to locate category axis with name "+e);return n},e.prototype.stackableChartOptions=function(t,e){var n=t.stack,i=n&&"100%"===n.type,r=e.options.clip;return{isStacked:n,isStacked100:i,clip:r}},e.prototype.groupSeriesByCategoryAxis=function(t){for(var e=[],n={},i=0;i0&&s.length>0&&t.trigger(n,{element:Zt(e),originalEvent:e,category:Vl(a),value:Vl(s)})}},e.prototype.pointPane=function(t){for(var e=this.panes,n=0;ne.x2&&(l=e.x2-n.x),ie.y2&&(u=e.y2-n.y),r=0;i--)e(t[i],i)},cc=function(t){function e(e,n){t.call(this,Object.assign({},sc,n)),this._rect=e,this._fieldMap={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.rect=function(t){return t?(this._rect=t,this):this._rect},e.prototype._initMap=function(){var t=this.options,e=this._fieldMap;"horizontal"===t.orientation?(e.sizeField="width",e.groupsSizeField="height",e.groupAxis="x",e.groupsAxis="y"):(e.sizeField="height",e.groupsSizeField="width",e.groupAxis="y",e.groupsAxis="x"),t.reverse?(this.forEach=uc,this.justifyAlign=ac):(this.forEach=lc,this.justifyAlign=oc)},e.prototype.reflow=function(){var t=this;if(this._rect&&0!==this.children.length){this._initMap(),this.options.transform&&this.transform(null);for(var e,n,i,r=this.options,o=this._rect,a=this._initGroups(),s=a.groups,l=a.groupsSize,u=this._fieldMap,c=u.sizeField,h=u.groupsSizeField,p=u.groupAxis,d=u.groupsAxis,f=new Le.A,m=new Le.A,v=new ic.A,g=oc(l,o,r.alignContent,d,h),y=function(t,o){var a=n.elements[o];m[p]=e,m[d]=oc(t.size[h],i,r.alignItems,d,h),rc(m,t,a),e+=t.size[c]+r.spacing},b=0;bo.size[c]){var x=o.size[c]/i.size[c],w=i.topLeft().scale(x,x),k=i.size[h]*x,C=oc(k,o,r.alignContent,d,h),_=(0,je.A)();"x"===p?_.translate(o.origin.x-w.x,C-w.y):_.translate(C-w.x,o.origin.y-w.y),_.scale(x,x),this.transform(_)}}},e.prototype._initGroups=function(){for(var t=this,e=this,n=e.options,i=e.children,r=n.lineSpacing,o=n.wrap,a=n.spacing,s=this._fieldMap.sizeField,l=this._newGroup(),u=[],c=function(){u.push(l),h+=l.lineSize+r},h=-r,p=0;pt._rect.size[s]?0===l.bboxes.length?(t._addToGroup(l,f,d),c(),l=t._newGroup()):(c(),l=t._newGroup(),t._addToGroup(l,f,d)):t._addToGroup(l,f,d))}return l.bboxes.length&&c(),{groups:u,groupsSize:h}},e.prototype._addToGroup=function(t,e,n){t.size+=e.size[this._fieldMap.sizeField]+this.options.spacing,t.lineSize=Math.max(e.size[this._fieldMap.groupsSizeField],t.lineSize),t.bboxes.push(e),t.elements.push(n)},e.prototype._newGroup=function(){return{lineSize:0,size:-this.options.spacing,bboxes:[],elements:[]}},e}(Ve.A),hc=cc,pc=function(t){function e(e,n){t.call(this,e),this.chartService=n}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.render=function(){var t=this,e=t.children,n=t.options,i=n.vertical;this.visual=new hc(null,{spacing:i?0:n.spacing,lineSpacing:i?n.spacing:0,orientation:i?"vertical":"horizontal",reverse:n.rtl,alignItems:i?"start":"center"});for(var r=0;r0},e.prototype.reflow=function(t){var e=this.options,n=t.clone();this.hasItems()?(e.position===yc?(this.containerCustomReflow(n),this.box=n):this.containerReflow(n),this.hasTitle()&&this.title.reflow(new Te(this.container.box.x1,this.title.box.y1,this.container.box.x2,this.title.box.y2))):this.box=n},e.prototype.containerReflow=function(t){var e=this,n=e.options,i=e.container,r=n.position,o=n.width,a=n.height,s=r===R||r===u?V:H,l=this.isVertical(),c=t.clone(),h=t.clone();r!==_&&r!==L||(h.y1=c.y1=0),l&&a?(h.y2=h.y1+a,h.align(c,H,i.options.vAlign)):!l&&o&&(h.x2=h.x1+o,h.align(c,V,i.options.align)),i.reflow(h),h=i.box;var p=h.clone();(n.offsetX||n.offsetY)&&(h.translate(n.offsetX,n.offsetY),i.reflow(h)),p[s+1]=t[s+1],p[s+2]=t[s+2],this.box=p},e.prototype.containerCustomReflow=function(t){var e=this,n=e.options,i=e.container,r=n.offsetX,o=n.offsetY,a=n.width,s=n.height,l=this.isVertical(),u=t.clone();l&&s?u.y2=u.y1+s:!l&&a&&(u.x2=u.x1+a),i.reflow(u),u=i.box,i.reflow(new Te(r,o,r+u.width(),o+u.height()))},e.prototype.renderVisual=function(){this.hasItems()&&t.prototype.renderVisual.call(this)},e.prototype.createLegendTitle=function(t){var e=ot({},{color:l,position:R,align:c},t),n=e.text;if(t&&!1!==t.visible){if(Ft(e)&&e.visible){var i=mt(e);i?n=i({text:n}):e.format&&(n=this.chartService.format.auto(e.format,n))}this.title=new An(n,e),this.createTitleLayout(),this.appendTitleLayoutContent()}},e.prototype.createTitleLayout=function(){this.layout=new yn({vertical:!0,wrap:!1}),this.container.append(this.layout)},e.prototype.hasTitle=function(){return Boolean(this.options.title&&!1!==this.options.title.visible)},e.prototype.appendTitleLayoutContent=function(){var t=this.options;t.title.position===u?(this.layout.append(this.itemsContainer),this.layout.append(this.title)):(this.layout.append(this.title),this.layout.append(this.itemsContainer))},e}(en);ee(bc,{position:L,items:[],offsetX:0,offsetY:0,margin:ht(5),padding:ht(5),border:{color:l,width:0},item:{cursor:gc,spacing:6},spacing:6,background:"",zIndex:1,markers:{border:{width:0},width:15,height:3,type:"rect",align:_,vAlign:c}});var xc=bc,wc=function(t){function e(){t.call(this),this._registry=[]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.register=function(t,e){this._registry.push({type:t,seriesTypes:e})},e.prototype.create=function(t,e,n){for(var i,r=this._registry,o=r[0],a=0;a0){o=s;break}}return new o.type(i,e,n)},e}(Lt.A);wc.current=new wc;var kc=wc,Cc=3,_c=.1;function Sc(t){var e=document.createElement("div");return t&&(e.className=t),e}function Mc(t){var e=t;while(e&&!xt(e,"k-handle"))e=e.parentNode;return e}var Ac=function(t){function e(e,n,i,r){t.call(this);var o=e.element;this.options=ot({},this.options,i),this.chart=e,this.observer=r,this.chartElement=o,this.categoryAxis=n,this._dateAxis=this.categoryAxis instanceof nr,this.initOptions(),this.visible=this.options.visible&&o.offsetHeight,this.visible&&(this.createElements(),this.set(this._index(this.options.from),this._index(this.options.to)),this.bindEvents())}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.onPane=function(t){return this.categoryAxis.pane===t},e.prototype.createElements=function(){var t=this.options,e=this.wrapper=Sc("k-selector k-pointer-events-none");ct(e,{top:t.offset.top,left:t.offset.left,width:t.width,height:t.height,direction:"ltr"});var n=this.selection=Sc("k-selection k-pointer-events-none");this.leftMask=Sc("k-mask k-pointer-events-none"),this.rightMask=Sc("k-mask k-pointer-events-none"),e.appendChild(this.leftMask),e.appendChild(this.rightMask),e.appendChild(n);var i=this.body=Sc("k-selection-bg k-pointer-events-none");n.appendChild(i);var r=this.leftHandle=Sc("k-handle k-left-handle k-pointer-events-auto"),o=this.rightHandle=Sc("k-handle k-right-handle k-pointer-events-auto");r.appendChild(Sc()),o.appendChild(Sc()),n.appendChild(r),n.appendChild(o),this.chartElement.appendChild(e);var a=ct(n,["borderLeftWidth","borderRightWidth","height"]),s=ct(r,"height").height,l=ct(o,"height").height;t.selection={border:{left:a.borderLeftWidth,right:a.borderRightWidth}},ct(r,{top:(a.height-s)/2}),ct(o,{top:(a.height-l)/2}),e.style.cssText=e.style.cssText},e.prototype.bindEvents=function(){var t;!1!==this.options.mousewheel&&(this._mousewheelHandler=this._mousewheel.bind(this),Bt(this.chartElement,(t={},t[ja]=this._mousewheelHandler,t))),this._domEvents=Xn.create(this.chartElement,{stopPropagation:!0,start:this._start.bind(this),move:this._move.bind(this),end:this._end.bind(this),tap:this._tap.bind(this),press:this._press.bind(this),gesturestart:this._gesturestart.bind(this),gesturechange:this._gesturechange.bind(this),gestureend:this._gestureend.bind(this)})},e.prototype.initOptions=function(){var t=this,e=t.options,n=t.categoryAxis,i=n.pane.chartsBox(),r=this.chart.chartService.intl;this._dateAxis&&ot(e,{min:Pi(r,e.min),max:Pi(r,e.max),from:Pi(r,e.from),to:Pi(r,e.to)});var o=ct(this.chartElement,["paddingLeft","paddingTop"]),a=o.paddingLeft,s=o.paddingTop;this.options=ot({},{width:i.width(),height:i.height()+_c,padding:{left:a,top:s},offset:{left:i.x1+a,top:i.y1+s},from:e.min,to:e.max},e)},e.prototype.destroy=function(){var t;this._domEvents&&(this._domEvents.destroy(),delete this._domEvents),clearTimeout(this._mwTimeout),this._state=null,this.wrapper&&(this._mousewheelHandler&&(Xt(this.chartElement,(t={},t[ja]=this._mousewheelHandler,t)),this._mousewheelHandler=null),this.chartElement.removeChild(this.wrapper),this.wrapper=null)},e.prototype._rangeEventArgs=function(t){return{axis:this.categoryAxis.options,from:this._value(t.from),to:this._value(t.to)}},e.prototype._pointInPane=function(t,e){var n=this.categoryAxis.pane.box,i=this.chart._toModelCoordinates(t,e);return n.containsPoint(i)},e.prototype._start=function(t){var e=this.options,n=Zt(t);if(!this._state&&n){var i=Ht(t),r=this._pointInPane(i.x,i.y);if(r){var o=Mc(n),a=this.body.getBoundingClientRect(),s=!o&&i.x>=a.x&&i.x<=a.x+a.width&&i.y>=a.y&&i.y<=a.y+a.height;this.chart._unsetActivePoint(),this._state={moveTarget:o,startLocation:t.x?t.x.location:0,inBody:s,range:{from:this._index(e.from),to:this._index(e.to)}};var l=this._rangeEventArgs({from:this._index(e.from),to:this._index(e.to)});this.trigger(Ta,l)&&(this._state=null)}}},e.prototype._press=function(t){var e;e=this._state?this._state.moveTarget:Mc(Zt(t)),e&&G(e,"k-handle-active")},e.prototype._move=function(t){if(this._state){var e=this,n=e._state,i=e.options,r=e.categoryAxis,o=n.range,a=n.moveTarget,s=r.options.reverse,l=this._index(i.from),u=this._index(i.to),c=this._index(i.min),h=this._index(i.max),p=n.startLocation-t.x.location,d={from:o.from,to:o.to},f=o.to-o.from,m=ct(this.wrapper,"width").width/(r.categoriesCount()-1),v=Math.round(p/m)*(s?-1:1);if(a||n.inBody){var g=a&&xt(a,"k-left-handle"),y=a&&xt(a,"k-right-handle");n.inBody?(o.from=Math.min(Math.max(c,l-v),h-f),o.to=Math.min(o.from+f,h)):g&&!s||y&&s?(o.from=Math.min(Math.max(c,l-v),h-1),o.to=Math.max(o.from+1,o.to)):(g&&s||y&&!s)&&(o.to=Math.min(Math.max(c+1,u-v),h),o.from=Math.min(o.to-1,o.from)),o.from===d.from&&o.to===d.to||(this.move(o.from,o.to),this.trigger(Na,this._rangeEventArgs(o)))}}},e.prototype._end=function(){if(this._state){var t=this._state.moveTarget;t&&W(t,"k-handle-active");var e=this._state.range;this.set(e.from,e.to),this.trigger($a,this._rangeEventArgs(e)),delete this._state}},e.prototype._tap=function(t){var e=this,n=e.options,i=e.categoryAxis,r=this.chart._eventCoordinates(t),o=i.pointCategoryIndex(new Se(r.x,i.box.y1)),a=this._index(n.from),s=this._index(n.to),l=this._index(n.min),u=this._index(n.max),c=s-a,h=a+c/2,p={},d=3===t.event.which,f=Math.round(h-o);this._state||d||(this.chart._unsetActivePoint(),i.options.justified||f--,p.from=Math.min(Math.max(l,a-f),u-c),p.to=Math.min(p.from+c,u),this._start(t),this._state&&(this._state.range=p,this.trigger(Na,this._rangeEventArgs(p)),this._end()))},e.prototype._mousewheel=function(t){var e=this,n=Ot(t);if(this._start(t),this._state){var i=this._state.range;t.preventDefault(),t.stopPropagation(),Math.abs(n)>1&&(n*=Cc),this.options.mousewheel.reverse&&(n*=-1),this.expand(n)&&this.trigger(Na,{axis:this.categoryAxis.options,delta:n,originalEvent:t,from:this._value(i.from),to:this._value(i.to)}),this._mwTimeout&&clearTimeout(this._mwTimeout),this._mwTimeout=setTimeout((function(){e._end()}),Va)}},e.prototype._gesturestart=function(t){var e=this.options,n=t.touches[0],i=this._pointInPane(n.pageX,n.pageY);if(i){this._state={range:{from:this._index(e.from),to:this._index(e.to)}};var r=this._rangeEventArgs(this._state.range);this.trigger(Ta,r)?this._state=null:t.preventDefault()}},e.prototype._gestureend=function(){this._state&&(this.trigger($a,this._rangeEventArgs(this._state.range)),delete this._state)},e.prototype._gesturechange=function(t){if(this._state){var e=this,n=e.chart,i=e._state,r=e.options,o=e.categoryAxis,a=i.range,s=n._toModelCoordinates(t.touches[0].x.location).x,l=n._toModelCoordinates(t.touches[1].x.location).x,u=Math.min(s,l),c=Math.max(s,l);t.preventDefault(),a.from=o.pointCategoryIndex(new Se(u))||r.min,a.to=o.pointCategoryIndex(new Se(c))||r.max,this.move(a.from,a.to),this.trigger(Na,this._rangeEventArgs(a))}},e.prototype._index=function(t){var e=t;return t instanceof Date&&(e=this.categoryAxis.categoryIndex(t)),e},e.prototype._value=function(t){var e=t;return this._dateAxis&&(e=this.categoryAxis.categoryAt(t),e>this.options.max&&(e=this.options.max)),e},e.prototype._slot=function(t){var e=this.categoryAxis,n=this._index(t);return e.getSlot(n,n,!0)},e.prototype.move=function(t,e){var n=this.options,i=this.categoryAxis.options.reverse,r=n.offset,o=n.padding,a=n.selection.border,s=i?e:t,l=i?t:e,u="x"+(i?2:1),c=this._slot(s),h=Yt(c[u]-r.left+o.left);ct(this.leftMask,{width:h}),ct(this.selection,{left:h}),c=this._slot(l);var p=Yt(n.width-(c[u]-r.left+o.left));ct(this.rightMask,{width:p});var d=n.width-p;d!==n.width&&(d+=a.right),ct(this.rightMask,{left:d}),ct(this.selection,{width:Math.max(n.width-(h+p)-a.right,0)})},e.prototype.set=function(t,e){var n=this.options,i=this._index(n.min),r=this._index(n.max),o=Kt(this._index(t),i,r),a=Kt(this._index(e),o+1,r);n.visible&&this.move(o,a),n.from=this._value(o),n.to=this._value(a)},e.prototype.expand=function(t){var e=this.options,n=this._index(e.min),i=this._index(e.max),r=e.mousewheel.zoom,o=this._index(e.from),a=this._index(e.to),s={from:o,to:a},l=ot({},s);if(this._state&&(s=this._state.range),r!==L&&(s.from=Kt(Kt(o-t,0,a-1),n,i)),r!==_&&(s.to=Kt(Kt(a+t,s.from+1,i),n,i)),s.from!==l.from||s.to!==l.to)return this.set(s.from,s.to),!0},e.prototype.zoom=function(t,e){var n=this.options,i=this._index(n.min),r=this._index(n.max),o=this._index(n.from),a=this._index(n.to),s={from:o,to:a},l=ot({},s),u=this.categoryAxis.options,c=u.reverse,h=V+(c?"2":"1"),p=this.categoryAxis.lineBox(),d=Math.abs(p[h]-e[V]),f=p.width(),m=Yt(d/f,2),v=Yt(m*t),g=Yt((1-m)*t);if(this._state&&(s=this._state.range),s.from=Kt(Kt(o-v,0,a-1),i,r),s.to=Kt(Kt(a+g,s.from+1,r),i,r),s.from!==l.from||s.to!==l.to)return this.set(s.from,s.to),!0},e.prototype.trigger=function(t,e){return(this.observer||this.chart).trigger(t,e)},e}(Lt.A);ee(Ac,{visible:!0,mousewheel:{zoom:"both"},min:M,max:S});var Ic=Ac,Tc=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.show=function(e){if(e&&e.tooltipAnchor&&(!this._current||this._current!==e)){var n=ot({},this.options,e.options.tooltip),i=e.tooltipAnchor();i?(this._current=e,t.prototype.show.call(this,{point:e,anchor:i},n,e)):this.hide()}},e.prototype.hide=function(){delete this._current,t.prototype.hide.call(this)},e}(_l),Nc=Tc,$c=function(t){function e(e,n){t.call(this,e.chartService,n),this.plotArea=e,this.formatService=e.chartService.format}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.showAt=function(t,e){var n=bt(t,(function(t){var e=t.series.tooltip,n=e&&!1===e.visible;return!n}));if(n.length>0){var i=n[0],r=this.plotArea.categoryAxis.getSlot(i.categoryIx),o=e?this._slotAnchor(e,r):this._defaultAnchor(i,r);this.show({anchor:o,shared:!0,points:t,category:i.category,categoryText:this.formatService.auto(this.options.categoryFormat,i.category),series:this.plotArea.series},this.options)}},e.prototype._slotAnchor=function(t,e){var n=this.plotArea.categoryAxis,i={horizontal:"left",vertical:"center"};return n.options.vertical||(t.x=e.center().x),{point:t,align:i}},e.prototype._defaultAnchor=function(t,e){var n,i=t.owner.pane.chartsBox(),r=this.plotArea.categoryAxis.options.vertical,o=i.center(),a=e.center(),s={horizontal:"center",vertical:"center"};return n=r?new Se(o.x,a.y):new Se(a.x,o.y),{point:n,align:s}},e}(_l);ee($c,{categoryFormat:"{0:d}"});var Oc=$c,Lc=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setup=function(){var t=this,e=t.element,n=t.options,i=e.bbox();if(i){this.origin=n.origin;var r=n.vertical?H:V,o=this.fromScale=new Le.A(1,1);o[r]=xo,e.transform(je.A().scale(o.x,o.y))}else this.abort()},e.prototype.step=function(t){var e=St(this.fromScale.x,1,t),n=St(this.fromScale.y,1,t);this.element.transform(je.A().scale(e,n,this.origin))},e.prototype.abort=function(){t.prototype.abort.call(this),this.element.transform(null)},e}(Qe);ee(Lc,{duration:vo}),Xe.current.register(Do,Lc);var Ec=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setup=function(){var t=this.center=this.element.bbox().center();this.element.transform(je.A().scale(xo,xo,t))},e.prototype.step=function(t){this.element.transform(je.A().scale(t,t,this.center))},e}(Qe);ee(Ec,{easing:"easeOutElastic"}),Xe.current.register(Bo,Ec);var Pc=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setup=function(){this.fadeTo=this.element.opacity(),this.element.opacity(0)},e.prototype.step=function(t){this.element.opacity(t*this.fadeTo)},e}(Qe);ee(Pc,{duration:200,easing:"linear"}),Xe.current.register(go,Pc);var Dc=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setup=function(){this.element.transform(je.A().scale(xo,xo,this.options.center))},e.prototype.step=function(t){this.element.transform(je.A().scale(t,t,this.options.center))},e}(Qe);ee(Dc,{easing:"easeOutElastic",duration:vo}),Xe.current.register(Wo,Dc);var Rc=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.render=function(){t.prototype.render.call(this),this.renderSegments()},e.prototype.createSegment=function(t,e,n){var i,r=e.style;return i=r===Lo?vs:us,new i(t,e,n)},e.prototype.animationPoints=function(){var e=t.prototype.animationPoints.call(this);return e.concat(this._segments)},e.prototype.createMissingValue=function(t,e){if(e===Io){var n={x:t.x,y:t.y};return ul(n.x)||(n.x=0),ul(n.y)||(n.y=0),n}},e}(hl);ot(Rc.prototype,ys);var Bc=Rc,Fc=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initFields=function(){this.namedXAxes={},this.namedYAxes={},this.xAxisRangeTracker=new Ps,this.yAxisRangeTracker=new Ps},e.prototype.render=function(t){var e=this;void 0===t&&(t=this.panes);for(var n=this.groupSeriesByPane(),i=0;i0&&this.appendChart(new hl(this,{series:t,clip:e.options.clip}),e)},e.prototype.createScatterLineChart=function(t,e){t.length>0&&this.appendChart(new Bc(this,{series:t,clip:e.options.clip}),e)},e.prototype.createBubbleChart=function(t,e){t.length>0&&this.appendChart(new ml(this,{series:t,clip:e.options.clip}),e)},e.prototype.createXYAxis=function(t,e,n){for(var i,r,o=t.name,a=e?this.namedYAxes:this.namedXAxes,s=e?this.yAxisRangeTracker:this.xAxisRangeTracker,l=ot({reverse:!e&&this.chartService.rtl},t,{vertical:e}),u=Bl(l.type,Da),c=s.query(),h=u?{min:.1,max:1}:{min:0,max:1},p=s.query(o)||c||h,d=[l.min,l.max],m=this.series,v=0;v0&&l.length>0&&t.trigger(n,{element:Zt(e),originalEvent:e,x:Vl(s),y:Vl(l)})},e.prototype.updateAxisOptions=function(t,e){var n=t.options.vertical,i=this.groupAxes(this.panes),r=(n?i.y:i.x).indexOf(t);zc(this.options,r,n,e),zc(this.originalOptions,r,n,e)},e}(tu);function zc(t,e,n,i){var r=[].concat(n?t.yAxis:t.xAxis)[e];ot(r,i)}ee(Fc,{xAxis:{},yAxis:{}}),ot(Fc.prototype,nu);var jc=Fc,Vc=function(t){function e(e,n,i){t.call(this,i),this.value=e,this.sector=n}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.render=function(){var t=this.options.labels,e=this.owner.chartService,n=this.value;if(!this._rendered&&!1!==this.visible){this._rendered=!0;var i=mt(t),r=this.pointData();if(i?n=i(r):t.format&&(n=e.format.auto(t.format,n)),t.visible&&(n||0===n)){if(t.position===c||t.position===Ba)t.color||(t.color=pe(this.options.color)),t.background||(t.background=this.options.color);else{var o=e.theme.seriesDefaults.labels;t.color=t.color||o.color,t.background=t.background||o.background}this.label=new An(n,ot({},t,{align:c,vAlign:"",animation:{type:go,delay:this.animationDelay}}),r),this.append(this.label)}}},e.prototype.reflow=function(t){this.render(),this.box=t,this.reflowLabel()},e.prototype.reflowLabel=function(){var t=this,e=t.options.labels,n=t.label,i=this.sector.clone(),r=e.distance,o=i.middle();if(n){var a,s=n.box.height(),l=n.box.width();if(e.position===c)i.radius=Math.abs((i.radius-s)/2)+s,a=i.point(o),n.reflow(new Te(a.x,a.y-s/2,a.x,a.y));else if(e.position===Ba)i.radius=i.radius-s/2,a=i.point(o),n.reflow(new Te(a.x,a.y-s/2,a.x,a.y));else{var u;a=i.clone().expand(r).point(o),a.x>=i.center.x?(u=a.x+l,n.orientation=L):(u=a.x-l,n.orientation=_),n.reflow(new Te(u,a.y-s,a.x,a.y))}}},e.prototype.createVisual=function(){var e=this,n=this,i=n.sector,r=n.options;if(t.prototype.createVisual.call(this),this.value)if(r.visual){var o=(i.startAngle+180)%360,a=r.visual({category:this.category,dataItem:this.dataItem,value:this.value,series:this.series,percentage:this.percentage,center:new Le.A(i.center.x,i.center.y),radius:i.radius,innerRadius:i.innerRadius,startAngle:o,endAngle:o+i.angle,options:r,sender:this.getSender(),createVisual:function(){var t=new Ve.A;return e.createSegmentVisual(t),t}});a&&this.visual.append(a)}else this.createSegmentVisual(this.visual)},e.prototype.createSegmentVisual=function(t){var e=this,n=e.sector,i=e.options,r=i.border||{},o=r.width>0?{stroke:{color:r.color,width:r.width,opacity:r.opacity,dashType:r.dashType}}:{},a=i.color,s={color:a,opacity:i.opacity},l=this.createSegment(n,ot({fill:s,stroke:{opacity:i.opacity},zIndex:i.zIndex},o));t.append(l),Bs(i)&&t.append(this.createGradientOverlay(l,{baseColor:a,fallbackFill:s},ot({center:[n.center.x,n.center.y],innerRadius:n.innerRadius,radius:n.radius,userSpace:!0},i.overlay)))},e.prototype.createSegment=function(t,e){return e.singleSegment?new Fe.A(new ze.A(new Le.A(t.center.x,t.center.y),t.radius),e):Be.current.createRing(t,e)},e.prototype.createAnimation=function(){var e=this,n=e.options,i=e.sector.center;ot(n,{animation:{center:[i.x,i.y],delay:this.animationDelay}}),t.prototype.createAnimation.call(this)},e.prototype.createHighlight=function(t){var e=this.options.highlight||{},n=e.border||{};return this.createSegment(this.sector,ot({},t,{fill:{color:e.color,opacity:e.opacity},stroke:{opacity:n.opacity,width:n.width,color:n.color}}))},e.prototype.highlightVisual=function(){return this.visual.children[0]},e.prototype.highlightVisualArgs=function(){var t=this.sector;return{options:this.options,radius:t.radius,innerRadius:t.innerRadius,center:new Le.A(t.center.x,t.center.y),startAngle:t.startAngle,endAngle:t.angle+t.startAngle,visual:this.visual}},e.prototype.tooltipAnchor=function(){var t=this.sector.clone().expand(bo),e=t.middle(),n=t.point(e);return{point:n,align:Uc(e+180)}},e.prototype.formatValue=function(t){return this.owner.formatPointValue(this,t)},e.prototype.pointData=function(){return{dataItem:this.dataItem,category:this.category,value:this.value,series:this.series,percentage:this.percentage}},e}(en),Hc=Yt(qt(30),g),Zc=Yt(qt(60),g);function Uc(t){var e,n,i=qt(t),r=Yt(Math.sin(i),g),o=Yt(Math.cos(i),g);return e=Math.abs(r)>Zc?c:o<0?L:_,n=Math.abs(r)u-s?u-s:g,h.translate(d.x-p.x,d.y-p.y);for(var y=u-g,b=new Se(y+h.x1+g,y+h.y1+g),x=0;x0&&(m.sort(this.labelComparator(!0)),this.leftLabelsReflow(m)),v.length>0&&(v.sort(this.labelComparator(!1)),this.rightLabelsReflow(v)),this.box=h},e.prototype.leftLabelsReflow=function(t){var e=this.distanceBetweenLabels(t);this.distributeLabels(e,t)},e.prototype.rightLabelsReflow=function(t){var e=this.distanceBetweenLabels(t);this.distributeLabels(e,t)},e.prototype.distanceBetweenLabels=function(t){var e=Gt(this.points),n=e.sector,i=t.length-1,r=n.radius+e.options.labels.distance,o=[],a=t[0].box,s=Yt(a.y1-(n.center.y-r-a.height()-a.height()/2));o.push(s);for(var l=0;l0&&(n>=0||i0){var o=Math.min(t[n],r);r-=o,t[n]-=o,t[e]+=o}return r},e.prototype.reflowLabels=function(t,e){var n,i=this,r=Gt(this.points),o=r.sector,a=r.options.labels,s=e.length,l=a.distance,u=o.center.y-(o.radius+l)-e[0].box.height();t[0]+=2;for(var c=0;cu.center.x?(y=u.center.x-u.radius-a,l.options.labels.align!==jo?y>g.x?d.lineTo(y,v.y):d.lineTo(v.x-2*a,v.y):d.lineTo(y,v.y),d.lineTo(g.x,b.y)):(x.y=b.y,d.lineTo(x.x,x.y))),d.lineTo(b.x,b.y),e._connectorLines.push(d),e.visual.append(d)}}}},e.prototype.renderVisual=function(){if(t.prototype.renderVisual.call(this),ie(this.options.series,(function(t){return t.autoFit}))){var e=this.targetBox,n=this.box.center(),i=this.visual.bbox();if(!i)return;var r=i.bottomRight(),o=Math.min((n.y-e.y1)/(n.y-i.origin.y),(e.y2-n.y)/(r.y-n.y),(n.x-e.x1)/(n.x-i.origin.x),(e.x2-n.x)/(r.x-n.x));o<1&&this.visual.transform(je.A().scale(o,o,[n.x,n.y]))}},e.prototype.labelComparator=function(t){var e=t?-1:1;return function(t,n){var i=(t.parent.sector.middle()+270)%360,r=(n.parent.sector.middle()+270)%360;return(i-r)*e}},e.prototype.hAlignLabel=function(t,e,n,i,r){var o=e.radius,a=e.center,s=a.x,l=a.y,u=Math.min(Math.abs(l-n),Math.abs(l-i));return u>o?t:s+Math.sqrt(o*o-u*u)*(r?1:-1)},e.prototype.pointInCircle=function(t,e,n){return Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)s-o?s-o:h;for(var p,d=s-h,f=0,m=0;m1)for(var e=_h(this._segments),n=0;n1){var r=i[0].linePoints[0],o=Gt(i),a=Gt(o.linePoints),s=0===r.categoryIx,l=a.categoryIx===a.categoriesCount-1;s&&l&&Gt(i).linePoints.push(r)}}},e.prototype.createSegment=function(t,e,n){var i,r=e.style;i=r===Lo?vs:us;var o=new i(t,e,n),a=this.seriesMissingValues(e);return t.length!==e.data.length&&a!==To||(o.options.closed=!0),o},e}(Ss);ee(Sh,{clip:!1,limitPoints:!1});var Mh=Sh,Ah=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.fillToAxes=function(){},e}($s),Ih=Ah,Th=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.fillToAxes=function(){},e}(As),Nh=Th,$h=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createSegment=function(t,e,n,i){var r,o,a,s=this.options.isStacked,l=(e.line||{}).style;return s&&n>0&&i&&(o=i.linePoints.slice(0),r=i),l===Lo?(a=new Ih(t,e,n,r,o),a.options.closed=!0):(t.push(t[0]),a=new Nh(t,e,n,r,o)),a},e.prototype.seriesMissingValues=function(t){return t.missingValues||Io},e}(Mh),Oh=$h,Lh=function(t){function e(e,n){t.call(this,e,null,n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(nh);ee(Lh,{overlay:{gradient:"none"},labels:{distance:10}});var Eh=Lh,Ph=function(t){function e(e){t.call(this,e),this.forEach=e.rtl?Hs:Vs}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflow=function(t){var e=this,n=e.options,i=e.children,r=n.gap,o=n.spacing,a=i.length,s=a+r+o*(a-1),l=t.angle/s,u=t.startAngle+l*(r/2);this.forEach(i,(function(e){var n=t.clone();n.startAngle=u,n.angle=l,e.sector&&(n.radius=e.sector.radius),e.reflow(n),e.sector=n,u+=l+l*o}))},e}(en);ee(Ph,{gap:1,spacing:0});var Dh=Ph,Rh=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflow=function(t){var e=this,n=e.options.reverse,i=e.children,r=i.length,o=n?r-1:0,a=n?-1:1;this.box=new Te;for(var s=o;s>=0&&s1,e.isStacked100=r&&"100%"===r.type&&i.length>1,e.isStacked100&&(this._isStacked100=!0)}return e},e.prototype.createAreaChart=function(t,e){if(0!==t.length){var n=new Oh(this,this.chartOptions(t));this.appendChart(n,e)}},e.prototype.createLineChart=function(t,e){if(0!==t.length){var n=new Mh(this,this.chartOptions(t));this.appendChart(n,e)}},e.prototype.createBarChart=function(t,e){if(0!==t.length){var n=t[0],i=this.chartOptions(t);i.gap=n.gap,i.spacing=n.spacing;var r=new zh(this,i);this.appendChart(r,e),this._hasBarCharts=!0}},e.prototype.seriesCategoryAxis=function(){return this.categoryAxis},e.prototype._dispatchEvent=function(t,e,n){var i=t._eventCoordinates(e),r=new Se(i.x,i.y),o=this.categoryAxis.getCategory(r),a=this.valueAxis.getValue(r);null!==o&&null!==a&&t.trigger(n,{element:Zt(e),category:o,value:a})},e.prototype.createCrosshairs=function(){},e}(ch);ot(jh.prototype,nu,{appendChart:zu.prototype.appendChart,aggregateSeries:zu.prototype.aggregateSeries,seriesSourcePoints:zu.prototype.seriesSourcePoints}),ee(jh,{categoryAxis:{categories:[]},valueAxis:{}});var Vh=jh,Hh=function(t){function e(e,n,i){t.call(this,n),this.value=e,this.options.index=i.index}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflow=function(t){var e=this.points,n=this.children[0];this.box=new Te(e[0].x,e[0].y,e[1].x,e[2].y),n&&n.reflow(new Te(t.x1,e[0].y,t.x2,e[2].y))},e.prototype.createVisual=function(){var e,n=this,i=this.options;t.prototype.createVisual.call(this),e=i.visual?i.visual({category:this.category,dataItem:this.dataItem,value:this.value,series:this.series,percentage:this.percentage,points:this.points,options:i,sender:this.getSender(),createVisual:function(){return n.createPath()}}):this.createPath(),e&&this.visual.append(e)},e.prototype.createPath=function(){var t=this.options,e=t.border,n=Pe.w.fromPoints(this.points,{fill:{color:t.color,opacity:t.opacity},stroke:{color:e.color,opacity:e.opacity,width:e.width}}).close();return n},e.prototype.createHighlight=function(t){return Pe.w.fromPoints(this.points,t)},e.prototype.highlightVisual=function(){return this.visual.children[0]},e.prototype.highlightVisualArgs=function(){var t=Pe.w.fromPoints(this.points).close();return{options:this.options,path:t}},e.prototype.tooltipAnchor=function(){var t=this.box;return{point:new Se(t.center().x,t.y1),align:{horizontal:"center",vertical:"top"}}},e.prototype.formatValue=function(t){var e=this;return e.owner.formatPointValue(e,t)},e}(en);ee(Hh,{color:z,border:{width:1}}),ot(Hh.prototype,is);var Zh=Hh,Uh=function(t){function e(e,n){t.call(this,n),this.plotArea=e,this.points=[],this.labels=[],this.legendItems=[],this.render()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.formatPointValue=function(t,e){return this.chartService.format.auto(e,t.value)},e.prototype.render=function(){var t=this,e=this,n=e.options,i=e.plotArea.options.seriesColors;void 0===i&&(i=[]);var r=n.series[0],o=r.data;if(o)for(var a=Rl(r),s=a.total,l=a.points,u=0;ul.percentage&&(l=o[u]);for(var c=s.percentage/l.percentage*e,h=(e-c)/2,p=0,d=0;d0&&l.length>0&&t.trigger(n,{element:Zt(e),originalEvent:e,x:Vl(s),y:Vl(l)})},e.prototype.updateAxisOptions=function(t,e){var n=t.options.vertical,i=this.groupAxes(this.panes),r=(n?i.y:i.x).indexOf(t);ip(this.options,r,n,e),ip(this.originalOptions,r,n,e)},e.prototype.crosshairOptions=function(t){return Object.assign({},t.options.crosshair,{zIndex:0})},e}(tu);function ip(t,e,n,i){var r=[].concat(n?t.yAxis:t.xAxis)[e];ot(r,i)}ee(np,{xAxis:{},yAxis:{}}),ot(np.prototype,nu);var rp=np,op="color",ap="first",sp="from",lp="max",up="min",cp="noteText",hp="summary",pp="to";kc.current.register(zu,[Do,jo,Go,ua,Po,aa,zo,Ko,Fo,la,Ro,sa,ia,na,ha,Uo,ea,ca]),kc.current.register(jc,[ra,oa,Bo]),kc.current.register(th,[Wo]),kc.current.register(sh,[Vo]),kc.current.register(Wh,[Ho]),kc.current.register(Ch,[qo,Yo,Xo]),kc.current.register(Vh,[Jo,Qo,ta]),kc.current.register(rp,[Zo]),so.current.register([Do,jo,Go,ua,Po,aa],[F],[Ra,op,cp,wo,ko,Ua]),so.current.register([ia,na,ea,ca],[sp,pp],[Ra,op,cp,Ua]),so.current.register([ha,Uo],[F],[Ra,op,cp,hp,Ua]),so.current.register([qo,Yo,Xo],[V,H],[op,Ua]),so.current.register([Jo,Qo,ta],[F],[op,Ua]),so.current.register([Ho],[F],[Ra,op,"visibleInLegend","visible",Ua]),su.current.register([Do,jo,Go,ua,Po,aa,ha,Uo],{value:lp,color:ap,noteText:ap,errorLow:up,errorHigh:lp}),su.current.register([ia,na,ea,ca],{from:up,to:lp,color:ap,noteText:ap}),su.current.register([Jo,Qo,ta],{value:lp,color:ap}),so.current.register([ra,oa,Bo],[V,H],[op,cp,Co,_o,So,Mo]),so.current.register([Bo],[V,H,"size"],[op,Ra,cp]),so.current.register([Zo],[V,H,F],[op,cp]),so.current.register([zo,Ko],["open","high","low","close"],[Ra,op,"downColor",cp]),su.current.register([zo,Ko],{open:lp,high:lp,low:up,close:lp,color:ap,downColor:ap,noteText:ap}),so.current.register([Ro,sa],["lower","q1","median","q3","upper","mean","outliers"],[Ra,op,cp,Ua]),su.current.register([Ro,sa],{lower:lp,q1:lp,median:lp,q3:lp,upper:lp,mean:lp,outliers:ap,color:ap,noteText:ap}),so.current.register([Fo,la],["current","target"],[Ra,op,"visibleInLegend",cp,Ua]),su.current.register([Fo,la],{current:lp,target:lp,color:ap,noteText:ap}),so.current.register([Wo,Vo],[F],[Ra,op,"explode","visibleInLegend","visible",Ua]);var dp=[Ra,F,V,H],fp="mousemove",mp="contextmenu",vp="mouseleave",gp=20,yp=function(t){function e(e,n,i,r){var o=this;void 0===r&&(r={}),t.call(this),this.observers=[],this.addObserver(r.observer),this.chartService=new qn(this,r),this.chartService.theme=i,this._initElement(e);var a=ot({},this.options,n);this._originalOptions=ot({},a),this._theme=i,this._initTheme(a,i),this._initHandlers(),this._initSurface(),this.bindCategories(),te.preloadFonts(n,(function(){o.fontLoaded=!0,o._destroyed||(o.trigger("init"),o._redraw(),o._attachEvents())}))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._initElement=function(t){this._setElementClass(t),t.style.position="relative";while(t.firstChild)t.removeChild(t.firstChild);this.element=t},e.prototype._setElementClass=function(t){G(t,"k-chart")},e.prototype._initTheme=function(t,e){for(var n=[],i=t.series||[],r=0;r0||e.height>0;t||i&&(!n||e.width!==n.width||e.height!==n.height)?(this._size=e,this._resize(e,t),this.trigger("resize",e)):i&&this._selections&&ie(this._selections,(function(t){return!t.visible}))&&(this._destroySelections(),this._setupSelection())},e.prototype._resize=function(){this._noTransitionsRedraw()},e.prototype.redraw=function(t){if(this.applyDefaults(this.options),this.applySeriesColors(),t){var e=this._model._plotArea,n=e.findPane(t);e.redraw(n)}else this._redraw()},e.prototype.getAxis=function(t){return Xr(t,this._plotArea.axes)},e.prototype.findAxisByName=function(t){return this.getAxis(t)},e.prototype.findPaneByName=function(t){for(var e=this._plotArea.panes,n=0;n=0){var s=this._plotArea.pointsByCategoryIndex(n);o.showAt(s)}}else e&&o.show(e)},e.prototype.hideTooltip=function(){this._tooltip.hide()},e.prototype._initSurface=function(){var t=this.surface,e=this._surfaceWrap(),n=this.options.chartArea||{};n.width&&Vt(e,{width:n.width}),n.height&&Vt(e,{height:n.height}),t&&t.options.type===this.options.renderAs?(this.surface.clear(),this.surface.resize()):(this._destroySurface(),this.surface=ju.A.create(e,{type:this.options.renderAs}),this.surface.bind("mouseenter",this._surfaceMouseenterHandler),this.surface.bind("mouseleave",this._surfaceMouseleaveHandler))},e.prototype._surfaceWrap=function(){return this.element},e.prototype._redraw=function(){var t=this._getModel();this._size={width:t.options.width,height:t.options.height},this._destroyView(),this._model=t,this._plotArea=t._plotArea,t.renderVisual(),!1!==this.options.transitions&&t.traverse((function(t){t.animation&&t.animation.setup()})),this._initSurface(),this.surface.draw(t.visual),!1!==this.options.transitions&&t.traverse((function(t){t.animation&&t.animation.play()})),this._tooltip=this._createTooltip(),this._highlight=new Uu,this._setupSelection(),this._createPannable(),this._createZoomSelection(),this._createMousewheelZoom(),this.trigger(Oa),Np(this._plotArea.panes),this._navState||this._cancelDomEvents()},e.prototype.exportVisual=function(t){var e;if(t&&(t.width||t.height||t.options)){var n=this.options,i=ot({},t.options,{chartArea:{width:t.width,height:t.height}});Tp(this._originalOptions,i),this.options=ot({},this._originalOptions,i),this._initTheme(this.options,this._theme),this.bindCategories();var r=this._getModel();r.renderVisual(),Np(r._plotArea.panes),e=r.visual,this.options=n}else e=this.surface.exportVisual();return e},e.prototype._sharedTooltip=function(){return this._plotArea instanceof zu&&this.options.tooltip&&this.options.tooltip.shared},e.prototype._createPannable=function(){var t=this.options;!1!==t.pannable&&(this._pannable=new qu(this._plotArea,t.pannable))},e.prototype._createZoomSelection=function(){var t=this.options.zoomable,e=(t||{}).selection;!1!==t&&!1!==e&&(this._zoomSelection=new Xu(this,e))},e.prototype._createMousewheelZoom=function(){var t=this.options.zoomable,e=(t||{}).mousewheel;!1!==t&&!1!==e&&(this._mousewheelZoom=new nc(this,e))},e.prototype._toggleDragZoomEvents=function(){var t=this.options.pannable,e=this.options.zoomable,n=(e||{}).selection,i=(e||{}).mousewheel,r=!t&&(!1===e||!1===n)&&!this.requiresHandlers([Sa,Ca,_a]),o=(!1===e||!1===i)&&!this.requiresHandlers([Ma,Aa,Ia]),a=this.element;this._dragZoomEnabled&&r&&o?(a.style.touchAction=this._touchAction||"",this._dragZoomEnabled=!1):this._dragZoomEnabled||r&&o||(a.style.touchAction="none",this._dragZoomEnabled=!0),this._toggleDomEvents(!r,!o)},e.prototype._toggleDomEvents=function(t,e){var n=this.domEvents;n&&(n.toggleDrag&&n.toggleDrag(t),n.toggleZoom&&n.toggleZoom(e))},e.prototype._createTooltip=function(){var t,e=this,n=e.options.tooltip;return t=this._sharedTooltip()?this._createSharedTooltip(n):new Nc(this.chartService,n),t},e.prototype._createSharedTooltip=function(t){return new Oc(this._plotArea,t)},e.prototype.applyDefaults=function(t,e){wp(t,e),kp(t,e)},e.prototype.applySeriesColors=function(){for(var t=this.options,e=t.series,n=t.seriesColors||[],i=0;i=0&&this.observers.splice(e,1)},e.prototype.requiresHandlers=function(t){for(var e=this.observers,n=0;n=.1){i=Math.round(10*i),this._gestureDistance=t.distance;var r={delta:i,axisRanges:_p(this._plotArea.axes),originalEvent:t};if(this._zooming||!this.trigger(Ma,r)){var o=this._eventCoordinates(t);this._zooming||(this._zooming=!0);var a=r.axisRanges=e.updateRanges(i,o);a&&!this.trigger(Aa,r)&&e.zoom()}}}},e.prototype._mouseout=function(t){if(t.element){var e=this._drawingChartElement(t.element,t);e&&e.leave&&e.leave(this,t.originalEvent)}},e.prototype._start=function(t){var e=this._eventCoordinates(t);!this._stopChartHandlers(t)&&this._plotArea.backgroundContainsPoint(e)&&(this.requiresHandlers([Sa,Ca,_a])&&this._startNavigation(t,e,Sa),this._pannable&&this._pannable.start(t)&&(this.surface.suspendTracking(),this._unsetActivePoint(),this._suppressHover=!0,this.chartService.panning=!0),this._zoomSelection&&this._zoomSelection.start(t)&&this.trigger(Ma,{axisRanges:_p(this._plotArea.axes),originalEvent:t}))},e.prototype._move=function(t){var e=this,n=e._navState,i=e._pannable;if(!this._stopChartHandlers(t)){if(i){var r=i.move(t);r&&!this.trigger(Ca,{axisRanges:r,originalEvent:t})&&i.pan()}else if(n){for(var o={},a=n.axes,s=0;s1,r=this._hasInactiveOpacity();return this._updateHoveredPoint(t,e),t&&n!==t&&t.hover&&(this._activePoint=t,this._sharedTooltip()||t.hover(this,e)||(this._displayTooltip(t),r?this._displayInactiveOpacity(t,i):this._highlight.show(t))),t},e.prototype._hideInactiveOpacity=function(t){var e=this._plotArea.series.length>1,n=this._hasInactiveOpacity();n&&(e&&this._activeChartInstance&&(this._updateSeriesOpacity(t,!0),this._applySeriesOpacity(this._activeChartInstance.children,null,!0),this._activeChartInstance=null),this._highlight&&this._highlight.hide(),this._activePoint=null)},e.prototype._hasInactiveOpacity=function(){var t=void 0!==this.options.seriesDefaults.highlight.inactiveOpacity,e=this.options.series.filter((function(t){return void 0!==t.highlight.inactiveOpacity})).length>0;return t||e},e.prototype._getInactiveOpacityForSeries=function(t){var e=this.options.seriesDefaults.highlight.inactiveOpacity,n=t.highlight.inactiveOpacity;return n||e||t.opacity||Z},e.prototype._getDefaultOpacityForSeries=function(t){return t.defaultOpacity||t.opacity||Z},e.prototype._mouseover=function(t){var e,n=this._startHover(t.element,t.originalEvent);n&&n.tooltipTracking&&!this._mouseMoveTrackHandler&&!this._sharedTooltip()&&(this._mouseMoveTrackHandler=this._mouseMoveTracking.bind(this),Bt(document,(e={},e[fp]=this._mouseMoveTrackHandler,e)))},e.prototype._mouseMoveTracking=function(t){var e,n=this,i=n.options,r=n._tooltip,o=n._highlight,a=n._activePoint,s=this._eventCoordinates(t);if(this._plotArea.box.containsPoint(s)){if(a&&a.tooltipTracking&&a.series&&a.parent.getNearestPoint){var l=a.parent.getNearestPoint(s.x,s.y,a.seriesIx);if(l&&l!==a&&(this._activePoint=l,!l.hover(this,t))){var u=ot({},i.tooltip,l.options.tooltip);u.visible&&r.show(l),o.show(l)}}}else Xt(document,(e={},e[fp]=this._mouseMoveTrackHandler,e)),this._unsetActivePoint(),this._mouseMoveTrackHandler=null,this._hideInactiveOpacity(a)},e.prototype._mousemove=function(t){var e=this._eventCoordinates(t),n=this._plotArea;if(this._trackCrosshairs(e),n.hover){var i=n.backgroundContainsPoint(e);i?(this._plotAreaHovered=!0,this._plotArea.hover(this,t)):this._plotAreaHovered&&!i&&(this._plotAreaHovered=!1,this.trigger(ka))}this._sharedTooltip()&&this._trackSharedTooltip(e,t)},e.prototype._trackCrosshairs=function(t){for(var e=this._plotArea.crosshairs,n=0;n0&&!this.trigger(ga,p)?(r.visible&&s.showAt(c,t),l.show(c),this._sharedHighlight=!0):s.hide(),this._tooltipCategoryIx=u}else n&&this._sharedHighlight&&(l.hide(),s.hide(),this._sharedHighlight=!1)}else this._sharedHighlight&&(l.hide(),s.hide(),this._tooltipCategoryIx=null,this._sharedHighlight=!1)}},e.prototype.hideElements=function(t){var e=this._plotArea;this._mousemove.cancel(),e.hideCrosshairs(),this._unsetActivePoint(t)},e.prototype._unsetActivePoint=function(t){var e=this,n=e._tooltip,i=e._highlight;this._activePoint=null,this._hoveredPoint=null,!n||t&&t.keepTooltipOpen||n.hide(),this._tooltipCategoryIx=null,this._sharedHighlight=!1,i&&i.hide()},e.prototype._deferRedraw=function(){this._redraw()},e.prototype._clearRedrawTimeout=function(){this._redrawTimeout&&(clearInterval(this._redrawTimeout),this._redrawTimeout=null)},e.prototype.bindCategories=function(){for(var t=this,e=this.options,n=[].concat(e.categoryAxis),i=0;i0){n=jl(t,oo(c.categoryField,p[0]));for(var m=n?zl:oo,v=0;v0){n&&(s=Mp(s,(function(t,e){return Ii(t[0],e[0])})));var b=Ap(s);t.categories=b[0]}else l&&(t.categories=[])},e.prototype._isBindable=function(t){for(var e=so.current.valueFields(t),n=!0,i=0;i1,l=n.length?n[0]:n;this._displayInactiveOpacity(l,s,n)}else o.show(n)},e.prototype._shouldAttachMouseMove=function(){return this._plotArea.crosshairs.length||this._tooltip&&this._sharedTooltip()||this.requiresHandlers([wa,ka])},e.prototype.updateMouseMoveHandler=function(){var t,e;Xt(this.element,(t={},t[fp]=this._mousemove,t)),this._shouldAttachMouseMove()&&Bt(this.element,(e={},e[fp]=this._mousemove,e))},e.prototype.applyOptions=function(t,e){Tp(this._originalOptions,t),this._originalOptions=ot(this._originalOptions,t),this.options=ot({},this._originalOptions),e&&(this._theme=e,this.chartService.theme=e),this._initTheme(this.options,this._theme),this._toggleDragZoomEvents()},e.prototype.setOptions=function(t,e){this.applyOptions(t,e),this.bindCategories(),this.redraw(),this.updateMouseMoveHandler()},e.prototype.setDirection=function(t){this.chartService.rtl=Boolean(t),this.surface&&"svg"===this.surface.type&&this._destroySurface()},e.prototype.setIntlService=function(t){this.chartService.intl=t},e.prototype.noTransitionsRedraw=function(){this._noTransitionsRedraw()},e.prototype.destroy=function(){var t,e;this._destroyed=!0,Xt(this.element,(t={},t[mp]=this._clickHandler,t[ja]=this._mousewheelHandler,t[fp]=this._mousemove,t[vp]=this._mouseleaveHandler,t)),this.domEvents&&(this.domEvents.destroy(),delete this.domEvents),this._mouseMoveTrackHandler&&Xt(document,(e={},e[fp]=this._mouseMoveTrackHandler,e)),this._destroyView(),this._destroySurface(),this._clearRedrawTimeout()},e.prototype._destroySurface=function(){var t=this.surface;t&&(t.unbind("mouseenter",this._surfaceMouseenterHandler),t.unbind("mouseleave",this._surfaceMouseleaveHandler),t.destroy(),this.surface=null)},e.prototype._destroySelections=function(){var t=this._selections;if(t)while(t.length>0)t.shift().destroy()},e.prototype._destroyView=function(){var t=this._model;t&&(t.destroy(),this._model=null),this._unsetActivePoint(),this._resetDrilldownPoint(),this._destroySelections(),this._tooltip&&this._tooltip.destroy(),this._highlight&&this._highlight.destroy(),this._zoomSelection&&(this._zoomSelection.destroy(),delete this._zoomSelection),this._pannable&&(this._pannable.destroy(),delete this._pannable),this._mousewheelZoom&&(this._mousewheelZoom.destroy(),delete this._mousewheelZoom)},e}(Lt.A);function bp(t){for(var e=dp,n=0;n1?r:r[0]}function kp(t,e){var n=t.series,i=n.length,r=t.seriesDefaults,o=ot({},t.seriesDefaults),a=e?ot({},e.seriesDefaults):{},s=ot({},a);Cp(o),Cp(s);for(var l=0;l0?[n[0]]:[],o=1;o0&&(h+=n.left+n.right),h},e.prototype._createSharedTooltip=function(t){return new Ep(this._plotArea,t)},e.normalizeOptions=function(t){var e=zp(t);return e=U(e)?{seriesDefaults:{data:e}}:ot({},e),e.series||(e.series=[{data:zp(e.data)}]),ot(e,{seriesDefaults:{type:e.type}}),(Ct(e.series[0].type,Rp)||Ct(e.seriesDefaults.type,Rp))&&(e=ot({},{categoryAxis:{crosshair:{visible:!1}}},e)),e},e}($p);ee(jp,{chartArea:{margin:2},axisDefaults:{visible:!1,majorGridLines:{visible:!1},valueAxis:{narrowRange:!0}},seriesDefaults:{type:"line",area:{line:{width:.5}},bar:{stack:!0},padding:2,width:.5,overlay:{gradient:null},highlight:{visible:!1},border:{width:0},markers:{size:2,visible:!1}},tooltip:{visible:!0,shared:!0},categoryAxis:{crosshair:{visible:!0,tooltip:{visible:!1}}},legend:{visible:!1},transitions:!1,pointWidth:5,panes:[{clip:!1}]});var Vp=jp,Hp=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setup=function(){this._initialOpacity=parseFloat(ct(this.element,"opacity").opacity)},e.prototype.step=function(t){ct(this.element,{opacity:String(St(this._initialOpacity,0,t))})},e.prototype.abort=function(){t.prototype.abort.call(this),ct(this.element,{display:"none",opacity:String(this._initialOpacity)})},e.prototype.cancel=function(){t.prototype.abort.call(this),ct(this.element,{opacity:String(this._initialOpacity)})},e}(Qe),Zp=Hp;function Up(t,e){var n=document.createElement("div");return n.className=t,e&&(n.style.cssText=e),n}var Gp=function(t){function e(e,n,i){t.call(this),this.options=ot({},this.options,i),this.container=e,this.chartService=n;var r=ct(e,["paddingLeft","paddingTop"]);this.chartPadding={top:r.paddingTop,left:r.paddingLeft},this.createElements(),e.appendChild(this.element)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createElements=function(){var t=this.element=Up("k-navigator-hint","display: none; position: absolute; top: 1px; left: 1px;"),e=this.tooltip=Up("k-tooltip k-chart-tooltip"),n=this.scroll=Up("k-scroll");e.innerHTML=" ",t.appendChild(e),t.appendChild(n)},e.prototype.show=function(t,e,n){var i=this,r=i.element,o=i.options,a=i.scroll,s=i.tooltip,l=wi(Ni(t)+Ni(e-t)/2),u=.4*n.width(),c=n.center().x-u,h=n.center().x,p=h-c,d=o.max-o.min,f=p/d,m=l-o.min,v=this.chartService.intl.format(o.format,t,e),g=mt(o);this.clearHideTimeout(),this._visible||(ct(r,{visibility:"hidden",display:"block"}),this._visible=!0),g&&(v=g({from:t,to:e})),s.innerHTML=v,ct(s,{left:n.center().x-s.offsetWidth/2,top:n.y1});var y=ct(s,["marginTop","borderTopWidth","height"]);ct(a,{width:u,left:c+m*f,top:n.y1+y.marginTop+y.borderTopWidth+y.height/2}),ct(r,{visibility:"visible"})},e.prototype.clearHideTimeout=function(){this._hideTimeout&&clearTimeout(this._hideTimeout),this._hideAnimation&&this._hideAnimation.cancel()},e.prototype.hide=function(){var t=this;this.clearHideTimeout(),this._hideTimeout=setTimeout((function(){t._visible=!1,t._hideAnimation=new Zp(t.element),t._hideAnimation.setup(),t._hideAnimation.play()}),this.options.hideDelay)},e.prototype.destroy=function(){this.clearHideTimeout(),this.container&&this.container.removeChild(this.element),delete this.container,delete this.chartService,delete this.element,delete this.tooltip,delete this.scroll},e}(Lt.A);ee(Gp,{format:"{0:d} - {1:d}",hideDelay:500});var Kp=Gp,Wp="_navigator",qp=Wp,Yp="_default",Xp=3,Jp=function(t){function e(e){var n;t.call(this),this.chart=e;var i=this.options=ot({},this.options,e.options.navigator),r=i.select;r&&(r.from=this.parseDate(r.from),r.to=this.parseDate(r.to)),Ft(i.hint.visible)||(i.hint.visible=i.visible),this.chartObserver=new It(this,(n={},n[Ca]="_drag",n[_a]="_dragEnd",n[Aa]="_zoom",n[Ia]="_zoomEnd",n)),e.addObserver(this.chartObserver)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.parseDate=function(t){return Pi(this.chart.chartService.intl,t)},e.prototype.clean=function(){this.selection&&(this.selection.destroy(),this.selection=null),this.hint&&(this.hint.destroy(),this.hint=null)},e.prototype.destroy=function(){this.chart&&(this.chart.removeObserver(this.chartObserver),delete this.chart),this.clean()},e.prototype.redraw=function(){this._redrawSelf(),this.initSelection()},e.prototype.initSelection=function(){var t=this,e=t.chart,n=t.options,i=this.mainAxis(),r=i.roundedRange(),o=r.min,a=r.max,s=n.select,l=s.from,u=s.to,c=s.mousewheel,h=td(i);0!==i.categoriesCount()&&(this.clean(),h.box=i.box,this.selection=new Ic(e,h,{min:o,max:a,from:l||o,to:u||a,mousewheel:Jt(c,{zoom:"left"}),visible:n.visible},new It(this,{selectStart:"_selectStart",select:"_select",selectEnd:"_selectEnd"})),n.hint.visible&&(this.hint=new Kp(e.element,e.chartService,{min:o,max:a,template:mt(n.hint),format:n.hint.format})))},e.prototype.setRange=function(){var t=this.chart._createPlotArea(!0),e=t.namedCategoryAxes[qp],n=e.roundedRange(),i=n.min,r=n.max,o=this.options.select||{},a=o.from||i;ar&&(s=r),this.options.select=ot({},o,{from:a,to:s}),this.filterAxes()},e.prototype._redrawSelf=function(t){var e=this.chart._plotArea;e&&e.redraw(Gt(e.panes),t)},e.prototype.redrawSlaves=function(){var t=this.chart,e=t._plotArea,n=e.panes.filter((function(t){return t.options.name!==Wp}));e.srcSeries=t.options.series,e.options.categoryAxis=t.options.categoryAxis,e.clearSeriesPointsCache(),e.redraw(n)},e.prototype._drag=function(t){var e,n=this,i=n.chart,r=n.selection,o=i._eventCoordinates(t.originalEvent),a=this.mainAxis(),s=a.roundedRange(),l=a.pane.box.containsPoint(o),u=i._plotArea.categoryAxis,c=t.axisRanges[u.options.name],h=this.options.select;if(c&&!l&&r){e=h.from&&h.to?Ni(h.to)-Ni(h.from):Ni(r.options.to)-Ni(r.options.from);var p=wi(Kt(Ni(c.min),s.min,Ni(s.max)-e)),d=wi(Kt(Ni(p)+e,Ni(s.min)+e,s.max));this.options.select={from:p,to:d},this.options.liveDrag&&(this.filterAxes(),this.redrawSlaves()),r.set(p,d),this.showHint(p,d)}},e.prototype._dragEnd=function(){this.filterAxes(),this.filter(),this.redrawSlaves(),this.hint&&this.hint.hide()},e.prototype.readSelection=function(){var t=this,e=t.selection.options,n=e.from,i=e.to,r=t.options.select;r.from=n,r.to=i},e.prototype.filterAxes=function(){var t=this,e=t.options.select;void 0===e&&(e={});for(var n=t.chart,i=n.options.categoryAxis,r=e.from,o=e.to,a=0;a1&&(l*=Xp),c-u>1?(i.zoom(l,h),this.readSelection()):(n.options.min=o.from,o.from=n.scaleRange(-t.delta*this.chart._mousewheelZoomRate(),h).min),a&&(this.filterAxes(),this.redrawSlaves()),i.set(o.from,o.to),this.showHint(this.options.select.from,this.options.select.to)}},e.prototype._zoomEnd=function(t){this._dragEnd(t)},e.prototype.showHint=function(t,e){var n=this.chart._plotArea;this.hint&&this.hint.show(t,e,n.backgroundBox())},e.prototype._selectStart=function(t){return this.chart._selectStart(t)},e.prototype._select=function(t){return this.showHint(t.from,t.to),this.chart._select(t)},e.prototype._selectEnd=function(t){return this.hint&&this.hint.hide(),this.readSelection(),this.filterAxes(),this.filter(),this.redrawSlaves(),this.chart._selectEnd(t)},e.prototype.mainAxis=function(){var t=this.chart._plotArea;if(t)return t.namedCategoryAxes[qp]},e.prototype.select=function(t,e){var n=this.options.select;return t&&e&&(n.from=this.parseDate(t),n.to=this.parseDate(e),this.filterAxes(),this.filter(),this.redrawSlaves(),this.selection.set(t,e)),{from:n.from,to:n.to}},e.setup=function(t,n){if(void 0===t&&(t={}),void 0===n&&(n={}),!t.__navi){t.__navi=!0;var i=ot({},n.navigator,t.navigator),r=t.panes=[].concat(t.panes),o=ot({},i.pane,{name:Wp});i.visible||(o.visible=!1,o.height=.1),"top"!==t.navigator.position?r.push(o):r.unshift(o),r.forEach((function(t){return t.name=t.name||Yp})),e.attachAxes(t,i),e.attachSeries(t,i,n)}},e.attachAxes=function(t,e){var n=e.series||[],i=t.categoryAxis=[].concat(t.categoryAxis),r=t.valueAxis=[].concat(t.valueAxis),o=i.concat(r);o.forEach((function(t){return t.pane=t.pane||Yp}));var a=Fl(n,pa),s=0===a.length,l=ot({type:"date",pane:Wp,roundToBaseUnit:!s,justified:s,_collapse:!1,majorTicks:{visible:!0},tooltip:{visible:!1},labels:{step:1},autoBind:e.autoBindElements,autoBaseUnitSteps:{minutes:[1],hours:[1,2],days:[1,2],weeks:[],months:[1],years:[1]}}),u=e.categoryAxis;i.push(ot({},l,{maxDateGroups:200},u,{name:qp,title:null,baseUnit:"fit",baseUnitStep:"auto",labels:{visible:!1},majorTicks:{visible:!1}}),ot({},l,u,{name:qp+"_labels",maxDateGroups:20,baseUnitStep:"auto",labels:{position:""},plotBands:[],autoBaseUnitSteps:{minutes:[]},_overlap:!0}),ot({},l,u,{name:qp+"_ticks",maxDateGroups:200,majorTicks:{width:.5},plotBands:[],title:null,labels:{visible:!1,mirror:!0},_overlap:!0})),r.push(ot({name:qp,pane:Wp,majorGridLines:{visible:!1},visible:!1},e.valueAxis))},e.attachSeries=function(t,e,n){for(var i=t.series=t.series||[],r=[].concat(e.series||[]),o=n.seriesColors,a=e.seriesDefaults,s=0;s0&&(i=Sd(i,n.width));var r=Ad.fromRect(i,{stroke:{color:n.width?n.color:"",width:n.width,dashType:n.dashType,lineJoin:"round",lineCap:"round"},fill:{color:t.background}});return r},e.prototype._initSurface=function(){var t=this,e=t.options,n=t.surface,i=this._surfaceElement(),r=this._surfaceSize();Vt(i,r),n&&n.options.type===e.renderAs?(this.surface.clear(),this.surface.resize()):(n&&n.destroy(),this.surface=Id.create(i,{type:e.renderAs}))},e.prototype._surfaceSize=function(){var t=this.options,e=this._getSize();return t.gaugeArea&&ot(e,t.gaugeArea),e},e.prototype._surfaceElement=function(){return this.surfaceElement||(this.surfaceElement=document.createElement("div"),this.element.appendChild(this.surfaceElement)),this.surfaceElement},e.prototype.getSize=function(){return this._getSize()},e.prototype._getSize=function(){var t=this.element,e=this._defaultSize(),n=t.offsetWidth,i=t.offsetHeight;return n||(n=e.width),i||(i=e.height),{width:n,height:i}},e.prototype._defaultSize=function(){return{width:pd,height:cd}},e.prototype._toggleTransitions=function(t){var e=this;this.options.transitions=t;for(var n=0;n0&&t.visible){var i=new $d({stroke:{color:t.color,dashType:t.dashType,width:t.width}});i.moveTo(e.x1,e.y1).lineTo(e.x2,e.y2),n.append(i)}return n},e.prototype.renderTicks=function(){var t=new Od,e=this.options,n=e.majorTicks.visible?e.majorUnit:0,i={vertical:e.vertical,mirror:e.labels.mirror,lineBox:this.lineBox()};return Pd(t,this.getMajorTickPositions(),i,e.majorTicks),Pd(t,this.getMinorTickPositions(),i,ot({},{skipUnit:n/e.minorUnit},e.minorTicks)),t},e}(mr);ee(Dd,{min:0,max:50,majorTicks:{size:15,align:fd,color:l,width:hd,visible:!0},minorTicks:{size:10,align:fd,color:l,width:hd,visible:!0},line:{width:hd},labels:{position:fd,padding:2},mirror:!1,_alignLines:!1});var Rd=Dd,Bd=function(t){function e(e,n){t.call(this);var i=e.options,r=i.min,o=i.max,a=this.options=ot({},this.options,n);a.fill=a.color,this.scale=e,Ft(a.value)?a.value=Kt(a.value,r,o):a.value=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.value=function(t){var e=this.options,n=e.value;if(0===arguments.length)return n;var i=this.scale.options,r=i.min,o=i.max;e._oldValue=Ft(e._oldValue)?e.value:r,e.value=Kt(t,r,o),this.elements&&this.repaint()},e}(Lt.A);ee(Bd,{color:l});var Fd=Bd,zd=function(t){function e(e,n){t.call(this,e,n),this.options=ot({track:{visible:Ft(n.track)}},this.options)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflow=function(){var t,e,n,i=this,r=i.options,o=i.scale,a=o.options,s=a.mirror,l=a.vertical,u=o.lineBox(),c=r.track.size||r.size,h=r.size/2,p=ht(r.margin),d=l?p[s?"left":"right"]:p[s?"bottom":"top"];d=s?-d:d,l?(n=new Te(u.x1+d,u.y1,u.x1+d,u.y2),s?n.x1-=c:n.x2+=c,r.shape!==ud&&(e=new Te(u.x2+d,u.y1-h,u.x2+d,u.y2+h),t=e)):(n=new Te(u.x1,u.y1-d,u.x2,u.y1-d),s?n.y2+=c:n.y1-=c,r.shape!==ud&&(e=new Te(u.x1-h,u.y1-d,u.x2+h,u.y1-d),t=e)),this.trackBox=n,this.pointerRangeBox=e,this.box=t||n.clone().pad(r.border.width)},e.prototype.getElementOptions=function(){var t=this.options;return{fill:{color:t.color,opacity:t.opacity},stroke:Ft(t.border)?{color:t.border.width?t.border.color||t.color:"",width:t.border.width,dashType:t.border.dashType,opacity:t.opacity}:null}},e.prototype._margin=function(){var t=this,e=t.scale,n=t.options,i=e.options,r=i.mirror,o=i.vertical,a=ht(n.margin),s=o?a[r?"left":"right"]:a[r?"bottom":"top"];return s},e}(Fd);ee(zd,{shape:ud,track:{border:{width:1}},color:l,border:{width:1},opacity:1,margin:ht(3),animation:{type:ud},visible:!0});var jd=zd,Vd=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setup=function(){var t=this.options,e=t.margin,n=t.from,i=t.to,r=t.vertical,o=r?"x1":"y1";t.mirror===r?(n[o]-=e,i[o]-=e):(n[o]+=e,i[o]+=e);var a=this.fromScale=new Le.A(n.x1,n.y1),s=this.toScale=new Le.A(i.x1,i.y1);0!==t.duration&&(t.duration=Math.max(a.distanceTo(s)/t.duration*1e3,1))},e.prototype.step=function(t){var e=St(this.fromScale.x,this.toScale.x,t),n=St(this.fromScale.y,this.toScale.y,t);this.element.transform(je.A().translate(e,n))},e}(Qe);ee(Vd,{easing:md,duration:ad}),Xe.current.register(ld,Vd);var Hd=Vd,Zd=Le.A,Ud=Pe.w,Gd=function(t){function e(e,n){t.call(this,e,n),Ft(this.options.size)||(this.options.size=.6*this.scale.options.majorTicks.size)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.pointerShape=function(){var t,e=this,n=e.scale,i=e.options.size,r=i/2,o=n.options.mirror?-1:1;return t=n.options.vertical?[new Zd(0,0-r),new Zd(0-o*i,0),new Zd(0,0+r)]:[new Zd(0-r,0),new Zd(0,0+o*i),new Zd(0+r,0)],t},e.prototype.repaint=function(){var t=this,e=t.scale,n=t.options,i=new Hd(this.elements,ot(n.animation,{vertical:e.options.vertical,mirror:e.options.mirror,margin:this._margin(n.margin),from:e.getSlot(n._oldValue),to:e.getSlot(n.value)}));!1===n.animation.transitions&&(i.options.duration=0),i.setup(),i.play()},e.prototype.render=function(){var t=this,e=t.scale,n=t.options,i=this.getElementOptions(),r=this.pointerShape(n.value);n.animation.type=ld;var o=new Ud({stroke:i.stroke,fill:i.fill}).moveTo(r[0]).lineTo(r[1]).lineTo(r[2]).close(),a=e.getSlot(n.value);return o.transform(je.A().translate(a.x1,a.y1)),this.elements=o,o},e}(jd),Kd=Gd,Wd=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setup=function(){var t=this.options,e=this.axis=t.vertical?H:V,n=this.to=t.newPoints[0][e],i=this.from=t.oldPoints[0][e];0!==t.duration&&(t.duration=Math.max(Math.abs(n-i)/t.speed*1e3,1)),this._set(i)},e.prototype.step=function(t){var e=St(this.from,this.to,t);this._set(e)},e.prototype._set=function(t){var e="set"+this.axis.toUpperCase(),n=this.options.newPoints;n[0][e](t),n[1][e](t)},e}(Qe);ee(Wd,{easing:md,speed:ad}),Xe.current.register(ud,Wd);var qd=Wd,Yd=Ve.A,Xd=Pe.w,Jd=function(t){function e(e,n){t.call(this,e,n),Ft(this.options.size)||(this.options.size=.3*this.scale.options.majorTicks.size)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.pointerShape=function(t){var e=this,n=e.scale,i=e.options,r=n.options,o=r.mirror,a=r.vertical,s=o===a?-1:1,l=i.size*s,u=n.getSlot(n.options.min),c=n.getSlot(t),h=a?H:V,p=a?V:H,d=this._margin()*s,f=new Le.A;f[h]=u[h+"1"],f[p]=u[p+"1"];var m=new Le.A;m[h]=c[h+"1"],m[p]=c[p+"1"],a?(f.translate(d,0),m.translate(d,0)):(f.translate(0,d),m.translate(0,d));var v=m.clone(),g=f.clone();return a?(v.translate(l,0),g.translate(l,0)):(v.translate(0,l),g.translate(0,l)),[f,m,v,g]},e.prototype.repaint=function(){var t=this,e=t.scale,n=t.options,i=this.pointerShape(n.value),r=this.pointerPath,o=this.pointerShape(n._oldValue);r.moveTo(i[0]).lineTo(i[1]).lineTo(i[2]).lineTo(i[3]).close();var a=new qd(r,ot(n.animation,{reverse:e.options.reverse,vertical:e.options.vertical,oldPoints:[o[1],o[2]],newPoints:[i[1],i[2]]}));!1===n.animation.transitions&&(a.options.duration=0),a.setup(),a.play()},e.prototype.render=function(){var t=new Yd,e=this.getElementOptions();this.options.track.visible&&t.append(this.renderTrack());var n=this.pointerPath=new Xd({stroke:e.stroke,fill:e.fill});return t.append(n),this.elements=t,t},e.prototype.renderTrack=function(){var t=this.options.track,e=t.border||{},n=this.trackBox.clone().pad(e.width||0);return new Xd.fromRect(n.toRect(),{fill:{color:t.color,opacity:t.opacity},stroke:{color:e.width?e.color||t.color:"",width:e.width,dashType:e.dashType}})},e}(jd),Qd=Jd,tf=60,ef=60,nf=Ve.A,rf=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reflow=function(t){var e=this.pointers,n=t.origin.x,i=t.origin.y,r=new Te(n,i,n+t.width(),i+t.height());this.scale.reflow(r),this._shrinkScaleWidth(r);for(var o=0;o0&&(n.box.shrink(i,0),n.box.alignTo(t,"center"),n.reflow(n.box))}},e.prototype._shrinkElements=function(){for(var t=this,e=this,n=e.scale,i=e.pointers,r=n.box.clone(),o=n.options.vertical?"y":"x",a=i[0].box,s=0;s0){t.moveTo(e[0].x,e[0].y);for(var n=1;n=360&&n.max%n.majorUnit===0&&(e-=1),e},e.prototype.renderLabels=function(){var t=this,e=this.options,n=this.arc.clone(),i=n.getRadiusX(),r=this.tickAngles(n,e.majorUnit),o=e.rangeSize=e.rangeSize||.1*i,a=new mf,s=.05*i;Ft(e.rangeDistance)?s=e.rangeDistance:e.rangeDistance=s;var l=e.labels,u=l.position===fd,c=Ft(this.labelElements);u&&(i-=this.ticksSize(),this.hasRanges()&&!c&&(i-=o+s),n.setRadiusX(i).setRadiusY(i));for(var h=this.labels,p=h.length,d=ht(l.padding),f=(d.left+d.right)/2,m=(d.top+d.bottom)/2,v=0;v0){var e=this.options,n=e.rangeDistance,i=e.rangeSize,r=this.getRangeRadius();this.options.labels.position===fd&&(r+=i+n);for(var o=r+i/2,a=0;a=0;i--)i%n===0&&t.splice(i,1);return t},e.prototype.tickAngles=function(t,e){var n=this.options,i=n.reverse,r=n.max-n.min,o=t.endAngle-t.startAngle,a=r/e,s=t.startAngle,l=o/a;i&&(s+=o,l=-l),o>=360&&n.max%e===0&&(a-=1);for(var u=[],c=0;c5)break;if(c!==r&&(e=a.getPlotBox(c,t,s),0<=e&&e<=2))break;if(h!==r&&(i=a.getPlotBox(h,t,s),0<=i&&i<=2))break;if(r=e>0&&i>0?2*c:e<0&&i<0?2*h:Yt((c+h)/2||1,p),n=a.getPlotBox(r,t,s),0<=n&&n<=2)break;o=i,n>0?(h=r,i=n):(c=r,e=n)}},e.prototype.getPlotBox=function(t,e,n){var i=this,r=this.scale,o=this.pointers,a=n.getRadiusX(),s=n.clone();s.setRadiusX(a+t).setRadiusY(a+t),r.arc=s,r.reflow(e),this.plotBbox=r.bbox;for(var l=0;ln.width&&(r-=a-n.width)}if(el&&(o-=u-l)}return{left:r,top:o}},e}(Nf),Ff=Bf,zf=90,jf=(function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._createModel=function(){var e=this.options.scale;"number"!==typeof e.startAngle&&(e.startAngle=zf),e.endAngle=e.startAngle+360,t.prototype._createModel.call(this)}}(Ff),10),Vf=function(t){function e(e){t.call(this),this.setOptions(e),this.initProperties()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initProperties=function(){},e.prototype.setOptions=function(t){this.options=Object.assign({},this.options,t),this.quietZoneLength=this.options.addQuietZone?2*this.options.quietZoneLength:0},e.prototype.encode=function(t,e,n){var i=Ft(t)?String(t):t;return this.initValue(i,e,n),this.options.addQuietZone&&this.addQuietZone(),this.addData(),this.options.addQuietZone&&this.addQuietZone(),{baseUnit:this.baseUnit,pattern:this.pattern}},e.prototype.initValue=function(){},e.prototype.addQuietZone=function(){this.pattern.push(this.options.quietZoneLength||jf)},e.prototype.addData=function(){},e.prototype.invalidCharacterError=function(t){throw new Error('Character "'+t+'" is not valid for symbology '+this.name+".")},e}(Lt.A);ee(Vf,{quietZoneLength:jf,addQuietZone:!0,addCheckSum:!0});var Hf=Object.assign,Zf=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initProperties=function(){t.prototype.initProperties.call(this),Hf(this,{name:"Code 11",characterMap:["111121","211121","121121","221111","112121","212111","122111","111221","211211","211111","112111"],cCheckSumTotal:10,kCheckSumTotal:9,kCheckSumMinLength:10,checkSumMod:11,DASH_VALUE:10,DASH:"-",START:"112211",STOP:"11221"})},e.prototype.initValue=function(t,e){this.pattern=[],this.value=t,this.width=e,this.totalUnits=0},e.prototype.addData=function(){var t=this,e=this.value;this.addPattern(this.START);for(var n=0;n=this.kCheckSumMinLength){var i=(n+this.getWeightedSum(t,e,this.kCheckSumTotal))%this.checkSumMod;this.checksum+=i,this.addPattern(this.characterMap[i])}},e.prototype.getWeightedSum=function(t,e,n){for(var i=this,r=0,o=0;oi)o=parseFloat((o-.1).toFixed(1)),t=e.getBaseUnit(o);if(t127?this.invalidCharacterError(t):this.addExtended(t.charCodeAt(0))},addExtended:function(t){for(var e,n=this,i=0;i=0;n--)a+=i.weightedValue(r[n],o-n,i.cCheckSumTotal);for(t=a%this.checkSumMod,a=this.weightedValue(t,1,this.kCheckSumTotal),n=o-1;n>=0;n--)a+=i.weightedValue(r[n],o-n+1,i.kCheckSumTotal);return e=a%this.checkSumMod,[t,e]},e.prototype._findCharacterByValue=function(t){var e=this;for(var n in e.characterMap)if(e.characterMap[n].value===t)return n},e.prototype.weightedValue=function(t,e,n){return(e%n||n)*t},e.prototype.addPattern=function(t){for(var e,n=this,i=0;i=0&&this.isCode(e)&&t.index=t.value.length||this.encoding[this.shiftKey].is(t.value,t.index+1)))return this.encoding.addPattern(this.SHIFT),t.shifted=!0,!0},e.prototype._moveState=function(){return this.encoding.addPattern(this.MOVE),!0},e}(om),sm={};sm.A=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initProperties=function(){t.prototype.initProperties.call(this),rm(this,{key:"A",shiftKey:"B",MOVE:101,START:103})},e.prototype.isCode=function(t){return 0<=t&&t<96},e.prototype.getValue=function(t){return t<32?t+64:t-32},e}(am),sm.B=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initProperties=function(){t.prototype.initProperties.call(this),rm(this,{key:"B",shiftKey:"A",MOVE:100,START:104})},e.prototype.isCode=function(t){return 32<=t&&t<128},e.prototype.getValue=function(t){return t-32},e}(am),sm.C=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initProperties=function(){t.prototype.initProperties.call(this),rm(this,{key:"C",MOVE:99,START:105})},e.prototype.addStart=function(){this.encoding.addPattern(this.START)},e.prototype.is=function(t,e){var n=fm(t,e,4);return(e+4<=t.length||2===t.length)&&nm.test(n)},e.prototype.move=function(){this.encoding.addPattern(this.MOVE)},e.prototype.pushState=function(t){var e,n=this;while((e=fm(t.value,t.index,2))&&nm.test(e)&&2===e.length)n.encoding.addPattern(parseInt(e,10)),t.index+=2},e.prototype.getValue=function(t){return t},e}(om),sm.FNC4=function(t){function e(e,n){t.call(this,e),this._initSubStates(n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initProperties=function(){t.prototype.initProperties.call(this),rm(this,{key:"FNC4",dependentStates:["A","B"]})},e.prototype.addStart=function(t){var e=t.value.charCodeAt(0)-128,n=this._getSubState(e);this.encoding[n].addStart()},e.prototype.is=function(t,e){var n=t.charCodeAt(e);return this.isCode(n)},e.prototype.isCode=function(t){return 128<=t&&t<256},e.prototype.pushState=function(t){var e,n=this,i=this._initSubState(t),r=this.encoding,o=i.value.length;if(t.index+=o,o<3)for(;i.index0?r.getBySeparator(a,l):r.getByLength(a,l),e.ai.length)n=l+i+e.id.length+e.ai.length;else if(n=a.indexOf(r.startAI,l+1),n<0){if(l+e.ai.max+e.id.length+i=a.length)break;l=n,u.state!==r.startState&&(o[r.startState].move(u),u.state=r.startState),e.ai.length||o.addPattern(r.START)}t.index=t.value.length},e.prototype.validate=function(t,e){var n=e.substr(t.id.length),i=t.ai;if(!i.type&&!nm.test(n))throw new Error("Application identifier "+t.id+" is numeric only but contains non numeric character(s).");if("alphanumeric"===i.type&&!im.test(n))throw new Error("Application identifier "+t.id+" is alphanumeric only but contains non alphanumeric character(s).");if(i.length&&i.length!==n.length)throw new Error("Application identifier "+t.id+" must be "+i.length+" characters long.");if(i.min&&i.min>n.length)throw new Error("Application identifier "+t.id+" must be at least "+i.min+" characters long.");if(i.max&&i.max=t.value.length)break;if(t.shifted){var r=t.state;t.state=t.previousState,t.previousState=r,t.shifted=!1}else t.previousState=t.state,t.state=n.getNextState(t,e),n[t.state].move(t)}},e.prototype.addStart=function(t){this[t.state].addStart(t),this.position=1},e.prototype.addCheckSum=function(){this.checksum=this.checkSum%103,this.addPattern(this.checksum)},e.prototype.addStop=function(){this.addPattern(this.STOP)},e.prototype.setBaseUnit=function(){this.baseUnit=this.width/(this.totalUnits+this.quietZoneLength)},e.prototype.addPattern=function(t){for(var e,n=this,i=this.characterMap[t].toString(),r=0;r0&&(n.width=e.width),e.height>0&&(n.height=e.height),this.options.width&&(n.width=this.options.width),this.options.height&&(n.height=this.options.height),n},e.prototype.value=function(t){if(!Ft(t))return this.options.value;this.options.value=String(t),this.redraw()},e.prototype._getBands=function(t,e){for(var n,i,r=this,o=this.contentBox,a=o.x1,s=new Ve.A,l=0;l=t.matrix.length)&&(t.dir=-t.dir,t.startColumn-=8!==t.startColumn?2:3,t.column=t.startColumn,t.row=t.dir<0?t.matrix.length-1:0);return{row:this.row,column:this.column}},e.prototype.getNextRemainderCell=function(){if(this.move(),void 0===this.matrix[this.row][this.column])return{row:this.row,column:this.column}},e}(Lt.A),Rm=function(t){function e(e,n){t.call(this),this.dataString=e,this.version=n}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Lt.A),Bm=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getEncodingResult=function(t,e){var n=Rv(t),i=Bv(n),r=Fv(i,e),o=zv(n,r);return new Rm(o,r)},e}(Lt.A),Fm=function(t){function e(){t.call(this),this.initProperties()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initProperties=function(){Om(this,{modeIndicator:"",bitsInCharacterCount:[]})},e.prototype.getVersionIndex=function(t){return t<10?0:t>26?2:1},e.prototype.getBitsCharacterCount=function(t){return this.bitsInCharacterCount[this.getVersionIndex(t||40)]},e.prototype.getModeCountString=function(t,e){return this.modeIndicator+Em(t,this.getBitsCharacterCount(e))},e.prototype.encode=function(){},e.prototype.getStringBitsLength=function(){},e.prototype.getValue=function(){},e}(Lt.A),zm=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initProperties=function(){t.prototype.initProperties.call(this),Om(this,{bitsInCharacterCount:[10,12,14],modeIndicator:"0001"})},e.prototype.getValue=function(t){return parseInt(t,10)},e.prototype.encode=function(t,e){var n,i=this,r=Lm(t,3),o=i.getModeCountString(t.length,e);for(n=0;n>6*o&63|128,8)+i;i=(t>>6*n|255>>r<0){for(var s=0;s255&&(t^=285),ev[e]=t,tv[t]=e;t=2*ev[e-1]^285,ev[e]=t,ev[-1]=0}function Nv(t,e){for(var n=[],i=t.length-2,r=i;r>=0;r--)n[r]=t[r]^e[r];return n}function $v(t,e){for(var n=[],i=0;i=0?e[r]:0))%255:n[i+r]=tv[ev[n[i+r]]^ev[(t[i]+e[r])%255]];return n}function Ov(){for(var t=68,e=2;e<=t;e++){var n=_v[e-1],i=[e,0];_v[e]=$v(n,i)}}function Lv(t,e){var n=[],i=t.length-1;do{n[i]=ev[(t[i]+e)%255],i--}while(void 0!==t[i]);return n}function Ev(t,e){var n,i,r=_v[e-1],o=new Array(e).concat(t),a=new Array(o.length-r.length).concat(r),s=t.length,l=[];for(i=0;i=0;i--)l[e-1-i]=Em(o[i],8);return l}function Pv(t,e){for(var n,i,r,o,a,s=0,l=[],u=[],c=e.groups,h=0;h=e||t.length===l.length||l.length>=n&&!vv.test(t.charAt(l.length)))?(o=Xm,a=l):p&&(t.length===p.length||p.length>=i||r===Jm)?(o=Jm,a=l||c):(o=Qm,a=p?p+gv.exec(t.substring(p.length))[0]:gv.exec(t)[0]),{mode:o,modeString:a}}function Rv(t){var e,n=[],i=0,r=t;n.push(Dv(r,yv,bv,xv,e)),e=n[0].mode,r=r.substr(n[0].modeString.length);while(r.length>0){var o=Dv(r,wv,kv,Cv,e);o.mode!==e?(e=o.mode,n.push(o),i++):n[i].modeString+=o.modeString,r=r.substr(o.modeString.length)}return n}function Bv(t){for(var e,n=0,i=0;i1);return t<=qm[n][e].totalDataCodewords?r+1:i+1}function zv(t,e){for(var n,i="",r=0;r=n);return r}function Zv(t,e){return parseInt(t.charAt(e),10)}function Uv(t){for(var e=[],n=17+4*t,i=0;i=0;i--)6!==i&&Sv(t,Zv(e,a-1-o++),n,i);for(o=0,i=r.length-1,n=8;i>=r.length-8;i--)Sv(t,Zv(e,a-1-o++),n,i);for(Sv(t,1,r.length-8,8),n=r.length-7,i=8;n=0&&r=0&&e[h+1][p]===r[d][l]&&e[h+1][p-1]===r[d][l]&&(i[d]+=3),eg(d,a,i,l,e[h][p]),eg(d,a,i,u,e[p][h]),ng(d,i,r,e[h][p],s,l),ng(d,i,r,e[p][h],s,u);var f,m=c*c,v=Number.MAX_VALUE;for(n=0;n=5&&(e[t]+=3+r[t][o]-5),r[t][o]=1)}function ig(t,e){var n=Math.floor(t/e*100),i=n%5,r=Math.abs(n-i-50),o=Math.abs(n+5-i-50),a=10*Math.min(r/5,o/5);return a}function rg(t){return t&&t.toLowerCase().indexOf("utf_8")>=0?new Wm:new Bm}function og(t,e,n){var i=rg(n),r=i.getEncodingResult(t,e),o=r.version,a=qm[o-1][e],s=Iv(r.dataString,a.totalDataCodewords),l=Pv(s,a),u=Uv(o);Xv(u),Jv(u,o),Qv(u),o>=7&&Wv(u,Em(0,18)),Gv(u,Em(0,15)),Av(u,l);var c=tg(u),h=u[c];o>=7&&Wv([h],Kv(o));var p=ov[e]+Em(c,3);return Gv([h],jv(p)),h}Tv(),Ov();var ag=Math.round,sg=[[0,1],[1,1],[1,2],[2,2],[2,1],[3,1],[3,0],[2,0],[2,-1],[1,-1],[1,0]],lg=[[0,1],[1,1],[1,0]],ug={DEFAULT_SIZE:200,QUIET_ZONE_LENGTH:4,DEFAULT_ERROR_CORRECTION_LEVEL:"L",DEFAULT_BACKGROUND:"#fff",DEFAULT_DARK_MODULE_COLOR:"#000",MIN_BASE_UNIT_SIZE:1,DEFAULT_LOGO_SIZE:7},cg=function(t){function e(e,n,i){void 0===i&&(i=xe),t.call(this),this.options=ot({},this.options,n),this.element=e,this.wrapper=this.element,this.onError=i,this._initElement(),this._initSurface(),this.setOptions(n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.destroy=function(){this._destroySurface()},e.prototype._initElement=function(){G(this.element,"k-qrcode")},e.prototype._initSurface=function(){var t=this,e=t.options,n=t.surface;n&&n.options.type===e.renderAs||(this._destroySurface(),this._initSurfaceElement(),this.surface=this._createSurface())},e.prototype._createSurface=function(){return ju.A.create(this.surfaceElement,{type:this.options.renderAs})},e.prototype._destroySurface=function(){this.surface&&(this.surface.destroy(),this.surface=null,this._destroySurfaceElement())},e.prototype._initSurfaceElement=function(){this.surfaceElement||(this.surfaceElement=document.createElement("div"),this.surfaceElement.style.position="relative",this.element.appendChild(this.surfaceElement))},e.prototype._destroySurfaceElement=function(){this.surfaceElement&&this.surfaceElement.parentNode&&(this.surfaceElement.parentNode.removeChild(this.surfaceElement),this.surfaceElement=null)},e.prototype.redraw=function(){var t=this._getSize();this.surface.clear(),this.surface.setSize({width:t,height:t}),this.createVisual(),this.surface.draw(this.visual)},e.prototype.getSize=function(){var t=this.element,e=t.clientWidth,n=t.clientHeight,i={width:0,height:0};return e>0&&(i.width=e),n&&(i.height=n),i},e.prototype._resize=function(){this.redraw()},e.prototype.createVisual=function(){this.visual=this._render()},e.prototype.exportVisual=function(){return this._render()},e.prototype._render=function(){var t,e,n,i,r,o,a=this._value,s=this.options.border||{},l=this.options.padding||0,u=s.width||0;s.width=u;var c=new Ve.A;try{a&&(n=og(a,this.options.errorCorrection,this.options.encoding),i=this._getSize(),o=i-2*(u+l),t=this._calculateBaseUnit(o,n.length),r=n.length*t,e=u+l+(o-r)/2,c.append(this._renderBackground(i,s)),c.append(this._renderMatrix(n,t,e)),this._hasCustomLogo()?c.append(this._renderLogo(i,t)):this._isSwiss()&&c.append(this._renderSwissCode(i,t)))}catch(h){this.onError(h)}return c},e.prototype._renderLogo=function(t,e){var n,i,r=ag(t/2),o=this._getLogoSize(e*ug.DEFAULT_LOGO_SIZE),a=this.options.overlay.imageUrl,s={x:r-o.width/2,y:r-o.height/2};return i=new Me.A(new Le.A(s.x,s.y),new ic.A(o.width,o.height)),n=new $m.A(a,i),n},e.prototype._renderSwissCode=function(t,e){var n=this._getLogoSize(e*ug.DEFAULT_LOGO_SIZE);n=Math.max(n.width,n.height);var i=n/4,r=i/2,o=t/2,a={},s=new Ve.A;return a.x=a.y=Math.ceil(o-e-n/2),s.append(this._renderShape(a,Math.ceil(n+2*e),lg,"#fff")),a.x=a.y=o-n/2,s.append(this._renderShape(a,n,lg,this.options.color)),a.x=o+r-n/2,a.y=o+r+i-n/2,s.append(this._renderShape(a,i,sg,"#fff")),s},e.prototype._renderShape=function(t,e,n,i){var r=new Pe.P({fill:{color:i},stroke:null});r.moveTo(t.x,t.y);for(var o=0;o0?i:ug.DEFAULT_SIZE}return t},e.prototype._calculateBaseUnit=function(t,e){var n=Math.floor(t/e);if(n=t&&n-1>=ug.MIN_BASE_UNIT_SIZE&&n--;return n},e.prototype._renderMatrix=function(t,e,n){for(var i=new Pe.P({fill:{color:this.options.color},stroke:null}),r=0;r0){s=bg(_),l=yg(_),u=fg.sqrt(dg(C*s)+dg(x*k-b*C*l)),h=b*k+x*C*l,d=gg(u,h);var A=x*C*s/u;c=1-dg(A),p=0,0!==c&&(p=h-2*b*k/c),a=_;var I=v/16*c*(4+v*(4-3*c));_=g+(1-I)*v*A*(d+I*u*(p+I*h*(2*dg(p)-1))),M=mg(_-a)<=i.DISTANCE_CONVERGENCE}var T=c*(dg(f)-dg(m))/dg(m),N=1+T/16384*(4096+T*(T*(320-175*T)-768)),$=T/1024*(256+T*(T*(74-47*T)-128)),O=$*u*(p+$/4*(h*(2*dg(p)-1)-$/6*p*(4*dg(u)-3)*(4*dg(p)-3))),L=gg(C*s,x*k-b*C*l),E=gg(x*s,-b*C+x*k*l);return{distance:Yt(m*N*(d-O),this.DISTANCE_PRECISION),azimuthFrom:zt(L),azimuthTo:zt(E)}},e.prototype.toString=function(){return String(this.lat)+","+String(this.lng)},e.fromLngLat=function(t){return new e(t[1],t[0])},e.fromLatLng=function(t){return new e(t[0],t[1])},e.create=function(t,n){if(Ft(t))return t instanceof e?t.clone():1===arguments.length&&2===t.length?e.fromLatLng(t):new e(t,n)},e}(Lt.A),kg=Math,Cg=kg.atan,_g=kg.exp,Sg=kg.pow,Mg=kg.sin,Ag=kg.log,Ig=kg.tan,Tg=Le.A,Ng=kg.PI,$g=Ng/2,Og=Ng/4,Lg=Ng/180,Eg=pg.WGS84,Pg=function(t){function e(e){t.call(this),this.initProperties(),this._initOptions(e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._initOptions=function(t){this.options=ot({},this.options,t)},e.prototype.initProperties=function(){ot(this,{MAX_LNG:180,MAX_LAT:85.0840590501,INVERSE_ITERATIONS:15,INVERSE_CONVERGENCE:1e-12})},e.prototype.forward=function(t,e){var n=this,i=n.options,r=i.datum,o=r.a,a=i.centralMeridian,s=Kt(t.lat,-n.MAX_LAT,n.MAX_LAT),l=e?Kt(t.lng,-n.MAX_LNG,n.MAX_LNG):t.lng,u=qt(l-a)*o,c=n._projectLat(s);return new Tg(u,c)},e.prototype._projectLat=function(t){var e=this.options.datum,n=e.e,i=e.a,r=qt(t),o=Ig(Og+r/2),a=n*Mg(r),s=Sg((1-a)/(1+a),n/2);return i*Ag(o*s)},e.prototype.inverse=function(t,e){var n=this,i=n.options,r=i.datum,o=r.a,a=i.centralMeridian,s=t.x/(Lg*o)+a,l=Kt(n._inverseY(t.y),-n.MAX_LAT,n.MAX_LAT);return e&&(s=Kt(s,-n.MAX_LNG,n.MAX_LNG)),new wg(l,s)},e.prototype._inverseY=function(t){var e,n=this,i=n.options.datum,r=i.a,o=i.e,a=o/2,s=_g(-t/r),l=$g-2*Cg(s);for(e=0;e<=n.INVERSE_ITERATIONS;e++){var u=o*Mg(l),c=Sg((1-u)/(1+u),a),h=$g-2*Cg(s*c)-l;if(l+=h,kg.abs(h)<=n.INVERSE_CONVERGENCE)break}return zt(l)},e}(Lt.A);ee(Pg,{centralMeridian:0,datum:Eg});var Dg=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.initProperties=function(){t.prototype.initProperties.call(this),ot(this,{MAX_LAT:85.0511287798})},e.prototype._projectLat=function(t){var e=this.options.datum.a,n=qt(t),i=Ig(Og+n/2);return e*Ag(i)},e.prototype._inverseY=function(t){var e=this.options.datum.a,n=_g(-t/e);return zt($g-2*Cg(n))},e}(Pg),Rg=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.forward=function(t){return new Tg(t.lng,t.lat)},e.prototype.inverse=function(t){return new wg(t.y,t.x)},e}(Lt.A),Bg=function(t){function e(){t.call(this);var e=this,n=e._proj=new Dg,i=this.c=2*Ng*n.options.datum.a;this._tm=je.A().translate(.5,.5).scale(1/i,-1/i),this._itm=je.A().scale(i,-i).translate(-.5,-.5)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toPoint=function(t,e,n){var i=this._proj.forward(t,n);return i.transform(this._tm).scale(e||1)},e.prototype.toLocation=function(t,e,n){var i=t.clone().scale(1/(e||1)).transform(this._itm);return this._proj.inverse(i,n)},e}(Lt.A),Fg=(function(t){function e(){t.call(this),this._proj=new Pg}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toPoint=function(t){return this._proj.forward(t)},e.prototype.toLocation=function(t){return this._proj.inverse(t)}}(Lt.A),function(t){function e(){t.call(this),this._proj=new Rg}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toPoint=function(t){return this._proj.forward(t)},e.prototype.toLocation=function(t){return this._proj.inverse(t)}}(Lt.A),Object.defineProperty),zg=(Object.assign,function(t){var e=document.createElement("div");return e.innerHTML=t,e.firstChild}),jg=function(t,e){var n=document.createElement("div");n.innerHTML=t;while(n.childNodes.length>0)e.appendChild(n.childNodes[0])},Vg=function(t){while(t.firstChild)t.removeChild(t.firstChild)},Hg=function(t,e){e.insertBefore(t,e.firstChild)},Zg=function(t,e){t.appendChild(e);while(t.firstChild!==e)e.appendChild(t.firstChild)},Ug=function(t){var e=t.replace(/([a-z][A-Z])/g,(function(t){return t.charAt(0)+"-"+t.charAt(1).toLowerCase()}));return e},Gg=function(t){var e;return e=t&&String(t).endsWith("px")?t:String(t)+"px",e},Kg=function(t){var e,n=!1,i=[],r={wp:/(Windows Phone(?: OS)?)\s(\d+)\.(\d+(\.\d+)?)/,fire:/(Silk)\/(\d+)\.(\d+(\.\d+)?)/,android:/(Android|Android.*(?:Opera|Firefox).*?\/)\s*(\d+)\.?(\d+(\.\d+)?)?/,iphone:/(iPhone|iPod).*OS\s+(\d+)[\._]([\d\._]+)/,ipad:/(iPad).*OS\s+(\d+)[\._]([\d_]+)/,meego:/(MeeGo).+NokiaBrowser\/(\d+)\.([\d\._]+)/,webos:/(webOS)\/(\d+)\.(\d+(\.\d+)?)/,blackberry:/(BlackBerry|BB10).*?Version\/(\d+)\.(\d+(\.\d+)?)/,playbook:/(PlayBook).*?Tablet\s*OS\s*(\d+)\.(\d+(\.\d+)?)/,windows:/(MSIE)\s+(\d+)\.(\d+(\.\d+)?)/,tizen:/(tizen).*?Version\/(\d+)\.(\d+(\.\d+)?)/i,sailfish:/(sailfish).*rv:(\d+)\.(\d+(\.\d+)?).*firefox/i,ffos:/(Mobile).*rv:(\d+)\.(\d+(\.\d+)?).*Firefox/},o={ios:/^i(phone|pad|pod)$/i,android:/^android|fire$/i,blackberry:/^blackberry|playbook/i,windows:/windows/,wp:/wp/,flat:/sailfish|ffos|tizen/i,meego:/meego/},a={tablet:/playbook|ipad|fire/i},s={omini:/Opera\sMini/i,omobile:/Opera\sMobi/i,firefox:/Firefox|Fennec/i,mobilesafari:/version\/.*safari/i,ie:/MSIE|Windows\sPhone/i,chrome:/chrome|crios/i,webkit:/webkit/i};for(var l in r)if(r.hasOwnProperty(l)&&(i=t.match(r[l]),i)){if("windows"===l&&"plugins"in navigator)return!1;n={},n.device=l,n.tablet=Wg(l,a,!1),n.browser=Wg(t,s,"default"),n.name=Wg(l,o),n[n.name]=!0,n.majorVersion=i[2],n.minorVersion=(i[3]||"0").replace("_","."),e=n.minorVersion.replace(".","").substr(0,2),n.flatVersion=n.majorVersion+e+new Array(3-(e.length<3?e.length:2)).join("0");break}return n};function Wg(t,e,n){for(var i in e)if(e.hasOwnProperty(i)&&e[i].test(t))return i;return void 0!==n?n:t}var qg=function(t){var e=Kg(t);return e.ios||e.android},Yg=function(t){var e=!1,n=[],i={edge:/(edge)[ \/]([\w.]+)/i,webkit:/(chrome|crios)[ \/]([\w.]+)/i,safari:/(webkit)[ \/]([\w.]+)/i,opera:/(opera)(?:.*version|)[ \/]([\w.]+)/i,msie:/(msie\s|trident.*? rv:)([\w.]+)/i,mozilla:/(mozilla)(?:.*? rv:([\w.]+)|)/i};for(var r in i)if(i.hasOwnProperty(r)&&(n=t.match(i[r]),n)){e={},e[r]=!0,e[n[1].toLowerCase().split(" ")[0].split("/")[0]]=!0,e.version=parseInt(document.documentMode||n[2],10);break}return e},Xg=function(){var t={down:"touchstart mousedown",move:"mousemove touchmove",up:"mouseup touchend touchcancel",cancel:"mouseleave touchcancel"},e=Jg();return e.touch&&(e.mobileOS.ios||e.mobileOS.android)?t={down:"touchstart",move:"touchmove",up:"touchend touchcancel",cancel:"touchcancel"}:e.pointers?t={down:"pointerdown",move:"pointermove",up:"pointerup",cancel:"pointercancel pointerleave"}:e.msPointers&&(t={down:"MSPointerDown",move:"MSPointerMove",up:"MSPointerUp",cancel:"MSPointerCancel MSPointerLeave"}),t},Jg=function(){var t=Kg(navigator.userAgent),e=Yg(navigator.userAgent),n=e.chrome,i=e.crios,r=e.mozilla,o=e.safari,a={};a.mobileOS=t,a.touch="ontouchstart"in window,a.pointers=!n&&!i&&!r&&!o&&window.PointerEvent,a.msPointers=!n&&window.MSPointerEvent,a.mouseAndTouchPresent=a.touch&&!(a.mobileOS.ios||a.mobileOS.android),a.eventCapture=document.documentElement.addEventListener;var s=document.createElement("table"),l=a.transitions=!1,u=a.transforms=!1,c="string";return["Moz","webkit","O","ms"].forEach((function(t){var e=typeof s.style[t+"Transition"]===c;if(e||typeof s.style[t+"Transform"]===c){var n=t.toLowerCase();return u={css:"ms"!==n?"-"+n+"-":"",prefix:t,event:"o"===n||"webkit"===n?n:""},e&&(l=u,l.event=l.event?l.event+"TransitionEnd":"transitionend"),!1}})),s=null,a.transforms=u,a.transitions=l,a.delayedClick=function(){if(a.touch){if(a.mobileOS.ios)return!0;if(a.mobileOS.android){if(!a.browser.chrome)return!0;if(a.browser.version<32)return!1;var t=document.querySelector("meta[name=viewport]"),e=t?t.getAttribute("content"):"";return!e.match(/user-scalable=no/i)}}return!1},a},Qg=function(t,e){if(!e)return!1;var n=e.parentNode;while(null!==n){if(n===t)return!0;n=n.parentNode}return!1},ty=function(t,e){return t===e||Qg(t,e)},ey=function(t,e){return t.bind(e)};function ny(t){return"string"===typeof t}var iy=function(t,e,n,i,r){ry(t,e,n,i,r)},ry=function(t,e,n,i,r){var o=U(e)?e:(e||"").split(" ");o.forEach((function(e){oy(t,e,n,i,r)}))},oy=function(t,e,n,i,r){var o,a=i;n&&et(n)&&!i?a=n:n&&ny(n)&&et(a)&&(o=n),t.addEventListener(e,(function(e){var n=e.target?e.target.closest(o):null;if(!o||o&&e.target&&n){var i=o?n:e.currentTarget;Fg(e,"currentTarget",{value:i}),Fg(e,"delegateTarget",{value:t}),a(e)}}),Boolean(r))},ay=function(t,e,n,i,r){sy(t,e,n,i,r)},sy=function(t,e,n,i){var r=U(e)?e:(e||"").split(" ");r.forEach((function(e){ly(t,e,n,i)}))},ly=function(t,e,n,i){t.removeEventListener(e,n,Boolean(i))},uy=function(t){var e=Xg(navigator.userAgent);function n(t){return e[t]||t}var i=/([^ ]+)/g,r=t.replace(i,n);return r},cy=function(t,e){var n=t.prototype;n.events?e.forEach((function(t){n.events.indexOf(t)<0&&n.events.push(t)})):n.events=e},hy=function(t){var e,n=t.originalEvent||t,i=n.wheelDeltaY;return n.wheelDelta?(void 0===i||i)&&(e=n.wheelDelta):n.detail&&n.axis===n.VERTICAL_AXIS&&(e=10*-n.detail),e},py=function(){return Number(new Date)},dy=function(){},fy=function(t){var e=[];if(t)for(var n=Ug(t).split("-"),i=0;i=0;n--)r[n]!==e&&r[n].original!==e||r.splice(n,1);else i._events[t]=[];return i},e.prototype._setEvents=function(t){for(var e=this,n=(this.events||[]).length,i=0;i0){Vg(this.element);var o=e.join(this.options.separator);jg(o,this.element),this.showElement()}else this.hideElement()},e.prototype.hideElement=function(){this.element.style.display="none"},e.prototype.showElement=function(){this.element.style.display=""},e.prototype._itemText=function(t){var e="",n=this._inZoomLevel(t.minZoom,t.maxZoom),i=this._inArea(t.extent);return n&&i&&(e+=t.text),e},e.prototype._inZoomLevel=function(t,e){var n=!0,i=Jt(t,-Number.MAX_VALUE),r=Jt(e,Number.MAX_VALUE);return n=this._zoom>i&&this._zoom';return zg(e)}var _y=function(t){function e(e,n){t.call(this),this.element=e,this._initOptions(n);var i=Cy("up"),r=Cy("right"),o=Cy("down"),a=Cy("left");this.element.appendChild(i),this.element.appendChild(r),this.element.appendChild(o),this.element.appendChild(a),G(this.element,"k-widget k-navigator"),iy(this.element,"click",".k-button",ey(this._click,this));var s=this.element.parentNode.closest("[data-role]");this._keyroot=s||this.element,this._tabindex(this._keyroot),this._keydownHandler=ey(this._keydown,this),iy(this._keyroot,"keydown",this._keydownHandler)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.destroy=function(){this.dispose()},e.prototype.dispose=function(){ay(this._keyroot,"keydown",this._keydownHandler)},e.prototype._tabindex=function(t){var e=t||this.wrapper||this.element,n=this.element,i="tabindex",r=e.getAttribute(i)||n.getAttribute(i);n.removeAttribute(i),e.setAttribute(i,isNaN(r)?0:r)},e.prototype._initOptions=function(t){this.options=ot({},this.options,t)},e.prototype._pan=function(t,e){var n=this.options.panStep;this.trigger(wy,{x:t*n,y:e*n})},e.prototype._click=function(t){var e=0,n=0,i=t.currentTarget;i.matches(".k-navigator-n")?n=1:i.matches(".k-navigator-s")?n=-1:i.matches(".k-navigator-e")?e=1:i.matches(".k-navigator-w")&&(e=-1),this._pan(e,n),t.preventDefault()},e.prototype._keydown=function(t){switch(t.which){case ke.UP:this._pan(0,1),t.preventDefault();break;case ke.DOWN:this._pan(0,-1),t.preventDefault();break;case ke.RIGHT:this._pan(1,0),t.preventDefault();break;case ke.LEFT:this._pan(-1,0),t.preventDefault();break;default:break}},e}(by);function Sy(t,e){var n='';return zg(n)}ee(_y,{name:"Navigator",panStep:1}),cy(_y,[wy]);var My=187,Ay=189,Iy=61,Ty=173,Ny="change",$y=function(t){function e(e,n){t.call(this),this.element=e,this._initOptions(n);var i=Sy("in","k-i-plus"),r=Sy("out","k-i-minus");this.element.appendChild(i),this.element.appendChild(r),G(this.element,"k-widget k-zoom-control k-button-group k-group-horizontal"),this._clickHandler=this._click.bind(this),iy(this.element,"click",".k-button",this._clickHandler);var o=this.element.parentNode.closest("[data-role]");this._keyroot=o||this.element,this._tabindex(this._keyroot),this._keydownHandler=this._keydown.bind(this),iy(this._keyroot,"keydown",this._keydownHandler)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.destroy=function(){this.element&&ay(this.element,"click",this._clickHandler),this._keyroot&&ay(this._keyroot,"keydown",this._keydownHandler)},e.prototype._tabindex=function(t){var e=t||this.wrapper||this.element,n=this.element,i="tabindex",r=e.getAttribute(i)||n.getAttribute(i);n.removeAttribute(i),e.setAttribute(i,isNaN(r)?0:r)},e.prototype._initOptions=function(t){this.options=ot({},this.options,t)},e.prototype._change=function(t){var e=this.options.zoomStep;this.trigger(Ny,{delta:t*e})},e.prototype._click=function(t){var e=t.currentTarget,n=1;xt(e,"k-zoom-out")&&(n=-1),this._change(n),t.preventDefault()},e.prototype._keydown=function(t){switch(t.which){case ke.NUMPAD_PLUS:case My:case Iy:this._change(1);break;case ke.NUMPAD_MINUS:case Ay:case Ty:this._change(-1);break;default:break}},e}(by);ee($y,{name:"ZoomControl",zoomStep:1}),cy($y,[Ny]);var Oy=Math,Ly=Oy.max,Ey=Oy.min,Py=function(t){function e(e,n){t.call(this);var i=wg.create(e),r=wg.create(n);i.lng+180>r.lng+180&&i.lat+90=e.lng+180&&i+180<=n.lng+180&&r+90>=n.lat+90&&r+90<=e.lat+90},e.prototype.center=function(){var t=this.nw,e=this.se,n=t.lng+(e.lng-t.lng)/2,i=t.lat+(e.lat-t.lat)/2;return new wg(i,n)},e.prototype.containsAny=function(t){for(var e=this,n=!1,i=0;i=t.minZoom,i=!Ft(t.maxZoom)||e<=t.maxZoom,r=Py.create(t.extent),o=!r||r.overlaps(this.map.extent());this._setVisibility(n&&i&&o)},e.prototype._setVisibility=function(t){this.element.style.display=t?"":"none"},e.prototype._activate=function(){var t=this.map;this._deactivate(),t.bind("beforeReset",this._beforeReset),t.bind("reset",this._reset),t.bind("resize",this._resize),t.bind("panEnd",this._panEnd)},e.prototype._deactivate=function(){var t=this.map;t.unbind("beforeReset",this._beforeReset),t.unbind("reset",this._reset),t.unbind("resize",this._resize),t.unbind("panEnd",this._panEnd)},e.prototype._updateAttribution=function(){var t=this.map.attribution;t&&t.add(this.options.attribution)},e.prototype._readData=function(){var t=this.options.data||[];return t},e.prototype._hasData=function(){return this._data&&this._data.length>0},e.prototype._layerIndex=function(){var t=this.map.layers||[];return t.indexOf(this)},e}(Lt.A),Hy=Math,Zy=Le.A;function Uy(t){return et(t)?t:ft.compile(t)}function Gy(t){return new Zy(Yt(t.x),Yt(t.y))}function Ky(t){var e=t;return"string"!==typeof t&&(e+="px"),e}var Wy=function(t){function e(e,n){t.call(this,e,n),"string"===typeof this.options.subdomains&&(this.options.subdomains=this.options.subdomains.split(""));var i=this._viewType();this._view=new i(this.element,this.options)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.destroy=function(){t.prototype.destroy.call(this),this._view.destroy(),this._view=null},e.prototype._beforeReset=function(){var t=this.map,e=t.locationToLayer(t.extent().nw).round();this._view.viewOrigin(e)},e.prototype._reset=function(){t.prototype._reset.call(this),this._updateView(),this._view.reset()},e.prototype._viewType=function(){return qy},e.prototype._activate=function(){t.prototype._activate.call(this),this.support.mobileOS||(this._pan||(this._pan=(0,Vu.A)(this._render.bind(this),100)),this.map.bind("pan",this._pan))},e.prototype._deactivate=function(){t.prototype._deactivate.call(this),this._pan&&this.map.unbind("pan",this._pan)},e.prototype._updateView=function(){var t=this._view,e=this.map,n=e.extent(),i={nw:e.locationToLayer(n.nw).round(),se:e.locationToLayer(n.se).round()};t.center(e.locationToLayer(e.center())),t.extent(i),t.zoom(e.zoom())},e.prototype._resize=function(){this._render()},e.prototype._panEnd=function(e){t.prototype._panEnd.call(this,e),this._render()},e.prototype._render=function(){this._updateView(),this._view.render()},e}(Vy);ee(Wy,{tileSize:256,subdomains:["a","b","c"],urlTemplate:"",zIndex:1});var qy=function(t){function e(e,n){t.call(this),this.element=e,this._initOptions(n),this.pool=new Xy}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._initOptions=function(t){this.options=ot({},this.options,t)},e.prototype.center=function(t){this._center=t},e.prototype.extent=function(t){this._extent=t},e.prototype.viewOrigin=function(t){this._viewOrigin=t},e.prototype.zoom=function(t){this._zoom=t},e.prototype.pointToTileIndex=function(t){return new Zy(Hy.floor(t.x/this.options.tileSize),Hy.floor(t.y/this.options.tileSize))},e.prototype.tileCount=function(){var t=this.size(),e=this.pointToTileIndex(this._extent.nw),n=this._extent.nw,i=this.indexToPoint(e).translate(-n.x,-n.y);return{x:Hy.ceil((Hy.abs(i.x)+t.width)/this.options.tileSize),y:Hy.ceil((Hy.abs(i.y)+t.height)/this.options.tileSize)}},e.prototype.size=function(){var t=this._extent.nw,e=this._extent.se,n=e.clone().translate(-t.x,-t.y);return{width:n.x,height:n.y}},e.prototype.indexToPoint=function(t){var e=t.x,n=t.y;return new Zy(e*this.options.tileSize,n*this.options.tileSize)},e.prototype.subdomainText=function(){var t=this.options.subdomains;return t[this.subdomainIndex++%t.length]},e.prototype.destroy=function(){Vg(this.element),this.pool.empty()},e.prototype.reset=function(){this.pool.reset(),this.subdomainIndex=0,this.render()},e.prototype.render=function(){var t,e,n,i=this,r=this.tileCount(),o=this.pointToTileIndex(this._extent.nw);for(e=0;e=0?n:e-(0===n?e:n),i},e}(Lt.A),Yy=function(t){function e(e,n){t.call(this),this.id=e,this.visible=!0,this._initOptions(n),this.createElement(),this.show()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.destroy=function(){var t=this.element,e=t?t.parentNode:null;t&&(e&&e.removeChild(t),this.element=null)},e.prototype._initOptions=function(t){this.options=ot({},this.options,t)},e.prototype.createElement=function(){var t=document.createElement("img"),e=this.options.size+"px";t.style.position="absolute",t.style.display="block",t.style.width=t.style.maxWidth=e,t.style.height=t.style.maxHeight=e,this.element=t},e.prototype.show=function(){var t=this.element;t.style.top=Ky(this.options.offset.y),t.style.left=Ky(this.options.offset.x);var e=this.url();e&&t.setAttribute("src",e),t.style.visibility="visible",this.visible=!0},e.prototype.hide=function(){this.element.style.visibility="hidden",this.visible=!1},e.prototype.url=function(){var t=Uy(this.options.urlTemplate);return t(this.urlOptions())},e.prototype.errorUrl=function(){var t=Uy(this.options.errorUrlTemplate);return t(this.urlOptions())},e.prototype.urlOptions=function(){var t=this.options;return{zoom:t.zoom,subdomain:t.subdomain,z:t.zoom,x:t.index.x,y:t.index.y,s:t.subdomain,quadkey:t.quadkey,q:t.quadkey,culture:t.culture,c:t.culture}},e}(Lt.A);ee(Yy,{urlTemplate:"",errorUrlTemplate:""});var Xy=function(t){function e(){t.call(this),this._items=[]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t,e){return this._items.length>=this.options.maxSize&&this._remove(t),this._create(e)},e.prototype.empty=function(){for(var t=this._items,e=0;en&&!e[r].visible&&(i=r,n=o)}-1!==i&&(e[i].destroy(),e.splice(i,1))},e}(Lt.A);ee(Xy,{maxSize:100});var Jy=Object.assign,Qy="change",tb=function(t){function e(e,n){t.call(this);var i=this,r=e[0]||e;i.capture=!1;var o=Xg(navigator.userAgent);r.addEventListener?(o.down.split(" ").forEach((function(t){r.addEventListener(t,ey(i._press,i),!0)})),o.up.split(" ").forEach((function(t){r.addEventListener(t,ey(i._release,i),!0)}))):(o.down.split(" ").forEach((function(t){r.attachEvent(t,ey(i._press,i))})),o.up.split(" ").forEach((function(t){r.attachEvent(t,ey(i._release,i))}))),i.bind(["press","release"],n||{})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.captureNext=function(){this.capture=!0},e.prototype.cancelCapture=function(){this.capture=!1},e.prototype._press=function(t){var e=this;e.trigger("press"),e.capture&&t.preventDefault()},e.prototype._release=function(t){var e=this;e.trigger("release"),e.capture&&(t.preventDefault(),e.cancelCapture())},e}(by),eb=function(t){function e(e){t.call(this);var n=this;n.forcedEnabled=!1,Jy(n,e),n.scale=1,n.horizontal?(n.measure="offsetWidth",n.scrollSize="scrollWidth",n.axis="x"):(n.measure="offsetHeight",n.scrollSize="scrollHeight",n.axis="y")}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.makeVirtual=function(){Jy(this,{virtual:!0,forcedEnabled:!0,_virtualMin:0,_virtualMax:0})},e.prototype.virtualSize=function(t,e){this._virtualMin===t&&this._virtualMax===e||(this._virtualMin=t,this._virtualMax=e,this.update())},e.prototype.outOfBounds=function(t){return t>this.max||tr,t||e.trigger(Qy,e))},e}(by),nb=function(t){function e(e){t.call(this);var n=this;n.x=new eb(Jy({horizontal:!0},e)),n.y=new eb(Jy({horizontal:!1},e)),n.container=e.container,n.forcedMinScale=e.minScale,n.maxScale=e.maxScale||100,n.bind(Qy,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.rescale=function(t){this.x.rescale(t),this.y.rescale(t),this.refresh()},e.prototype.centerCoordinates=function(){return{x:Math.min(0,-this.x.centerOffset),y:Math.min(0,-this.y.centerOffset)}},e.prototype.refresh=function(){var t=this;t.x.update(),t.y.update(),t.enabled=t.x.enabled||t.y.enabled,t.minScale=t.forcedMinScale||Math.min(t.x.minScale,t.y.minScale),t.fitScale=Math.max(t.x.minScale,t.y.minScale),t.trigger(Qy)},e}(by),ib=function(t){function e(e){t.call(this),Jy(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.outOfBounds=function(){return this.dimension.outOfBounds(this.movable[this.axis])},e.prototype.dragMove=function(t){var e=this,n=e.dimension,i=e.axis,r=e.movable,o=r[i]+t;if(n.enabled){var a=t;(on.max&&t>0)&&(a*=e.resistance),r.translateAxis(i,a),e.trigger(Qy,e)}},e}(by),rb=function(t){function e(e){t.call(this);var n,i,r,o,a=this;Jy(a,{elastic:!0},e),r=a.elastic?.5:0,o=a.movable,a.x=n=new ib({axis:"x",dimension:a.dimensions.x,resistance:r,movable:o}),a.y=i=new ib({axis:"y",dimension:a.dimensions.y,resistance:r,movable:o}),a.userEvents.bind(["press","move","end","gesturestart","gesturechange"],{gesturestart:function(t){a.gesture=t,a.offset=jt(a.dimensions.container)},press:function(t){var e=t.event.target.closest("a");e&&e.matches("[data-navigate-on-press=true]")&&t.sender.cancel()},gesturechange:function(t){var e,r=a.gesture,s=r.center,l=t.center,u=t.distance/r.distance,c=a.dimensions.minScale,h=a.dimensions.maxScale;o.scale<=c&&u<1&&(u+=.8*(1-u)),o.scale*u>=h&&(u=h/o.scale);var p=o.x+a.offset.left,d=o.y+a.offset.top;e={x:(p-s.x)*u+l.x-p,y:(d-s.y)*u+l.y-d},o.scaleWith(u),n.dragMove(e.x),i.dragMove(e.y),a.dimensions.rescale(o.scale),a.gesture=t,t.preventDefault()},move:function(t){t.event.target.tagName.match(/textarea|input/i)||(n.dimension.enabled||i.dimension.enabled?(n.dragMove(t.x.delta),i.dragMove(t.y.delta),t.preventDefault()):t.touch.skip())},end:function(t){t.preventDefault()}})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Lt.A),ob=function(t,e,n){return"translate3d("+t+"px,"+e+"px,0) scale("+n+")"},ab=function(t){function e(e){t.call(this);var n=this;n.support=Jg(),this.transformStyle=this.support.transitions.prefix+"Transform",n.element=e,n.element.style.webkitTransformOrigin="left top",n.x=0,n.y=0,n.scale=1;var i=ob(n.x,n.y,n.scale);n.element.style[this.transformStyle]=i,n._saveCoordinates(i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.translateAxis=function(t,e){this[t]+=e,this.refresh()},e.prototype.scaleTo=function(t){this.scale=t,this.refresh()},e.prototype.scaleWith=function(t){this.scale*=t,this.refresh()},e.prototype.translate=function(t){this.x+=t.x,this.y+=t.y,this.refresh()},e.prototype.moveAxis=function(t,e){this[t]=e,this.refresh()},e.prototype.moveTo=function(t){Jy(this,t),this.refresh()},e.prototype.refresh=function(){var t,e=this,n=e.x,i=e.y;e.round&&(n=Math.round(n),i=Math.round(i)),t=ob(n,i,e.scale),t!==e.coordinates&&(e.element.style[this.transformStyle]=t,e._saveCoordinates(t),e.trigger(Qy))},e.prototype._saveCoordinates=function(t){this.coordinates=t},e}(by),sb=Ve.A,lb=function(t){function e(e,n){t.call(this,e,n),this._pan=ey(this._pan,this),this.surface=ju.A.create(this.element,{width:e.scrollElement.clientWidth,height:e.scrollElement.clientHeight}),this._initRoot(),this.movable=new ab(this.surface.element),this._markers=[],this._click=this._handler("shapeClick"),this.surface.bind("click",this._click),this._mouseleave=this._handler("shapeMouseLeave"),this.surface.bind("mouseleave",this._mouseleave),this.surface.bind("mouseenter",this._mouseenter.bind(this))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.destroy=function(){t.prototype.destroy.call(this),this.surface.destroy()},e.prototype._reset=function(){t.prototype._reset.call(this),this._translateSurface(),this._data=this._readData(),this._hasData()&&this._load(this._data)},e.prototype._initRoot=function(){this._root=new sb,this.surface.draw(this._root)},e.prototype._beforeReset=function(){this.surface.clear(),this._initRoot()},e.prototype._resize=function(){this.surface.size(this.map.size())},e.prototype._readData=function(){var e=t.prototype._readData.call(this);return"FeatureCollection"===e.type?e.features:"GeometryCollection"===e.type?e.geometries:e},e.prototype._load=function(t){var e=this;this._data=t,this._clearMarkers(),this._loader||(this._loader=new ub(this.map,this.options.style,this));for(var n=new sb,i=0;i1?Pe.P:Pe.w,i=new n(this.style),r=0;r-1&&this.items.splice(e,1)},e.prototype.clear=function(){for(var t=this,e=0;e=this.duration},e.prototype.timePassed=function(){return Math.min(this.duration,py()-this.startDate)},e.prototype.moveTo=function(t){var e=this,n=e.movable;e.initial=n[e.axis],e.delta=t.location-e.initial,e.duration="number"===typeof t.duration?t.duration:300,e.tick=e._easeProxy(t.ease),e.startDate=py(),e.start()},e.prototype._easeProxy=function(t){var e=this;return function(){e.movable.moveAxis(e.axis,t(e.timePassed(),e.initial,e.delta,e.duration))}},e.easeOutExpo=function(t,e,n,i){return t===i?e+n:n*(1-Math.pow(2,-10*t/i))+e},e}(_b),Mb=Object.assign,Ab=function(t){t.preventDefault()},Ib=800,Tb=300,Nb=0,$b="press",Ob="hold",Lb="select",Eb="start",Pb="move",Db="end",Rb="cancel",Bb="tap",Fb="doubleTap",zb="release",jb="gesturestart",Vb="gesturechange",Hb="gestureend",Zb="gesturetap",Ub={api:0,touch:0,mouse:9,pointer:9};function Gb(t,e){var n=t.x.location,i=t.y.location,r=e.x.location,o=e.y.location,a=n-r,s=i-o;return{center:{x:(n+r)/2,y:(i+o)/2},distance:Math.sqrt(a*a+s*s)}}function Kb(t){var e,n,i,r=Jg(),o=[],a=t.originalEvent||t,s=t.currentTarget,l=0;if(t.api)o.push({id:2,event:t,target:t.target,currentTarget:t.target,location:t,type:"api"});else if(t.type.match(/touch/))for(n=a?a.changedTouches:[],e=n.length;l1},e.prototype._maxTouchesReached=function(){return this.touches.length>=this._maxTouches},e.prototype._disposeAll=function(){var t=this.touches;while(t.length>0)t.pop().dispose()},e.prototype._isMoved=function(){return bt(this.touches,(function(t){return t.isMoved()})).length},e.prototype._select=function(t){this.allowSelection&&!this.trigger(Lb,{event:t})||t.preventDefault()},e.prototype._start=function(t){var n,i,r=this,o=0,a=r.filter,s=Kb(t),l=s.length,u=t.which;if(!(u&&u>1||r._maxTouchesReached()))for(e.current=null,r.currentTarget=t.currentTarget,r.stopPropagation&&t.stopPropagation();oe.max?e.max:e.min;t._moveTo(n)},e.prototype._moveTo=function(t){this.transition.moveTo({location:t,duration:tx,ease:Sb.easeOutExpo})},e}(_b),fx=function(t){function e(e){t.call(this,e);var n=this;Jb(n,e,{origin:{},destination:{},offset:{}})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.tick=function(){this._updateCoordinates(),this.moveTo(this.origin)},e.prototype.done=function(){return Qb(this.offset.y)');Jb(n,e,{element:o,elementSize:0,movable:new ab(o),scrollMovable:e.movable,alwaysVisible:e.alwaysVisible,size:i?"width":"height"}),n.scrollMovable.bind(lx,n.refresh.bind(n)),n.container.appendChild(o),e.alwaysVisible&&n.show()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.refresh=function(){var t=this,e=t.axis,n=t.dimension,i=n.size,r=t.scrollMovable,o=i/n.total,a=Math.round(-r[e]*o),s=Math.round(i*o);this.element.style.display=o>=1?"none":"",a+s>i?s=i-a:a<0&&(s+=a,a=0),t.elementSize!==s&&(t.element.style[t.size]=s+"px",t.elementSize=s),t.movable.moveAxis(e,a)},e.prototype.show=function(){this.element.style.opacity=ex,this.element.style.visibility="visible"},e.prototype.hide=function(){this.alwaysVisible||(this.element.style.opacity=0)},e}(Lt.A),vx=function(t){function e(e,n){t.call(this);var i=this;this.element=e,this._initOptions(n);var r=qg(navigator.userAgent);i._native=i.options.useNative&&r;var o=zg('
');if(i._native)return G(e,"km-native-scroller"),Hg(o,e),void Jb(i,{scrollElement:e,fixedContainer:e.children[0]});e.style.overflow="hidden",G(e,"km-scroll-wrapper");var a=zg('
');Zg(e,a),Hg(o,e);var s=e.children[1],l=new tb(e),u=new ab(s),c=new nb({element:s,container:e,forcedEnabled:i.options.zoom}),h=this.options.avoidScrolling,p=new Xb(e,{touchAction:"pan-y",fastTap:!0,allowSelection:!0,preventDragEvent:!0,captureUpIfMoved:!0,multiTouch:i.options.zoom,supportDoubleTap:i.options.supportDoubleTap,start:function(t){c.refresh();var e=Qb(t.x.velocity),n=Qb(t.y.velocity),r=2*e>=n,o=ty(i.fixedContainer,t.event.target),a=2*n>=e;!o&&!h(t)&&i.enabled&&(c.x.enabled&&r||c.y.enabled&&a)?p.capture():p.cancel()}}),d=new rb({movable:u,dimensions:c,userEvents:p,elastic:i.options.elastic}),f=new px({movable:u,dimensions:c,userEvents:p,tapCapture:l}),m=new fx({moveTo:function(t){i.scrollTo(t.x,t.y)}});u.bind(lx,(function(){i.scrollTop=-u.y,i.scrollLeft=-u.x,i.trigger(cx,{scrollTop:i.scrollTop,scrollLeft:i.scrollLeft})})),i.options.mousewheelScrolling&&(this._wheelScrollHandler=this._wheelScroll.bind(this),iy(e,"wheel",this._wheelScrollHandler)),Jb(i,{movable:u,dimensions:c,zoomSnapBack:f,animatedScroller:m,userEvents:p,pane:d,tapCapture:l,pulled:!1,enabled:!0,scrollElement:s,scrollTop:0,scrollLeft:0,fixedContainer:e.children[0]}),i._initAxis("x"),i._initAxis("y"),i._wheelEnd=function(){i._wheel=!1,i.userEvents.end(0,i._wheelY)},c.refresh(),i.options.pullToRefresh&&i._initPullToRefresh()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._initOptions=function(t){this.options=ot({},this.options,t)},e.prototype._wheelScroll=function(t){if(!t.ctrlKey){this._wheel||(this._wheel=!0,this._wheelY=0,this.userEvents.press(0,this._wheelY)),clearTimeout(this._wheelTimeout),this._wheelTimeout=setTimeout(this._wheelEnd,50);var e=hy(t);e&&(this._wheelY+=e,this.userEvents.move(0,this._wheelY)),t.preventDefault()}},e.prototype.makeVirtual=function(){this.dimensions.y.makeVirtual()},e.prototype.virtualSize=function(t,e){this.dimensions.y.virtualSize(t,e)},e.prototype.height=function(){return this.dimensions.y.size},e.prototype.scrollHeight=function(){return this.scrollElement.scrollHeight},e.prototype.scrollWidth=function(){return this.scrollElement.scrollWidth},e.prototype._resize=function(){this._native||this.contentResized()},e.prototype.setOptions=function(t){var e=this;this._initOptions(t),t.pullToRefresh&&e._initPullToRefresh()},e.prototype.reset=function(){this._native?this.scrollElement.scrollTop(0):(this.movable.moveTo({x:0,y:0}),this._scale(1))},e.prototype.contentResized=function(){this.dimensions.refresh(),this.pane.x.outOfBounds()&&this.movable.moveAxis("x",this.dimensions.x.min),this.pane.y.outOfBounds()&&this.movable.moveAxis("y",this.dimensions.y.min)},e.prototype.zoomOut=function(){var t=this.dimensions;t.refresh(),this._scale(t.fitScale),this.movable.moveTo(t.centerCoordinates())},e.prototype.enable=function(){this.enabled=!0},e.prototype.disable=function(){this.enabled=!1},e.prototype.scrollTo=function(t,e){this._native?(this.scrollElement.scrollLeft(Qb(t)),this.scrollElement.scrollTop(Qb(e))):(this.dimensions.refresh(),this.movable.moveTo({x:t,y:e}))},e.prototype.animatedScrollTo=function(t,e,n){var i,r;this._native?this.scrollTo(t,e):(i={x:this.movable.x,y:this.movable.y},r={x:t,y:e},this.animatedScroller.setCoordinates(i,r),this.animatedScroller.setCallback(n),this.animatedScroller.start())},e.prototype.pullHandled=function(){},e.prototype.destroy=function(){var t=this.element;ay(t,"wheel",this._wheelScrollHandler),this.userEvents&&this.userEvents.destroy()},e.prototype._scale=function(t){this.dimensions.rescale(t),this.movable.scaleTo(t)},e.prototype._initPullToRefresh=function(){},e.prototype._dragEnd=function(){},e.prototype._paneChange=function(){},e.prototype._initAxis=function(t){var e=this,n=e.movable,i=e.dimensions[t],r=e.tapCapture,o=e.pane[t],a=new mx({axis:t,movable:n,dimension:i,container:e.element,alwaysVisible:e.options.visibleScrollHints});i.bind(lx,(function(){a.refresh()})),o.bind(lx,(function(){a.show()})),e[t+"inertia"]=new dx({axis:t,paneAxis:o,movable:n,tapCapture:r,userEvents:e.userEvents,dimension:i,elastic:e.options.elastic,friction:e.options.friction||nx,velocityMultiplier:e.options.velocityMultiplier||ix,end:function(){a.hide(),e.trigger("scrollEnd",{axis:t,scrollTop:e.scrollTop,scrollLeft:e.scrollLeft})}})},e}(by);ee(vx,{name:"Scroller",zoom:!1,pullOffset:140,visibleScrollHints:!1,elastic:!0,useNative:!1,mousewheelScrolling:!0,avoidScrolling:function(){return!1},pullToRefresh:!1,messages:{pullTemplate:"Pull to refresh",releaseTemplate:"Release to refresh",refreshTemplate:"Refreshing"}}),cy(vx,[sx,cx,ux]);var gx=function(t,e){void 0===e&&(e={}),this.sender=e.sender||t,this.widget=t,this.rtl=Boolean(e.rtl)};gx.prototype.notify=function(t,e){this.widget&&this.widget.trigger(t,e)};var yx=gx,bx=Math,xx=bx.min,wx=bx.pow,kx=Le.A,Cx="marker",_x="location",Sx=.9,Mx=.93,Ax="wheel",Ix=50,Tx=5,Nx=1,$x={bubble:cb,shape:lb,tile:Wy};$x[Cx]=xb;var Ox=function(t){function e(e,n,i,r){void 0===n&&(n={}),void 0===i&&(i={}),void 0===r&&(r={}),t.call(this),this._init(e,n,i,r)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.destroy=function(){var e=this;this.scroller.destroy(),this._tooltip&&this._tooltip.destroy(),this.navigator&&this.navigator.destroy(),this.attribution&&this.attribution.destroy(),this.zoomControl&&this.zoomControl.destroy(),U(this.markers)?this.markers.forEach((function(t){t.destroy()})):this.markers.destroy();for(var n=0;n");this.element.appendChild(e)},e.prototype.initServices=function(t){void 0===t&&(t={}),this.widgetService=new yx(this,t)},e.prototype.initObserver=function(t){void 0===t&&(t={}),this.observers=[],this.addObserver(t.observer)},e.prototype.addObserver=function(t){t&&this.observers.push(t)},e.prototype.removeObserver=function(t){var e=this.observers.indexOf(t);e>=0&&this.observers.splice(e,1)},e.prototype.requiresHandlers=function(t){for(var e=this.observers,n=0;n0&&(i.lng=180+(180+i.lng));var r=new Py(n.nw,i);this.center(r.center());var o,a=this.element.clientWidth,s=this.element.clientHeight;for(o=this.options.maxZoom;o>=this.options.minZoom;o--){var l=e.locationToLayer(r.nw,o),u=e.locationToLayer(r.se,o),c=bx.abs(u.x-l.x),h=bx.abs(u.y-l.y);if(c<=a&&h<=s)break}this.zoom(o)},e.prototype._getExtent=function(){var t=this._getOrigin(),e=this.locationToLayer(t),n=this.viewSize();e.x+=n.width,e.y+=n.height;var i=this.layerToLocation(e);return new Py(t,i)},e.prototype._zoomAround=function(t,e){this._setOrigin(this.layerToLocation(t,e),e),this.zoom(e)},e.prototype._initControls=function(){var t=this.options.controls;t.attribution&&this._createAttribution(t.attribution),this.support.mobileOS||(t.navigator&&this._createNavigator(t.navigator),t.zoom&&this._createZoomControl(t.zoom))},e.prototype._createControlElement=function(t,e){var n=t.position||e,i="."+fy(n).replace(" ","."),r=this.element.querySelector(".k-map-controls"+i)||[];if(0===r.length){var o=document.createElement("div");G(o,"k-map-controls "+fy(n)),r=o,this.element.appendChild(r)}var a=document.createElement("div");return r.appendChild(a),a},e.prototype._createAttribution=function(t){var e=this._createControlElement(t,"bottomRight");this.attribution=new xy(e,t)},e.prototype._createNavigator=function(t){var e=this._createControlElement(t,"topLeft"),n=this.navigator=new _y(e,t);this._navigatorPan=this._navigatorPan.bind(this),n.bind("pan",this._navigatorPan),this._navigatorCenter=this._navigatorCenter.bind(this),n.bind("center",this._navigatorCenter)},e.prototype._navigatorPan=function(t){var e=this.scroller,n=e.scrollLeft+t.x,i=e.scrollTop-t.y,r=this._virtualSize,o=this.element.clientWidth,a=this.element.clientHeight;n=Kt(n,r.x.min,r.x.max-o),i=Kt(i,r.y.min,r.y.max-a),this.scroller.one("scroll",ey(this._scrollEnd,this)),this.scroller.scrollTo(-n,-i)},e.prototype._navigatorCenter=function(){this.center(this.options.center)},e.prototype._createZoomControl=function(t){var e=this._createControlElement(t,"topLeft"),n=this.zoomControl=new $y(e,t);this._zoomControlChange=this._zoomControlChange.bind(this),n.bind("change",this._zoomControlChange)},e.prototype._zoomControlChange=function(t){this.trigger("zoomStart",{originalEvent:t})||(this.zoom(this.zoom()+t.delta),this.trigger("zoomEnd",{originalEvent:t}))},e.prototype._initScroller=function(){var t=this.support.mobileOS?Mx:Sx,e=!1!==this.options.zoomable,n=this.scroller=new vx(this.element.children[0],{friction:t,velocityMultiplier:Tx,zoom:e,mousewheelScrolling:!1,supportDoubleTap:!0});n.bind("scroll",ey(this._scroll,this)),n.bind("scrollEnd",ey(this._scrollEnd,this)),n.userEvents.bind("gesturestart",ey(this._scaleStart,this)),n.userEvents.bind("gestureend",ey(this._scale,this)),n.userEvents.bind("doubleTap",ey(this._doubleTap,this)),n.userEvents.bind("tap",ey(this._tap,this)),this.scrollElement=n.scrollElement},e.prototype._initLayers=function(){for(var t=this,e=this.options.layers,n=this.layers=[],i=0;i0||(this.markers=new xb(this,this.options.markerDefaults),this.markers.add(this.options.markers))},e.prototype._scroll=function(t){var e=this.locationToLayer(this._viewOrigin).round(),n=t.sender.movable,i=new Le.A(n.x,n.y).scale(-1).scale(1/n.scale);e.x+=i.x,e.y+=i.y,this._scrollOffset=i,this._tooltip.offset=i,this.hideTooltip(),this._setOrigin(this.layerToLocation(e)),this.trigger("pan",{originalEvent:t,origin:this._getOrigin(),center:this.center()})},e.prototype._scrollEnd=function(t){this._scrollOffset&&this._panComplete()&&(this._scrollOffset=null,this._panEndTimestamp=py(),this.trigger("panEnd",{originalEvent:t,origin:this._getOrigin(),center:this.center()}))},e.prototype._panComplete=function(){return py()-(this._panEndTimestamp||0)>50},e.prototype._scaleStart=function(t){if(this.trigger("zoomStart",{originalEvent:t})){var e=t.touches[1];e&&e.cancel()}},e.prototype._scale=function(t){var e=this.scroller.movable.scale,n=this._scaleToZoom(e),i=new Le.A(t.center.x,t.center.y),r=this.viewToLocation(i,n),o=this.locationToLayer(r,n),a=o.translate(-i.x,-i.y);this._zoomAround(a,n),this.trigger("zoomEnd",{originalEvent:t})},e.prototype._scaleToZoom=function(t){var e=this._layerSize()*t,n=e/this.options.minSize,i=bx.log(n)/bx.log(2);return bx.round(i)},e.prototype._reset=function(){this.attribution&&this.attribution.filter(this.center(),this.zoom()),this._viewOrigin=this._getOrigin(!0),this._resetScroller(),this.hideTooltip(),this.trigger("beforeReset"),this.trigger("reset")},e.prototype._resetScroller=function(){var t=this.scroller,e=t.dimensions.x,n=t.dimensions.y,i=this._layerSize(),r=this.extent().nw,o=this.locationToLayer(r).round();t.movable.round=!0,t.reset(),t.userEvents.cancel();var a=this.zoom();t.dimensions.forcedMinScale=wx(2,this.options.minZoom-a),t.dimensions.maxScale=wx(2,this.options.maxZoom-a);var s={min:-o.x,max:i-o.x},l={min:-o.y,max:i-o.y};if(this.options.wraparound&&(s.max=20*i,s.min=-s.max),!1===this.options.pannable){var u=this.viewSize();s.min=l.min=0,s.max=u.width,l.max=u.height}e.makeVirtual(),n.makeVirtual(),e.virtualSize(s.min,s.max),n.virtualSize(l.min,l.max),this._virtualSize={x:s,y:l}},e.prototype._renderLayers=function(){},e.prototype._layerSize=function(t){var e=Jt(t,this.options.zoom);return this.options.minSize*wx(2,e)},e.prototype._tap=function(t){if(this._panComplete()){var e=this.eventOffset(t);this.hideTooltip(),this.trigger("click",{originalEvent:t,location:this.viewToLocation(e)})}},e.prototype._doubleTap=function(t){var e=this.options;if(!1!==e.zoomable&&!this.trigger("zoomStart",{originalEvent:t})){var n=this.zoom()+Nx,i=this.eventOffset(t),r=this.viewToLocation(i),o=this.locationToLayer(r,n),a=o.translate(-i.x,-i.y);this._zoomAround(a,n),this.trigger("zoomEnd",{originalEvent:t})}},e.prototype._mousewheel=function(t){var e=Ot(t)>0?-1:1,n=this.options,i=this.zoom(),r=Kt(i+e,n.minZoom,n.maxZoom);if(!1!==n.zoomable&&r!==i&&!this.trigger("zoomStart",{originalEvent:t})){var o=this.eventOffset(t),a=this.viewToLocation(o),s=this.locationToLayer(a,r),l=s.translate(-o.x,-o.y);this._zoomAround(l,r),this.trigger("zoomEnd",{originalEvent:t})}},e.prototype._toDocumentCoordinates=function(t){var e=jt(this.element);return{left:Yt(t.x+e.left),top:Yt(t.y+e.top)}},e}(by);ee(Ox,{name:"Map",controls:{attribution:!0,navigator:{panStep:100},zoom:!0},layers:[],layerDefaults:{shape:{style:{fill:{color:"#fff"},stroke:{color:"#aaa",width:.5}}},bubble:{style:{fill:{color:"#fff",opacity:.5},stroke:{color:"#aaa",width:.5}}},marker:{shape:"pinTarget",tooltip:{position:"top"}}},center:[0,0],zoom:3,minSize:256,minZoom:1,maxZoom:19,markers:[],markerDefaults:{shape:"pinTarget",tooltip:{position:"top"}},wraparound:!0,renderPointsAsMarkers:!1}),cy(Ox,["beforeReset","click","markerActivate","markerClick","markerCreated","markerMouseEnter","markerMouseLeave","pan","panEnd","reset","shapeClick","shapeCreated","shapeFeatureCreated","shapeMouseEnter","shapeMouseLeave","zoomEnd","zoomStart"]);var Lx=1.5,Ex=.4,Px="#000",Dx="Arial, Helvetica, sans-serif",Rx="11px "+Dx,Bx="12px "+Dx,Fx="16px "+Dx,zx="transparent",jx="#fff",Vx=function(){return{icon:{border:{width:1}},label:{font:Bx,padding:3},line:{length:10,width:2},visible:!0}},Hx=function(){return{labels:{font:Bx},notes:Vx(),title:{font:Fx,margin:5}}},Zx=function(){return{highlight:{markers:{border:{}}},line:{opacity:1,width:0},markers:{size:6,visible:!1},opacity:.4}},Ux=function(){return{highlight:{markers:{border:{}}},line:{opacity:1,width:0},markers:{size:6,visible:!1},opacity:.4}},Gx=function(){return{gap:Lx,spacing:Ex}},Kx=function(){return{outliersField:"",meanField:"",border:{_brightness:.8,width:1},downColor:jx,gap:1,highlight:{border:{opacity:1,width:2},whiskers:{width:3},mean:{width:2},median:{width:2}},mean:{width:2},median:{width:2},spacing:.3,whiskers:{width:2}}},Wx=function(){return{border:{width:0},labels:{background:zx},opacity:.6}},qx=function(){return{gap:Lx,spacing:Ex,target:{color:"#ff0000"}}},Yx=function(){return{border:{_brightness:.8,width:1},downColor:jx,gap:1,highlight:{border:{opacity:1,width:2},line:{width:2}},line:{color:Px,width:1},spacing:.3}},Xx=function(){return{gap:Lx,spacing:Ex}},Jx=function(){return{margin:1}},Qx=function(){return{width:2}},tw=function(){return{gap:1,highlight:{line:{opacity:1,width:3}},line:{width:1},spacing:.3}},ew=function(){return{line:{opacity:1,width:0},markers:{size:6,visible:!1},opacity:.5}},nw=function(){return{markers:{visible:!1},width:2}},iw=function(){return{gap:Lx,spacing:Ex}},rw=function(){return{gap:Lx,spacing:Ex}},ow=function(){return{width:1}},aw=function(){return{gap:.5,line:{color:Px,width:1},spacing:Ex}},sw=function(){return{labels:{background:"",color:"",padding:{top:5,bottom:5,left:7,right:7}}}},lw=function(){return{labels:{background:"",color:"",padding:{top:5,bottom:5,left:7,right:7}}}},uw=function(){return{labels:{color:"",background:zx,visible:!0},highlight:{border:{width:0}}}},cw=function(t){return{visible:!0,labels:{font:Rx},overlay:t.gradients?{}:{gradient:"none"},area:Zx(),rangeArea:Ux(),verticalRangeArea:Ux(),bar:Gx(),boxPlot:Kx(),bubble:Wx(),bullet:qx(),candlestick:Yx(),column:Xx(),heatmap:uw(),pie:sw(),donut:Jx(),funnel:lw(),horizontalWaterfall:aw(),line:Qx(),notes:Vx(),ohlc:tw(),radarArea:ew(),radarLine:nw(),polarArea:ew(),polarLine:nw(),rangeBar:iw(),rangeColumn:rw(),scatterLine:ow(),verticalArea:Zx(),verticalBoxPlot:Kx(),verticalBullet:qx(),verticalLine:Qx(),waterfall:aw()}},hw=function(){return{font:Fx}},pw=function(){return{font:Bx}},dw=function(){return{labels:{font:Bx}}},fw=function(t){return void 0===t&&(t={}),{axisDefaults:Hx(),categoryAxis:{majorGridLines:{visible:!0}},navigator:{pane:{height:90,margin:{top:10}}},seriesDefaults:cw(t),title:hw(),subtitle:pw(),legend:dw()}},mw=n(2923),vw=function(){return vw=Object.assign||function(t){for(var e,n=1,i=arguments.length;n1){var s=n[0],l=n[1];a=Math.sqrt(Math.pow(s.pageX-l.pageX,2)+Math.pow(s.pageY-l.pageY,2))}return{distance:a,event:t.srcEvent,preventDefault:function(){t.preventDefault()},target:t.target,touches:n.map(xw),type:t.type,x:{delta:e?r-e.x.location:0,initialDelta:t.deltaX,location:r,startLocation:r-t.deltaX},y:{delta:e?o-e.y.location:0,initialDelta:t.deltaY,location:o,startLocation:o-t.deltaY}}};function kw(t,e){for(var n=0;n
');return t},Ak='\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n\n
\n
\n '.concat(Mk(),"\n
\n"),Ik=function(){function t(t){this.store=t}return t.prototype.setStyle=function(t,e){this.store.dispatch({type:"set",payload:{field:t,value:e}})},t.prototype.setColors=function(){this.mapColor("axisDefaults.crosshair.color","chart-crosshair-background"),this.mapColor("axisDefaults.labels.color","normal-text-color"),this.mapColor("axisDefaults.line.color","chart-major-lines"),this.mapColor("axisDefaults.majorGridLines.color","chart-major-lines"),this.mapColor("axisDefaults.minorGridLines.color","chart-minor-lines"),this.mapColor("axisDefaults.notes.icon.background","chart-notes-background"),this.mapColor("axisDefaults.notes.icon.border.color","chart-notes-border"),this.mapColor("axisDefaults.notes.line.color","chart-notes-lines"),this.mapColor("axisDefaults.title.color","normal-text-color"),this.mapColor("chartArea.background","background"),this.mapColor("legend.inactiveItems.labels.color","chart-inactive"),this.mapColor("legend.inactiveItems.markers.color","chart-inactive"),this.mapColor("legend.labels.color","normal-text-color"),this.mapColor("seriesDefaults.boxPlot.downColor","chart-major-lines"),this.mapColor("seriesDefaults.boxPlot.mean.color","base"),this.mapColor("seriesDefaults.boxPlot.median.color","base"),this.mapColor("seriesDefaults.boxPlot.whiskers.color","primary"),this.mapColor("seriesDefaults.bullet.target.color","normal-text-color"),this.mapColor("seriesDefaults.candlestick.downColor","normal-text-color"),this.mapColor("seriesDefaults.candlestick.line.color","normal-text-color"),this.mapColor("seriesDefaults.errorBars.color","chart-error-bars-background"),this.mapColor("seriesDefaults.horizontalWaterfall.line.color","chart-major-lines"),this.mapColor("seriesDefaults.icon.border.color","chart-major-lines"),this.mapColor("seriesDefaults.labels.background","background"),this.mapColor("seriesDefaults.labels.color","normal-text-color"),this.mapColor("seriesDefaults.notes.icon.background","chart-notes-background"),this.mapColor("seriesDefaults.notes.icon.border.color","chart-notes-border"),this.mapColor("seriesDefaults.notes.line.color","chart-notes-lines"),this.mapColor("seriesDefaults.verticalBoxPlot.downColor","chart-major-lines"),this.mapColor("seriesDefaults.verticalBoxPlot.mean.color","base"),this.mapColor("seriesDefaults.verticalBoxPlot.median.color","base"),this.mapColor("seriesDefaults.verticalBoxPlot.whiskers.color","primary"),this.mapColor("seriesDefaults.verticalBullet.target.color","normal-text-color"),this.mapColor("seriesDefaults.waterfall.line.color","chart-major-lines"),this.mapColor("title.color","normal-text-color");var t=parseFloat(this.queryStyle("chart-area-opacity").opacity);isNaN(t)||(this.setStyle("seriesDefaults.area.opacity",t),this.setStyle("seriesDefaults.radarArea.opacity",t),this.setStyle("seriesDefaults.verticalArea.opacity",t),this.setStyle("seriesDefaults.labels.opacity",t)),this.setInactiveOpacity(["area","verticalArea"],"chart-area-inactive-opacity"),this.setInactiveOpacity(["line","verticalLine"],"chart-line-inactive-opacity")},t.prototype.setFonts=function(){var t=wk(this.queryStyle("chart-font")),e=wk(this.queryStyle("chart-title-font")),n=wk(this.queryStyle("chart-pane-title-font")),i=wk(this.queryStyle("chart-label-font"));this.setStyle("axisDefaults.labels.font",i),this.setStyle("axisDefaults.notes.label.font",t),this.setStyle("axisDefaults.title.font",t),this.setStyle("legend.labels.font",t),this.setStyle("seriesDefaults.labels.font",i),this.setStyle("seriesDefaults.notes.label.font",t),this.setStyle("title.font",e),this.setStyle("paneDefaults.title.font",n)},t.prototype.setSeriesColors=function(){var t=this.element,e=[].slice.call(null===t||void 0===t?void 0:t.querySelectorAll(".k-var--series div")),n=kk(null===t||void 0===t?void 0:t.querySelector(".k-var--series-unset")),i=e.reduce((function(t,e){var i=_k(e.className),r=kk(e);return r!==n&&(t[i]=r),t}),[]);this.setStyle("seriesColors",i)},t.prototype.mapColor=function(t,e){this.setStyle(t,this.queryStyle(e).backgroundColor)},t.prototype.queryStyle=function(t){var e=this.element;return window.getComputedStyle(null===e||void 0===e?void 0:e.querySelector(".k-var--".concat(t)))},t.prototype.setInactiveOpacity=function(t,e){var n=this,i=parseFloat(this.queryStyle(e).opacity);!isNaN(i)&&i<1&&t.forEach((function(t){return n.setStyle("seriesDefaults.".concat(t,".highlight.inactiveOpacity"),i)}))},t}(),Tk=function(t,e){var n=new Ik(t);if("undefined"!==typeof document){var i=n.element=document.createElement("div");i.style.display="none",i.innerHTML=Ak,document.body.appendChild(i);try{t.dispatch({type:"push",payload:fw()}),n.setColors(),n.setFonts(),n.setSeriesColors()}finally{document.body.removeChild(n.element),delete n.element,e()}}else t.dispatch({type:"push",payload:fw()})},Nk=1e3/60,$k=function(t){var e,n,i=[],r=function(){return e},o=function(r){e=t(e,r),mw.Sw&&(window.clearTimeout(n),n=window.setTimeout((function(){return i.forEach((function(t){return t()}))}),Nk))},a=function(t){return i.push(t),function(){return i=i.filter((function(e){return e!==t}))}};return o({}),{getState:r,dispatch:o,subscribe:a}},Ok=$k,Lk=function(){return Lk=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1&&c.splice(h,1)}return e.parentKey?Object.assign(t,(n={},n[e.parentKey]=(i={},i[s]=c,i),n)):Object.assign(t,(r={},r[s]=c,r))},themeItem:function(t,e){var n={},i=Object.assign(n,t),r=e.payload,o=r.field,a=r.value,s=o.split("."),l=s.shift();while(s.length>0)n=n[l]=n[l]||{},l=s.shift();return n[l]=a,i}},Fk=nr.prototype.options.labels.dateFormats,zk=xr.prototype.options.labels.dateFormats,jk={milliseconds:"HH:mm:ss.SSS",seconds:{time:"medium"},minutes:{time:"short"},hours:{time:"short"},days:{skeleton:"Md"},weeks:{skeleton:"Md"},months:{skeleton:"yyMMM"},years:{skeleton:"y"}};Object.assign(Fk,jk),Object.assign(zk,jk);var Vk=function(){function t(t,e){this.value=t.value,this.category=t.category,this.categoryIndex=t.categoryIx,this.series=t.series,this.dataItem=t.dataItem,this.percentage=t.percentage,this.runningTotal=t.runningTotal,this.total=t.total,this.low=t.low,this.high=t.high,this.xLow=t.xLow,this.xHigh=t.xHigh,this.yLow=t.yLow,this.yHigh=t.yHigh,this.point=t,this.format=((t.options||{}).tooltip||{}).format||e}return Object.defineProperty(t.prototype,"formattedValue",{get:function(){return this.format?this.point.formatValue(this.format):String(this.value)},enumerable:!1,configurable:!0}),t}(),Hk=r,Zk=Hk.h,Uk=Hk.version&&"3"===Hk.version[0],Gk="k-chart-shared-tooltip-marker",Kk={name:"KendoSharedTooltipPopup",props:{categoryText:String,colorMarker:{type:Boolean,default:void 0},colspan:Number,nameColumn:{type:Boolean,default:void 0},points:Array},setup:Uk?function(){var t=!!Uk;return{v3:t}}:void 0,render:function(t){var e=Zk||t,n=this.$props,i=n.categoryText,r=n.colorMarker,o=n.colspan,a=n.nameColumn,s=n.points,l=function(t,n){var i=e("span",{domProps:{innerHTML:t.formattedValue},innerHTML:t.formattedValue});return e("tr",{key:n},[r&&e("td",[e("span",{class:Gk,style:{backgroundColor:t.series.color}})]),a&&e("td",[t.series.name]),i])};return e("table",[e("thead",[e("tr",[e("th",{colspan:o,attrs:this.v3?void 0:{colspan:o}},[i])])]),e("tbody",[s.map(l.bind(this),this)])])}},Wk=Kk,qk=n(9889),Yk=r,Xk=Yk.h,Jk=Yk.version&&"3"===Yk.version[0],Qk={horizontal:"fit",vertical:"fit"},tC="k-chart-tooltip",eC="k-chart-tooltip-wrapper",nC={name:"KendoTooltipPopup",props:{className:String,popupShown:Boolean,popupAlign:{type:Object,default:function(){}},popupOffset:{type:Object},popupStyles:{type:Object},popupContent:Function},inject:{options:{default:{state:{}}},dispatchOptions:{default:null},observersState:{default:null},dispatchObservers:{default:null},childrenObserver:{default:null}},created:function(){this.chartObserver=new It(this,{onMouseLeave:"onChartMouseLeave"}),this.dispatchObservers({type:"add",payload:this.chartObserver})},mounted:function(){this.element=(0,mw.cX)(this,"element")},destroyed:Jk?void 0:function(){this.dispatchObservers({type:"remove",payload:this.chartObserver})},unmounted:function(){this.dispatchObservers({type:"remove",payload:this.chartObserver})},setup:Jk?function(){var t=!!Jk;return{v3:t}}:void 0,render:function(t){var e=this,n=Xk||t,i=(0,mw.Rk)(this),r=this.$props,o=r.popupShown,a=r.popupAlign,s=r.popupOffset,l=r.popupStyles,u=(r.popupContent,r.className),c=[tC,u].join(" ").trim();return n(qk.z,{animate:!1,attrs:this.v3?void 0:{animate:!1,popupAlign:a,offset:s,show:o,collision:Qk},popupAlign:a,offset:s,show:o,collision:Qk,class:eC},this.v3?function(){return[n("div",{class:c,style:l,onMouseleave:e.onMouseLeave,on:e.v3?void 0:{mouseleave:e.onMouseLeave},ref:(0,mw.cZ)(e,"element")},[i])]}:[n("div",{class:c,style:l,onMouseleave:e.onMouseLeave,on:e.v3?void 0:{mouseleave:e.onMouseLeave},ref:(0,mw.cZ)(e,"element")},[i])])},methods:{onChartMouseLeave:function(t){var e=t.event;return!!gw(e.relatedTarget,this.element)},onMouseLeave:function(t){}}},iC=nC,rC=r,oC=rC.h,aC=rC.version&&"3"===rC.version[0],sC="k-chart-shared-tooltip",lC="k-chart-tooltip-inverse",uC={name:"KendoSeriesTooltip",data:function(){return{popupShown:!1,popupAlign:void 0,popupOffset:void 0,popupContext:{},popupStyles:void 0,className:void 0,shared:void 0}},inject:{optionsState:{default:{}},observersState:{default:null},dispatchObservers:{default:null}},mounted:function(){this.chartObserver=new It(this,{showTooltip:"onShowTooltip",hideTooltip:"onHideTooltip"}),this.dispatchObservers({type:"add",payload:this.chartObserver})},destroyed:aC?void 0:function(){this.dispatchObservers({type:"remove",payload:this.chartObserver})},unmounted:function(){this.dispatchObservers({type:"remove",payload:this.chartObserver})},setup:aC?function(){var t=!!aC;return{v3:t}}:void 0,render:function(t){var e,n=this,i=oC||t,r=this.popupShown?function(){var t=this.findRenderFunction();if(this.shared){var e=i(Wk,{categoryText:this.popupContext.categoryText,attrs:this.v3?void 0:{categoryText:this.popupContext.categoryText,colorMarker:this.popupContext.colorMarker,colspan:this.popupContext.colspan,nameColumn:this.popupContext.nameColumn,points:this.popupContext.points},colorMarker:this.popupContext.colorMarker,colspan:this.popupContext.colspan,nameColumn:this.popupContext.nameColumn,points:this.popupContext.points});return mw.$F.call(this,{h:i,template:t,defaultRendering:e,additionalProps:Object.assign({},this.popupContext)})}var n=this.popupContext.point,r=this.findRenderFunctionByIndex(n.series.index),o=i("span",{domProps:{innerHTML:this.popupContext.point.formattedValue},innerHTML:this.popupContext.point.formattedValue});return null!==r?mw.$F.call(this,{h:i,template:r,defaultRendering:o,additionalProps:Object.assign({},this.popupContext)}):null!==t?mw.$F.call(this,{h:i,template:t,defaultRendering:o,additionalProps:Object.assign({},this.popupContext)}):o}:Function.prototype,o=(0,mw.xW)((e={},e[sC]=this.shared,e[lC]=!!this.className,e));return i(iC,{popupShown:this.popupShown,attrs:this.v3?void 0:{popupShown:this.popupShown,popupAlign:this.popupAlign,popupOffset:this.popupOffset,popupStyles:this.popupStyles,className:o},popupAlign:this.popupAlign,popupOffset:this.popupOffset,popupStyles:this.popupStyles,className:o},this.v3?function(){return[r.call(n)]}:[r.call(n)])},methods:{onShowTooltip:function(t){var e,n=t.anchor,i=t.style,r=t.shared,o=t.className,a=t.crosshair;a||(e=r?this.createSharedTooltipContext(t):this.createTooltipContext(t),this.popupShown=!0,this.popupAlign=n.align,this.popupOffset=n.point,this.popupContext=e,this.popupStyles=i,this.className=o,this.shared=r)},onHideTooltip:function(){this.popupShown=!1,this.popupStyles={},this.className=void 0},createSharedTooltipContext:function(t){var e=t.points,n=t.categoryText,i=e.filter((function(t){return"undefined"!==typeof t.series.name})).length>0,r=t.series.length>1,o=1;return i&&o++,r&&o++,{categoryText:n,colorMarker:r,colspan:o,nameColumn:i,points:t.points.map((function(e){return new Vk(e,t.format)}))}},createTooltipContext:function(t){var e=t.point,n=t.format;return{point:new Vk(e,n)}},findRenderFunctionByIndex:function(t){var e=this.optionsState.series;return void 0!==e&&Array.isArray(e)&&void 0!==e[t]&&e[t].hasOwnProperty("tooltip")&&e[t].tooltip.hasOwnProperty("render")?e[t].tooltip.render:null},findRenderFunction:function(){var t=this.optionsState.tooltip;return void 0!==t&&t.hasOwnProperty("render")?t.render:null}}},cC=uC,hC=r,pC=hC.h,dC=hC.version&&"3"===hC.version[0],fC="k-chart-crosshair-tooltip",mC="k-chart-tooltip-inverse",vC={name:"KendoCrosshairTooltip",props:{index:Number,name:String},data:function(){return{popupShown:!1,popupAlign:void 0,popupOffset:void 0,popupContent:void 0,popupStyles:void 0,className:void 0}},inject:{optionsState:{default:{}},dispatchOptions:{default:null},observersStore:{default:null},dispatchObservers:{default:null},childrenObserver:{default:null}},created:function(){this.chartObserver=new It(this,{showTooltip:"onShowTooltip",hideTooltip:"onHideTooltip"}),this.dispatchObservers({type:"add",payload:this.chartObserver})},destroyed:dC?void 0:function(){this.dispatchObservers({type:"remove",payload:this.chartObserver})},unmounted:function(){this.dispatchObservers({type:"remove",payload:this.chartObserver})},setup:dC?function(){var t=!!dC;return{v3:t}}:void 0,render:function(t){var e,n=pC||t,i=((0,mw.Rk)(this),this.popupShown?this.popupContent:Function.prototype),r=(0,mw.xW)((e={},e[fC]=!0,e[mC]=!!this.className,e));return n(iC,{popupShown:this.popupShown,attrs:this.v3?void 0:{popupShown:this.popupShown,popupAlign:this.popupAlign,popupOffset:this.popupOffset,popupStyles:this.popupStyles,className:r},popupAlign:this.popupAlign,popupOffset:this.popupOffset,popupStyles:this.popupStyles,className:r},this.v3?function(){return[i]}:[i])},methods:{onShowTooltip:function(t){var e=t.anchor,n=t.style,i=t.className,r=t.crosshair,o=t.axisName,a=t.axisIndex,s=t.value,l=this.$props,u=l.name,c=l.index;r&&o===u&&a===c&&(this.popupShown=!0,this.popupAlign=e.align,this.popupOffset=e.point,this.popupContent=s,this.popupStyles=n,this.className=i)},onHideTooltip:function(){this.popupShown=!1,this.popupStyles={},this.className=void 0}}},gC=vC,yC=r,bC=yC.h,xC=yC.version&&"3"===yC.version[0],wC=["categoryAxis","valueAxis","xAxis","yAxis"];function kC(t){for(var e={},n=0;n-1&&t<100&&l.setFullYear(l.getFullYear()-1900),s(l,i)},u=function(t){return l(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0)},c=function(t,e){return!t&&!e||t&&e&&t.getTime()===e.getTime()},h=function(t,e){return!t&&!e||t&&e&&c(u(t),u(e))},p=n(8298),d={name:"@progress/kendo-vue-dateinputs",productName:"Kendo UI for Vue",productCodes:["KENDOUIVUE","KENDOUICOMPLETE"],publishDate:1686052630,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"};(function(t){t[t["Sunday"]=0]="Sunday",t[t["Monday"]=1]="Monday",t[t["Tuesday"]=2]="Tuesday",t[t["Wednesday"]=3]="Wednesday",t[t["Thursday"]=4]="Thursday",t[t["Friday"]=5]="Friday",t[t["Saturday"]=6]="Saturday"})(i||(i={}));var f,m=function(t,e){var n=a(t);return n.setDate(n.getDate()+e),s(n,t.getHours())};(function(t){t[t["Forward"]=1]="Forward",t[t["Backward"]=-1]="Backward"})(f||(f={}));var v,g,y=function(t,e,n){void 0===n&&(n=f.Forward);var i=a(t),r=(e-i.getDay()+7*n)%7;return i.setDate(i.getDate()+r),s(i,t.getHours())},b=function(t,e){return y(t,e,f.Backward)},x=864e5,w=function(t,e){return e!==i.Monday?m(b(t,e),4):m(t,4-(t.getDay()||7))},k=function(t,e){var n=l(t.getFullYear(),0,1,-6),i=w(t,e),r=i.getTime()-n.getTime(),o=Math.floor(r/x);return 1+Math.floor(o/7)},C=function(t,e){void 0===e&&(e=i.Monday);var n=m(t,-7),r=m(t,7),o=k(t,e);return 0===o?k(n,e)+1:53===o&&k(r,e)>1?1:o},_=r,S=_.h,M=_.version&&"3"===_.version[0],A={name:"KendoCalendarCell",emits:{click:null,mousedown:null,mouseenter:null,mouseleave:null},props:{isDisabled:Boolean,view:Number,formattedValue:String,id:String,isWeekend:Boolean,isFocused:Boolean,isSelected:Boolean,isInRange:Boolean,isRangeStart:Boolean,isRangeEnd:Boolean,isRangeMid:Boolean,isRangeSplitEnd:Boolean,isRangeSplitStart:Boolean,isToday:Boolean,title:String,value:Date},updated:function(){},setup:M?function(){var t=!!M;return{v3:t}}:void 0,render:function(t){var e=S||t,n=(0,o.Rk)(this),i=this.$props,r=(i.formattedValue,i.isWeekend),a=i.isFocused,s=(i.isInRange,i.isSelected),l=i.isRangeStart,u=i.isRangeMid,c=i.isRangeEnd,h=i.isRangeSplitStart,p=i.isRangeSplitEnd,d=i.isToday,f=i.isDisabled,m=(i.view,i.value,"end"===this.$props.activeRangeEnd&&c),v="start"===this.$props.activeRangeEnd&&l;return e("td",{id:this.$props.id,attrs:this.v3?void 0:{id:this.$props.id,title:this.$props.title},title:this.$props.title,class:{"k-calendar-td":!0,"k-range-end":c,"k-range-mid":u,"k-range-split-end":p,"k-range-split-start":h,"k-range-start":l,"k-active":v||m,"k-focus":a,"k-selected":s||l||c,"k-today":d,"k-weekend":r,"k-disabled":f},onClick:this.handleClick,on:this.v3?void 0:{click:this.handleClick,mousedown:this.handleMouseDown,mouseenter:this.handleMouseEnter,mouseleave:this.handleMouseLeave},onMousedown:this.handleMouseDown,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave},[e("span",{class:"k-link"},[n])])},methods:{handleClick:function(t){var e=this.$props.value;this.$emit("click",e,t)},handleMouseDown:function(t){var e=this.$props.value;this.$emit("mousedown",e,t)},handleMouseEnter:function(){var t=this.$props.value;this.$emit("mouseenter",t)},handleMouseLeave:function(){var t=this.$props.value;this.$emit("mouseleave",t)}}},I=A,T=r,N=T.h,$=T.version&&"3"===T.version[0],O={props:{id:String,value:Number},emits:{click:null},setup:$?function(){var t=!!$;return{v3:t}}:void 0,render:function(t){var e=N||t,n=(0,o.Rk)(this);return e("td",{onClick:this.handleClick,on:this.v3?void 0:{click:this.handleClick},id:this.$props.id,attrs:this.v3?void 0:{id:this.$props.id}},[void 0!==this.$props.value?this.$props.value:n])},methods:{handleClick:function(t){var e=this.$props.value;this.$emit("click",e,t)}}},L=O;(function(t){t[t["Left"]=0]="Left",t[t["Right"]=1]="Right",t[t["Up"]=2]="Up",t[t["Down"]=3]="Down",t[t["PrevView"]=4]="PrevView",t[t["NextView"]=5]="NextView",t[t["FirstInView"]=6]="FirstInView",t[t["LastInView"]=7]="LastInView",t[t["LowerView"]=8]="LowerView",t[t["UpperView"]=9]="UpperView"})(v||(v={})),function(t){t[t["month"]=0]="month",t[t["year"]=1]="year",t[t["decade"]=2]="decade",t[t["century"]=3]="century"}(g||(g={}));var E,P,D,R,B,F,z,j,V,H,Z={start:null,end:null},U=function(t,e,n){return void 0===e||void 0===n||e<=t&&t<=n?t:tt||n&&nu(t)||n&&u(n)n?a(n):t:t},ot=function(t){return function(e,n,i){void 0===n&&(n=""),void 0===i&&(i={});var r=document.createElement(t);return r.className=n,Object.keys(i).map((function(t){return r.style[t]=i[t]})),"string"===typeof e?r.innerHTML=e||"":(e||[]).forEach((function(t){return t&&r.appendChild(t)})),r}},at=function(t){var e=l(t.getFullYear(),t.getMonth()+1,1,t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds());return m(e,-1)},st=12,lt=function(t,e){return t.getMonth()!==e?at(ut(t,-1)):t},ut=function(t,e){var n=a(t),i=(n.getMonth()+e)%st,r=(st+i)%st;return n.setMonth(n.getMonth()+e),lt(s(n,t.getHours()),r)},ct=function(t,e){var n=t.getMonth(),i=l(e,n,t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds());return i.getMonth()===n?i:at(ut(i,-1))},ht=function(t,e){return s(ct(t,t.getFullYear()+e),t.getHours())},pt=function(t,e){return ht(t,10*e)},dt=function(t,e){return ht(t,100*e)},ft=function(t,e){return ct(t,e(t.getFullYear()))},mt=function(t){return ft(t,(function(t){return t-t%100}))},vt=function(t){return ft(t,(function(t){return t-t%100+90}))},gt=function(t){return ft(t,(function(t){return t-t%10}))},yt=function(t,e){return(mt(e).getFullYear()-mt(t).getFullYear())/100},bt=[[]],xt=4,wt=3,kt=(E={},E[v.Left]=function(t){return pt(t,-1)},E[v.Up]=function(t){return pt(t,-4)},E[v.Right]=function(t){return pt(t,1)},E[v.Down]=function(t){return pt(t,4)},E[v.PrevView]=function(t){return dt(t,-1)},E[v.NextView]=function(t){return dt(t,1)},E[v.FirstInView]=function(t){return mt(t)},E[v.LastInView]=function(t){return vt(t)},E),Ct=function(){function t(){}return t.prototype.addToDate=function(t,e){return dt(t,e)},t.prototype.datesList=function(t,e){return nt(0,e).map((function(e){return dt(t,e)}))},t.prototype.data=function(t){var e=this,n=t.cellUID,i=t.focusedDate,r=t.isActiveView,o=t.max,a=t.min,s=t.selectedDate,l=t.selectionRange,u=void 0===l?Z:l,c=t.viewDate;if(!c)return bt;var h=nt(0,xt),p=mt(c),d=vt(c),f=J();return nt(0,wt).map((function(t){var l=pt(p,t*xt);return h.map((function(t){var c=e.normalize(pt(l,t),a,o),h=!e.isInSameView(c,d);if(h)return null;var m=e.isEqual(c,u.start),v=e.isEqual(c,u.end),g=!m&&!v,y=g&&et(c,u),b=r&&(Array.isArray(s)?e.isSelectedFromArray(c,s,a,o):Q(s,a,o)&&e.isEqual(c,s));return{formattedValue:e.value(c),id:"".concat(n).concat(c.getTime()),isFocused:e.isEqual(c,i),isSelected:b,isWeekend:!1,isInRange:Q(c,a,o),isRangeStart:m,isRangeMid:y,isRangeEnd:v,isRangeSplitEnd:y&&e.isEqual(c,d),isRangeSplitStart:y&&e.isEqual(c,p),isToday:e.isEqual(c,f),title:e.cellTitle(c),value:c}}))}))},t.prototype.isSelectedFromArray=function(t,e,n,i){var r=this,o=!1;return e.forEach((function(e){Q(t,n,i)&&r.isEqual(t,e)&&(o=!0)})),o},t.prototype.isEqual=function(t,e){return!(!t||!e)&>(t).getFullYear()===gt(e).getFullYear()},t.prototype.isInArray=function(t,e){if(!e.length)return!1;var n=t.getFullYear();return e[0].getFullYear()<=n&&n<=e[e.length-1].getFullYear()+99},t.prototype.isInRange=function(t,e,n){var i=gt(t).getFullYear(),r=!e||gt(e).getFullYear()<=i,o=!n||i<=gt(n).getFullYear();return r&&o},t.prototype.isInSameView=function(t,e){return 0===yt(t,e)},t.prototype.isRangeStart=function(t){return t.getFullYear()%1e3===0},t.prototype.move=function(t,e){var n=kt[e];return n?n(t):t},t.prototype.cellTitle=function(t){return gt(t).getFullYear().toString()},t.prototype.navigationTitle=function(t){return t?mt(t).getFullYear().toString():""},t.prototype.title=function(t){return t?"".concat(mt(t).getFullYear()," - ").concat(vt(t).getFullYear()):""},t.prototype.rowLength=function(t){return xt},t.prototype.skip=function(t,e){return yt(e,t)},t.prototype.total=function(t,e){return yt(t,e)+1},t.prototype.value=function(t){return t?gt(t).getFullYear().toString():""},t.prototype.viewDate=function(t,e,n){void 0===n&&(n=1);var i=yt(t,e)n&&this.isEqual(t,n)?a(n):t},t}(),_t=function(t){return ft(t,(function(t){return t-t%10+9}))},St=function(t,e){return(gt(e).getFullYear()-gt(t).getFullYear())/10},Mt=[[]],At=4,It=3,Tt=(P={},P[v.Left]=function(t){return ht(t,-1)},P[v.Up]=function(t){return ht(t,-4)},P[v.Right]=function(t){return ht(t,1)},P[v.Down]=function(t){return ht(t,4)},P[v.PrevView]=function(t){return pt(t,-1)},P[v.NextView]=function(t){return pt(t,1)},P[v.FirstInView]=function(t){return gt(t)},P[v.LastInView]=function(t){return _t(t)},P),Nt=function(){function t(){}return t.prototype.addToDate=function(t,e){return pt(t,e)},t.prototype.datesList=function(t,e){return nt(0,e).map((function(e){return pt(gt(t),e)}))},t.prototype.data=function(t){var e=this,n=t.cellUID,i=t.focusedDate,r=t.isActiveView,o=t.max,a=t.min,s=t.selectedDate,l=t.selectionRange,u=void 0===l?Z:l,c=t.viewDate;if(!c)return Mt;var h=nt(0,At),p=gt(c),d=_t(c),f=J();return nt(0,It).map((function(t){var l=ht(p,t*At);return h.map((function(t){var c=e.normalize(ht(l,t),a,o),h=!e.isInSameView(c,d);if(h)return null;var m=e.isEqual(c,u.start),v=e.isEqual(c,u.end),g=!m&&!v,y=g&&et(c,u),b=r&&(Array.isArray(s)?e.isSelectedFromArray(c,s,a,o):Q(s,a,o)&&e.isEqual(c,s));return{formattedValue:e.value(c),id:"".concat(n).concat(c.getTime()),isFocused:e.isEqual(c,i),isSelected:b,isWeekend:!1,isInRange:Q(c,a,o),isRangeStart:m,isRangeMid:y,isRangeEnd:v,isRangeSplitEnd:y&&e.isEqual(c,d),isRangeSplitStart:y&&e.isEqual(c,p),isToday:e.isEqual(c,f),title:e.cellTitle(c),value:c}}))}))},t.prototype.isSelectedFromArray=function(t,e,n,i){var r=this,o=!1;return e.forEach((function(e){Q(t,n,i)&&r.isEqual(t,e)&&(o=!0)})),o},t.prototype.isEqual=function(t,e){return!(!t||!e)&&t.getFullYear()===e.getFullYear()},t.prototype.isInArray=function(t,e){if(!e.length)return!1;var n=t.getFullYear();return e[0].getFullYear()<=n&&n<=e[e.length-1].getFullYear()+9},t.prototype.isInRange=function(t,e,n){var i=t.getFullYear(),r=!e||e.getFullYear()<=i,o=!n||i<=n.getFullYear();return r&&o},t.prototype.isRangeStart=function(t){return t.getFullYear()%100===0},t.prototype.isInSameView=function(t,e){return 0===St(t,e)},t.prototype.move=function(t,e){var n=Tt[e];return n?n(t):t},t.prototype.cellTitle=function(t){return t.getFullYear().toString()},t.prototype.navigationTitle=function(t){return t?gt(t).getFullYear().toString():""},t.prototype.title=function(t){return t?"".concat(gt(t).getFullYear()," - ").concat(_t(t).getFullYear()):""},t.prototype.rowLength=function(t){return At},t.prototype.skip=function(t,e){return St(e,t)},t.prototype.total=function(t,e){return St(t,e)+1},t.prototype.value=function(t){return t?t.getFullYear().toString():""},t.prototype.viewDate=function(t,e,n){void 0===n&&(n=1);var i=St(t,e)n&&this.isEqual(t,n)?a(n):t},t}(),$t=function(t,e){return m(t,7*e)},Ot=function(t){return l(t.getFullYear(),t.getMonth(),1,t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())},Lt=function(t,e){return 12*(e.getFullYear()-t.getFullYear())+(e.getMonth()-t.getMonth())},Et=[[]],Pt=7,Dt=6,Rt=6,Bt=0,Ft=(D={},D[v.Left]=function(t){return m(t,-1)},D[v.Up]=function(t){return $t(t,-1)},D[v.Right]=function(t){return m(t,1)},D[v.Down]=function(t){return $t(t,1)},D[v.PrevView]=function(t){return ut(t,-1)},D[v.NextView]=function(t){return ut(t,1)},D[v.FirstInView]=function(t){return Ot(t)},D[v.LastInView]=function(t){return at(t)},D),zt=function(){function t(t){this.intl=t}return t.prototype.addToDate=function(t,e){return ut(t,e)},t.prototype.datesList=function(t,e){return nt(0,e).map((function(e){return ut(t,e)}))},t.prototype.data=function(t){var e=this,n=t.cellUID,i=t.focusedDate,r=t.isActiveView,o=t.max,a=t.min,s=t.selectedDate,l=t.selectionRange,u=void 0===l?Z:l,c=t.viewDate;if(!c)return Et;var h=Ot(c),p=at(c),d=-1,f=y(h,this.intl.firstDay(),d),v=nt(0,Pt),g=J();return nt(0,Dt).map((function(t){var l=m(f,t*Pt);return v.map((function(t){var c=e.normalize(m(l,t),a,o),d=cp;if(d)return null;var f=e.isEqual(c,u.start),v=e.isEqual(c,u.end),y=!f&&!v,b=y&&et(c,u),x=r&&(Array.isArray(s)?e.isSelectedFromArray(c,s,a,o):Q(s,a,o)&&e.isEqual(c,s)),w={formattedValue:e.value(c),id:"".concat(n).concat(c.getTime()),isFocused:e.isEqual(c,i),isSelected:x,isInRange:Q(c,a,o),isWeekend:e.isWeekend(c),isRangeStart:f,isRangeMid:b,isRangeEnd:v,isRangeSplitStart:b&&e.isEqual(c,h),isRangeSplitEnd:b&&e.isEqual(c,p),isToday:e.isEqual(c,g),title:e.cellTitle(c),value:c};return w}))}))},t.prototype.isEqual=function(t,e){return!(!t||!e)&&u(t).getTime()===u(e).getTime()},t.prototype.isSelectedFromArray=function(t,e,n,i){var r=this,o=!1;return e.forEach((function(e){Q(t,n,i)&&r.isEqual(t,e)&&(o=!0)})),o},t.prototype.isInArray=function(t,e){return!!e.length&&Ot(e[0])<=t&&t<=at(e[e.length-1])},t.prototype.isInRange=function(t,e,n){var i=u(t),r=!e||u(e)<=i,o=!n||i<=u(n);return r&&o},t.prototype.isInSameView=function(t,e){return 0===Lt(t,e)},t.prototype.isRangeStart=function(t){return!t.getMonth()},t.prototype.move=function(t,e){var n=Ft[e];return n?n(t):t},t.prototype.cellTitle=function(t){return this.intl.formatDate(t,"D")},t.prototype.navigationTitle=function(t){return t?this.isRangeStart(t)?t.getFullYear().toString():this.abbrMonthNames()[t.getMonth()]:""},t.prototype.title=function(t){return"".concat(this.wideMonthNames()[t.getMonth()]," ").concat(t.getFullYear())},t.prototype.rowLength=function(t){return Pt+(t?1:0)},t.prototype.skip=function(t,e){return Lt(e,t)},t.prototype.total=function(t,e){return Lt(t,e)+1},t.prototype.value=function(t){return t?t.getDate().toString():""},t.prototype.viewDate=function(t,e,n){void 0===n&&(n=1);var i=Lt(t,e)n&&this.isEqual(t,n)?u(n):t},t.prototype.wideMonthNames=function(){return this.intl.dateFormatNames({nameType:"wide",type:"months",standAlone:!0})},t}(),jt=function(t,e){var n=t.getDate(),i=l(t.getFullYear(),e,n,t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds());return i.getDate()===n?i:at(ut(i,-1))},Vt=function(t){return jt(t,0)},Ht=function(t){return jt(t,11)},Zt=function(t,e){return e.getFullYear()-t.getFullYear()},Ut=[[]],Gt=4,Kt=3,Wt=(R={},R[v.Left]=function(t){return ut(t,-1)},R[v.Up]=function(t){return ut(t,-4)},R[v.Right]=function(t){return ut(t,1)},R[v.Down]=function(t){return ut(t,4)},R[v.PrevView]=function(t){return ht(t,-1)},R[v.NextView]=function(t){return ht(t,1)},R[v.FirstInView]=function(t){return Vt(t)},R[v.LastInView]=function(t){return Ht(t)},R),qt=function(){function t(t){this._intl=t}return t.prototype.addToDate=function(t,e){return ht(t,e)},t.prototype.datesList=function(t,e){return nt(0,e).map((function(e){return ht(t,e)}))},t.prototype.data=function(t){var e=this,n=t.cellUID,i=t.focusedDate,r=t.isActiveView,o=t.max,a=t.min,s=t.selectedDate,l=t.selectionRange,u=void 0===l?Z:l,c=t.viewDate;if(!c)return Ut;var h=this.abbrMonthNames(),p=Vt(c),d=Ht(c),f=p.getFullYear(),m=nt(0,Gt),v=J();return nt(0,Kt).map((function(t){var l=ut(p,t*Gt);return m.map((function(t){var c=e.normalize(ut(l,t),a,o);if(!c)return null;var m=fn&&this.isEqual(t,n)?(0,o.ad)(n):t},t}(),Yt=(B={},B[g.month]=zt,B[g.year]=qt,B[g.decade]=Nt,B[g.century]=Ct,B),Xt=function(t,e){var n=g[g[t+e]];return void 0!==n?n:t},Jt=function(){function t(t){this.bottom=g.month,this.top=g.century,this.onViewChanged=t}return t.prototype.configure=function(t,e){this.bottom=t,this.top=e},t.prototype.service=function(t,e){return new(Yt["".concat(t)])(e)},t.prototype.moveDown=function(t,e){this.move(t,-1,e)},t.prototype.moveUp=function(t,e){this.move(t,1,e)},t.prototype.moveToBottom=function(t){t!==this.bottom&&this.onViewChanged({view:this.bottom})},t.prototype.canMoveDown=function(t){return this.bottomthis.top?this.top:t},t.prototype.move=function(t,e,n){var i=this.clamp(Xt(t,e));i!==t&&this.onViewChanged({view:i},n)},t}(),Qt=function(){function t(){this.didCalculate=!1}return t.prototype.ensureHeights=function(){void 0===this.calendarHeight&&this.calculateHeights()},t.prototype.calculateHeights=function(t){var e=this;if(o.Sw){var n=ot("div"),i=ot("ul"),r=ot("li"),a=ot("td"),s=ot("th"),l=ot("tr"),u=ot("tbody"),c=ot("thead"),h=ot("table"),p=function(){return n('\n March 2017\n TODAY\n ',"k-calendar-header")},d=function(){return h([c([l([s("MO")])])],"k-calendar-weekdays")},f=function(t,e){return new Array(t).fill("1").map(e)},m=function(t,e){return void 0===e&&(e=1),h([u([l([s("1")])].concat(f(t,(function(){return l(f(e,(function(t){return a(''.concat(t,""))})))}))))])},v=function(t){return n(t,"k-content k-scrollable")},g=function(t,e,i){return n(i?[p(),d(),v([t,t])]:[p(),v([t,t])],e,{left:"-10000px",position:"absolute"})},y=function(){var t;return function(){return o.Sw?(t||(t=n([v([i([r("FEB")])])],"k-calendar-navigation",{left:"0px",position:"absolute"})),t):null}}(),b=function(t,e,n){var i,r=t.cells,a=t.rows;return function(){return o.Sw?(i||(i=g(m(a,r),e,n)),i):null}},x=function(t){return t.querySelector(".k-scrollable")},w=function(t){var e=x(t);return e.className="".concat(e.className," k-scrollable-horizontal"),t},k=b({cells:7,rows:6},"k-calendar-view k-calendar-monthview",!0),C=b({cells:5,rows:3},"k-calendar-view k-calendar-yearview",!1),_=b({cells:5,rows:2},"k-calendar-view k-calendar-decadeview",!1),S=function(){return w(k())},M=function(){return w(C())},A=function(){return w(_())},I=function(t){return parseFloat(window.getComputedStyle(t).height)||t.offsetHeight},T=function(t){var e=window.getComputedStyle(t),n=parseFloat(e.width)+parseFloat(e.paddingLeft)+parseFloat(e.paddingRight);return n||t.offsetWidth},N=function(t){return t.querySelector("tbody")};this.didCalculate=!0,t&&(this.hostContainer=t),this.batch(k(),(function(t){var n=N(t);e.calendarHeight=I(t),e.monthViewHeight=I(n),e.headerHeight=I(n.children[0]),e.scrollableContentHeight=I(x(t))})),this.batch(S(),(function(t){var n=N(t);e.calendarWidth=T(t),e.monthViewWidth=T(n),e.scrollableContentWidth=T(x(t))})),this.batch(C(),(function(t){e.yearViewHeight=I(N(t)),e.scrollableYearContentHeight=I(x(t))})),this.batch(M(),(function(t){e.yearViewWidth=T(N(t))})),this.batch(_(),(function(t){e.decadeViewHeight=I(N(t)),e.centuryViewHeight=e.decadeViewHeight})),this.batch(A(),(function(t){e.decadeViewWidth=T(N(t)),e.centuryViewWidth=e.decadeViewWidth})),this.batch(y(),(function(t){e.navigationItemHeight=I(t.querySelector("li"))}))}},t.prototype.viewHeight=function(t){return this.viewDimension(t,"height")},t.prototype.viewWidth=function(t){return this.viewDimension(t,"width")},t.prototype.viewDimension=function(t,e){var n="height"===e?"ViewHeight":"ViewWidth";switch(t){case g.month:return this["month".concat(n)];case g.year:return this["year".concat(n)];case g.decade:return this["decade".concat(n)];case g.century:return this["century".concat(n)];default:return 1}},t.prototype.batch=function(t,e){var n=this.hostContainer||document.body,i=n.appendChild(t);e(i),n.removeChild(i)},t}(),te={33:v.PrevView,34:v.NextView,35:v.LastInView,36:v.FirstInView,37:v.Left,38:v.Up,39:v.Right,40:v.Down,"meta+38":v.UpperView,"meta+40":v.LowerView,"meta+37":v.PrevView,"meta+39":v.NextView},ee=function(){function t(t){this.bus=t}return t.prototype.action=function(t){var e="".concat(t.ctrlKey||t.metaKey?"meta+":"").concat(t.keyCode);return te[e]},t.prototype.move=function(t,e,n,i,r){return i?e===v.UpperView&&this.bus.canMoveUp(n)?(this.bus.moveUp(n,r),t):e===v.LowerView&&this.bus.canMoveDown(n)?(this.bus.moveDown(n,r),t):i.move(t,e):t},t}(),ne=function(){function t(t){this.intl=t}return t.prototype.getWeekNames=function(t){void 0===t&&(t=!1);var e=it(this.intl.dateFormatNames({nameType:"short",type:"days"}),this.intl.firstDay());return t?[""].concat(e):e},t}(),ie=r,re=ie.h,oe=ie.version&&"3"===ie.version[0],ae=ie.inject,se={name:"KendoView",inject:{kendoIntlService:{default:null}},props:{activeRangeEnd:{type:String},activeView:{type:Number,required:!0},cell:[String,Function,Object],cellUID:{type:String,required:!0},direction:{type:String,default:"vertical"},isActive:{type:Boolean,default:void 0},focusedDate:{type:Date,required:!0},max:{type:Date,required:!0},min:{type:Date,required:!0},selectedDate:{type:[Date,Array,Object],default:function(){return J()}},selectionRange:Object,showWeekNumbers:{type:Boolean,default:!1},viewDate:{type:Date,required:!0},weekCell:[String,Function,Object],bus:Object,service:Object},computed:{isHorizontal:{get:function(){return"horizontal"===this.$props.direction}},isMonthView:{get:function(){return this.$props.activeView===g.month}},weekNumber:{get:function(){return Boolean(this.$props.showWeekNumbers&&this.$props.activeView===g.month)}}},methods:{getWeekNumber:function(t){return this.weekNumber?C(t,this._intl.firstDay()):null},firstDate:function(t){var e=this.firstWeekDateContext(t);return e?e.value:null},firstWeekDateContext:function(t){if(!this.weekNumber)return null;var e=0,n=t[e];while(!n&&e0)return s.push([e[i-1],a[i-1]]),s;if(0===o.indexOf(a)&&(0===a.length||e[a.length-1]!==e[a.length])){var l="";1===a.length&&s.push([e[0],a[0]]);for(var u=a.length;ut||n&&n0&&"0"===c.charAt(0))c=c.slice(1);c.length>=4&&(c="");for(p=0;p<2;p++){var m=c+e,v=parseInt(m,10);if(d=this.intl.parseDate(u+m+h,this.format),!d&&!isNaN(v)&&!isNaN(parseInt(e,10))){if("M"===t&&!f){var g=v-1;g>-1&&g<12&&(d=a(this.value),d.setMonth(g),d.getMonth()!==g&&(d=at(ut(d,-1))))}"y"===t&&(d=l(parseInt(m,10),this.month?this.value.getMonth():0,this.date?this.value.getDate():1,this.hours?this.value.getHours():0,this.minutes?this.value.getMinutes():0,this.seconds?this.value.getSeconds():0,this.milliseconds?this.value.getMilliseconds():0),this.date&&d.getDate()!==this.value.getDate()&&(d=at(ut(d,-1))))}if(d)return this._value=d,this.setExisting(t,!0),{value:this.value};c=""}return f&&(d=this.intl.parseDate(u+f+h,this.format),d)?(this._value=d,this.setExisting(t,!0),{value:this.value}):("0"===e&&(this.leadingZero=this.isAbbrMonth(r.partMap,t)?null:(n={},n[t]=!0,n),this.setExisting(t,!1)),{value:null})},t.prototype.symbolMap=function(t){return this.intl.splitDateFormat(this.format).reduce(xn,{})[t]},t.prototype.resetLeadingZero=function(){var t=null!==this.leadingZero;return this.leadingZero=null,t},t.prototype.isAbbrMonth=function(t,e){var n=this.partPattern(t,e);return"month"===n.type&&n.names},t.prototype.partPattern=function(t,e){return t.filter((function(t){return-1!==t.pattern.indexOf(e)}))[0]},t.prototype.matchMonth=function(t){if(this.typedMonthPart+=t.toLowerCase(),0===this.monthNames.length)return"";while(this.typedMonthPart.length>0){for(var e=0;e=1&&n<=12&&n.toString()===this.typedMonthPart)return this.monthNames[n-1];this.typedMonthPart=this.typedMonthPart.substring(1,this.typedMonthPart.length)}return""},t.prototype.allFormatedMonths=function(){for(var t=this.intl.splitDateFormat(this.format),e=0;e0)i.push(this.symbols[n[o].pattern[0]]||"_"),r.push(n[o]),a--}var s=new vn;return s.symbols=i.join(""),s.partMap=r,s},t.prototype.merge=function(t,e){for(var n="",i="",r=e.symbols,o=r.length-1;o>=0;o--)if(-1===this.knownParts.indexOf(r[o])||this.getExisting(r[o]))n=t[o]+n,i=r[o]+i;else{var a=r[o];while(o>=0&&a===r[o])o--;o++,n=this.leadingZero&&this.leadingZero[a]?"0"+n:this.dateFieldName(e.partMap[o])+n;while(i.lengtha?X(t,n):t},Zn=function(t,e,n){if(!t||!e||!n)return!0;var i=Vn(t,e,n),r=i.candidateValue,o=i.minValue,a=i.maxValue;return o<=r&&r<=a},Un=function(t,e,n){if(null===t)return!0;var i=Vn(t,e,n),r=i.candidateValue,o=i.minValue,a=i.maxValue;return o<=r&&r<=a},Gn=function(t,e){if(null===t||null===e)return!1;var n=X(G,t),i=X(G,e);return n.getTime()0&&(t.preventDefault(),this.decreasePart(t)))},increasePart:function(t){t.preventDefault(),this.modifyDateSegmentValue(1,t)},decreasePart:function(t){t.preventDefault(),this.modifyDateSegmentValue(-1,t)},elementKeyDown:function(t){if(!t.altKey){switch(t.keyCode){case 37:this.switchDateSegment(-1);break;case 38:this.modifyDateSegmentValue(1,t);break;case 39:this.switchDateSegment(1);break;case 40:this.modifyDateSegmentValue(-1,t);break;default:return}t.preventDefault()}},setSelection:function(t){var e=this.element();this.$data.lastSelectedSymbol=this.$data.currentFormat[t.start],o.Sw&&window.requestAnimationFrame((function(){e&&o.Sw&&document.activeElement===e&&e.setSelectionRange(t.start,t.end)}))},triggerChange:function(t,e){this.$data.valueDuringOnChange=this.computedValue,c(e,this.computedValue)||(this.$emit("changemodel",this.computedValue),this.$emit("update:modelValue",this.computedValue),this.$emit("change",{event:t,value:this.computedValue,component:this,target:{name:this.$props.name,value:this.$data.valueDuringOnChange,valueAsDate:this.$data.valueDuringOnChange},validity:this.validity()})),this.$data.valueDuringOnChange=void 0},selectionBySymbol:function(t){for(var e=-1,n=0,i=0;i=0;n++,i--){if(n=0&&"_"!==this.$data.currentFormat[i]){e=this.selectionBySymbol(this.$data.currentFormat[i]);break}}return e},switchDateSegment:function(t){var e=this.selection(),n=e.start,i=e.end;if(n0?n:i-1));else{var r=this.$data.currentFormat[n],o=n+t;while(o>0&&o=0&&aa&&(a+1!==n||o+1!==i)?this.setSelection({start:a+1,end:o+1}):othis.rowHeight&&this.updateRowHeight(t,-1*this.detailRowHeight)},t.prototype.index=function(t){for(var e=0;e=o;this.lastScrollTop=o;var l=this.rowHeightService.index(vi(o-this.topOffset)),u=this.rowHeightService.index(vi(o+a-this.bottomOffset));if(!s&&u>=this.lastLoaded&&this.lastLoadedt}},V),$i={name:"Virtualization",emits:{scroll:null,scrollaction:null},props:{bottomOffset:{type:Number,required:!0},direction:{type:String,default:function(){return"vertical"}},forceScroll:{type:Boolean,default:!1},itemHeight:Number,itemWidth:Number,maxScrollDifference:{type:Number,default:100},scrollDuration:{type:Number,default:100},scrollOffsetSize:{type:Number,default:0},skip:{type:Number,required:!0},tabIndex:Number,take:{type:Number,required:!0},topOffset:{type:Number,required:!0},total:{type:Number,required:!0},role:String},created:function(){this.animationInProgress=!1,this.lastTotal=void 0,this.scrollerService=new bi(this.handleScrollAction,this.handlePageAction)},mounted:function(){this.scrollContainer=this.$refs.scrollContainer},computed:{element:function(){return this.scrollContainer}},methods:{containerOffsetSize:function(){return this.getContainerProperty("vertical"===this.$props.direction?"offsetHeight":"offsetWidth")},containerScrollSize:function(){return this.getContainerProperty("vertical"===this.$props.direction?"scrollHeight":"scrollWidth")},containerScrollPosition:function(){return this.getContainerProperty("vertical"===this.$props.direction?"scrollTop":"scrollLeft")},activeIndex:function(){return this.itemIndex(Math.ceil(this.containerScrollPosition()))},itemIndex:function(t){return this.rowHeightService?this.rowHeightService.index(t):0},itemOffset:function(t){return this.rowHeightService?this.rowHeightService.offset(t):0},isIndexVisible:function(t){if(!this.rowHeightService)return!1;var e=this.containerScrollPosition(),n=e+this.containerOffsetSize(),i=this.rowHeightService.offset(t),r=i+this.rowHeightService.height(t);return i>=e&&r<=n},isListScrolled:function(t){return!!this.rowHeightService&&this.containerScrollPosition()!==this.rowHeightService.offset(t)},scrollTo:function(t){var e="vertical"===this.$props.direction?"scrollTop":"scrollLeft";this.scrollContainer&&(this.scrollContainer[e]=t)},scrollToIndex:function(t){this.rowHeightService&&(this.animationInProgress=!1,this.scrollTo(this.rowHeightService.offset(t)))},animateToIndex:function(t){var e=this;if(this.rowHeightService&&window){window.cancelAnimationFrame(this.cancelAnimation);var n=this.rowHeightService.offset(t),i=this.getContainerScrollDirection(n),r=this.scrollRange(n,i),o=r.start,a=r.end;if(o!==a){var s=this.scrollStep(o,a),l=Ii[i](s),u=Ti[i](a),c=Ni[i](l(a)),h=function t(n){e.animationInProgress=!0;var i=l(n);e.scrollTo(u(i)),c(i)?e.cancelAnimation=window.requestAnimationFrame((function(){t(i)})):e.animationInProgress=!1};this.cancelAnimation=window.requestAnimationFrame((function(){h(o)}))}}},scrollToBottom:function(){this.rowHeightService&&this.scrollTo(this.rowHeightService.totalHeight()+this.$props.bottomOffset)},scrollStep:function(t,e){var n=this.$props.scrollDuration;return Math.abs(e-t)/(n/Ai)},scrollRange:function(t,e){var n=this.containerScrollPosition();if(parseInt("".concat(t),10)===parseInt("".concat(n),10))return{start:t,end:t};var i=this.containerMaxScroll(),r=e===H.Backward?1:-1,o=Mi(n,t,this.$props.maxScrollDifference),a=Math.min(t,i),s=Math.min(Math.max(a+r*o,0),i);return{start:s,end:a}},containerMaxScroll:function(){return this.containerScrollSize()-this.containerOffsetSize()},getContainerScrollDirection:function(t){return t11)},Di=function(t,e,n){return!e&&!n||t>=e&&t<=n},Ri=function(t,e,n){return!e&&!n||t>=e||t<=n},Bi=function(){function t(t){this.intl=t}return t.prototype.apply=function(t,e){var n=t.getHours(),i=Ei(n),r=Ei(e.getHours());if(i&&r||!i&&!r)return t;var o=this.normalizedRange(),a=o[0],s=o[1],l=void 0===s?24:s,u=n+(r?-12:12);return Li(t,Math.min(Math.max(a,u),l||24))},t.prototype.configure=function(t){var e=t.min,n=void 0===e?this.min:e,i=t.max,r=void 0===i?this.max:i,o=t.part,a=void 0===o?this.part:o;this.min=n,this.max=r,this.part=a},t.prototype.data=function(t){var e=this.part.names;if(!e)return[];var n=[],i=this.normalizedRange(),r=i[0],o=i[1],a=this.intl.dateFormatNames(e);return Ei(r)&&n.push({text:a.am,value:Li(this.min,r)}),Pi(o)&&n.push({text:a.pm,value:Li(this.min,Math.max(12,o))}),this.min.getHours()!==r?n.reverse():n},t.prototype.isRangeChanged=function(t,e){return!1},t.prototype.limitRange=function(t,e,n){return[t,e]},t.prototype.total=function(){var t=this.normalizedRange(),e=t[0],n=t[1];return(e||n)&&(e>11||n<12)?1:2},t.prototype.selectedIndex=function(t){if(!this.valueInList(t))return-1;var e=Math.floor(t.getHours()/12);return this.min.getHours()===this.normalizedRange()[0]?e:0===e?1:0},t.prototype.valueInList=function(t){var e=this.min.getHours()!==this.normalizedRange()[0],n=e?Ri:Di;return n(t.getHours(),this.min.getHours(),this.max.getHours())},t.prototype.normalizedRange=function(){var t=this.min.getHours(),e=this.max.getHours();return[Math.min(t,e),Math.max(t,e)]},t}(),Fi=function(){function t(){this.didCalculate=!1}return t.prototype.ensureHeights=function(){void 0===this.timeListHeight&&this.calculateHeights()},t.prototype.calculateHeights=function(t){if(o.Sw){var e=ot("div"),n=ot("ul"),i=ot("li"),r=function(){return i("02","k-item")},a=function(){return n([r()],"k-reset")},s=function(){return e([a()],"k-time-container k-content k-scrollable")},l=function(){return e([e([s()],"k-time-list")],"k-time-list-wrapper",{left:"-10000px",position:"absolute"})},u=l(),c=t&&t.querySelector(".k-time-container"),h=c||document.body,p=h.appendChild(u);this.timeListHeight=c.offsetHeight,this.itemHeight=p.querySelector("li").offsetHeight,h.removeChild(p),this.didCalculate=!0}},t}(),zi=24,ji=function(t){return function(e){return e%t}},Vi=ji(zi),Hi=function(t,e){return function(n){return Vi(t+n*e)}},Zi=function(t,e){return Vi(zi+t-e)},Ui=function(t){return function(e,n){var i=!n||u(e).getTime()===u(n).getTime();return i?e:Rn(e,t)}},Gi=Ui(0),Ki=Ui(zi-1),Wi=function(){function t(t){this.intl=t,this.boundRange=!1,this.insertUndividedMax=!1}return t.prototype.apply=function(t,e){return Rn(t,e.getHours())},t.prototype.configure=function(t){var e=this,n=t.boundRange,i=void 0===n?this.boundRange:n,r=t.insertUndividedMax,o=void 0===r?this.insertUndividedMax:r,a=t.min,s=void 0===a?this.min:a,l=t.max,u=void 0===l?this.max:l,c=t.part,h=t.step,p=void 0===h?this.step:h;this.boundRange=i,this.insertUndividedMax=o,this.toListItem=function(t){var n=Rn(G,t);return{text:e.intl.formatDate(n,c.pattern),value:n}},this.min=s,this.max=u,this.step=p},t.prototype.data=function(t){var e=this,n=this.range(t)[0],i=Hi(n,this.step),r=function(t){return e.toListItem(i(t))},o=jn(0,this.countFromMin(t)).map(r);return this.addLast(o),t&&this.addMissing(o,t),o},t.prototype.isRangeChanged=function(t,e){return!c(this.min,t)||!c(this.max,e)},t.prototype.limitRange=function(t,e,n){return this.boundRange?[Gi(t,n),Ki(e,n)]:[t,e]},t.prototype.total=function(t){var e=this.insertUndividedMax&&this.isLastMissing(t)?1:0,n=this.isMissing(t)?1:0;return this.countFromMin(t)+n+e},t.prototype.selectedIndex=function(t){return Math.ceil(this.divideByStep(t))},t.prototype.valueInList=function(t){if(!t)return!0;var e=this.insertUndividedMax&&this.lastHour(t)===t.getHours();return e||!this.isMissing(t)},t.prototype.addLast=function(t,e){return this.insertUndividedMax&&this.isLastMissing(e)&&t.push(this.toListItem(this.lastHour(e))),t},t.prototype.addMissing=function(t,e){if(this.valueInList(e))return t;var n=this.toListItem(e.getHours());return t.splice(this.selectedIndex(e),0,n),t},t.prototype.countFromMin=function(t){var e=this.range(t),n=e[0],i=e[1];return Math.floor(Zi(i,n)/this.step)+1},t.prototype.isMissing=function(t){return!!t&&this.selectedIndex(t)!==this.divideByStep(t)},t.prototype.isLastMissing=function(t){return this.isMissing(Rn(this.max,this.lastHour(t)))},t.prototype.divideByStep=function(t){return Zi(t.getHours(),this.min.getHours())/this.step},t.prototype.lastHour=function(t){return this.range(t)[1]},t.prototype.range=function(t){var e=this.limitRange(this.min,this.max,t),n=e[0],i=e[1];return[n.getHours(),i.getHours()]},t}(),qi=60,Yi=function(t){return function(e){return e%t}},Xi=Yi(qi),Ji=function(t,e){return function(n){return Xi(t+n*e)}},Qi=function(t,e){return Xi(qi+t-e)},tr=function(t){return function(e,n){var i=!n||e.getHours()===n.getHours();return i?e:Bn(e,t)}},er=tr(0),nr=tr(qi-1),ir=function(){function t(t){this.intl=t,this.insertUndividedMax=!1}return t.prototype.apply=function(t,e){return Bn(t,e.getMinutes())},t.prototype.configure=function(t){var e=this,n=t.insertUndividedMax,i=void 0===n?this.insertUndividedMax:n,r=t.min,o=void 0===r?this.min:r,a=t.max,s=void 0===a?this.max:a,l=t.part,u=t.step,c=void 0===u?this.step:u;this.insertUndividedMax=i,this.toListItem=function(t){var n=Bn(G,t);return{text:e.intl.formatDate(n,l.pattern),value:n}},this.min=o,this.max=s,this.step=c},t.prototype.data=function(t){var e=this,n=this.range(t)[0],i=Ji(n,this.step),r=function(t){return e.toListItem(i(t))},o=jn(0,this.countFromMin(t)).map(r);return this.addLast(o),t&&this.addMissing(o,t),o},t.prototype.isRangeChanged=function(t,e){return!c(this.min,t)||!c(this.max,e)},t.prototype.limitRange=function(t,e,n){return[er(t,n),nr(e,n)]},t.prototype.total=function(t){var e=this.insertUndividedMax&&this.isLastMissing(t)?1:0,n=this.isMissing(t)?1:0;return this.countFromMin(t)+n+e},t.prototype.selectedIndex=function(t){return Math.ceil(this.divideByStep(t))},t.prototype.valueInList=function(t){if(!t)return!0;var e=this.insertUndividedMax&&this.lastMinute(t)===t.getMinutes();return e||!this.isMissing(t)},t.prototype.addLast=function(t,e){return this.insertUndividedMax&&this.isLastMissing(e)&&t.push(this.toListItem(this.lastMinute(e))),t},t.prototype.addMissing=function(t,e){if(this.valueInList(e))return t;var n=this.toListItem(e.getMinutes());return t.splice(this.selectedIndex(e),0,n),t},t.prototype.countFromMin=function(t){var e=this.range(t),n=e[0],i=e[1];return Math.floor(Qi(i,n)/this.step)+1},t.prototype.isMissing=function(t){return!!t&&this.selectedIndex(t)!==this.divideByStep(t)},t.prototype.isLastMissing=function(t){return this.isMissing(Bn(this.max,this.lastMinute(t)))},t.prototype.divideByStep=function(t){return Qi(t.getMinutes(),this.min.getMinutes())/this.step},t.prototype.lastMinute=function(t){return this.range(t)[1]},t.prototype.range=function(t){var e=this.limitRange(this.min,this.max,t),n=e[0],i=e[1];return[n.getMinutes(),i.getMinutes()]},t}(),rr=60,or=function(t){return function(e){return e%t}},ar=or(rr),sr=function(t,e){return function(n){return ar(t+n*e)}},lr=function(t,e){return ar(rr+t-e)},ur=function(t){return function(e,n){var i=!n||e.getMinutes()===n.getMinutes()&&e.getHours()===n.getHours();return i?e:Fn(e,t)}},cr=ur(0),hr=ur(rr-1),pr=function(){function t(t){this.intl=t,this.insertUndividedMax=!1}return t.prototype.apply=function(t,e){return Fn(t,e.getSeconds())},t.prototype.configure=function(t){var e=this,n=t.insertUndividedMax,i=void 0===n?this.insertUndividedMax:n,r=t.min,o=void 0===r?this.min:r,a=t.max,s=void 0===a?this.max:a,l=t.part,u=t.step,c=void 0===u?this.step:u;this.insertUndividedMax=i,this.toListItem=function(t){var n=Fn(G,t);return{text:e.intl.formatDate(n,l.pattern),value:n}},this.min=o,this.max=s,this.step=c},t.prototype.data=function(t){var e=this,n=this.range(t)[0],i=sr(n,this.step),r=function(t){return e.toListItem(i(t))},o=jn(0,this.countFromMin(t)).map(r);return this.addLast(o),t&&this.addMissing(o,t),o},t.prototype.isRangeChanged=function(t,e){return!c(this.min,t)||!c(this.max,e)},t.prototype.limitRange=function(t,e,n){return[cr(t,n),hr(e,n)]},t.prototype.total=function(t){var e=this.insertUndividedMax&&this.isLastMissing(t)?1:0,n=this.isMissing(t)?1:0;return this.countFromMin(t)+n+e},t.prototype.selectedIndex=function(t){return Math.ceil(this.divideByStep(t))},t.prototype.valueInList=function(t){if(!t)return!0;var e=this.insertUndividedMax&&this.lastSecond(t)===t.getSeconds();return e||!this.isMissing(t)},t.prototype.divideByStep=function(t){return lr(t.getSeconds(),this.min.getSeconds())/this.step},t.prototype.addLast=function(t,e){return this.insertUndividedMax&&this.isLastMissing(e)&&t.push(this.toListItem(this.lastSecond(e))),t},t.prototype.addMissing=function(t,e){if(this.valueInList(e))return t;var n=this.toListItem(e.getSeconds());return t.splice(this.selectedIndex(e),0,n),t},t.prototype.countFromMin=function(t){var e=this.range(t),n=e[0],i=e[1];return Math.floor(lr(i,n)/this.step)+1},t.prototype.isMissing=function(t){return!!t&&this.selectedIndex(t)!==this.divideByStep(t)},t.prototype.isLastMissing=function(t){return this.isMissing(Fn(this.max,this.lastSecond(t)))},t.prototype.lastSecond=function(t){return this.range(t)[1]},t.prototype.range=function(t){var e=this.limitRange(this.min,this.max,t),n=e[0],i=e[1];return[n.getSeconds(),i.getSeconds()]},t}(),dr=r,fr=dr.h,mr=dr.version&&"3"===dr.version[0],vr=dr.inject,gr=2,yr=.05,br=0,xr=(Ci={},Ci[o.D$.end]=function(t,e){return t[t.length-1]},Ci[o.D$.home]=function(t,e){return t[0]},Ci[o.D$.up]=function(t,e){return t[e-1]},Ci[o.D$.down]=function(t,e){return t[e+1]},Ci),wr=(_i={},_i[Cn.dayperiod]=Bi,_i[Cn.hour]=Wi,_i[Cn.minute]=ir,_i[Cn.second]=pr,_i),kr={name:"KendoTimeList",emits:{change:null,focus:null,blur:null},props:{id:Number,boundRange:{type:Boolean,default:!1},max:{type:Date,default:function(){return Y}},min:{type:Date,default:function(){return G}},part:Object,step:{type:Number,default:1},value:Date,smoothScroll:{type:Boolean,default:!0}},inject:{kendoIntlService:{default:null}},data:function(){return{animateToIndex:!1}},created:function(){this.topOffset=void 0,this.dom=new Fi},computed:{animate:function(){return Boolean(this.$props.smoothScroll&&this.animateToIndex)}},mounted:function(){var t=this;this.virtualization=this.$refs.virtualization,Promise.resolve().then((function(){t.$el&&(t.dom.calculateHeights(t.$el),t.$forceUpdate())}))},updated:function(){if(this.$refs.virtualization){this.virtualization=this.$refs.virtualization;var t=this.service.selectedIndex(this.$props.value);this.virtualization[this.animate?"animateToIndex":"scrollToIndex"](t),this.animateToIndex=!0}},setup:mr?function(){var t=!!mr,e=vr("kendoIntlService",{});return{v3:t,kendoIntlService:e}}:void 0,render:function(t){var e=this,n=fr||t;if(this.$props.part.type&&wr[this.$props.part.type]){this.calculateHeights(),this.intl=(0,p.Ar)(this),this.service=new wr[this.$props.part.type](this.intl),this.configureServices();var i=this.service.data(this.$props.value),r="translateY("+this.topOffset+"px)",o=this.service.total(this.$props.value),a=function(){return n("ul",{style:{transform:r,msTransform:r},class:"k-reset"},[i.map((function(t,e){var i=this;return n("li",{key:e,class:"k-item",onClick:function(){i.handleChange(t)},on:this.v3?void 0:{click:function(){i.handleChange(t)}}},[n("span",[t.text])])}),this)])};return n("div",{class:"k-time-list",id:String(this.$props.id||""),attrs:this.v3?void 0:{id:String(this.$props.id||""),tabindex:this.$props.disabled?-1:0},tabindex:this.$props.disabled?-1:0,onKeydown:this.handleKeyDown,on:this.v3?void 0:{keydown:this.handleKeyDown,focusin:this.handleFocus,focusout:this.handleBlur,mouseover:this.handleMouseOver},onFocusin:this.handleFocus,onFocusout:this.handleBlur,onMouseover:this.handleMouseOver},[this.dom.didCalculate?n(Oi,{bottomOffset:this.bottomOffset,attrs:this.v3?void 0:{bottomOffset:this.bottomOffset,itemHeight:this.itemHeight,maxScrollDifference:this.listHeight,role:"presentation",skip:br,tabIndex:-1,take:o,topOffset:this.topOffset,total:o},class:"k-time-container",itemHeight:this.itemHeight,maxScrollDifference:this.listHeight,onScrollaction:this.handleScrollAction,on:this.v3?void 0:{scrollaction:this.handleScrollAction},ref:"virtualization",role:"presentation",skip:br,tabIndex:-1,take:o,topOffset:this.topOffset,total:o},this.v3?function(){return[a.call(e)]}:[a.call(e)]):n("div",{class:"k-time-container"},[a.call(this)])])}},methods:{focus:function(t){var e=this;Promise.resolve().then((function(){e.$el&&e.$el.focus(t)}))},itemOffset:function(t){if(!this.virtualization)return-1;var e=this.service.selectedIndex(this.$props.value),n=this.virtualization.activeIndex(),i=this.virtualization.itemOffset(n),r=Math.abs(Math.ceil(t)-i);if(e===n&&rn,a=o&&r>=this.bottomThreshold||!o&&r>this.topThreshold;return a?this.virtualization.itemOffset(n+1):i},calculateHeights:function(){this.dom.didCalculate&&(this.itemHeight=this.dom.itemHeight,this.listHeight=this.dom.timeListHeight,this.topOffset=(this.listHeight-this.itemHeight)/2,this.bottomOffset=this.listHeight-this.itemHeight,this.topThreshold=this.itemHeight*yr,this.bottomThreshold=this.itemHeight*(1-yr))},configureServices:function(t){var e=t||this.$props,n=e.min,i=e.max,r=e.value,o=this.service.limitRange(n||this.$props.min,i||this.$props.max,r||this.$props.value),a=o[0],s=o[1];this.service.configure(this.serviceSettings({min:a,max:s}))},serviceSettings:function(t){var e={boundRange:this.$props.boundRange,insertUndividedMax:!1,min:a(this.$props.min),max:a(this.$props.max),part:this.$props.part,step:this.$props.step},n=Object.assign({},e,t);return n.boundRange="hour"!==n.part.type||this.$props.boundRange,n},handleScrollAction:function(t){var e=t.target,n=t.animationInProgress;if(this.virtualization&&e&&!n){this.animateToIndex=!1;var i=this.virtualization.itemIndex(this.itemOffset(e.scrollTop)),r=this.service.data(this.$props.value)[i];this.handleChange(r)}},handleFocus:function(t){this.$emit("focus",t)},handleBlur:function(t){this.$emit("blur",t)},handleMouseOver:function(){this.$el&&o.Sw&&document.activeElement!==this.$el&&this.$el.focus({preventScroll:!0})},handleKeyDown:function(t){var e=t.keyCode;e!==o.D$.down&&e!==o.D$.up&&e!==o.D$.end&&e!==o.D$.home||t.preventDefault();var n=xr[t.keyCode]||o.lQ,i=n(this.service.data(this.$props.value),this.service.selectedIndex(this.$props.value));i&&this.handleChange(i)},handleChange:function(t){var e=this.service.apply(this.$props.value,t.value);this.$props.value.getTime()!==e.getTime()&&(this.currentValue=e,this.$emit("change",e))}}},Cr=kr,_r=r,Sr=_r.h,Mr=_r.version&&"3"===_r.version[0],Ar=_r.inject,Ir=new RegExp("".concat(Cn.hour,"|").concat(Cn.minute,"|").concat(Cn.second,"|").concat(Cn.dayperiod,"|literal"));(function(t){t[t["Left"]=0]="Left",t[t["Right"]=1]="Right"})(Si||(Si={}));var Tr,Nr={name:"KendoTimePart",props:{cancelButton:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},format:{type:String,default:function(){return"hh:mm a"}},max:{type:Date,default:function(){return Y}},min:{type:Date,default:function(){return q}},nowButton:{type:Boolean,default:!0},steps:{type:Object,default:function(){return{}}},smoothScroll:{type:Boolean,default:!0},tabIndex:Number,value:{type:Date,default:function(){return null}}},emits:{change:null,focus:null,blur:null,nowclick:null},created:function(){this.timeLists=[],this.snapTime=Dn(En(this.$props.steps,this.$props.min)),this.activeListIndex=-1,this.hasActiveButton=this.hasActiveButton.bind(this)},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data:function(){return{activeListIndex:null}},computed:{element:function(){return this._element},computedValue:function(){return Hn(this.snapTime(a(this.$props.value||G)),this.computedMin,this.computedMax)},intl:function(){return(0,p.Ar)(this)},computedMin:function(){return this.snapTime(this.$props.min)},computedMax:function(){return this.snapTime(this.$props.max)}},mounted:function(){var t=this;this._nowButton=this.$refs.nowButton,this.dateFormatParts.forEach((function(e,n){"literal"!==e.type&&t.timeLists.push(t.$refs["timeList"+n])}))},setup:Mr?function(){var t=!!Mr,e=Ar("kendoIntlService",{}),n=Ar("kendoLocalizationService",{});return{v3:t,kendoIntlService:e,kendoLocalizationService:n}}:void 0,render:function(t){var e=Sr||t,n=this.$props,i=n.format,r=n.smoothScroll,a=n.disabled;this.snapTime=Dn(En(this.$props.steps,this.computedMin)),this.dateFormatParts=this.intl.splitDateFormat(i).filter(this.timeFormatFilter);var s=(0,o.xW)({"k-disabled":a},"k-time-part"),l=(0,p.GB)(this),u=l.toLanguageString(ze,qe[ze]);return e("div",{class:s},[e("div",{class:"k-time-header"},[e("span",{class:"k-title"},[this.intl.formatDate(this.computedValue,this.dateFormatParts.reduce(this.timeFormatReducer,""))]),this.showNowButton()&&e(ke.$n,{type:"button",attrs:this.v3?void 0:{type:"button",fillMode:"flat",title:u,"aria-label":u,tabIndex:a?-1:0},ref:"nowButton",fillMode:"flat",class:"k-time-now",title:u,"aria-label":u,onClick:this.onNowClick,on:this.v3?void 0:{click:this.onNowClick},tabIndex:a?-1:0},this.v3?function(){return[l.toLanguageString(Fe,qe[Fe])]}:[l.toLanguageString(Fe,qe[Fe])])]),e("div",{class:"k-time-list-container",onKeydown:this.handleKeyDown,on:this.v3?void 0:{keydown:this.handleKeyDown}},[e("span",{class:"k-time-highlight"}),this.dateFormatParts.map((function(t,n){var i=this;return"literal"!==t.type?e("div",{key:n,class:(0,o.xW)("k-time-list-wrapper",{"k-focus":n===this.activeListIndex}),role:"presentation",attrs:this.v3?void 0:{role:"presentation",tabindex:-1},tabindex:-1},[e("span",{class:"k-title",onMousedown:function(t){t.preventDefault()},on:this.v3?void 0:{mousedown:function(t){t.preventDefault()}}},[this.intl.dateFieldName(t)]),e(Cr,{min:this.computedMin,attrs:this.v3?void 0:{min:this.computedMin,max:this.computedMax,boundRange:this.$props.boundRange,part:t,step:t.type?this.$props.steps[t.type]:1,smoothScroll:r,id:n,value:this.computedValue,disabled:a},max:this.computedMax,boundRange:this.$props.boundRange,part:t,step:t.type?this.$props.steps[t.type]:1,smoothScroll:r,ref:"timeList"+n,id:n,onFocus:function(t){i.handleListFocus(t,n)},on:this.v3?void 0:{focus:function(t){i.handleListFocus(t,n)},blur:this.handleListBlur,change:this.handleChange},onBlur:this.handleListBlur,onChange:this.handleChange,value:this.computedValue,disabled:a})]):e("div",{key:n,class:"k-time-separator"},[t.pattern])}),this)])])},methods:{onNowClick:function(t){this.$emit("nowclick",t)},focus:function(t){var e=this;this.$nextTick((function(){var n=e.timeLists[0];!e.hasActiveButton()&&n&&n.$el&&n.focus(t)}))},timeFormatReducer:function(t,e){return t+e.pattern},timeFormatFilter:function(t,e,n){var i=e>=1&&n[e-1];return i&&i&&"literal"===t.type?Ir.test(i.type||""):Ir.test(t.type||"")},hasActiveButton:function(){return o.Sw&&this._nowButton&&document.activeElement===this._nowButton.$el},focusList:function(t){this.timeLists.length&&this.timeLists.reduce(this.listReducer,[]).map((function(e){return t===Si.Right?e.next:e.prev})).map((function(t){return t&&t.$el&&t.$el.focus({preventScroll:!0})}))},listReducer:function(t,e,n,i){return t.length||e.$props.id!==this.activeListIndex?t:[{next:i[n+1]||e,prev:i[n-1]||e}]},showNowButton:function(){return!this.hasSteps()&&this.$props.nowButton&&Zn(zn(),this.computedMin,this.computedMax)},hasSteps:function(){var t=this,e=Object.keys(this.$props.steps);return e.length!==e.reduce((function(e,n){return e+t.$props.steps[n]}),0)},handleKeyDown:function(t){var e=t.keyCode;switch(e){case o.D$.left:return t.preventDefault(),void this.focusList(Si.Left);case o.D$.right:return t.preventDefault(),void this.focusList(Si.Right);default:return}},handleListBlur:function(t){this.$emit("blur",t)},handleListFocus:function(t,e){this.$emit("focus",t),this.activeListIndex=e},handleChange:function(t){this.$emit("change",t)}}},$r=Nr,Or=r,Lr=Or.h,Er=Or.version&&"3"===Or.version[0],Pr=Or.inject;(function(t){t[t["Left"]=0]="Left",t[t["Right"]=1]="Right"})(Tr||(Tr={}));var Dr={name:"KendoTimeSelector",emits:{change:null,focus:null,blur:null},props:{cancelButton:{type:Boolean,default:!0},boundRange:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},format:{type:String,default:function(){return"t"}},max:{type:Date,default:function(){return Y}},min:{type:Date,default:function(){return q}},nowButton:Boolean,steps:{type:Object,default:function(){return{}}},smoothScroll:{type:Boolean,default:!0},tabIndex:Number,value:{type:Date,default:function(){return null}}},created:function(){this.dateFormatParts=this.intl.splitDateFormat(this.$props.format),this.mergeValue=Pn(Ln(this.dateFormatParts)),this.hasActiveButton=this.hasActiveButton.bind(this),this.currentState=this.$props.value||G,this.currentValue=this.$props.value},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data:function(){return{currentState:null,currentValue:null,valueDuringOnChange:void 0}},computed:{computedValue:function(){var t=void 0!==this.valueDuringOnChange?this.valueDuringOnChange:null!==this.$props.value?this.$props.value:this.currentValue;return null!==t?a(t):null},intl:function(){return(0,p.Ar)(this)},current:function(){return null!==this.currentState?a(this.currentState):null}},mounted:function(){this.timePart=this.$refs.timePart,this._acceptButton=this.$refs.acceptButton,this._cancelButton=this.$refs.cancelButton},setup:Er?function(){var t=!!Er,e=Pr("kendoIntlService",{}),n=Pr("kendoLocalizationService",{});return{v3:t,kendoIntlService:e,kendoLocalizationService:n}}:void 0,render:function(t){var e=Lr||t,n=this.$props,i=n.format,r=n.cancelButton,a=n.disabled,s=n.tabIndex,l=n.smoothScroll,u=n.min,c=n.max,h=n.boundRange,d=n.nowButton,f=n.steps,m=(0,p.GB)(this),v=m.toLanguageString(je,qe[je]),g=m.toLanguageString(Ve,qe[Ve]);return e("div",{tabindex:a?void 0:s||0,attrs:this.v3?void 0:{tabindex:a?void 0:s||0},class:(0,o.xW)("k-timeselector",{"k-disabled":a}),onKeydown:this.handleKeyDown,on:this.v3?void 0:{keydown:this.handleKeyDown}},[e($r,{ref:"timePart",value:this.current,attrs:this.v3?void 0:{value:this.current,format:i,smoothScroll:l,min:u,max:c,boundRange:h,disabled:a,nowButton:d,steps:f},onChange:this.handleChange,on:this.v3?void 0:{change:this.handleChange,nowclick:this.handleNowClick,focus:this.handleFocus,blur:this.handleBlur},onNowclick:this.handleNowClick,format:i,smoothScroll:l,min:u,max:c,onFocus:this.handleFocus,onBlur:this.handleBlur,boundRange:h,disabled:a,nowButton:d,steps:f}),e("div",{class:"k-time-footer k-actions k-actions-stretched"},[r&&e(ke.$n,{type:"button",attrs:this.v3?void 0:{type:"button",title:v,"aria-label":v},ref:"cancelButton",class:"k-time-cancel",onClick:this.handleReject,on:this.v3?void 0:{click:this.handleReject},title:v,"aria-label":v},this.v3?function(){return[v]}:[v]),e(ke.$n,{type:"button",attrs:this.v3?void 0:{type:"button",themeColor:"primary",title:g,"aria-label":g},ref:"acceptButton",themeColor:"primary",class:"k-time-accept",onClick:this.handleAccept,on:this.v3?void 0:{click:this.handleAccept},title:g,"aria-label":g},this.v3?function(){return[g]}:[g])])])},methods:{handleBlur:function(t){this.$emit("blur",t)},handleFocus:function(t){this.$emit("focus",t)},focusActiveList:function(){this.timePart&&this.timePart.focus({preventScroll:!0})},hasActiveButton:function(){return!!this._acceptButton&&(o.Sw&&(document.activeElement===this._acceptButton.$el||document.activeElement===this._cancelButton.$el))},handleKeyDown:function(t){var e=t.keyCode;switch(this.$emit("keydown",t),e){case o.D$.enter:return void(this.hasActiveButton()||this.handleAccept(t));default:return}},handleAccept:function(t){var e=this.mergeValue(a(this.computedValue||zn()),this.timePart?this.timePart.computedValue:this.current);this.currentValue=e,this.valueDuringOnChange=e,this.$emit("change",{event:t,value:this.computedValue,target:this}),this.valueDuringOnChange=void 0},handleReject:function(t){this.currentState=this.computedValue,this.$emit("reject",t)},handleNowClick:function(t){var e=this.mergeValue(a(this.computedValue||zn()),zn());this.currentState=e,this.currentValue=e,this.valueDuringOnChange=e,this.$emit("change",{event:t,value:this.computedValue,target:this}),this.valueDuringOnChange=void 0},handleChange:function(t){this.currentState=t}}},Rr=Dr,Br=function(){return Br=Object.assign||function(t){for(var e,n=1,i=arguments.length;no?s=a+e-o:a<0&&(s=a),0!==s?t.scrollTop+=s:0===t.scrollTop&&0!==i&&(t.scrollTop=i)}else a+e>o+t.scrollTop?t.scrollTop=a+e-o:a0&&void 0!==c&&(v=O(t,c),g=O(d[o-1],c),v&&g&&v!==g!==void 0&&(x=v)),void 0!==x&&1===Object.keys(t).length&&(m+=1),void 0!==x&&void 0!==t[c]&&1===Object.keys(t).length?e(rt,{id:"option-".concat(r,"-").concat(y),attrs:this.v3?void 0:{id:"option-".concat(r,"-").concat(y),group:x,render:p},key:y+"-group-item",group:x,render:p}):e(J,{id:"option-".concat(r,"-").concat(y),attrs:this.v3?void 0:{id:"option-".concat(r,"-").concat(y),dataItem:t,selected:b,focused:s===y-m,index:y-m,textField:n,group:x,render:h},dataItem:t,selected:b,focused:s===y-m,index:y-m,key:y-m,onItemclick:this.handleClick,on:this.v3?void 0:{itemclick:this.handleClick},textField:n,group:x,render:h})}),this)},d=p.call(this);return d.length?e("div",{class:l,style:u,unselectable:"on",attrs:this.v3?void 0:{unselectable:"on"},onScroll:this.handleScroll,on:this.v3?void 0:{scroll:this.handleScroll}},[e("ul",{id:o,attrs:this.v3?void 0:{id:o,role:"listbox","aria-live":"polite","aria-hidden":!s||void 0},role:"listbox","aria-live":"polite","aria-hidden":!s||void 0,class:"k-list-ul",ref:(0,a.cZ)(this,"list"),style:c},[d]),n]):h.call(this)}},gt=vt,yt=function(){function t(){var t=this;this.containerHeight=0,this.skip=0,this.total=0,this.enabled=!1,this.pageSize=0,this.itemHeight=0,this.prevScrollPos=0,this.listTranslate=0,this.scrollSyncing=!1,this.scrollerRef=function(e){var n=t;n.container=e,e&&(e.setAttribute("unselectable","on"),setTimeout(n.calcScrollElementHeight.bind(n),0))},this.calcScrollElementHeight=function(){t.scrollSyncing=!0;var e=!1,n=t.list?Array.from(t.list.children):[];t.itemHeight=n[0]?n[0].offsetHeight:t.itemHeight;var i=t.itemHeight*(t.total-n.length);t.containerHeight=z?Math.min(j,i):i;var r=t.containerHeight;return t.scrollElement&&(e=t.scrollElement.style.height!==r+"px",e&&(t.scrollElement.style.height=r+"px")),t.scrollSyncing=!1,e},this.scrollHandler=this.scrollHandler.bind(this)}return Object.defineProperty(t.prototype,"translate",{get:function(){return this.listTranslate},enumerable:!1,configurable:!0}),t.prototype.changePage=function(t,e){var n=Math.min(Math.max(0,t),this.total-this.pageSize);n!==this.skip&&this.PageChange({skip:n,take:this.pageSize},e)},t.prototype.translateTo=function(t){this.listTranslate=t,this.list&&(this.list.style.transform="translateY("+t+"px)")},t.prototype.reset=function(){this.container&&(this.calcScrollElementHeight(),this.container.scrollTop=0,this.translateTo(0))},t.prototype.scrollToEnd=function(){this.container&&this.list&&(this.calcScrollElementHeight(),this.container.scrollTop=this.container.scrollHeight-this.container.offsetHeight,this.translateTo(Math.min(this.container.scrollHeight,this.containerHeight)))},t.prototype.localScrollUp=function(t){var e,n=this.itemHeight,i=this.container.scrollTop,r=this.listTranslate,o=i-r;if(!(o>n)){for(e=0;e=i)return this.translateTo(0),this.changePage(0,t),void(this.container.scrollTop=0);r!==this.listTranslate&&(this.translateTo(r),this.changePage(this.skip-e,t))}},t.prototype.localScrollDown=function(t){var e,n=this.itemHeight,i=this.container.scrollTop,r=this.listTranslate,o=this.list.children.length;for(e=0;e=i)break;r+=n}r=this.validateTranslate(r),e>=o&&this.skip+e>=this.total?(this.translateTo(r),this.changePage(this.total-1,t)):r!==this.listTranslate&&(this.translateTo(r),this.changePage(this.skip+e,t))},t.prototype.scrollNonStrict=function(t){var e=this.total*this.prevScrollPos/this.containerHeight,n=Math.min(Math.floor(e),this.total-1),i=this.containerHeight*e/this.total;i=this.validateTranslate(i),this.translateTo(i),this.changePage(n,t)},t.prototype.scrollHandler=function(t){var e=this.container?this.container.scrollTop:0,n=this.prevScrollPos;this.prevScrollPos=e,this.ScrollChange(t),this.enabled&&this.list&&this.container&&!this.scrollSyncing&&(e-n<=0&&e>this.listTranslate-this.list.scrollHeight/10?this.localScrollUp(t):e-n>0&&e=0){var r=this.vs,o=r.container||n.parentNode;if(o){var a=void 0!==e?e:r.enabled;T(o,i.offsetHeight,t,r.translate,a)}}},t.prototype.repositionPopup=function(){var t=this.component;setTimeout((function(){var e=t.$refs.container;if(e){var n=e.$refs.popup;n&&n.show&&n.reposition()}}),5)},t.prototype.initState=function(){var t={data:{},events:[],event:void 0};return t},t.prototype.applyState=function(t){var e=this;Object.keys(t.data).length>0&&Object.keys(t.data).forEach((function(n){e.component[n]=t.data[n]}));var n=this.component.primitiveValue(),i={event:t.event,component:this.component,target:{name:this.component.$props.name,value:n},value:n};t.events.forEach((function(t){var r=t.type;delete t.type,r&&("change"===r&&(e.component.$emit("changemodel",n),e.component.$emit("update:modelValue",n)),e.component.$emit(r,kt(kt({},i),t)))}))},t.prototype.triggerOnPageChange=function(t,e,n){var i=this.component.$props.virtual;if(i){var r=Math.min(Math.max(0,e),Math.max(0,i.total-n));r!==i.skip&&t.events.push({type:"pagechange",page:{skip:r,take:n}})}},t.prototype.triggerPageChangeCornerItems=function(t,e){var n=this.component.$props,i=n.dataItems,r=void 0===i?[]:i,o=n.dataItemKey,a=n.virtual,s=void 0!==n.opened?n.opened:this.component.currentOpened;t&&a&&this.vs.enabled&&(a.skip>0&&P(t,r[0],o)?this.triggerOnPageChange(e,a.skip-1,a.pageSize):(a.skip+a.pageSizec)break;s[p]&&s[p][o]&&(h=s[p][o])}h!==this.group&&(r.data.group=h,this.applyState(r))}}},render:function(t){var e,n=Lt||t,i=this.$props,r=i.style,o=i.className,l=i.label,u=i.dir,c=i.virtual,h=void 0===c?{skip:0}:c,p=i.size,m=i.rounded,v=i.fillMode,g=void 0!==this.$props.opened?this.$props.opened:this.currentOpened,y=O(this.computedValue(),this.$props.textField),b=!this.$props.validityStyles||this.validity().valid,x=this.base,w=x.vs,k=this.$props.id||this.inputId;w.enabled=void 0!==this.$props.virtual;var C=Object.assign({},{animate:!0,height:"200px"},this.$props.popupSettings),S=(0,ot.GB)(this).toLanguageString(ut,ct[ut]),M=this.$props,A=M.dataItemKey,I=M.dataItems,T=void 0===I?[]:I,N=M.disabled,$=M.tabIndex,L=M.loading,E=M.icon,D=M.svgIcon,R=M.iconClassName,F=a.rh.call(this,this.$props.valueRender,a.WM.call(this)),z=this.currentFocused,j=this.primitiveValue(),V=T.findIndex((function(t){return P(t,j,A)})),H=n("span",{class:"k-input-inner",id:this.dropDownListId,attrs:this.v3?void 0:{id:this.dropDownListId}},[n("span",{class:"k-input-value-text"},[y])]),Z=a.$F.call(this,{h:n,template:F,defaultRendering:H,additionalProps:$t({value:this.computedValue()},this.$data)}),U=function(t){return n("select",{name:this.$props.name,attrs:this.v3?void 0:{name:this.$props.name,id:k,tabindex:-1,"aria-hidden":!0,title:this.$props.label},id:k,ref:(0,a.cZ)(this,"select"),tabindex:-1,"aria-hidden":!0,title:this.$props.label,style:{opacity:0,width:1,border:0,zIndex:-1,position:"absolute",left:"50%"}},[n("option",{value:this.v3?this.$props.valueMap?this.$props.valueMap.call(void 0,t):t:null,domProps:this.v3?void 0:{value:this.$props.valueMap?this.$props.valueMap.call(void 0,t):t}})])},K=function(){var t=this.$props,e=t.textField,i=t.defaultItem;return void 0!==i&&n(G,{defaultItem:i,attrs:this.v3?void 0:{defaultItem:i,textField:e,selected:P(this.computedValue(),i,A)},textField:e,selected:P(this.computedValue(),i,A),key:"defaultitemkey",onDefaultitemclick:this.handleDefaultItemClick,on:this.v3?void 0:{defaultitemclick:this.handleDefaultItemClick}})},W=function(){var t=this,e=this.$props,i=e.textField,r=e.groupField,o=this.$props.dataItems||[],s=a.rh.call(this,this.$props.itemRender,a.WM.call(this)),l=a.rh.call(this,this.$props.groupHeaderItemRender,a.WM.call(this)),u=a.rh.call(this,this.$props.listNoDataRender,a.WM.call(this)),c=h.skip,p="translateY(".concat(w.translate,"px)");return r&&(o=this.base.getGroupedDataModernMode(o,r)),n(gt,{id:this.base.listBoxId,attrs:this.v3?void 0:{id:this.base.listBoxId,show:g,dataItems:o.slice(),focusedIndex:this.focusedIndex(),value:this.computedValue(),textField:i,valueField:A,optionsGuid:this.base.guid,wrapperStyle:{maxHeight:C.height},wrapperCssClass:"k-list-content",listStyle:w.enabled?{transform:p}:void 0,skip:c,itemRender:s,groupHeaderItemRender:l,noDataRender:u,groupField:r},show:g,dataItems:o.slice(),focusedIndex:this.focusedIndex(),value:this.computedValue(),textField:i,valueField:A,optionsGuid:this.base.guid,ref:"list",wrapperStyle:{maxHeight:C.height},wrapperCssClass:"k-list-content",listStyle:w.enabled?{transform:p}:void 0,key:"listkey",skip:c,onListclick:this.handleItemClick,on:this.v3?void 0:{listclick:this.handleItemClick,scroll:this.onScroll},itemRender:s,groupHeaderItemRender:l,noDataRender:u,groupField:r,onScroll:this.onScroll},this.v3?function(){return[Y.call(t)]}:[Y.call(t)])},q=function(){var t=void 0!==this.$props.filter?this.$props.filter:this.currentText;return this.$props.filterable&&n(_,{value:t,attrs:this.v3?void 0:{value:t,size:this.$props.size,rounded:this.$props.rounded,fillMode:this.$props.fillMode},ref:"filterInput",onChange:this.handleListFilterChange,on:this.v3?void 0:{change:this.handleListFilterChange,keydown:this.handleKeyDown},onKeydown:this.handleKeyDown,size:this.$props.size,rounded:this.$props.rounded,fillMode:this.$props.fillMode})},Y=function(){return w.enabled&&n("div",{ref:"scrollElement",key:"scrollElementKey"})},X=function(){var t,e=this,i=a.rh.call(this,this.$props.header,a.WM.call(this)),r=a.rh.call(this,this.$props.footer,a.WM.call(this)),o=a.rh.call(this,this.$props.groupStickyHeaderItemRender,a.WM.call(this)),s=a.$F.call(this,{h:n,template:i}),l=a.$F.call(this,{h:n,template:r}),c=void 0!==C.width?C.width:x.popupWidth;return void 0===this.group&&void 0!==this.$props.groupField&&(this.group=O(T[0],this.$props.groupField)),n(d,{ref:"container",onMousedown:B,on:this.v3?void 0:{mousedown:B,open:this.onPopupOpened,close:this.onPopupClosed,blur:this.handleBlur},dir:void 0!==u?u:x.dirCalculated,attrs:this.v3?void 0:{dir:void 0!==u?u:x.dirCalculated,width:c,popupSettings:$t($t({},C),{popupClass:(0,a.xW)(C.popupClass,"k-list",(t={},t["k-list-".concat(Dt[p]||p)]=p,t["k-virtual-list"]=this.base.vs.enabled,t)),className:(0,a.xW)("k-list-container",C.className),anchor:this.anchor,show:g})},width:c,popupSettings:$t($t({},C),{popupClass:(0,a.xW)(C.popupClass,"k-list",(t={},t["k-list-".concat(Dt[p]||p)]=p,t["k-virtual-list"]=this.base.vs.enabled,t)),className:(0,a.xW)("k-list-container",C.className),anchor:this.anchor,show:g}),onOpen:this.onPopupOpened,onClose:this.onPopupClosed,onBlur:this.handleBlur},this.v3?function(){return[q.call(e),K.call(e),e.group&&0!==T.length&&n(Nt,{group:e.group,attrs:e.v3?void 0:{group:e.group,render:o},render:o}),s&&n("div",{class:"k-list-header"},[s]),W.call(e),l&&n("div",{class:"k-list-footer"},[l])]}:[q.call(e),K.call(e),e.group&&0!==T.length&&n(Nt,{group:e.group,attrs:e.v3?void 0:{group:e.group,render:o},render:o}),s&&n("div",{class:"k-list-header"},[s]),W.call(e),l&&n("div",{class:"k-list-footer"},[l])])};void 0!==this.$props.virtual&&(x.vs.skip=h.skip,x.vs.total=h.total,x.vs.pageSize=h.pageSize);var J=n("span",{ref:(0,a.cZ)(this,"kendoAnchor",this.anchor),class:(0,a.xW)("k-dropdownlist k-picker",o,(e={},e["k-picker-".concat(Dt[p]||p)]=p,e["k-rounded-".concat(Rt[m]||m)]=m,e["k-picker-".concat(v)]=v,e["k-focus"]=z,e["k-disabled"]=N,e["k-invalid"]=!b,e["k-loading"]=L,e["k-required"]=this.required,e)),style:l?$t($t({},r),{width:void 0}):r,dir:u,attrs:this.v3?void 0:{dir:u,tabindex:(0,a.yT)($,N),accesskey:this.$props.accessKey,role:"combobox","aria-disabled":N||void 0,"aria-haspopup":!0,"aria-expanded":g||!1,"aria-owns":this.base.listBoxId,"aria-activedescendant":g?"option-"+this.base.guid+"-"+(V+(h?h.skip:0)):void 0,"aria-label":this.$props.ariaLabel||this.$props.label,"aria-labelledby":this.$props.ariaLabelledBy,"aria-describedBy":this.dropDownListId,title:this.$props.title},onMousedown:g?B:a.lQ,on:this.v3?void 0:{mousedown:g?B:a.lQ,focusin:this.handleFocus,focusout:this.handleBlur,keydown:this.handleKeyDown,keypress:this.handleKeyPress,click:N?a.lQ:this.handleWrapperClick},onFocusin:this.handleFocus,onFocusout:this.handleBlur,tabindex:(0,a.yT)($,N),accesskey:this.$props.accessKey,onKeydown:this.handleKeyDown,onKeypress:this.handleKeyPress,role:"combobox",onClick:N?a.lQ:this.handleWrapperClick,"aria-disabled":N||void 0,"aria-haspopup":!0,"aria-expanded":g||!1,"aria-owns":this.base.listBoxId,"aria-activedescendant":g?"option-"+this.base.guid+"-"+(V+(h?h.skip:0)):void 0,"aria-label":this.$props.ariaLabel||this.$props.label,"aria-labelledby":this.$props.ariaLabelledBy,"aria-describedBy":this.dropDownListId,title:this.$props.title},[Z,L&&n(a.In,{name:"loading",attrs:this.v3?void 0:{name:"loading"},class:"k-input-loading-icon",key:"loading"}),n(s.$n,{type:"button",attrs:this.v3?void 0:{type:"button",tabIndex:-1,size:p,fillMode:v,rounded:null,ariaLabel:S,icon:E||"caret-alt-down",svgIcon:D||f.Y8K,iconClass:R,"aria-hidden":!0},tabIndex:-1,size:p,fillMode:v,rounded:null,ariaLabel:S,class:"k-input-button",icon:E||"caret-alt-down",svgIcon:D||f.Y8K,iconClass:R,"aria-hidden":!0}),U.call(this,j),X.call(this)]);return l?n("span",{class:this.spanClassNames,onFocusin:this.handleFocus,on:this.v3?void 0:{focusin:this.handleFocus,focusout:this.handleBlur},onFocusout:this.handleBlur,dir:this.$props.dir,attrs:this.v3?void 0:{dir:this.$props.dir}},[J,this.$props.label?k?n("label",{for:k,attrs:this.v3?void 0:{for:k},class:"k-label"},[this.$props.label]):n("span",{class:"k-label"},[this.$props.label]):null]):J}},zt=Ft,jt=o,Vt=jt.h,Ht=jt.version&&"3"===jt.version[0],Zt=jt.ref,Ut={name:"search-bar",emits:{change:null,keydown:null,focus:null,blur:null},props:{value:String,id:String,placeholder:String,tabIndex:Number,size:{type:Number,default:void 0},suggestedText:String,focused:Boolean,disabled:Boolean,readOnly:Boolean,expanded:Boolean,owns:String,name:String,activedescendant:String,describedby:String,clearButton:Boolean,accessKey:String,ariaLabelledBy:String},data:function(){return{prevValue:void 0,prevSuggestedText:void 0}},watch:{suggestedText:function(t,e){this.prevSuggestedText=e},value:function(t,e){this.prevValue=e}},updated:function(){var t=this.$props,e=t.value,n=t.suggestedText,i=t.focused;this.input||(this.input=this.$refs.input);var r=this.input,o=this.$data.prevValue!==e||n!==this.prevSuggestedText,s=o&&this.$data.prevValue&&this.$data.prevValue.startsWith(e)&&!(this.$data.prevSuggestedText&&n&&this.$data.prevSuggestedText.endsWith(n));i&&r&&a.Sw&&document.activeElement!==r&&r.focus(),n&&o&&!s&&r&&r.setSelectionRange(e.length-n.length,e.length)},setup:Ht?function(){var t=!!Ht,e=Zt(null);return{v3:t,inputRef:e}}:void 0,mounted:function(){this.input=(0,a.cX)(this,"input")},methods:{onChange:function(t){this.$emit("change",t)},onBlur:function(t){this.$emit("blur",t)},onFocus:function(t){this.$emit("focus",t)},onKeyDown:function(t){this.$emit("keydown",t)},clearButtonClick:function(t){this.$emit("clearbuttonclick",t)}},render:function(t){var e=Vt||t;return e("input",{autocomplete:"off",attrs:this.v3?void 0:{autocomplete:"off",id:this.$props.id,type:"text",placeholder:this.$props.placeholder,tabindex:this.$props.tabIndex,accesskey:this.$props.accessKey,role:"combobox",name:this.$props.name,size:this.$props.size?this.$props.size:20,"aria-disabled":this.$props.disabled||void 0,disabled:this.$props.disabled||void 0,readonly:this.$props.readOnly||void 0,"aria-autocomplete":this.$props.suggestedText?"both":"list","aria-haspopup":"listbox","aria-expanded":this.$props.expanded||!1,"aria-controls":this.$props.owns,"aria-activedescendant":this.$props.expanded?this.$props.activedescendant:void 0,"aria-describedby":this.$props.describedby,"aria-labelledby":this.$props.ariaLabelledBy},id:this.$props.id,type:"text",key:"searchbar",placeholder:this.$props.placeholder,class:"k-input-inner",tabindex:this.$props.tabIndex,accesskey:this.$props.accessKey,role:"combobox",name:this.$props.name,value:this.v3?this.$props.value:null,domProps:this.v3?void 0:{value:this.$props.value},size:this.$props.size?this.$props.size:20,onInput:this.onChange,on:this.v3?void 0:{input:this.onChange,keydown:this.onKeyDown,focusin:this.onFocus,blur:this.onBlur},ref:(0,a.cZ)(this,"input"),onKeydown:this.onKeyDown,onFocusin:this.onFocus,onBlur:this.onBlur,"aria-disabled":this.$props.disabled||void 0,disabled:this.$props.disabled||void 0,readonly:this.$props.readOnly||void 0,"aria-autocomplete":this.$props.suggestedText?"both":"list","aria-haspopup":"listbox","aria-expanded":this.$props.expanded||!1,"aria-controls":this.$props.owns,"aria-activedescendant":this.$props.expanded?this.$props.activedescendant:void 0,"aria-describedby":this.$props.describedby,"aria-labelledby":this.$props.ariaLabelledBy})}},Gt=Ut,Kt=o,Wt=Kt.h,qt=Kt.version&&"3"===Kt.version[0],Yt=Kt.inject,Xt={name:"clear-button",inject:{kendoLocalizationService:{default:null}},setup:qt?function(){var t=!!qt,e=Yt("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,methods:{onMouseDown:function(t){t.preventDefault()},onClickHandler:function(t){this.$emit("clearclick",t)}},render:function(t){var e=Wt||t,n=(0,ot.GB)(this).toLanguageString(lt,ct[lt]);return e("span",{class:"k-clear-value",role:"button",attrs:this.v3?void 0:{role:"button",tabindex:-1,title:n},onClick:this.onClickHandler,on:this.v3?void 0:{click:this.onClickHandler,mousedown:this.onMouseDown},onMousedown:this.onMouseDown,tabindex:-1,title:n,key:"clearbutton"},[e(a.In,{name:"x",attrs:this.v3?void 0:{name:"x",icon:f.i3N},icon:f.i3N})])}},Jt=Xt,Qt=function(){return Qt=Object.assign||function(t){for(var e,n=1,i=arguments.length;nr.length,h=this.$props.suggest,p=void 0!==this.$props.opened?this.$props.opened:this.currentOpened;if(void 0!==h&&!1!==h){u||c||!o?this.suggested="":this.suggestValue(r);var d=r+this.suggested,f={userInput:r,value:this.suggested};this.triggerOnChange(d,n,{suggestion:f})}else this.suggested="",this.triggerOnChange(r,n);(!p&&r||p&&!r)&&this.togglePopup(n),n.data.focusedItem=void 0,this.prevData&&this.prevData.length!==this.$props.dataItems&&(n.data.group=void 0),this.applyState(n)},clearButtonClick:function(t){var e=this.base,n=e.initState(),i=void 0!==this.$props.opened?this.$props.opened:this.currentOpened;n.event=t;var r="";this.suggested="",this.triggerOnChange(r,n),void 0!==this.$data.focusedItem&&(n.data.focusedItem=void 0),i&&this.togglePopup(n),this.applyState(n)},onInputKeyDown:function(t){this.isScrolling&&(this.isScrolling=!1);var e=t.keyCode,n=void 0!==this.$props.opened?this.$props.opened:this.currentOpened,i=this.base.initState(),r=this.computedValue();i.event=t;var o=function(){n&&t.preventDefault()};e===a.D$.enter||n&&e===a.D$.esc||t.altKey&&e===a.D$.up?(o(),this.applyInputValue(t.currentTarget.value,i,t.keyCode)):t.altKey||e!==a.D$.up&&e!==a.D$.down?n||e!==a.D$.esc?!n&&r&&t.altKey&&e===a.D$.down&&(this.togglePopup(i),this.applyState(i)):this.clearButtonClick(t):(o(),this.onNavigate(i,e))},handleBlur:function(t){if(this.currentFocused){var e=this.base.initState();e.data.focused=!1,e.events.push({type:"blur"}),e.event=t,this.applyInputValue(t.currentTarget.value,e),this.currentFocused=!1}},triggerOnChange:function(t,e,n){(this.computedValue()!==t||n)&&(e.data.currentValue=t,this.valueDuringOnChange=t,e.events.push(le({type:"change"},n||{})))},triggerOnSelect:function(t,e){t.events.push(le({type:"select"},e||{}))},applyState:function(t){this.base.applyState(t),this.valueDuringOnChange=void 0},suggestValue:function(t){if(this.suggested="",t){var e=this.$props,n=e.dataItems,i=void 0===n?[]:n,r=e.textField,o=i[N(i,t,r)];if(o){var a=O(o,r);t.toLowerCase()!==a.toLowerCase()&&(this.suggested=a.substring(t.length))}}},focusedIndex:function(t){var e=this,n=this.$props,i=n.dataItems,r=void 0===i?[]:i,o=n.textField,a=n.focusedItemIndex,s=void 0!==t?t:this.computedValue();return void 0!==this.$data.focusedItem?r.findIndex((function(t){return P(t,e.$data.focusedItem,o)})):a?a(r,s,o):Math.max(0,r.indexOf(D(r,s,o)))},repositionPopup:function(){this.base.repositionPopup()},onScroll:function(t){this.isScrolling=!0;var e=this.base.initState(),n=this.base.list,i=this.$props.groupField,r=this.$props.dataItems,o=void 0===r?[]:r;if(i&&o.length){var a=this.itemHeight||(n.children?n.children[0].offsetHeight:0),s=t.target,l=s.scrollTop;i&&(o=this.base.getGroupedDataModernMode(o,i));var u=o[0][i];0===a&&(a=28);for(var c=1;cl)break;o[c]&&o[c][i]&&(u=o[c][i])}u!==this.group&&(e.data.group=u,this.applyState(e))}}},render:function(t){var e,n=ce||t,i=this.$props,r=i.dir,o=i.disabled,s=i.label,l=i.size,u=i.rounded,c=i.fillMode,h=i.style,p=i.loading,f=i.suggest,m=!this.$props.validityStyles||this.validity().valid,v=this.currentFocused,g=this.base,y=this.computedValue(),b=!p&&!!y,x=this.$props.id||this.inputId,w=Object.assign({},{animate:!0,height:"200px"},this.$props.popupSettings);"string"===typeof f&&(this.suggested=f);var k=function(t,e){var i=this,r=this.$props,a=r.placeholder,s=r.tabIndex,l=r.readonly,u=void 0!==this.$props.opened?this.$props.opened:this.currentOpened;return n(Gt,{id:e,attrs:this.v3?void 0:{id:e,placeholder:a,tabIndex:s||void 0,accessKey:this.$props.accessKey,value:t,suggestedText:this.suggested,focused:v,name:this.$props.name,disabled:o,readOnly:l,expanded:u,owns:g.listBoxId,activedescendant:"option-"+g.guid+"-"+this.focusedIndex(),ariaLabelledBy:this.$props.ariaLabelledBy,ariaDescribedBy:this.$props.ariaDescribedBy},placeholder:a,tabIndex:s||void 0,accessKey:this.$props.accessKey,value:t,suggestedText:this.suggested,focused:v,name:this.$props.name,ref:this.v3?function(t){i.inputRef=t}:"input",onKeydown:this.onInputKeyDown,on:this.v3?void 0:{keydown:this.onInputKeyDown,change:this.onChangeHandler,focus:g.handleFocus,blur:this.handleBlur,clearbuttonclick:this.clearButtonClick},onChange:this.onChangeHandler,onFocus:g.handleFocus,onBlur:this.handleBlur,disabled:o,readOnly:l,expanded:u,owns:g.listBoxId,activedescendant:"option-"+g.guid+"-"+this.focusedIndex(),onClearbuttonclick:this.clearButtonClick,ariaLabelledBy:this.$props.ariaLabelledBy,ariaDescribedBy:this.$props.ariaDescribedBy})},C=function(){var t=this.$props,e=t.textField,i=t.groupField,r=this.$props.dataItems||[],o=a.rh.call(this,this.$props.itemRender,a.WM.call(this)),s=a.rh.call(this,this.$props.groupHeaderItemRender,a.WM.call(this)),l=a.rh.call(this,this.$props.listNoDataRender,a.WM.call(this)),u=void 0!==this.$props.opened?this.$props.opened:this.currentOpened;return i&&(r=this.base.getGroupedDataModernMode(r,i)),n(gt,{id:g.listBoxId,attrs:this.v3?void 0:{id:g.listBoxId,show:u,dataItems:r.slice(),focusedIndex:this.focusedIndex(),value:y,textField:e,valueField:e,highlightSelected:!1,optionsGuid:g.guid,wrapperStyle:{maxHeight:w.height},wrapperCssClass:"k-list-content",itemRender:o,groupHeaderItemRender:s,noDataRender:l,groupField:i},show:u,dataItems:r.slice(),focusedIndex:this.focusedIndex(),value:y,textField:e,valueField:e,highlightSelected:!1,optionsGuid:g.guid,ref:"list",wrapperStyle:{maxHeight:w.height},wrapperCssClass:"k-list-content",onListclick:this.handleItemClick,on:this.v3?void 0:{listclick:this.handleItemClick,scroll:this.onScroll},itemRender:o,groupHeaderItemRender:s,noDataRender:l,groupField:i,onScroll:this.onScroll})},_=function(){var t,e=this,i=a.rh.call(this,this.$props.header,a.WM.call(this)),o=a.rh.call(this,this.$props.footer,a.WM.call(this)),s=a.rh.call(this,this.$props.groupStickyHeaderItemRender,a.WM.call(this)),u=a.$F.call(this,{h:n,template:i}),c=a.$F.call(this,{h:n,template:o}),h=void 0!==this.$props.opened?this.$props.opened:this.currentOpened,p=void 0!==w.width?w.width:g.popupWidth,f=this.$props.dataItems||[];return void 0===this.group&&void 0!==this.$props.groupField&&(this.group=O(f[0],this.$props.groupField)),n(d,{onMousedown:function(t){return t.preventDefault()},on:this.v3?void 0:{mousedown:function(t){return t.preventDefault()}},width:p,attrs:this.v3?void 0:{width:p,popupSettings:le(le({},w),{anchor:this.anchor,show:h,popupClass:(0,a.xW)(w.popupClass,"k-list",(t={},t["k-list-".concat(de[l]||l)]=l,t)),className:(0,a.xW)("k-list-container",w.className)}),dir:void 0!==r?r:this.base.dirCalculated},ref:"container",popupSettings:le(le({},w),{anchor:this.anchor,show:h,popupClass:(0,a.xW)(w.popupClass,"k-list",(t={},t["k-list-".concat(de[l]||l)]=l,t)),className:(0,a.xW)("k-list-container",w.className)}),dir:void 0!==r?r:this.base.dirCalculated},this.v3?function(){return[u&&n("div",{class:"k-list-header"},[u]),e.group&&0!==f.length&&n(Nt,{group:e.group,attrs:e.v3?void 0:{group:e.group,render:s},render:s}),C.call(e),c&&n("div",{class:"k-list-footer"},[c])]}:[u&&n("div",{class:"k-list-header"},[u]),e.group&&0!==f.length&&n(Nt,{group:e.group,attrs:e.v3?void 0:{group:e.group,render:s},render:s}),C.call(e),c&&n("div",{class:"k-list-footer"},[c])])},S=n("span",{class:(0,a.xW)("k-autocomplete k-input",(e={},e["k-input-".concat(de[l]||l)]=l,e["k-rounded-".concat(fe[u]||u)]=u,e["k-input-".concat(c)]=c,e["k-invalid"]=!m,e["k-focus"]=v&&!o,e["k-loading"]=p,e["k-required"]=this.required,e["k-disabled"]=o,e)),ref:(0,a.cZ)(this,"kendoAnchor",this.anchor),style:s?le(le({},h),{width:void 0}):h,dir:r,attrs:this.v3?void 0:{dir:r}},[k.call(this,y||"",x),b&&!p&&n(Jt,{onClearclick:this.clearButtonClick,on:this.v3?void 0:{clearclick:this.clearButtonClick}}),n("span",{class:p?"k-input-loading-icon k-icon k-i-loading":void 0}),_.call(this)]);return s?n("span",{class:this.spanClassNames,dir:this.$props.dir,attrs:this.v3?void 0:{dir:this.$props.dir}},[S,this.$props.label?x?n("label",{for:x,attrs:this.v3?void 0:{for:x},class:"k-label"},[this.$props.label]):n("span",{class:"k-label"},[this.$props.label]):null]):S}},ge=ve,ye=function(){return ye=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1;A--){var I=S[A],T=(x=m(I),x.filter((function(t){return M[u(t)]})).length);if(T0,this.hierarchy=t.hierarchy,this.hasGroupHeaderColumn=this.columns.some((function(t){return t.groupHeaderColumnTemplate})),this.collapsible=this.options.collapsible};f.prototype.workbook=function(){var t={sheets:[{columns:this._columns(),rows:this.hierarchy?this._hierarchyRows():this._rows(),freezePane:this._freezePane(),filter:this._filter()}]};return t},f.prototype._trimColumns=function(t){var e=this;return t.filter((function(t){var n=Boolean(t.field);return!n&&t.columns&&(n=e._trimColumns(t.columns).length>0),n}))},f.prototype._leafColumns=function(t){for(var e=this,n=[],i=0;i0&&i.push(Object.assign({background:"#dfdfdf",color:"#333",value:e.groupHeaderColumnTemplate?e.groupHeaderColumnTemplate(Object.assign({group:s},s,t.aggregates[e.field])):void 0},e.groupHeaderCellOptions))})),i},f.prototype._dataRows=function(t,e){for(var n=this,i=this._depth(),r=[],o=0;ou?l.push({id:t,level:u}):p=e){var o=t.pop();r.push(i._hierarchyFooter(i.aggregates[o.id],o.level+1,n))}return r},f.prototype._hasFooterTemplate=function(){for(var t=this.columns,e=0;e0&&(t.field||t.columns)},f.prototype._visibleColumns=function(t){var e=this;return t.filter((function(t){var n=t.exportable;"object"===typeof n&&(n=t.exportable.excel);var i=!t.hidden&&!1!==n,r=t.hidden&&!0===n,o=i||r;return o&&t.columns&&(o=e._visibleColumns(t.columns).length>0),o}))},f.prototype._headerRow=function(t,e){var n=this,i=t.cells.map((function(e){return Object.assign(e,{colSpan:e.colSpan>1?e.colSpan:1,rowSpan:t.rowSpan>1&&!e.colSpan?t.rowSpan:1})}));return this.hierarchy&&i[0].firstCell&&(i[0].colSpan+=this._depth()),{type:"header",cells:p(e.length,(function(){return Object.assign({background:"#7a7a7a",color:"#fff"},n.options.headerPaddingCellOptions)})).concat(i)}},f.prototype._prependHeaderRows=function(t){var e=this,n=this.groups,i=[{rowSpan:1,cells:[],index:0}];this._prepareHeaderRows(i,this.options.columns);for(var r=i.length-1;r>=0;r--)t.unshift(e._headerRow(i[r],n))},f.prototype._prepareHeaderRows=function(t,e,n,i){for(var r=this,o=i||t[t.length-1],a=t[o.index+1],s=0,l=0;li&&(i=o)}return n+i},f.prototype._freezePane=function(){var t=this._visibleColumns(this.options.columns||[]),e=this._visibleColumns(this._trimColumns(this._leafColumns(t.filter((function(t){return t.locked}))))).length;return{rowSplit:this._headerDepth(t),colSplit:e?e+this.groups.length:0}},f.prototype._cell=function(t,e){return Object.assign({value:e.value(t)},e.cellOptions)},f.prototype._depth=function(){var t=0;return t=this.hierarchy?this.hierarchy.depth:this.groups.length,t},f.prototype._columns=function(){var t=this._depth(),e=p(t,(function(){return{width:20}}));return e.concat(this.columns.map((function(t){return{width:parseInt(t.width,10),autoWidth:!t.width}})))};var m=f,v=n(461),g={Promise:Promise},y={base64:!0,array:!0,string:!0,nodebuffer:!1,nodestream:!1,get arraybuffer(){return"undefined"!==typeof ArrayBuffer&&"undefined"!==typeof Uint8Array},get uint8array(){return"undefined"!==typeof Uint8Array},get blob(){return b()}},b=function(){var t;if("undefined"===typeof ArrayBuffer)t=!1;else{var e=new ArrayBuffer(0);try{t=0===new Blob([e],{type:"application/zip"}).size}catch(n){t=!1}}return b=function(){return t},t},x="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",w=function(t){var e,n,i,r,o,a,s,l=[],u=0,c=t.length,h=c,p="string"!==typeof t;while(u>2,o=(3&e)<<4|n>>4,a=h>1?(15&n)<<2|i>>6:64,s=h>2?63&i:64,l.push(x.charAt(r)+x.charAt(o)+x.charAt(a)+x.charAt(s));return l.join("")},k=function(t){var e,n,i,r,o,a,s,l=0,u=0,c="data:";if(t.substr(0,c.length)===c)throw new Error("Invalid base64 input, it looks like a data url.");t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");var h,p=3*t.length/4;if(t.charAt(t.length-1)===x.charAt(64)&&p--,t.charAt(t.length-2)===x.charAt(64)&&p--,p%1!==0)throw new Error("Invalid base64 input, bad content length.");h=y.uint8array?new Uint8Array(0|p):new Array(0|p);while(l>4,n=(15&o)<<4|a>>2,i=(3&a)<<6|s,h[u++]=e,64!==a&&(h[u++]=n),64!==s&&(h[u++]=i);return h};function C(t){var e=null;return e=y.uint8array?new Uint8Array(t.length):new Array(t.length),M(t,e)}var _=function(t,e){return D("blob"),new Blob([t],{type:e})};function S(t){return t}function M(t,e){for(var n=0;n1)try{return A(t,n,e)}catch(r){e=Math.floor(e/2)}return I(t)}var $=N;function O(t,e){for(var n=0;n "+t:t};var Z=function(t){for(var e=new Array(256),n=0;n<256;n++)e[n]=n>=252?6:n>=248?5:n>=240?4:n>=224?3:n>=192?2:1;return e[254]=e[254]=1,Z=function(t){return e[t]},e[t]},U=function(t){var e,n,i,r,o,a=t.length,s=0;for(r=0;r>>6,e[o++]=128|63&n):n<65536?(e[o++]=224|n>>>12,e[o++]=128|n>>>6&63,e[o++]=128|63&n):(e[o++]=240|n>>>18,e[o++]=128|n>>>12&63,e[o++]=128|n>>>6&63,e[o++]=128|63&n);return e},G=function(t,e){var n;e=e||t.length,e>t.length&&(e=t.length),n=e-1;while(n>=0&&128===(192&t[n]))n--;return n<0||0===n?e:n+Z(t[n])>e?n:e},K=function(t){var e,n,i,r,o=t.length,a=new Array(2*o);for(n=0,e=0;e4)a[n++]=65533,e+=r-1;else{i&=2===r?31:3===r?15:7;while(r>1&&e1?a[n++]=65533:i<65536?a[n++]=i:(i-=65536,a[n++]=55296|i>>10&1023,a[n++]=56320|1023&i)}return a.length!==n&&(a.subarray?a=a.subarray(0,n):a.length=n),$(a)},W=function(t){return U(t)},q=function(t){return t=E(y.uint8array?"uint8array":"array",t),K(t)},Y=function(t){function e(){t.call(this,"utf-8 decode"),this.leftOver=null}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.processChunk=function(t){var e=E(y.uint8array?"uint8array":"array",t.data);if(this.leftOver&&this.leftOver.length){if(y.uint8array){var n=e;e=new Uint8Array(n.length+this.leftOver.length),e.set(this.leftOver,0),e.set(n,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var i=G(e),r=e;i!==e.length&&(y.uint8array?(r=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(r=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:q(r),meta:t.meta})},e.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:q(this.leftOver),meta:{}}),this.leftOver=null)},e}(H),X=function(t){function e(){t.call(this,"utf-8 encode")}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.processChunk=function(t){this.push({data:W(t.data),meta:t.meta})},e}(H),J=function(t){function e(e){t.call(this,"ConvertWorker to "+e),this.destType=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.processChunk=function(t){this.push({data:E(this.destType,t.data),meta:t.meta})},e}(H);function Q(t,e,n){switch(t){case"blob":return _(E("arraybuffer",e),n);case"base64":return w(e);default:return E(t,e)}}function tt(t,e){var n,i=0,r=null,o=0;for(n=0;n=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,n);break;case"uint8array":e=this.data.subarray(this.index,n);break;case"array":e=this.data.slice(this.index,n);break}return this.index=n,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},e}(H),vt=function(t){function e(e){t.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.processChunk=function(e){if(e){var n=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=n+e.data.length}t.prototype.processChunk.call(this,e)},e}(H),gt=function(){for(var t=[],e=0;e<256;e++){for(var n=e,i=0;i<8;i++)n=1&n?3988292384^n>>>1:n>>>1;t[e]=n}return gt=function(){return t},t};function yt(t,e,n,i){var r=gt(),o=i+n;t=~t;for(var a=i;a>>8^r[255&(t^e[a])];return~t}function bt(t,e,n,i){var r=gt(),o=i+n;t=~t;for(var a=i;a>>8^r[255&(t^e.charCodeAt(a))];return~t}function xt(t,e){if("undefined"===typeof t||!t.length)return 0;var n="string"!==P(t);return n?yt(0|e,t,t.length,0):bt(0|e,t,t.length,0)}var wt=function(t){function e(){t.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.processChunk=function(t){this.streamInfo.crc32=xt(t.data,this.streamInfo.crc32||0),this.push(t)},e}(H),kt=function(t,e,n,i,r){this.compressedSize=t,this.uncompressedSize=e,this.crc32=n,this.compression=i,this.compressedContent=r};kt.prototype.getContentWorker=function(){var t=new mt(g.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new vt("data_length")),e=this;return t.on("end",(function(){if(this.streamInfo["data_length"]!==e.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")})),t},kt.prototype.getCompressedWorker=function(){return new mt(g.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)},kt.createWorkerFrom=function(t,e,n){return t.pipe(new wt).pipe(new vt("uncompressedSize")).pipe(e.compressWorker(n)).pipe(new vt("compressedSize")).withStreamInfo("compression",e)};var Ct=function(t,e,n){this.name=t,this.dir=n.dir,this.date=n.date,this.comment=n.comment,this.unixPermissions=n.unixPermissions,this.dosPermissions=n.dosPermissions,this._data=e,this._dataBinary=n.binary,this.options={compression:n.compression,compressionOptions:n.compressionOptions}};Ct.prototype.internalStream=function(t){var e=null,n="string";try{if(!t)throw new Error("No output type specified.");n=t.toLowerCase();var i="string"===n||"text"===n;"binarystring"!==n&&"text"!==n||(n="string"),e=this._decompressWorker();var r=!this._dataBinary;r&&!i&&(e=e.pipe(new X)),!r&&i&&(e=e.pipe(new Y))}catch(o){e=new H("error"),e.error(o)}return new nt(e,n,"")},Ct.prototype.async=function(t,e){return this.internalStream(t).accumulate(e)},Ct.prototype._compressWorker=function(t,e){if(this._data instanceof kt&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var n=this._decompressWorker();return this._dataBinary||(n=n.pipe(new X)),kt.createWorkerFrom(n,t,e)},Ct.prototype._decompressWorker=function(){return this._data instanceof kt?this._data.getContentWorker():this._data instanceof H?this._data:new mt(this._data)};var _t=function(){var t="undefined"!==typeof Uint8Array&&"undefined"!==typeof Uint16Array&&"undefined"!==typeof Uint32Array,e=t?"uint8array":"array";_t=function(){return e}},St=function(t){function e(e,n){t.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=n,this.meta={}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(E(_t(),t.data),!1)},e.prototype.flush=function(){t.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},e.prototype.cleanUp=function(){t.prototype.cleanUp.call(this),this._pako=null},e.prototype._createPako=function(){var t=this,e={raw:!0,level:this._pakoOptions.level||-1};this._pako="Deflate"===this._pakoAction?new v.Gy(e):new v.EL(e),this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},e}(H),Mt={magic:"\b\0",compressWorker:function(t){return new St("Deflate",t)},uncompressWorker:function(){return new St("Inflate",{})}},At={magic:"\0\0",compressWorker:function(){return new H("STORE compression")},uncompressWorker:function(){return new H("STORE decompression")}},It={STORE:At,DEFLATE:Mt},Tt="PK",Nt="PK",$t="PK",Ot="PK",Lt="PK",Et="PK\b",Pt=function(t,e){var n,i="";for(n=0;n>>=8;return i},Dt=function(t,e){var n=t;return t||(n=e?16893:33204),(65535&n)<<16},Rt=function(t,e){return 63&(t||0)},Bt=function(t,e,n,i,r,o){var a,s,l=t["file"],u=t["compression"],c=o!==W,h=E("string",o(l.name)),p=E("string",W(l.name)),d=l.comment,f=E("string",o(d)),m=E("string",W(d)),v=p.length!==l.name.length,g=m.length!==d.length,y="",b="",x="",w=l.dir,k=l.date,C={crc32:0,compressedSize:0,uncompressedSize:0};e&&!n||(C.crc32=t["crc32"],C.compressedSize=t["compressedSize"],C.uncompressedSize=t["uncompressedSize"]);var _=0;e&&(_|=8),c||!v&&!g||(_|=2048);var S=0,M=0;w&&(S|=16),"UNIX"===r?(M=798,S|=Dt(l.unixPermissions,w)):(M=20,S|=Rt(l.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,s=k.getUTCFullYear()-1980,s<<=4,s|=k.getUTCMonth()+1,s<<=5,s|=k.getUTCDate(),v&&(b=Pt(1,1)+Pt(xt(h),4)+p,y+="up"+Pt(b.length,2)+b),g&&(x=Pt(1,1)+Pt(xt(f),4)+m,y+="uc"+Pt(x.length,2)+x);var A="";A+="\n\0",A+=Pt(_,2),A+=u.magic,A+=Pt(a,2),A+=Pt(s,2),A+=Pt(C.crc32,4),A+=Pt(C.compressedSize,4),A+=Pt(C.uncompressedSize,4),A+=Pt(h.length,2),A+=Pt(y.length,2);var I=Tt+A+h+y,T=Nt+Pt(M,2)+A+Pt(f.length,2)+"\0\0\0\0"+Pt(S,4)+Pt(i,4)+h+y+f;return{fileRecord:I,dirRecord:T}},Ft=function(t,e,n,i,r){var o="",a=E("string",r(i));return o=$t+"\0\0\0\0"+Pt(t,2)+Pt(t,2)+Pt(e,4)+Pt(n,4)+Pt(a.length,2)+a,o},zt=function(t){var e="";return e=Et+Pt(t["crc32"],4)+Pt(t["compressedSize"],4)+Pt(t["uncompressedSize"],4),e},jt=function(t){function e(e,n,i,r){t.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=n,this.zipPlatform=i,this.encodeFileName=r,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(e){var n=e.meta.percent||0,i=this.entriesCount,r=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,t.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:i?(n+100*(i-r-1))/i:100}}))},e.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t["file"].name;var e=this.streamFiles&&!t["file"].dir;if(e){var n=Bt(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:n.fileRecord,meta:{percent:0}})}else this.accumulate=!0},e.prototype.closedSource=function(t){this.accumulate=!1;var e=this.streamFiles&&!t["file"].dir,n=Bt(t,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(n.dirRecord),e)this.push({data:zt(t),meta:{percent:100}});else{this.push({data:n.fileRecord,meta:{percent:0}});while(this.contentBuffer.length)this.push(this.contentBuffer.shift())}this.currentFile=null},e.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e=this.index;e--)n=(n<<8)+this.byteAt(e);return this.index+=t,n},Zt.prototype.readString=function(t){return E("string",this.readData(t))},Zt.prototype.readData=function(t){},Zt.prototype.lastIndexOfSignature=function(t){},Zt.prototype.readAndCheckSignature=function(t){},Zt.prototype.readDate=function(){var t=this.readInt(4);return new Date(Date.UTC(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))};var Ut=function(t){function e(e){t.call(this,e);for(var n=0;n=0;--o)if(this.data[o]===e&&this.data[o+1]===n&&this.data[o+2]===i&&this.data[o+3]===r)return o-this.zero;return-1},e.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),n=t.charCodeAt(1),i=t.charCodeAt(2),r=t.charCodeAt(3),o=this.readData(4);return e===o[0]&&n===o[1]&&i===o[2]&&r===o[3]},e.prototype.readData=function(t){if(this.checkOffset(t),0===t)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e}(Zt),Gt=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},e.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},e.prototype.readAndCheckSignature=function(t){var e=this.readData(4);return t===e},e.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e}(Zt),Kt=function(t){function e(e){t.call(this,e)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e}(Ut);function Wt(t){var e=P(t);return D(e),"string"!==e||y.uint8array?y.uint8array?new Kt(E("uint8array",t)):new Ut(E("array",t)):new Gt(t)}var qt=0,Yt=3,Xt=function(t){for(var e in It)if(It.hasOwnProperty(e)&&It[e].magic===t)return It[e];return null},Jt=function(t,e){this.options=t,this.loadOptions=e};Jt.prototype.isEncrypted=function(){return 1===(1&this.bitFlag)},Jt.prototype.useUTF8=function(){return 2048===(2048&this.bitFlag)},Jt.prototype.readLocalPart=function(t){var e,n;if(t.skip(22),this.fileNameLength=t.readInt(2),n=t.readInt(2),this.fileName=t.readData(this.fileNameLength),t.skip(n),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(e=Xt(this.compressionMethod),null===e)throw new Error("Corrupted zip : compression "+F(this.compressionMethod)+" unknown (inner file : "+E("string",this.fileName)+")");this.decompressed=new kt(this.compressedSize,this.uncompressedSize,this.crc32,e,t.readData(this.compressedSize))},Jt.prototype.readCentralPart=function(t){this.versionMadeBy=t.readInt(2),t.skip(2),this.bitFlag=t.readInt(2),this.compressionMethod=t.readString(2),this.date=t.readDate(),this.crc32=t.readInt(4),this.compressedSize=t.readInt(4),this.uncompressedSize=t.readInt(4);var e=t.readInt(2);if(this.extraFieldsLength=t.readInt(2),this.fileCommentLength=t.readInt(2),this.diskNumberStart=t.readInt(2),this.internalFileAttributes=t.readInt(2),this.externalFileAttributes=t.readInt(4),this.localHeaderOffset=t.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");t.skip(e),this.readExtraFields(t),this.parseZIP64ExtraField(t),this.fileComment=t.readData(this.fileCommentLength)},Jt.prototype.processAttributes=function(){this.unixPermissions=null,this.dosPermissions=null;var t=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),t===qt&&(this.dosPermissions=63&this.externalFileAttributes),t===Yt&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},Jt.prototype.parseZIP64ExtraField=function(t){if(this.extraFields[1]){var e=Wt(this.extraFields[1].value);this.uncompressedSize===B&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===B&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===B&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===B&&(this.diskNumberStart=e.readInt(4))}},Jt.prototype.readExtraFields=function(t){var e,n,i,r=t.index+this.extraFieldsLength;this.extraFields||(this.extraFields={});while(t.index1)throw new Error("Multi-volumes zip are not supported")},Qt.prototype.readLocalFiles=function(){var t,e;for(t=0;t0)this.isSignature(n,Nt)||(this.reader.zero=r);else if(r<0)throw new Error("Corrupted zip: missing "+Math.abs(r)+" bytes.")},Qt.prototype.prepareReader=function(t){this.reader=Wt(t)},Qt.prototype.load=function(t){this.prepareReader(t),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()};var ne=function(t,e,n){var i,r=P(e),o=j(n||{},dt);o.date=o.date||new Date,null!==o.compression&&(o.compression=o.compression.toUpperCase()),"string"===typeof o.unixPermissions&&(o.unixPermissions=parseInt(o.unixPermissions,8)),o.unixPermissions&&16384&o.unixPermissions&&(o.dir=!0),o.dosPermissions&&16&o.dosPermissions&&(o.dir=!0),o.dir&&(t=re(t)),o.createFolders&&(i=ie(t))&&oe.call(this,i,!0);var a="string"===r&&!1===o.binary&&!1===o.base64;n&&"undefined"!==typeof n.binary||(o.binary=!a);var s=e instanceof kt&&0===e.uncompressedSize;(s||o.dir||!e||0===e.length)&&(o.base64=!1,o.binary=!0,e="",o.compression="STORE",r="string");var l=null;l=e instanceof kt||e instanceof H?e:V(t,e,o.binary,o.optimizedBinaryString,o.base64);var u=new Ct(t,l,o);this.files[t]=u},ie=function(t){"/"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf("/");return e>0?t.substring(0,e):""},re=function(t){return"/"!==t.slice(-1)&&(t+="/"),t},oe=function(t,e){return e="undefined"!==typeof e?e:at,t=re(t),this.files[t]||ne.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]};function ae(t){return"[object RegExp]"===Object.prototype.toString.call(t)}var se=function t(){if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new t;for(var n in this)"function"!==typeof this[n]&&(e[n]=this[n]);return e}},le={support:{configurable:!0},defaults:{configurable:!0},version:{configurable:!0},external:{configurable:!0}};function ue(){return new se}se.prototype.load=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},se.prototype.forEach=function(t){var e,n,i;for(e in this.files)i=this.files[e],n=e.slice(this.root.length,e.length),n&&e.slice(0,this.root.length)===this.root&&t(n,i)},se.prototype.filter=function(t){var e=[];return this.forEach((function(n,i){t(n,i)&&e.push(i)})),e},se.prototype.file=function(t,e,n){if(1===arguments.length){if(ae(t)){var i=t;return this.filter((function(t,e){return!e.dir&&i.test(t)}))}var r=this.files[this.root+t];return r&&!r.dir?r:null}return t=this.root+t,ne.call(this,t,e,n),this},se.prototype.folder=function(t){if(!t)return this;if(ae(t))return this.filter((function(e,n){return n.dir&&t.test(e)}));var e=this.root+t,n=oe.call(this,e),i=this.clone();return i.root=n.name,i},se.prototype.remove=function(t){t=this.root+t;var e=this.files[t];if(e||("/"!==t.slice(-1)&&(t+="/"),e=this.files[t]),e&&!e.dir)delete this.files[t];else for(var n=this.filter((function(e,n){return n.name.slice(0,t.length)===t})),i=0;i/g,">").replace(/\"/g,""").replace(/\'/g,"'")}function Ae(t,e){for(var n="",i=0;i\n \n \n \n ',$e=function(t){var e=t.creator,n=t.lastModifiedBy,i=t.created,r=t.modified;return Te+'\n \n '+Me(e)+"\n "+Me(n)+'\n '+Me(i)+'\n '+Me(r)+"\n"},Oe=function(t){var e=t.sheets;return Te+'\n\n Microsoft Excel\n 0\n false\n \n \n \n Worksheets\n \n \n '+e.length+'\n \n \n \n \n '+Ie(e,(function(t,e){return t.options.title?""+Me(t.options.title)+"":"Sheet"+(e+1)+""}))+"\n \n false\n false\n false\n 14.0300\n"},Le=function(t){var e=t.sheetCount,n=t.commentFiles,i=t.drawingFiles;return Te+'\n\n \n \n \n \n \n \n \n \n \n '+Ae(e,(function(t){return''}))+"\n "+Ie(n,(function(t){return''}))+"\n "+Ie(i,(function(t){return''}))+'\n \n \n'},Ee=function(t){var e=t.sheets,n=t.filterNames,i=t.userNames;return Te+'\n\n \n \n \n \n \n \n '+Ie(e,(function(t,e){var n=t.options,i=n.name||n.title||"Sheet"+(e+1);return''}))+"\n \n "+(n.length||i.length?"\n \n "+Ie(n,(function(t){return'\n "}))+"\n "+Ie(i,(function(t){return'\n "}))+"\n ":"")+'\n \n'},Pe=function(t){var e=t.frozenColumns,n=t.frozenRows,i=t.columns,r=t.defaults,o=t.data,a=t.index,s=t.mergeCells,l=t.autoFilter,u=t.filter,c=t.showGridLines,h=t.hyperlinks,p=t.validations,d=t.defaultCellStyleId,f=t.rtl,m=t.legacyDrawing,v=t.drawing,g=t.lastRow,y=t.lastCol;return Te+'\n\n '+(g&&y?'':"")+"\n\n \n \n "+(n||e?'\n ':"")+'\n \n \n\n \n\n "+(null!=d||i&&i.length>0?"\n \n "+(i&&i.length?"":'\n ")+"\n "+Ie(i,(function(t,e){var n="number"===typeof t.index?t.index+1:e+1;return 0===t.width?"':""}))+"\n ":"")+"\n\n \n "+Ie(o,(function(t,e){var n="number"===typeof t.index?t.index+1:e+1;return'\n \n "+Ie(t.data,(function(t){return'\n \n "+(null!=t.formula?Ze(t.formula):"")+"\n "+(null!=t.value?""+Me(t.value)+"":"")+"\n "}))+"\n \n "}))+"\n \n\n "+(l?'':u?In(u):"")+"\n\n "+(s.length?'\n \n '+Ie(s,(function(t){return''}))+"\n ":"")+"\n\n "+(p.length?"\n \n "+Ie(p,(function(t){return'\n \n "+(t.formula1?""+Me(t.formula1)+"":"")+"\n "+(t.formula2?""+Me(t.formula2)+"":"")+"\n "}))+"\n ":"")+"\n\n "+(h.length?"\n \n "+Ie(h,(function(t){return'\n '}))+"\n ":"")+'\n\n \n '+(v?'':"")+"\n "+(m?'':"")+"\n"},De=function(t){var e=t.count;return Te+'\n\n '+Ae(e,(function(t){return'\n '}))+'\n \n \n'},Re=function(t){var e=t.hyperlinks,n=t.comments,i=t.sheetIndex,r=t.drawings;return Te+'\n\n '+Ie(e,(function(t){return'\n '}))+"\n "+(n.length?'\n \n ':"")+"\n "+(r.length?'\n ':"")+"\n"},Be=function(t){var e=t.comments;return Te+'\n\n \n \n \n \n '+Ie(e,(function(t){return'\n \n \n \n \n \n \n \n \n \n '+Me(t.text)+"\n \n \n "}))+"\n \n"},Fe=function(t){var e=t.comments;return'\n \n \n \n \n '+Ie(e,(function(t){return'\n \n \n \n \n \n '+t.anchor+"\n False\n "+t.row+"\n "+t.col+"\n \n "}))+"\n"},ze=function(t){return Te+'\n\n '+Ie(t,(function(t,e){return'\n \n \n '+t.col+"\n "+t.colOffset+"\n "+t.row+"\n "+t.rowOffset+'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n '}))+"\n"},je=function(t){return Te+'\n\n '+Ie(t,(function(t){return'\n '}))+"\n"},Ve=function(t){var e=t.count,n=t.uniqueCount,i=t.indexes;return Te+'\n\n '+Ie(Object.keys(i),(function(t){return'\n '+Me(t.substring(1))+""}))+"\n"},He=function(t){var e=t.formats,n=t.fonts,i=t.fills,r=t.borders,o=t.styles;return Te+'\n\n \n '+Ie(e,(function(t,e){return'\n '}))+'\n \n \n \n \n \n \n \n \n \n '+Ie(n,(function(t){return"\n \n "+(t.bold?"":"")+"\n "+(t.italic?"":"")+"\n "+(t.underline?"":"")+'\n \n '+(t.color?'':'')+"\n "+(t.fontFamily?'\n \n \n ':'\n \n \n \n ')+"\n "}))+'\n \n \n \n \n '+Ie(i,(function(t){return"\n "+(t.background?'\n \n \n \n \n \n ':"")}))+'\n \n \n \n '+Ie(r,un)+'\n \n \n \n \n \n \n '+Ie(o,(function(t){return'\n \n "+(t.textAlign||t.verticalAlign||t.wrap?"\n \n ":"")+"\n \n "}))+'\n \n \n \n \n \n \n'};function Ze(t){return"string"==typeof t?""+Me(t)+"":''+Me(t.src)+""}function Ue(t){var e=Math.floor(t/26)-1;return(e>=0?Ue(e):"")+String.fromCharCode(65+t%26)}function Ge(t,e){return Ue(e)+(t+1)}function Ke(t,e){return"$"+Ue(e)+"$"+(t+1)}function We(t){var e=t.frozenRows||(t.freezePane||{}).rowSplit||1;return e-1}function qe(t){var e=7;return t/e-Math.floor(128/e)/256}function Ye(t){return.75*t}function Xe(t){return String(t).replace(/[\x00-\x09\x0B\x0C\x0E-\x1F]/g,"").replace(/\r?\n/g,"\r\n")}var Je=function(t,e,n,i){this.options=t,this._strings=e,this._styles=n,this._borders=i,this._validations={},this._comments=[],this._drawings=t.drawings||[],this._hyperlinks=(this.options.hyperlinks||[]).map((function(t,e){return Object.assign({},t,{rId:"link"+e})}))};function Qe(t){var e=t.length;return t.forEach((function(t){t.index&&t.index>=e&&(e=t.index+1)})),e}Je.prototype.relsToXML=function(){var t=this._hyperlinks,e=this._comments,n=this._drawings;if(t.length||e.length||n.length)return Re({hyperlinks:t,comments:e,sheetIndex:this.options.sheetIndex,drawings:n})},Je.prototype.toXML=function(t){var e=this,n=this.options.mergedCells||[],i=this.options.rows||[],r=hn(i,n);this._readCells(r);var o,a=this.options.filter;a&&"number"===typeof a.from&&"number"===typeof a.to?a={from:Ge(We(this.options),a.from),to:Ge(We(this.options),a.to)}:a&&a.ref&&a.columns&&(o=a,a=null);var s=[];for(var l in e._validations)Object.prototype.hasOwnProperty.call(e._validations,l)&&s.push(e._validations[l]);var u=null;this.options.defaultCellStyle&&(u=this._lookupStyle(this.options.defaultCellStyle));var c=this.options.freezePane||{},h=this.options.defaults||{},p=this.options.rows?this._getLastRow():1,d=this.options.rows?this._getLastCol():1;return Pe({frozenColumns:this.options.frozenColumns||c.colSplit,frozenRows:this.options.frozenRows||c.rowSplit,columns:this.options.columns,defaults:h,data:r,index:t,mergeCells:n,autoFilter:a,filter:o,showGridLines:this.options.showGridLines,hyperlinks:this._hyperlinks,validations:s,defaultCellStyleId:u,rtl:void 0!==this.options.rtl?this.options.rtl:h.rtl,legacyDrawing:this._comments.length?"vml"+this.options.sheetIndex:null,drawing:this._drawings.length?"drw"+this.options.sheetIndex:null,lastRow:p,lastCol:d})},Je.prototype.commentsXML=function(){if(this._comments.length)return Be({comments:this._comments})},Je.prototype.drawingsXML=function(t){if(this._drawings.length){var e={},n=this._drawings.map((function(n){var i=vn(n.topLeftCell),r=e[n.image];return r||(r=e[n.image]={rId:"img"+n.image,target:t[n.image].target}),{col:i.col,colOffset:gn(n.offsetX),row:i.row,rowOffset:gn(n.offsetY),width:gn(n.width),height:gn(n.height),imageId:r.rId}}));return{main:ze(n),rels:je(e)}}},Je.prototype.legacyDrawing=function(){if(this._comments.length)return Fe({comments:this._comments})},Je.prototype._lookupString=function(t){var e,n="$"+t,i=this._strings.indexes[n];return void 0!==i?e=i:(e=this._strings.indexes[n]=this._strings.uniqueCount,this._strings.uniqueCount++),this._strings.count++,e},Je.prototype._lookupStyle=function(t){var e=JSON.stringify(t);if("{}"===e)return 0;var n=_e(e,this._styles);return n<0&&(n=this._styles.push(e)-1),n+1},Je.prototype._lookupBorder=function(t){var e=JSON.stringify(t);if("{}"!==e){var n=_e(e,this._borders);return n<0&&(n=this._borders.push(e)-1),n+1}},Je.prototype._readCells=function(t){for(var e=this,n=0;n',e.color&&(n+=''),n+=""),n}function un(t){var e=t.diagonal?t.diagonal.type:0;return"\n "+ln("left",t.left)+"\n "+ln("right",t.right)+"\n "+ln("top",t.top)+"\n "+ln("bottom",t.bottom)+"\n "+ln("diagonal",t.diagonal)+"\n "}an.prototype.imageFilename=function(t){var e=++this._imgId;switch(t){case"image/jpg":case"image/jpeg":return"image"+e+".jpg";case"image/png":return"image"+e+".png";case"image/gif":return"image"+e+".gif";default:return"image"+e+".bin"}},an.prototype.toZIP=function(){var t=this,e=ue(),n=e.folder("docProps");n.file("core.xml",$e({creator:this.options.creator||"Kendo UI",lastModifiedBy:this.options.creator||"Kendo UI",created:this.options.date||(new Date).toJSON(),modified:this.options.date||(new Date).toJSON()}));var i=this._sheets.length;n.file("app.xml",Oe({sheets:this._sheets}));var r=e.folder("_rels");r.file(".rels",Ne);var o=e.folder("xl"),a=o.folder("_rels");if(a.file("workbook.xml.rels",De({count:i})),this._images){var s=o.folder("media");Object.keys(this._images).forEach((function(e){var n=t._images[e],i=t.imageFilename(n.type);s.file(i,n.data),n.target="../media/"+i}))}var l={};o.file("workbook.xml",Ee({sheets:this._sheets,filterNames:c(this._sheets,(function(t,e){var n=t.options,i=n.name||n.title||"Sheet"+(e+1);l[i.toLowerCase()]=e;var r=n.filter;if(r){if(r.ref){var o=r.ref.split(":"),a=vn(o[0]),s=vn(o[1]);return{localSheetId:e,name:i,from:Ke(a.row,a.col),to:Ke(s.row,s.col)}}if("undefined"!==typeof r.from&&"undefined"!==typeof r.to)return{localSheetId:e,name:i,from:Ke(We(n),r.from),to:Ke(We(n),r.to)}}})),userNames:c(this.options.names||[],(function(t){return{name:t.localName,localSheetId:t.sheet?l[t.sheet.toLowerCase()]:null,value:t.value,hidden:t.hidden}}))}));for(var u=o.folder("worksheets"),h=o.folder("drawings"),p=h.folder("_rels"),d=u.folder("_rels"),f=[],m=[],v=0;v1||u>1)&&fn(e.mergedCells,h+":"+Ge(i+l-1,c+u-1)),l>1)for(var d=i+1;d\n '+Ie(n,(function(t){return'\n \n '+i[t.filter](t)+"\n \n "}))+"\n"},_n=function(t){var e=t.logic,n=t.criteria;return"\n\n"+Ie(n,(function(t){var e=In.customOperator(t),n=In.customValue(t);return"'}))+"\n"},Sn=function(t){var e=t.type;return''},Mn=function(t){var e=t.type,n=t.value;return''},An=function(t){var e=t.blanks,n=t.values;return"\n "+Ie(n,(function(t){return'\n '}))+"\n "};function In(t){return Cn({ref:t.ref,columns:t.columns,generators:{custom:_n,dynamic:Sn,top:Mn,value:An}})}function Tn(t){return/^\'/.test(t)||/^[a-z_][a-z0-9_]*$/i.test(t)?t:"'"+t.replace(/\x27/g,"\\'")+"'"}In.customOperator=function(t){return{eq:"equal",gt:"greaterThan",gte:"greaterThanOrEqual",lt:"lessThan",lte:"lessThanOrEqual",ne:"notEqual",doesnotstartwith:"notEqual",doesnotendwith:"notEqual",doesnotcontain:"notEqual",doesnotmatch:"notEqual"}[t.operator.toLowerCase()]},In.customValue=function(t){function e(t){return t.replace(/([*?])/g,"~$1")}switch(t.operator.toLowerCase()){case"startswith":case"doesnotstartwith":return e(t.value)+"*";case"endswith":case"doesnotendwith":return"*"+e(t.value);case"contains":case"doesnotcontain":return"*"+e(t.value)+"*";default:return t.value}},In.dynamicFilterType=function(t){return{quarter1:"Q1",quarter2:"Q2",quarter3:"Q3",quarter4:"Q4",january:"M1",february:"M2",march:"M3",april:"M4",may:"M5",june:"M6",july:"M7",august:"M8",september:"M9",october:"M10",november:"M11",december:"M12"}[t.toLowerCase()]||t};var Nn=function(){return Nn=Object.assign||function(t){for(var e,n=1,i=arguments.length;n1){var a=o.columns=[];t(e.children,a,r+1)}else n++}))};return i(t,e,0),e},Dn=function(){function t(t,e){this.title=t.title,this.field=t.field,this.hidden=t.hidden,this.locked=t.locked,this.width=t.width,this.headerCellOptions=t.headerCellOptions,this.cellOptions=t.cellOptions,this.groupHeaderCellOptions=t.groupHeaderCellOptions,this.groupFooterCellOptions=t.groupFooterCellOptions,this.footerCellOptions=t.footerCellOptions,t.footer&&(this.footerTemplate=$n(t.footer,{$implicit:t,column:t,columnIndex:e},En)),t.groupFooter&&(this.groupFooterTemplate=$n(t.groupFooter,{column:t,field:t.field},Ln)),t.groupHeader&&(this.groupHeaderTemplate=$n(t.groupHeader,{},On))}return t}(),Rn=function(t){return Math.max.apply(Math,t.map((function(t){return t.level})))+1},Bn=function(t){var e=Pn(t.columns),n=new m({columns:e,data:t.data,filterable:t.filterable,groups:t.group,paddingCellOptions:t.paddingCellOptions,headerPaddingCellOptions:t.headerPaddingCellOptions,hierarchy:t.hierarchy?{depth:Rn(t.data),itemLevel:function(t){return t.level}}:null,collapsible:t.collapsible}),i=n.workbook();return i.creator=t.creator,i.date=t.date,i.rtl="rtl"===t.dir,i},Fn=function(t){var e=new an(t);return e.toDataURL()},zn=n(3119),jn=n(2923),Vn={name:"@progress/kendo-vue-excel-export",productName:"Kendo UI for Vue",productCodes:["KENDOUIVUE","KENDOUICOMPLETE"],publishDate:1686052586,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"};function Hn(t){(0,jn.$j)(Vn);var e=function(e){t.onExportComplete&&t.onExportComplete.call(void 0,{dataURL:e,options:t}),(0,zn.U)(e,t.fileName,{forceProxy:t.forceProxy,proxyURL:t.proxyURL})},n=Bn(t);Fn(n).then(e)}},9970:function(t,e,n){"use strict";n.d(e,{D0:function(){return h},cm:function(){return I},lV:function(){return b},ZS:function(){return L}});var i=n(8756),r=n(2923),o=function(){return o=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=0&&o=0&&o-1&&e[t].dir===Un)},Yn=function(t,e){return!!(e&&t>-1&&e[t].dir===Gn)},Xn={props:{sortable:[Boolean,Object],sort:{type:Array},column:Object},inject:{kendoLocalizationService:{default:null}},methods:{onAscClick:function(t){this.onSort(t,Un),this.$emit("closemenu")},onDescClick:function(t){this.onSort(t,Gn),this.$emit("closemenu")},onSort:function(t,e){if(t.preventDefault(),l.jm.call(this,"sortchange")){var n=this.$props,i=n.column,r=n.sortable,o=n.sort,a=bn(r||!1,!1),s=a.allowUnsort,u=a.mode,c=(o||[]).filter((function(t){return t.field===i.field}))[0],h=Kn[s][c&&c.dir||""][e],p="single"===u?[]:(this.$props.sort||[]).filter((function(t){return t.field!==i.field}));""!==h&&i.field&&p.push({field:i.field,dir:h}),this.$emit("sortchange",p,{event:t,field:this.$props.column.field})}}},setup:Hn?function(){var t=!!Hn,e=Zn("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,render:function(t){var e=this,n=Vn||t,i=this.$props,r=i.sort,o=i.column,a=Wn(o.field,r),s=(0,c.GB)(this);return n(zn,this.v3?function(){return[n(Pn,{title:s.toLanguageString(tt,Rt[tt]),attrs:e.v3?void 0:{title:s.toLanguageString(tt,Rt[tt]),icon:"sort-asc-small",scgIcon:Gt.uEm,selected:qn(a,r)},icon:"sort-asc-small",scgIcon:Gt.uEm,selected:qn(a,r),onMenuitemclick:e.onAscClick,on:e.v3?void 0:{menuitemclick:e.onAscClick}}),n(Pn,{title:s.toLanguageString(et,Rt[et]),attrs:e.v3?void 0:{title:s.toLanguageString(et,Rt[et]),icon:"sort-desc-small",svgIcon:Gt.wan,selected:Yn(a,r)},icon:"sort-desc-small",svgIcon:Gt.wan,selected:Yn(a,r),onMenuitemclick:e.onDescClick,on:e.v3?void 0:{menuitemclick:e.onDescClick}})]}:[n(Pn,{title:s.toLanguageString(tt,Rt[tt]),attrs:e.v3?void 0:{title:s.toLanguageString(tt,Rt[tt]),icon:"sort-asc-small",scgIcon:Gt.uEm,selected:qn(a,r)},icon:"sort-asc-small",scgIcon:Gt.uEm,selected:qn(a,r),onMenuitemclick:e.onAscClick,on:e.v3?void 0:{menuitemclick:e.onAscClick}}),n(Pn,{title:s.toLanguageString(et,Rt[et]),attrs:e.v3?void 0:{title:s.toLanguageString(et,Rt[et]),icon:"sort-desc-small",svgIcon:Gt.wan,selected:Yn(a,r)},icon:"sort-desc-small",svgIcon:Gt.wan,selected:Yn(a,r),onMenuitemclick:e.onDescClick,on:e.v3?void 0:{menuitemclick:e.onDescClick}})])}},Jn=Xn,Qn=n(5932),ti=s,ei=ti.h,ni=ti.version&&"3"===ti.version[0],ii={props:{show:Boolean},setup:ni?function(){var t=!!ni;return{v3:t}}:void 0,render:function(t){var e=this,n=ei||t,i=(0,l.Rk)(this);return n("div",{class:"k-columnmenu-item-content"},[n(Qn.gN,{appear:this.$props.show,attrs:this.v3?void 0:{appear:this.$props.show},style:{position:"relative",display:"block"}},this.v3?function(){return[e.$props.show?i:null]}:[e.$props.show?i:null])])}},ri=ii,oi=s,ai=oi.h,si=oi.version&&"3"===oi.version[0],li={props:{field:String,filterType:String,value:[Object,String,Number,Date,Boolean],operator:String,operators:Array,booleanValues:Array},emits:{change:null,filtercellfocus:null},methods:{handleFocus:function(t){this.$emit("filtercellfocus",t)},triggerChange:function(t){this.$emit("change",t)},inputChange:function(t,e){var n=ce(t,e,this.$props);this.triggerChange(n)},boolDropdownChange:function(t,e){var n=de(t.value.operator,e);this.triggerChange(n)}},setup:si?function(){var t=!!si;return{v3:t}}:void 0,render:function(t){var e=this,n=ai||t,i=this.$props,r=i.filterType,o=i.value,a=i.booleanValues;switch(r){case"numeric":return n(u.uI,{value:o,attrs:this.v3?void 0:{value:o},onChange:function(t){e.inputChange(t.value,t.event)},on:this.v3?void 0:{change:function(t){e.inputChange(t.value,t.event)}}});case"date":return n(zt.lr,{value:o,attrs:this.v3?void 0:{value:o},onFocus:this.handleFocus,on:this.v3?void 0:{focus:this.handleFocus,change:function(t){e.inputChange(t.value,t.event)}},onChange:function(t){e.inputChange(t.value,t.event)}});case"boolean":var s=function(t){return null===t||void 0===t};return n(Vt.O8,{onChange:this.boolDropdownChange,on:this.v3?void 0:{change:this.boolDropdownChange},value:a.find((function(t){return t.operator===(s(o)?"":o)})),attrs:this.v3?void 0:{value:a.find((function(t){return t.operator===(s(o)?"":o)})),"data-items":a,textField:"text"},"data-items":a,textField:"text"});default:return n("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[n("input",{class:"k-input-inner",value:this.v3?o||"":null,domProps:this.v3?void 0:{value:o||""},onInput:function(t){e.inputChange(t.target.value,t)},on:this.v3?void 0:{input:function(t){e.inputChange(t.target.value,t)}}})])}}},ui=li,ci=s,hi=ci.h,pi=ci.version&&"3"===ci.version[0],di={props:{filterType:String,operator:String,operators:Array},emits:{change:null},methods:{triggerChange:function(t){this.$emit("change",t)},operatorChange:function(t,e){var n=fe(t.value.operator,e,this.$props.value);this.triggerChange(n)}},setup:pi?function(){var t=!!pi;return{v3:t}}:void 0,render:function(t){var e=this,n=hi||t,i=this.$props.operators.find((function(t){return t.operator===e.$props.operator}))||null;return"boolean"!==this.$props.filterType?n(Vt.O8,{onChange:this.operatorChange,on:this.v3?void 0:{change:this.operatorChange},value:i,attrs:this.v3?void 0:{value:i,"data-items":this.$props.operators,textField:"text"},"data-items":this.$props.operators,textField:"text"}):null}},fi=di,mi=function(){return mi=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1&&n.splice(i,1),mi(mi({},e),{filters:n})},insertGroup:function(t,e){return mi(mi({},e),{filters:vi([t],e.filters,!0)})},isControlled:function(){return void 0!==this.$props.expanded},onFilterExpand:function(){var t=this.isControlled(),e=!(t?this.$props.expanded:this.currentExpanded);this.$emit("expandchange",e),t||(this.currentExpanded=e)},filterChangeHandler:function(t,e){this.filterChange(e||0,t)},firstFilterChange:function(t){this.filterChange(0,t)},secondFilterChange:function(t){this.filterChange(1,t)},filterChange:function(t,e){var n=this.filterGroup.filters.map((function(n,i){return i===t?mi(mi({},n),{value:e.value,operator:e.operator}):n}));this.filterGroup=mi(mi({},this.filterGroup),{filters:n})},logicChange:function(t){this.filterGroup=mi(mi({},this.filterGroup),{logic:t.target.value.operator})},clear:function(t){if(t.preventDefault(),l.jm.call(this,"filterchange")){var e=this.$props.column.field,n=wi(this.$props.filter),i=ki(e,this.$props.filter),r=n.filters.filter((function(t){return t!==i}));r.length?this.$emit("filterchange",mi(mi({},n),{filters:r}),{event:t,field:this.$props.column.field}):this.$emit("filterchange",null,{event:t,field:this.$props.column.field}),this.$emit("closemenu")}},currentFilterGroup:function(){return mi(mi({},this.filterGroup),{filters:this.filterGroup.filters.filter((function(t){return void 0!==t.value&&null!==t.value&&""!==t.value||null===t.value&&t.operator}))})},submit:function(t){if(t.preventDefault(),l.jm.call(this,"filterchange")){var e=this.$props.column.field,n=wi(this.$props.filter),i=ki(e,this.$props.filter),r=this.currentFilterGroup(),o=null;if(i&&r.filters.length>0){var a=n.filters.map((function(t){return t===i?r:t}));o=mi(mi({},n),{filters:a})}else if(0===r.filters.length){a=n.filters.filter((function(t){return t!==i}));a.length&&(o=mi(mi({},n),{filters:a}))}else o=mi(mi({},n),{filters:vi(vi([],n.filters,!0),[r],!1)});this.$emit("filterchange",o,{event:t,field:this.$props.column.field}),this.$emit("closemenu")}},handleFocus:function(t){this.$emit("filterfocus",t)}},setup:bi?function(){var t=!!bi,e=xi("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,render:function(t){var e=this,n=this,i=yi||t,r=this.$props,o=r.column,a=r.filterUI,s=r.hideSecondFilter,u=r.filterOperators;if(!o||!o.field)return i("div");var h=o.filter||"text",p=(void 0!==s||ue[h],(0,c.GB)(this)),d=this.filterGroup.filters,f=ae(u[h],p),m=ae(le,p),v={field:o.field,value:d[0].value,operator:d[0].operator,operators:f,booleanValues:m,filterType:h},g={field:o.field,value:d[1].value,operator:d[1].operator,operators:f,booleanValues:m,filterType:h},y=this.filterGroup.logic,b=ae(ie,p),x={value:b.find((function(t){return t.operator===(null===y?"":y)})),data:b},w=0!==this.currentFilterGroup().filters.length,k=this.isControlled()?this.$props.expanded:this.currentExpanded,C=v.field,_=v.value,S=v.operator,M=v.booleanValues,A=v.filterType,I=g.field,T=g.value,N=g.operator,$=g.booleanValues,O=g.filterType,L=a&&l.rh.call(this,a,l.WM.call(this)),E=l.$F.call(this,{h:i,template:L,defaultRendering:void 0,additionalProps:this.$props,additionalListeners:{change:this.filterChangeHandler,logicchange:this.logicChange}});return i(zn,this.v3?function(){return[i(Pn,{title:p.toLanguageString(Q,Rt[Q]),attrs:e.v3?void 0:{title:p.toLanguageString(Q,Rt[Q]),icon:"filter",svgIcon:Gt.Sj_},icon:"filter",svgIcon:Gt.Sj_,onMenuitemclick:e.onFilterExpand,on:e.v3?void 0:{menuitemclick:e.onFilterExpand}}),i(ri,{show:!!k,attrs:e.v3?void 0:{show:!!k}},e.v3?function(){return[i("div",{class:"kendo-grid-filter-menu-container"},[i("form",{class:"k-filter-menu k-group k-reset k-border-up",onSubmit:e.submit,on:e.v3?void 0:{submit:e.submit,reset:e.clear},onReset:e.clear},[i("div",{class:"k-filter-menu-container"},[!a&&[i(fi,{operator:S,attrs:e.v3?void 0:{operator:S,filterType:A,operators:f},filterType:A,onChange:function(t){n.filterChangeHandler(t,0)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,0)}},operators:f}),i(ui,{field:C,attrs:e.v3?void 0:{field:C,value:_,operator:S,booleanValues:M,filterType:A,operators:f},value:_,operator:S,booleanValues:M,filterType:A,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,0)}},onChange:function(t){n.filterChangeHandler(t,0)},operators:f})],!s&&!a&&[i(Vt.O8,{onChange:e.logicChange,on:e.v3?void 0:{change:e.logicChange},class:"k-filter-and","data-items":x.data,attrs:e.v3?void 0:{"data-items":x.data,value:x.value,textField:"text"},value:x.value,textField:"text"}),i(fi,{operator:N,attrs:e.v3?void 0:{operator:N,filterType:O,operators:f},filterType:O,onChange:function(t){n.filterChangeHandler(t,1)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,1)}},operators:f}),i(ui,{field:I,attrs:e.v3?void 0:{field:I,value:T,operator:N,booleanValues:$,filterType:O,operators:f},value:T,operator:N,booleanValues:$,filterType:O,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,1)}},onChange:function(t){n.filterChangeHandler(t,1)},operators:f})],a&&E,i("div",{class:"k-columnmenu-actions"},[i(Ut.$n,{type:"reset",attrs:e.v3?void 0:{type:"reset"}},e.v3?function(){return[p.toLanguageString(X,Rt[X])]}:[p.toLanguageString(X,Rt[X])]),i(Ut.$n,{themeColor:"primary",attrs:e.v3?void 0:{themeColor:"primary",disabled:!w},disabled:!w},e.v3?function(){return[p.toLanguageString(J,Rt[J])]}:[p.toLanguageString(J,Rt[J])])])])])])]}:[i("div",{class:"kendo-grid-filter-menu-container"},[i("form",{class:"k-filter-menu k-group k-reset k-border-up",onSubmit:e.submit,on:e.v3?void 0:{submit:e.submit,reset:e.clear},onReset:e.clear},[i("div",{class:"k-filter-menu-container"},[!a&&[i(fi,{operator:S,attrs:e.v3?void 0:{operator:S,filterType:A,operators:f},filterType:A,onChange:function(t){n.filterChangeHandler(t,0)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,0)}},operators:f}),i(ui,{field:C,attrs:e.v3?void 0:{field:C,value:_,operator:S,booleanValues:M,filterType:A,operators:f},value:_,operator:S,booleanValues:M,filterType:A,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,0)}},onChange:function(t){n.filterChangeHandler(t,0)},operators:f})],!s&&!a&&[i(Vt.O8,{onChange:e.logicChange,on:e.v3?void 0:{change:e.logicChange},class:"k-filter-and","data-items":x.data,attrs:e.v3?void 0:{"data-items":x.data,value:x.value,textField:"text"},value:x.value,textField:"text"}),i(fi,{operator:N,attrs:e.v3?void 0:{operator:N,filterType:O,operators:f},filterType:O,onChange:function(t){n.filterChangeHandler(t,1)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,1)}},operators:f}),i(ui,{field:I,attrs:e.v3?void 0:{field:I,value:T,operator:N,booleanValues:$,filterType:O,operators:f},value:T,operator:N,booleanValues:$,filterType:O,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,1)}},onChange:function(t){n.filterChangeHandler(t,1)},operators:f})],a&&E,i("div",{class:"k-columnmenu-actions"},[i(Ut.$n,{type:"reset",attrs:e.v3?void 0:{type:"reset"}},e.v3?function(){return[p.toLanguageString(X,Rt[X])]}:[p.toLanguageString(X,Rt[X])]),i(Ut.$n,{themeColor:"primary",attrs:e.v3?void 0:{themeColor:"primary",disabled:!w},disabled:!w},e.v3?function(){return[p.toLanguageString(J,Rt[J])]}:[p.toLanguageString(J,Rt[J])])])])])])])]}:[i(Pn,{title:p.toLanguageString(Q,Rt[Q]),attrs:e.v3?void 0:{title:p.toLanguageString(Q,Rt[Q]),icon:"filter",svgIcon:Gt.Sj_},icon:"filter",svgIcon:Gt.Sj_,onMenuitemclick:e.onFilterExpand,on:e.v3?void 0:{menuitemclick:e.onFilterExpand}}),i(ri,{show:!!k,attrs:e.v3?void 0:{show:!!k}},e.v3?function(){return[i("div",{class:"kendo-grid-filter-menu-container"},[i("form",{class:"k-filter-menu k-group k-reset k-border-up",onSubmit:e.submit,on:e.v3?void 0:{submit:e.submit,reset:e.clear},onReset:e.clear},[i("div",{class:"k-filter-menu-container"},[!a&&[i(fi,{operator:S,attrs:e.v3?void 0:{operator:S,filterType:A,operators:f},filterType:A,onChange:function(t){n.filterChangeHandler(t,0)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,0)}},operators:f}),i(ui,{field:C,attrs:e.v3?void 0:{field:C,value:_,operator:S,booleanValues:M,filterType:A,operators:f},value:_,operator:S,booleanValues:M,filterType:A,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,0)}},onChange:function(t){n.filterChangeHandler(t,0)},operators:f})],!s&&!a&&[i(Vt.O8,{onChange:e.logicChange,on:e.v3?void 0:{change:e.logicChange},class:"k-filter-and","data-items":x.data,attrs:e.v3?void 0:{"data-items":x.data,value:x.value,textField:"text"},value:x.value,textField:"text"}),i(fi,{operator:N,attrs:e.v3?void 0:{operator:N,filterType:O,operators:f},filterType:O,onChange:function(t){n.filterChangeHandler(t,1)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,1)}},operators:f}),i(ui,{field:I,attrs:e.v3?void 0:{field:I,value:T,operator:N,booleanValues:$,filterType:O,operators:f},value:T,operator:N,booleanValues:$,filterType:O,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,1)}},onChange:function(t){n.filterChangeHandler(t,1)},operators:f})],a&&E,i("div",{class:"k-columnmenu-actions"},[i(Ut.$n,{type:"reset",attrs:e.v3?void 0:{type:"reset"}},e.v3?function(){return[p.toLanguageString(X,Rt[X])]}:[p.toLanguageString(X,Rt[X])]),i(Ut.$n,{themeColor:"primary",attrs:e.v3?void 0:{themeColor:"primary",disabled:!w},disabled:!w},e.v3?function(){return[p.toLanguageString(J,Rt[J])]}:[p.toLanguageString(J,Rt[J])])])])])])]}:[i("div",{class:"kendo-grid-filter-menu-container"},[i("form",{class:"k-filter-menu k-group k-reset k-border-up",onSubmit:e.submit,on:e.v3?void 0:{submit:e.submit,reset:e.clear},onReset:e.clear},[i("div",{class:"k-filter-menu-container"},[!a&&[i(fi,{operator:S,attrs:e.v3?void 0:{operator:S,filterType:A,operators:f},filterType:A,onChange:function(t){n.filterChangeHandler(t,0)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,0)}},operators:f}),i(ui,{field:C,attrs:e.v3?void 0:{field:C,value:_,operator:S,booleanValues:M,filterType:A,operators:f},value:_,operator:S,booleanValues:M,filterType:A,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,0)}},onChange:function(t){n.filterChangeHandler(t,0)},operators:f})],!s&&!a&&[i(Vt.O8,{onChange:e.logicChange,on:e.v3?void 0:{change:e.logicChange},class:"k-filter-and","data-items":x.data,attrs:e.v3?void 0:{"data-items":x.data,value:x.value,textField:"text"},value:x.value,textField:"text"}),i(fi,{operator:N,attrs:e.v3?void 0:{operator:N,filterType:O,operators:f},filterType:O,onChange:function(t){n.filterChangeHandler(t,1)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,1)}},operators:f}),i(ui,{field:I,attrs:e.v3?void 0:{field:I,value:T,operator:N,booleanValues:$,filterType:O,operators:f},value:T,operator:N,booleanValues:$,filterType:O,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,1)}},onChange:function(t){n.filterChangeHandler(t,1)},operators:f})],a&&E,i("div",{class:"k-columnmenu-actions"},[i(Ut.$n,{type:"reset",attrs:e.v3?void 0:{type:"reset"}},e.v3?function(){return[p.toLanguageString(X,Rt[X])]}:[p.toLanguageString(X,Rt[X])]),i(Ut.$n,{themeColor:"primary",attrs:e.v3?void 0:{themeColor:"primary",disabled:!w},disabled:!w},e.v3?function(){return[p.toLanguageString(J,Rt[J])]}:[p.toLanguageString(J,Rt[J])])])])])])])])}},_i=Ci,Si=s,Mi=Si.h,Ai=Si.version&&"3"===Si.version[0],Ii={name:"KendoColumnMenuContent",inheritAttrs:!1,props:{column:Object,sortable:[Boolean,Object],sort:{type:Array},filter:Object,filterOperators:Object,filterable:Boolean,render:[Boolean,String,Function,Object]},methods:{handleFocus:function(t){this.$emit("contentfocus",t)},closeMenu:function(){this.$emit("closemenu")},expandChange:function(){this.$emit("expandchange")},sortChange:function(t,e){this.$emit("sortchange",t,e)},filterChange:function(t,e){this.$emit("filterchange",t,e)},contentKeyDown:function(t){t.keyCode===l.D$.esc&&this.$emit("closemenu")}},setup:Ai?function(){var t=!!Ai;return{v3:t}}:void 0,render:function(t){var e=Mi||t,n=this.$props.render,i=e("div",{onKeydown:this.contentKeyDown,on:this.v3?void 0:{keydown:this.contentKeyDown},style:this.$attrs.style},[e(Jn,{column:this.$props.column,attrs:this.v3?void 0:{column:this.$props.column,sortable:this.$props.sortable,sort:this.$props.sort},sortable:this.$props.sortable,sort:this.$props.sort,onClosemenu:this.closeMenu,on:this.v3?void 0:{closemenu:this.closeMenu,sortchange:this.sortChange},onSortchange:this.sortChange}),e(_i,{column:this.$props.column,attrs:this.v3?void 0:{column:this.$props.column,filterable:this.$props.filterable,filter:this.$props.filter,filterOperators:this.$props.filterOperators},filterable:this.$props.filterable,filter:this.$props.filter,filterOperators:this.$props.filterOperators,onFilterfocus:this.handleFocus,on:this.v3?void 0:{filterfocus:this.handleFocus,closemenu:this.closeMenu,expandchange:this.expandChange,filterchange:this.filterChange},onClosemenu:this.closeMenu,onExpandchange:this.expandChange,onFilterchange:this.filterChange})]);return l.$F.call(this,{h:e,template:"boolean"!==typeof n&&n,defaultRendering:i,additionalProps:this.$props,additionalListeners:{closemenu:this.closeMenu,filterchange:this.filterChange,sortchange:this.sortChange,expandchange:this.expandChange,contentfocus:this.handleFocus}})}},Ti=Ii,Ni=s,$i=Ni.h,Oi=Ni.version&&"3"===Ni.version[0],Li=Ni.inject,Ei={name:"KendoColumnMenu",props:{animate:{type:[Boolean,Object],default:function(){return!0}},column:Object,sortable:[Boolean,Object],sort:{type:Array},opened:Boolean,filter:Object,filterable:Boolean,filterOperators:Object,render:[Boolean,String,Function,Object]},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data:function(){return{show:!1,blurTimeout:void 0}},created:function(){this._anchor=(0,l.Os)()},computed:{currentOpen:function(){return this.show||this.$props.opened}},watch:{currentOpen:function(t){this.$nextTick((function(){if(this._content=this.$refs.content,t&&this._content){var e=Xe.getFocusableElements(this._content,{focusable:!0});e.length?e[0].focus():this._content.focus()}}))}},methods:{blur:function(){var t=this;clearTimeout(this.blurTimeout),this.blurTimeout=setTimeout((function(){t.closeMenu()}),200)},focus:function(){clearTimeout(this.blurTimeout)},handleFocus:function(t){clearTimeout(this.blurTimeout)},anchorClick:function(t){t.preventDefault(),this.show=!this.show},closeMenu:function(){this.$emit("close"),this.show=!1},sortChange:function(t,e){this.$emit("sortchange",t,e)},filterChange:function(t,e){this.$emit("filterchange",t,e)}},setup:Oi?function(){var t=!!Oi,e=Li("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,render:function(t){var e=this,n=$i||t,i=this.$props.render,r=(0,c.GB)(this);return n("div",{style:{display:"inline"}},[n("div",{class:"k-grid-column-menu k-grid-filter",tabindex:0,attrs:this.v3?void 0:{tabindex:0,title:"".concat(this.$props.column.field," ").concat(r.toLanguageString(h,Rt[h]))},title:"".concat(this.$props.column.field," ").concat(r.toLanguageString(h,Rt[h])),ref:(0,l.cZ)(this,"kendoAnchor",this._anchor),onClick:this.anchorClick,on:this.v3?void 0:{click:this.anchorClick}},[n(l.In,{name:"more-vertical",attrs:this.v3?void 0:{name:"more-vertical",icon:Gt.DeK},icon:Gt.DeK})]),n(Nn.z,{animate:this.$props.animate,attrs:this.v3?void 0:{animate:this.$props.animate,anchor:this._anchor,show:this.currentOpen},anchor:this._anchor,show:this.currentOpen},this.v3?function(){return[n("div",{ref:"content",class:"k-grid-columnmenu-popup",tabindex:0,attrs:e.v3?void 0:{tabindex:0},onFocusout:e.blur,on:e.v3?void 0:{focusout:e.blur,focusin:e.focus},onFocusin:e.focus,style:{outline:"none",width:"230px"}},[n(Ti,{column:e.$props.column,attrs:e.v3?void 0:{column:e.$props.column,sortable:e.$props.sortable,sort:e.$props.sort,filter:e.$props.filter,filterable:e.$props.filterable,filterOperators:e.$props.filterOperators,render:i},sortable:e.$props.sortable,sort:e.$props.sort,filter:e.$props.filter,filterable:e.$props.filterable,filterOperators:e.$props.filterOperators,render:i,onContentfocus:e.handleFocus,on:e.v3?void 0:{contentfocus:e.handleFocus,closemenu:e.closeMenu,sortchange:e.sortChange,filterchange:e.filterChange},onClosemenu:e.closeMenu,onSortchange:e.sortChange,onFilterchange:e.filterChange})])]}:[n("div",{ref:"content",class:"k-grid-columnmenu-popup",tabindex:0,attrs:e.v3?void 0:{tabindex:0},onFocusout:e.blur,on:e.v3?void 0:{focusout:e.blur,focusin:e.focus},onFocusin:e.focus,style:{outline:"none",width:"230px"}},[n(Ti,{column:e.$props.column,attrs:e.v3?void 0:{column:e.$props.column,sortable:e.$props.sortable,sort:e.$props.sort,filter:e.$props.filter,filterable:e.$props.filterable,filterOperators:e.$props.filterOperators,render:i},sortable:e.$props.sortable,sort:e.$props.sort,filter:e.$props.filter,filterable:e.$props.filterable,filterOperators:e.$props.filterOperators,render:i,onContentfocus:e.handleFocus,on:e.v3?void 0:{contentfocus:e.handleFocus,closemenu:e.closeMenu,sortchange:e.sortChange,filterchange:e.filterChange},onClosemenu:e.closeMenu,onSortchange:e.sortChange,onFilterchange:e.filterChange})])])])}},Pi=Ei,Di=s,Ri=Di.h,Bi=Di.version&&"3"===Di.version[0],Fi={props:{field:String,title:String,sortable:[Boolean,Object],selectionValue:Boolean,render:[Object,Function,String]},emits:{selectionchange:null,headercellclick:null},inject:{kendoLocalizationService:{default:null}},created:function(){this.inputId=(0,l.Os)()},methods:{changeHandle:function(t){this.$emit("selectionchange",{field:this.$props.field,event:t})},clickHandler:function(t){this.$props.sortable&&this.$emit("headercellclick",t)}},setup:Bi?function(){var t=!!Bi;return{v3:t}}:void 0,render:function(t){var e=Ri||t,n=(0,l.Rk)(this),i=this.$props.render,r=(0,c.GB)(this),o=r.toLanguageString(_t,Rt[_t]),a=e("input",{key:0,checked:this.v3?this.$props.selectionValue:null,domProps:this.v3?void 0:{checked:this.$props.selectionValue},id:this.inputId,attrs:this.v3?void 0:{id:this.inputId,type:"checkbox","aria-label":o},type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md","aria-label":o,onChange:this.changeHandle,on:this.v3?void 0:{change:this.changeHandle}}),s=l.$F.call(this,{h:e,template:i,defaultRendering:a,additionalProps:this.$props,additionalListeners:{click:this.clickHandler,selectionchange:this.changeHandle}});return e("span",{class:"k-link",onClick:this.clickHandler,on:this.v3?void 0:{click:this.clickHandler}},[e("span",{class:"k-column-title",title:this.$props.title,attrs:this.v3?void 0:{title:this.$props.title}},[s]),n])}},zi=Fi,ji=s,Vi=ji.h,Hi=ji.version&&"3"===ji.version[0],Zi={none:"none",asc:"ascending",desc:"descending"},Ui={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}};Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,l.lQ;var Gi=s,Ki=Gi.h,Wi=Gi.version&&"3"===Gi.version[0],qi=Gi.inject,Yi={name:"KendoHeaderTdElement",emits:{keydown:null},props:{ariaColumnIndex:Number,role:String,columnId:String,navigatable:Boolean},computed:{tdClass:function(){var t,e=this.$props.className;return t={"k-table-td":!0},t[e]=e,t}},inject:{getKeyboardNavigationAttributes:{default:l.lQ}},setup:Wi?function(){var t=!!Wi,e=qi("kendoIntlService",{}),n=qi("kendoLocalizationService",{});return{v3:t,kendoIntlService:e,kendoLocalizationService:n}}:void 0,render:function(t){var e=Ki||t,n=this.$props,i=n.columnId,r=n.navigatable,o=n.ariaColumnIndex,a=n.role,s=this.getKeyboardNavigationAttributes(i,r),u=(0,l.Rk)(this);return e("td",{style:{top:"0px"},"aria-colindex":o,attrs:this.v3?void 0:{"aria-colindex":o,role:a,tabindex:s.tabIndex,"data-keyboardnavlevel":s[ke],"data-keyboardnavid":s[Me]},class:this.tdClass,onKeydown:this.onKeyDown,on:this.v3?void 0:{keydown:this.onKeyDown},role:a,tabindex:s.tabIndex,"data-keyboardnavlevel":s[ke],"data-keyboardnavid":s[Me]},[u])},methods:{onKeyDown:function(t){this.$emit("keydown",t)}}},Xi=Yi,Ji=function(t,e,n){if(n||2===arguments.length)for(var i,r=0,o=e.length;r=0;c--)if(!i[c].locked){if(!(u+2*l[c]0&&o=0){var r=i.columns[n];(r.reorderable&&i.reorderable||r.groupable&&i.groupable)&&(i.startColumn=n)}},this.dragHandler=function(t,e){if(t.isTouch||t.originalEvent.preventDefault(),t.originalEvent.stopPropagation(),-1!==i.startColumn||-1!==i.startGroup){i.currentColumn=i.getColumnIndex(t,e);var n=i.groupPanelDivElement&&i.groupPanelDivElement.children;i.currentGroup=i.isTargetGroupingContainer(t)?n&&n.length?n.length-1:0:i.getGroupIndex(t);var r=!i.isValid();r&&(i.currentColumn=-1,i.currentGroup=-1);var o=i.currentColumn>=0?e.children[i.columns[i.currentColumn].index]:i.isTargetGroupingContainer(t)?t.originalEvent.target:i.groupPanelDivElement&&i.groupPanelDivElement.children[i.currentGroup];i.updateDragElementClue(t,e,o,r),i.updateDropElementClue(t,e,o,r)}},this.releaseHandler=function(t){var e=i.startColumn,n=i.currentColumn,r=i.startGroup,o=i.currentGroup;i.dropElementClue&&(i.dropElementClue.visible=!1),i.dragElementClue&&(i.dragElementClue.visible=!1);var a=i.isValid();i.startColumn=i.startGroup=i.currentColumn=i.currentGroup=-1,a&&(e>=0&&n>=0?i.columnReorder(e,n,t.originalEvent):r>=0&&o>=0?i.groupReorder(r,o,t.originalEvent):e>=0&&o>=0&&i.columnToGroup(e,o,t.originalEvent))},this.columnReorder=t,this.groupReorder=e,this.columnToGroup=n}t.prototype.getColumnIndex=function(t,e){if(!e||e.parentElement===this.groupPanelDivElement)return-1;var n=tr(t,e);if(-1===n)return-1;for(var i=function(t){if(e.parentNode.children[t]===e)return{value:r.columns.findIndex((function(e){return e.index===n&&e.depth===t}))}},r=this,o=0;o=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)},t.prototype.updateDragElementClue=function(t,e,n,i){if(this.dragElementClue){var r=this.startColumn>=0?e.children[this.columns[this.startColumn].index].innerText:e.innerText;this.dragElementClue.visible=!0,this.dragElementClue.top=t.pageY+10,this.dragElementClue.left=t.pageX,this.dragElementClue.innerText=r,this.dragElementClue.status=i||!n?"cancel":"plus"}},t.prototype.updateDropElementClue=function(t,e,n,i){if(this.dropElementClue)if(!i&&n){var r=n.getBoundingClientRect(),o=n.closest(".k-grouping-header"),a=(o||n).getBoundingClientRect(),s=r.left+t.pageX-t.clientX-6;!this.isTargetGroupingContainer(t)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(s+=r.width);var l=a.top+t.pageY-t.clientY;this.dropElementClue.visible=!0,this.dropElementClue.top=l,this.dropElementClue.left=s,this.dropElementClue.height=this.currentColumn>=0?e.clientHeight:a.height}else this.dropElementClue.visible=!1}})();var er=s,nr=(er.h,er.version&&er.version[0],s);nr.h,nr.version&&nr.version[0];var ir=s,rr=ir.h,or=ir.version&&"3"===ir.version[0],ar={name:"KendoNumericButtons",props:{buttonCount:Number,totalPages:Number,currentPage:Number,size:String,responsiveSize:String},inject:{kendoLocalizationService:{default:null}},computed:{start:{get:function(){var t=this.$props.currentPage,e=this.$props.buttonCount;if(t>e){var n=t%e;return 0===n?t-e+1:t-n+1}return 1}},end:{get:function(){return Math.min(this.start+this.$props.buttonCount-1,this.$props.totalPages)}},dropdownClass:function(){var t,e=this.$props.size;return t={"k-picker":!0,"k-dropdown-list":!0,"k-dropdown":!0,"k-rounded-md":!0,"k-picker-solid":!0},t["k-picker-".concat(l.OR.sizeMap[e]||e)]=e,t}},methods:{click:function(t,e){t.preventDefault(),this.$emit("pagechange",e,t)},ddlChange:function(t){this.$emit("pagechange",parseInt(t.target.value,10),t)}},setup:or?function(){var t=!!or;return{v3:t}}:void 0,render:function(t){for(var e=this,n=rr||t,i=(0,c.GB)(this),r=this.$props.messagesMap?this.$props.messagesMap(b):{messageKey:b,defaultMessage:Rt[b]},o=this.start>1&&n(Ut.$n,{fillMode:"flat",attrs:this.v3?void 0:{fillMode:"flat",themeColor:"primary",size:this.$props.size,rounded:null},themeColor:"primary",size:this.$props.size,rounded:null,onClick:function(t){return e.click(t,e.start-1)},on:this.v3?void 0:{click:function(t){return e.click(t,e.start-1)}}},this.v3?function(){return["..."]}:["..."]),a=this.end0&&t<=this.totalPages&&this.$emit("pagechange",{skip:(t-1)*this.currentTake,take:this.currentTake},e)},triggerPageChange:function(t,e){var n=l.jm.call(this,"pagesizechange");n?this.$emit("pagesizechange",t,e):this.$emit("pagechange",t,e)},onWindowResize:function(){var t=this.$el;if(t&&this.$props.responsive&&!1!==this.$props.settings.responsive){var e=t.offsetWidth;this.currentSize=e=Dr&&e-1?u:r[s].length}r[s][i]=n||""}for(s=i+1,l=i+a;s=0;i--)n=Math.max(n,t[i].depth),t[i].colSpan=t[i].colSpan||1,-1!==t[i].parentIndex&&(t[t[i].parentIndex].colSpan=(t[t[i].parentIndex].colSpan||0)+t[i].colSpan);var r=1;t.forEach((function(t,i){e[t.depth]=e[t.depth]||[];var o=!1;0===e[t.depth].length&&(r<=1?r=1+(t.children.length>0?0:n-t.depth):(r--,o=!0)),t.rowSpan=1+(t.children.length>0?0:n-t.depth),t.kFirst=o,t.index=e[t.depth].length,e[t.depth].push(i)}));var o=new Array(e.length).fill(0),a=0;t.forEach((function(t){if(t.locked)if(t.left=o[t.depth],a=t.width?parseFloat(t.width.toString()):0,0===t.children.length)for(var e=t.depth;e=0;l--){var u=t[l];if(u.locked){if(u.right=s[u.depth],a=u.width?parseFloat(u.width.toString()):0,0===u.children.length)for(var c=u.depth;c0){var a=r[0];if(e)for(var s=0;s0))}))},Ao={number:function(t,e,n){return typeof t===mo&&"null"===t.toLowerCase()?null:e.parseNumber(t,n)},date:function(t,e,n){return typeof t===mo&&"null"===t.toLowerCase()?null:e.parseDate(t,n)},boolean:function(t){return typeof t===mo?"null"===t.toLowerCase()?null:"true"===t.toLowerCase():null!=t?!!t:t},string:function(t){return typeof t===mo&&"null"===t.toLowerCase()?null:null!=t?t+"":t},default:function(t){return t}};function Io(t,e,n,i){return t.forEach((function(t){t.expanded=e[i]&&!e[i].includes(No(t,n)),t.items&&t.items.length&&(t.items=Io(t.items,e,n,i+1))})),t}function To(t,e,n){return e&&e.length&&t.data.forEach((function(t){t.expanded=void 0!==t.expanded?t.expanded:e[0]&&!e[0].includes(No(t,n)),t.items&&t.items.length&&(t.items=Io(t.items,e,n,1))})),t}function No(t,e){var n=t;while(n.items&&n.items.length)n=n.items[0];return e?n[e]:t.value}var $o,Oo="undefined"!==typeof window&&/Firefox/.test(window.navigator.userAgent),Lo=17895697,Eo=s,Po=Eo.h,Do=Eo.version&&"3"===Eo.version[0],Ro={name:"KendoGridSelectionCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,render:[String,Function,Object],isSelected:Boolean,ariaColumnIndex:Number,editor:String,isRtl:Boolean},emits:{selectionchange:null,cellkeydown:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:l.lQ}},data:function(){return{inputId:(0,l.Os)()}},computed:{tdClass:function(){var t,e=this.$props.className;return t={"k-table-td":!0},t[e]=e,t}},methods:{triggerKeydown:function(t){this.$emit("cellkeydown",{event:t,dataItem:this.$props.dataItem,field:this.$props.field})},handleOnChange:function(t){this.$emit("selectionchange",{event:t,dataItem:this.$props.dataItem})}},setup:Do?function(){var t=!!Do;return{v3:t}}:void 0,render:function(t){var e=Po||t,n=vo(this.$props.field,this.$props.dataItem),i=this.$props.render,r=this.getKeyboardNavigationAttributes(this.$props.id),o="groupHeader"!==this.$props.rowType?e("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,on:this.v3?void 0:{keydown:this.triggerKeydown},colspan:this.$props.colSpan,attrs:this.v3?void 0:{colspan:this.$props.colSpan,"aria-colindex":this.$props.ariaColumnIndex,role:"gridcell",tabindex:r.tabIndex,"data-keyboardnavlevel":r[ke],"data-keyboardnavid":r[Me]},class:this.tdClass,"aria-colindex":this.$props.ariaColumnIndex,role:"gridcell",tabindex:r.tabIndex,"data-keyboardnavlevel":r[ke],"data-keyboardnavid":r[Me]},[e("input",{checked:this.v3?n:null,domProps:this.v3?void 0:{checked:n},id:this.inputId,attrs:this.v3?void 0:{id:this.inputId,type:"checkbox"},type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.handleOnChange,on:this.v3?void 0:{change:this.handleOnChange}}),e("label",{class:"k-checkbox-label",for:this.inputId,attrs:this.v3?void 0:{for:this.inputId}})]):null;return l.$F.call(this,{h:e,template:i,defaultRendering:o,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,change:this.handleOnChange}})}},Bo=Ro,Fo="grid.noRecords",zo="grid.selectAllRows",jo="grid.pagerInfo",Vo="grid.pagerFirstPage",Ho="grid.pagerPreviousPage",Zo="grid.pagerNextPage",Uo="grid.pagerLastPage",Go="grid.pagerItemsPerPage",Ko="grid.pagerPageSelection",Wo="grid.pagerPage",qo="grid.pagerOf",Yo="grid.pagerTotalPages",Xo="grid.groupPanelEmpty",Jo="grid.columnMenu",Qo="grid.filterClearButton",ta="grid.filterSubmitButton",ea="grid.filterTitle",na="grid.sortAscending",ia="grid.sortDescending",ra="grid.searchPlaceholder",oa="grid.filterCheckAll",aa="grid.filterChooseOperator",sa="grid.filterSelectedItems",la="grid.sortAriaLabel",ua="grid.sortableColumnAriaLabel",ca="grid.sortableColumnAscendingAriaLabel",ha="grid.sortableColumnDescendingAriaLabel",pa="grid.filterAriaLabel",da="grid.numericFilterAriaLabel",fa="grid.dateFilterAriaLabel",ma="grid.textFilterAriaLabel",va="grid.booleanFilterAriaLabel",ga="grid.groupHeaderAriaLabel",ya="grid.groupCaretAriaLabelCollapse",ba="grid.groupCaretAriaLabelExpand",xa="grid.expandDetailTemplateAriaLabel",wa="grid.collapseDetailTemplateAriaLabel",ka=($o={},$o[zo]="Select All Rows",$o[Fo]="No records available",$o[Xo]="Drag a column header and drop it here to group by that column",$o[Jo]="Column Menu",$o[Qo]="Clear",$o[ta]="Filter",$o[ea]="Filter",$o[na]="Sort Ascending",$o[ia]="Sort Descending",$o[Go]="items per page",$o[Ko]="Select page",$o[jo]="{0} - {1} of {2} items",$o[Vo]="Go to the first page",$o[Ho]="Go to the previous page",$o[Zo]="Go to the next page",$o[Uo]="Go to the last page",$o[Wo]="Page",$o[qo]="of",$o[Yo]="{0}",$o[ra]="Search",$o[oa]="Check All",$o[aa]="Choose Operator",$o[sa]="selected items",$o[la]="Sortable",$o[ua]="Sortable Column",$o[ca]="Sorted in ascending order",$o[ha]="Sorted in descending order",$o[pa]="Filter",$o[da]="Numeric Filter",$o[fa]="Date Filter",$o[ma]="Text Filter",$o[va]="Boolean Filter",$o[ga]="Group Header",$o[ya]="Collapse Group",$o[ba]="Expand Group",$o[xa]="Expand Details",$o[wa]="Collapse Details",$o["grid.filterEqOperator"]="Is equal to",$o["grid.filterNotEqOperator"]="Is not equal to",$o["grid.filterIsNullOperator"]="Is null",$o["grid.filterIsNotNullOperator"]="Is not null",$o["grid.filterIsEmptyOperator"]="Is empty",$o["grid.filterIsNotEmptyOperator"]="Is not empty",$o["grid.filterStartsWithOperator"]="Starts with",$o["grid.filterContainsOperator"]="Contains",$o["grid.filterNotContainsOperator"]="Does not contain",$o["grid.filterEndsWithOperator"]="Ends with",$o["grid.filterGteOperator"]="Is greater than or equal to",$o["grid.filterGtOperator"]="Is greater than",$o["grid.filterLteOperator"]="Is less than or equal to",$o["grid.filterLtOperator"]="Is less than",$o["grid.filterIsTrue"]="Is true",$o["grid.filterIsFalse"]="Is false",$o["grid.filterBooleanAll"]="(All)",$o["grid.filterAfterOrEqualOperator"]="Is after or equal to",$o["grid.filterAfterOperator"]="Is after",$o["grid.filterBeforeOperator"]="Is before",$o["grid.filterBeforeOrEqualOperator"]="Is before or equal to",$o["grid.filterAndLogic"]="And",$o["grid.filterOrLogic"]="Or",$o);function Ca(t){var e=t.replace(/^pager\.([a-z])/,(function(t,e){return"grid.pager"+e.toUpperCase()}));return{messageKey:e,defaultMessage:ka[e]}}var _a=s,Sa=_a.h,Ma=_a.version&&"3"===_a.version[0],Aa={name:"KendoGridHierarchyCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,dataIndex:Number,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean},emits:{change:null,cellkeydown:null},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:l.lQ}},methods:{triggerKeydown:function(t,e){this.$emit("cellkeydown",{event:t,dataItem:this.$props.dataItem,field:this.$props.field,expanded:e}),t.defaultPrevented||t.keyCode===l.D$.enter&&(t.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:t,field:this.$props.field,value:!e}))},clickHandler:function(t,e,n){t.preventDefault(),this.$emit("change",{dataItem:e,event:t,field:void 0,value:!n})}},computed:{wrapperClass:function(){var t;return t={"k-table-td":!0,"k-hierarchy-cell":!0},t[this.className||""]=this.className,t}},setup:Ma?function(){var t=!!Ma;return{v3:t}}:void 0,render:function(t){var e=this,n=Sa||t,i=null,r=this.getKeyboardNavigationAttributes(this.$props.id),o=(0,c.GB)(this),a=o.toLanguageString(wa,ka[wa]),s=o.toLanguageString(xa,ka[xa]);if("groupFooter"===this.$props.rowType)i=n("td",{class:this.wrapperClass});else if("groupHeader"!==this.$props.rowType){var u=vo(this.$props.field,this.$props.dataItem);i=n("td",{style:this.$attrs.style,onKeydown:function(t){e.triggerKeydown(t,u)},on:this.v3?void 0:{keydown:function(t){e.triggerKeydown(t,u)}},class:this.wrapperClass,"aria-expanded":u?"true":"false",attrs:this.v3?void 0:{"aria-expanded":u?"true":"false",role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,tabindex:r.tabIndex,"data-keyboardnavlevel":r[ke],"data-keyboardnavid":r[Me]},role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,tabindex:r.tabIndex,"data-keyboardnavlevel":r[ke],"data-keyboardnavid":r[Me]},[n("a",{onClick:function(t){e.clickHandler(t,e.$props.dataItem,u)},on:this.v3?void 0:{click:function(t){e.clickHandler(t,e.$props.dataItem,u)}},href:"#",attrs:this.v3?void 0:{href:"#",tabindex:-1,title:u?a:s,"aria-label":u?a:s},tabindex:-1,title:u?a:s,"aria-label":u?a:s},[n(l.In,{name:u?"minus":"plus",attrs:this.v3?void 0:{name:u?"minus":"plus",icon:u?Gt.cmS:Gt.WWM},icon:u?Gt.cmS:Gt.WWM})])])}return l.$F.call(this,{h:n,template:this.$props.render,defaultRendering:i,additionalProps:this.$props,additionalListeners:{keydown:this.triggerKeydown,click:this.clickHandler}})}},Ia=Aa,Ta=s,Na=Ta.h,$a=Ta.version&&"3"===Ta.version[0],Oa=Ta.inject,La={props:{id:String},inject:{getKeyboardNavigationAttributes:{default:l.lQ}},setup:$a?function(){var t=!!$a,e=Oa("kendoIntlService",{});return{v3:t,kendoIntlService:e}}:void 0,render:function(t){var e=Na||t,n=this.getKeyboardNavigationAttributes(this.$props.id);return e("td",{class:"k-table-td k-hierarchy-cell",tabindex:n.tabIndex,attrs:this.v3?void 0:{tabindex:n.tabIndex,"data-keyboardnavlevel":n[ke],"data-keyboardnavid":n[Me]},"data-keyboardnavlevel":n[ke],"data-keyboardnavid":n[Me]})}},Ea=La,Pa=s,Da=Pa.h,Ra=Pa.version&&"3"===Pa.version[0],Ba=Pa.inject,Fa={props:{colSpan:Number,ariaColIndex:Number,dataItem:[Object,String,Number],dataIndex:Number,detail:[String,Function,Object],id:String},inject:{getKeyboardNavigationAttributes:{default:l.lQ}},setup:Ra?function(){var t=!!Ra,e=Ba("kendoIntlService",{});return{v3:t,kendoIntlService:e}}:void 0,render:function(t){var e=Da||t,n=this.$props,i=n.colSpan,r=n.ariaColIndex,o=n.dataItem,a=n.dataIndex,s=n.id,u=this.getKeyboardNavigationAttributes(s),c=function(t){return l.$F.call(this,{h:e,template:this.$props.detail,additionalProps:t})};return e("td",{class:"k-table-td k-detail-cell",colspan:i,attrs:this.v3?void 0:{colspan:i,"aria-colindex":r,role:"gridcell",tabindex:u.tabIndex,"data-keyboardnavlevel":u[ke],"data-keyboardnavid":u[Me]},"aria-colindex":r,role:"gridcell",tabindex:u.tabIndex,"data-keyboardnavlevel":u[ke],"data-keyboardnavid":u[Me]},[c.call(this,{dataItem:o,dataIndex:a})])}},za=Fa,ja=s,Va=ja.h,Ha=ja.version&&"3"===ja.version[0],Za=ja.inject,Ua={name:"GridEditCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean},emits:{change:null,cellkeydown:null,edit:null,add:null,cancel:null,save:null,remove:null},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:l.lQ}},computed:{tdClass:function(){var t,e=this.$props.className;return t={"k-table-td":!0},t[e]=e,t}},data:function(){return{inputId:(0,l.Os)()}},methods:{triggerKeydown:function(t){this.$emit("cellkeydown",{event:t,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit:function(t){this.$emit("edit",t)},triggerAdd:function(t){this.$emit("add",t)},triggerCancel:function(t){this.$emit("cancel",t)},triggerSave:function(t){this.$emit("save",t)},triggerRemove:function(t){this.$emit("remove",t)},changeHandler:function(t,e){e||(e="checkbox"===t.target.type?t.target.checked:t.target.valueAsDate?t.target.valueAsDate:t.target.value),this.$emit("change",{dataItem:this.$props.dataItem,field:this.$props.field,event:t,value:e})}},setup:Ha?function(){var t=!!Ha,e=Za("kendoIntlService",{});return{v3:t,kendoIntlService:e}}:void 0,render:function(t){var e=Va||t,n=vo(this.$props.field,this.$props.dataItem),i=this.getKeyboardNavigationAttributes(this.$props.id),r=null;switch(this.$props.editor){case"numeric":r=e("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,on:this.v3?void 0:{keydown:this.triggerKeydown},colspan:this.$props.colSpan,attrs:this.v3?void 0:{colspan:this.$props.colSpan,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:i.tabIndex,"data-keyboardnavlevel":i[ke],"data-keyboardnavid":i[Me]},class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:i.tabIndex,"data-keyboardnavlevel":i[ke],"data-keyboardnavid":i[Me]},[e(u.uI,{style:{width:"100%"},value:void 0===n?null:n,attrs:this.v3?void 0:{value:void 0===n?null:n},onChange:this.changeHandler,on:this.v3?void 0:{change:this.changeHandler}})]);break;case"date":r=e("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,on:this.v3?void 0:{keydown:this.triggerKeydown},colspan:this.$props.colSpan,attrs:this.v3?void 0:{colspan:this.$props.colSpan,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:i.tabIndex,"data-keyboardnavlevel":i[ke],"data-keyboardnavid":i[Me]},class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:i.tabIndex,"data-keyboardnavlevel":i[ke],"data-keyboardnavid":i[Me]},[e(zt.lr,{style:{width:"100%"},value:n,attrs:this.v3?void 0:{value:n},onChange:this.changeHandler,on:this.v3?void 0:{change:this.changeHandler}})]);break;case"boolean":r=e("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,on:this.v3?void 0:{keydown:this.triggerKeydown},colspan:this.$props.colSpan,attrs:this.v3?void 0:{colspan:this.$props.colSpan,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:i.tabIndex,"data-keyboardnavlevel":i[ke],"data-keyboardnavid":i[Me]},class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:i.tabIndex,"data-keyboardnavlevel":i[ke],"data-keyboardnavid":i[Me]},[e("input",{checked:this.v3?n||!1:null,domProps:this.v3?void 0:{checked:n||!1},id:this.inputId,attrs:this.v3?void 0:{id:this.inputId,type:"checkbox"},type:"checkbox",class:"k-checkbox k-checkbox-md k-rounded-md",onChange:this.changeHandler,on:this.v3?void 0:{change:this.changeHandler}}),e("label",{class:"k-checkbox-label",for:this.inputId,attrs:this.v3?void 0:{for:this.inputId}})]);break;default:r=e("td",{style:this.$attrs.style,onKeydown:this.triggerKeydown,on:this.v3?void 0:{keydown:this.triggerKeydown},colspan:this.$props.colSpan,attrs:this.v3?void 0:{colspan:this.$props.colSpan,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:i.tabIndex,"data-keyboardnavlevel":i[ke],"data-keyboardnavid":i[Me]},class:this.tdClass,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:i.tabIndex,"data-keyboardnavlevel":i[ke],"data-keyboardnavid":i[Me]},[e("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[e("input",{style:{width:"100%"},class:"k-input-inner",value:this.v3?null!==n&&void 0!==n?n:"":null,domProps:this.v3?void 0:{value:null!==n&&void 0!==n?n:""},onChange:this.changeHandler,on:this.v3?void 0:{change:this.changeHandler}})])])}return l.$F.call(this,{h:e,template:this.$props.render,defaultRendering:r,additionalProps:this.$props,additionalListeners:{change:this.changeHandler,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}},Ga=Ua,Ka=function(){return"undefined"!==typeof document?document:{}},Wa=function(){function t(){}return Object.defineProperty(t.prototype,"scrollbarWidth",{get:function(){var t=Ka();if(!this.scrollbar&&t&&t.createElement){var e=t.createElement("div");e.style.cssText="overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block",e.innerHTML=" ",t.body.appendChild(e),this.scrollbar=e.offsetWidth-e.scrollWidth,t.body.removeChild(e)}return this.scrollbar},enumerable:!1,configurable:!0}),t}(),qa=s,Ya=qa.h,Xa=qa.version&&"3"===qa.version[0],Ja=qa.ref,Qa={props:{staticHeaders:Boolean,headerRow:Object,columnResize:Object,cols:Array,size:String,draggable:Boolean},data:function(){return{divStyle:{},element:null,headerWrap:null,table:null}},computed:{wrapperClass:function(){return{"k-grid-header":!0,"k-grid-draggable-header":this.$props.draggable}},tableClass:function(){var t,e=this.$props.size;return t={"k-table":!0,"k-grid-header-table":!0},t["k-table-".concat(l.OR.sizeMap[e]||e)]=e,t}},mounted:function(){this.headerWrap=(0,l.cX)(this,"headerWrap"),this.table=(0,l.cX)(this,"table"),this.$props.columnResize.colGroupHeader=(0,l.cX)(this,"colGroupHeader");var t=(new Wa).scrollbarWidth,e=yo(this.$el);this.$props.columnResize&&this.$props.columnResize.setIsRtl(e);var n=Math.max(0,t)+"px",i=e?0:n,r=e?n:0;this.divStyle={padding:"0 ".concat(i," 0 ").concat(r)}},methods:{setScrollLeft:function(t){this.headerWrap&&(this.headerWrap.scrollLeft=t)},setWidth:function(t){this.table&&(this.table.style.width=t+"px")}},setup:Xa?function(){var t=!!Xa,e=Ja(null),n=Ja(null),i=Ja(null);return{v3:t,headerWrapRef:e,tableRef:n,colGroupHeaderRef:i}}:void 0,render:function(t){var e=Ya||t;return this.$props.staticHeaders?e("div",{class:this.wrapperClass,style:this.divStyle},[e("div",{ref:(0,l.cZ)(this,"headerWrap"),class:"k-grid-header-wrap"},[e("table",{class:this.tableClass,ref:(0,l.cZ)(this,"table"),role:"none",attrs:this.v3?void 0:{role:"none"}},[e("colgroup",{ref:(0,l.cZ)(this,"colGroupHeader")},[this.$props.cols]),this.$props.headerRow])])]):this.$props.headerRow}},ts=Qa,es=function(t,e,n){if(n||2===arguments.length)for(var i,r=0,o=e.length;r-1&&e[t].dir===Os)},Rs=function(t,e){return!!(e&&t>-1&&e[t].dir===Ls)},Bs={props:{sortable:[Boolean,Object],sort:{type:Array},column:Object},inject:{kendoLocalizationService:{default:null}},methods:{onAscClick:function(t){this.onSort(t,Os),this.$emit("closemenu")},onDescClick:function(t){this.onSort(t,Ls),this.$emit("closemenu")},onSort:function(t,e){if(t.preventDefault(),l.jm.call(this,"sortchange")){var n=this.$props,i=n.column,r=n.sortable,o=n.sort,a=ns(r||!1,!1),s=a.allowUnsort,u=a.mode,c=(o||[]).filter((function(t){return t.field===i.field}))[0],h=Es[s][c&&c.dir||""][e],p="single"===u?[]:(this.$props.sort||[]).filter((function(t){return t.field!==i.field}));""!==h&&i.field&&p.push({field:i.field,dir:h}),this.$emit("sortchange",p,{event:t,field:this.$props.column.field})}}},setup:Ns?function(){var t=!!Ns,e=$s("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,render:function(t){var e=this,n=Ts||t,i=this.$props,r=i.sort,o=i.column,a=Ps(o.field,r),s=(0,c.GB)(this);return n(As,this.v3?function(){return[n(ks,{title:s.toLanguageString(na,ka[na]),attrs:e.v3?void 0:{title:s.toLanguageString(na,ka[na]),icon:"sort-asc-small",svgIcon:Gt.uEm,selected:Ds(a,r)},icon:"sort-asc-small",svgIcon:Gt.uEm,selected:Ds(a,r),onMenuitemclick:e.onAscClick,on:e.v3?void 0:{menuitemclick:e.onAscClick}}),n(ks,{title:s.toLanguageString(ia,ka[ia]),attrs:e.v3?void 0:{title:s.toLanguageString(ia,ka[ia]),icon:"sort-desc-small",svgIcon:Gt.wan,selected:Rs(a,r)},icon:"sort-desc-small",svgIcon:Gt.wan,selected:Rs(a,r),onMenuitemclick:e.onDescClick,on:e.v3?void 0:{menuitemclick:e.onDescClick}})]}:[n(ks,{title:s.toLanguageString(na,ka[na]),attrs:e.v3?void 0:{title:s.toLanguageString(na,ka[na]),icon:"sort-asc-small",svgIcon:Gt.uEm,selected:Ds(a,r)},icon:"sort-asc-small",svgIcon:Gt.uEm,selected:Ds(a,r),onMenuitemclick:e.onAscClick,on:e.v3?void 0:{menuitemclick:e.onAscClick}}),n(ks,{title:s.toLanguageString(ia,ka[ia]),attrs:e.v3?void 0:{title:s.toLanguageString(ia,ka[ia]),icon:"sort-desc-small",svgIcon:Gt.wan,selected:Rs(a,r)},icon:"sort-desc-small",svgIcon:Gt.wan,selected:Rs(a,r),onMenuitemclick:e.onDescClick,on:e.v3?void 0:{menuitemclick:e.onDescClick}})])}},Fs=Bs,zs=s,js=zs.h,Vs=zs.version&&"3"===zs.version[0],Hs={props:{show:Boolean},setup:Vs?function(){var t=!!Vs;return{v3:t}}:void 0,render:function(t){var e=this,n=js||t,i=(0,l.Rk)(this);return n("div",{class:"k-columnmenu-item-content"},[n(Qn.gN,{appear:this.$props.show,attrs:this.v3?void 0:{appear:this.$props.show},style:{position:"relative",display:"block"}},this.v3?function(){return[e.$props.show?i:null]}:[e.$props.show?i:null])])}},Zs=Hs,Us=[{text:"grid.filterAndLogic",operator:"and"},{text:"grid.filterOrLogic",operator:"or"}],Gs={text:[{text:"grid.filterContainsOperator",operator:"contains"},{text:"grid.filterNotContainsOperator",operator:"doesnotcontain"},{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterStartsWithOperator",operator:"startswith"},{text:"grid.filterEndsWithOperator",operator:"endswith"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"},{text:"grid.filterIsEmptyOperator",operator:"isempty"},{text:"grid.filterIsNotEmptyOperator",operator:"isnotempty"}],numeric:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterGteOperator",operator:"gte"},{text:"grid.filterGtOperator",operator:"gt"},{text:"grid.filterLteOperator",operator:"lte"},{text:"grid.filterLtOperator",operator:"lt"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],date:[{text:"grid.filterEqOperator",operator:"eq"},{text:"grid.filterNotEqOperator",operator:"neq"},{text:"grid.filterAfterOrEqualOperator",operator:"gte"},{text:"grid.filterAfterOperator",operator:"gt"},{text:"grid.filterBeforeOperator",operator:"lt"},{text:"grid.filterBeforeOrEqualOperator",operator:"lte"},{text:"grid.filterIsNullOperator",operator:"isnull"},{text:"grid.filterIsNotNullOperator",operator:"isnotnull"}],boolean:[{text:"grid.filterEqOperator",operator:"eq"}]},Ks=function(t){return"isnull"===t||"isnotnull"===t||"isempty"===t||"isnotempty"===t},Ws=function(t,e){return t.map((function(t){return{text:e.toLanguageString(t.text,ka[t.text]),operator:t.operator}}))},qs="eq",Ys=[{text:"grid.filterBooleanAll",operator:""},{text:"grid.filterIsTrue",operator:!0},{text:"grid.filterIsFalse",operator:!1}],Xs={text:!1,numeric:!1,date:!1,boolean:!0},Js=function(t,e,n){var i=Qs(n.operators),r=n.operator;switch(n.filterType){case"numeric":r&&!Ks(r)||(r=i),null===t&&r===i&&(r="");break;case"date":r&&!Ks(r)||(r=i),null===t&&r===i&&(r="");break;case"text":r&&!Ks(r)||(r=i),t||r!==i||(r="");break;default:return}return{value:t,operator:r,event:e}},Qs=function(t,e){return e?t[e][0].operator:t[0].operator},tl=function(t){return t||"text"},el=function(t,e){return{value:t,operator:""===t?"":qs,event:e}},nl=function(t,e,n){return Ks(t)&&(n=null),{value:n,operator:t,event:e}},il=function(t,e){switch(t){case"text":return e.toLanguageString(ma,ka[ma]);case"numeric":return e.toLanguageString(da,ka[da]);case"boolean":return e.toLanguageString(va,ka[va]);case"date":return e.toLanguageString(fa,ka[fa]);default:return}},rl=s,ol=rl.h,al=rl.version&&"3"===rl.version[0],sl={props:{field:String,filterType:String,value:[Object,String,Number,Date,Boolean],operator:String,operators:Array,booleanValues:Array},emits:{change:null,filtercellfocus:null},methods:{handleFocus:function(t){this.$emit("filtercellfocus",t)},triggerChange:function(t){this.$emit("change",t)},inputChange:function(t,e){var n=Js(t,e,this.$props);this.triggerChange(n)},boolDropdownChange:function(t,e){var n=el(t.value.operator,e);this.triggerChange(n)}},setup:al?function(){var t=!!al;return{v3:t}}:void 0,render:function(t){var e=this,n=ol||t,i=this.$props,r=i.filterType,o=i.value,a=i.booleanValues;switch(r){case"numeric":return n(u.uI,{value:o,attrs:this.v3?void 0:{value:o},onChange:function(t){e.inputChange(t.value,t.event)},on:this.v3?void 0:{change:function(t){e.inputChange(t.value,t.event)}}});case"date":return n(zt.lr,{value:o,attrs:this.v3?void 0:{value:o},onFocus:this.handleFocus,on:this.v3?void 0:{focus:this.handleFocus,change:function(t){e.inputChange(t.value,t.event)}},onChange:function(t){e.inputChange(t.value,t.event)}});case"boolean":var s=function(t){return null===t||void 0===t};return n(Vt.O8,{onChange:this.boolDropdownChange,on:this.v3?void 0:{change:this.boolDropdownChange},value:a.find((function(t){return t.operator===(s(o)?"":o)})),attrs:this.v3?void 0:{value:a.find((function(t){return t.operator===(s(o)?"":o)})),"data-items":a,textField:"text"},"data-items":a,textField:"text"});default:return n("span",{class:"k-textbox k-input k-input-md k-rounded-md k-input-solid"},[n("input",{class:"k-input-inner",value:this.v3?o||"":null,domProps:this.v3?void 0:{value:o||""},onInput:function(t){e.inputChange(t.target.value,t)},on:this.v3?void 0:{input:function(t){e.inputChange(t.target.value,t)}}})])}}},ll=sl,ul=s,cl=ul.h,hl=ul.version&&"3"===ul.version[0],pl={props:{filterType:String,operator:String,operators:Array},emits:{change:null},methods:{triggerChange:function(t){this.$emit("change",t)},operatorChange:function(t,e){var n=nl(t.value.operator,e,this.$props.value);this.triggerChange(n)}},setup:hl?function(){var t=!!hl;return{v3:t}}:void 0,render:function(t){var e=this,n=cl||t,i=this.$props.operators.find((function(t){return t.operator===e.$props.operator}))||null;return"boolean"!==this.$props.filterType?n(Vt.O8,{onChange:this.operatorChange,on:this.v3?void 0:{change:this.operatorChange},value:i,attrs:this.v3?void 0:{value:i,"data-items":this.$props.operators,textField:"text"},"data-items":this.$props.operators,textField:"text"}):null}},dl=pl,fl=function(){return fl=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1&&n.splice(i,1),fl(fl({},e),{filters:n})},insertGroup:function(t,e){return fl(fl({},e),{filters:ml([t],e.filters,!0)})},isControlled:function(){return void 0!==this.$props.expanded},onFilterExpand:function(){var t=this.isControlled(),e=!(t?this.$props.expanded:this.currentExpanded);this.$emit("expandchange",e),t||(this.currentExpanded=e)},filterChangeHandler:function(t,e){this.filterChange(e||0,t)},firstFilterChange:function(t){this.filterChange(0,t)},secondFilterChange:function(t){this.filterChange(1,t)},filterChange:function(t,e){var n=this.filterGroup.filters.map((function(n,i){return i===t?fl(fl({},n),{value:e.value,operator:e.operator}):n}));this.filterGroup=fl(fl({},this.filterGroup),{filters:n})},logicChange:function(t){this.filterGroup=fl(fl({},this.filterGroup),{logic:t.target.value.operator})},clear:function(t){if(t.preventDefault(),l.jm.call(this,"filterchange")){var e=this.$props.column.field,n=xl(this.$props.filter),i=wl(e,this.$props.filter),r=n.filters.filter((function(t){return t!==i}));r.length?this.$emit("filterchange",fl(fl({},n),{filters:r}),{event:t,field:this.$props.column.field}):this.$emit("filterchange",null,{event:t,field:this.$props.column.field}),this.$emit("closemenu")}},currentFilterGroup:function(){return fl(fl({},this.filterGroup),{filters:this.filterGroup.filters.filter((function(t){return void 0!==t.value&&null!==t.value&&""!==t.value||null===t.value&&t.operator}))})},submit:function(t){if(t.preventDefault(),l.jm.call(this,"filterchange")){var e=this.$props.column.field,n=xl(this.$props.filter),i=wl(e,this.$props.filter),r=this.currentFilterGroup(),o=null;if(i&&r.filters.length>0){var a=n.filters.map((function(t){return t===i?r:t}));o=fl(fl({},n),{filters:a})}else if(0===r.filters.length){a=n.filters.filter((function(t){return t!==i}));a.length&&(o=fl(fl({},n),{filters:a}))}else o=fl(fl({},n),{filters:ml(ml([],n.filters,!0),[r],!1)});this.$emit("filterchange",o,{event:t,field:this.$props.column.field}),this.$emit("closemenu")}},handleFocus:function(t){this.$emit("filterfocus",t)}},setup:yl?function(){var t=!!yl,e=bl("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,render:function(t){var e=this,n=this,i=gl||t,r=this.$props,o=r.column,a=r.filterUI,s=r.hideSecondFilter,u=r.filterOperators;if(!o||!o.field)return i("div");var h=o.filter||"text",p=(void 0!==s||Xs[h],(0,c.GB)(this)),d=this.filterGroup.filters,f=Ws(u[h],p),m=Ws(Ys,p),v={field:o.field,value:d[0].value,operator:d[0].operator,operators:f,booleanValues:m,filterType:h},g={field:o.field,value:d[1].value,operator:d[1].operator,operators:f,booleanValues:m,filterType:h},y=this.filterGroup.logic,b=Ws(Us,p),x={value:b.find((function(t){return t.operator===(null===y?"":y)})),data:b},w=0!==this.currentFilterGroup().filters.length,k=this.isControlled()?this.$props.expanded:this.currentExpanded,C=v.field,_=v.value,S=v.operator,M=v.booleanValues,A=v.filterType,I=g.field,T=g.value,N=g.operator,$=g.booleanValues,O=g.filterType,L=a&&l.rh.call(this,a,l.WM.call(this)),E=l.$F.call(this,{h:i,template:L,defaultRendering:void 0,additionalProps:this.$props,additionalListeners:{change:this.filterChangeHandler,logicchange:this.logicChange}});return i(As,this.v3?function(){return[i(ks,{title:p.toLanguageString(ea,ka[ea]),attrs:e.v3?void 0:{title:p.toLanguageString(ea,ka[ea]),icon:"filter",svgIcon:Gt.Sj_},icon:"filter",svgIcon:Gt.Sj_,onMenuitemclick:e.onFilterExpand,on:e.v3?void 0:{menuitemclick:e.onFilterExpand}}),i(Zs,{show:!!k,attrs:e.v3?void 0:{show:!!k}},e.v3?function(){return[i("div",{class:"kendo-grid-filter-menu-container"},[i("form",{class:"k-filter-menu k-group k-reset k-border-up",onSubmit:e.submit,on:e.v3?void 0:{submit:e.submit,reset:e.clear},onReset:e.clear},[i("div",{class:"k-filter-menu-container"},[!a&&[i(dl,{operator:S,attrs:e.v3?void 0:{operator:S,filterType:A,operators:f},filterType:A,onChange:function(t){n.filterChangeHandler(t,0)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,0)}},operators:f}),i(ll,{field:C,attrs:e.v3?void 0:{field:C,value:_,operator:S,booleanValues:M,filterType:A,operators:f},value:_,operator:S,booleanValues:M,filterType:A,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,0)}},onChange:function(t){n.filterChangeHandler(t,0)},operators:f})],!s&&!a&&[i(Vt.O8,{onChange:e.logicChange,on:e.v3?void 0:{change:e.logicChange},class:"k-filter-and","data-items":x.data,attrs:e.v3?void 0:{"data-items":x.data,value:x.value,textField:"text"},value:x.value,textField:"text"}),i(dl,{operator:N,attrs:e.v3?void 0:{operator:N,filterType:O,operators:f},filterType:O,onChange:function(t){n.filterChangeHandler(t,1)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,1)}},operators:f}),i(ll,{field:I,attrs:e.v3?void 0:{field:I,value:T,operator:N,booleanValues:$,filterType:O,operators:f},value:T,operator:N,booleanValues:$,filterType:O,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,1)}},onChange:function(t){n.filterChangeHandler(t,1)},operators:f})],a&&E,i("div",{class:"k-columnmenu-actions"},[i(Ut.$n,{themeColor:"primary",attrs:e.v3?void 0:{themeColor:"primary",disabled:!w},disabled:!w},e.v3?function(){return[p.toLanguageString(ta,ka[ta])]}:[p.toLanguageString(ta,ka[ta])]),i(Ut.$n,{type:"reset",attrs:e.v3?void 0:{type:"reset"}},e.v3?function(){return[p.toLanguageString(Qo,ka[Qo])]}:[p.toLanguageString(Qo,ka[Qo])])])])])])]}:[i("div",{class:"kendo-grid-filter-menu-container"},[i("form",{class:"k-filter-menu k-group k-reset k-border-up",onSubmit:e.submit,on:e.v3?void 0:{submit:e.submit,reset:e.clear},onReset:e.clear},[i("div",{class:"k-filter-menu-container"},[!a&&[i(dl,{operator:S,attrs:e.v3?void 0:{operator:S,filterType:A,operators:f},filterType:A,onChange:function(t){n.filterChangeHandler(t,0)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,0)}},operators:f}),i(ll,{field:C,attrs:e.v3?void 0:{field:C,value:_,operator:S,booleanValues:M,filterType:A,operators:f},value:_,operator:S,booleanValues:M,filterType:A,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,0)}},onChange:function(t){n.filterChangeHandler(t,0)},operators:f})],!s&&!a&&[i(Vt.O8,{onChange:e.logicChange,on:e.v3?void 0:{change:e.logicChange},class:"k-filter-and","data-items":x.data,attrs:e.v3?void 0:{"data-items":x.data,value:x.value,textField:"text"},value:x.value,textField:"text"}),i(dl,{operator:N,attrs:e.v3?void 0:{operator:N,filterType:O,operators:f},filterType:O,onChange:function(t){n.filterChangeHandler(t,1)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,1)}},operators:f}),i(ll,{field:I,attrs:e.v3?void 0:{field:I,value:T,operator:N,booleanValues:$,filterType:O,operators:f},value:T,operator:N,booleanValues:$,filterType:O,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,1)}},onChange:function(t){n.filterChangeHandler(t,1)},operators:f})],a&&E,i("div",{class:"k-columnmenu-actions"},[i(Ut.$n,{themeColor:"primary",attrs:e.v3?void 0:{themeColor:"primary",disabled:!w},disabled:!w},e.v3?function(){return[p.toLanguageString(ta,ka[ta])]}:[p.toLanguageString(ta,ka[ta])]),i(Ut.$n,{type:"reset",attrs:e.v3?void 0:{type:"reset"}},e.v3?function(){return[p.toLanguageString(Qo,ka[Qo])]}:[p.toLanguageString(Qo,ka[Qo])])])])])])])]}:[i(ks,{title:p.toLanguageString(ea,ka[ea]),attrs:e.v3?void 0:{title:p.toLanguageString(ea,ka[ea]),icon:"filter",svgIcon:Gt.Sj_},icon:"filter",svgIcon:Gt.Sj_,onMenuitemclick:e.onFilterExpand,on:e.v3?void 0:{menuitemclick:e.onFilterExpand}}),i(Zs,{show:!!k,attrs:e.v3?void 0:{show:!!k}},e.v3?function(){return[i("div",{class:"kendo-grid-filter-menu-container"},[i("form",{class:"k-filter-menu k-group k-reset k-border-up",onSubmit:e.submit,on:e.v3?void 0:{submit:e.submit,reset:e.clear},onReset:e.clear},[i("div",{class:"k-filter-menu-container"},[!a&&[i(dl,{operator:S,attrs:e.v3?void 0:{operator:S,filterType:A,operators:f},filterType:A,onChange:function(t){n.filterChangeHandler(t,0)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,0)}},operators:f}),i(ll,{field:C,attrs:e.v3?void 0:{field:C,value:_,operator:S,booleanValues:M,filterType:A,operators:f},value:_,operator:S,booleanValues:M,filterType:A,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,0)}},onChange:function(t){n.filterChangeHandler(t,0)},operators:f})],!s&&!a&&[i(Vt.O8,{onChange:e.logicChange,on:e.v3?void 0:{change:e.logicChange},class:"k-filter-and","data-items":x.data,attrs:e.v3?void 0:{"data-items":x.data,value:x.value,textField:"text"},value:x.value,textField:"text"}),i(dl,{operator:N,attrs:e.v3?void 0:{operator:N,filterType:O,operators:f},filterType:O,onChange:function(t){n.filterChangeHandler(t,1)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,1)}},operators:f}),i(ll,{field:I,attrs:e.v3?void 0:{field:I,value:T,operator:N,booleanValues:$,filterType:O,operators:f},value:T,operator:N,booleanValues:$,filterType:O,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,1)}},onChange:function(t){n.filterChangeHandler(t,1)},operators:f})],a&&E,i("div",{class:"k-columnmenu-actions"},[i(Ut.$n,{themeColor:"primary",attrs:e.v3?void 0:{themeColor:"primary",disabled:!w},disabled:!w},e.v3?function(){return[p.toLanguageString(ta,ka[ta])]}:[p.toLanguageString(ta,ka[ta])]),i(Ut.$n,{type:"reset",attrs:e.v3?void 0:{type:"reset"}},e.v3?function(){return[p.toLanguageString(Qo,ka[Qo])]}:[p.toLanguageString(Qo,ka[Qo])])])])])])]}:[i("div",{class:"kendo-grid-filter-menu-container"},[i("form",{class:"k-filter-menu k-group k-reset k-border-up",onSubmit:e.submit,on:e.v3?void 0:{submit:e.submit,reset:e.clear},onReset:e.clear},[i("div",{class:"k-filter-menu-container"},[!a&&[i(dl,{operator:S,attrs:e.v3?void 0:{operator:S,filterType:A,operators:f},filterType:A,onChange:function(t){n.filterChangeHandler(t,0)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,0)}},operators:f}),i(ll,{field:C,attrs:e.v3?void 0:{field:C,value:_,operator:S,booleanValues:M,filterType:A,operators:f},value:_,operator:S,booleanValues:M,filterType:A,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,0)}},onChange:function(t){n.filterChangeHandler(t,0)},operators:f})],!s&&!a&&[i(Vt.O8,{onChange:e.logicChange,on:e.v3?void 0:{change:e.logicChange},class:"k-filter-and","data-items":x.data,attrs:e.v3?void 0:{"data-items":x.data,value:x.value,textField:"text"},value:x.value,textField:"text"}),i(dl,{operator:N,attrs:e.v3?void 0:{operator:N,filterType:O,operators:f},filterType:O,onChange:function(t){n.filterChangeHandler(t,1)},on:e.v3?void 0:{change:function(t){n.filterChangeHandler(t,1)}},operators:f}),i(ll,{field:I,attrs:e.v3?void 0:{field:I,value:T,operator:N,booleanValues:$,filterType:O,operators:f},value:T,operator:N,booleanValues:$,filterType:O,onFiltercellfocus:e.handleFocus,on:e.v3?void 0:{filtercellfocus:e.handleFocus,change:function(t){n.filterChangeHandler(t,1)}},onChange:function(t){n.filterChangeHandler(t,1)},operators:f})],a&&E,i("div",{class:"k-columnmenu-actions"},[i(Ut.$n,{themeColor:"primary",attrs:e.v3?void 0:{themeColor:"primary",disabled:!w},disabled:!w},e.v3?function(){return[p.toLanguageString(ta,ka[ta])]}:[p.toLanguageString(ta,ka[ta])]),i(Ut.$n,{type:"reset",attrs:e.v3?void 0:{type:"reset"}},e.v3?function(){return[p.toLanguageString(Qo,ka[Qo])]}:[p.toLanguageString(Qo,ka[Qo])])])])])])])])}},Cl=kl,_l=s,Sl=_l.h,Ml=_l.version&&"3"===_l.version[0],Al={name:"KendoColumnMenuContent",inheritAttrs:!1,props:{column:Object,sortable:[Boolean,Object],sort:{type:Array},filter:Object,filterOperators:Object,filterable:Boolean,render:[Boolean,String,Function,Object]},methods:{handleFocus:function(t){this.$emit("contentfocus",t)},closeMenu:function(){this.$emit("closemenu")},expandChange:function(){this.$emit("expandchange")},sortChange:function(t,e){this.$emit("sortchange",t,e)},filterChange:function(t,e){this.$emit("filterchange",t,e)},contentKeyDown:function(t){t.keyCode===l.D$.esc&&this.$emit("closemenu")}},setup:Ml?function(){var t=!!Ml;return{v3:t}}:void 0,render:function(t){var e=Sl||t,n=this.$props.render,i=e("div",{style:this.$attrs.style,onKeydown:this.contentKeyDown,on:this.v3?void 0:{keydown:this.contentKeyDown}},[e(Fs,{column:this.$props.column,attrs:this.v3?void 0:{column:this.$props.column,sortable:this.$props.sortable,sort:this.$props.sort},sortable:this.$props.sortable,sort:this.$props.sort,onClosemenu:this.closeMenu,on:this.v3?void 0:{closemenu:this.closeMenu,sortchange:this.sortChange},onSortchange:this.sortChange}),e(Cl,{column:this.$props.column,attrs:this.v3?void 0:{column:this.$props.column,filterable:this.$props.filterable,filter:this.$props.filter,filterOperators:this.$props.filterOperators},filterable:this.$props.filterable,filter:this.$props.filter,filterOperators:this.$props.filterOperators,onFilterfocus:this.handleFocus,on:this.v3?void 0:{filterfocus:this.handleFocus,closemenu:this.closeMenu,expandchange:this.expandChange,filterchange:this.filterChange},onClosemenu:this.closeMenu,onExpandchange:this.expandChange,onFilterchange:this.filterChange})]);return l.$F.call(this,{h:e,template:"boolean"!==typeof n&&n,defaultRendering:i,additionalProps:this.$props,additionalListeners:{closemenu:this.closeMenu,filterchange:this.filterChange,sortchange:this.sortChange,expandchange:this.expandChange,contentfocus:this.handleFocus}})}},Il=Al,Tl=s,Nl=Tl.h,$l=Tl.version&&"3"===Tl.version[0],Ol=Tl.inject,Ll={name:"KendoColumnMenu",props:{animate:{type:[Boolean,Object],default:function(){return!0}},column:Object,sortable:[Boolean,Object],sort:{type:Array},opened:Boolean,filter:Object,filterable:Boolean,filterOperators:Object,render:[Boolean,String,Function,Object]},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data:function(){return{show:!1,blurTimeout:void 0}},created:function(){this._anchor=(0,l.Os)()},computed:{currentOpen:function(){return this.show||this.$props.opened}},watch:{currentOpen:function(t){this.$nextTick((function(){if(this._content=this.$refs.content,t&&this._content){var e=Xe.getFocusableElements(this._content,{focusable:!0});e.length?e[0].focus():this._content.focus()}}))}},methods:{blur:function(){var t=this;clearTimeout(this.blurTimeout),this.blurTimeout=setTimeout((function(){t.closeMenu()}),200)},focus:function(){clearTimeout(this.blurTimeout)},handleFocus:function(t){clearTimeout(this.blurTimeout)},anchorClick:function(t){t.preventDefault(),this.show=!this.show},closeMenu:function(){this.$emit("close"),this.show=!1},sortChange:function(t,e){this.$emit("sortchange",t,e)},filterChange:function(t,e){this.$emit("filterchange",t,e)}},setup:$l?function(){var t=!!$l,e=Ol("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,render:function(t){var e=this,n=Nl||t,i=this.$props.render,r=(0,c.GB)(this);return n("div",{style:{display:"inline"}},[n("a",{class:"k-grid-header-menu k-grid-column-menu",title:"".concat(this.$props.column.field," ").concat(r.toLanguageString(Jo,ka[Jo])),attrs:this.v3?void 0:{title:"".concat(this.$props.column.field," ").concat(r.toLanguageString(Jo,ka[Jo])),href:"#"},ref:(0,l.cZ)(this,"kendoAnchor",this._anchor),onClick:this.anchorClick,on:this.v3?void 0:{click:this.anchorClick},href:"#"},[n(l.In,{name:"more-vertical",attrs:this.v3?void 0:{name:"more-vertical",icon:Gt.DeK},icon:Gt.DeK})]),n(Nn.z,{animate:this.$props.animate,attrs:this.v3?void 0:{animate:this.$props.animate,anchor:this._anchor,show:this.currentOpen},anchor:this._anchor,show:this.currentOpen},this.v3?function(){return[n("div",{ref:"content",class:"k-grid-columnmenu-popup",tabindex:0,attrs:e.v3?void 0:{tabindex:0},onFocusout:e.blur,on:e.v3?void 0:{focusout:e.blur,focusin:e.focus},onFocusin:e.focus,style:{outline:"none",width:"230px"}},[n(Il,{column:e.$props.column,attrs:e.v3?void 0:{column:e.$props.column,sortable:e.$props.sortable,sort:e.$props.sort,filter:e.$props.filter,filterable:e.$props.filterable,filterOperators:e.$props.filterOperators,render:i},sortable:e.$props.sortable,sort:e.$props.sort,filter:e.$props.filter,filterable:e.$props.filterable,filterOperators:e.$props.filterOperators,render:i,onContentfocus:e.handleFocus,on:e.v3?void 0:{contentfocus:e.handleFocus,closemenu:e.closeMenu,sortchange:e.sortChange,filterchange:e.filterChange},onClosemenu:e.closeMenu,onSortchange:e.sortChange,onFilterchange:e.filterChange})])]}:[n("div",{ref:"content",class:"k-grid-columnmenu-popup",tabindex:0,attrs:e.v3?void 0:{tabindex:0},onFocusout:e.blur,on:e.v3?void 0:{focusout:e.blur,focusin:e.focus},onFocusin:e.focus,style:{outline:"none",width:"230px"}},[n(Il,{column:e.$props.column,attrs:e.v3?void 0:{column:e.$props.column,sortable:e.$props.sortable,sort:e.$props.sort,filter:e.$props.filter,filterable:e.$props.filterable,filterOperators:e.$props.filterOperators,render:i},sortable:e.$props.sortable,sort:e.$props.sort,filter:e.$props.filter,filterable:e.$props.filterable,filterOperators:e.$props.filterOperators,render:i,onContentfocus:e.handleFocus,on:e.v3?void 0:{contentfocus:e.handleFocus,closemenu:e.closeMenu,sortchange:e.sortChange,filterchange:e.filterChange},onClosemenu:e.closeMenu,onSortchange:e.sortChange,onFilterchange:e.filterChange})])])])}},El=Ll,Pl=s,Dl=Pl.h,Rl=Pl.version&&"3"===Pl.version[0],Bl={none:"none",asc:"ascending",desc:"descending"},Fl={true:{asc:"desc",desc:"","":"asc"},false:{asc:"desc",desc:"asc","":"asc"}},zl={name:"KendoHeaderRow",props:{grid:Object,cellRender:[String,Function,Object],groupable:[Boolean,Object],reorderable:Boolean,sortable:[Boolean,Object],sort:{type:Array},filter:Object,filterable:Boolean,filterOperators:Object,filterChange:Function,filterRow:Object,columns:Array,columnsMap:Array,columnResize:Object,columnMenu:[Boolean,String,Function,Object],columnMenuAnimate:{type:[Boolean,Object],default:function(){return!0}},isRtl:Boolean,isColCountDefined:Boolean,columnsInitial:Array},inject:{onNavFocus:{default:l.lQ},kendoLocalizationService:{default:null}},data:function(){return{columnMenuOpened:{}}},created:function(){this.serviceIndex=0,this.index=-1,this._element=null,this.cellClick=this.cellClick.bind(this)},methods:{pressHandler:function(t,e){this.$emit("pressHandler",t,e)},dragHandler:function(t,e){this.$emit("dragHandler",t,e)},releaseHandler:function(t){this.$emit("releaseHandler",t)},selectionChangeHandler:function(t){this.$emit("selectionchange",t)},cellClick:function(t,e){if(t.preventDefault(),l.jm.call(this,"sortChange")){var n=ns(this.$props.sortable||!1,e.sortable||!1),i=n.allowUnsort,r=n.mode,o=(this.$props.sort||[]).filter((function(t){return t.field===e.field}))[0],a=Fl[i][o&&o.dir||""],s="single"===r?[]:(this.$props.sort||[]).filter((function(t){return t.field!==e.field}));""!==a&&e.field&&s.push({field:e.field,dir:a}),this.sortChangeHandler(s,{event:t,field:e.field})}},sortChangeHandler:function(t,e){this.$emit("sortChange",t,e)},filterChangeHandler:function(t,e){this.$emit("filterChange",t,e)},cellClass:function(t,e,n){var i=e?" "+e:"",r="k-header"+(n?" k-grid-header-sticky":"")+i;return this.$props.sort&&this.$props.sort.filter((function(e){return e.field===t})).length>0&&(r+=" k-sorted"),r},cellKeyDown:function(t,e){var n;t.defaultPrevented||(t.keyCode===l.D$.enter&&this.cellClick(t,e),t.altKey&&t.keyCode===l.D$.down&&e.field&&(t.preventDefault(),this.columnMenuOpened=(n={},n[e.field]=!0,n)))},getTemplate:function(t){return l.rh.call(this.$props.grid,t,l.WM.call(this.$props.grid))},columnMenuClose:function(){this.onNavFocus({}),this.columnMenuOpened={}}},computed:{element:{get:function(){return this._element}},theadClasses:{get:function(){return{"k-table-thead":!0,"k-grid-header":!0}}}},setup:Rl?function(){var t=!!Rl;return{v3:t}}:void 0,render:function(t){var e=Dl||t,n=(0,c.GB)(this),i=n.toLanguageString(ua,ka[ua]),r=n.toLanguageString(ca,ka[ca]),o=n.toLanguageString(ha,ka[ha]);this.serviceIndex=0,this.index=-1;var a=function(t){return t.map((function(t){var n=this,a=this,s=this.$props.columns[t],u=this.$props.sortable&&s.sortable,c=this.$props.sort?this.$props.sort.findIndex((function(t){return t.field===s.field})):-1,h=c>=0&&this.$props.sort[c].dir||"none",p=function(t){if(!this.$props.sort)return null;var n=t>=0?this.$props.sort[t].dir:"";return t>=0&&[e("span",{key:1,class:"k-sort-icon"},[e(l.In,{name:"sort-"+n+"-small",attrs:this.v3?void 0:{name:"sort-"+n+"-small",icon:"asc"===n?Gt.uEm:Gt.wan},icon:"asc"===n?Gt.uEm:Gt.wan})]),this.$props.sort.length>1&&e("span",{key:2,class:"k-sort-icon"},[e("span",{class:"k-sort-order"},[t+1])])]},d=p.call(this,c),f=s.columnMenu||!1===s.columnMenu?s.columnMenu:this.$props.columnMenu,m=(s.kFirst?"k-first ":"")+this.cellClass(s.field,s.headerClassName,s.locked)+(f?" k-filterable":""),v=f&&"boolean"!==typeof f?this.getTemplate(f):!!f,g=void 0!==s.left?this.$props.isRtl?{left:s.right+"px",right:s.left+"px"}:{left:s.left+"px",right:s.right+"px"}:{},y="none"===Bl[h]?i:"ascending"===Bl[h]?r:o,b=s.isAccessible?{ariaSort:Bl[h],ariaLabel:y,role:"columnheader",ariaColumnIndex:this.$props.isColCountDefined?this.$props.columnsInitial.findIndex((function(t){return t.field===s.field}))+1:void 0,ariaSelected:!1,ariaHaspopup:f?"menu":this.$props.filterable&&s.filterable?"dialog":void 0}:{role:"columnheader"},x=s.declarationIndex>=0?++this.index:--this.serviceIndex,w=void 0!==s.columnMenuOpened?s.columnMenuOpened:this.columnMenuOpened[s.field];return e(rn,{ariaSort:u?b.ariaSort:void 0,attrs:this.v3?void 0:{ariaSort:u?b.ariaSort:void 0,ariaLabel:u?b.ariaLabel:void 0,role:b.role,ariaColumnIndex:b.ariaColumnIndex,ariaSelected:b.ariaSelected,ariaHaspopup:b.ariaHaspopup,colSpan:s.colSpan,rowSpan:s.rowSpan,columnId:s.id,navigatable:s.navigatable},ariaLabel:u?b.ariaLabel:void 0,role:b.role,ariaColumnIndex:b.ariaColumnIndex,ariaSelected:b.ariaSelected,ariaHaspopup:b.ariaHaspopup,key:x,colSpan:s.colSpan,rowSpan:s.rowSpan,class:m,style:g,columnId:s.id,navigatable:s.navigatable,onKeydown:function(t){return a.cellKeyDown(t,s)},on:this.v3?void 0:{keydown:function(t){return a.cellKeyDown(t,s)}}},this.v3?function(){return[[0===s.children.length&&f&&e(El,{key:0,column:{field:s.field,filter:s.filter},attrs:n.v3?void 0:{column:{field:s.field,filter:s.filter},opened:w,animate:n.$props.columnMenuAnimate,sortable:u,sort:n.$props.sort,filter:n.$props.filter,filterable:n.$props.filterable&&s.filterable,filterOperators:n.$props.filterOperators,render:v},opened:w,animate:n.$props.columnMenuAnimate,sortable:u,sort:n.$props.sort,onClose:n.columnMenuClose,on:n.v3?void 0:{close:n.columnMenuClose,sortchange:n.sortChangeHandler,filterchange:n.filterChangeHandler},onSortchange:n.sortChangeHandler,filter:n.$props.filter,filterable:n.$props.filterable&&s.filterable,filterOperators:n.$props.filterOperators,onFilterchange:n.filterChangeHandler,render:v}),s.internalHeaderCell&&e("span",{class:"k-cell-inner"},[e(s.internalHeaderCell,{key:1,field:s.field,attrs:n.v3?void 0:{field:s.field,sortable:u,selectionValue:s.headerSelectionValue,title:s.title,render:(s.headerCell||n.$props.cellRender)&&n.getTemplate(s.headerCell||n.$props.cellRender)},sortable:u,onHeadercellclick:function(t){return a.cellClick(t,s)},on:n.v3?void 0:{headercellclick:function(t){return a.cellClick(t,s)},selectionchange:n.selectionChangeHandler},onSelectionchange:n.selectionChangeHandler,selectionValue:s.headerSelectionValue,title:s.title,render:(s.headerCell||n.$props.cellRender)&&n.getTemplate(s.headerCell||n.$props.cellRender)},n.v3?function(){return[d]}:[d])])||e("span",{class:"k-cell-inner"},[e(gs,{key:1,field:s.field,attrs:n.v3?void 0:{field:s.field,sortable:u,selectionValue:s.headerSelectionValue,title:s.title,render:(s.headerCell||n.$props.cellRender)&&n.getTemplate(s.headerCell||n.$props.cellRender)},sortable:u,onHeadercellclick:function(t){return a.cellClick(t,s)},on:n.v3?void 0:{headercellclick:function(t){return a.cellClick(t,s)}},selectionValue:s.headerSelectionValue,title:s.title,render:(s.headerCell||n.$props.cellRender)&&n.getTemplate(s.headerCell||n.$props.cellRender)},n.v3?function(){return[d]}:[d])]),n.$props.columnResize&&n.$props.columnResize.resizable&&s.resizable&&e(ss,{key:2,onResize:function(t,e,n){return a.$props.columnResize&&a.$props.columnResize.dragHandler(t,s,e,n)},on:n.v3?void 0:{resize:function(t,e,n){return a.$props.columnResize&&a.$props.columnResize.dragHandler(t,s,e,n)}}})]]}:[[0===s.children.length&&f&&e(El,{key:0,column:{field:s.field,filter:s.filter},attrs:n.v3?void 0:{column:{field:s.field,filter:s.filter},opened:w,animate:n.$props.columnMenuAnimate,sortable:u,sort:n.$props.sort,filter:n.$props.filter,filterable:n.$props.filterable&&s.filterable,filterOperators:n.$props.filterOperators,render:v},opened:w,animate:n.$props.columnMenuAnimate,sortable:u,sort:n.$props.sort,onClose:n.columnMenuClose,on:n.v3?void 0:{close:n.columnMenuClose,sortchange:n.sortChangeHandler,filterchange:n.filterChangeHandler},onSortchange:n.sortChangeHandler,filter:n.$props.filter,filterable:n.$props.filterable&&s.filterable,filterOperators:n.$props.filterOperators,onFilterchange:n.filterChangeHandler,render:v}),s.internalHeaderCell&&e("span",{class:"k-cell-inner"},[e(s.internalHeaderCell,{key:1,field:s.field,attrs:n.v3?void 0:{field:s.field,sortable:u,selectionValue:s.headerSelectionValue,title:s.title,render:(s.headerCell||n.$props.cellRender)&&n.getTemplate(s.headerCell||n.$props.cellRender)},sortable:u,onHeadercellclick:function(t){return a.cellClick(t,s)},on:n.v3?void 0:{headercellclick:function(t){return a.cellClick(t,s)},selectionchange:n.selectionChangeHandler},onSelectionchange:n.selectionChangeHandler,selectionValue:s.headerSelectionValue,title:s.title,render:(s.headerCell||n.$props.cellRender)&&n.getTemplate(s.headerCell||n.$props.cellRender)},n.v3?function(){return[d]}:[d])])||e("span",{class:"k-cell-inner"},[e(gs,{key:1,field:s.field,attrs:n.v3?void 0:{field:s.field,sortable:u,selectionValue:s.headerSelectionValue,title:s.title,render:(s.headerCell||n.$props.cellRender)&&n.getTemplate(s.headerCell||n.$props.cellRender)},sortable:u,onHeadercellclick:function(t){return a.cellClick(t,s)},on:n.v3?void 0:{headercellclick:function(t){return a.cellClick(t,s)}},selectionValue:s.headerSelectionValue,title:s.title,render:(s.headerCell||n.$props.cellRender)&&n.getTemplate(s.headerCell||n.$props.cellRender)},n.v3?function(){return[d]}:[d])]),n.$props.columnResize&&n.$props.columnResize.resizable&&s.resizable&&e(ss,{key:2,onResize:function(t,e,n){return a.$props.columnResize&&a.$props.columnResize.dragHandler(t,s,e,n)},on:n.v3?void 0:{resize:function(t,e,n){return a.$props.columnResize&&a.$props.columnResize.dragHandler(t,s,e,n)}}})]])}),this)};return e("thead",{role:"rowgroup",attrs:this.v3?void 0:{role:"rowgroup","data-keyboardnavheader":!0},class:this.theadClasses,"data-keyboardnavheader":!0},[this.$props.columnsMap.map((function(t,n){var i=this;return(this.$props.groupable||this.$props.reorderable)&&e(ps,{key:n,onPressHandler:this.pressHandler,on:this.v3?void 0:{pressHandler:this.pressHandler,dragHandler:this.dragHandler,releaseHandler:this.releaseHandler},onDragHandler:this.dragHandler,onReleaseHandler:this.releaseHandler},this.v3?function(){return[a.call(i,t)]}:[a.call(i,t)])||e("tr",{class:"k-table-row",role:"row",attrs:this.v3?void 0:{role:"row","aria-rowindex":this.columnsMap.length},"aria-rowindex":this.columnsMap.length},[a.call(this,t)])}),this),this.$props.filterRow])}},jl=zl,Vl=s,Hl=Vl.h,Zl=Vl.version&&"3"===Vl.version[0],Ul=Vl.inject,Gl={name:"KendoGridFilterCell",inheritAttrs:!1,props:{id:String,grid:Object,field:String,filterType:String,colSpan:Number,title:String,value:[String,Number,Boolean,Date],operator:[String,Function],operators:Array,booleanValues:Array,onChange:Function,render:[String,Function,Object],ariaLabel:String,size:String},inject:{kendoLocalizationService:{default:null},kendoIntlService:{default:null}},methods:{inputChange:function(t,e){var n=Js(t,e,this.$props);this.triggerChange(n)},operatorChange:function(t,e){var n=nl(t.value.operator,e,this.$props.value);this.triggerChange(n)},boolDropdownChange:function(t,e){var n=el(t.value.operator,e);this.triggerChange(n)},clear:function(t){t.preventDefault(),this.triggerChange({value:"",operator:"",event:t})},triggerChange:function(t){t.field=this.$props.field,this.$emit("change",t)}},setup:Zl?function(){var t=!!Zl,e=Ul("kendoIntlService",{}),n=Ul("kendoLocalizationService",{});return{v3:t,kendoIntlService:e,kendoLocalizationService:n}}:void 0,render:function(t){var e=this,n=Hl||t,i=(0,c.GB)(this),r=this.$props.size,o=this.$props.operators.find((function(t){return t.operator===e.$props.operator}))||null,a=function(){if("boolean"!==this.$props.filterType)return n(Vt.O8,{onChange:this.operatorChange,on:this.v3?void 0:{change:this.operatorChange},value:o,attrs:this.v3?void 0:{value:o,size:r,icon:"filter",svgIcon:Gt.Sj_,iconClassName:"filter k-button-icon","data-items":this.$props.operators,textField:"text",title:i.toLanguageString(aa,ka[aa]),popupSettings:{width:""},ariaLabel:"filter"},size:r,class:"k-dropdown-operator",icon:"filter",svgIcon:Gt.Sj_,iconClassName:"filter k-button-icon","data-items":this.$props.operators,textField:"text",title:i.toLanguageString(aa,ka[aa]),popupSettings:{width:""},ariaLabel:"filter"})},s=function(t,e){var i=this;switch(t){case"numeric":return n(u.uI,{size:r,attrs:this.v3?void 0:{size:r,value:e,title:this.$props.title,ariaLabel:this.ariaLabel},value:e,onChange:function(t){i.inputChange(t.value,t.event)},on:this.v3?void 0:{change:function(t){i.inputChange(t.value,t.event)}},title:this.$props.title,ariaLabel:this.ariaLabel});case"date":return n(zt.lr,{size:r,attrs:this.v3?void 0:{size:r,value:e,title:this.$props.title,ariaLabel:this.ariaLabel},value:e,onChange:function(t){i.inputChange(t.value,t)},on:this.v3?void 0:{change:function(t){i.inputChange(t.value,t)}},title:this.$props.title,ariaLabel:this.ariaLabel});case"boolean":var o=this.$props.booleanValues;return n(Vt.O8,{onChange:this.boolDropdownChange,on:this.v3?void 0:{change:this.boolDropdownChange},size:r,attrs:this.v3?void 0:{size:r,value:o.find((function(t){return t.operator===(null!==e?e:"")})),"data-items":o,textField:"text",title:this.$props.title,ariaLabel:this.ariaLabel},value:o.find((function(t){return t.operator===(null!==e?e:"")})),"data-items":o,textField:"text",title:this.$props.title,ariaLabel:this.ariaLabel});default:return n(u.pd,{value:e||"",attrs:this.v3?void 0:{value:e||"",size:r,title:this.$props.title,"aria-label":this.ariaLabel},size:r,onInput:function(t){i.inputChange(t.target.value,t)},on:this.v3?void 0:{input:function(t){i.inputChange(t.target.value,t)}},title:this.$props.title,"aria-label":this.ariaLabel})}},h=n("div",{class:"k-filtercell",style:this.$attrs.style},[n("div",{class:"k-filtercell-wrapper"},[s.call(this,this.$props.filterType,this.$props.value),n("div",{class:"k-filtercell-operator"},[a.call(this),n(Ut.$n,{type:"button",attrs:this.v3?void 0:{type:"button",size:r,icon:"filter-clear",svgIcon:Gt.LjL,title:i.toLanguageString(Qo,ka[Qo])},size:r,icon:"filter-clear",svgIcon:Gt.LjL,class:{"k-disabled":!(null!==this.$props.value&&""!==this.$props.value||this.$props.operator)},title:i.toLanguageString(Qo,ka[Qo]),onClick:this.clear,on:this.v3?void 0:{click:this.clear}})])])]),p=this.$props.grid?l.WM.call(this.$props.grid):null,d=l.rh.call(this.$props.grid,this.$props.render,p);return l.$F.call(this,{h:n,template:d,defaultRendering:h,additionalProps:this.$props,additionalListeners:{change:this.triggerChange}})}},Kl=Gl,Wl=s,ql=Wl.h,Yl=Wl.version&&"3"===Wl.version[0],Xl=Wl.inject,Jl={name:"kendoFilterRow",props:{grid:Object,columns:Array,filter:Object,filterOperators:Object,sort:[Object,Array],cellRender:[String,Function,Object],isRtl:Boolean,ariaRowIndex:Number,size:String},inject:{kendoLocalizationService:{default:null}},methods:{headerCellClassName:function(t,e){var n="k-table-th k-header"+(e?" k-grid-header-sticky":"");return this.$props.sort&&this.$props.sort.filter((function(e){return e.field===t})).length>0&&(n+=" k-sorted"),n},setFilter:function(t,e,n,i){var r=[];if((""!==t&&null!==t||""!==e)&&r.push({field:n,operator:e,value:t}),this.$props.filter&&this.$props.filter.filters){var o=this.$props.filter.filters||[];o.forEach((function(t){var e=t;e&&e.field!==n&&r.push(e)}))}var a=r.length>0?{logic:"and",filters:r}:null;this.$emit("filterchange",a,i)}},setup:Yl?function(){var t=!!Yl,e=Xl("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,render:function(t){var e=ql||t,n=(0,c.GB)(this),i=this.$props.filter&&this.$props.filter.filters||[],r=function(t,e){void 0===e&&(e=null);var n=i.filter((function(e){return e.field===t}))[0];return n?n.value:e},o=function(t){var e=i.filter((function(e){return e.field===t}))[0];return e?e.operator:null},a=0,s=-1,l=this.$props.columns.filter((function(t){return 0===t.children.length})).map((function(t){var i=this,l=function(e){i.setFilter(e.value,e.operator,t.field,e)},u=tl(t.filter),c=t.field+" "+il(u,n),h=e(Kl,{grid:this.$props.grid,attrs:this.v3?void 0:{grid:this.$props.grid,field:t.field,title:t.filterTitle,value:r(t.field,"text"===u?"":null),operator:o(t.field),operators:Ws(this.$props.filterOperators[u]||[],n),booleanValues:Ws(Ys,n),filterType:u,render:t.filterCell||this.$props.cellRender,ariaLabel:c,size:this.$props.size},field:t.field,title:t.filterTitle,value:r(t.field,"text"===u?"":null),operator:o(t.field),operators:Ws(this.$props.filterOperators[u]||[],n),booleanValues:Ws(Ys,n),filterType:u,onChange:l,on:this.v3?void 0:{change:l},render:t.filterCell||this.$props.cellRender,ariaLabel:c,size:this.$props.size}),p=t.declarationIndex>=0?++s:--a,d={ariaLabel:t.filterable?n.toLanguageString(pa,ka[pa]):void 0,ariaColumnIndex:t.ariaColumnIndex},f=void 0!==t.left?this.$props.isRtl?{left:t.right+"px",right:t.left+"px"}:{left:t.left+"px",right:t.right+"px"}:{},m=e(Xi,{key:p,role:"gridcell",attrs:this.v3?void 0:{role:"gridcell",columnId:Xe.getFilterColumnId(t.id),navigatable:t.navigatable,ariaColumnIndex:d.ariaColumnIndex,ariaLabel:c},columnId:Xe.getFilterColumnId(t.id),navigatable:t.navigatable,style:f,class:this.headerCellClassName(t.field,t.locked)||void 0,ariaColumnIndex:d.ariaColumnIndex,ariaLabel:c},this.v3?function(){return[h]}:[h]);return t.filterable&&m||e(Xi,{key:p,role:"gridcell",attrs:this.v3?void 0:{role:"gridcell",columnId:Xe.getFilterColumnId(t.id),navigatable:t.navigatable,ariaColumnIndex:d.ariaColumnIndex,ariaLabel:c},columnId:Xe.getFilterColumnId(t.id),navigatable:t.navigatable,style:f,class:this.headerCellClassName(t.field,t.locked)||void 0,ariaColumnIndex:d.ariaColumnIndex,ariaLabel:c})}),this);return e("tr",{class:"k-table-row k-filter-row","aria-rowindex":this.ariaRowIndex,attrs:this.v3?void 0:{"aria-rowindex":this.ariaRowIndex,role:"row"},role:"row"},[l])}},Ql=Jl,tu=s,eu=tu.h,nu=tu.version&&"3"===tu.version[0],iu=tu.ref,ru={props:{title:String,dir:String},mounted:function(){this.element=(0,l.cX)(this,"indicatorContainer"),this.element&&(this.draggable=this.$refs.draggable)},methods:{press:function(t){this.element&&this.$emit("press",t,this.element)},drag:function(t){this.element&&this.$emit("drag",t,this.element)},release:function(t){this.element&&this.$emit("release",t,this.element)},sortChange:function(t){t.preventDefault();var e="asc"===this.$props.dir?"desc":"asc";this.$emit("sortChange",t,e)},groupRemove:function(t){t.preventDefault(),this.$emit("remove",t)}},setup:nu?function(){var t=!!nu,e=iu(null);return{v3:t,indicatorContainerRef:e}}:void 0,render:function(t){var e=this,n=eu||t;return n(l.sx,{onPress:this.press,on:this.v3?void 0:{press:this.press,drag:this.drag,release:this.release},onDrag:this.drag,onRelease:this.release,ref:"draggable"},this.v3?function(){return[n("div",{class:"k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md",ref:(0,l.cZ)(e,"indicatorContainer")},[n(l.In,{name:"sort-"+e.$props.dir+"-small",attrs:e.v3?void 0:{name:"sort-"+e.$props.dir+"-small",icon:"asc"===e.$props.dir?Gt.uEm:Gt.wan},class:"k-chip-icon",icon:"asc"===e.$props.dir?Gt.uEm:Gt.wan}),n("span",{class:"k-chip-content",tabindex:-1,attrs:e.v3?void 0:{tabindex:-1},onClick:e.sortChange,on:e.v3?void 0:{click:e.sortChange}},[e.$props.title]),n("span",{class:"k-chip-actions"},[n("span",{class:"k-chip-action k-chip-remove-action",tabindex:-1,attrs:e.v3?void 0:{tabindex:-1},onClick:e.groupRemove,on:e.v3?void 0:{click:e.groupRemove}},[n(l.In,{name:"x-circle",attrs:e.v3?void 0:{name:"x-circle",icon:Gt.aVR},icon:Gt.aVR})])])])]}:[n("div",{class:"k-chip k-chip-md k-chip-solid k-chip-solid-base k-rounded-md",ref:(0,l.cZ)(e,"indicatorContainer")},[n(l.In,{name:"sort-"+e.$props.dir+"-small",attrs:e.v3?void 0:{name:"sort-"+e.$props.dir+"-small",icon:"asc"===e.$props.dir?Gt.uEm:Gt.wan},class:"k-chip-icon",icon:"asc"===e.$props.dir?Gt.uEm:Gt.wan}),n("span",{class:"k-chip-content",tabindex:-1,attrs:e.v3?void 0:{tabindex:-1},onClick:e.sortChange,on:e.v3?void 0:{click:e.sortChange}},[e.$props.title]),n("span",{class:"k-chip-actions"},[n("span",{class:"k-chip-action k-chip-remove-action",tabindex:-1,attrs:e.v3?void 0:{tabindex:-1},onClick:e.groupRemove,on:e.v3?void 0:{click:e.groupRemove}},[n(l.In,{name:"x-circle",attrs:e.v3?void 0:{name:"x-circle",icon:Gt.aVR},icon:Gt.aVR})])])])])}},ou=ru,au=s,su=au.h,lu=au.version&&"3"===au.version[0],uu=au.inject,cu={props:{group:Array,resolveTitle:Function,ariaControls:String},inject:{kendoLocalizationService:{default:null}},methods:{pressHandler:function(t,e){this.$emit("pressHandler",t,e)},dragHandler:function(t,e){this.$emit("dragHandler",t,e)},releaseHandler:function(t){this.$emit("releaseHandler",t)},onGroupRemove:function(t,e){var n=this.$props.group.slice();n.splice(e,1),this.$emit("groupChange",n,t)},onGroupSortChange:function(t,e,n,i){var r=Object.assign({},n,{dir:i}),o=this.$props.group.slice();o.splice(e,1,r),this.$emit("groupChange",o,t)}},setup:lu?function(){var t=!!lu,e=uu("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,render:function(t){var e=su||t,n=this.$props.group||[],i=this.$props.ariaControls,r=n.map((function(t,n){var i=this;return e(ou,{key:n,dir:t.dir||"asc",attrs:this.v3?void 0:{dir:t.dir||"asc",title:this.$props.resolveTitle(t.field)},title:this.$props.resolveTitle(t.field),onRemove:function(t){return i.onGroupRemove(t,n)},on:this.v3?void 0:{remove:function(t){return i.onGroupRemove(t,n)},sortChange:function(e,r){i.onGroupSortChange(e,n,t,r)},press:this.pressHandler,drag:this.dragHandler,release:this.releaseHandler},onSortChange:function(e,r){i.onGroupSortChange(e,n,t,r)},onPress:this.pressHandler,onDrag:this.dragHandler,onRelease:this.releaseHandler})}),this),o=(0,c.GB)(this).toLanguageString(ga,ka[ga]);return e("div",{class:"k-grouping-header",role:"toolbar",attrs:this.v3?void 0:{role:"toolbar","aria-label":o,"aria-controls":i},"aria-label":o,"aria-controls":i},[!!r.length&&e("div",{class:"k-chip-list k-chip-list-md"},[r]),e("div",{class:"k-grouping-drop-container"},[!r.length&&(0,c.GB)(this).toLanguageString(Xo,ka[Xo])])])}},hu=cu,pu=s,du=pu.h,fu=pu.version&&"3"===pu.version[0],mu=pu.ref,vu={name:"Footer",props:{staticHeaders:Boolean,row:Object,columnResize:Object,cols:Array,size:String},data:function(){return{scrollbarWidth:0,rtl:!1,tableWidth:null}},computed:{tableClass:function(){var t,e=this.$props.size;return t={"k-table":!0,"k-grid-footer-table":!0},t["k-table-".concat(l.OR.sizeMap[e]||e)]=e,t},divStyle:{get:function(){var t=this.$data.scrollbarWidth+"px",e=this.rtl?0:t,n=this.rtl?t:0;return{padding:"0 ".concat(e," 0 ").concat(n)}}},tableStyle:{get:function(){return this.tableWidth?{width:this.tableWidth}:null}}},mounted:function(){this.$data.scrollbarWidth=(new Wa).scrollbarWidth,this.rtl=yo(this.$el),this.$props.columnResize.colGroupFooter=(0,l.cX)(this,"colGroupHeader"),this._footerWrap=(0,l.cX)(this,"footerWrap")},methods:{setScrollLeft:function(t){this._footerWrap&&(this._footerWrap.scrollLeft=t)},setWidth:function(t){this.$data.tableWidth=t+"px"}},setup:fu?function(){var t=!!fu,e=mu(null),n=mu(null);return{v3:t,colGroupHeaderRef:n,footerWrapRef:e}}:void 0,render:function(t){var e=du||t;return this.$props.staticHeaders?e("div",{class:"k-grid-footer",style:this.divStyle,role:"presentation",attrs:this.v3?void 0:{role:"presentation"}},[e("div",{class:"k-grid-footer-wrap",ref:(0,l.cZ)(this,"footerWrap"),role:"presentation",attrs:this.v3?void 0:{role:"presentation"}},[e("table",{class:this.tableClass,style:this.tableStyle,role:"presentation",attrs:this.v3?void 0:{role:"presentation"}},[e("colgroup",{ref:(0,l.cZ)(this,"colGroupHeader")},[this.$props.cols]),e("tfoot",{class:"k-table-tfoot",role:"rowgroup",attrs:this.v3?void 0:{role:"rowgroup"}},[this.$props.row])])])]):e("tfoot",{class:"k-table-tfoot k-grid-footer",role:"rowgroup",attrs:this.v3?void 0:{role:"rowgroup"}},[this.$props.row])}},gu=vu,yu=s,bu=yu.h,xu=yu.version&&"3"===yu.version[0],wu={name:"FooterRow",props:{isRtl:Boolean,columns:Array,rowIndex:Number},methods:{columnStyles:function(t){return void 0!==t.left?this.$props.isRtl?{left:t.right+"px",right:t.left+"px"}:{left:t.left+"px",right:t.right+"px"}:{}}},setup:xu?function(){var t=!!xu;return{v3:t}}:void 0,render:function(t){var e=bu||t,n=function(t,n){var i=null,r=t.locked&&void 0!==t.left?"k-grid-footer-sticky":"",o=t.footerClassName?"k-table-td ".concat(t.footerClassName," ").concat(r):"k-table-td "+r;return i=l.$F.call(this,{h:e,template:t.footerCell,defaultRendering:null,additionalProps:{field:t.field,colSpan:1!==t.colSpan?t.colSpan:void 0,defaultStyle:this.columnStyles(t)}}),e("td",{key:n,colspan:1!==t.colSpan?t.colSpan:void 0,attrs:this.v3?void 0:{colspan:1!==t.colSpan?t.colSpan:void 0,role:"gridcell"},style:this.columnStyles(t),class:o,role:"gridcell"},[i])};return e("tr",{class:"k-table-row",role:"row",attrs:this.v3?void 0:{role:"row","aria-rowIndex":this.$props.rowIndex},"aria-rowIndex":this.$props.rowIndex},[Mo(this.$props.columns).map(n,this)])}},ku=wu,Cu=s,_u=(Cu.h,Cu.version&&"3"===Cu.version[0]),Su={name:"GridCellValue",props:{dataItem:Object,column:Object,editField:String,editCell:Object,inbuildCell:Object},setup:_u?function(){var t=!!_u;return{v3:t}}:void 0,render:function(t){var e=!!this.editField&&(0,l.LJ)(this.editField,this.dataItem);return this.column.editable&&this.editField&&(!0===e||e===this.column.field)?this.editCell:this.inbuildCell}},Mu=Su,Au=function(){function t(t,e){var n=this;this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.fixedScroll=!1,this.askedSkip=void 0,this.tableTransform="",this.prevScrollPos=0,this.tableTranslate=0,this.scrollSyncing=!1,this.topItems=function(t,e){if(!n.container||e)return{topItemsCount:0,topItemsHeight:0};for(var i=n.container.clientHeight,r=n.container.querySelectorAll(".k-group-footer").length,o=Math.ceil(i/t[0].line),a=Math.ceil(r/o),s=Math.max(a,Math.ceil((t.length-o)/2)),l=0,u=0;u-1?n+=e[i].scrollHeight:e[i].className.indexOf("k-detail-row")>-1?t[t.length-1].line+=e[i].scrollHeight:(t.push({line:e[i].scrollHeight,acc:n}),n=0);return t},enumerable:!1,configurable:!0}),t.prototype.changePage=function(t,e){this.attendedSkip=t-this.topCacheCount,this.PageChange({skip:Math.max(0,t-this.topCacheCount),take:this.pageSize},e)},t.prototype.translate=function(t){this.tableTranslate=t,this.scrollableVirtual&&this.table&&(this.table.style.transform="translateY("+t+"px)")},t.prototype.reset=function(){this.scrollSyncing=!0,this.fixedScroll||(this.container&&(this.container.scrollTop=0),this.translate(0))},t.prototype.localScrollUp=function(t){if(this.container){var e=this.rowHeights,n=this.container.scrollTop,i=this.tableTranslate,r=0,o=this.topItems(e,Boolean(this.topCacheCount)),a=o.topItemsCount,s=o.topItemsHeight,l=o.itemsNeededOnScreen,u=n-i;if(!(u>s||e.length<=l)){while(r0&&!(i+(e[e.length-1-r].line+e[e.length-1-r].acc)+u<=n))i-=e[e.length-1-r].line+e[e.length-1-r].acc,r++;if(0===r&&0===this.topCacheCount&&this.attendedSkip>0&&(i=Math.max(i-e[0].line,0),r=1),this.propsSkip-r<=0&&i>n)return this.translate(0),this.changePage(0,t),void(this.container.scrollTop=0);if(i>n&&(i=n),i!==this.tableTranslate){this.translate(Math.max(0,i-s));var c=Math.max(0,this.propsSkip-r-a);this.changePage(c,t)}}}},t.prototype.localScrollDown=function(t){if(this.container){var e=this.rowHeights,n=this.container.scrollTop,i=this.tableTranslate,r=0,o=this.topItems(e,Boolean(this.topCacheCount)),a=o.topItemsCount,s=o.topItemsHeight,l=o.itemsNeededOnScreen;while(rn))i+=e[r].line+e[r].acc,r++;a>this.propsSkip+r||e.length<=l||(r>=e.length-this.topCacheCount&&this.propsSkip+r>=this.total?(this.translate(i-s),this.changePage(this.total-1-a,t)):i!==this.tableTranslate&&this.propsSkip+r-a!==this.propsSkip&&(this.translate(i-s),this.changePage(this.propsSkip+r-a,t)))}},t.prototype.scrollNonStrict=function(t){var e=this.total*this.prevScrollPos/this.containerHeight,n=Math.floor(e);n>=this.total&&(n=this.total-1);var i=Math.min(e-n,1),r=0,o=n-this.propsSkip,a=this.rowHeights;o>=0&&o<=1?r=-(a[0].line+a[0].acc)*i:-1===o&&(r=-(a[a.length-1].line+a[a.length-1].acc)*i);var s=this.topItems(a,Boolean(this.topCacheCount)),l=s.topItemsCount,u=s.topItemsHeight,c=s.itemsNeededOnScreen,h=Math.max(0,r-u-this.horizontalScrollbarHeight()+this.containerHeight*e/this.total);this.prevScrollPosthis.tableTranslate-this.table.scrollHeight/10?this.localScrollUp(t):e-n>0&&et?i-1:void 0}),void 0);return void 0===e?this.total-1:e}},t.prototype.offset=function(t){return this.offsets[t]},t.prototype.totalHeight=function(){var t=this.offsets[this.offsets.length-1],e=this.heights[this.heights.length-1];return t+e},t}(),Tu=function(){function t(t){this.table=null,this.containerHeight=0,this.topCacheCount=0,this.attendedSkip=0,this.propsSkip=0,this.total=0,this.scrollableVirtual=!1,this.realSkip=0,this.pageSize=0,this.PageChange=null,this.fixedScroll=!1,this.askedSkip=void 0,this.tableTransform="",this.scrollSyncing=!1,this.lastLoaded=0,this.firstLoaded=0,this.lastScrollTop=0,this.firstLoaded=this.pageSize,this.lastLoaded=this.realSkip+this.pageSize,this.scrollHandler=this.scrollHandler.bind(this)}return Object.defineProperty(t.prototype,"container",{get:function(){return this.containerRef},enumerable:!1,configurable:!0}),t.prototype.translate=function(t){this.scrollableVirtual&&this.table&&(this.table.style.transform="translateY("+t+"px)")},t.prototype.changePage=function(t,e){this.PageChange&&this.PageChange({skip:Math.max(0,t),take:this.pageSize},e)},t.prototype.reset=function(){this.scrollSyncing=!0,this.fixedScroll||(this.container&&(this.container.scrollTop=0),this.translate(0))},t.prototype.scrollHandler=function(t){if(this.scrollableVirtual&&this.container&&this.table&&this.rowHeightService&&this.containerRef)if(this.scrollSyncing)this.scrollSyncing=!1;else{var e=this.container.scrollTop,n=this.lastScrollTop>=e,i=!n;this.lastScrollTop=e;var r=this.rowHeightService.index(e),o=this.rowHeightService.offset(r),a=this.containerRef.offsetHeight,s=this.rowHeightService.index(e+a);if(i&&s>=this.lastLoaded&&this.lastLoaded0&&(r-=l,o=this.rowHeightService.offset(r)),this.firstLoaded=r,this.translate(o);var u=this.firstLoaded+this.pageSize;this.lastLoaded=Math.min(u,this.total),this.changePage(this.firstLoaded,t)}else if(n&&r0&&o=0){var r=i.columns[n];(r.reorderable&&i.reorderable||r.groupable&&i.groupable)&&(i.startColumn=n)}},this.dragHandler=function(t,e){if(t.isTouch||t.originalEvent.preventDefault(),t.originalEvent.stopPropagation(),-1!==i.startColumn||-1!==i.startGroup){i.currentColumn=i.getColumnIndex(t,e);var n=i.groupPanelDivElement&&i.groupPanelDivElement.children;i.currentGroup=i.isTargetGroupingContainer(t)?n&&n.length?n.length:0:i.getGroupIndex(t);var r=!i.isValid();r&&(i.currentColumn=-1,i.currentGroup=-1);var o=i.currentColumn>=0?e.children[i.columns[i.currentColumn].index]:i.isTargetGroupingContainer(t)?t.originalEvent.target:i.groupPanelDivElement&&i.groupPanelDivElement.children[i.currentGroup];i.updateDragElementClue(t,e,o,r),i.updateDropElementClue(t,e,o,r)}},this.releaseHandler=function(t){var e=i.startColumn,n=i.currentColumn,r=i.startGroup,o=i.currentGroup;i.dropElementClue&&(i.dropElementClue.visible=!1),i.dragElementClue&&(i.dragElementClue.visible=!1);var a=i.isValid();i.startColumn=i.startGroup=i.currentColumn=i.currentGroup=-1,a&&(e>=0&&n>=0?i.columnReorder(e,n,t.originalEvent):r>=0&&o>=0?i.groupReorder(r,o,t.originalEvent):e>=0&&o>=0&&i.columnToGroup(e,o,t.originalEvent))},this.columnReorder=t,this.groupReorder=e,this.columnToGroup=n}return t.prototype.getColumnIndex=function(t,e){if(!e||e.parentElement===this.groupPanelDivElement)return-1;var n=bo(t,e);if(-1===n)return-1;for(var i=function(t){if(e.parentNode.children[t]===e)return{value:r.columns.findIndex((function(e){return e.index===n&&e.depth===t}))}},r=this,o=0;o=0?this.currentGroup>=0&&this.currentGroup!==this.startGroup:-1!==this.startColumn&&(this.currentGroup>=0?!0===this.columns[this.startColumn].groupable&&!0===this.groupable:!0===this.reorderable&&this.currentColumn>=0&&this.currentColumn!==this.startColumn&&!0===this.columns[this.startColumn].reorderable&&this.columns[this.currentColumn].parentIndex===this.columns[this.startColumn].parentIndex)},t.prototype.updateDragElementClue=function(t,e,n,i){if(this.dragElementClue){var r=this.startColumn>=0?e.children[this.columns[this.startColumn].index].innerText:e.innerText;this.dragElementClue.visible=!0,this.dragElementClue.top=t.pageY+10,this.dragElementClue.left=t.pageX,this.dragElementClue.innerText=r,this.dragElementClue.status=i||!n?"cancel":"plus"}},t.prototype.updateDropElementClue=function(t,e,n,i){if(this.dropElementClue)if(!i&&n){var r=n.getBoundingClientRect(),o=n.closest(".k-grouping-header"),a=(o||n).getBoundingClientRect(),s=r.left+t.pageX-t.clientX-6;!this.isTargetGroupingContainer(t)&&(this.currentColumn>this.startColumn||this.currentGroup>this.startGroup&&-1!==this.startGroup)&&(s+=r.width);var l=a.top+t.pageY-t.clientY;this.dropElementClue.visible=!0,this.dropElementClue.top=l,this.dropElementClue.left=s,this.dropElementClue.height=this.currentColumn>=0?e.clientHeight:a.height}else this.dropElementClue.visible=!1},t}(),Ou=s,Lu=Ou.h,Eu=Ou.version&&"3"===Ou.version[0],Pu={data:function(){return{visible:!1,top:0,left:0,innerText:"",status:"cancel"}},setup:Eu?function(){var t=!!Eu;return{v3:t}}:void 0,render:function(t){var e=Lu||t;return this.visible&&e("div",{class:"k-header k-drag-clue",style:{display:"block",position:"absolute",zIndex:2e4,padding:"8px 12px",top:this.top+"px",left:this.left+"px"}},[e(l.In,{name:this.status,attrs:this.v3?void 0:{name:this.status,icon:"cancel"===this.status?Gt.YAr:Gt.WWM},class:"k-drag-status",icon:"cancel"===this.status?Gt.YAr:Gt.WWM}),this.innerText])}},Du=Pu,Ru=s,Bu=Ru.h,Fu=Ru.version&&"3"===Ru.version[0],zu={data:function(){return{height:0,visible:!1,left:0,top:0}},setup:Fu?function(){var t=!!Fu;return{v3:t}}:void 0,render:function(t){var e=Bu||t;return this.visible&&e("div",{class:"k-grouping-dropclue",style:{zIndex:1e4,display:"block",top:this.top+"px",left:this.left+"px",height:this.height+"px"}})}},ju=zu,Vu=s,Hu=Vu.h,Zu=Vu.version&&"3"===Vu.version[0],Uu=Vu.inject,Gu={name:"GridCell",inheritAttrs:!1,emits:{cellclick:null,cellkeydown:null},props:{id:String,field:String,dataItem:Object,format:String,readFormat:String,className:String,colSpan:Number,columnIndex:Number,columnsCount:Number,dataIndex:Number,rowType:String,level:Number,expanded:Boolean,type:String,editor:String,isSelected:Boolean,ariaColumnIndex:Number,render:[String,Function,Object],isRtl:Boolean},inject:{kendoIntlService:{default:null},getKeyboardNavigationAttributes:{default:l.lQ}},methods:{triggerClick:function(){this.$emit("cellclick",{dataItem:this.$props.dataItem,field:this.$props.field})},triggerKeydown:function(t){this.$emit("cellkeydown",{event:t,dataItem:this.$props.dataItem,field:this.$props.field})},triggerEdit:function(t){this.$emit("edit",t)},triggerAdd:function(t){this.$emit("add",t)},triggerCancel:function(t){this.$emit("cancel",t)},triggerSave:function(t){this.$emit("save",t)},triggerRemove:function(t){this.$emit("remove",t)}},created:function(){this._intl=(0,c.Ar)(this)},computed:{tdClass:function(){var t,e=this.$props.className;return t={"k-table-td":!0},t[e]=e,t}},setup:Zu?function(){var t=!!Zu,e=Uu("kendoIntlService",{});return{v3:t,kendoIntlService:e}}:void 0,render:function(t){var e=Hu||t,n=null,i=this.getKeyboardNavigationAttributes(this.$props.id);if("groupFooter"===this.$props.rowType)n=e("td",{class:this.tdClass});else if(void 0!==this.$props.field&&"groupHeader"!==this.$props.rowType){var r=vo(this.$props.field,this.$props.dataItem),o="";void 0!==r&&null!==r&&(o=this.$props.format?this.$props.type?this._intl.format(this.$props.format,Ao[this.$props.type](r,this._intl,this.$props.readFormat)):this._intl.format(this.$props.format,r):r.toString()),n=e("td",{style:this.$attrs.style,colspan:this.$props.colSpan,attrs:this.v3?void 0:{colspan:this.$props.colSpan,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:i.tabIndex,"data-keyboardnavlevel":i[ke],"data-keyboardnavid":i[Me]},class:this.tdClass,onKeydown:this.triggerKeydown,on:this.v3?void 0:{keydown:this.triggerKeydown,click:this.triggerClick},onClick:this.triggerClick,role:"gridcell","aria-colindex":this.$props.ariaColumnIndex,"aria-selected":this.$props.isSelected,"data-grid-col-index":this.$props.columnIndex,tabindex:i.tabIndex,"data-keyboardnavlevel":i[ke],"data-keyboardnavid":i[Me]},[o])}return l.$F.call(this,{h:e,template:this.$props.render,defaultRendering:n,additionalProps:this.$props,additionalListeners:{click:this.triggerClick,keydown:this.triggerKeydown,edit:this.triggerEdit,add:this.triggerAdd,cancel:this.triggerCancel,save:this.triggerSave,remove:this.triggerRemove}})}},Ku=Gu,Wu=s,qu=Wu.h,Yu=Wu.version&&"3"===Wu.version[0],Xu={name:"KendoGridGroupCell",inheritAttrs:!1,props:{id:String,field:String,dataItem:Object,format:String,type:String,colSpan:Number,className:String,columnIndex:Number,columnsCount:Number,rowType:String,level:Number,expanded:Boolean,editor:String,dataIndex:Number,isSelected:Boolean,isRtl:Boolean,ariaColumnIndex:Number,render:[String,Function,Object]},emits:{change:null,cellkeydown:null},inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null},getKeyboardNavigationAttributes:{default:l.lQ}},computed:{tdClass:function(){var t,e=this.$props.className;return t={"k-table-td":!0},t[e]=e,t}},methods:{triggerKeydown:function(t,e){this.$emit("cellkeydown",{event:t,dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,field:this.$props.field,expanded:this.$props.expanded}),t.defaultPrevented||t.keyCode===l.D$.enter&&(t.preventDefault(),this.$emit("change",{dataItem:this.$props.dataItem,dataIndex:this.$props.dataIndex,event:t,level:this.$props.level,field:void 0,value:!e}))},clickHandler:function(t,e,n){t.preventDefault(),this.$emit("change",{dataItem:e,dataIndex:this.$props.dataIndex,event:t,level:this.$props.level,field:void 0,value:!n})}},setup:Yu?function(){var t=!!Yu;return{v3:t}}:void 0,render:function(t){var e=this,n=qu||t,i=null,r=this.$props,o=r.columnIndex,a=r.level,s=r.columnsCount,u=r.rowType,h=r.dataItem,p=r.field,d=r.expanded,f=r.render,m=this.getKeyboardNavigationAttributes(this.$props.id),v=(0,c.GB)(this).toLanguageString(ya,ka[ya]),g=(0,c.GB)(this).toLanguageString(ba,ka[ba]);return void 0===o||void 0===a||o=0&&-1===t.parentIndex})),e=function t(e){return e.sort((function(t,e){return t.declarationIndex-e.declarationIndex})),e.map((function(e){e.declarationIndex,e.parentIndex,e.depth,e.colSpan,e.rowSpan,e.index,e.kFirst;var n=e.children,i=gc(e,["declarationIndex","parentIndex","depth","colSpan","rowSpan","index","kFirst","children"]);return n.length?vc({children:t(n)},i):i}))};return e(t)},setRefs:function(){var t="$el",e=(0,l.cX)(this,"gridNav");e&&(this._element=e[t]);var n=(0,l.cX)(this,"groupPanelDiv");if(n){var i=n[t]||null;this.dragLogic.refGroupPanelDiv(i)}var r=(0,l.cX)(this,"dropElementClue"),o=(0,l.cX)(this,"dragElementClue");this.dragLogic.refDropElementClue(r),this.dragLogic.refDragElementClue(o),this.columnResize.colGroupMain=(0,l.cX)(this,"colGroup"),this._header=(0,l.cX)(this,"header"),this._footer=(0,l.cX)(this,"footer"),this.vs.containerRef=(0,l.cX)(this,"scrollContainer"),this.vs.table=(0,l.cX)(this,"scrollTable"),this.resetTableWidth(),this.vs.tableBodyRef=(0,l.cX)(this,"scrollTableBody")},gridUnmounted:function(){clearTimeout(this.forceUpdateTimeout),this.columnResize.columns=[],this.dragLogic.columns=[],this.dragLogic&&this.dragLogic.dragElementClue&&(this.dragLogic.dragElementClue.$el.remove(),this.dragLogic.dropElementClue.$el.remove()),this.currentData=[],this._columns=[]},resetVirtual:function(){this.vs.PageChange=this.pageChangeHandler,this.vs.realSkip=this.$props.skip||0,this.vs.pageSize=(void 0!==this.$props.take?this.$props.take:this.$props.pageSize)||0,this.vs.scrollableVirtual="virtual"===this.$props.scrollable,this.vs.propsSkip=(this.$props.skip||0)+("virtual"===this.$props.scrollable?this.vs.topCacheCount+(this.vs.attendedSkip-(this.$props.skip||0)):0)},getVirtualScroll:function(){return Au},isAllData:function(){var t=this.$props,e=t.dataItems,n=t.total;return Array.isArray(e)?e.length===n:!!e&&n===e.total},initializeVirtualization:function(t){if(this.$props.total===this._prevTotal&&"virtual"===this.$props.scrollable===this.vs.scrollableVirtual||this.vs.reset(),this.resetVirtual(),this.vs.total=t,void 0!==this.$props.rowHeight&&this.$props.rowHeight>0&&!this.currentGroupable)this.vs.containerHeight=Math.min(1533915,this.$props.rowHeight*(t||0));else if(this.$props.totalGroupedHeight)this.vs.containerHeight=Math.min(1533915,this.$props.totalGroupedHeight);else if(this.$props.allGroupedItems&&this.$props.allGroupedItems.data){var e=this.totalGroupedRows(To(this.$props.allGroupedItems,this.computedCollapsed,this.$props.uniqueField).data);this.vs.containerHeight=Math.min(1533915,this.$props.rowHeight*e)}else this.vs.containerHeight=1533915;if(this.slicedCurrentData=void 0,this.vs instanceof Tu){var n=this.$props,i=n.rowHeight,r=void 0===i?0:i,o=n.detail,a=n.expandField,s=this.$props.detailRowHeight,l=void 0===s?0:s;l=Boolean(o&&a)?l:r,this.isAllData()?(this.vs.total=this.currentData.length,this.slicedCurrentData=this.currentData.slice(this.vs.realSkip,this.vs.realSkip+this.vs.pageSize),this.vs.rowHeightService=this.rowHeightService(this.vs,this.currentData.length,r,l,this.currentData)):this.vs.rowHeightService=new Iu(t,r,l);var u=this.vs.rowHeightService.totalHeight();this.vs.containerHeight=Oo?Math.min(Lo,u):u}},onSkipChanged:function(t,e){Math.max(0,this.vs.attendedSkip)!==t&&void 0!==t&&(this.vs.attendedSkip=t,this.vs.propsSkip=(t||0)+("virtual"===this.$props.scrollable?this.vs.topCacheCount+(this.vs.attendedSkip-(t||0)):0))},onTotalChanged:function(t,e){var n=this.currentGroupable;this.vs.reset(),this.vs=new Au(n||void 0===this.$props.rowHeight||0===this.$props.rowHeight,this.$props.topCacheCount),this.resetVirtual(),this.setRefs()},onRowHeightChanged:function(t,e){var n=this.currentGroupable;this.vs.reset(),this.vs=new Au(n||void 0===this.$props.rowHeight||0===this.$props.rowHeight,this.$props.topCacheCount),this.resetVirtual(),this.setRefs()},scrollHandler:function(t){var e=this;clearTimeout(this.forceUpdateTimeout),this.$props.columnVirtualization&&!this.vs.scrollableVirtual&&(this.forceUpdateTimeout=setTimeout((function(){e.$forceUpdate()}),0)),this._header&&this._header.setScrollLeft(t.currentTarget.scrollLeft),this._footer&&this._footer.setScrollLeft(t.currentTarget.scrollLeft),this.vs&&this.vs.scrollHandler(t),this.$emit("scroll",t)},rowClick:function(t,e){"checkbox"!==t.target.type&&this.$emit("rowclick",vc({dataItem:e.dataItem},this.getArguments(t)))},rowDoubleClick:function(t,e){"checkbox"!==t.target.type&&this.$emit("rowdblclick",vc({dataItem:e.dataItem},this.getArguments(t)))},loopGroupedItems:function(t,e,n,i){var r=this;return void 0===n&&(n=0),void 0===i&&(i=null),t.forEach((function(t){!i&&e(t,n)&&(i=t),t.items&&t.items.length&&!i&&(i=r.loopGroupedItems(t.items,e,n+1,i))})),i},updateGroupCollapsed:function(t){var e=this.computedCollapsed,n=e[t.level],i=this.$props.uniqueField,r=function(e,n){return e.value===t.dataItem.value&&n===t.level},o=this.allGroupedItems?this.loopGroupedItems(this.allGroupedItems.data,r,0,null):t.dataItem,a=No(o||t.dataItem,i);if(t.value){if(n&&n.length){var s=n.indexOf(a);s>-1&&n.splice(s,1)}}else n?n.includes(a)||n.push(a):n=[a];return e},itemChange:function(t){var e=l.jm.call(this,"itemchange");if(t.field===this.$props.expandField||(this.$props.group||this.$props.detail)&&void 0===t.field){var n=l.jm.call(this,"expandchange");n&&t.dataItem&&this.$emit("expandchange",vc(vc({},this.getArguments(t.event)),{collapsedGroups:this.updateGroupCollapsed(t),dataItem:t.dataItem,value:t.value}))}else e&&this.$emit("itemchange",vc(vc({},this.getArguments(t.event)),{dataItem:t.dataItem,field:t.field,value:t.value}))},cellClickHandler:function(t){this.$emit("cellclick",{dataItem:t.dataItem,field:t.field})},cellKeydownHandler:function(t){this.$emit("cellkeydown",t)},editHandler:function(t){this.$emit("edit",{dataItem:t})},removeHandler:function(t){this.$emit("remove",{dataItem:t})},saveHandler:function(t){this.$emit("save",{dataItem:t})},cancelHandler:function(t){this.$emit("cancel",{dataItem:t})},selectionChangeHandler:function(t){var e=t.event,n=t.dataItem,i=t.dataIndex,r=t.columnIndex;this.$emit("selectionchange",vc(vc({},this.getArguments(e.event)),{dataItem:n,startColIndex:r,endColIndex:r,startRowIndex:i,endRowIndex:i,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,isDrag:!1,componentId:this._gridId,selectedField:this.$props.selectedField||""}))},onHeaderSelectionChangeHandler:function(t){this.$emit("headerselectionchange",{field:t.field,event:t.event,target:this})},pageChangeHandler:function(t,e){this.raiseDataEvent("pagechange",{page:t,event:e},{skip:t.skip,take:t.take},e)},sortChangeHandler:function(t,e){this.raiseDataEvent("sortchange",{sort:t},{sort:t},e)},filterChangeHandler:function(t,e){this.raiseDataEvent("filterchange",{filter:t},{filter:t,skip:0},e)},groupChangeHandler:function(t,e){this.raiseDataEvent("groupchange",{group:t},{group:t,skip:0},e)},raiseDataEvent:function(t,e,n,i){l.jm.call(this,t)?this.$emit(t,vc(vc({},this.getArguments(i)),e)):l.jm.call(this,"datastatechange")&&this.$emit("datastatechange",vc(vc({},this.getArguments(i)),{data:vc(vc({},this.getDataState()),n)}))},columnReorder:function(t,e,n){var i,r=this,o=this._columns[t].depth,a=function(t){do{t++}while(to);return t},s=this._columns.splice(t,a(t)-t);(i=this._columns).splice.apply(i,yc([t=0})).forEach((function(t,e){return t.orderIndex=e}));var l=this.getColumns();this.$emit("columnreorder",{target:this,columns:l,event:n,prev:t,next:e})},groupReorder:function(t,e,n){if(void 0!==this.$props.group){var i=this.$props.group.slice();i.splice.apply(i,yc([e,0],i.splice(t,1),!1)),this.groupChangeHandler(i,n)}},columnToGroup:function(t,e,n){var i=this._columns[t].field;if(i){var r=(this.$props.group||[]).slice();r.splice(e,0,{field:i}),this.groupChangeHandler(r,n)}},resetTableWidth:function(){var t=0;if(this.columnResize.colGroupMain){for(var e=this.columnResize.colGroupMain.children,n=0;n=0&&(t.parentIndex+=s)})),this._columnsMap=ko(this._columns),this.columnResize.columns=this._columns,this.dragLogic.columns=this._columns},resolveTitle:function(t){var e=this.findColumnByField(t),n=e&&(e.title||e.field);return void 0===n?t:n},findColumnByField:function(t){var e,n=this;return this.$props.columns.forEach((function(i){var r=n.searchColumn(i,t);r&&(e=r)})),e},searchColumn:function(t,e){if(t.field===e)return t;if(t.children){var n=void 0,i=null;for(n=0;null==i&&nthis.$props.take)for(var L=this.vs.topCacheCount+this.vs.attendedSkip-(this.$props.skip||0),E=0;E=n.currentData.length-O},B=l.rh.call(this,this.$props.detail,l.WM.call(this)),F=this.vs.propsSkip||0,z=this._columnsMap.length+(this.$props.filterable?1:0)+1,j=-1,V=0,H=this.currentData.length&&this.currentData.map((function(t,e){var n=this,r=this;"data"===t.rowType&&(F++,j++),this.$props.alternatePerGroup&&"groupHeader"===t.rowType&&(F=0);var o=F%2===0,s=this.$props.dataItemKey&&(0,l.oK)(this.$props.dataItemKey)(t.dataItem),u=e+(this.vs.propsSkip||0),c=s||"ai"+u,h=c+"_1";D=u+z+V,0;var p,d=l.rh.call(this,this.$props.rowRender,l.WM.call(this));this.$props.detail&&"data"===t.rowType&&t.expanded&&(p=v.length-(this.$props.expandField?1:0)-(this.$props.group?this.$props.group.length:0)||1,V++,D=u+z+V);var f=2*e+z,m=2*e+z+1;return[i(ic,{key:c,dataItem:t.dataItem,attrs:this.v3?void 0:{dataItem:t.dataItem,isAltRow:o,rowType:t.rowType,isHidden:R(e),selectedField:this.$props.selectedField,rowHeight:this.$props.rowHeight,render:d,ariaRowIndex:this.$props.detail?f:D,dataIndex:j},isAltRow:o,rowType:t.rowType,isHidden:R(e),onRowclick:function(e){return r.rowClick(e,t)},on:this.v3?void 0:{rowclick:function(e){return r.rowClick(e,t)},rowdblclick:function(e){return r.rowDoubleClick(e,t)}},onRowdblclick:function(e){return r.rowDoubleClick(e,t)},selectedField:this.$props.selectedField,rowHeight:this.$props.rowHeight,render:d,ariaRowIndex:this.$props.detail?f:D,dataIndex:j,class:this.$props.rowClass?this.$props.rowClass(t):""},this.v3?function(){return[$.call(n,t,c,j).row]}:[$.call(n,t,c,j).row]),this.$props.detail&&"data"===t.rowType&&t.expanded&&i("tr",{key:h,class:o?"k-table-row k-table-alt-row k-detail-row k-alt":"k-table-row k-detail-row",style:{visibility:R(e)?"hidden":"",height:this.$props.detailRowHeight+"px"},role:"row",attrs:this.v3?void 0:{role:"row",ariaRowIndex:this.$props.detail?m:D},ariaRowIndex:this.$props.detail?m:D},[this.$props.group&&this.$props.group.map((function(e,n){return i(Ju,{id:"",attrs:this.v3?void 0:{id:"",dataIndex:t.dataIndex,field:e.field,dataItem:t.dataItem},dataIndex:t.dataIndex,field:e.field,dataItem:t.dataItem,key:n})}),this),this.$props.expandField&&i(Ea,{id:Xe.generateNavigatableId("".concat(h,"-dhcell"),a),attrs:this.v3?void 0:{id:Xe.generateNavigatableId("".concat(h,"-dhcell"),a)}}),i(za,{dataItem:t.dataItem,attrs:this.v3?void 0:{dataItem:t.dataItem,dataIndex:t.dataIndex,colSpan:p,ariaColIndex:2+(this.$props.group?this.$props.group.length:0),detail:this.$props.detail?B:void 0,id:Xe.generateNavigatableId("".concat(h,"-dcell"),a)},dataIndex:t.dataIndex,colSpan:p,ariaColIndex:2+(this.$props.group?this.$props.group.length:0),detail:this.$props.detail?B:void 0,id:Xe.generateNavigatableId("".concat(h,"-dcell"),a)})])]}),this)||i("tr",{class:"k-table-row k-grid-norecords"},[i("td",{class:"k-table-td",colspan:this._columns.filter((function(t){return!t.children.length})).length,attrs:this.v3?void 0:{colspan:this._columns.filter((function(t){return!t.children.length})).length}},[m.length?m:i(fc)])]),Z=l.rh.call(this,this.$props.pager,l.WM.call(this)),U=this.$props.pageable&&i(Fr,{class:"k-grid-pager",onPagesizechange:this.pageChangeHandler,on:this.v3?void 0:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler},onPagechange:this.pageChangeHandler,size:this.$props.size,attrs:this.v3?void 0:{size:this.$props.size,total:o,skip:this.vs.propsSkip||0,pageSize:(void 0!==this.$props.take?this.$props.take:this.$props.pageSize)||10,messagesMap:Ca,settings:jr(this.$props.pageable||{})},total:o,skip:this.vs.propsSkip||0,pageSize:(void 0!==this.$props.take?this.$props.take:this.$props.pageSize)||10,messagesMap:Ca,settings:jr(this.$props.pageable||{})}),G=l.$F.call(this,{h:i,template:Z,defaultRendering:U,additionalProps:vc(vc({},this.$props),{skip:this.vs.propsSkip||0,messagesMap:Ca}),additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),K=function(t){return n.$props.sort&&n.$props.sort.filter((function(e){return e.field===t})).length>0},W=i("colgroup",{ref:(0,l.cZ)(this,"colGroup")},[v.map((function(t,e){return i("col",{key:e.toString(),class:K(t.field)?"k-sorted":void 0,width:void 0!==t.width?-1!==t.width.toString().indexOf("%")?t.width:Math.floor(parseFloat(t.width.toString()))+"px":void 0,attrs:this.v3?void 0:{width:void 0!==t.width?-1!==t.width.toString().indexOf("%")?t.width:Math.floor(parseFloat(t.width.toString()))+"px":void 0}})}),this)]),q={height:this.getCorrectHeight},Y=l.rh.call(this,this.$props.loader,l.WM.call(this)),X=this.$props.loader&&i("div",{class:"k-loader-container k-loader-container-md k-loader-top"},[i("div",{class:"k-loader-container-overlay k-overlay-light"}),i("div",{class:"k-loader-container-inner"},[i(oo,{size:"large",attrs:this.v3?void 0:{size:"large",type:"infinite-spinner"},type:"infinite-spinner"})])]),J=l.$F.call(this,{h:i,template:Y,defaultRendering:X});return"none"===this.$props.scrollable?i(Gr,{ref:"navRef",id:this._gridId,attrs:this.v3?void 0:{id:this._gridId,navigatable:this.$props.navigatable},navigatable:this.$props.navigatable},this.v3?function(){return[i(fo,{ref:e.v3?function(t){n.gridNavRef=t}:"gridNav",currentData:e.currentData,attrs:e.v3?void 0:{currentData:e.currentData},style:q,class:e.nonscrollableWrapperClass},e.v3?function(){return[f,g,i("div",{role:"grid",attrs:e.v3?void 0:{role:"grid",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},class:"k-grid-aria-root",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},[i("table",{class:"k-table",style:{tableLayout:"fixed"},role:"none",attrs:e.v3?void 0:{role:"none"}},[W,x,i("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,attrs:e.v3?void 0:{"data-keyboardnavbody":!0}},[H,J]),w])]),G,b]}:[f,g,i("div",{role:"grid",attrs:e.v3?void 0:{role:"grid",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},class:"k-grid-aria-root",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},[i("table",{class:"k-table",style:{tableLayout:"fixed"},role:"none",attrs:e.v3?void 0:{role:"none"}},[W,x,i("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,attrs:e.v3?void 0:{"data-keyboardnavbody":!0}},[H,J]),w])]),G,b])]}:[i(fo,{ref:e.v3?function(t){n.gridNavRef=t}:"gridNav",currentData:e.currentData,attrs:e.v3?void 0:{currentData:e.currentData},style:q,class:e.nonscrollableWrapperClass},e.v3?function(){return[f,g,i("div",{role:"grid",attrs:e.v3?void 0:{role:"grid",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},class:"k-grid-aria-root",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},[i("table",{class:"k-table",style:{tableLayout:"fixed"},role:"none",attrs:e.v3?void 0:{role:"none"}},[W,x,i("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,attrs:e.v3?void 0:{"data-keyboardnavbody":!0}},[H,J]),w])]),G,b]}:[f,g,i("div",{role:"grid",attrs:e.v3?void 0:{role:"grid",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},class:"k-grid-aria-root",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},[i("table",{class:"k-table",style:{tableLayout:"fixed"},role:"none",attrs:e.v3?void 0:{role:"none"}},[W,x,i("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,attrs:e.v3?void 0:{"data-keyboardnavbody":!0}},[H,J]),w])]),G,b])]):i(Gr,{ref:"navRef",id:this._gridId,attrs:this.v3?void 0:{id:this._gridId,navigatable:this.$props.navigatable},navigatable:this.$props.navigatable},this.v3?function(){return[i(fo,{ref:e.v3?function(t){n.gridNavRef=t}:"gridNav",currentData:e.currentData,attrs:e.v3?void 0:{currentData:e.currentData},style:q,class:e.scrollableWrapperClass},e.v3?function(){return[f,g,i("div",{role:"grid",attrs:e.v3?void 0:{role:"grid",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},class:"k-grid-aria-root",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},[x,i("div",{class:"k-grid-container",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("div",{role:"presentation",attrs:e.v3?void 0:{role:"presentation"},ref:(0,l.cZ)(e,"scrollContainer"),class:"k-grid-content k-virtual-content",onScroll:e.scrollHandler,on:e.v3?void 0:{scroll:e.scrollHandler}},[i("div",{class:"k-grid-table-wrap",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("table",{role:"none",attrs:e.v3?void 0:{role:"none"},class:e.gridTableClass,ref:(0,l.cZ)(e,"scrollTable")},[W,i("tbody",{class:"k-table-tbody",role:"rowgroup",attrs:e.v3?void 0:{role:"rowgroup","data-keyboardnavbody":!0},"data-keyboardnavbody":!0,ref:(0,l.cZ)(e,"scrollTableBody")},[H])])]),i("div",{class:"k-height-container",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("div",{style:"virtual"===e.$props.scrollable?{height:e.vs.containerHeight+"px"}:{}})])]),J]),w]),G,b]}:[f,g,i("div",{role:"grid",attrs:e.v3?void 0:{role:"grid",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},class:"k-grid-aria-root",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},[x,i("div",{class:"k-grid-container",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("div",{role:"presentation",attrs:e.v3?void 0:{role:"presentation"},ref:(0,l.cZ)(e,"scrollContainer"),class:"k-grid-content k-virtual-content",onScroll:e.scrollHandler,on:e.v3?void 0:{scroll:e.scrollHandler}},[i("div",{class:"k-grid-table-wrap",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("table",{role:"none",attrs:e.v3?void 0:{role:"none"},class:e.gridTableClass,ref:(0,l.cZ)(e,"scrollTable")},[W,i("tbody",{class:"k-table-tbody",role:"rowgroup",attrs:e.v3?void 0:{role:"rowgroup","data-keyboardnavbody":!0},"data-keyboardnavbody":!0,ref:(0,l.cZ)(e,"scrollTableBody")},[H])])]),i("div",{class:"k-height-container",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("div",{style:"virtual"===e.$props.scrollable?{height:e.vs.containerHeight+"px"}:{}})])]),J]),w]),G,b])]}:[i(fo,{ref:e.v3?function(t){n.gridNavRef=t}:"gridNav",currentData:e.currentData,attrs:e.v3?void 0:{currentData:e.currentData},style:q,class:e.scrollableWrapperClass},e.v3?function(){return[f,g,i("div",{role:"grid",attrs:e.v3?void 0:{role:"grid",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},class:"k-grid-aria-root",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},[x,i("div",{class:"k-grid-container",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("div",{role:"presentation",attrs:e.v3?void 0:{role:"presentation"},ref:(0,l.cZ)(e,"scrollContainer"),class:"k-grid-content k-virtual-content",onScroll:e.scrollHandler,on:e.v3?void 0:{scroll:e.scrollHandler}},[i("div",{class:"k-grid-table-wrap",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("table",{role:"none",attrs:e.v3?void 0:{role:"none"},class:e.gridTableClass,ref:(0,l.cZ)(e,"scrollTable")},[W,i("tbody",{class:"k-table-tbody",role:"rowgroup",attrs:e.v3?void 0:{role:"rowgroup","data-keyboardnavbody":!0},"data-keyboardnavbody":!0,ref:(0,l.cZ)(e,"scrollTableBody")},[H])])]),i("div",{class:"k-height-container",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("div",{style:"virtual"===e.$props.scrollable?{height:e.vs.containerHeight+"px"}:{}})])]),J]),w]),G,b]}:[f,g,i("div",{role:"grid",attrs:e.v3?void 0:{role:"grid",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},class:"k-grid-aria-root",id:e._gridRoleElementId,"aria-colcount":e.getAriaColCount,"aria-rowcount":e.getAriaRowCount},[x,i("div",{class:"k-grid-container",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("div",{role:"presentation",attrs:e.v3?void 0:{role:"presentation"},ref:(0,l.cZ)(e,"scrollContainer"),class:"k-grid-content k-virtual-content",onScroll:e.scrollHandler,on:e.v3?void 0:{scroll:e.scrollHandler}},[i("div",{class:"k-grid-table-wrap",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("table",{role:"none",attrs:e.v3?void 0:{role:"none"},class:e.gridTableClass,ref:(0,l.cZ)(e,"scrollTable")},[W,i("tbody",{class:"k-table-tbody",role:"rowgroup",attrs:e.v3?void 0:{role:"rowgroup","data-keyboardnavbody":!0},"data-keyboardnavbody":!0,ref:(0,l.cZ)(e,"scrollTableBody")},[H])])]),i("div",{class:"k-height-container",role:"presentation",attrs:e.v3?void 0:{role:"presentation"}},[i("div",{style:"virtual"===e.$props.scrollable?{height:e.vs.containerHeight+"px"}:{}})])]),J]),w]),G,b])])}},Sc=_c,Mc=s,Ac=Mc.h,Ic=Mc.version&&"3"===Mc.version[0],Tc=(Boolean,function(){return Tc=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=n?n:t},l=n(1474),u=n(5252),c=function(t,e,n,i){void 0===n&&(n=!1),void 0===i&&(i=!0);var r=["hex","rgba"];if(-1===r.indexOf(e))throw new Error("Unsupported color output format '".concat(e,"'. The available options are 'hex' or 'rgba'."));if(a(t)){var o=(0,l.Ay)(t.trim(),i);if(a(o))return"hex"===e?h(o,n):o.toCssRgba()}},h=function(t,e){return e&&t.a<1?t.toCss({alpha:!0}):t.toCss()},p=function(t,e){void 0===e&&(e=!0);var n=(0,l.Ay)(t,e);return a(n)?n.toHSV():{}},d=function(t,e){void 0===e&&(e=!0);var n=(0,l.Ay)(t,e);return a(n)?n.toBytes():{}},f=function(t){var e=s(t.h,0,359.9),n=s(t.s,0,1),i=s(t.v,0,1),r=s(t.a,0,1);return u.A.fromHSV(e,n,i,r).toCssRgba()},m=function(t){return f({h:t,s:1,v:1,a:1})},v=function(t){var e=s(t.r,0,255),n=s(t.g,0,255),i=s(t.b,0,255),r=s(t.a,0,1);return u.A.fromBytes(e,n,i,r).toCssRgba()},g=function(t,e){var n=s(t.r,0,255),i=s(t.g,0,255),r=s(t.b,0,255),o=s(t.a,0,1),a=s(e.r,0,255),l=s(e.g,0,255),u=s(e.b,0,255);return{r:Math.round((1-o)*a+o*n),g:Math.round((1-o)*l+o*i),b:Math.round((1-o)*u+o*r)}},y=function(t){var e=[t.r,t.g,t.b].map((function(t){return t/=255,t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}));return.2126*e[0]+.7152*e[1]+.0722*e[2]},b=function(t,e){var n=Math.max(t,e),i=Math.min(t,e);return(n+.05)/(i+.05)},x=function(t,e){return b(y(g(t,e)),y(g(e,{r:0,g:0,b:0,a:1})))},w=function(){function t(){this.colorRows=[]}return t.prototype.setColorMatrix=function(t,e){if(this.colorRows=[],a(t)&&t.length){e=e||t.length;for(var n=0;ne?e:t},t}(),k={basic:{colors:["#000000","#7f7f7f","#880015","#ed1c24","#ff7f27","#fff200","#22b14c","#00a2e8","#3f48cc","#a349a4"," ffffff","#c3c3c3","#b97a57","#ffaec9","#ffc90e","#efe4b0","#b5e61d","#99d9ea","#7092be","#c8bfe7"],columns:10},office:{colors:["#ffffff","#000000","#e6e6e6","#435569","#4371c4","#ed7e32","#a5a4a5","#febf04","#5a9bd5","#71ae48","#f2f2f3","#7f7f7f","#d1cece","#d5dde3","#dae1f4","#fce5d4","#deeded","#fff2cc","#deeaf6","#e1efd9","#d7d8d8","#585959","#aeabab","#adbaca","#b4c5e7","#f6caac","#dbdbdb","#ffe498","#bcd6ee","#c5e0b2","#bfbfc0","#3f3f3f","#767070","#8595b1","#8fabdb","#f5b183","#c9c8c9","#fed965","#9bc4e5","#a8d08d","#a5a5a6","#262625","#393939","#334050","#2e5496","#c45a11","#7b7b7a","#bf9000","#2f75b5","#548235","#7f7f7f","#0b0c0c","#161616","#222a34","#203764","#843d0b","#525252","#7f6000","#1d4d79","#375623"],columns:10},apex:{colors:["#ffffff","#000000","#c9c2d1","#69676d","#ceb966","#9cb084","#6bb1c9","#6585cf","#7e6bc9","#a379bb","#f2f2f2","#7f7f7f","#f4f2f5","#e0e0e2","#f5f1e0","#ebefe6","#e1eff4","#e0e6f5","#e5e1f4","#ece4f1","#d8d8d8","#595959","#e9e6ec","#c2c1c5","#ebe3c1","#d7dfcd","#c3dfe9","#c1ceeb","#cbc3e9","#dac9e3","#bfbfbf","#3f3f3f","#dedae3","#a4a3a8","#e1d5a3","#c3cfb5","#a6d0de","#a2b5e2","#b1a6de","#c7aed6","#a5a5a5","#262626","#9688a5","#4e4d51","#ae9638","#758c5a","#3d8da9","#365bb0","#533da9","#7d4d99","#7f7f7f","#0c0c0c","#635672","#343336","#746425","#4e5d3c","#295e70","#243c75","#372970","#533366"],columns:10},austin:{colors:["#ffffff","#000000","#caf278","#3e3d2d","#94c600","#71685a","#ff6700","#909465","#956b43","#fea022","#f2f2f2","#7f7f7f","#f4fce4","#dddcd0","#efffc0","#e3e1dc","#ffe0cb","#e8e9df","#ece1d6","#feecd2","#d8d8d8","#595959","#e9f9c9","#bbb9a1","#dfff82","#c8c3ba","#ffc299","#d2d4c0","#dac3ad","#fed9a6","#bfbfbf","#3f3f3f","#dff7ae","#ada598","#cfff43","#ada598","#ffa365","#bcbfa1","#c8a585","#fec67a","#a5a5a5","#262626","#a9ea25","#2e2d21","#6f9400","#544e43","#bf4d00","#6c6f4b","#6f5032","#d77b00","#7f7f7f","#0c0c0c","#74a50f","#1f1e16","#4a6300","#38342d","#7f3300","#484a32","#4a3521","#8f5200"],columns:10},clarity:{colors:["#ffffff","#292934","#f3f2dc","#d2533c","#93a299","#ad8f67","#726056","#4c5a6a","#808da0","#79463d","#f2f2f2","#e7e7ec","#e7e5b9","#f6dcd8","#e9ecea","#eee8e0","#e4dedb","#d8dde3","#e5e8ec","#e9d6d3","#d8d8d8","#c4c4d1","#d5d185","#edbab1","#d3d9d6","#ded2c2","#c9beb8","#b2bcc8","#ccd1d9","#d3aea7","#bfbfbf","#8a8aa3","#aca73b","#e4978a","#bec7c1","#cdbba3","#af9e94","#8c9bac","#b2bac6","#bd857c","#a5a5a5","#56566e","#56531d","#a43925","#6b7c72","#866b48","#554840","#39434f","#5c697b","#5a342d","#7f7f7f","#3b3b4b","#22210b","#6d2619","#47534c","#594730","#39302b","#262d35","#3d4652","#3c231e"],columns:10},slipstream:{colors:["#ffffff","#000000","#b4dcfa","#212745","#4e67c8","#5eccf3","#a7ea52","#5dceaf","#ff8021","#f14124","#f2f2f2","#7f7f7f","#8bc9f7","#c7cce4","#dbe0f4","#def4fc","#edfadc","#def5ef","#ffe5d2","#fcd9d3","#d8d8d8","#595959","#4facf3","#909aca","#b8c2e9","#beeafa","#dbf6b9","#beebdf","#ffcca6","#f9b3a7","#bfbfbf","#3f3f3f","#0d78c9","#5967af","#94a3de","#9ee0f7","#caf297","#9de1cf","#ffb279","#f68d7b","#a5a5a5","#262626","#063c64","#181d33","#31479f","#11b2eb","#81d319","#34ac8b","#d85c00","#c3260c","#7f7f7f","#0c0c0c","#021828","#101322","#202f6a","#0b769c","#568c11","#22725c","#903d00","#821908"],columns:10},metro:{colors:["#ffffff","#000000","#d6ecff","#4e5b6f","#7fd13b","#ea157a","#feb80a","#00addc","#738ac8","#1ab39f","#f2f2f2","#7f7f7f","#a7d6ff","#d9dde4","#e5f5d7","#fad0e4","#fef0cd","#c5f2ff","#e2e7f4","#c9f7f1","#d8d8d8","#595959","#60b5ff","#b3bcca","#cbecb0","#f6a1c9","#fee29c","#8be6ff","#c7d0e9","#94efe3","#bfbfbf","#3f3f3f","#007dea","#8d9baf","#b2e389","#f272af","#fed46b","#51d9ff","#aab8de","#5fe7d5","#a5a5a5","#262626","#003e75","#3a4453","#5ea226","#af0f5b","#c58c00","#0081a5","#425ea9","#138677","#7f7f7f","#0c0c0c","#00192e","#272d37","#3f6c19","#750a3d","#835d00","#00566e","#2c3f71","#0c594f"],columns:10},flow:{colors:["#ffffff","#000000","#dbf5f9","#04617b","#0f6fc6","#009dd9","#0bd0d9","#10cf9b","#7cca62","#a5c249","#f2f2f2","#7f7f7f","#b2e9f2","#b4ecfc","#c7e2fa","#c4eeff","#c9fafc","#c9faed","#e4f4df","#edf2da","#d8d8d8","#595959","#76d9e8","#6adafa","#90c6f6","#89deff","#93f5f9","#94f6db","#cae9c0","#dbe6b6","#bfbfbf","#3f3f3f","#21b2c8","#20c8f7","#59a9f2","#4fceff","#5df0f6","#5ff2ca","#b0dfa0","#c9da91","#a5a5a5","#262626","#105964","#02485c","#0b5394","#0075a2","#089ca2","#0b9b74","#54a838","#7e9532","#7f7f7f","#0c0c0c","#062328","#01303d","#073763","#004e6c","#05686c","#07674d","#387025","#546321"],columns:10},hardcover:{colors:["#ffffff","#000000","#ece9c6","#895d1d","#873624","#d6862d","#d0be40","#877f6c","#972109","#aeb795","#f2f2f2","#7f7f7f","#e1dca5","#f2e0c6","#f0d0c9","#f6e6d5","#f5f2d8","#e7e5e1","#fbc7bc","#eef0e9","#d8d8d8","#595959","#d0c974","#e6c28d","#e2a293","#eeceaa","#ece5b2","#cfccc3","#f78f7a","#dee2d4","#bfbfbf","#3f3f3f","#a29a36","#daa454","#d4735e","#e6b681","#e2d88c","#b7b2a5","#f35838","#ced3bf","#a5a5a5","#262626","#514d1b","#664515","#65281a","#a2641f","#a39428","#655f50","#711806","#879464","#7f7f7f","#0c0c0c","#201e0a","#442e0e","#431b11","#6c4315","#6d621a","#433f35","#4b1004","#5a6243"],columns:10},trek:{colors:["#ffffff","#000000","#fbeec9","#4e3b30","#f0a22e","#a5644e","#b58b80","#c3986d","#a19574","#c17529","#f2f2f2","#7f7f7f","#f7e09e","#e1d6cf","#fcecd5","#eddfda","#f0e7e5","#f3eae1","#ece9e3","#f5e3d1","#d8d8d8","#595959","#f3cc5f","#c4ad9f","#f9d9ab","#dcc0b6","#e1d0cc","#e7d5c4","#d9d4c7","#ebc7a3","#bfbfbf","#3f3f3f","#d29f0f","#a78470","#f6c781","#cba092","#d2b9b2","#dbc1a7","#c6bfab","#e1ac76","#a5a5a5","#262626","#694f07","#3a2c24","#c87d0e","#7b4b3a","#926255","#a17242","#7b7153","#90571e","#7f7f7f","#0c0c0c","#2a1f03","#271d18","#855309","#523226","#614138","#6b4c2c","#524b37","#603a14"],columns:10},verve:{colors:["#ffffff","#000000","#d2d2d2","#666666","#ff388c","#e40059","#9c007f","#68007f","#005bd3","#00349e","#f2f2f2","#7f7f7f","#bdbdbd","#e0e0e0","#ffd7e8","#ffc6dc","#ffb8f1","#f1b2ff","#c3dcff","#b8cfff","#d8d8d8","#595959","#9d9d9d","#c1c1c1","#ffafd1","#ff8eba","#ff71e4","#e365ff","#87baff","#72a0ff","#bfbfbf","#3f3f3f","#696969","#a3a3a3","#ff87ba","#ff5597","#ff2ad7","#d519ff","#4b98ff","#2b71ff","#a5a5a5","#262626","#343434","#4c4c4c","#e90062","#ab0042","#75005f","#4e005f","#00449e","#002676","#7f7f7f","#0c0c0c","#151515","#333333","#9b0041","#72002c","#4e003f","#34003f","#002d69","#00194f"],columns:10},monochrome:{colors:["#000000","#1a1a1a","#333333","#4d4d4d","#666666","#808080","#999999","#b3b3b3","#cccccc","#e6e6e6","#f2f2f2","#ffffff"],columns:12}},C=i,_=C.h,S=C.version&&"3"===C.version[0],M=24,A=10,I="office",T={name:"KendoColorPalette",model:{event:"changemodel"},emits:{keydown:null,focus:null,blur:null,changemodel:null,"update:modelValue":null,"update:modelRgbaValue":null,change:null},props:{palette:{type:[String,Array],default:I},columns:Number,tileSize:{type:[Number,Object],default:M},modelValue:String,modelRgbaValue:String,defaultValue:String,value:String,disabled:Boolean,tabIndex:Number,id:String,ariaLabelledBy:String,ariaDescribedBy:String},created:function(){(0,r.$j)(o),this.guid=(0,r.Os)()},mounted:function(){this.wrapper=(0,r.cX)(this,"wrapper")},updated:function(){this.wrapper=(0,r.cX)(this,"wrapper")},computed:{focusedColorCooridanates:function(){return this.focusedColor?this.paletteService.getCellCoordsFor(this.focusedColor):void 0},isUncontrolled:function(){return void 0===this.$props.value},selectedColor:function(){return void 0!==this.$props.value?this.$props.value:void 0!==this.modelValue?this.modelValue:void 0!==this.modelRgbaValue?this.modelRgbaValue:void 0!==this.currentValue?this.currentValue:this.$props.defaultValue}},data:function(){return{focusedColor:this.$props.value,currentValue:void 0}},setup:S?function(){var t=!!S;return{v3:t}}:void 0,render:function(t){var e=_||t,n=this.getPaletteInfo(),i=this.paletteService=new w;i.setColorMatrix(n.colors,n.columns);var o=i.getCellCoordsFor(this.selectedColor),a=i.getCellCoordsFor(this.focusedColor),s=(0,r.xW)("k-colorpalette",{"k-disabled":this.$props.disabled}),l=function(t,n,i,o){var a=void 0!==i&&i.row===n,s=i&&i.col,l=void 0!==o&&o.row===n,u=o&&o.col,c="number"!==typeof this.$props.tileSize?this.$props.tileSize:{width:this.$props.tileSize,height:this.$props.tileSize},h=c.width+"px",p=c.height+"px";return t.map((function(t,i){var o=this,c=a&&s===i,d=(0,r.xW)("k-colorpalette-tile",{"k-selected":c,"k-focus":l&&u===i});return e("td",{class:d,"aria-label":t,attrs:this.v3?void 0:{"aria-label":t,"aria-selected":!!c||!!this.$props.disabled&&void 0,id:this.createCellId({row:n,col:i}),role:"gridcell"},"aria-selected":!!c||!!this.$props.disabled&&void 0,style:{backgroundColor:t,width:h,height:p,minWidth:h},onClick:function(e){return o.onColorClick(t,e)},on:this.v3?void 0:{click:function(e){return o.onColorClick(t,e)}},id:this.createCellId({row:n,col:i}),key:i,role:"gridcell"})}),this)},u=function(t,n,i){return t.map((function(t,r){return e("tr",{role:"row",attrs:this.v3?void 0:{role:"row"},key:r},[l.call(this,t,r,n,i)])}),this)};return n.colors.length?e("div",{id:this.$props.id,attrs:this.v3?void 0:{id:this.$props.id,"aria-disabled":this.$props.disabled?"true":void 0,"aria-activedescendant":a&&this.createCellId(a),"aria-labelledby":this.$props.ariaLabelledBy,"aria-describedby":this.$props.ariaDescribedBy,role:"grid",tabindex:(0,r.yT)(this.$props.tabIndex,this.$props.disabled)},class:s,onFocusin:this.onFocus,on:this.v3?void 0:{focusin:this.onFocus,focusout:this.onBlur,keydown:this.onKeyDown},onFocusout:this.onBlur,onKeydown:this.onKeyDown,"aria-disabled":this.$props.disabled?"true":void 0,"aria-activedescendant":a&&this.createCellId(a),"aria-labelledby":this.$props.ariaLabelledBy,"aria-describedby":this.$props.ariaDescribedBy,role:"grid",tabindex:(0,r.yT)(this.$props.tabIndex,this.$props.disabled),ref:(0,r.cZ)(this,"wrapper")},[e("table",{class:"k-colorpalette-table k-palette",role:"presentation",attrs:this.v3?void 0:{role:"presentation"}},[e("tbody",[u.call(this,i.colorRows,o,a)])])]):""},methods:{focus:function(){this.wrapper&&this.wrapper.focus()},onKeyDown:function(t){switch(t.keyCode){case r.D$.down:this.handleCellNavigation(t,0,1);break;case r.D$.up:this.handleCellNavigation(t,0,-1);break;case r.D$.right:this.handleCellNavigation(t,1,0);break;case r.D$.left:this.handleCellNavigation(t,-1,0);break;case r.D$.enter:this.handleEnter(t);break;default:return void this.$emit("keydown",t)}this.$emit("keydown",t)},onColorClick:function(t,e){this.isUncontrolled?(this.currentValue=t,this.focusedColor=t):this.focusedColor=t,this.dispatchChangeEvent(t,e)},onFocus:function(t){this.focusedColor=this.selectedColor||this.paletteService.colorRows[0][0],this.$emit("focus",{event:t,target:this})},onBlur:function(t){this.focusedColor=void 0,this.$emit("blur",{event:t,target:this})},handleCellNavigation:function(t,e,n){if(t.preventDefault(),this.focusedColorCooridanates){var i=this.paletteService.getNextCell(this.focusedColorCooridanates,e,n);this.focusedColor=this.paletteService.getColorAt(i)}else this.focusedColor=this.paletteService.colorRows[0][0]},handleEnter:function(t){this.isUncontrolled&&(this.currentValue=this.focusedColor),this.dispatchChangeEvent(this.focusedColor,t)},dispatchChangeEvent:function(t,e){var n=c(t,"rgba");this.$emit("changemodel",t),this.$emit("update:modelValue",t),this.$emit("update:modelRgbaValue",n),this.$emit("change",{event:e,component:this,value:t,rgbaValue:n})},getPaletteInfo:function(){if("string"===typeof this.$props.palette){var t=k[this.$props.palette];return a(t)?{colors:t.colors,columns:this.$props.columns||t.columns||A}:{colors:[],columns:0}}return{colors:this.$props.palette||[],columns:this.$props.columns||A}},createCellId:function(t){return"".concat(this.guid,"_").concat(t.row,"_").concat(t.col)}}},N=T,$={},O={opacity:!0},L={palette:I,tileSize:M};function E(t){delete $[t]}var P,D,R=n(131),B=n(4199),F=function(){return F=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=4.5,v=u>=7,g=e("span",{key:1,class:"k-contrast-validation k-text-success"},[s," ",e(r.In,{name:"check",attrs:this.v3?void 0:{name:"check",icon:B.oEo},icon:B.oEo})]),y=e("span",{key:2,class:"k-contrast-validation k-text-error"},[l," ",e(r.In,{name:"x",attrs:this.v3?void 0:{name:"x",icon:B.i3N},icon:B.i3N})]);return e("div",{class:"k-vbox k-colorgradient-color-contrast"},[e("div",{class:"k-contrast-ratio"},[e("span",{class:"k-contrast-ratio-text"},[p]),m?e("span",{class:"k-contrast-validation k-text-success"},[e(r.In,{name:"check",attrs:this.v3?void 0:{name:"check",icon:B.oEo},icon:B.oEo}),v&&e(r.In,{name:"check",attrs:this.v3?void 0:{name:"check",icon:B.oEo},icon:B.oEo})]):e("span",{class:"k-contrast-validation k-text-error"},[e(r.In,{name:"x",attrs:this.v3?void 0:{name:"x",icon:B.i3N},icon:B.i3N})])]),e("div",[e("span",[d]),m?g:y]),e("div",[e("span",[f]),v?g:y])])}},Yt=qt,Xt=function(t,e){var n=e[0]-t[0],i=e[1]-t[1];return{length:Math.sqrt(Math.pow(n,2)+Math.pow(i,2)),angle:Math.atan2(i,n)}},Jt=function(t){return function(e,n,i,r){var o=n||e,a=i||e,s=.1,l=t(o,a),u=l.angle+(r?Math.PI:0),c=l.length*s,h=e[0]+Math.cos(u)*c,p=e[1]+Math.sin(u)*c;return[h,p]}},Qt=function(t){return function(e,n,i){var r=t(i[n-1],i[n-2],e),o=r[0],a=r[1],s=t(e,i[n-1],i[n+1],!0),l=s[0],u=s[1];return"C ".concat(o,",").concat(a," ").concat(l,",").concat(u," ").concat(e[0],",").concat(e[1])}},te=i,ee=te.h,ne=te.version&&"3"===te.version[0],ie=4.5,re=7,oe=16,ae={name:"KendoColorContrastSvg",props:{metrics:Object,backgroundColor:String,hsva:Object},setup:ne?function(){var t=!!ne;return{v3:t}}:void 0,render:function(t){var e=this,n=ee||t,i=function(t,e){if(0===t.length)return"";var i=t.reduce((function(t,n,i,r){return 0===i?"M ".concat(n[0],",").concat(n[1]):"".concat(t," ").concat(e(n,i,r))}),"");return n("path",{d:i,attrs:this.v3?void 0:{d:i,fill:"none",stroke:"white","stroke-width":"1"},fill:"none",stroke:"white","stroke-width":"1"})},r=this.$props.metrics,o=function t(n,i,o,a,s){var l=(o+a)/2,u=Object.assign({},e.$props.hsva,{s:i/r.width,v:1-l/r.height}),c=x(d(f(u)),d(e.$props.backgroundColor||""));return o+.5>a?cn-1?l:null:s(c,n)?t(n,i,o,a-(a-o)/2,s):t(n,i,o+(a-o)/2,a,s)},a=function(t,e,n){void 0===n&&(n=!1);for(var i=[],a=0;a<=r.width;a+=r.width/e){var s=o(t,a,0,r.height,n?function(t,e){return te});null!==s&&i.push([a,s])}return i},s=Qt(Jt(Xt));return n("svg",{xmlns:"http://www.w3.org/2000/svg",attrs:this.v3?void 0:{xmlns:"http://www.w3.org/2000/svg"},class:"k-color-contrast-svg",style:{position:"absolute",overflow:"visible",pointerEvents:"none",left:0,top:0,zIndex:3}},[i.call(this,a(ie,oe),s),i.call(this,a(ie,oe,!0),s),i.call(this,a(re,oe),s),i.call(this,a(re,oe,!0),s)])}},se=ae,le=i,ue=le.h,ce=le.version&&"3"===le.version[0],he="rgba",pe="rgba(255, 255, 255, 1)",de={name:"KendoColorGradient",model:{event:"changemodel"},emits:{change:null,focus:null,blur:null,changemodel:null,"update:modelValue":null,"update:modelRgbaValue":null,keydown:null},inject:{kendoLocalizationService:{default:null}},props:{modelValue:String,modelRgbaValue:String,defaultValue:String,value:String,opacity:{type:Boolean,default:!0},backgroundColor:String,disabled:Boolean,id:String,ariaLabelledBy:String,ariaDescribedBy:String,tabIndex:Number,innerTabIndex:{type:Number,default:void 0}},created:function(){(0,r.$j)(o),this.guid=(0,r.Os)()},computed:{valueSet:function(){return this.value||this.modelValue||this.modelRgbaValue},computedValue:function(){var t=this.valueSet||this.currentValue||this.defaultValue||c(pe,he);return a(c(t,"hex",this.opacity))||(t=pe),t},hsva:function(){return this.valueSet?p(this.computedValue):this.currentHsva||p(this.computedValue)},rgba:function(){return this.valueSet?d(this.computedValue):this.currentRgba},hex:function(){return this.valueSet?c(this.computedValue,"hex",this.opacity):this.currentHex},computedBgColor:function(){return this.currentBgColor||m(this.hsva.h)},computedTabIndex:function(){return void 0!==this.innerTabIndex?this.innerTabIndex:this.focused?0:-1}},data:function(){return{currentValue:void 0,currentBgColor:void 0,isFirstRender:!0,currentHsva:void 0,currentRgba:void 0,currentHex:void 0,focused:!1}},mounted:function(){this.setAlphaSliderBackground(this.computedBgColor),this.$el&&(this.draggable=this.$refs.draggable,this.gradientWrapper=this.draggable&&this.draggable.element),this.alphaSlider=this.v3?this.alphaSliderRef:this.$refs.alphaSlider,this.isFirstRender&&(this.isFirstRender=!1)},destroyed:function(){E(this.guid)},updated:function(){this.setAlphaSliderBackground(this.computedBgColor)},setup:ce?function(){var t=!!ce;return{v3:t}}:void 0,render:function(t){var e=this,n=this,i=ue||t,o=(0,r.xW)("k-colorgradient",{"k-disabled":this.$props.disabled}),s=(0,J.GB)(this),l=s.toLanguageString(wt,Bt[wt]),u=s.toLanguageString(kt,Bt[kt]),c=s.toLanguageString(rt,Bt[rt]),h=function(){var t={};if(!this.isFirstRender){var e=this.getGradientRectMetrics(),n=(1-this.hsva.v)*e.height,o=this.hsva.s*e.width;t.top="".concat(n,"px"),t.left="".concat(o,"px")}return i("div",{class:"k-hsv-draghandle k-draghandle",role:"slider",attrs:this.v3?void 0:{role:"slider","aria-orientation":"undefined","aria-label":c+"".concat(this.value||"none"),"aria-valuenow":Math.round(100*this.hsva.s),"aria-valuetext":"\n saturation: ".concat(Math.round(100*this.hsva.s),"%,\n value: ").concat(Math.round(100*this.hsva.v),"%"),tabindex:this.computedTabIndex},"aria-orientation":"undefined","aria-label":c+"".concat(this.value||"none"),"aria-valuenow":Math.round(100*this.hsva.s),"aria-valuetext":"\n saturation: ".concat(Math.round(100*this.hsva.s),"%,\n value: ").concat(Math.round(100*this.hsva.v),"%"),tabindex:this.computedTabIndex,onKeydown:this.dragKeyDown,on:this.v3?void 0:{keydown:this.dragKeyDown},style:t,ref:(0,r.cZ)(this,"draghandle")})};return i("div",{id:this.$props.id,attrs:this.v3?void 0:{id:this.$props.id,role:-1!==this.$props.tabIndex?"textbox":void 0,"aria-disabled":this.$props.disabled,tabindex:(0,r.yT)(this.$props.tabIndex,this.$props.disabled),"aria-labelledby":this.$props.ariaLabelledBy,"aria-describedby":this.$props.ariaDescribedBy},class:o,role:-1!==this.$props.tabIndex?"textbox":void 0,"aria-disabled":this.$props.disabled,tabindex:(0,r.yT)(this.$props.tabIndex,this.$props.disabled),"aria-labelledby":this.$props.ariaLabelledBy,"aria-describedby":this.$props.ariaDescribedBy,onFocus:this.onFocus,on:this.v3?void 0:{focus:this.onFocus,blur:this.onBlur,keydown:this.onKeyDownHandler},onBlur:this.onBlur,onKeydown:this.onKeyDownHandler},[i("div",{class:"k-colorgradient-canvas k-hstack"},[i("div",{class:"k-hsv-rectangle",style:{background:this.computedBgColor}},[i(r.sx,{onDrag:this.onDrag,on:this.v3?void 0:{drag:this.onDrag,release:this.onRelease},onRelease:this.onRelease,ref:"draggable"},this.v3?function(){return[i("div",{class:"k-hsv-gradient",style:{touchAction:"none"},tabindex:-1,attrs:e.v3?void 0:{tabindex:-1},onClick:e.onGradientWrapperClick,on:e.v3?void 0:{click:e.onGradientWrapperClick}},[h.call(e)])]}:[i("div",{class:"k-hsv-gradient",style:{touchAction:"none"},tabindex:-1,attrs:e.v3?void 0:{tabindex:-1},onClick:e.onGradientWrapperClick,on:e.v3?void 0:{click:e.onGradientWrapperClick}},[h.call(e)])]),this.backgroundColor&&!this.isFirstRender&&i(se,{metrics:this.gradientWrapper?this.getGradientRectMetrics():void 0,attrs:this.v3?void 0:{metrics:this.gradientWrapper?this.getGradientRectMetrics():void 0,hsva:this.hsva,backgroundColor:this.backgroundColor},hsva:this.hsva,backgroundColor:this.backgroundColor})]),i("div",{class:"k-hsv-controls k-hstack"},[i(xi,{tabIndex:this.computedTabIndex,attrs:this.v3?void 0:{tabIndex:this.computedTabIndex,value:this.hsva.h,buttons:!1,vertical:!0,min:0,max:360,step:5,disabled:this.$props.disabled,ariaLabel:l},value:this.hsva.h,buttons:!1,vertical:!0,min:0,max:360,step:5,onChange:this.onHueSliderChange,on:this.v3?void 0:{change:this.onHueSliderChange},class:"k-hue-slider k-colorgradient-slider",disabled:this.$props.disabled,ariaLabel:l}),this.$props.opacity&&i(xi,{tabIndex:this.computedTabIndex,attrs:this.v3?void 0:{tabIndex:this.computedTabIndex,value:a(this.hsva.a)?100*this.hsva.a:100,buttons:!1,vertical:!0,min:0,max:100,step:1,disabled:this.$props.disabled,ariaLabel:u},value:a(this.hsva.a)?100*this.hsva.a:100,buttons:!1,vertical:!0,min:0,max:100,step:1,onChange:this.onAlphaSliderChange,on:this.v3?void 0:{change:this.onAlphaSliderChange},class:"k-alpha-slider k-colorgradient-slider",disabled:this.$props.disabled,ariaLabel:u,ref:this.v3?function(t){n.alphaSliderRef=t}:"alphaSlider"})])]),i(Ut,{tabIndex:this.computedTabIndex,attrs:this.v3?void 0:{tabIndex:this.computedTabIndex,rgba:this.rgba,hex:this.hex,opacity:this.$props.opacity,disabled:this.$props.disabled},rgba:this.rgba,onRgbachange:this.onRgbaChange,on:this.v3?void 0:{rgbachange:this.onRgbaChange,hexchange:this.onHexChange},hex:this.hex,onHexchange:this.onHexChange,opacity:this.$props.opacity,disabled:this.$props.disabled,ref:"colorInput"}),this.backgroundColor&&i(Yt,{bgColor:d(this.backgroundColor),attrs:this.v3?void 0:{bgColor:d(this.backgroundColor),rgba:this.rgba},rgba:this.rgba})])},methods:{onKeyDownHandler:function(t){var e=this.$el;void 0===this.innerTabIndex&&(this.focused=(0,r.su)(t,e)),this.$emit("keydown",t)},onHexChange:function(t,e,n){var i=d(e),r=p(e);this.currentHsva=r,this.currentBgColor=m(r.h),this.currentRgba=i,this.currentHex=t,this.dispatchChangeEvent(e,n.event,t,e)},onRgbaChange:function(t,e){var n=v(t),i=c(n,"hex",this.opacity),r=p(n);this.currentHsva=r,this.currentBgColor=m(r.h),this.currentRgba=t,this.currentHex=i,this.dispatchChangeEvent(n,e.event,i,n)},onAlphaSliderChange:function(t){this.handleHsvaChange(Object.assign({},this.hsva,{a:t.value/100}),t.event)},onHueSliderChange:function(t){this.handleHsvaChange(Object.assign({},this.hsva,{h:t.value}),t.event)},onDrag:function(t){this.gradientWrapper.classList.add("k-dragging"),this.changePosition(t)},onRelease:function(){this.gradientWrapper.classList.remove("k-dragging")},onGradientWrapperClick:function(t){this.firstFocusable=(0,r.cX)(this,"draghandle"),this.firstFocusable&&this.firstFocusable.focus(),this.changePosition(t)},move:function(t,e,n){var i=this.hsva;i[e]+=n*(t.shiftKey?.01:.05),i[e]<0&&(i[e]=0),i[e]>1&&(i[e]=1),t.preventDefault(),this.handleHsvaChange(i,t)},dragKeyDown:function(t){switch(t.keyCode){case r.D$.left:this.move(t,"s",-1);break;case r.D$.right:this.move(t,"s",1);break;case r.D$.up:this.move(t,"v",1);break;case r.D$.down:this.move(t,"v",-1);break;case r.D$.enter:break;case r.D$.esc:break;default:break}},changePosition:function(t){var e=this.getGradientRectMetrics(),n=t.clientX-e.left,i=t.clientY-e.top,r=s(n,0,e.width),o=s(i,0,e.height),a=Object.assign({},this.hsva,{s:r/e.width,v:1-o/e.height});this.handleHsvaChange(a,t,t.event)},handleHsvaChange:function(t,e){var n=f(t),i=c(n,"hex",this.opacity),r=c(n,"rgba");this.currentHsva=t,this.currentBgColor=m(t.h),this.currentRgba=d(n),this.currentHex=i,this.dispatchChangeEvent(n,e,i,r)},dispatchChangeEvent:function(t,e,n,i){this.currentValue=t,this.$emit("changemodel",n),this.$emit("update:modelRgbaValue",i),this.$emit("update:modelValue",n),this.$emit("change",{event:e,target:this,value:n,rgbaValue:i})},onFocus:function(t){this.$emit("focus",{event:t,target:this})},onBlur:function(t){this.$emit("blur",{event:t,target:this})},setAlphaSliderBackground:function(t){this.$props.opacity&&this.alphaSlider&&this.alphaSlider.sliderTrack&&(this.alphaSlider.sliderTrack.style.background="linear-gradient(to top, transparent, ".concat(t,")"))},getGradientRectMetrics:function(){var t=this.gradientWrapper.getBoundingClientRect();return{top:t.top,right:t.right,bottom:t.bottom,left:t.left,width:t.width,height:t.height,x:t.x,y:t.y}},focus:function(){var t=this;this.focused=!0,setTimeout((function(){(0,r.rp)(t.$el)}),1)}}},fe=de,me=n(9889),ve=i,ge=ve.h,ye=ve.version&&"3"===ve.version[0],be="bottom",xe="top",we={name:"KendoPicker",props:{popupSettings:Object,dir:String,open:Boolean,popupAnchor:String,id:String},computed:{horizontalAlign:function(){return"rtl"===this.$props.dir?"right":"left"},anchorAlign:function(){return{horizontal:this.horizontalAlign,vertical:be}},popupAlign:function(){return{horizontal:this.horizontalAlign,vertical:xe}}},setup:ye?function(){var t=!!ye;return{v3:t}}:void 0,render:function(t){var e=ge||t,n=(0,r.Rk)(this),i=this.$props.popupSettings,o=i.popupClass,a=i.appendTo,s=i.animate,l=i.className;return e(me.z,{id:this.id,attrs:this.v3?void 0:{id:this.id,anchor:this.$props.popupAnchor,anchorAlign:this.anchorAlign,popupAlign:this.popupAlign,show:this.$props.open,appendTo:a,animate:s,popupClass:o},anchor:this.$props.popupAnchor,anchorAlign:this.anchorAlign,popupAlign:this.popupAlign,show:this.$props.open,onOpen:this.onOpen,on:this.v3?void 0:{open:this.onOpen,close:this.onClose},onClose:this.onClose,appendTo:a,animate:s,popupClass:o,class:(0,r.xW)("k-reset",l)},this.v3?function(){return[n]}:[n])},methods:{onOpen:function(){this.$emit("open")},onClose:function(){this.$emit("close")}}},ke=we,Ce=function(){return Ce=Object.assign||function(t){for(var e,n=1,i=arguments.length;n1||t<1||1===t?void 0!==n&&void 0!==e&&nn&&(t=n),void 0!==e&&ti)n.selectionStart=n.selectionEnd=i;else{n.selectionStart>t.length&&(n.selectionStart=n.selectionEnd=t.length);var r=un(t,e);-1!==r&&n.selectionStart2},vn=function(t,e){var n=e.formatNumber(Ue,t),i=e.formatNumber(-Ue,t),r=e.formatNumber(qe,t),o=e.formatNumber(We,t),a=wn(n),s=wn(i),l=wn(r),u=wn(o),c=kn(n),h=kn(i),p=kn(r),d=kn(o);return{positiveInfo:[a,c],negativeInfo:[s,h],zeroInfo:[l,p],oneInfo:[u,d]}},gn=function(t,e){var n=e.formatNumber(Ue,t),i=e.formatNumber(-Ue,t),r=e.formatNumber(qe,t),o=e.formatNumber(We,t),a=e.numberSymbols(),s=new RegExp("[\\d\\".concat(a.decimal).concat(a.group,"]"),"g"),l=[n,i,r,o].map((function(t){return t.replace(s,"")})).join("");return l.split("").filter((function(t,e,n){return n.indexOf(t)===e})).join("")},yn=function(t,e){var n=t.indexOf(e.decimal);return n>-1?n:xn(t,Ye)},bn=function(t){return t.split("").reverse().join("")},xn=function(t,e){return t.length-bn(t).search(e)},wn=function(t){return t.split(t[t.search(Ye)])[0]},kn=function(t){var e=bn(t);return bn(e.split(e[e.search(Ye)])[0])},Cn=function(t,e){return t.search(e)},_n=function(t,e){var n=t.indexOf(e);return n>-1?t.length-n-1:0},Sn=function(t,e,n,i,r){var o="0"===t.replace(r,"")[0],a="0"===e.replace(r,"")[0];if(o&&!a)return n-1;if(a&&i)return n+1;for(var s=0,l=0;l0&&e.length>u)Ye.test(e.charAt(u))&&s--,u++;return u},Mn=function(t,e,n){var i=Ze({},t),r=i.prevLooseValue,o=n.numberSymbols(),a=gn(e,n),s=String(i.currentLooseValue),l=String(r),u=new RegExp("[^\\d\\".concat(o.decimal,"]"),"g"),c=new RegExp("[^\\d\\".concat(o.decimal,"\\").concat(o.group,"]"),"g"),h=new RegExp("[\\d\\".concat(o.decimal,"\\").concat(o.group,"]")),p=s.replace(u,""),d=Cn(s,Ye),f=-1===d?-1:xn(s,Ye),m=s.indexOf(o.decimal),v=(s.substring(0,d)+s.substring(d,f).replace(c,"")+s.substring(f,s.length)).split("").filter((function(t){return-1!==a.indexOf(t)||-1!==t.search(h)})).join(""),g=n.formatNumber(Ge,e).replace(u,""),y=g.indexOf(o.decimal),b=y>-1?g.length-y-1:0,x=n.formatNumber(Ke,e).replace(u,""),w=x.indexOf(o.decimal),k=w>-1?x.length-w-1:0,C=vn(e,n),_=C.positiveInfo,S=C.negativeInfo,M=C.zeroInfo,A=C.oneInfo,I=[_,S,M,A],T=1!==I.findIndex((function(t){return-1!==t.findIndex((function(t){return Boolean(t)}))})),N=s.length>0&&s.length0){var D=xn(P,Ye);i.currentLooseValue=P.substring(0,D)+o.decimal+P.substring(D)}else i.currentLooseValue=P;return hn(i,yn(i.currentLooseValue,o)+1,i.currentLooseValue,I),i}if(mn(i,o))return pn(i,e,I,n),i;if($)return i.eventValue=n.parseNumber(s,e)/100,i.currentLooseValue=Qe(i.eventValue,e,n),i;var R=String(i.currentLooseValue).replace(/[^\d]/g,"");if(R.length>Xe)return pn(i,e,I,n),i;if(p!==s&&s&&T){var B=I.findIndex((function(t){var e=t[0],n=t[1],i=s.indexOf(e),r=s.indexOf(n),a=0===i,l=r===s.length-n.length,u=i+e.length!==d&&-1!==d&&s[i+e.length]!==o.decimal,c=r!==f&&-1!==f&&s[r-1]!==o.decimal;return e&&n?!u&&!c&&(a&&l):e?!u&&a:!!n&&(!c&&l)}));if(-1===B)return pn(i,e,I,n),i}if(p[p.length-1]===o.decimal&&b>0)return i.eventValue=n.parseNumber(s,e),i.currentLooseValue=v,i;if(i.currentLooseValue&&r){var F=(a+o.decimal+o.group).split("").findIndex((function(t){return s.split("").filter((function(e){return e===t})).length-1;if(F)return i.eventValue=n.parseNumber(t.prevLooseValue,e),i.currentLooseValue=t.prevLooseValue,i}var z=_n(p,o.decimal),j="0"===p[p.length-1];if(N&&j&&z0){var V=s.substring(0,m);if(j&&(!V||0!==l.indexOf(V))){i.eventValue=n.parseNumber(i.currentLooseValue,e);var H=Qe(i.eventValue,e,n);return hn(i,Sn(s,H,i.selectionEnd,N,u),H,I),i.currentLooseValue=H,i}if(z>b){var Z=s.indexOf(o.decimal),U=s.substring(0,Z)+s.substring(Z,Z+1+b)+s.substring(f,String(i.currentLooseValue).length);return i.eventValue=n.parseNumber(U,e),i.currentLooseValue=U,hn(i,i.selectionStart,U,I),i}if(k!==b&&z<=b&&j)return i.eventValue=n.parseNumber(i.currentLooseValue,e),i.currentLooseValue=v,i;if(z0&&(t.preventDefault(),this.decrease(t)))},keyDown:function(t){var e=this.getCurrentState(),n=this.parseNumber(String(e.currentLooseValue));if(!(e.selectionEnd>e.selectionStart&&e.selectionEnd-e.selectionStart===String(e.currentLooseValue).length)){switch(t.keyCode){case 38:on(n,e,this.$props.step,this.$props.min,this.$props.max,this.$props.format,this._intl);break;case 40:an(n,e,this.$props.step,this.$props.min,this.$props.max,this.$props.format,this._intl);break;case 13:var i=Qe(sn(n,this.$props.min,this.$props.max),this.$props.format,this._intl),r=sn(this.parseNumber(i),this.$props.min,this.$props.max);e.eventValue=r,e.currentLooseValue=Qe(r,this.$props.format,this._intl),e.selectionStart=e.selectionEnd=e.currentLooseValue.length;break;case 110:var o=this._input,a=this._intl.numberSymbols();o&&(e.currentLooseValue=e.currentLooseValue.slice(0,e.selectionStart)+a.decimal+e.currentLooseValue.slice(e.selectionEnd),e.selectionStart=e.selectionEnd=e.selectionStart+1,e=Mn(e,this.$props.format,this._intl));break;default:return}t.preventDefault(),this.triggerChange(t,e)}},spinnersWrapperMouseDown:function(t){r.Sw&&this._input&&(t.preventDefault(),document.activeElement!==this._input&&this._input.focus())}},setup:Tn?function(){var t=!!Tn,e=Nn(null),n=Nn(null),i=$n("kendoLocalizationService",{}),r=$n("kendoIntlService",{});return{v3:t,inputRef:e,elementWrapperRef:n,kendoLocalizationService:i,kendoIntlService:r}}:void 0,render:function(t){var e=In||t,n=this.$props,i=n.iconName,o=n.showValidationIcon,a=n.showLoadingIcon,s=n.showClearButton,l=this.$props.id||this._inputId,u=(0,r.Rk)(this),c=(0,J.GB)(this),h=this.validity().valid;void 0!==this.$props.value&&this.$props.value!==this.$data.currentValue?this.$data.currentValue=this.$props.value:void 0!==this.$props.modelValue&&this.$props.modelValue!==this.$data.currentValue&&(this.$data.currentValue=this.$props.modelValue),this._prevLooseValue=this.looseValue;var p=r.rh.call(this,this.$props.inputPrefix,r.WM.call(this)),d=r.rh.call(this,this.$props.inputSuffix,r.WM.call(this)),f=r.$F.call(this,{h:e,template:p,additionalProps:{value:this.computedValue,valid:h}}),m=r.$F.call(this,{h:e,template:d,additionalProps:{value:this.computedValue,valid:h}}),v=e("span",{dir:this.$props.dir,attrs:this.v3?void 0:{dir:this.$props.dir},class:this.wrapperClassNames,style:this.$attrs.style},[i&&e(r.In,{name:i,attrs:this.v3?void 0:{name:i},class:"k-input-icon"}),this.$props.inputPrefix&&e("span",{class:"k-input-prefix"},[f]),e("input",{tabindex:this.$props.tabIndex,attrs:this.v3?void 0:{tabindex:this.$props.tabIndex,accesskey:this.$props.accessKey,disabled:this.$props.disabled,title:this.$props.title,"aria-label":this.$props.ariaLabel,"aria-valuemin":this.$props.min,"aria-valuemax":this.$props.max,"aria-disabled":this.$props.disabled?"true":void 0,placeholder:this.$props.placeholder,type:this.$props.inputType,spellcheck:!1,autocomplete:"off",autocorrect:"off",id:l,role:"spinbutton",name:this.$props.name},accesskey:this.$props.accessKey,disabled:this.$props.disabled,title:this.$props.title,"aria-label":this.$props.ariaLabel,"aria-valuemin":this.$props.min,"aria-valuemax":this.$props.max,"aria-disabled":this.$props.disabled?"true":void 0,placeholder:this.$props.placeholder,type:this.$props.inputType,spellcheck:!1,autocomplete:"off",autocorrect:"off",class:this.inputInnerClass,id:l,role:"spinbutton",value:this.v3?this.looseValue:null,domProps:this.v3?void 0:{value:this.looseValue},name:this.$props.name,onWheel:this.wheel,on:this.v3?void 0:{wheel:this.wheel,keydown:this.keyDown,input:this.elementChange,focus:this.emitFocus,blur:this.emitBlur,paste:this.onPasteHandler},onKeydown:this.keyDown,onInput:this.elementChange,onFocus:this.emitFocus,onBlur:this.emitBlur,onPaste:this.onPasteHandler,ref:(0,r.cZ)(this,"input")}),this.$props.inputSuffix&&e("span",{class:"k-input-suffix"},[m]),o&&h&&e(r.In,{name:"check",attrs:this.v3?void 0:{name:"check",icon:B.oEo},icon:B.oEo,class:"k-input-validation-icon"}),o&&!h&&e(r.In,{name:"exclamation-circle",attrs:this.v3?void 0:{name:"exclamation-circle",icon:B.FlX},icon:B.FlX,class:"k-input-validation-icon"}),a&&e(r.In,{name:"loading",attrs:this.v3?void 0:{name:"loading"},class:"k-input-loading-icon"}),s&&void 0!==this.computedValue&&null!==this.computedValue&&e("span",{onClick:this.clearClick,on:this.v3?void 0:{click:this.clearClick},class:"k-clear-value"},[e(r.In,{name:"x",attrs:this.v3?void 0:{name:"x",icon:B.i3N},icon:B.i3N})]),u,this.$props.spinners&&e("span",{class:"k-input-spinner k-spin-button",onMousedown:this.spinnersWrapperMouseDown,on:this.v3?void 0:{mousedown:this.spinnersWrapperMouseDown}},[e(X.$n,{type:"button",attrs:this.v3?void 0:{type:"button",tabIndex:-1,icon:"caret-alt-up",svgIcon:B.hdA,rounded:null,"aria-label":c.toLanguageString(Q,Bt[Q]),title:c.toLanguageString(Q,Bt[Q])},tabIndex:-1,icon:"caret-alt-up",svgIcon:B.hdA,class:"k-spinner-increase",rounded:null,"aria-label":c.toLanguageString(Q,Bt[Q]),title:c.toLanguageString(Q,Bt[Q]),onClick:this.increase,on:this.v3?void 0:{click:this.increase}}),e(X.$n,{type:"button",attrs:this.v3?void 0:{type:"button",tabIndex:-1,icon:"caret-alt-down",svgIcon:B.Y8K,rounded:null,"aria-label":c.toLanguageString(tt,Bt[tt]),title:c.toLanguageString(tt,Bt[tt])},tabIndex:-1,class:"k-spinner-decrease",icon:"caret-alt-down",svgIcon:B.Y8K,rounded:null,"aria-label":c.toLanguageString(tt,Bt[tt]),title:c.toLanguageString(tt,Bt[tt]),onClick:this.decrease,on:this.v3?void 0:{click:this.decrease}})])]);return this.$props.label?e("span",{class:this.spanClassNames,onFocusin:this.handleFocus,on:this.v3?void 0:{focusin:this.handleFocus,focusout:this.handleBlur},onFocusout:this.handleBlur,dir:this.$props.dir,attrs:this.v3?void 0:{dir:this.$props.dir}},[v,this.$props.label?l?e("label",{for:l,attrs:this.v3?void 0:{for:l},class:"k-label"},[this.$props.label]):e("span",{class:"k-label"},[this.$props.label]):null]):v}},En=Ln;(function(t){t[t["Literal"]=0]="Literal",t[t["Mask"]=1]="Mask",t[t["Undefined"]=2]="Undefined"})(D||(D={}));var Pn,Dn=function(){function t(t,e,n){void 0===n&&(n=D.Undefined),this.value=t,this.rest=e,this.type=n}return t.prototype.map=function(e){return new t(e(this.value),this.rest)},t.prototype.chain=function(t){return t(this.value,this.rest)},t.prototype.fold=function(t,e){return t(this.value,this.rest)},t.prototype.concat=function(t){return this.map((function(e,n){return t.chain((function(t,n){return e.concat([t])}))}))},t.prototype.toString=function(){return"Result({ value: '".concat(this.value,"', rest: ").concat(this.rest," })")},t}(),Rn=function(){function t(t,e){void 0===t&&(t=[]),void 0===e&&(e=[]),this.input=t,this.control=e,this.inputCursor=0,this.controlCursor=0}return t.prototype.eof=function(){return this.inputCursor>=this.input.length},t.prototype.next=function(){return{char:this.input[this.inputCursor++],control:this.control[this.controlCursor++]}},t.prototype.peek=function(){return{char:this.input[this.inputCursor],control:this.control[this.controlCursor]}},t.prototype.eat_input=function(){this.inputCursor++},t.prototype.eat_control=function(){this.controlCursor++},t.prototype.eat=function(){this.inputCursor++,this.controlCursor++},t}(),Bn=function(t){return(t||"").split("")},Fn="\\",zn=function(){function t(t){this.parse=t}return t.prototype.run=function(t,e){return void 0===e&&(e=""),t instanceof Rn?this.parse(t):this.parse(new Rn(Bn(t),Bn(e)))},t.prototype.map=function(e){var n=this;return new t((function(t){return n.parse(t).map(e)}))},t.prototype.chain=function(e){var n=this;return new t((function(t){return n.parse(t).chain((function(t,n){return e(t).run(n)}))}))},t.prototype.isLiteral=function(t){return this.run(t).type===D.Literal},t}(),jn=function(t){var e=t.prompt,n=t.promptPlaceholder;return function(t){return new zn((function(i){while(!i.eof()){var r=i.peek(),o=r.char,a=r.control;if(o===a&&a===e)return i.eat(),new Dn(e,i,D.Mask);if(t.test(o))return i.eat(),new Dn(o,i,D.Mask);if(o===n)return i.eat(),new Dn(e,i,D.Mask);i.eat_input()}return i.eat(),new Dn(e,i,D.Mask)}))}},Vn=function(t){return new zn((function(e){var n=e.peek().char;return n===t?(e.eat(),new Dn(t,e,D.Literal)):new Dn(t,e,D.Literal)}))},Hn=function(t){return function(e){return new zn((function(n){while(!n.eof()){var i=n.peek(),r=i.char,o=i.control;if(r===t&&o===t)return n.eat(),new Dn(r,n);if(e.test(r))return n.eat(),new Dn(r,n);n.eat_input()}return n.eat(),new Dn("",n)}))}},Zn=function(t){return new zn((function(e){if(e.eof())return new Dn("",e);var n=e.peek().char;return n===t&&e.eat(),new Dn(t,e)}))},Un=function(t,e){return new zn((function(n){var i=n.next().char,r=t[i];return i===Fn?(i=n.next().char,new Dn(e.literal(i),n)):new Dn(r?e.mask(r):e.literal(i),n)}))},Gn=function(t){var e=t.prompt,n=t.promptPlaceholder;return new zn((function(t){var i=t.next().char;return new Dn(i===e?n:i,t)}))},Kn=function(t){return new zn((function(e){var n=e.next().char;return new Dn(t?n:"",e)}))},Wn=function(t){return new zn((function(e){return new Dn(t,e)}))},qn=function(t,e){return t.chain((function(t){return e.map((function(e){return t.concat([e])}))}))},Yn=function(t){return t.reduce((function(t,e){return qn(t,e)}),Wn([]))},Xn=function(t){return new zn((function(e){var n=new Dn([],e);while(!e.eof())n=n.concat(t.run(e));return n}))},Jn=function(){function t(){this.rules={},this.prompt="_",this.mask="",this.promptPlaceholder=" ",this.includeLiterals=!1,this.maskTokens=[],this.unmaskTokens=[],this.rawTokens=[],this.validationTokens=[]}return t.prototype.update=function(t){var e=t.mask,n=void 0===e?"":e,i=t.prompt,r=void 0===i?"":i,o=t.promptPlaceholder,a=void 0===o?" ":o,s=t.rules,l=void 0===s?{}:s,u=t.includeLiterals,c=void 0!==u&&u;this.mask=n,this.prompt=r,this.promptPlaceholder=a,this.rules=l,this.includeLiterals=c,this.tokenize()},t.prototype.validationValue=function(t){void 0===t&&(t="");var e=t;return Yn(this.validationTokens).run(t).fold((function(t){e=t.join("")})),e},t.prototype.rawValue=function(t){void 0===t&&(t="");var e=t;return this.rawTokens.length?(Yn(this.rawTokens).run(t).fold((function(t){e=t.join("")})),e):e},t.prototype.maskRaw=function(t){void 0===t&&(t="");var e=t;return this.maskTokens.length?(Yn(this.maskTokens).run(t).fold((function(t){e=t.join("")})),e):e},t.prototype.maskInput=function(t,e,n){return t.lengtht.end?t.end:Math.max(e.payload,e.min),end:t.end};break;case Pn.end:if(void 0===e.payload)return t;n={start:t.start,end:e.payloade.max?wi(wi({},t),{end:e.max}):wi(wi({},t),{end:Math.max(i,t.start)});break;case Pn.decrease:if(void 0===e.step||void 0===e.key)return t;i=t[e.key]-e.step,n="start"===e.key?ie.max?wi(wi({},t),{end:e.max}):wi(wi({},t),{end:Math.max(i,t.start)});break;default:n=t;break}return n},Si=function(){return Si=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=this.input.length},t.prototype.next=function(){return{char:this.input[this.inputCursor++],control:this.control[this.controlCursor++]}},t.prototype.peek=function(){return{char:this.input[this.inputCursor],control:this.control[this.controlCursor]}},t.prototype.eat_input=function(){this.inputCursor++},t.prototype.eat_control=function(){this.controlCursor++},t.prototype.eat=function(){this.inputCursor++,this.controlCursor++},t}(),Qr=function(t){return(t||"").split("")},to="\\",eo=function(){function t(t){this.parse=t}return t.prototype.run=function(t,e){return void 0===e&&(e=""),t instanceof Jr?this.parse(t):this.parse(new Jr(Qr(t),Qr(e)))},t.prototype.map=function(e){var n=this;return new t((function(t){return n.parse(t).map(e)}))},t.prototype.chain=function(e){var n=this;return new t((function(t){return n.parse(t).chain((function(t,n){return e(t).run(n)}))}))},t.prototype.isLiteral=function(t){return this.run(t).type===mr.Literal},t}(),no=function(t){var e=t.prompt,n=t.promptPlaceholder;return function(t){return new eo((function(i){while(!i.eof()){var r=i.peek(),o=r.char,a=r.control;if(o===a&&a===e)return i.eat(),new Xr(e,i,mr.Mask);if(t.test(o))return i.eat(),new Xr(o,i,mr.Mask);if(o===n)return i.eat(),new Xr(e,i,mr.Mask);i.eat_input()}return i.eat(),new Xr(e,i,mr.Mask)}))}},io=function(t){return new eo((function(e){var n=e.peek().char;return n===t?(e.eat(),new Xr(t,e,mr.Literal)):new Xr(t,e,mr.Literal)}))},ro=function(t){return function(e){return new eo((function(n){while(!n.eof()){var i=n.peek(),r=i.char,o=i.control;if(r===t&&o===t)return n.eat(),new Xr(r,n);if(e.test(r))return n.eat(),new Xr(r,n);n.eat_input()}return n.eat(),new Xr("",n)}))}},oo=function(t){return new eo((function(e){if(e.eof())return new Xr("",e);var n=e.peek().char;return n===t&&e.eat(),new Xr(t,e)}))},ao=function(t,e){return new eo((function(n){var i=n.next().char,r=t[i];return i===to?(i=n.next().char,new Xr(e.literal(i),n)):new Xr(r?e.mask(r):e.literal(i),n)}))},so=function(t){var e=t.prompt,n=t.promptPlaceholder;return new eo((function(t){var i=t.next().char;return new Xr(i===e?n:i,t)}))},lo=function(t){return new eo((function(e){var n=e.next().char;return new Xr(t?n:"",e)}))},uo=function(t){return new eo((function(e){return new Xr(t,e)}))},co=function(t,e){return t.chain((function(t){return e.map((function(e){return t.concat([e])}))}))},ho=function(t){return t.reduce((function(t,e){return co(t,e)}),uo([]))},po=function(t){return new eo((function(e){var n=new Xr([],e);while(!e.eof())n=n.concat(t.run(e));return n}))},fo=(function(){function t(){this.rules={},this.prompt="_",this.mask="",this.promptPlaceholder=" ",this.includeLiterals=!1,this.maskTokens=[],this.unmaskTokens=[],this.rawTokens=[],this.validationTokens=[]}t.prototype.update=function(t){var e=t.mask,n=void 0===e?"":e,i=t.prompt,r=void 0===i?"":i,o=t.promptPlaceholder,a=void 0===o?" ":o,s=t.rules,l=void 0===s?{}:s,u=t.includeLiterals,c=void 0!==u&&u;this.mask=n,this.prompt=r,this.promptPlaceholder=a,this.rules=l,this.includeLiterals=c,this.tokenize()},t.prototype.validationValue=function(t){void 0===t&&(t="");var e=t;return ho(this.validationTokens).run(t).fold((function(t){e=t.join("")})),e},t.prototype.rawValue=function(t){void 0===t&&(t="");var e=t;return this.rawTokens.length?(ho(this.rawTokens).run(t).fold((function(t){e=t.join("")})),e):e},t.prototype.maskRaw=function(t){void 0===t&&(t="");var e=t;return this.maskTokens.length?(ho(this.maskTokens).run(t).fold((function(t){e=t.join("")})),e):e},t.prototype.maskInput=function(t,e,n){return t.length0&&r[r.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=1;o--){var a=i[o];a!==e.variant&&a!==e.script||i.splice(o,1)}var s=i.length;if(s>1){var l=i[s-1];return l.toUpperCase()}}function J(t){if(t.territory)return t.territory;var e,n=t.name,i=t.identity;return e=i&&i.territory?i.territory:X(n,i),t.territory=e,e}var Q="duration-millisecond",tt="unitPattern-count-one",et="unitPattern-count-other",nt=/\{0\}\s?/;function it(t){var e=t[tt]||t[et];return e.replace(nt,"")}function rt(t,e){t.calendar.dateFields.millisecond={narrow:it(e.narrow[Q]),short:it(e.short[Q]),wide:it(e.long[Q])}}function ot(t,e){for(var n in e)"numbers"===n?B(t,e[n]):"dates"===n&&Y(t,e[n])}function at(){for(var t=arguments,e=arguments.length,n=0;n=l){var d=p,f=[];while(d>-1){var m=c.substring(d-l,d);m&&f.push(m),d-=l;var v=s.shift();if(l=void 0!==v?v:l,0===l){m=c.substring(0,d),m&&f.push(m);break}}c=f.reverse().join(o.group),h=t.substring(0,e)+c+t.substring(u)}return h}function Ft(t){return t===b||t===x}function zt(t,e,n){void 0===e&&(e=2),void 0===n&&(n=!1);var i=e-String(t).length,r=t;if(i>0){var o=new Array(i+1).join("0");r=n?t+o:o+t}return r}var jt=20;function Vt(t,e){var n=t,i=e||0;return n=n.toString().split("e"),n=Math.round(Number(n[0]+"e"+(n[1]?Number(n[1])+i:i))),n=n.toString().split("e"),n=Number(n[0]+"e"+(n[1]?Number(n[1])-i:-i)),n.toFixed(Math.min(i,jt))}var Ht=3,Zt=0,Ut=/0+$/;function Gt(t){var e,n=t.minimumFractionDigits,i=t.maximumFractionDigits,r=t.style,o=Ft(r);return o&&(e=At(t.currency)),void 0===n&&(n=o?e.minimumFractionDigits:0),void 0===i&&(i=r===w?Math.max(n,Zt):o?Math.max(n,e.maximumFractionDigits):Math.max(n,Ht)),{minimumFractionDigits:n,maximumFractionDigits:i}}function Kt(t,e,n){for(var i=T,r=0,o=e.length;r-1||e.indexOf('"')>-1||e.indexOf("\\")>-1){var n=t.literals=[];t.format=e.replace(Yt,(function(t){var e=t.charAt(0).replace("\\",T),i=t.slice(1).replace(e,T);return n.push(i),Xt}))}}function te(t,e){var n=t;if(e)for(var i=e.length,r=0;r-1,s=o>-1,l=e.toString().split("e");l=l[1]?Vt(e,Math.abs(l[1])):l[0],l=l.split(I)[1]||T;var u=l.length,c=-1;a||s?a&&r>o?u=r:o>r&&(s&&u>o?u=o:a&&u-1&&(e=Vt(e,u),c>-1&&(e=ae(e,c)))}else e=Vt(e);t.negative&&-1*e>=0&&!t.negativeZero&&(t.negative=!1),t.number=e,t.decimalIndex=i}function le(t){return-1===t.indexOf(ee)&&-1===t.indexOf(ne)}function ue(t){var e=t.number,n=t.format;if(n=n.split(M),(t.negative||t.negativeZero)&&n[1])n=n[1],t.hasNegativeFormat=!0;else if(0===e){var i=n[2];n=i||n[0],i&&le(i)&&(t.constant=i)}else n=n[0];t.format=n}function ce(t){t.hasGroup=t.format.indexOf(A)>-1,t.hasGroup&&(t.format=t.format.replace(oe,T))}function he(t,e,n){var i;return i=-1===t&&-1!==e?e:-1!==t&&-1===e?t:n?Math.min(t,e):Math.max(t,e),i}function pe(t){var e=t.format,n=e.indexOf(ee),i=e.indexOf(ne),r=he(n,i,!0);n=e.lastIndexOf(ee),i=e.lastIndexOf(ne);var o=he(n,i);r===e.length&&(o=r),t.start=r,t.end=o,t.lastZeroIndex=i}function de(t,e,n){var i=t;if(e===b||e===w){i=T;for(var r=0,o=t.length;r-1&&(h+=f,y=s),s===y){h+=(m?e.numbers.symbols.decimal:T)+m,y+=i-s+1;continue}b===ne?(h+=b,g=b):b===ee&&(h+=g)}return c&&(h=Bt(h,n+(r&&!u?1:0),Math.max(i,v+n),e.numbers.decimal,e)),i>=n&&(h+=a.substring(i+1)),h}function me(t,e){var n=t.number;return-1!==t.start&&(n=fe(t,e),n=de(n,t.style,t.symbol),n=te(n,t.literals)),n}function ve(t,e,n){var i={negative:t<0,number:Math.abs(t),negativeZero:Dt(t),format:e};return ue(i),i.constant?i.constant:(Qt(i),Jt(i,n),ce(i),se(i),pe(i),me(i,n))}var ge=/^(n|c|p|e|a)(\d*)$/i;function ye(t){var e=ge.exec(t);if(e){var n={style:y},i=e[1].toLowerCase();return"c"===i?n.style=b:"a"===i?n.style=x:"p"===i?n.style=w:"e"===i&&(n.style=k),e[2]&&(n.minimumFractionDigits=n.maximumFractionDigits=parseInt(e[2],10)),n}}function be(t){var e;return e=a(t)?ye(t):t,e}function xe(t,e,n){if(void 0===e&&(e=S),void 0===n&&(n=N),void 0===t||null===t)return T;if(!isFinite(t))return String(t);var i,r=g(n),o=be(e);if(o){var a=o.style||y;i=qt(t,Object.assign({},r.numbers[a],o),r)}else i=ve(t,e,r);return i}function we(t){return"number"===typeof t}var ke=/[eE][-+]?[0-9]+/,Ce=/\u00A0/g;function _e(t,e){if(e.length>1){var n=(e[1]||T).replace(C,T).split(S);if(t.indexOf(n[0])>-1&&t.indexOf(n[1])>-1)return t.replace(n[0],T).replace(n[1],T)}}function Se(t,e,n){var i,r=be(n)||{},o=Ft(r.style),a=t,s=r.currency||Tt(e,o);if(s){var l=St(e,s,o);if(l)for(var u=0;u-1)&&(s=s.replace(o.percentSign,T),i=!0),ke.test(s))return s=parseFloat(s.replace(o.decimal,I)),isNaN(s)?null:s;var u=Se(s,r,l),c=u.negative,h=u.number;s=String(h).trim();var p=s.indexOf("-");if(p>0)return null;var d=p>-1;return d=void 0!==c?c:d,s=s.replace("-",T).replace(Ce," ").split(o.group.replace(Ce," ")).join(T).replace(o.decimal,I),s=parseFloat(s),isNaN(s)?s=null:d&&(s*=-1),s&&i&&(s=Ae(s)),s}var Te=/\{(\d+)}/g;function Ne(t){var e=arguments;return t.replace(Te,(function(t,n){var i=e[parseInt(n,10)+1];return i}))}var $e=120,Oe=20,Le=[2,1,5,3,4],Ee=-2,Pe=-1,De=1,Re=2,Be={};Be[Ee.toString()]=8,Be[Pe.toString()]=6,Be[Re.toString()]=6,Be[De.toString()]=3;var Fe={numeric:1,"2-digit":2,short:3,long:4,narrow:5},ze=/[hHmsSzZoOvVxX]/;function je(t){return t.hour12?"h":"H"}var Ve=[{key:"era",specifier:"G"},{key:"year",specifier:"y"},{key:"month",specifier:"M"},{key:"day",specifier:"d"},{key:"weekday",specifier:"E"},{key:"hour",getSpecifier:je},{key:"minute",specifier:"m"},{key:"second",specifier:"s"},{key:"timeZoneName",specifier:"z"}],He={e:"c",E:"c",M:"L",Q:"q"},Ze={},Ue={};function Ge(t){return Ze[t]||(Ze[t]=new RegExp(t+"+")),Ze[t]}function Ke(t){for(var e=[],n=t.charAt(0),i=n,r=1;ro&&(o=u,n=s,i=e[a])}i=i.replace("v","z");for(var m=0;m0){var o=t.substr(0,r),a=t.substr(r);i=Ne(e.calendar.dateTimeFormats.short,n[a]||We(Ke(a),n),n[o]||We(Ke(o),n))}else i=We(Ke(t),n);return qe(t,i,e.name),i}function Xe(t){for(var e=[],n=0;n3,localizedName:4===e,zZeroOffset:5===e})},vn.x=function(t,e,n){return fn(t,n,{optionalMinutes:1===e,separator:3===e||5===e})},vn.X=function(t,e,n){return fn(t,n,{optionalMinutes:1===e,separator:3===e||5===e,zZeroOffset:!0})},vn.G=function(t,e,n){var i=t.getFullYear()>=0?1:0;return tn(n,"eras",e)[i]},vn.e=mn,vn.c=function(t,e,n){return mn(t,e,n,!0)},vn.q=function(t,e,n){return dn(t,e,n,!0)},vn.Q=dn;var xn=/([+|-]\d{1,2})(:?)(\d{2})?/,wn=/^\/Date\((.*?)\)\/$/,kn=/[+-]\d*/,Cn={2:/^\d{1,2}/,3:/^\d{1,3}/,4:/^\d{4}/},_n=/\d+/,Sn="{0}",Mn=/^ */,An=/ *$/,In=["yyyy/MM/dd HH:mm:ss","yyyy/MM/dd HH:mm","yyyy/MM/dd","E MMM dd yyyy HH:mm:ss","yyyy-MM-ddTHH:mm:ss.SSSSSSSXXX","yyyy-MM-ddTHH:mm:ss.SSSXXX","yyyy-MM-ddTHH:mm:ss.SSXXX","yyyy-MM-ddTHH:mm:ssXXX","yyyy-MM-ddTHH:mm:ss.SSSSSSS","yyyy-MM-ddTHH:mm:ss.SSS","yyyy-MM-ddTHH:mmXXX","yyyy-MM-ddTHH:mmX","yyyy-MM-ddTHH:mm:ss","yyyy-MM-ddTHH:mm","yyyy-MM-dd HH:mm:ss","yyyy-MM-dd HH:mm","yyyy-MM-dd","HH:mm:ss","HH:mm"],Tn=["G","g","F","Y","y","M","m","D","d","y","T","t"],Nn=2029;function $n(t,e,n){return!(t>=e&&t<=n)}function On(t,e){var n=e.format,i=e.idx,r=0;while(n[i]===t)r++,i++;return r>0&&(i-=1),e.idx=i,r}function Ln(t,e){var n=t?Cn[t]||new RegExp("^\\d{1,"+t+"}"):_n,i=e.value.substr(e.valueIdx,t).match(n);return i?(i=i[0],e.valueIdx+=i.length,parseInt(i,10)):null}function En(t,e,n){for(var i,r,o,a=0,s=t.length,l=0,u=0;al&&(l=r,u=a);return l?(e.valueIdx+=l,u+1):null}function Pn(t){var e=!1;return t.value.charAt(t.valueIdx)===t.format[t.idx]&&(t.valueIdx++,e=!0),e}function Dn(t){var e=t.gmtFormat,n=t.gmtZeroFormat;if(!e)throw p.NoGMTInfo.error();return[e.replace(Sn,T).toLowerCase(),n.replace(Sn,T).toLowerCase()]}function Rn(t,e,n){var i=n.shortHours,r=n.noSeparator,o=n.optionalMinutes,a=n.localizedName,s=n.zLiteral;if(t.UTC=!0,s&&"Z"===t.value.charAt(t.valueIdx))return t.valueIdx++,!1;if(a&&!En(Dn(e.calendar),t,!0))return!0;var l=xn.exec(t.value.substr(t.valueIdx,6));if(!l)return!a;var u=l[1],c=l[3],h=parseInt(u,10),p=l[2],d=parseInt(c,10);return!!(isNaN(h)||!i&&3!==u.length||!o&&isNaN(d)||r&&p)||(isNaN(d)&&(d=null),!!($n(h,-12,13)||d&&$n(d,0,59))||(t.valueIdx+=l[0].length,t.hoursOffset=h,void(t.minutesOffset=d)))}function Bn(t,e,n){var i=On(t,e),r=tn(n,"months",i,"L"===t,!0),o=i<3?Ln(2,e):En(r,e,!0);if(null===o||$n(o,1,12))return!0;e.month=o-1}function Fn(t,e,n){var i=On(t,e),r=tn(n,"days",i,"c"===t,!0),o=i<3?Ln(1,e):En(r,e,!0);if(!o&&0!==o||$n(o,1,7))return!0}var zn={};function jn(t){var e,n=t.year,i=t.month,r=t.day,o=t.hours,a=t.minutes,s=t.seconds,l=t.milliseconds,u=t.pmHour,c=t.UTC,h=t.hoursOffset,p=t.minutesOffset,d=null!==o||null!==a||s||null,f=new Date;return null===n&&null===i&&null===r&&d?(n=f.getFullYear(),i=f.getMonth(),r=f.getDate()):(null===n&&(n=f.getFullYear()),null===r&&(r=1)),u&&o<12&&(o+=12),c?(h&&(o+=-h),p&&(a+=-p*(h<0?-1:1)),e=new Date(Date.UTC(n,i,r,o,a,s,l))):(e=new Date(n,i,r,o,a,s,l),bn(e,o)),n<100&&e.setFullYear(n),e.getDate()!==r&&void 0===c?null:e}function Vn(t,e){var n=Mn.exec(e)[0],i=An.exec(e)[0];return""+n+t+i}function Hn(t,e,n){for(var i=Je(e,n).split(T),r={format:i,idx:0,value:Vn(t,e),valueIdx:0,year:null,month:null,day:null,hours:null,minutes:null,seconds:null,milliseconds:null},o=i.length,a=!1;r.idxNn&&(n-=100)}t.year=n},zn.h=function(t){On("h",t);var e=Ln(2,t);if(12===e&&(e=0),null===e||$n(e,0,11))return!0;t.hours=e},zn.K=function(t){On("K",t);var e=Ln(2,t);if(null===e||$n(e,0,11))return!0;t.hours=e},zn.a=function(t,e){var n=On("a",t),i=tn(e,"dayPeriods",n,!1,!0),r=En([i.pm],t,!0);if(!r&&!En([i.am],t,!0))return!0;t.pmHour=r},zn.H=function(t){On("H",t);var e=Ln(2,t);if(null===e||$n(e,0,23))return!0;t.hours=e},zn.k=function(t){On("k",t);var e=Ln(2,t);if(null===e||$n(e,1,24))return!0;t.hours=24===e?0:e},zn.m=function(t){On("m",t);var e=Ln(2,t);if(null===e||$n(e,0,59))return!0;t.minutes=e},zn.s=function(t){On("s",t);var e=Ln(2,t);if(null===e||$n(e,0,59))return!0;t.seconds=e},zn.S=function(t){var e=On("S",t),n=t.value.substr(t.valueIdx,e),i=null;if(isNaN(parseInt(n,10))||(i=parseFloat("0."+n,10),i=Vt(i,3),i*=1e3,t.valueIdx+=e),null===i||$n(i,0,999))return!0;t.milliseconds=i},zn.z=function(t,e){var n=On("z",t),i=n<4,r=Rn(t,e,{shortHours:i,optionalMinutes:i,localizedName:!0});if(r)return r},zn.Z=function(t,e){var n=On("Z",t),i=Rn(t,e,{noSeparator:n<4,zLiteral:5===n,localizedName:4===n});if(i)return i},zn.x=function(t,e){var n=On("x",t),i=Rn(t,e,{noSeparator:3!==n&&5!==n,optionalMinutes:1===n});if(i)return i},zn.X=function(t,e){var n=On("X",t),i=Rn(t,e,{noSeparator:3!==n&&5!==n,optionalMinutes:1===n,zLiteral:!0});if(i)return i},zn.G=function(t,e){var n=On("G",t),i=tn(e,"eras",n,!1,!0),r=En([i[0],i[1]],t,!0);if(null===r)return!0},zn.e=function(t,e){return Fn("e",t,e)},zn.c=function(t,e){return Fn("c",t,e)};var Wn={month:{type:"months",minLength:3,standAlone:"L"},quarter:{type:"quarters",minLength:3,standAlone:"q"},weekday:{type:"days",minLength:{E:0,c:3,e:3},standAlone:"c"},dayperiod:{type:"dayPeriods",minLength:0},era:{type:"eras",minLength:0}},qn="literal";function Yn(t,e){var n=t[t.length-1];n&&n.type===qn?n.pattern+=e:t.push({type:qn,pattern:e})}function Xn(t){return"h"===t||"K"===t}function Jn(t,e){void 0===e&&(e=N);var n=g(e),i=Je(t,n),r=[],o=cn.lastIndex=0,a=cn.exec(i);while(a){var s=a[0];if(o=p&&(c.names={type:h.type,nameType:Qe(d),standAlone:h.standAlone===l})}r.push(c)}o=cn.lastIndex,a=cn.exec(i)}return o-1,h=(0,u.xW)({"k-content":c},{"k-active":c},a&&a.contentClassName),p=function(t,n){var i=n===this.$props.selected,r={position:"initial",height:i?void 0:"0px",width:i?void 0:"0px"},a=o?u.$F.call(this,{h:e,template:t.content,defaultRendering:null,additionalProps:{dataItem:t}}):t,s=e("div",{role:"tabpanel",attrs:this.v3?void 0:{role:"tabpanel","aria-expanded":!0,id:String(this.contentId+n)},"aria-expanded":!0,id:String(this.contentId+n),key:n},[a]);return!o||this.animation?e(w.zW,{appear:!!this.v3||i,attrs:this.v3?void 0:{appear:!!this.v3||i,enter:this.$props.animation,exit:this.$props.keepTabsMounted},key:n,class:this.animationClass[n],enter:this.$props.animation,exit:this.$props.keepTabsMounted,style:r},this.v3?function(){return[s]}:[s]):e("div",{class:i?void 0:"k-hidden"},[s])},d=function(){return l.map((function(t,e){return p.call(this,t,e)}),this)};return e("div",{class:h,style:this.$props.style},[d.call(this)])}}),A=M,I={name:"@progress/kendo-vue-layout",productName:"Kendo UI for Vue",productCodes:["KENDOUIVUE","KENDOUICOMPLETE"],publishDate:1686052468,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"},T=function(){return T=Object.assign||function(t){for(var e,n=1,i=arguments.length;n0?(Number(e)-1).toString():(n-1).toString():e}function we(t){return t.split(se).length-1}function ke(t){return t&&t.length>0?{items:_e.call(this,t),inputItems:t}:{items:[],inputItems:[]}}function Ce(t){var e={},n=t.text,i=t.url,r=t.icon,o=t.disabled,a=t.cssClass,s=t.popupClass,l=t.cssStyle,c=t.render,h=t.linkRender,p=t.contentRender,d=t.data;return void 0!==n&&(e.text=n),void 0!==i&&(e.url=i),void 0!==r&&(e.icon=r),void 0!==o&&(e.disabled=o),void 0!==a&&(e.cssClass=a),void 0!==s&&(e.popupClass=s),void 0!==l&&(e.cssStyle=l),void 0!==c&&(e.render=u.rh.call(this,c,u.WM.call(this))),void 0!==h&&(e.linkRender=u.rh.call(this,h,u.WM.call(this))),void 0!==p&&(e.contentRender=u.rh.call(this,p,u.WM.call(this))),void 0!==d&&(e.data=d),e}function _e(t,e){for(var n=[],i=0;i0}function M(t){return $(!1,t)}function A(t){return $(!0,t)}function I(t){var e=_(t).items;return e[e.length-1].id}function T(){return ve(e)?t:_(fe(e),t).items}function N(t,n){void 0===n&&(n=e);var i=_(n);return S(n)&&!i.disabled?t?he(n):I(n):n}function $(n,i){if(void 0===i&&(i=e),ve(i))return xe(n,i,t.length);var r=fe(i),o=be(i),a=_(r).items.length;return de(xe(n,o,a),r)}}function Ie(t){return void 0!==t.hoverOpenDelay?t.hoverOpenDelay:t.openOnClick?0:100}function Te(t){return void 0!==t.hoverCloseDelay?t.hoverCloseDelay:100}var Ne=n(9889),$e={vertical:"top",horizontal:"left"},Oe={vertical:"top",horizontal:"right"},Le={vertical:"flip",horizontal:"fit"},Ee={vertical:"fit",horizontal:"flip"},Pe={downward:{anchorAlign:{vertical:"bottom",horizontal:"right"},popupAlign:Oe,collision:Le},leftward:{anchorAlign:{vertical:"top",horizontal:"left"},popupAlign:Oe,collision:Ee}},De={downward:{anchorAlign:{vertical:"bottom",horizontal:"left"},popupAlign:$e,collision:Le},rightward:{anchorAlign:{vertical:"top",horizontal:"right"},popupAlign:$e,collision:Ee}};function Re(t,e,n){var i=Be(t,e,n);return n?"downward"===i?Pe.downward:Pe.leftward:"downward"===i?De.downward:De.rightward}function Be(t,e,n){return ve(t)?e?n?"leftward":"rightward":"downward":n?"leftward":"rightward"}function Fe(t){return t?"rtl":"ltr"}function ze(t,e){return"".concat(t,"_").concat(e)}var je=l,Ve=je.h,He=je.version&&"3"===je.version[0],Ze={name:"KendoMenuItemLink",props:{opened:Boolean,focused:Boolean,url:String},computed:{menuItemClassName:function(){return{"k-link":!0,"k-menu-link":!0,"k-active":this.$props.opened,"k-focus":this.$props.focused}}},setup:He?function(){var t=!!He;return{v3:t}}:void 0,render:function(t){var e=Ve||t,n=(0,u.Rk)(this);return this.$props.url?e("a",{class:this.menuItemClassName,role:"presentation",attrs:this.v3?void 0:{role:"presentation",href:this.$props.url,tabindex:-1},href:this.$props.url,tabindex:-1},[n]):e("span",{class:this.menuItemClassName,role:"presentation",attrs:this.v3?void 0:{role:"presentation"}},[n])}},Ue=Ze,Ge=l,Ke=Ge.h,We=Ge.version&&"3"===Ge.version[0],qe="caret-alt-down",Ye="caret-alt-right",Xe="caret-alt-left",Je={name:"KendoMenuItemArrow",props:{itemId:String,dir:String,verticalMenu:Boolean},setup:We?function(){var t=!!We;return{v3:t}}:void 0,render:function(t){var e=Ke||t;return e("span",{class:"k-menu-expand-arrow","aria-hidden":"true",attrs:this.v3?void 0:{"aria-hidden":"true"}},[e(u.In,{name:this.getArrowName(),attrs:this.v3?void 0:{name:this.getArrowName(),role:"presentation"},role:"presentation"})])},methods:{getArrowName:function(){var t=Be(this.$props.itemId,!0===this.$props.verticalMenu,"rtl"===this.$props.dir);return"downward"===t?qe:"rightward"===t?Ye:"leftward"===t?Xe:""}}},Qe=Je,tn=l,en=tn.h,nn=tn.version&&"3"===tn.version[0],rn=tn.ref,on={name:"KendoMenuItemInternal",emits:{keydown:null,mouseover:null,mouseleave:null,blur:null,focus:null,click:null,mousedown:null},props:{item:Object,focusedItemId:String,lastItemIdToBeOpened:String,tabbableItemId:String,itemRender:[String,Object,Function],linkRender:[String,Object,Function],isMenuVertical:Boolean,isDirectionRightToLeft:Boolean,menuGuid:String,originalItemNeeded:Function},created:function(){this.itemElement=null,this.prevFocusedItemId=this.$props.focusedItemId,this.isFirstRender=!0,this._anchor=(0,u.Os)()},data:function(){return{opened:!1}},mounted:function(){this.itemElement=(0,u.cX)(this,"kendoAnchor",this._anchor);var t=this.$props.focusedItemId,e=this.$props.item.id;t&&t===e&&this.itemElement&&this.itemElement.focus(),this.isFirstRender=!1},watch:{focusedItemId:function(t,e){this.prevFocusedItemId=e}},updated:function(){var t=this.$props.focusedItemId,e=this.$props.item.id;t?this.prevFocusedItemId===t||t!==e||this.itemElement.contains(document.activeElement)||this.itemElement.focus():document.activeElement===this.itemElement&&this.itemElement.blur()},computed:{currentItemRender:function(){return this.$props.item.render||this.$props.itemRender},currentLinkRender:function(){return this.$props.item.linkRender||this.$props.linkRender},contentRender:function(){return this.$props.item.contentParentItemId?this.$props.item.contentRender:null},currentOpened:function(){var t=this.$props;return t.item.items.length>0&&pe(t.item.id,t.lastItemIdToBeOpened)&&!this.isFirstRender},currentFocused:function(){var t=this.$props.focusedItemId,e=this.$props.item.id;return t===e},popupClassName:function(){var t;return(0,u.xW)((t={"k-menu-popup":!0,"k-rtl":this.$props.isDirectionRightToLeft},t[this.item.popupClass]=this.item.popupClass,t))},menuItemClassName:function(){var t,e=this.$props.item;return t={"k-item":!0,"k-menu-item":!0,"k-first":ye(e.id),"k-last":e.isLastFromSiblings,"k-disabled":e.disabled},t[e.cssClass?e.cssClass:""]=e.cssClass,t}},setup:nn?function(){var t=!!nn,e=rn(null);return{v3:t,kendoAnchorRef:e}}:void 0,render:function(t){var e=this,n=en||t,i=this.$props.item,r=i.id,o=function(){var t=this.$props.item.contentParentItemId,e=function(t){return u.$F.call(this,{h:n,template:this.contentRender,additionalProps:t})};return n("div",{class:"k-content",role:"presentation",attrs:this.v3?void 0:{role:"presentation"}},[e.call(this,{item:this.handleOriginalItemNeeded(t),itemId:t})])},a=function(){return this.$props.item.icon?n(u.In,{name:this.$props.item.icon,attrs:this.v3?void 0:{name:this.$props.item.icon},key:"0"}):null},s=function(){return this.$props.item.items.length>0?n(Qe,{itemId:this.$props.item.id,attrs:this.v3?void 0:{itemId:this.$props.item.id,verticalMenu:this.$props.isMenuVertical,dir:Fe(this.$props.isDirectionRightToLeft)},verticalMenu:this.$props.isMenuVertical,dir:Fe(this.$props.isDirectionRightToLeft),key:"2"}):null},l=this.$props.originalItemNeeded(i.id),c=function(){var t=this,e=n("span",{class:"k-menu-link-text"},[i.text]),r=u.$F.call(this,{h:n,template:this.currentItemRender,defaultRendering:e,additionalProps:{item:l,itemId:i.id,key:"1"}}),o=n(Ue,{url:i.url,attrs:this.v3?void 0:{url:i.url,opened:this.currentOpened,focused:this.currentFocused},opened:this.currentOpened,focused:this.currentFocused},this.v3?function(){return[[a.call(t),r,s.call(t)]]}:[[a.call(t),r,s.call(t)]]);return u.$F.call(this,{h:n,template:this.currentLinkRender,defaultRendering:o,additionalProps:{item:l,itemId:i.id,opened:this.currentOpened,dir:Fe(this.$props.isDirectionRightToLeft)}})},h=function(){var t=this,e=Re(r,this.$props.isMenuVertical,this.$props.isDirectionRightToLeft),i=e.anchorAlign,o=e.popupAlign,a=e.collision;return n(Ne.z,{anchor:this._anchor,attrs:this.v3?void 0:{anchor:this._anchor,show:this.currentOpened,popupClass:this.popupClassName,anchorAlign:i,popupAlign:o,collision:a,animate:!1},show:this.currentOpened,popupClass:this.popupClassName,anchorAlign:i,popupAlign:o,collision:a,animate:!1,key:"1"},this.v3?function(){return[n(hn,{parentItemId:r,attrs:t.v3?void 0:{parentItemId:r,items:t.$props.item.items,menuGuid:t.$props.menuGuid,focusedItemId:t.$props.focusedItemId,lastItemIdToBeOpened:t.$props.lastItemIdToBeOpened,tabbableItemId:t.$props.tabbableItemId,itemRender:t.$props.itemRender,linkRender:t.$props.linkRender,isMenuVertical:t.$props.isMenuVertical,isDirectionRightToLeft:t.$props.isDirectionRightToLeft,originalItemNeeded:t.handleOriginalItemNeeded},items:t.$props.item.items,menuGuid:t.$props.menuGuid,focusedItemId:t.$props.focusedItemId,lastItemIdToBeOpened:t.$props.lastItemIdToBeOpened,tabbableItemId:t.$props.tabbableItemId,itemRender:t.$props.itemRender,linkRender:t.$props.linkRender,isMenuVertical:t.$props.isMenuVertical,isDirectionRightToLeft:t.$props.isDirectionRightToLeft,class:"k-group k-menu-group k-menu-group-md k-reset",onMouseover:t.handleItemMouseOver,on:t.v3?void 0:{mouseover:t.handleItemMouseOver,mouseleave:t.handleItemMouseLeave,mousedown:t.handleMouseDown,blur:t.handleItemMouseBlur,focus:t.handleItemMouseFocus,click:t.handleClick,keydown:t.handleKeyDown},onMouseleave:t.handleItemMouseLeave,onMousedown:t.handleMouseDown,onBlur:t.handleItemMouseBlur,onFocus:t.handleItemMouseFocus,onClick:t.handleClick,onKeydown:t.handleKeyDown,originalItemNeeded:t.handleOriginalItemNeeded})]}:[n(hn,{parentItemId:r,attrs:t.v3?void 0:{parentItemId:r,items:t.$props.item.items,menuGuid:t.$props.menuGuid,focusedItemId:t.$props.focusedItemId,lastItemIdToBeOpened:t.$props.lastItemIdToBeOpened,tabbableItemId:t.$props.tabbableItemId,itemRender:t.$props.itemRender,linkRender:t.$props.linkRender,isMenuVertical:t.$props.isMenuVertical,isDirectionRightToLeft:t.$props.isDirectionRightToLeft,originalItemNeeded:t.handleOriginalItemNeeded},items:t.$props.item.items,menuGuid:t.$props.menuGuid,focusedItemId:t.$props.focusedItemId,lastItemIdToBeOpened:t.$props.lastItemIdToBeOpened,tabbableItemId:t.$props.tabbableItemId,itemRender:t.$props.itemRender,linkRender:t.$props.linkRender,isMenuVertical:t.$props.isMenuVertical,isDirectionRightToLeft:t.$props.isDirectionRightToLeft,class:"k-group k-menu-group k-menu-group-md k-reset",onMouseover:t.handleItemMouseOver,on:t.v3?void 0:{mouseover:t.handleItemMouseOver,mouseleave:t.handleItemMouseLeave,mousedown:t.handleMouseDown,blur:t.handleItemMouseBlur,focus:t.handleItemMouseFocus,click:t.handleClick,keydown:t.handleKeyDown},onMouseleave:t.handleItemMouseLeave,onMousedown:t.handleMouseDown,onBlur:t.handleItemMouseBlur,onFocus:t.handleItemMouseFocus,onClick:t.handleClick,onKeydown:t.handleKeyDown,originalItemNeeded:t.handleOriginalItemNeeded})])};return n("li",{class:this.menuItemClassName,style:i.cssStyle,tabindex:r===this.$props.tabbableItemId?0:-1,attrs:this.v3?void 0:{tabindex:r===this.$props.tabbableItemId?0:-1,role:"menuitem","aria-disabled":!!i.disabled||void 0,"aria-haspopup":i.items.length>0||void 0,"aria-expanded":i.items.length>0?this.currentOpened:void 0,"aria-label":i.text,"aria-owns":this.currentOpened?ze(this.$props.menuGuid,r):void 0},onMouseover:this.onMouseOver,on:this.v3?void 0:{mouseover:this.onMouseOver,mouseleave:this.onMouseLeave,mousedown:function(t){return e.handleMouseDown(t)},focusout:function(){return e.handleBlur(r)},focusin:function(){return e.handleFocus(r)},click:function(t){return e.handleClick(t,r)},keydown:this.handleKeyDown},onMouseleave:this.onMouseLeave,onMousedown:function(t){return e.handleMouseDown(t)},onFocusout:function(){return e.handleBlur(r)},onFocusin:function(){return e.handleFocus(r)},onClick:function(t){return e.handleClick(t,r)},onKeydown:this.handleKeyDown,role:"menuitem","aria-disabled":!!i.disabled||void 0,"aria-haspopup":i.items.length>0||void 0,"aria-expanded":i.items.length>0?this.currentOpened:void 0,"aria-label":i.text,"aria-owns":this.currentOpened?ze(this.$props.menuGuid,r):void 0,ref:(0,u.cZ)(this,"kendoAnchor",this._anchor),key:"0"},[this.contentRender?o.call(this):c.call(this),h.call(this)])},methods:{handleKeyDown:function(t){this.$emit("keydown",t)},handleItemMouseOver:function(t){this.$emit("mouseover",t)},handleItemMouseLeave:function(t){this.$emit("mouseleave",t)},handleItemMouseBlur:function(t){this.$emit("blur",t)},handleItemMouseFocus:function(t){this.$emit("focus",t)},handleClick:function(t,e){this.$emit("click",t,e)},handleBlur:function(t){this.$emit("blur",t)},handleFocus:function(t){this.$emit("focus",t)},handleMouseDown:function(t){this.$emit("mousedown",t)},handleOriginalItemNeeded:function(t){return this.$props.originalItemNeeded(t)},onMouseOver:function(t){this.$emit("mouseover",this.$props.item.id),t.stopPropagation()},onMouseLeave:function(t){this.$emit("mouseleave",this.$props.item.id),t.stopPropagation()}}},an=on,sn=l,ln=sn.h,un=sn.version&&"3"===sn.version[0],cn={name:"KendoMenuItemInternalsList",emits:{keydown:null,mouseover:null,mouseleave:null,blur:null,focus:null,click:null,mousedown:null},props:{items:Array,parentItemId:{type:String,default:void 0},focusedItemId:String,lastItemIdToBeOpened:String,tabbableItemId:String,itemRender:[String,Object,Function],linkRender:[String,Object,Function],isMenuVertical:Boolean,isDirectionRightToLeft:Boolean,menuGuid:String,originalItemNeeded:Function},setup:un?function(){var t=!!un;return{v3:t}}:void 0,render:function(t){var e=ln||t,n=this.$props.parentItemId,i=function(){return this.$props.items.length>0?this.$props.items.map((function(t,n){return e(an,{item:t,attrs:this.v3?void 0:{item:t,isMenuVertical:this.$props.isMenuVertical,isDirectionRightToLeft:this.$props.isDirectionRightToLeft,focusedItemId:this.$props.focusedItemId,lastItemIdToBeOpened:this.$props.lastItemIdToBeOpened,tabbableItemId:this.$props.tabbableItemId,itemRender:this.$props.itemRender,linkRender:this.$props.linkRender,menuGuid:this.$props.menuGuid,originalItemNeeded:this.handleOriginalItemNeeded},isMenuVertical:this.$props.isMenuVertical,isDirectionRightToLeft:this.$props.isDirectionRightToLeft,focusedItemId:this.$props.focusedItemId,lastItemIdToBeOpened:this.$props.lastItemIdToBeOpened,tabbableItemId:this.$props.tabbableItemId,itemRender:this.$props.itemRender,linkRender:this.$props.linkRender,menuGuid:this.$props.menuGuid,onMouseover:this.handleItemMouseOver,on:this.v3?void 0:{mouseover:this.handleItemMouseOver,mouseleave:this.handleItemMouseLeave,mousedown:this.handleItemMouseDown,keydown:this.handleKeyDown,blur:this.handleItemMouseBlur,focus:this.handleItemMouseFocus,click:this.handleItemMouseClick},onMouseleave:this.handleItemMouseLeave,onMousedown:this.handleItemMouseDown,onKeydown:this.handleKeyDown,onBlur:this.handleItemMouseBlur,onFocus:this.handleItemMouseFocus,onClick:this.handleItemMouseClick,originalItemNeeded:this.handleOriginalItemNeeded,key:n})}),this):null};return e("ul",{role:void 0!==n?"menu":"menubar",attrs:this.v3?void 0:{role:void 0!==n?"menu":"menubar",id:void 0!==n?ze(this.$props.menuGuid,n):void 0},id:void 0!==n?ze(this.$props.menuGuid,n):void 0},[i.call(this)])},methods:{handleKeyDown:function(t){this.$emit("keydown",t)},handleOriginalItemNeeded:function(t){return this.$props.originalItemNeeded(t)},handleItemMouseOver:function(t){this.$emit("mouseover",t)},handleItemMouseLeave:function(t){this.$emit("mouseleave",t)},handleItemMouseDown:function(t){this.$emit("mousedown",t)},handleItemMouseBlur:function(t){this.$emit("blur",t)},handleItemMouseFocus:function(t){this.$emit("focus",t)},handleItemMouseClick:function(t,e){this.$emit("click",t,e)},onMouseOver:function(t){void 0!==this.$props.parentItemId&&(this.$emit("mouseover",this.$props.parentItemId),t.stopPropagation())},onMouseLeave:function(t){void 0!==this.$props.parentItemId&&(this.$emit("mouseleave",this.$props.parentItemId),t.stopPropagation())}}},hn=cn,pn=function(){function t(){this.phase="Initialized"}return t.prototype.getIsDirectionRightToLeft=function(){return this.isDirectionRightToLeft},t.prototype.setIsDirectionRightToLeft=function(t){this.phase="NotInitialized"===this.phase?"Initialized":"NewValueReceived",this.previousIsDirectionRightToLeft=this.isDirectionRightToLeft,this.isDirectionRightToLeft=t},t.prototype.hasDirectionChanged=function(){return"NewValueReceived"===this.phase&&this.previousIsDirectionRightToLeft!==this.isDirectionRightToLeft},t}(),dn=function(){function t(t,e,n){this.openOnClick=t,this.resetMenu=e,this.openItem=n,this.openOnClick=t,this.isMouseOverEnabled=!t}return Object.defineProperty(t.prototype,"OpenOnClick",{set:function(t){Boolean(t)!==Boolean(this.openOnClick)&&(this.mouseDown=!1,this.isMouseOverEnabled=!t),this.openOnClick=t},enumerable:!1,configurable:!0}),t.prototype.handleItemSelectedViaKeyboard=function(){this.openOnClick&&(this.isMouseOverEnabled=!1,this.resetMenu())},Object.defineProperty(t.prototype,"IsMouseOverEnabled",{get:function(){return this.isMouseOverEnabled},enumerable:!1,configurable:!0}),t.prototype.handleItemMouseDown=function(){this.mouseDown=!0},t.prototype.handleItemFocus=function(){this.openOnClick&&!this.mouseDown&&(this.isMouseOverEnabled=!0),this.mouseDown=!1},t.prototype.handleItemClick=function(t,e){this.openOnClick&&(this.isMouseOverEnabled?e&&(this.isMouseOverEnabled=!1,this.resetMenu()):(this.isMouseOverEnabled=!0,this.openItem(t)))},t}(),fn=function(){return fn=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1,level:f+1,parentPrivateKey:zn(zn([],v,!0),[o],!1)};i=t.call(this,e.items,m)}return Fn(Fn({},e),{animation:void 0!==e.animation?e.animation:r,keepItemsMounted:a,id:e.id||"k-panelbar-item-default-".concat(o),uniquePrivateKey:o,parentUniquePrivateKey:v,parentExpanded:p,level:f,expanded:(l||[]).indexOf(o)>-1,focused:s.currentFocused===o&&s.wrapperFocused,selected:s.currentSelected===o,items:i,content:h,header:d})}),this)},Vn=function(t){var e=t.items[0];return e?Zn(e,[],0):""},Hn=function t(e,n,i,r,o){return void 0===i&&(i={currentExpanded:e.expanded||[],currentSelected:e.selected||"",currentFocused:e.focused||"",wrapperFocused:!1}),void 0===r&&(r=!0),void 0===o&&(o=[]),e.items.forEach((function(e,a){var s=Zn(e,o,a);!e.disabled&&r&&(e.selected&&(i.currentSelected=s),e.focused&&(i.currentFocused=s),e.expanded&&("multiple"===n?i.currentExpanded.push(s):"single"===n&&(i.currentExpanded=[s])),e.items&&(i=t(e,n,i,!!e.expanded,zn(zn([],o,!0),[s],!1))))})),i},Zn=function(t,e,n){return t&&t&&t.id?t.id:e.length?e[e.length-1]+".".concat(n):".".concat(n)};function Un(t,e){return void 0===e&&(e=[]),t.forEach((function(t){t&&t&&!t.disabled&&(e.push(t),t.items&&Un(t.items,e))})),e}function Gn(t,e){return void 0===e&&(e=[]),t.forEach((function(t){t&&(t.expanded||t.parentExpanded)&&(e.push(t),t.items&&Gn(t.items,e))})),e}var Kn,Wn=function(t,e){return t.length===e.length&&t.every((function(t,n){return t===e[n]}))};(function(t){t[t["Toggle"]=0]="Toggle",t[t["Next"]=1]="Next",t[t["Previous"]=2]="Previous"})(Kn||(Kn={}));var qn=function(){return qn=Object.assign||function(t){for(var e,n=1,i=arguments.length;n9),h=function(){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return{decode:function(e){var n=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),i=0,r=n.length,o=[];while(i>>4,h=(15&s)<<4|l>>>2,p=(3&l)<<6|u;o.push(c),64!=l&&o.push(h),64!=u&&o.push(p)}return o},encode:function(e){var n=0,i=e.length,r="";while(n>>2,u=(3&o)<<4|a>>>4,c=(15&a)<<2|s>>>6,h=63&s;n-i==2?c=h=64:n-i==1&&(h=64),r+=t.charAt(l)+t.charAt(u)+t.charAt(c)+t.charAt(h)}return r}}}();function p(t){var e=0,n=0;null==t?t=c?new Uint8Array(256):[]:n=t.length;var i=c?function(e){if(e>=t.length){var n=new Uint8Array(Math.max(e+256,2*t.length));n.set(t,0),t=n}}:function(){},r=c?function(){return new Uint8Array(t.buffer,0,n)}:function(){return t},o=c?function(r){if("string"==typeof r)return M(r);var o=r.length;i(e+o),t.set(r,e),e+=o,e>n&&(n=e)}:function(t){if("string"==typeof t)return M(t);for(var e=0;e=n}function l(){return en&&(n=e)}function p(){return l()<<8|l()}function d(t){u(t>>8),u(t)}function f(){var t=p();return t>=32768?t-65536:t}function m(t){d(t<0?t+65536:t)}function v(){return 65536*p()+p()}function g(t){d(t>>>16&65535),d(65535&t)}function y(){var t=v();return t>=2147483648?t-4294967296:t}function b(t){g(t<0?t+4294967296:t)}function x(){return v()/65536}function w(t){g(Math.round(65536*t))}function k(){return y()/65536}function C(t){b(Math.round(65536*t))}function _(t){return A(t,l)}function S(t){return String.fromCharCode.apply(String,_(t))}function M(t){for(var e=0;e=55296&&e<=56319&&r65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+=String.fromCharCode(t),e})).join("")}function m(t){for(var e=window.atob(t),n=new Uint8Array(e.length),i=0;i65535,i=0;i=0?r.push(u):(r.push(t.length+o.length),o.push(l))}for(i.writeShort(e.length),a=0;a0)n[e++]=t.readShort();break;case 12:t.readShort(),i.length=t.readLong(),i.language=t.readLong();var g=t.readLong();while(g-- >0){e=t.readLong();var y=t.readLong(),b=t.readLong();while(e<=y)n[e++]=b++}break;default:window.console&&window.console.error("Unhandled CMAP format: "+i.format)}}))};function e(t,e){var n=b(t),i=[],r=[],o=null,a=null;function s(n){return e[t[n]]}for(var l=0;l=32768){y.push(0),x.push(2*(w.length+d-l));for(var S=k;S<=C;++S)w.push(s(S))}else y.push(_-k),x.push(0)}var M=p();return M.writeShort(3),M.writeShort(1),M.writeLong(12),M.writeShort(4),M.writeShort(16+8*d+2*w.length),M.writeShort(0),M.writeShort(f),M.writeShort(m),M.writeShort(v),M.writeShort(g),r.forEach(M.writeShort),M.writeShort(0),i.forEach(M.writeShort),y.forEach(M.writeShort_),x.forEach(M.writeShort),w.forEach(M.writeShort),M.get()}return function(n){function i(){n.apply(this,arguments)}return n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i,i.prototype.parse=function(e){var n=this,i=n.offset;e.offset(i),n.codeMap={},n.version=e.readShort();var r=e.readShort();n.tables=e.times(r,(function(){return new t(e,i,n.codeMap)}))},i.render=function(t,n){var i=p();return i.writeShort(0),i.writeShort(1),i.write(e(t,n)),i.get()},i}(w)}(),$=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.parse=function(t){t.offset(this.offset),this.version=t.readShort(),this.averageCharWidth=t.readShort_(),this.weightClass=t.readShort(),this.widthClass=t.readShort(),this.type=t.readShort(),this.ySubscriptXSize=t.readShort_(),this.ySubscriptYSize=t.readShort_(),this.ySubscriptXOffset=t.readShort_(),this.ySubscriptYOffset=t.readShort_(),this.ySuperscriptXSize=t.readShort_(),this.ySuperscriptYSize=t.readShort_(),this.ySuperscriptXOffset=t.readShort_(),this.ySuperscriptYOffset=t.readShort_(),this.yStrikeoutSize=t.readShort_(),this.yStrikeoutPosition=t.readShort_(),this.familyClass=t.readShort_(),this.panose=t.times(10,t.readByte),this.charRange=t.times(4,t.readLong),this.vendorID=t.readString(4),this.selection=t.readShort(),this.firstCharIndex=t.readShort(),this.lastCharIndex=t.readShort(),this.version>0&&(this.ascent=t.readShort_(),this.descent=t.readShort_(),this.lineGap=t.readShort_(),this.winAscent=t.readShort(),this.winDescent=t.readShort(),this.codePageRange=t.times(2,t.readLong),this.version>1&&(this.xHeight=t.readShort(),this.capHeight=t.readShort(),this.defaultChar=t.readShort(),this.breakChar=t.readShort(),this.maxContext=t.readShort()))},e.prototype.render=function(){return this.raw()},e}(w),O=1e5;function L(){for(var t="",e=String(O),n=0;n=0&&(o=o.replace(/\.?0+$/,"")),"-0"==o&&(o="0"),e.writeString(o)}else/string|boolean/.test(typeof r)?e.writeString(String(r)):"function"==typeof r.get?e.write(r.get()):"object"==typeof r&&(r?n(new wt(r)):e.writeString("null"))}}return n.writeData=function(t){e.write(t)},n.withIndent=function(e){++t,e(n),--t},n.indent=function(){n(V,rt("",2*t," ")),n.apply(null,arguments)},n.offset=function(){return e.offset()},n.toString=function(){throw new Error("FIX CALLER")},n.get=function(){return e.get()},n.stream=function(){return e},n}function G(t,e){var n=t.beforeRender,i=t.render;t.beforeRender=function(){},t.render=function(t){t(e," 0 R")},t.renderFull=function(r){t._offset=r.offset(),r(e," 0 obj "),n.call(t,r),i.call(t,r),r(" endobj")}}function K(t){if("function"!=typeof t){var e=t;t=function(t,n){return t in e?e[t]:n}}var n=t("paperSize",Z.a4);if(!n)return{};if("string"==typeof n&&(n=Z[n.toLowerCase()],null==n))throw new Error("Unknown paper size");n[0]=ft(n[0]),n[1]=ft(n[1]),t("landscape",!1)&&(n=[Math.max(n[0],n[1]),Math.min(n[0],n[1])]);var i=t("margin");return i&&("string"==typeof i||"number"==typeof i?(i=ft(i,0),i={left:i,top:i,right:i,bottom:i}):i={left:ft(i.left,0),top:ft(i.top,0),right:ft(i.right,0),bottom:ft(i.bottom,0)},t("addMargin")&&(n[0]+=i.left+i.right,n[1]+=i.top+i.bottom)),{paperSize:n,margin:i}}var W={"Times-Roman":!0,"Times-Bold":!0,"Times-Italic":!0,"Times-BoldItalic":!0,Helvetica:!0,"Helvetica-Bold":!0,"Helvetica-Oblique":!0,"Helvetica-BoldOblique":!0,Courier:!0,"Courier-Bold":!0,"Courier-Oblique":!0,"Courier-BoldOblique":!0,Symbol:!0,ZapfDingbats:!0};function q(t,e){var n;if(j.msie&&(n=/^data:.*?;base64,/i.exec(t)))e(g(t.substr(n[0].length)));else{var i=new XMLHttpRequest;i.open("GET",t,!0),c&&(i.responseType="arraybuffer"),i.onload=function(){200==i.status||304==i.status?e(c?new Uint8Array(i.response):new window.VBArray(i.responseBody).toArray()):r()},i.onerror=r,i.send(null)}function r(){window.console&&(window.console.error?window.console.error("Cannot load URL: %s",t):window.console.log("Cannot load URL: %s",t)),e(null)}}function Y(t,e){var n=W[t];n?e(n):q(t,(function(n){if(null==n)throw new Error("Cannot load font from "+t);var i=new P(n);W[t]=i,e(i)}))}var X={};function J(){X={}}function Q(t,e,n,i){var r,o,a=X[t];if(a)n(a);else if(a=new Image,/^data:/i.test(t)||(a.crossOrigin="Anonymous"),c&&!/^data:/i.test(t)){var s=new XMLHttpRequest;s.onload=function(){if(o=s.response,j.mozilla&&"image/svg+xml"==o.type){var t=new FileReader;t.onload=function(){var t=(new window.DOMParser).parseFromString(this.result,"image/svg+xml"),n=t.documentElement;if(n.getAttribute("width")&&n.getAttribute("height"))r=URL.createObjectURL(o),l(r);else{n.setAttribute("width",e.width),n.setAttribute("height",e.height);var i=(new window.XMLSerializer).serializeToString(n),a="data:image/svg+xml;base64,"+(0,z.A)(i);l(a)}},t.readAsText(o)}else r=URL.createObjectURL(o),l(r)},s.onerror=h,s.open("GET",t,!0),s.responseType="blob",s.send()}else l(t);function l(t){a.src=t,a.complete&&!j.msie?d.call(a):(a.onload=d,a.onerror=h)}function u(){e||(e={width:a.width,height:a.height});var o=document.createElement("canvas");o.width=e.width,o.height=e.height;var s,l=o.getContext("2d");l.drawImage(a,0,0,e.width,e.height);try{s=l.getImageData(0,0,e.width,e.height)}catch(b){return void h()}finally{r&&URL.revokeObjectURL(r)}var u=!1,c=p(),d=p(),f=s.data,m=0;while(m=a.width||e.height>=a.height;!i&&s&&(e=null)}if(!e&&o&&/^image\/jpe?g$/i.test(o.type)){var l=new FileReader;l.onload=function(){try{var e=new Mt(p(new Uint8Array(this.result)));URL.revokeObjectURL(r),n(X[t]=e)}catch(i){u()}},l.readAsArrayBuffer(o)}else u()}}function tt(t){return function(e,n){var i=e.length,r=i;if(0===i)return n();function o(){0===--i&&n()}while(r-- >0)t(e[r],o)}}var et=tt(Y),nt=function(t,e,n){n=Object.assign({jpegQuality:.92,keepPNG:!1},n);var i=Object.keys(t),r=i.length;if(0===r)return e();function o(){0===--r&&e()}i.forEach((function(e){Q(e,t[e],o,n)}))},it=function(t){var e=this,n=U(),i=0,r=[];function o(e,n){return t&&null!=t[e]?t[e]:n}e.getOption=o,e.attach=function(t){return r.indexOf(t)<0&&(G(t,++i),r.push(t)),t},e.pages=[],e.FONTS={},e.IMAGES={},e.GRAD_COL_FUNCTIONS={},e.GRAD_OPC_FUNCTIONS={},e.GRAD_COL={},e.GRAD_OPC={};var a=e.attach(new Ct),s=e.attach(new _t);if(o("autoPrint")){var l={};l.JavaScript=new wt({Names:[new vt("JS"),e.attach(new wt({S:xt("JavaScript"),JS:new vt("print(true);")}))]}),a.props.Names=new wt(l)}a.setPages(s);var u=e.attach(new wt({Producer:new vt(o("producer","Kendo UI PDF Generator"),!0),Title:new vt(o("title",""),!0),Author:new vt(o("author",""),!0),Subject:new vt(o("subject",""),!0),Keywords:new vt(o("keywords",""),!0),Creator:new vt(o("creator","Kendo UI PDF Generator"),!0),CreationDate:o("date",new Date)}));e.addPage=function(t){var n=K((function(e,n){return t&&null!=t[e]?t[e]:n})),i=n.paperSize,r=n.margin,o=i[0],a=i[1];r&&(o-=r.left+r.right,a-=r.top+r.bottom);var l=new kt(U(),null,!0),u={Contents:e.attach(l),Parent:s,MediaBox:[0,0,i[0],i[1]]},c=new Bt(e,u);return c._content=l,s.addPage(e.attach(c)),c.transform(1,0,0,-1,0,i[1]),r&&(c.translate(r.left,r.top),c.rect(0,0,o,a),c.clip()),e.pages.push(c),c},e.render=function(){var t;for(n("%PDF-1.4",V,"%ÂÁÚÏÎ",V,V),t=0;t0&&e.withIndent((function(){for(var n=0;n0&&n%8===0?e.indent(t[n]):e(" ",t[n])})),e(" ]")}function ct(t,e){e("(D:",ot(t.getUTCFullYear(),4),ot(t.getUTCMonth()+1,2),ot(t.getUTCDate(),2),ot(t.getUTCHours(),2),ot(t.getUTCMinutes(),2),ot(t.getUTCSeconds(),2),"Z)")}function ht(t){return t*(72/25.4)}function pt(t){return ht(10*t)}function dt(t){return 72*t}function ft(t,e){if("number"==typeof t)return t;var n;if("string"==typeof t&&(n=/^\s*([0-9.]+)\s*(mm|cm|in|pt)\s*$/.exec(t),n)){var i=parseFloat(n[1]);if(!isNaN(i))return"pt"==n[2]?i:{mm:ht,cm:pt,in:dt}[n[2]](i)}if(null!=e)return e;throw new Error("Can't parse unit: "+t)}var mt=function(){};mt.prototype.beforeRender=function(){};var vt=function(t){function e(e,n){t.call(this),this.value=e,this.utf16be=Boolean(n)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.render=function(t){var e=this.value;if(this.utf16be)e=F.bh+(0,F.CH)(e),e=e.replace(/([\(\)\\])/g,"\\$1"),t("(",e,")");else{for(var n=[40],i=0;i")},e}(vt),yt=function(t){function e(e){t.call(this),this.name=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.get=function(t){return xt(t)},e.prototype.render=function(t){t("/"+this.escape())},e.prototype.escape=function(){return this.name.replace(/[^\x21-\x7E]/g,(function(t){return"#"+ot(t.charCodeAt(0).toString(16),2)}))},e.prototype.toString=function(){return this.name},e}(mt),bt={};function xt(t){return at(bt,t)?bt[t]:bt[t]=new yt(t)}var wt=function(t){function e(e){t.call(this),this.props=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.render=function(t){var e=this.props,n=!0;t("<<"),t.withIndent((function(){for(var i in e)at(e,i)&&!/^_/.test(i)&&(n=!1,t.indent(xt(i)," ",e[i]))})),n||t.indent(),t(">>")},e}(mt),kt=function(t){function e(e,n,i){if(t.call(this),"string"==typeof e){var r=p();r.write(e),e=r}this.data=e,this.props=n||{},this.compress=i}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.render=function(t){var e=this.data.get(),n=this.props;this.compress&&B()&&(n.Filter?n.Filter instanceof Array||(n.Filter=[n.Filter]):n.Filter=[],n.Filter.unshift(xt("FlateDecode")),e=R(e)),n.Length=e.length,t(new wt(n)," stream",V),t.writeData(e),t(V,"endstream")},e}(mt),Ct=function(t){function e(){t.call(this,{Type:xt("Catalog")})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setPages=function(t){this.props.Pages=t},e}(wt),_t=function(t){function e(){t.call(this,{Type:xt("Pages"),Kids:[],Count:0})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.addPage=function(t){this.props.Kids.push(t),this.props.Count++},e}(wt),St=[192,193,194,195,197,198,199,201,202,203,205,206,207],Mt=function(t){var e,n,i,r;t.offset(0);var o=t.readShort();if(65496!=o)throw new Error("Invalid JPEG image");while(!t.eof()){var a=t.readByte();if(255!=a)throw new Error("Invalid JPEG image");var s=t.readByte(),l=t.readShort();if(St.indexOf(s)>=0){r=t.readByte(),n=t.readShort(),e=t.readShort(),i=t.readByte();break}t.skip(l-2)}if(null==i)throw new Error("Invalid JPEG image");var u={Type:xt("XObject"),Subtype:xt("Image"),Width:e,Height:n,BitsPerComponent:r,Filter:xt("DCTDecode")};switch(i){case 1:u.ColorSpace=xt("DeviceGray");break;case 3:u.ColorSpace=xt("DeviceRGB");break;case 4:u.ColorSpace=xt("DeviceCMYK"),u.Decode=[1,0,1,0,1,0,1,0];break}this.asStream=function(){t.offset(0);var e=new kt(t,u);return e._resourceName=xt("I"+ ++H),e}},At=function(t,e,n,i){this.asStream=function(r){var o=new kt(i,{Type:xt("XObject"),Subtype:xt("Image"),Width:t,Height:e,BitsPerComponent:8,ColorSpace:xt("DeviceGray")},!0),a=new kt(n,{Type:xt("XObject"),Subtype:xt("Image"),Width:t,Height:e,BitsPerComponent:8,ColorSpace:xt("DeviceRGB"),SMask:r.attach(o)},!0);return a._resourceName=xt("I"+ ++H),a}},It=function(t){function e(e){t.call(this,{Type:xt("Font"),Subtype:xt("Type1"),BaseFont:xt(e)}),this._resourceName=xt("F"+ ++H)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.encodeText=function(t){return new vt(String(t))},e}(wt),Tt=function(t){function e(e,n,i){t.call(this,{}),i=this.props,i.Type=xt("Font"),i.Subtype=xt("Type0"),i.Encoding=xt("Identity-H"),this._pdf=e,this._font=n,this._sub=n.makeSubset(),this._resourceName=xt("F"+ ++H);var r=n.head;this.name=n.psName;var o=this.scale=n.scale;this.bbox=[r.xMin*o,r.yMin*o,r.xMax*o,r.yMax*o],this.italicAngle=n.post.italicAngle,this.ascent=n.ascent*o,this.descent=n.descent*o,this.lineGap=n.lineGap*o,this.capHeight=n.os2.capHeight||this.ascent,this.xHeight=n.os2.xHeight||0,this.stemV=0,this.familyClass=(n.os2.familyClass||0)>>8,this.isSerif=this.familyClass>=1&&this.familyClass<=7,this.isScript=10==this.familyClass,this.flags=(n.post.isFixedPitch?1:0)|(this.isSerif?2:0)|(this.isScript?8:0)|(0!==this.italicAngle?64:0)|32}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.encodeText=function(t){return new gt(this._sub.encodeText(String(t)))},e.prototype.getTextWidth=function(t,e){for(var n=this,i=0,r=this._font.cmap.codeMap,o=0;o> def"),t.indent("/CMapName /Adobe-Identity-UCS def"),t.indent("/CMapType 2 def"),t.indent("1 begincodespacerange"),t.indent(" <0000>"),t.indent("endcodespacerange");var e=this;t.indent(e.lastChar-e.firstChar+1," beginbfchar"),t.withIndent((function(){for(var n=e.firstChar;n<=e.lastChar;++n){var i=e.map[n],r=f([i]);t.indent("<",ot(n.toString(16),4),">","<");for(var o=0;o")}})),t.indent("endbfchar"),t.indent("endcmap"),t.indent("CMapName currentdict /CMap defineresource pop"),t.indent("end"),t.indent("end")},e}(mt);function $t(t){return t.map((function(t){return st(t)?$t(t):"number"==typeof t?(Math.round(1e3*t)/1e3).toFixed(3):t})).join(" ")}function Ot(t,e,n,i,r,o,a){var s=$t([e,n,i,r,o,a]),l=t.GRAD_COL_FUNCTIONS[s];return l||(l=t.GRAD_COL_FUNCTIONS[s]=t.attach(new wt({FunctionType:2,Domain:[0,1],Range:[0,1,0,1,0,1],N:1,C0:[e,n,i],C1:[r,o,a]}))),l}function Lt(t,e,n){var i=$t([e,n]),r=t.GRAD_OPC_FUNCTIONS[i];return r||(r=t.GRAD_OPC_FUNCTIONS[i]=t.attach(new wt({FunctionType:2,Domain:[0,1],Range:[0,1],N:1,C0:[e],C1:[n]}))),r}function Et(t,e){var n,i,r,o,a,s=!1,l=[],u=[],c=[],h=[];for(n=1;n1&&e&&this._font instanceof Tt){var n=this._font.getTextWidth(this._fontSize,t),i=e/n*100;this._out(i," Tz ")}this._out(this._font.encodeText(t)," Tj",V)},e.prototype.showTextNL=function(t){this._requireFont(),this._out(this._font.encodeText(t)," '",V)},e.prototype.addLink=function(e,n){var i=this._toPage({x:n.left,y:n.bottom}),r=this._toPage({x:n.right,y:n.top});this._annotations.push(new t({Type:xt("Annot"),Subtype:xt("Link"),Rect:[i.x,i.y,r.x,r.y],Border:[0,0,0],A:new t({Type:xt("Action"),S:xt("URI"),URI:new vt(e)})}))},e.prototype.setStrokeColor=function(t,e,n){this._out(t," ",e," ",n," RG",V)},e.prototype.setOpacity=function(t){this.setFillOpacity(t),this.setStrokeOpacity(t),this._opacity*=t},e.prototype.setStrokeOpacity=function(t){if(t<1){var e=this._pdf.getOpacityGS(this._opacity*t,!0);this._gsResources[e._resourceName]=e,this._out(e._resourceName," gs",V)}},e.prototype.setFillColor=function(t,e,n){this._out(t," ",e," ",n," rg",V)},e.prototype.setFillOpacity=function(t){if(t<1){var e=this._pdf.getOpacityGS(this._opacity*t,!1);this._gsResources[e._resourceName]=e,this._out(e._resourceName," gs",V)}},e.prototype.gradient=function(t,e){this.save(),this.rect(e.left,e.top,e.width,e.height),this.clip(),t.userSpace||this.transform(e.width,0,0,e.height,e.left,e.top);var n,i=Rt(this._pdf,t,e),r=i.shading._resourceName;this._shResources[r]=i.shading,i.hasAlpha&&(n=i.opacity._resourceName,this._gsResources[n]=i.opacity,this._out("/"+n+" gs ")),this._out("/"+r+" sh",V),this.restore()},e.prototype.setDashPattern=function(t,e){this._out(t," ",e," d",V)},e.prototype.setLineWidth=function(t){this._out(t," w",V)},e.prototype.setLineCap=function(t){this._out(t," J",V)},e.prototype.setLineJoin=function(t){this._out(t," j",V)},e.prototype.setMitterLimit=function(t){this._out(t," M",V)},e.prototype.save=function(){this._contextStack.push(this._context()),this._out("q",V)},e.prototype.restore=function(){this._out("Q",V),this._context(this._contextStack.pop())},e.prototype.moveTo=function(t,e){this._out(t," ",e," m",V)},e.prototype.lineTo=function(t,e){this._out(t," ",e," l",V)},e.prototype.bezier=function(t,e,n,i,r,o){this._out(t," ",e," ",n," ",i," ",r," ",o," c",V)},e.prototype.bezier1=function(t,e,n,i){this._out(t," ",e," ",n," ",i," y",V)},e.prototype.bezier2=function(t,e,n,i){this._out(t," ",e," ",n," ",i," v",V)},e.prototype.close=function(){this._out("h",V)},e.prototype.rect=function(t,e,n,i){this._out(t," ",e," ",n," ",i," re",V)},e.prototype.ellipse=function(t,e,n,i){function r(e){return t+e}function o(t){return e+t}var a=.5522847498307936;this.moveTo(r(0),o(i)),this.bezier(r(n*a),o(i),r(n),o(i*a),r(n),o(0)),this.bezier(r(n),o(-i*a),r(n*a),o(-i),r(0),o(-i)),this.bezier(r(-n*a),o(-i),r(-n),o(-i*a),r(-n),o(0)),this.bezier(r(-n),o(i*a),r(-n*a),o(i),r(0),o(i))},e.prototype.circle=function(t,e,n){this.ellipse(t,e,n,n)},e.prototype.stroke=function(){this._out("S",V)},e.prototype.nop=function(){this._out("n",V)},e.prototype.clip=function(){this._out("W n",V)},e.prototype.clipStroke=function(){this._out("W S",V)},e.prototype.closeStroke=function(){this._out("s",V)},e.prototype.fill=function(){this._out("f",V)},e.prototype.fillStroke=function(){this._out("B",V)},e.prototype.drawImage=function(t){var e=this._pdf.getImage(t);e&&(this._xResources[e._resourceName]=e,this._out(e._resourceName," Do",V))},e.prototype.comment=function(t){var e=this;t.split(/\r?\n/g).forEach((function(t){e._out("% ",t,V)}))},e.prototype._context=function(t){if(null==t)return{opacity:this._opacity,matrix:this._matrix};this._opacity=t.opacity,this._matrix=t.matrix},e.prototype._toPage=function(t){var e=this._matrix,n=e[0],i=e[1],r=e[2],o=e[3],a=e[4],s=e[5];return{x:n*t.x+r*t.y+a,y:i*t.x+o*t.y+s}},e}(wt);function Ft(t){return t.replace(/^\s*(['"])(.*)\1\s*$/,"$2")}function zt(t){var e=/^\s*((normal|italic)\s+)?((normal|small-caps)\s+)?((normal|bold|\d+)\s+)?(([0-9.]+)(px|pt))(\/(([0-9.]+)(px|pt)|normal))?\s+(.*?)\s*$/i,n=e.exec(t);if(!n)return{fontSize:12,fontFamily:"sans-serif"};var i=n[8]?parseInt(n[8],10):12;return{italic:n[2]&&"italic"==n[2].toLowerCase(),variant:n[4],bold:n[6]&&/bold|700/i.test(n[6]),fontSize:i,lineHeight:n[12]?"normal"==n[12]?i:parseInt(n[12],10):null,fontFamily:n[14].split(/\s*,\s*/g).map(Ft)}}function jt(t){function e(e){return t.bold&&(e+="|bold"),t.italic&&(e+="|italic"),e.toLowerCase()}var n,i,r=t.fontFamily;if(r instanceof Array){for(var o=0;o=r-d)&&(t.getAttribute("data-kendo-chart")||/^(?:img|tr|thead|th|tfoot|iframe|svg|object|canvas|input|textarea|select|video|h[1-6])/i.test(t.tagName))}function v(t){if("TABLE"==t.tagName&&ve(t,{tableLayout:"fixed"}),!m(t)){var e=He(t),i=parseFloat(Ze(e,"padding-bottom")),o=parseFloat(Ze(e,"border-bottom-width")),a=d;d+=i+o;for(var s=!0,l=t.firstChild;l;l=l.nextSibling)if(1==l.nodeType){if(s=!1,ge(l,n)){y(l);continue}if(!r){v(l);continue}if(!/^(?:static|relative)$/.test(Ze(He(l),"position")))continue;var u=x(l);1==u||u&&m(l)?y(l):v(l)}else 3==l.nodeType&&r&&(w(l,s),s=!1);d=a}}function g(t){var e=t.parentNode,n=e.firstChild;if(t===n)return!0;if(t===e.children[0]){if(7==n.nodeType||8==n.nodeType)return!0;if(3==n.nodeType)return!/\S/.test(n.data)}return!1}function y(t){if(1==t.nodeType&&t!==h&&g(t))return y(t.parentNode);var e,n,i,r,o;e=ye(t,"table"),n=e&&e.querySelector("colgroup"),s.repeatHeaders&&(i=e&&e.querySelector("thead"),r=ye(t,".k-grid.k-widget"),r&&r.querySelector(".k-auto-scrollable")&&(o=r.querySelector(".k-grid-header")));var a=b(),l=u.createRange();l.setStartBefore(h),l.setEndBefore(t),a.appendChild(l.extractContents()),h.parentNode.insertBefore(a,h),k(t.parentNode),e&&(e=ye(t,"table"),s.repeatHeaders&&i&&e.insertBefore(i.cloneNode(!0),e.firstChild),n&&e.insertBefore(n.cloneNode(!0),e.firstChild)),s.repeatHeaders&&o&&(r=ye(t,".k-grid.k-widget"),r.insertBefore(o.cloneNode(!0),r.firstChild))}function b(){var t=u.createElement("KENDO-PDF-PAGE");return ve(t,{display:"block",boxSizing:"content-box",width:i?i+"px":"auto",padding:o.top+"px "+o.right+"px "+o.bottom+"px "+o.left+"px",position:"relative",height:r?r+"px":"auto",overflow:r||i?"hidden":"visible",clear:"both"}),s&&s.pageClassName&&(t.className=s.pageClassName),c.push(t),t}function x(t){var e=t.getBoundingClientRect();if(0===e.width||0===e.height)return 0;var n=h.getBoundingClientRect().top,i=r-d;return e.height>i?3:e.top-n>i?1:e.bottom-n>i?2:0}function w(t,e){if(/\S/.test(t.data)){var n=t.data.length,i=u.createRange();i.selectNodeContents(t);var r=x(i);if(r){var o=t;if(1==r)y(e?t.parentNode:t);else if(function e(n,r,o){return i.setEnd(t,r),n==r||r==o?r:x(i)?e(n,n+r>>1,r):e(r,r+o>>1,o)}(0,n>>1,n),!/\S/.test(i.toString())&&e)y(t.parentNode);else{o=t.splitText(i.endOffset);var a=b();i.setStartBefore(h),a.appendChild(i.extractContents()),h.parentNode.insertBefore(a,h),k(o.parentNode)}w(o)}}}function k(t){var e=ye(t,"li");e&&(e.setAttribute("kendo-no-bullet","1"),k(e.parentNode))}se(h.querySelectorAll("tfoot")).forEach((function(t){t.parentNode.appendChild(t)})),se(h.querySelectorAll("ol")).forEach((function(t){se(t.children).forEach((function(t,e){t.setAttribute("kendo-split-index",e)}))})),ve(p,{display:"block",position:"absolute",boxSizing:"content-box",left:"-10000px",top:"-10000px"}),i&&(ve(p,{width:i+"px",paddingLeft:o.left+"px",paddingRight:o.right+"px"}),ve(h,{overflow:"hidden"})),e.parentNode.insertBefore(p,e),p.appendChild(h),s.beforePageBreak?Pe([p],(function(){s.beforePageBreak(p,f)})):Pe([p],f)}return De([t],(function(){var r=e&&e.forcePageBreak,a=e&&e.paperSize&&"auto"!=e.paperSize,l=K((function(t,n){return"paperSize"==t?a?e[t]:"A4":t in e?e[t]:n})),u=a&&l.paperSize[0],c=a&&l.paperSize[1],h=e.margin&&l.margin,p=Boolean(h);if(r||c){h||(h={left:0,top:0,right:0,bottom:0}),u&&(u/=i.x),c&&(c/=i.y),h.left/=i.x,h.right/=i.x,h.top/=i.y,h.bottom/=i.y;var d=new ee.A({pdf:{multiPage:!0,paperSize:a?l.paperSize:"auto",_ignoreMargin:p}});s((function(t){if(e.progress){var i=!1,r=0;(function a(){if(ra&&(o.push(h(e.substring(a,s))),a=s+r[0].length),s+=r[0].length):s++;return a0&&a(t,l,u,c,h[0])}}}function a(t,n,i,r,o){/^data:/i.test(o)||/^[^\/:]+:\/\//.test(o)||/^\//.test(o)||(o=String(t.href).replace(/[^\/]*$/,"")+o),n.forEach((function(t){t=t.replace(/^(['"]?)(.*?)\1$/,"$2"),i&&(t+="|bold"),r&&(t+="|italic"),e[t]=o}))}}function Ae(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function Ie(t){return t="_counter_"+t,ce[t]}function Te(t){var e=[],n=ce;t="_counter_"+t;while(n)Ae(n,t)&&e.push(n[t]),n=Object.getPrototypeOf(n);return e.reverse()}function Ne(t,e){var n=ce;t="_counter_"+t;while(n&&!Ae(n,t))n=Object.getPrototypeOf(n);n||(n=ce._root),n[t]=(n[t]||0)+(null==e?1:e)}function $e(t,e){t="_counter_"+t,ce[t]=null==e?0:e}function Oe(t,e,n){for(var i=0;i0);return e}function Be(t,e,n){ce=Object.create(ce),ce[t.tagName.toLowerCase()]={element:t,style:e};var i=Ze(e,"text-decoration");if(i&&"none"!=i){var r=Ze(e,"text-decoration-color");i.split(/\s+/g).forEach((function(t){if(!ce[t]&&(ce[t]=r,"underline"==t)){var n=Ze(e,"text-underline-offset");"auto"!=n&&(ce["underline-offset"]=parseFloat(n))}}))}Ve(e)&&(ce._stackingContext={element:t,group:n})}function Fe(){ce=Object.getPrototypeOf(ce)}function ze(t){if(null!=ce._clipbox){var e=t.bbox(ce._matrix);ce._clipbox?ce._clipbox=o.A.intersect(ce._clipbox,e):ce._clipbox=e}}function je(){var t=ce._clipbox;return null==t||(t?0===t.width()||0===t.height():void 0)}function Ve(t){function e(e){return Ze(t,e)}if("none"!=e("transform")||"static"!=e("position")||"auto"!=e("z-index")||e("opacity")<1)return!0}function He(t,e){return window.getComputedStyle(t,e||null)}function Ze(t,e,n){var i=t.getPropertyValue(e);return null!=i&&""!==i||(ae.webkit?i=t.getPropertyValue("-webkit-"+e):ae.mozilla?i=t.getPropertyValue("-moz-"+e):ae.opera?i=t.getPropertyValue("-o-"+e):pe&&(i=t.getPropertyValue("-ms-"+e))),arguments.length>2&&(null==i||""===i)?n:i}function Ue(t,e,n,i){t.setProperty(e,n,i),ae.webkit?t.setProperty("-webkit-"+e,n,i):ae.mozilla?t.setProperty("-moz-"+e,n,i):ae.opera?t.setProperty("-o-"+e,n,i):pe&&(t.setProperty("-ms-"+e,n,i),e="ms"+e.replace(/(^|-)([a-z])/g,(function(t,e,n){return e+n.toUpperCase()})),t[e]=n)}function Ge(t,e){return e="border-"+e,{width:parseFloat(Ze(t,e+"-width")),style:Ze(t,e+"-style"),color:Ee(Ze(t,e+"-color"),!0)}}function Ke(t,e){var n=t.style.cssText,i=e();return t.style.cssText=n,i}function We(t,e){var n=Ze(t,"border-"+e+"-radius").split(/\s+/g).map(parseFloat);return 1==n.length&&n.push(n[0]),rn({x:n[0],y:n[1]})}function qe(t){var e=t.getBoundingClientRect();return e=Ye(e,"border-*-width",t),e=Ye(e,"padding-*",t),e}function Ye(t,e,n){var i,r,o,a,s;return"string"==typeof e?(i=He(n),r=parseFloat(Ze(i,e.replace("*","top"))),o=parseFloat(Ze(i,e.replace("*","right"))),a=parseFloat(Ze(i,e.replace("*","bottom"))),s=parseFloat(Ze(i,e.replace("*","left")))):"number"==typeof e&&(r=o=a=s=e),{top:t.top+r,right:t.right-o,bottom:t.bottom-a,left:t.left+s,width:t.right-t.left-o-s,height:t.bottom-t.top-a-r}}function Xe(t){var e=Ze(t,"transform");if("none"==e)return null;var n=/^\s*matrix\(\s*(.*?)\s*\)\s*$/.exec(e);if(n){var i=Ze(t,"transform-origin");return n=n[1].split(/\s*,\s*/g).map(parseFloat),i=i.split(/\s+/g).map(parseFloat),{matrix:n,origin:i}}}function Je(t){return 180*t/Math.PI%360}function Qe(t){var e=parseFloat(t);return/grad$/.test(t)?Math.PI*e/200:/rad$/.test(t)?e:/turn$/.test(t)?Math.PI*e*2:/deg$/.test(t)?Math.PI*e/180:void 0}function tn(t,e){return e=new r.A(e[0],e[1],e[2],e[3],e[4],e[5]),t.transform(e),e}function en(t,e){t.clip(e)}function nn(t,e,n,i){var r=new a.A([e,n],i).curvePoints(),o=1;while(o0){var i=t.className;t.className+=" kendo-pdf-hide-pseudo-elements",pn(t,e),t.className=i,n.forEach((function(e){t.removeChild(e)}))}else pn(t,e)}else pn(t,e);function r(e,i){var r=He(t,e),o=r.content;if(Le(r),o&&"normal"!=o&&"none"!=o&&"0px"!=r.width){var a=t.ownerDocument.createElement(le);a.style.cssText=cn(r),a.textContent=un(t,o),t.insertBefore(a,i),n.push(a)}}}function pn(t,e){var n=He(t),i=Ge(n,"top"),r=Ge(n,"right"),a=Ge(n,"bottom"),s=Ge(n,"left"),l=We(n,"top-left"),u=We(n,"top-right"),c=We(n,"bottom-left"),h=We(n,"bottom-right"),p=Ze(n,"direction"),d=Ze(n,"background-color");d=Ee(d);var f,m,v=ke(Ze(n,"background-image")),g=Ce(Ze(n,"background-repeat")),y=Ce(Ze(n,"background-position")),b=Ce(Ze(n,"background-origin")),x=Ce(Ze(n,"background-size"));pe&&(f=n.textOverflow,"ellipsis"==f&&(m=t.style.textOverflow,t.style.textOverflow="clip")),ae.msie&&ae.version<10&&(y=Ce(t.currentStyle.backgroundPosition));var w,k,C,_=Ye(t.getBoundingClientRect(),"border-*-width",t);(function(){var t=Ze(n,"clip"),i=/^\s*rect\((.*)\)\s*$/.exec(t);if(i){var r=i[1].split(/[ ,]+/g),o="auto"==r[0]?_.top:parseFloat(r[0])+_.top,a="auto"==r[1]?_.right:parseFloat(r[1])+_.left,s="auto"==r[2]?_.bottom:parseFloat(r[2])+_.top,l="auto"==r[3]?_.left:parseFloat(r[3])+_.left,u=new ee.A,c=(new ne.w).moveTo(l,o).lineTo(a,o).lineTo(a,s).lineTo(l,s).close();en(u,c),e.append(u),e=u,ze(c)}})();var S=Ze(n,"display");if("table-row"==S)for(w=[],k=0,C=t.children;k0&&"list-item"==S&&!t.getAttribute("kendo-no-bullet")&&$(w[0]),function(){function i(){var n=an(t,_,"padding"),i=new ee.A;en(i,n),e.append(i),e=i,ze(n)}(gn(t)||/^(hidden|auto|scroll)/.test(Ze(n,"overflow"))||/^(hidden|auto|scroll)/.test(Ze(n,"overflow-x"))||/^(hidden|auto|scroll)/.test(Ze(n,"overflow-y")))&&i()}(),fn(t,e)||kn(t,e),pe&&"ellipsis"==f&&(t.style.textOverflow=m),e;function A(e){if(/^td$/i.test(t.tagName)){var n=ce.table;if(n&&"collapse"==Ze(n.style,"border-collapse")){var i=Ge(n.style,"left").width,r=Ge(n.style,"top").width;if(0===i&&0===r)return e;var o=n.element.getBoundingClientRect(),a=n.element.rows[0].cells[0],s=a.getBoundingClientRect();if(s.top==o.top||s.left==o.left)return se(e).map((function(t){return{left:t.left+i,top:t.top+r,right:t.right+i,bottom:t.bottom+r,height:t.height,width:t.width}}))}}return e}function I(t,n,i,r,o,a,s,l){if(!(i<=0)){var u,c=new ee.A;tn(c,l),e.append(c),rn(a),rn(s),u=new ne.w({fill:{color:t},stroke:null}),c.append(u),u.moveTo(a.x?Math.max(a.x,r):0,0).lineTo(n-(s.x?Math.max(s.x,o):0),0).lineTo(n-Math.max(s.x,o),i).lineTo(Math.max(a.x,r),i).close(),a.x&&h(r,a,[-1,0,0,1,a.x,0]),s.x&&h(o,s,[1,0,0,1,n-s.x,0])}function h(e,n,r){var o=Math.PI/2*e/(e+i),a={x:n.x-e,y:n.y-i},s=new ne.w({fill:{color:t},stroke:null}).moveTo(0,0);tn(s,r),nn(s,0,n.y,{startAngle:-90,endAngle:-Je(o),radiusX:n.x,radiusY:n.y}),a.x>0&&a.y>0?(s.lineTo(a.x*Math.cos(o),n.y-a.y*Math.sin(o)),nn(s,0,n.y,{startAngle:-Je(o),endAngle:-90,radiusX:a.x,radiusY:a.y,anticlockwise:!0})):a.x>0?s.lineTo(a.x,i).lineTo(0,i):s.lineTo(a.x,i).lineTo(a.x,0),c.append(s.close())}}function T(t){var n=new ee.A;if(en(n,sn(t,l,u,h,c)),e.append(n),d){var i=new ne.w({fill:{color:d.toCssRgba()},stroke:null});i.moveTo(t.left,t.top).lineTo(t.right,t.top).lineTo(t.right,t.bottom).lineTo(t.left,t.bottom).close(),n.append(i)}for(var r=v.length;--r>=0;)N(n,t,v[r],g[r%g.length],y[r%y.length],b[r%b.length],x[r%x.length])}function N(e,n,i,r,a,s,l){if(i&&"none"!=i)if("url"==i.type){var u=ue[i.url];u&&u.width>0&&u.height>0&&c(e,n,u.width,u.height,(function(t,e){t.append(new ie.A(i.url,e))}))}else{if("linear"!=i.type)return;c(e,n,n.width,n.height,dn(i))}function c(e,n,i,u,c){var h,p=i/u,d=n;if("content-box"==s?(d=Ye(d,"border-*-width",t),d=Ye(d,"padding-*",t)):"padding-box"==s&&(d=Ye(d,"border-*-width",t)),!/^\s*auto(\s+auto)?\s*$/.test(l))if("contain"==l)h=Math.min(d.width/i,d.height/u),i*=h,u*=h;else if("cover"==l)h=Math.max(d.width/i,d.height/u),i*=h,u*=h;else{var f=l.split(/\s+/g);i=/%$/.test(f[0])?d.width*parseFloat(f[0])/100:parseFloat(f[0]),u=1==f.length||"auto"==f[1]?i/p:/%$/.test(f[1])?d.height*parseFloat(f[1])/100:parseFloat(f[1])}var m=String(a);switch(m){case"bottom":m="50% 100%";break;case"top":m="50% 0";break;case"left":m="0 50%";break;case"right":m="100% 50%";break;case"center":m="50% 50%";break}m=m.split(/\s+/),1==m.length&&(m[1]="50%"),/%$/.test(m[0])?m[0]=parseFloat(m[0])/100*(d.width-i):m[0]=parseFloat(m[0]),/%$/.test(m[1])?m[1]=parseFloat(m[1])/100*(d.height-u):m[1]=parseFloat(m[1]);var v=new o.A([d.left+m[0],d.top+m[1]],[i,u]);function g(){while(v.origin.x>n.left)v.origin.x-=i}function y(){while(v.origin.y>n.top)v.origin.y-=u}function b(){while(v.origin.x0&&(o&&"ltr"==p||d&&"rtl"==p),m=r.width>0&&(d&&"ltr"==p||o&&"rtl"==p);if(0!==i.width||0!==s.width||0!==r.width||0!==a.width){if(i.color==r.color&&i.color==a.color&&i.color==s.color&&i.width==r.width&&i.width==a.width&&i.width==s.width&&f&&m){n=Ye(n,i.width/2);var v=an(t,n,i.width/2);return v.options.stroke={color:i.color,width:i.width},void e.append(v)}if(0===l.x&&0===u.x&&0===h.x&&0===c.x&&i.width<2&&s.width<2&&r.width<2&&a.width<2)return i.width>0&&e.append(new ne.w({stroke:{width:i.width,color:i.color}}).moveTo(n.left,n.top+i.width/2).lineTo(n.right,n.top+i.width/2)),a.width>0&&e.append(new ne.w({stroke:{width:a.width,color:a.color}}).moveTo(n.left,n.bottom-a.width/2).lineTo(n.right,n.bottom-a.width/2)),f&&e.append(new ne.w({stroke:{width:s.width,color:s.color}}).moveTo(n.left+s.width/2,n.top).lineTo(n.left+s.width/2,n.bottom)),void(m&&e.append(new ne.w({stroke:{width:r.width,color:r.color}}).moveTo(n.right-r.width/2,n.top).lineTo(n.right-r.width/2,n.bottom)));var g=on(n,l,u,h,c),y=g.tl,b=g.tr,x=g.br,w=g.bl;I(i.color,n.width,i.width,s.width,r.width,y,b,[1,0,0,1,n.left,n.top]),I(a.color,n.width,a.width,r.width,s.width,x,w,[-1,0,0,-1,n.right,n.bottom]),I(s.color,n.height,s.width,a.width,i.width,k(w),k(y),[0,-1,1,0,n.left,n.bottom]),I(r.color,n.height,r.width,i.width,a.width,k(b),k(x),[0,1,-1,0,n.right,n.top])}}function k(t){return{x:t.y,y:t.x}}}}function dn(t){return function(e,n){var i=n.width(),r=n.height();switch(t.type){case"linear":var o=null!=t.angle?t.angle:Math.PI;switch(t.to){case"top":o=0;break;case"left":o=-Math.PI/2;break;case"bottom":o=Math.PI;break;case"right":o=Math.PI/2;break;case"top left":case"left top":o=-Math.atan2(r,i);break;case"top right":case"right top":o=Math.atan2(r,i);break;case"bottom left":case"left bottom":o=Math.PI+Math.atan2(r,i);break;case"bottom right":case"right bottom":o=Math.PI-Math.atan2(r,i);break}t.reverse&&(o-=Math.PI),o%=2*Math.PI,o<0&&(o+=2*Math.PI);var a=Math.abs(i*Math.sin(o))+Math.abs(r*Math.cos(o)),s=Math.atan(i*Math.tan(o)/r),l=Math.sin(s),u=Math.cos(s),c=Math.abs(l)+Math.abs(u),h=c/2*l,p=c/2*u;o>Math.PI/2&&o<=3*Math.PI/2&&(h=-h,p=-p);var d=[],f=0,m=t.stops.map((function(e,n){var i=e.percent;i?i=parseFloat(i)/100:e.length?i=parseFloat(e.length)/a:0===n?i=0:n==t.stops.length-1&&(i=1);var r={color:e.color.toCssRgba(),offset:i};return null!=i?(f=i,d.forEach((function(t,e){var n=t.stop;n.offset=t.left+(f-t.left)*(e+1)/(d.length+1)})),d=[]):d.push({left:f,stop:r}),r})),v=[.5-h,.5+p],g=[.5+h,.5-p];e.append(ne.w.fromRect(n).stroke(null).fill(new re.A({start:v,end:g,stops:m,userSpace:!1})));break;case"radial":window.console&&window.console.log&&window.console.log("Radial gradients are not yet supported in HTML renderer");break}}}function fn(t,e){var n;if(t._kendoExportVisual)n=t._kendoExportVisual();else if(window.kendo&&window.kendo.jQuery&&t.getAttribute(window.kendo.attr("role"))){var i=window.kendo.widgetInstance(window.kendo.jQuery(t));i&&(i.exportDOMVisual||i.exportVisual)&&(n=i.exportDOMVisual?i.exportDOMVisual():i.exportVisual())}if(!n)return!1;var r=new ee.A;r.children.push(n);var o=t.getBoundingClientRect();return r.transform(s.A().translate(o.left,o.top)),e.append(r),!0}function mn(t,e,n){var i=qe(t),r=new o.A([i.left,i.top],[i.width,i.height]),a=new ie.A(e,r);en(a,an(t,i,"content")),n.append(a)}function vn(t,e){var n=He(t),i=He(e),r=parseFloat(Ze(n,"z-index")),o=parseFloat(Ze(i,"z-index")),a=Ze(n,"position"),s=Ze(i,"position");return isNaN(r)&&isNaN(o)?/static|absolute/.test(a)&&/static|absolute/.test(s)?0:"static"==a?-1:"static"==s?1:0:isNaN(r)?0===o?0:o>0?-1:1:isNaN(o)?0===r?0:r>0?1:-1:parseFloat(r)-parseFloat(o)}function gn(t){return/^(?:textarea|select|input)$/i.test(t.tagName)}function yn(t){return t.selectedOptions&&t.selectedOptions.length>0?t.selectedOptions[0]:t.options[t.selectedIndex]}function bn(t,e){var n=He(t),i=Ze(n,"color"),r=t.getBoundingClientRect();"checkbox"==t.type?(e.append(ne.w.fromRect(new o.A([r.left+1,r.top+1],[r.width-2,r.height-2])).stroke(i,1)),t.checked&&e.append((new ne.w).stroke(i,1.2).moveTo(r.left+.22*r.width,r.top+.55*r.height).lineTo(r.left+.45*r.width,r.top+.75*r.height).lineTo(r.left+.78*r.width,r.top+.22*r.width))):(e.append(new oe.A(new l.A([(r.left+r.right)/2,(r.top+r.bottom)/2],Math.min(r.width-2,r.height-2)/2)).stroke(i,1)),t.checked&&e.append(new oe.A(new l.A([(r.left+r.right)/2,(r.top+r.bottom)/2],Math.min(r.width-8,r.height-8)/2)).fill(i).stroke(null)))}function xn(t,e){var n=t.tagName.toLowerCase();if("input"==n&&("checkbox"==t.type||"radio"==t.type))return bn(t,e);var i,r=t.parentNode,o=t.ownerDocument,a=o.createElement(le);if(a.style.cssText=cn(He(t)),"input"==n&&(a.style.whiteSpace="pre"),"select"!=n&&"textarea"!=n||(a.style.overflow="auto"),"select"==n)if(t.multiple)for(var s=0;s=s)return!0;p.setStart(e,a),p.setEnd(e,a+1),t=S(p);var o=!1;if((f||m>1)&&(i=r.substr(a).search(/\s/),i>=0)){p.setEnd(e,a+i);var l=S(p);l.bottom==t.bottom&&(t=l,o=!0,a+=i)}if(!o){if(i=function n(i,r,o){p.setEnd(e,r);var a=S(p);return a.bottom!=t.bottom&&i>1,r):a.right!=t.right?(t=a,r>1,o):r):r}(a,Math.min(s,a+y),s),i==a)return!0;if(a=i,i=p.toString().search(/\s+$/),0===i)return!1;i>0&&(p.setEnd(e,p.startOffset+i),t=S(p))}pe&&(t=p.getClientRects()[0]);var u=p.toString();if(/^(?:pre|pre-wrap)$/i.test(v)){if(/\t/.test(u)){var c=0;for(i=n;i=0){var d=" ".substr(0,8-(c+i)%8);u=u.substr(0,i)+d+u.substr(i+1)}}}else u=u.replace(/\s+/g," ");o||(b=t.bottom),A(u,t)}function A(t,e){if(pe&&!isNaN(u)){var i=Se(c),r=(e.top+e.bottom-i)/2;e={top:r,right:e.right,bottom:r+i,left:e.left,height:i,width:e.right-e.left}}switch(g){case"uppercase":t=t.toUpperCase();break;case"lowercase":t=t.toLowerCase();break;case"capitalize":t=t.replace(/(?:^|\s)\S/g,(function(t){return t.toUpperCase()}));break}var a=new de(t,new o.A([e.left,e.top],[e.width,e.height]),{font:c,fill:{color:h}});n.append(a)}function I(t,e,i,r){if(i){var o=new ne.w({stroke:{width:t,color:i}});r-=t,o.moveTo(e.left,r).lineTo(e.right,r),n.append(o)}}function T(t){var e=l/12;I(e,t,w,t.bottom-t.height/2.7),I(e,t,k,t.top)}function N(t){var e=l/12,n=t.bottom;n+=null!=C?C:e,I(e,t,x,n)}}function _n(t,e,n){var i;"auto"!=n?(i=ce._stackingContext.group,n=parseFloat(n)):(i=e,n=0);for(var r=i.children,o=0;on)break;var a=new ee.A;if(i.insert(o,a),a._dom_zIndex=n,i!==e&&ce._clipbox){var s=ce._matrix.invert(),l=ce._clipbox.transformCopy(s);en(a,ne.w.fromRect(l))}return a}function Sn(t,e){var n=He(t);if(Le(n),!/^(style|script|link|meta|iframe|col|colgroup)$/i.test(t.tagName)&&null!=ce._clipbox){var i=parseFloat(Ze(n,"opacity")),r=Ze(n,"visibility"),o=Ze(n,"display");if(0!==i&&"hidden"!=r&&"none"!=o){var a,s=Xe(n),l=Ze(n,"z-index");(s||i<1)&&"auto"==l&&(l=0),a=_n(t,e,l),i<1&&a.opacity(i*a.opacity()),Be(t,n,a),s?Ke(t,(function(){Ue(t.style,"transform","none","important"),Ue(t.style,"transition","none","important"),"static"==Ze(n,"position")&&Ue(t.style,"position","relative","important");var e=t.getBoundingClientRect(),i=e.left+s.origin[0],r=e.top+s.origin[1],o=[1,0,0,1,-i,-r];o=Mn(o,s.matrix),o=Mn(o,[1,0,0,1,i,r]),o=tn(a,o),ce._matrix=ce._matrix.multiplyCopy(o),hn(t,a)})):hn(t,a),Fe()}}}function Mn(t,e){var n=t[0],i=t[1],r=t[2],o=t[3],a=t[4],s=t[5],l=e[0],u=e[1],c=e[2],h=e[3],p=e[4],d=e[5];return[n*l+i*c,n*u+i*h,r*l+o*c,r*u+o*h,a*l+s*c+p,a*u+s*h+d]}var An=n(9316),In=n(4877),Tn=300,Nn=Kt,$n={dash:[4],dashDot:[4,2,1,2],dot:[1,2],longDash:[8,2],longDashDot:[8,2,1,2],longDashDotDot:[8,2,1,2,1,2],solid:[]},On={butt:0,round:1,square:2},Ln={miter:0,round:1,bevel:2};function En(t,e){var n=[],i={},o=t.options;function a(t,e,n){return n||(n=o),n.pdf&&null!=n.pdf[t]?n.pdf[t]:e}var s=a("multiPage"),l=a("imgDPI",Tn);function u(){if(!(--c>0)){var n=new it({producer:a("producer"),title:a("title"),author:a("author"),subject:a("subject"),keywords:a("keywords"),creator:a("creator"),date:a("date"),autoPrint:a("autoPrint")});s?t.children.forEach(i):i(t),e(n.render(),n)}function i(t){var e=t.options,i=ei(t),o=i.bbox;t=i.root;var s,l=a("paperSize",a("paperSize","auto"),e),u=!1;if("auto"==l)if(o){var c=o.getSize();l=[c.width,c.height],u=!0;var h=o.getOrigin();i=new ee.A,i.transform(new r.A(1,0,0,1,-h.x,-h.y)),i.append(t),t=i}else l="A4";s=n.addPage({paperSize:l,margin:a("margin",a("margin"),e),addMargin:u,landscape:a("landscape",a("landscape",!1),e)}),Rn(t,s,n)}}J(),t.traverse((function(t){Dn({Image:function(t){var e=t.src(),n=t.bbox().size;if(l){var r=i[e];n={width:Math.ceil(n.width*l/72),height:Math.ceil(n.height*l/72)},r&&(n.width=Math.max(r.width,n.width),n.height=Math.max(r.height,n.height))}i[e]=n},Text:function(t){var e=zt(t.options.font),i=jt(e);n.indexOf(i)<0&&n.push(i)}},t)}));var c=2;et(n,u),nt(i,u,{jpegQuality:a("jpegQuality",.92),keepPNG:a("keepPNG",!1)})}function Pn(t,e){En(t,(function(t){e("data:application/pdf;base64,"+t.base64())}))}function Dn(t,e){var n=t[e.nodeType];return n?n.call.apply(n,arguments):e}function Rn(t,e,n){t.options._pdfDebug&&e.comment("BEGIN: "+t.options._pdfDebug);var i=t.transform(),r=t.opacity();if(e.save(),null!=r&&r<1&&e.setOpacity(r),Bn(t,e,n),Fn(t,e,n),i){var o=i.matrix();e.transform(o.a,o.b,o.c,o.d,o.e,o.f)}zn(t,e,n),Dn({Path:Gn,MultiPath:Kn,Circle:Wn,Arc:qn,Text:Yn,Image:Jn,Group:Xn,Rect:Qn},t,e,n),e.restore(),t.options._pdfDebug&&e.comment("END: "+t.options._pdfDebug)}function Bn(t,e){var n=t.stroke&&t.stroke();if(n){var i=n.color;if(i){if(i=ti(i),null==i)return;e.setStrokeColor(i.r,i.g,i.b),1!=i.a&&e.setStrokeOpacity(i.a)}var r=n.width;if(null!=r){if(0===r)return;e.setLineWidth(r)}var o=n.dashType;o&&e.setDashPattern($n[o],0);var a=n.lineCap;a&&e.setLineCap(On[a]);var s=n.lineJoin;s&&e.setLineJoin(Ln[s]);var l=n.opacity;null!=l&&e.setStrokeOpacity(l)}}function Fn(t,e){var n=t.fill&&t.fill();if(n&&!(n instanceof An.A)){var i=n.color;if(i){if(i=ti(i),null==i)return;e.setFillColor(i.r,i.g,i.b),1!=i.a&&e.setFillOpacity(i.a)}var r=n.opacity;null!=r&&e.setFillOpacity(r)}}function zn(t,e,n){var i=t.clip();i&&(Un(i,e,n),e.clip())}function jn(t){return t&&(t instanceof An.A||t.color&&!/^(none|transparent)$/i.test(t.color)&&(null==t.width||t.width>0)&&(null==t.opacity||t.opacity>0))}function Vn(t,e,n,i){var r=t.fill();if(r instanceof An.A){i?e.clipStroke():e.clip();var o,a,s=r instanceof In.A;s?(o={x:r.center().x,y:r.center().y,r:0},a={x:r.center().x,y:r.center().y,r:r.radius()}):(o={x:r.start().x,y:r.start().y},a={x:r.end().x,y:r.end().y});var l=r.stops.elements().map((function(t){var e=t.offset();e=/%$/.test(e)?parseFloat(e)/100:parseFloat(e);var n=ti(t.color());return n.a*=t.opacity(),{offset:e,color:n}}));l.unshift(l[0]),l.push(l[l.length-1]);var u={userSpace:r.userSpace(),type:s?"radial":"linear",start:o,end:a,stops:l},c=t.rawBBox(),h=c.topLeft(),p=c.getSize();return c={left:h.x,top:h.y,width:p.width,height:p.height},e.gradient(u,c),!0}}function Hn(t,e,n){jn(t.fill())&&jn(t.stroke())?Vn(t,e,n,!0)||e.fillStroke():jn(t.fill())?Vn(t,e,n,!1)||e.fill():jn(t.stroke())?e.stroke():e.nop()}function Zn(t,e){var n=t.segments;if(4==n.length&&t.options.closed){for(var i=[],r=0;r0&&(jn(t.fill())||jn(t.stroke()))}function u(t){for(var e=[],n=0;n0?t:s(null)},Group:function(e){if(!(e.visible()&&e.opacity()>0))return s(null);var n=new ee.A(e.options);return n.children=u(e.children),n._pdfLink=e._pdfLink,e===t||0!==n.children.length||e._pdfLink?n:s(null)},Rect:function(t){return l(t)?t:s(null)}},e)}))}}function ni(t,e){var n=(0,Wt.A)();for(var i in e)"margin"==i&&t.options.pdf&&t.options.pdf._ignoreMargin||t.options.set("pdf."+i,e[i]);return Pn(t,n.resolve),n}var ii=n(3119),ri=n(2923),oi=i,ai=oi.h,si=oi.createApp,li="export.pdf",ui="Kendo UI PDF Generator",ci=function(){function t(t,e,n,i,r){void 0===r&&(r={});var o=this;this.drawDOM=t,this.exportPDF=e,this.saveAs=n,this.domElement=i,this.options=r,this.convertPageTemplateToHtml=function(t){if(ai&&si&&ri.Sw){var e=o,n=document.createElement("div");n.setAttribute("style","position:absolute; left: -5000px; top: 0px;");var i,r=document.createElement("div");n.appendChild(r),document.body.appendChild(n);var a={render:function(){return ai(e.options.pageTemplate,{pageNum:t.pageNum,totalPages:t.totalPages})},mounted:function(){this.$nextTick((function(){document.body.removeChild(n),i.unmount()}))}};return i=si(a),i.mount(r),r.outerHTML}var s=oi.extend?oi:oi.default,l=s.extend,u=l.call(s,o.options.pageTemplate),c=new u({propsData:{pageNum:t.pageNum,totalPages:t.totalPages}});return c.$mount(),c.$nextTick((function(){c.$destroy()})),c.$el.outerHTML}}return t.prototype.savePDF=function(t){var e=this,n=this.drawDOM(this.domElement,this.getDrawOptions()).then((function(t){return e.exportPDF(t,e.getPDFOptions())})).then((function(t){return e.saveAs(t,e.options.fileName||li,e.getSaveOptions())}));t&&n.then(t,t)},t.prototype.getDrawOptions=function(){return{avoidLinks:this.options.avoidLinks,forcePageBreak:this.options.forcePageBreak,keepTogether:this.options.keepTogether,margin:this.options.margin,paperSize:this.options.paperSize,landscape:this.options.landscape,repeatHeaders:this.options.repeatHeaders,scale:this.options.scale,template:this.options.pageTemplate&&this.convertPageTemplateToHtml}},t.prototype.getPDFOptions=function(){return{author:this.options.author,creator:this.options.creator||ui,date:this.options.date,imgDPI:this.options.imageResolution,keywords:this.options.keywords,landscape:this.options.landscape,margin:this.options.margin,multiPage:!0,paperSize:this.options.paperSize,producer:this.options.producer,subject:this.options.subject,title:this.options.title}},t.prototype.getSaveOptions=function(){return{forceProxy:this.options.forceProxy,proxyData:this.options.proxyData,proxyTarget:this.options.proxyTarget,proxyURL:this.options.proxyURL}},t}(),hi=ci,pi={name:"@progress/kendo-vue-pdf",productName:"Kendo UI for Vue",productCodes:["KENDOUIVUE","KENDOUICOMPLETE"],publishDate:1686052505,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"},di=i,fi=di.h,mi=di.version&&"3"===di.version[0],vi={name:"pdf-export",props:{author:String,avoidLinks:[Boolean,String],forcePageBreak:String,keepTogether:String,creator:String,date:Date,imageResolution:Number,fileName:String,forceProxy:Boolean,keywords:String,landscape:Boolean,margin:[String,Object],pageTemplate:[Object,Function],paperSize:[String,Object],repeatHeaders:Boolean,scale:Number,proxyData:Object,proxyURL:String,proxyTarget:String,producer:String,subject:String,title:String},methods:{save:function(t){new hi(we,ni,ii.U,this.$el,this.$props).savePDF(t)}},setup:mi?function(){var t=!!mi;return{v3:t}}:void 0,created:function(){(0,ri.$j)(pi)},render:function(t){var e=fi||t,n=(0,ri.Rk)(this);return e("div",[n])}},gi=vi;function yi(t,e,n){void 0===e&&(e={}),new hi(we,ni,ii.U,t,e).savePDF(n)}var bi={},xi=function(t){return String(t).trim().split(" ")},wi=function(t,e){var n=xi(e);return Boolean(xi(t.className).find((function(t){return n.indexOf(t)>=0})))},ki=function(t){return function(e){return wi(e,t)}},Ci=function(t){return bi[t]||(bi[t]=function(e){return String(e.nodeName).toLowerCase()===t.toLowerCase()}),bi[t]},_i=function(t,e,n){if(void 0===n&&(n=!0),t){if(n&&e(t))return t;t=t.firstChild;while(t){if(1===t.nodeType){var i=_i(t,e);if(i)return i}t=t.nextSibling}}},Si="k-grid-header",Mi="k-grid-footer",Ai="TABLE",Ii=Ci(Ai),Ti=function(t){return t?"locked":"wrap"},Ni=function(){function t(t){this.element=t,this.list=_i(t,ki("k-grid-container"))}return t.prototype.content=function(t){return _i(this.list,ki("k-grid-content".concat(t?"-locked":"")))},t.prototype.header=function(t){return this.headerWrap=this.headerWrap||_i(this.element,ki(Si)),_i(this.headerWrap,ki("".concat(Si,"-").concat(Ti(t))))},t.prototype.footer=function(t){return this.footerWrap=this.footerWrap||_i(this.element,ki(Mi)),_i(this.footerWrap,ki("".concat(Mi,"-").concat(Ti(t))))},t.prototype.table=function(){return _i(this.element,Ii)},t}(),$i="k-first",Oi="k-grid-header",Li="k-grid-footer",Ei=function(t,e){for(var n=e.length,i=0;i1)for(var r=0;r1&&t.rows.length>1)for(var n=1;n1&&r.removeChild(r.children[1]),r.children[0].childNodes.forEach((function(t){if(t.style)return t.style.top=0})),i){var o=[i.querySelector("colgroup")],a=[r],s=[i.querySelector("tbody")],l=n.footer(),u=l?[l.querySelector("tfoot")]:[];e=Bi(o,a,s,u)}else e=Pi(n.table().cloneNode(!0));return e},ir=function(){return ir=Object.assign||function(t){for(var e,n=1,i=arguments.length;nt?i:t}),0);return i?i+1:null},y={fit:"fit",flip:"flip"},b={left:"left",center:"center",right:"right",bottom:"bottom",top:"top"},x=function(t,e,n){var i,r,o,a;void 0===n&&(n={});var s=0;n=n||{};var l=function(){s=!1===n.leading?0:(new Date).getTime(),i=null,a=t.apply(r,o),i||(r=o=null)},u=function(){var u=(new Date).getTime();s||!1!==n.leading||(s=u);var c=e-(u-s);return r=this,o=arguments,c<=0||c>e?(i&&(clearTimeout(i),i=null),s=u,a=t.apply(r,o),i||(r=o=null)):i||!1===n.trailing||(i=setTimeout(l,c)),a};return u},w=function(){function t(t){this._dom=t}return t.prototype.alignElement=function(t){var e=t.anchor,n=t.element,i=t.anchorAlign,r=t.elementAlign,o=t.offset,a=!this._dom.hasOffsetParent(n),s=a?this.absoluteRect(e,n,o):this.relativeRect(e,n,o);return this._dom.align({anchorAlign:i,anchorRect:s,elementAlign:r,elementRect:this._dom.offset(n)})},t.prototype.absoluteRect=function(t,e,n){var i=this._dom,r=a(i.offset(t),n),o=i.stackingElementOffset(e),s=l(r,o),u=i.stackingElementScroll(e),c=i.addScroll(s,u),h=this.elementScrollPosition(t,e),p=i.removeScroll(c,h);return p.left+=window.scrollX||window.pageXOffset,p.top+=window.scrollY||window.pageYOffset,p},t.prototype.elementScrollPosition=function(t,e){return t?{x:0,y:0}:this._dom.scrollPosition(e)},t.prototype.relativeRect=function(t,e,n){return a(this._dom.position(t,e),n)},t}(),k=function(){function t(){}return t.prototype.addOffset=function(t,e){return{left:t.left+e.left,top:t.top+e.top}},t.prototype.align=function(t){return(0,o.MM)(t)},t.prototype.boundingOffset=function(t){return(0,o.e7)(t)},t.prototype.getWindow=function(){return c()?window:null},t.prototype.isBodyOffset=function(t){return(0,o.QM)(t)},t.prototype.hasOffsetParent=function(t){if(!t)return!1;var e=t.offsetParent;return e&&!("BODY"===e.nodeName&&"static"===window.getComputedStyle(e).position)},t.prototype.offset=function(t){return t?(0,o.cY)(t):null},t.prototype.staticOffset=function(t){if(!t)return null;var e=t.style,n=e.left,i=e.top;t.style.left="0px",t.style.top="0px";var r=(0,o.cY)(t);return t.style.left=n,t.style.top=i,r},t.prototype.position=function(t,e){if(!t||!e)return null;var n=(0,o.Q$)(t,e);return(0,o.fO)(t,n)},t.prototype.relativeOffset=function(t,e){return(0,o.Nf)(this.offset(t),e,this.isBodyOffset(t))},t.prototype.addScroll=function(t,e){return(0,o.vJ)(t,e)},t.prototype.removeScroll=function(t,e){return(0,o.U9)(t,e)},t.prototype.restrictToView=function(t){return(0,o.rz)(t)},t.prototype.scrollPosition=function(t){return(0,o.Bl)(t)},t.prototype.scrollableParents=function(t){return d(t)},t.prototype.stackingElementOffset=function(t){var e=this.getRelativeContextElement(t);return e?(0,o.cY)(e):null},t.prototype.stackingElementScroll=function(t){var e=this.getRelativeContextElement(t);return e?{x:e.scrollLeft,y:e.scrollTop}:{x:0,y:0}},t.prototype.stackingElementViewPort=function(t){var e=this.getRelativeContextElement(t);return e?{height:e.scrollHeight,width:e.scrollWidth}:null},t.prototype.getRelativeContextElement=function(t){if(!t||!v)return null;var e=t.parentElement;while(e){if("none"!==window.getComputedStyle(e).transform)return e;e=e.parentElement}return null},t.prototype.useRelativePosition=function(t){return!!this.getRelativeContextElement(t)},t.prototype.windowViewPort=function(t){return(0,o.XX)(t)},t.prototype.zIndex=function(t,e){return g(t,e)},t.prototype.zoomLevel=function(){return u()&&c()?parseFloat((document.documentElement.clientWidth/window.innerWidth).toFixed(2)):1},t.prototype.isZoomed=function(){return this.zoomLevel()>1},t}(),C=function(){function t(t){this._dom=t}return t.prototype.positionElement=function(t){var e=t.anchor,n=t.currentLocation,i=t.element,r=t.anchorAlign,o=t.elementAlign,l=t.collisions,u=this._dom,c=t.viewPort||u.stackingElementViewPort(i)||u.windowViewPort(i),h=a(u.offset(e),n),p=s(u.staticOffset(i),n),d=this.elementRect(i,p),f=u.restrictToView({anchorAlign:r,anchorRect:h,collisions:l,elementAlign:o,elementRect:d,viewPort:c});return{flipped:f.flipped,offset:u.addOffset(p,f.offset)}},t.prototype.elementRect=function(t,e){return this._dom.removeScroll(e,this._dom.scrollPosition(t))},t}(),_=n(2923),S={name:"@progress/kendo-vue-popup",productName:"Kendo UI for Vue",productCodes:["KENDOUIVUE","KENDOUICOMPLETE"],publishDate:1686052178,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"},M=i,A=M.h,I=M.version&&"3"===M.version[0],T=100,N=1,$={left:-1e3,top:0},O="k-animation-container-shown",L="k-popup",E={name:"Popup",props:{appendTo:{type:String,default:""},anchor:{type:String,default:""},className:String,id:String,popupClass:String,collision:{type:Object,default:function(){return{horizontal:y.fit,vertical:y.flip}}},anchorAlign:{type:Object,default:function(){return{horizontal:b.left,vertical:b.bottom}}},popupAlign:{type:Object,default:function(){return{horizontal:b.left,vertical:b.top}}},offset:{type:Object,default:function(){return $}},show:{type:Boolean,default:!1},animate:{type:[Boolean,Object],default:function(){return!0}},direction:{type:String,default:"down"},transition:{type:String,default:"expand"}},inject:{kCurrentZIndex:{default:null}},data:function(){return{hasMounted:!1}},created:function(){(0,_.$j)(S),this.mountedAppendTo=void 0,this.mountedAnchor=void 0,this._clonedElement=void 0,this._flipped=!1,this._offsetTop=0,this._offsetLeft=-1e3,this._exitingAnimation=!1,this._prevShow=!1,this._prevShow=this.$props.show,this._domService=new k,this._alignService=new w(this._domService),this._positionService=new C(this._domService),this.reposition=x(this.reposition.bind(this),f)},setup:I?function(){var t=!!I;return{v3:t}}:void 0,mounted:function(){_.Sw&&(this.mountedAppendTo=this.appendTo?this.getParentRef(this.appendTo):document.body,this.mountedAnchor=this.anchor?this.getParentRef(this.anchor,!0):document.body),this._parentElement=this.$el.parentElement,this._clonedElement=this.$el.cloneNode(!0),this.hasMounted=!0,this.mountedAppendTo.appendChild(this.$el)},updated:function(){this._prevShow=this.$props.show},destroyed:I?void 0:function(){this.detachRepositionHandlers()},beforeDestroy:I?void 0:function(){this._parentElement&&this._parentElement.appendChild(this.$el)},unmounted:function(){this.detachRepositionHandlers()},beforeUnmount:function(){this._parentElement&&this._parentElement.appendChild(this.$el)},methods:{onOpened:function(){var t=this.$el;this.$props.show&&t.classList.add(O),this.attachRepositionHandlers(t),this.$emit("open",{target:this})},onClosing:function(){if(!this.$props.show){var t=this.$el;t.classList.remove(O)}this.detachRepositionHandlers()},onClosed:function(){this._exitingAnimation&&(this._exitingAnimation=!1,this.$forceUpdate()),this.$emit("close",{target:this})},transitionDuration:function(){var t=this.$props.animate,e=0,n=0;return t&&(!0===t?e=n=void 0:(e=t.openDuration,n=t.closeDuration)),{transitionEnterDuration:e,transitionExitDuration:n}},getParentRef:function(t,e){var n=this.$parent;while(!n.$refs[t]){if(n&&n.kendoAnchorRef&&e)return n.kendoAnchorRef;if(n=n.$parent,!n&&_.Sw)return document.getElementById(t)||document.body}return n.$refs[t].$el||n.$refs[t]},position:function(t,e,n){var i=t.anchorAlign,r=t.popupAlign,o=t.collision,a=t.offset,s=n?this.v3?this.mountedAnchor:this.getParentRef(n,!0):document.body,l=this._alignService.alignElement({anchor:n?s:void 0,element:e,elementAlign:r,anchorAlign:i,offset:a}),u=this._positionService.positionElement({anchor:s,anchorAlign:i,collisions:o,element:e,currentLocation:l,elementAlign:r});return u},calculatePosition:function(t,e){if(!e||!c()||!_.Sw)return{flipped:!1,offset:t.offset};var n=(0,_.Rk)(this),i=document.createElement("div"),r=this.$el&&this.$el.firstChild&&this.$el.firstChild.firstChild?this.$el.firstChild.firstChild.cloneNode(!0):null,o=r&&r.getBoundingClientRect?r:this._clonedElement;if(o)i.appendChild(o);else{var a=this.v3?n&&n[0].props?n[0].props.class:"":n&&n[0].data?n[0].data.staticClass:"",s=this.v3?this.$props.popupClass?this.$props.popupClass:"":n&&n[0].data?n[0].data.class:"";i.innerHTML='
\t\n
\n
\n
\t\n
\t\n
')}if(e.appendChild(i),i&&i.firstChild){var l=i.firstChild;l.style.position="absolute",l.style.visibility="hidden",l.style.display="block",l.style.left="-1000",l.style.top="0";var u=this.v3?n&&n[0].props?n[0].props.style:{}:n[0].data?n[0].data.style:{};if(u)for(var h=0,p=Object.entries(u);h/g,Qe=function(t){return(""+t).replace(We,"&").replace(qe,"<").replace(Je,">").replace(Ye,""").replace(Xe,"'")},tn=function(t){var e=/\.([^\.]+)$/,n=t.match(e);return n?n[0]:""},en=function(t){var e=t.name,n=t.size;return{extension:tn(e),name:Qe(e),getRawFile:function(){return t},size:n,status:j.Selected,progress:0,uid:""}},nn=function(t){var e,n=new Array;for(e=0;e0)},on=function(t){for(var e=0,n=t;e .k-button):not(.k-colorpicker > .k-button)",dn=".k-dropdownlist > .k-button,.k-colorpicker > .k-button",fn=["button"+pn,".k-button-group > button",".k-dropdownlist",".k-colorpicker"],mn={styles:hn},vn=r,gn=vn.h,yn=vn.version&&"3"===vn.version[0],bn=mn.styles,xn={name:"KendoButton",emits:{click:null,mousedown:null,mouseup:null,pointerdown:null,pointerup:null,focus:null,blur:null,keypress:null,keydown:null},props:{ariaLabel:String,title:String,dir:String,selected:{type:Boolean,default:void 0},togglable:{type:Boolean,default:!1},icon:{type:String,default:function(){}},svgIcon:Object,iconClass:{type:String,default:function(){}},imageUrl:{type:String,default:function(){}},imageAlt:String,disabled:{type:Boolean,default:void 0},size:{type:String,default:"medium"},shape:{type:String},rounded:{type:String,default:"medium"},fillMode:{type:String,default:"solid"},themeColor:{type:String,default:"base"}},created:function(){F(cn),this.currentActive=!0===this.$props.togglable&&!0===this.$props.selected,this._activeTemp=void 0},data:function(){return{currentActive:null}},computed:{computedSelected:function(){return void 0!==this._activeTemp?this._activeTemp:void 0!==this.$props.selected?this.$props.selected:this.currentActive},buttonClasses:function(){var t,e=this.$props,n=e.disabled,i=e.icon,r=e.iconClass,o=e.imageUrl,a=e.dir,s=e.svgIcon,l=e.size,u=e.shape,c=e.rounded,h=e.fillMode,p=e.themeColor,d=void 0!==s||void 0!==i||void 0!==r||void 0!==o,m=f(this),v=m;return t={},t[bn.button]=!0,t["k-button-".concat(z.sizeMap[l]||l)]=l,t["k-button-".concat(u)]=u&&"rectangle"!==u,t["k-rounded-".concat(z.roundedMap[c]||c)]=c,t["k-icon-button"]=!v&&d,t["k-disabled"]=n,t["k-selected"]=this.computedSelected,t["k-rtl"]="rtl"===a,t["k-button-".concat(h)]=h,t["k-button-".concat(h,"-").concat(p)]=h&&p,t}},updated:function(){this.$props.togglable&&void 0!==this.$props.selected&&this.$props.selected!==this.currentActive&&(this.currentActive=this.$props.selected)},methods:{focus:function(t){this.$el.focus(t)},toggleIfApplicable:function(){if(!this.disabled&&this.$props.togglable&&void 0===this.$props.selected){var t=!this.currentActive;this._activeTemp=t,this.currentActive=t,this._activeTemp=void 0}},handleClick:function(t){this.toggleIfApplicable(),this.disabled||this.$emit("click",t)},handleMouseDown:function(t){this.disabled||this.$emit("mousedown",t)},handlePointerDown:function(t){this.disabled||this.$emit("pointerdown",t)},handleMouseUp:function(t){this.disabled||this.$emit("mouseup",t)},handlePointerUp:function(t){this.disabled||this.$emit("pointerup",t)},handleFocus:function(t){this.disabled||this.$emit("focus",t)},handleBlur:function(t){this.disabled||this.$emit("blur",t)},handleKeypress:function(t){this.disabled||this.$emit("keypress",t)},handleKeydown:function(t){this.disabled||this.$emit("keydown",t)},handleContextmenu:function(t){this.disabled||this.$emit("contextmenu",t)}},setup:yn?function(){var t=!!yn;return{v3:t}}:void 0,render:function(t){var e=gn||t,n=this.$props,i=n.togglable,r=n.icon,o=n.svgIcon,s=n.iconClass,l=n.imageUrl,u=n.imageAlt,c=f(this),h=function(){if(l)return e("img",{role:"presentation",attrs:this.v3?void 0:{role:"presentation",alt:u,src:l},class:"k-image",alt:u,src:l});if(r||o){var t=a("k-button-icon",s);return e(at,{name:r,attrs:this.v3?void 0:{name:r,icon:o},icon:o,class:t})}return s?e("span",{role:"presentation",attrs:this.v3?void 0:{role:"presentation"},class:s}):null};return e("button",{class:this.buttonClasses,onClick:this.handleClick,on:this.v3?void 0:{click:this.handleClick,mousedown:this.handleMouseDown,mouseup:this.handleMouseUp,pointerdown:this.handlePointerDown,pointerup:this.handlePointerUp,focus:this.handleFocus,blur:this.handleBlur,keypress:this.handleKeypress,keydown:this.handleKeydown,contextmenu:this.handleContextmenu},onMousedown:this.handleMouseDown,onMouseup:this.handleMouseUp,onPointerdown:this.handlePointerDown,onPointerup:this.handlePointerUp,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeypress:this.handleKeypress,onKeydown:this.handleKeydown,onContextmenu:this.handleContextmenu,title:this.title,attrs:this.v3?void 0:{title:this.title,"aria-label":this.ariaLabel,"aria-disabled":this.$props.disabled||void 0,"aria-pressed":i?!!this.currentActive:void 0},"aria-label":this.ariaLabel,"aria-disabled":this.$props.disabled||void 0,"aria-pressed":i?!!this.currentActive:void 0},[h.call(this),c&&e("span",{class:"k-button-text"},[c])])}},wn=xn,kn=r,Cn=(kn.h,kn.version&&"3"===kn.version[0]),_n={name:"KendoButtonWrap",props:{},setup:Cn?function(){var t=!!Cn;return{v3:t}}:void 0,render:function(t){var e=f(this);return e[0]}},Sn=_n,Mn=r,An=Mn.h,In=Mn.version&&"3"===Mn.version[0],Tn=mn.styles,Nn=(Boolean,n(4199));(function(t){t["next"]="next",t["prev"]="prev",t["current"]="current",t["reset"]="reset"})(ct||(ct={}));var $n,On=function(t,e){var n=e.items.findIndex((function(e){return e===t}));switch(e.type){case ct.next:return n===e.items.length-1?t:e.items[n+1];case ct.prev:return 0===n?t:e.items[n-1];case ct.current:return e.payload;case ct.reset:return null;default:return t}};(function(t){t["remove"]="remove",t["add"]="add",t["reorder"]="reorder"})($n||($n={}));var Ln,En,Pn=function(t,e){switch(e.type){case $n.add:break;case $n.remove:return t.filter((function(t){return t[e.valueField]!==e.payload}));case $n.reorder:break;default:return t}},Dn=function(t,e,n){if(n||2===arguments.length)for(var i,r=0,o=e.length;rt?i:t}),0);return i?i+1:null},ki={fit:"fit",flip:"flip"},Ci={left:"left",center:"center",right:"right",bottom:"bottom",top:"top"},_i=function(t,e,n){var i,r,o,a;void 0===n&&(n={});var s=0;n=n||{};var l=function(){s=!1===n.leading?0:(new Date).getTime(),i=null,a=t.apply(r,o),i||(r=o=null)},u=function(){var u=(new Date).getTime();s||!1!==n.leading||(s=u);var c=e-(u-s);return r=this,o=arguments,c<=0||c>e?(i&&(clearTimeout(i),i=null),s=u,a=t.apply(r,o),i||(r=o=null)):i||!1===n.trailing||(i=setTimeout(l,c)),a};return u},Si=function(){function t(t){this._dom=t}return t.prototype.alignElement=function(t){var e=t.anchor,n=t.element,i=t.anchorAlign,r=t.elementAlign,o=t.offset,a=!this._dom.hasOffsetParent(n),s=a?this.absoluteRect(e,n,o):this.relativeRect(e,n,o);return this._dom.align({anchorAlign:i,anchorRect:s,elementAlign:r,elementRect:this._dom.offset(n)})},t.prototype.absoluteRect=function(t,e,n){var i=this._dom,r=ci(i.offset(t),n),o=i.stackingElementOffset(e),a=pi(r,o),s=i.stackingElementScroll(e),l=i.addScroll(a,s),u=this.elementScrollPosition(t,e),c=i.removeScroll(l,u);return c.left+=window.scrollX||window.pageXOffset,c.top+=window.scrollY||window.pageYOffset,c},t.prototype.elementScrollPosition=function(t,e){return t?{x:0,y:0}:this._dom.scrollPosition(e)},t.prototype.relativeRect=function(t,e,n){return ci(this._dom.position(t,e),n)},t}(),Mi=function(){function t(){}return t.prototype.addOffset=function(t,e){return{left:t.left+e.left,top:t.top+e.top}},t.prototype.align=function(t){return(0,ui.MM)(t)},t.prototype.boundingOffset=function(t){return(0,ui.e7)(t)},t.prototype.getWindow=function(){return fi()?window:null},t.prototype.isBodyOffset=function(t){return(0,ui.QM)(t)},t.prototype.hasOffsetParent=function(t){if(!t)return!1;var e=t.offsetParent;return e&&!("BODY"===e.nodeName&&"static"===window.getComputedStyle(e).position)},t.prototype.offset=function(t){return t?(0,ui.cY)(t):null},t.prototype.staticOffset=function(t){if(!t)return null;var e=t.style,n=e.left,i=e.top;t.style.left="0px",t.style.top="0px";var r=(0,ui.cY)(t);return t.style.left=n,t.style.top=i,r},t.prototype.position=function(t,e){if(!t||!e)return null;var n=(0,ui.Q$)(t,e);return(0,ui.fO)(t,n)},t.prototype.relativeOffset=function(t,e){return(0,ui.Nf)(this.offset(t),e,this.isBodyOffset(t))},t.prototype.addScroll=function(t,e){return(0,ui.vJ)(t,e)},t.prototype.removeScroll=function(t,e){return(0,ui.U9)(t,e)},t.prototype.restrictToView=function(t){return(0,ui.rz)(t)},t.prototype.scrollPosition=function(t){return(0,ui.Bl)(t)},t.prototype.scrollableParents=function(t){return gi(t)},t.prototype.stackingElementOffset=function(t){var e=this.getRelativeContextElement(t);return e?(0,ui.cY)(e):null},t.prototype.stackingElementScroll=function(t){var e=this.getRelativeContextElement(t);return e?{x:e.scrollLeft,y:e.scrollTop}:{x:0,y:0}},t.prototype.stackingElementViewPort=function(t){var e=this.getRelativeContextElement(t);return e?{height:e.scrollHeight,width:e.scrollWidth}:null},t.prototype.getRelativeContextElement=function(t){if(!t||!xi)return null;var e=t.parentElement;while(e){if("none"!==window.getComputedStyle(e).transform)return e;e=e.parentElement}return null},t.prototype.useRelativePosition=function(t){return!!this.getRelativeContextElement(t)},t.prototype.windowViewPort=function(t){return(0,ui.XX)(t)},t.prototype.zIndex=function(t,e){return wi(t,e)},t.prototype.zoomLevel=function(){return di()&&fi()?parseFloat((document.documentElement.clientWidth/window.innerWidth).toFixed(2)):1},t.prototype.isZoomed=function(){return this.zoomLevel()>1},t}(),Ai=function(){function t(t){this._dom=t}return t.prototype.positionElement=function(t){var e=t.anchor,n=t.currentLocation,i=t.element,r=t.anchorAlign,o=t.elementAlign,a=t.collisions,s=this._dom,l=t.viewPort||s.stackingElementViewPort(i)||s.windowViewPort(i),u=ci(s.offset(e),n),c=hi(s.staticOffset(i),n),h=this.elementRect(i,c),p=s.restrictToView({anchorAlign:r,anchorRect:u,collisions:a,elementAlign:o,elementRect:h,viewPort:l});return{flipped:p.flipped,offset:s.addOffset(c,p.offset)}},t.prototype.elementRect=function(t,e){return this._dom.removeScroll(e,this._dom.scrollPosition(t))},t}(),Ii={name:"@progress/kendo-vue-popup",productName:"Kendo UI for Vue",productCodes:["KENDOUIVUE","KENDOUICOMPLETE"],publishDate:1708437982,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"},Ti=r,Ni=Ti.h,$i=Ti.version&&"3"===Ti.version[0],Oi=100,Li=1,Ei={left:-1e3,top:0},Pi="k-animation-container-shown",Di="k-popup",Ri={name:"Popup",props:{appendTo:{type:String,default:""},anchor:{type:String,default:""},className:String,id:String,popupClass:String,collision:{type:Object,default:function(){return{horizontal:ki.fit,vertical:ki.flip}}},anchorAlign:{type:Object,default:function(){return{horizontal:Ci.left,vertical:Ci.bottom}}},popupAlign:{type:Object,default:function(){return{horizontal:Ci.left,vertical:Ci.top}}},offset:{type:Object,default:function(){return Ei}},show:{type:Boolean,default:!1},animate:{type:[Boolean,Object],default:function(){return!0}},direction:{type:String,default:"down"},transition:{type:String,default:"expand"}},inject:{kCurrentZIndex:{default:null}},data:function(){return{hasMounted:!1}},created:function(){F(Ii),this.mountedAppendTo=void 0,this.mountedAnchor=void 0,this._clonedElement=void 0,this._flipped=!1,this._offsetTop=0,this._offsetLeft=-1e3,this._exitingAnimation=!1,this._prevShow=!1,this._prevShow=this.$props.show,this._domService=new Mi,this._alignService=new Si(this._domService),this._positionService=new Ai(this._domService),this.reposition=_i(this.reposition.bind(this),yi)},setup:$i?function(){var t=!!$i;return{v3:t}}:void 0,mounted:function(){u&&(this.mountedAppendTo=this.appendTo?this.getParentRef(this.appendTo):document.body,this.mountedAnchor=this.anchor?this.getParentRef(this.anchor,!0):document.body),this._parentElement=this.$el.parentElement,this._clonedElement=this.$el.cloneNode(!0),this.hasMounted=!0,this.mountedAppendTo.appendChild(this.$el)},updated:function(){this._prevShow=this.$props.show},destroyed:$i?void 0:function(){this.detachRepositionHandlers()},beforeDestroy:$i?void 0:function(){this._parentElement&&this._parentElement.appendChild(this.$el)},unmounted:function(){this.detachRepositionHandlers()},beforeUnmount:function(){this._parentElement&&this._parentElement.appendChild(this.$el)},methods:{onOpened:function(){var t=this.$el;this.$props.show&&t.classList.add(Pi),this.attachRepositionHandlers(t),this.$emit("open",{target:this})},onClosing:function(){if(!this.$props.show){var t=this.$el;t.classList.remove(Pi)}this.detachRepositionHandlers()},onClosed:function(){this._exitingAnimation&&(this._exitingAnimation=!1,this.$forceUpdate()),this.$emit("close",{target:this})},transitionDuration:function(){var t=this.$props.animate,e=0,n=0;return t&&(!0===t?e=n=void 0:(e=t.openDuration,n=t.closeDuration)),{transitionEnterDuration:e,transitionExitDuration:n}},getParentRef:function(t,e){var n=this.$parent;while(!n.$refs[t]){if(n&&n.kendoAnchorRef&&e)return n.kendoAnchorRef;if(n=n.$parent,!n&&u)return document.getElementById(t)||document.body}return n.$refs[t].$el||n.$refs[t]},position:function(t,e,n){var i=t.anchorAlign,r=t.popupAlign,o=t.collision,a=t.offset,s=n?this.v3?this.mountedAnchor:this.getParentRef(n,!0):document.body,l=this._alignService.alignElement({anchor:n?s:void 0,element:e,elementAlign:r,anchorAlign:i,offset:a}),u=this._positionService.positionElement({anchor:s,anchorAlign:i,collisions:o,element:e,currentLocation:l,elementAlign:r});return u},calculatePosition:function(t,e){if(!e||!fi()||!u)return{flipped:!1,offset:t.offset};var n=f(this),i=document.createElement("div"),r=this.$el&&this.$el.firstChild&&this.$el.firstChild.firstChild?this.$el.firstChild.firstChild.cloneNode(!0):null,o=r&&r.getBoundingClientRect?r:this._clonedElement;if(o)i.appendChild(o);else{var a=this.v3?n&&n[0].props?n[0].props.class:"":n&&n[0].data?n[0].data.staticClass:"",s=this.v3?this.$props.popupClass?this.$props.popupClass:"":n&&n[0].data?n[0].data.class:"";i.innerHTML='
\t\n
\n
\n
\t\n
\t\n
')}if(e.appendChild(i),i&&i.firstChild){var l=i.firstChild;l.style.position="absolute",l.style.visibility="hidden",l.style.display="block",l.style.left="-1000",l.style.top="0";var c=this.v3?n&&n[0].props?n[0].props.style:{}:n[0].data?n[0].data.style:{};if(c)for(var h=0,p=Object.entries(c);h0){var r="upload.".concat(t.validationErrors[0]);i=n.toLanguageString(r,Ke[r])}return i},getFileExtensionName:function(t){switch(t.extension){case".png":case".jpg":case".jpeg":case".tiff":case".bmp":case".gif":return"file-image";case".mp3":case".mp4":case".wav":return"file-audio";case".mkv":case".webm":case".flv":case".gifv":case".avi":case".wmv":return"file-video";case".txt":return"file-txt";case".pdf":return"file-pdf";case".ppt":case".pptx":return"file-presentation";case".csv":case".xls":case".xlsx":return"file-data";case".html":case".css":case".js":case".ts":return"file-programming";case".exe":return"file-config";case".zip":case".rar":return"file-zip";default:return"file"}},getFileExtensionSVG:function(t){switch(t.extension){case".png":case".jpg":case".jpeg":case".tiff":case".bmp":case".gif":return Nn.VYI;case".mp3":case".mp4":case".wav":return Nn.UAH;case".mkv":case".webm":case".flv":case".gifv":case".avi":case".wmv":return Nn.z0_;case".txt":return Nn.eSy;case".pdf":return Nn.USf;case".ppt":case".pptx":return Nn.qX7;case".csv":case".xls":case".xlsx":return Nn.EGr;case".html":case".css":case".js":case".ts":return Nn.HtB;case".exe":return Nn.yQ9;case".zip":case".rar":return Nn.Xse;default:return Nn.YgP}}},setup:Cr?function(){var t=!!Cr,e=_r("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,render:function(t){var e=kr||t,n=this.$props,i=n.files,r=n.disabled,o=n.async,s=i[0],l=a("k-file-single"),u=un.getFileStatus([s]),c=u[1],h=u[2],p=u[3],d=!p&&!c&&!h,f=function(t,n){return e("span",{class:"k-file-info",key:"2"},[e("span",{class:"k-file-name",title:t.name,attrs:this.v3?void 0:{title:t.name}},[t.name]),e("span",{class:"k-file-validation-message"},[this.getFileValidationMessage(t,n)])])},m=function(t){var n=(0,ht.GB)(this),i=n.toLanguageString(He,Ke[He]);return e("span",{class:"k-file-info",key:"2"},[e("span",{class:"k-file-name",title:t.name,attrs:this.v3?void 0:{title:t.name}},[t.name]),100!==t.progress?e("span",{class:"k-file-size"},[un.getTotalFilesSizeMessage([t])]):e("span",{class:"k-file-validation-message"},[i])])};return e("div",{class:l},[d&&e(we,{value:s.progress||0,attrs:this.v3?void 0:{value:s.progress||0,labelVisible:!1},labelVisible:!1}),e("span",{class:"k-file-icon-wrapper",key:"1"},[e(at,{name:this.getFileExtensionName(s),attrs:this.v3?void 0:{name:this.getFileExtensionName(s),icon:this.getFileExtensionSVG(s),size:"xxxlarge"},icon:this.getFileExtensionSVG(s),size:"xxxlarge",class:"k-file-icon"}),e("span",{class:"k-file-state"})]),p||h?f.call(this,s,h):m.call(this,s),e(xr,{uid:s.uid,attrs:this.v3?void 0:{uid:s.uid,status:s.status,progress:s.progress,files:i,disabled:r,async:o},status:s.status,progress:s.progress,files:i,disabled:r,async:o,onCancel:this.onCancel,on:this.v3?void 0:{cancel:this.onCancel,remove:this.onRemove,retry:this.onRetry},onRemove:this.onRemove,onRetry:this.onRetry})])}},Mr=Sr,Ar=r,Ir=Ar.h,Tr=Ar.version&&"3"===Ar.version[0],Nr=(Ar.ref,Ar.inject),$r={name:"KendoVueUploadListMultiItem",props:{files:Array,disabled:Boolean,async:Object},emits:{cancel:null,retry:null,remove:null},inject:{kendoLocalizationService:{default:null}},methods:{onRetry:function(t){this.$emit("retry",t)},onRemove:function(t){this.$emit("remove",t)},onCancel:function(t){this.$emit("cancel",t)},getFileValidationMessage:function(t){var e=(0,ht.GB)(this),n="";if(t.validationErrors&&t.validationErrors.length>0){var i="upload.".concat(t.validationErrors[0]);n=e.toLanguageString(i,Ke[i])}return n},progress:function(){var t=this.$props.files,e=0;return t.forEach((function(t){e+=t.progress||0})),e/t.length}},setup:Tr?function(){var t=!!Tr,e=Nr("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,render:function(t){var e=Ir||t,n=this.$props,i=n.files,r=n.disabled,o=n.async,s=a("k-file-multiple"),l=un.getFileStatus(i),u=l[1],c=l[2],h=l[3],p=(0,ht.GB)(this),d=p.toLanguageString(je,Ke[je]),f=p.toLanguageString(Ve,Ke[Ve]),m=p.toLanguageString(Ze,Ke[Ze]),v=p.toLanguageString(He,Ke[He]),g=this.progress(),y=!h&&!u&&!c,b=function(){return i.map((function(t){return e("span",{key:t.name,class:"k-file-info"},[e("span",{class:"k-file-name",title:t.name,attrs:this.v3?void 0:{title:t.name}},[t.name]),un.fileHasValidationErrors(t)?e("span",{class:"k-file-validation-message"},[this.getFileValidationMessage(t)]):e("span",{key:"".concat(t.name,"-size"),class:"k-file-size"},[un.getTotalFilesSizeMessage([t])])])}),this)};return e("div",{class:s},[y&&e(we,{value:g||0,attrs:this.v3?void 0:{value:g||0,labelVisible:!1},labelVisible:!1}),e("span",{class:"k-file-icon-wrapper"},[e(at,{name:"copy",attrs:this.v3?void 0:{name:"copy",icon:Nn.nJH,size:"xxxlarge"},icon:Nn.nJH,size:"xxxlarge",class:"k-file-icon"})]),e("span",{class:"k-multiple-files-wrapper"},[b.call(this),c?e("span",{class:"k-file-validation-message"},["".concat(i.length," ").concat(m)]):100!==g?e("span",{class:"k-file-summary"},["".concat(d,": ").concat(i.length," ").concat(f,", ").concat(un.getTotalFilesSizeMessage(i))]):e("span",{class:"k-file-summary k-text-success"},["".concat(i.length," ").concat(v)])]),e(xr,{uid:i[0].uid,attrs:this.v3?void 0:{uid:i[0].uid,status:i[0].status,progress:g,files:i,disabled:r,async:o},status:i[0].status,progress:g,files:i,disabled:r,async:o,onCancel:this.onCancel,on:this.v3?void 0:{cancel:this.onCancel,remove:this.onRemove,retry:this.onRetry},onRemove:this.onRemove,onRetry:this.onRetry})])}},Or=$r,Lr=r,Er=Lr.h,Pr=Lr.version&&"3"===Lr.version[0],Dr=Lr.ref,Rr={name:"KendoVueUploadListGroup",props:{files:Array,async:Object,disabled:Boolean,navigationIndex:Number,list:[String,Function,Object],index:Number},emits:{cancel:null,click:null,retry:null,remove:null},mounted:function(){this._element=this.v3?this.elementRef:this.$refs.element},updated:function(){var t=this.$props,e=t.navigationIndex,n=t.index;e===n&&this._element&&u&&document.activeElement!==this._element&&this._element.focus()},methods:{onClick:function(){this.$emit("click",this.$props.index)},onRetry:function(t){this.$emit("retry",t)},onRemove:function(t){this.$emit("remove",t)},onCancel:function(t){this.$emit("cancel",t)}},setup:Pr?function(){var t=!!Pr,e=Dr(null);return{v3:t,elementRef:e}}:void 0,render:function(t){var e,n=Er||t,i=this.$props,r=i.files,o=i.async,s=i.disabled,l=i.navigationIndex,u=i.index,c=(i.list,r[0]),p=c.status===j.Uploaded||c.status===j.Initial,d=un.filesHaveValidationErrors(r),f=c.status===j.UploadFailed||c.status===j.RemoveFailed,m=a("k-file",{"k-file-invalid":d,"k-file-error":f,"k-file-progress":c.status===j.Uploading,"k-file-success":p,"k-focus":l===u}),v=1===r.length?n(Mr,{files:r,attrs:this.v3?void 0:{files:r,async:o,disabled:s},async:o,disabled:s,onCancel:this.onCancel,on:this.v3?void 0:{cancel:this.onCancel,remove:this.onRemove,retry:this.onRetry},onRemove:this.onRemove,onRetry:this.onRetry}):n(Or,{files:r,attrs:this.v3?void 0:{files:r,async:o,disabled:s},async:o,disabled:s,onCancel:this.onCancel,on:this.v3?void 0:{cancel:this.onCancel,remove:this.onRemove,retry:this.onRetry},onRemove:this.onRemove,onRetry:this.onRetry});return e=T.call(this,{h:n,template:this.$props.list,defaultRendering:v,additionalProps:this.$props,additionalListeners:{retry:this.onRetry,remove:this.onRemove,cancel:this.onCancel}}),n("li",{ref:h(this,"element"),class:m,"data-uid":c.uid,attrs:this.v3?void 0:{"data-uid":c.uid,tabindex:-1},tabindex:-1,onClick:this.onClick,on:this.v3?void 0:{click:this.onClick}},[e])}},Br=Rr,Fr=r,zr=Fr.h,jr=Fr.version&&"3"===Fr.version[0],Vr=(Fr.ref,{name:"KendoVueUploadList",props:{groupedFiles:Object,async:Object,disabled:Boolean,navigationIndex:{type:Number,default:void 0},list:[String,Function,Object]},emits:{cancel:null,click:null,retry:null,remove:null},methods:{onClick:function(t){this.$emit("click",t)},onRetry:function(t){this.$emit("retry",t)},onRemove:function(t){this.$emit("remove",t)},onCancel:function(t){this.$emit("cancel",t)}},setup:jr?function(){var t=!!jr;return{v3:t}}:void 0,render:function(t){var e=zr||t,n=this.$props,i=n.groupedFiles,r=n.navigationIndex,o=n.async,s=n.disabled,l=n.list,u=a("k-upload-files","k-reset");return e("ul",{class:u},[Object.keys(i).map((function(t,n){var a=i[t];return e(Br,{key:t,files:a,attrs:this.v3?void 0:{files:a,index:n,navigationIndex:r,async:o,disabled:s,list:l},index:n,navigationIndex:r,async:o,disabled:s,list:l,onCancel:this.onCancel,on:this.v3?void 0:{cancel:this.onCancel,click:this.onClick,remove:this.onRemove,retry:this.onRetry},onClick:this.onClick,onRemove:this.onRemove,onRetry:this.onRetry})}),this)])}}),Hr=Vr,Zr=r,Ur=Zr.h,Gr=Zr.version&&"3"===Zr.version[0],Kr=Zr.ref,Wr=Zr.inject,qr={name:"KendoVueUploadActionButtons",props:{disabled:Boolean,navigationIndex:Number,clearButtonIndex:Number,uploadButtonIndex:Number,actionsLayout:String},inject:{kendoLocalizationService:{default:null}},emits:{clear:null,click:null,upload:null},created:function(){this._prevNavigationIndex=void 0},setup:Gr?function(){var t=!!Gr,e=Kr(null),n=Kr(null),i=Wr("kendoLocalizationService",{});return{v3:t,uploadElementRef:e,clearElementRef:n,kendoLocalizationService:i}}:void 0,mounted:function(){this._clearElement=this.v3?this.clearElementRef:this.$refs.clearElement,this._uploadElement=this.v3?this.uploadElementRef:this.$refs.uploadElement},watch:{navigationIndex:function(t,e){this._prevNavigationIndex=e}},updated:function(){var t=this.$props,e=t.navigationIndex,n=t.clearButtonIndex,i=t.uploadButtonIndex;e!==this._prevNavigationIndex&&(e===n&&this._clearElement&&this._clearElement.focus(),e===i&&this._uploadElement&&this._uploadElement.focus())},methods:{onClearClick:function(){this.$props.disabled||this.$emit("clear")},onUploadClick:function(){this.$props.disabled||(this.$emit("click",this.$props.uploadButtonIndex),this.$emit("upload"))}},render:function(t){var e=this,n=Ur||t,i=this.$props,r=i.disabled,o=i.navigationIndex,s=i.clearButtonIndex,l=i.uploadButtonIndex,u=i.actionsLayout,c=(0,ht.GB)(this),h=a("k-actions",{"k-actions-start":"start"===u,"k-actions-center":"center"===u,"k-actions-end":"end"===u,"k-actions-stretched":"stretched"===u}),p=a("k-clear-selected",o===s?"k-focus":""),d=a("k-upload-selected",o===l?"k-focus":"");return n("div",{class:h},[n(wn,{type:"button",attrs:this.v3?void 0:{type:"button",disabled:r,tabIndex:-1},ref:this.v3?function(t){e.clearElementRef=t}:"clearElement",disabled:r,class:p,tabIndex:-1,onClick:this.onClearClick,on:this.v3?void 0:{click:this.onClearClick}},this.v3?function(){return[c.toLanguageString(Ae,Ke[Ae])]}:[c.toLanguageString(Ae,Ke[Ae])]),n(wn,{type:"button",attrs:this.v3?void 0:{type:"button",disabled:r,themeColor:"primary",tabIndex:-1},ref:this.v3?function(t){e.uploadElementRef=t}:"uploadElement",disabled:r,themeColor:"primary",class:d,tabIndex:-1,onClick:this.onUploadClick,on:this.v3?void 0:{click:this.onUploadClick}},this.v3?function(){return[c.toLanguageString(ze,Ke[ze])]}:[c.toLanguageString(ze,Ke[ze])])])}},Yr=qr,Xr=r,Jr=Xr.h,Qr=Xr.version&&"3"===Xr.version[0],to=Xr.ref,eo=/(chrome)[ \/]([\w.]+)/i,no=/(webkit)[ \/]([\w.]+)/i,io={name:"KendoVueUploadInput",props:{async:Object,id:String,multiple:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},accept:{type:String,default:void 0},hasFiles:{type:Boolean,default:!1},ariaLabelledBy:{type:String,default:void 0},ariaDescribedBy:{type:String,default:void 0}},emits:{mousedown:null,add:null},inject:{kendoLocalizationService:{default:null}},mounted:function(){this._input=this.v3?this.inputRef:this.$refs.input},methods:{onMouseDown:function(t){this.$emit("mousedown",t)},onAdd:function(){var t=navigator.userAgent,e=this._input;e&&(e.files&&this.$emit("add",e.files),!t.match(eo)&&t.match(no)||(e.type="",e.type="file"))},actionElement:function(){return this._input}},setup:Qr?function(){var t=!!Qr,e=to(null);return{v3:t,inputRef:e}}:void 0,render:function(t){var e=Jr||t,n=this.$props,i=n.multiple,r=n.async,o=n.disabled,a=n.accept,s=n.hasFiles,l=n.ariaLabelledBy,u=n.ariaDescribedBy,c=(0,ht.GB)(this),p=s?Be:Fe,d=c.toLanguageString(p,Ke[p]),f=c.toLanguageString(Re,Ke[Re]);return e("input",{ref:h(this,"input"),id:this.id,attrs:this.v3?void 0:{id:this.id,autocomplete:"off",name:r.saveField,accept:a,type:"file",tabindex:-1,multiple:i,disabled:o,title:d,"aria-label":void 0!==l?void 0:f,"aria-labelledby":l,"aria-describedby":u},class:"k-hidden",autocomplete:"off",name:r.saveField,accept:a,type:"file",tabindex:-1,multiple:i,disabled:o,onChange:this.onAdd,on:this.v3?void 0:{change:this.onAdd,mousedown:this.onMouseDown},onMousedown:this.onMouseDown,title:d,"aria-label":void 0!==l?void 0:f,"aria-labelledby":l,"aria-describedby":u})}},ro=io,oo=r,ao=oo.h,so=oo.version&&"3"===oo.version[0],lo=oo.ref,uo=oo.inject,co={name:"KendoVueUploadAddButton",props:{addButtonIndex:Number,navigationIndex:Number,notFocusedIndex:Number,tabIndex:Number,async:Object,multiple:Boolean,disabled:Boolean,accept:String,id:String},inject:{kendoLocalizationService:{default:null}},emits:{add:null,click:null},setup:so?function(){var t=!!so,e=lo(null),n=lo(null),i=uo("kendoLocalizationService",{});return{v3:t,elementRef:e,uploadInputRef:n,kendoLocalizationService:i}}:void 0,created:function(){this.uploadInputId=s()},mounted:function(){this.element=this.v3?this.elementRef:this.$refs.element,this.uploadInput=this.v3?this.uploadInputRef:this.$refs.uploadInput},watch:{navigationIndex:function(t,e){this._prevNavigationIndex=e}},updated:function(){var t=this.$props,e=t.navigationIndex,n=t.addButtonIndex,i=t.notFocusedIndex;e!==this._prevNavigationIndex&&this._prevNavigationIndex!==i&&e===n&&this.element&&this.element.focus()},methods:{focus:function(){this.element&&this.element.focus()},onClick:function(){this.actionElement()&&this.actionElement().click(),this.$emit("click",this.$props.addButtonIndex)},onAdd:function(t){this.$emit("add",t)},onInputMouseDown:function(t){this.element&&(t.preventDefault(),this.element.focus())},actionElement:function(){if(this.uploadInput)return this.uploadInput.actionElement()}},render:function(t){var e=this,n=ao||t,i=this.$props,r=i.navigationIndex,o=i.addButtonIndex,s=i.tabIndex,l=i.id,u=i.async,c=i.multiple,p=i.disabled,d=i.accept,f=(0,ht.GB)(this),m=f.toLanguageString(Re,Ke[Re]),v=a("k-upload-button",r===o?"k-focus":"");return n("div",{class:"k-upload-button-wrap"},[n(wn,{id:l,attrs:this.v3?void 0:{id:l,role:"button",type:"button",disabled:p,ariaLabel:m,tabindex:s},ref:h(this,"element"),role:"button",type:"button",disabled:p,ariaLabel:m,class:v,tabindex:s,onClick:this.onClick,on:this.v3?void 0:{click:this.onClick}},this.v3?function(){return[m]}:[m]),n(ro,{id:this.uploadInputId,attrs:this.v3?void 0:{id:this.uploadInputId,async:u,multiple:c,disabled:p,accept:d},async:u,multiple:c,disabled:p,accept:d,onMousedown:this.onInputMouseDown,on:this.v3?void 0:{mousedown:this.onInputMouseDown,add:this.onAdd},onAdd:this.onAdd,ref:this.v3?function(t){e.uploadInputRef=t}:"uploadInput"})])}},ho=co,po=r,fo=po.h,mo=po.version&&"3"===po.version[0],vo=po.inject,go={props:{isUploading:Boolean,isUploaded:Boolean,isUploadFailed:Boolean},inject:{kendoLocalizationService:{default:null}},setup:mo?function(){var t=!!mo,e=vo("kendoLocalizationService",{});return{v3:t,kendoLocalizationService:e}}:void 0,render:function(t){var e=fo||t,n=this.$props,i=n.isUploading,r=n.isUploaded,o=n.isUploadFailed,s="",l=(0,ht.GB)(this);return i?s=l.toLanguageString(Ne,Ke[Ne]):(r||o)&&(s=l.toLanguageString(Te,Ke[Te])),e("div",{class:a("k-upload-status")},[e(at,{name:i||o||!r?!i&&o?"exclamation-circle":i?"upload":"":"check",attrs:this.v3?void 0:{name:i||o||!r?!i&&o?"exclamation-circle":i?"upload":"":"check",icon:i||o||!r?!i&&o?Nn.FlX:i?Nn.T3d:{}:Nn.oEo},icon:i||o||!r?!i&&o?Nn.FlX:i?Nn.T3d:{}:Nn.oEo}),s])}},yo=go,bo=r,xo=bo.h,wo=bo.version&&"3"===bo.version[0],ko=bo.ref,Co=bo.inject,_o=100,So={name:"KendoVueUploadDropZone",props:{addButtonIndex:Number,async:Object,multiple:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},showFileList:Boolean,showActionButtons:Boolean,actionsLayout:{type:String,default:function(){return"end"}},tabIndex:Number,accept:String,groupedFiles:{type:Object,default:function(){return{}}},navigationIndex:Number,notFocusedIndex:Number,list:[String,Function,Object],id:String,ariaLabelledBy:String,ariaDescribedBy:String,fileGroup:Object},emits:{add:null,click:null},inject:{kendoLocalizationService:{default:null}},data:function(){return{currentDocumentActive:!1,currentElementActive:!1}},created:function(){this.currentElementActive=!1},mounted:function(){this.uploadAddButton=this.v3?this.uploadAddButtonRef:this.$refs.uploadAddButton,document.addEventListener("dragenter",this.onDocumentDragEnter),document.addEventListener("dragover",this.onDocumentDragOver)},destroyed:wo?void 0:function(){document.removeEventListener("dragenter",this.onDocumentDragEnter),document.removeEventListener("dragover",this.onDocumentDragOver)},unmounted:function(){document.removeEventListener("dragenter",this.onDocumentDragEnter),document.removeEventListener("dragover",this.onDocumentDragOver)},setup:wo?function(){var t=!!wo,e=ko(null),n=Co("kendoLocalizationService",{});return{v3:t,uploadAddButtonRef:e,kendoLocalizationService:n}}:void 0,computed:{dropZoneClasses:function(){return{"k-dropzone":!0,"k-upload-dropzone":!0,"k-active":this.currentDocumentActive,"k-hover":this.currentElementActive}}},methods:{actionElement:function(){if(this.uploadAddButton)return this.uploadAddButton.uploadInput},focus:function(){if(this.uploadAddButton)return this.uploadAddButton.focus()},onDocumentDragEnter:function(){var t=this;if(!this.currentDocumentActive){this.currentDocumentActive=!0;var e=function(){t.isDragOver(t._lastDocumentDragOver)&&(t.currentDocumentActive=!1,clearInterval(t._documentInterval),t._documentInterval=null,t._lastDocumentDragOver=null)};this._documentInterval=setInterval(e,_o)}},onDocumentDragOver:function(){this._lastDocumentDragOver=new Date},onElementDragEnter:function(){var t=this;if(!this.currentElementActive){this.currentElementActive=!0;var e=function(){t.isDragOver(t._lastElementDragOver)&&(t.currentElementActive=!1,clearInterval(t._elementInterval),t._elementInterval=null,t._lastElementDragOver=null)};this._elementInterval=setInterval(e,_o)}},onElementDragOver:function(t){t.preventDefault(),this._lastElementDragOver=new Date},onDrop:function(t){t.preventDefault();var e=t.dataTransfer.files;e.length>0&&!this.$props.disabled&&this.$emit("add",e)},isDragOver:function(t){return(new Date).getTime()-(t||new Date).getTime()>_o},onClick:function(t){this.$emit("click",t)},onAdd:function(t){this.$emit("add",t)}},render:function(t){var e=xo||t,n=this.$props,i=n.multiple,r=n.disabled,o=n.tabIndex,s=n.fileGroup,l=n.accept,u=n.navigationIndex,c=n.notFocusedIndex,h=n.id,p=n.ariaLabelledBy,d=n.ariaDescribedBy,f=(0,ht.GB)(this),m=f.toLanguageString(Ie,Ke[Ie]),v=un.getFileStatus(s),g=v[0],y=v[1],b=v[2],x=v[3],w=a("k-dropzone-hint",{}),k=function(){var t=this;return e(ho,{id:h,attrs:this.v3?void 0:{id:h,ariaLabelledBy:p,ariaDescribedBy:d,accept:l,async:this.async,addButtonIndex:this.addButtonIndex,navigationIndex:u,notFocusedIndex:c,tabIndex:o,multiple:i,disabled:r},ariaLabelledBy:p,ariaDescribedBy:d,ref:this.v3?function(e){t.uploadAddButtonRef=e}:"uploadAddButton",accept:l,async:this.async,addButtonIndex:this.addButtonIndex,navigationIndex:u,notFocusedIndex:c,tabIndex:o,multiple:i,disabled:r,onClick:this.onClick,on:this.v3?void 0:{click:this.onClick,add:this.onAdd},onAdd:this.onAdd})};return e("div",{class:this.dropZoneClasses,onDrop:this.onDrop,on:this.v3?void 0:{drop:this.onDrop,dragenter:this.onElementDragEnter,dragover:this.onElementDragOver},onDragenter:this.onElementDragEnter,onDragover:this.onElementDragOver},[k.call(this),g||y||b||x?e(yo,{isUploading:g,attrs:this.v3?void 0:{isUploading:g,isUploaded:y,isUploadFailed:b},isUploaded:y,isUploadFailed:b}):e("div",{class:w},[m])])}},Mo=So,Ao=r,Io=Ao.h,To=Ao.version&&"3"===Ao.version[0],No=Ao.ref,$o=-1,Oo={name:"KendoVueUploadUI",props:{async:Object,className:String,multiple:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},showFileList:Boolean,showActionButtons:Boolean,actionsLayout:{type:String,default:function(){return"end"}},tabIndex:Number,accept:String,groupedFiles:{type:Object,default:function(){return{}}},navigationIndex:Number,notFocusedIndex:Number,list:[String,Function,Object],id:String,ariaLabelledBy:String,ariaDescribedBy:String},computed:{groupsCount:function(){return Object.keys(this.$props.groupedFiles).length},lastGroupIndex:function(){return this.groupsCount-1},addButtonIndex:function(){return $o},clearButtonIndex:function(){return this.lastGroupIndex+1},uploadButtonIndex:function(){return this.lastGroupIndex+2},isRtl:function(){return this._container&&"rtl"===getComputedStyle(this._container).direction||!1}},methods:{actionElement:function(){if(this.uploadDropZone)return this.uploadDropZone.actionElement()},focus:function(){if(this.uploadDropZone)return this.uploadDropZone.focus()},onAdd:function(t){this.$emit("add",t)},onRetry:function(t){this.$emit("retry",t)},onCancel:function(t){this.$emit("cancel",t)},onClear:function(){this.$emit("clear")},onUpload:function(){this.$emit("upload")},onRemove:function(t){this.$emit("remove",t)},onKeyDown:function(t){this.$emit("keydown",t,this.isRtl)},onFocus:function(t){this.$emit("focus",t)},onBlur:function(t){this.$emit("blur",t)},onClick:function(t){this.$emit("click",t)}},emits:{add:null,retry:null,cancel:null,clear:null,upload:null,remove:null,keydown:null,click:null,focus:null,blur:null},mounted:function(){this._container=this.v3?this.containerRef:this.$refs.container,this.uploadDropZone=this.v3?this.uploadDropZoneRef:this.$refs.uploadDropZone},setup:To?function(){var t=!!To,e=No(null),n=No(null);return{v3:t,containerRef:e,uploadDropZoneRef:n}}:void 0,render:function(t){var e=this,n=Io||t,i=this.$props,r=i.multiple,o=i.disabled,s=i.tabIndex,l=i.accept,u=i.showFileList,c=i.groupedFiles,p=i.navigationIndex,d=i.showActionButtons,f=i.actionsLayout,m=i.notFocusedIndex,v=i.list,g=i.id,y=i.ariaLabelledBy,b=i.ariaDescribedBy,x=i.async,w=a("k-upload","k-upload-async",this.$props.className,o?"k-disabled":"");return n("div",{ref:h(this,"container"),class:w,onKeydown:this.onKeyDown,on:this.v3?void 0:{keydown:this.onKeyDown,focus:this.onFocus,blur:this.onBlur},onFocus:this.onFocus,onBlur:this.onBlur},[n(Mo,{id:g,attrs:this.v3?void 0:{id:g,ariaLabelledBy:y,ariaDescribedBy:b,accept:l,async:x,addButtonIndex:this.addButtonIndex,navigationIndex:p,notFocusedIndex:m,tabIndex:s,multiple:r,fileGroup:c,disabled:o},ariaLabelledBy:y,ariaDescribedBy:b,ref:this.v3?function(t){e.uploadDropZoneRef=t}:"uploadDropZone",accept:l,async:x,addButtonIndex:this.addButtonIndex,navigationIndex:p,notFocusedIndex:m,tabIndex:s,multiple:r,onClick:this.onClick,on:this.v3?void 0:{click:this.onClick,add:this.onAdd},onAdd:this.onAdd,fileGroup:c,disabled:o}),u?n(Hr,{groupedFiles:c,attrs:this.v3?void 0:{groupedFiles:c,disabled:o,async:x,navigationIndex:p,list:v},disabled:o,async:x,navigationIndex:p,list:v,onCancel:this.onCancel,on:this.v3?void 0:{cancel:this.onCancel,remove:this.onRemove,retry:this.onRetry,click:this.onClick},onRemove:this.onRemove,onRetry:this.onRetry,onClick:this.onClick}):void 0,d?n(Yr,{disabled:o,attrs:this.v3?void 0:{disabled:o,navigationIndex:p,clearButtonIndex:this.clearButtonIndex,uploadButtonIndex:this.uploadButtonIndex,actionsLayout:f},navigationIndex:p,clearButtonIndex:this.clearButtonIndex,uploadButtonIndex:this.uploadButtonIndex,actionsLayout:f,onUpload:this.onUpload,on:this.v3?void 0:{upload:this.onUpload,clear:this.onClear,click:this.onClick},onClear:this.onClear,onClick:this.onClick}):void 0])}},Lo=Oo,Eo=r,Po=Eo.h,Do=Eo.version&&"3"===Eo.version[0],Ro=Eo.ref,Bo=-2,Fo=-1,zo={name:"KendoVueUploadNavigation",props:{async:Object,className:String,multiple:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},showFileList:Boolean,showActionButtons:Boolean,actionsLayout:{type:String,default:function(){return"end"}},tabIndex:Number,accept:String,groupedFiles:{type:Object,default:function(){return{}}},notFocusedIndex:Number,list:[String,Function,Object],id:String,ariaLabelledBy:String,ariaDescribedBy:String},emits:{add:null,cancel:null,clear:null,upload:null,retry:null,remove:null},data:function(){return{currentNavIndex:Bo}},updated:function(){},methods:{actionElement:function(){if(this._uploadUI)return this._uploadUI.actionElement()},navIndex:function(t){if(void 0===t)return this.currentNavIndex;var e=this.navIndex;this.currentNavIndex=t,t!==e&&this.$forceUpdate()},focus:function(){this._uploadUI&&this._uploadUI.focus()},onKeyDown:function(t,e){var n,i=this.navIndex(),r=Object.keys(this.$props.groupedFiles),o=r.length-1,a=this.$props.autoUpload||0===r.length?o:o+1,s=o+1,c=s+1,h=i===Bo?Fo:i,p=i;switch(t.keyCode){case l.up:t.preventDefault(),i>-1&&(p=h-1);break;case l.down:t.preventDefault(),i=0&&i<=o&&this.onRetry(r[i]);break;case l.space:t.preventDefault(),i!==Fo&&i!==Bo||this.actionElement()&&this.actionElement().$el.click();break;case l.tab:p=Bo;break;case l.delete:i>=0&&i<=o&&(p=h-1,this.onRemove(r[i]));break;case l.esc:i>=0&&i<=o&&(p=h-1,this.onCancel(r[i]));break;default:}this.navIndex(p)},onCancel:function(t){this.$emit("cancel",t)},onClear:function(){this.navIndex(Fo),this.$emit("clear")},onUpload:function(){this.navIndex(Fo),this.$emit("upload")},onRetry:function(t){this.$emit("retry",t)},onRemove:function(t){this.navIndex(this.navIndex()>Fo?this.navIndex()-1:Fo),this.$emit("remove",t)},onAdd:function(t){this.navIndex(Fo),this.$emit("add",t)},onClick:function(t){this.navIndex(t)},onFocus:function(){this._blurTimeout&&(clearTimeout(this._blurTimeout),this._blurTimeout=void 0)},onBlurTimeout:function(){this.navIndex(Bo),this._blurTimeout=void 0},onBlur:function(){clearTimeout(this._blurTimeout),this._blurTimeout=window.setTimeout(this.onBlurTimeout)}},mounted:function(){this._uploadUI=this.v3?this.uploadUIRef:this.$refs.uploadUI},setup:Do?function(){var t=!!Do,e=Ro(null);return{v3:t,uploadUIRef:e}}:void 0,render:function(t){var e=this,n=Po||t,i=this.$props,r=i.multiple,o=i.disabled,a=i.showFileList,s=i.showActionButtons,l=i.actionsLayout,u=i.tabIndex,c=i.accept,h=i.groupedFiles,p=i.list,d=i.id,f=i.ariaLabelledBy,m=i.ariaDescribedBy,v=i.async;return n(Lo,{ref:this.v3?function(t){e.uploadUIRef=t}:"uploadUI",class:this.$props.className,onKeydown:this.onKeyDown,on:this.v3?void 0:{keydown:this.onKeyDown,add:this.onAdd,clear:this.onClear,upload:this.onUpload,remove:this.onRemove,retry:this.onRetry,cancel:this.onCancel,click:this.onClick,focus:this.onFocus,blur:this.onBlur},navigationIndex:this.currentNavIndex,attrs:this.v3?void 0:{navigationIndex:this.currentNavIndex,notFocusedIndex:Bo,multiple:r,disabled:o,showFileList:a,showActionButtons:s,actionsLayout:l,tabIndex:u,accept:c,groupedFiles:h,list:p,id:d,ariaLabelledBy:f,ariaDescribedBy:m,async:v},notFocusedIndex:Bo,onAdd:this.onAdd,onClear:this.onClear,onUpload:this.onUpload,onRemove:this.onRemove,onRetry:this.onRetry,onCancel:this.onCancel,onClick:this.onClick,onFocus:this.onFocus,onBlur:this.onBlur,multiple:r,disabled:o,showFileList:a,showActionButtons:s,actionsLayout:l,tabIndex:u,accept:c,groupedFiles:h,list:p,id:d,ariaLabelledBy:f,ariaDescribedBy:m,async:v})}},jo=zo;function Vo(t,e){return function(){return t.apply(e,arguments)}}const{toString:Ho}=Object.prototype,{getPrototypeOf:Zo}=Object,Uo=(t=>e=>{const n=Ho.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Go=t=>(t=t.toLowerCase(),e=>Uo(e)===t),Ko=t=>e=>typeof e===t,{isArray:Wo}=Array,qo=Ko("undefined");function Yo(t){return null!==t&&!qo(t)&&null!==t.constructor&&!qo(t.constructor)&&ta(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const Xo=Go("ArrayBuffer");function Jo(t){let e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&Xo(t.buffer),e}const Qo=Ko("string"),ta=Ko("function"),ea=Ko("number"),na=t=>null!==t&&"object"===typeof t,ia=t=>!0===t||!1===t,ra=t=>{if("object"!==Uo(t))return!1;const e=Zo(t);return(null===e||e===Object.prototype||null===Object.getPrototypeOf(e))&&!(Symbol.toStringTag in t)&&!(Symbol.iterator in t)},oa=Go("Date"),aa=Go("File"),sa=Go("Blob"),la=Go("FileList"),ua=t=>na(t)&&ta(t.pipe),ca=t=>{let e;return t&&("function"===typeof FormData&&t instanceof FormData||ta(t.append)&&("formdata"===(e=Uo(t))||"object"===e&&ta(t.toString)&&"[object FormData]"===t.toString()))},ha=Go("URLSearchParams"),[pa,da,fa,ma]=["ReadableStream","Request","Response","Headers"].map(Go),va=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ga(t,e,{allOwnKeys:n=!1}={}){if(null===t||"undefined"===typeof t)return;let i,r;if("object"!==typeof t&&(t=[t]),Wo(t))for(i=0,r=t.length;i0)if(i=n[r],e===i.toLowerCase())return i;return null}const ba=(()=>"undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:global)(),xa=t=>!qo(t)&&t!==ba;function wa(){const{caseless:t}=xa(this)&&this||{},e={},n=(n,i)=>{const r=t&&ya(e,i)||i;ra(e[r])&&ra(n)?e[r]=wa(e[r],n):ra(n)?e[r]=wa({},n):Wo(n)?e[r]=n.slice():e[r]=n};for(let i=0,r=arguments.length;i(ga(e,((e,i)=>{n&&ta(e)?t[i]=Vo(e,n):t[i]=e}),{allOwnKeys:i}),t),Ca=t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),_a=(t,e,n,i)=>{t.prototype=Object.create(e.prototype,i),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},Sa=(t,e,n,i)=>{let r,o,a;const s={};if(e=e||{},null==t)return e;do{r=Object.getOwnPropertyNames(t),o=r.length;while(o-- >0)a=r[o],i&&!i(a,t,e)||s[a]||(e[a]=t[a],s[a]=!0);t=!1!==n&&Zo(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},Ma=(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const i=t.indexOf(e,n);return-1!==i&&i===n},Aa=t=>{if(!t)return null;if(Wo(t))return t;let e=t.length;if(!ea(e))return null;const n=new Array(e);while(e-- >0)n[e]=t[e];return n},Ia=(t=>e=>t&&e instanceof t)("undefined"!==typeof Uint8Array&&Zo(Uint8Array)),Ta=(t,e)=>{const n=t&&t[Symbol.iterator],i=n.call(t);let r;while((r=i.next())&&!r.done){const n=r.value;e.call(t,n[0],n[1])}},Na=(t,e)=>{let n;const i=[];while(null!==(n=t.exec(e)))i.push(n);return i},$a=Go("HTMLFormElement"),Oa=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),La=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),Ea=Go("RegExp"),Pa=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),i={};ga(n,((n,r)=>{let o;!1!==(o=e(n,r,t))&&(i[r]=o||n)})),Object.defineProperties(t,i)},Da=t=>{Pa(t,((e,n)=>{if(ta(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const i=t[n];ta(i)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},Ra=(t,e)=>{const n={},i=t=>{t.forEach((t=>{n[t]=!0}))};return Wo(t)?i(t):i(String(t).split(e)),n},Ba=()=>{},Fa=(t,e)=>null!=t&&Number.isFinite(t=+t)?t:e,za="abcdefghijklmnopqrstuvwxyz",ja="0123456789",Va={DIGIT:ja,ALPHA:za,ALPHA_DIGIT:za+za.toUpperCase()+ja},Ha=(t=16,e=Va.ALPHA_DIGIT)=>{let n="";const{length:i}=e;while(t--)n+=e[Math.random()*i|0];return n};function Za(t){return!!(t&&ta(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])}const Ua=t=>{const e=new Array(10),n=(t,i)=>{if(na(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[i]=t;const r=Wo(t)?[]:{};return ga(t,((t,e)=>{const o=n(t,i+1);!qo(o)&&(r[e]=o)})),e[i]=void 0,r}}return t};return n(t,0)},Ga=Go("AsyncFunction"),Ka=t=>t&&(na(t)||ta(t))&&ta(t.then)&&ta(t.catch),Wa=((t,e)=>t?setImmediate:e?((t,e)=>(ba.addEventListener("message",(({source:n,data:i})=>{n===ba&&i===t&&e.length&&e.shift()()}),!1),n=>{e.push(n),ba.postMessage(t,"*")}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))("function"===typeof setImmediate,ta(ba.postMessage)),qa="undefined"!==typeof queueMicrotask?queueMicrotask.bind(ba):"undefined"!==typeof process&&process.nextTick||Wa;var Ya={isArray:Wo,isArrayBuffer:Xo,isBuffer:Yo,isFormData:ca,isArrayBufferView:Jo,isString:Qo,isNumber:ea,isBoolean:ia,isObject:na,isPlainObject:ra,isReadableStream:pa,isRequest:da,isResponse:fa,isHeaders:ma,isUndefined:qo,isDate:oa,isFile:aa,isBlob:sa,isRegExp:Ea,isFunction:ta,isStream:ua,isURLSearchParams:ha,isTypedArray:Ia,isFileList:la,forEach:ga,merge:wa,extend:ka,trim:va,stripBOM:Ca,inherits:_a,toFlatObject:Sa,kindOf:Uo,kindOfTest:Go,endsWith:Ma,toArray:Aa,forEachEntry:Ta,matchAll:Na,isHTMLForm:$a,hasOwnProperty:La,hasOwnProp:La,reduceDescriptors:Pa,freezeMethods:Da,toObjectSet:Ra,toCamelCase:Oa,noop:Ba,toFiniteNumber:Fa,findKey:ya,global:ba,isContextDefined:xa,ALPHABET:Va,generateString:Ha,isSpecCompliantForm:Za,toJSONObject:Ua,isAsyncFn:Ga,isThenable:Ka,setImmediate:Wa,asap:qa};function Xa(t,e,n,i,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),i&&(this.request=i),r&&(this.response=r,this.status=r.status?r.status:null)}Ya.inherits(Xa,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Ya.toJSONObject(this.config),code:this.code,status:this.status}}});const Ja=Xa.prototype,Qa={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{Qa[t]={value:t}})),Object.defineProperties(Xa,Qa),Object.defineProperty(Ja,"isAxiosError",{value:!0}),Xa.from=(t,e,n,i,r,o)=>{const a=Object.create(Ja);return Ya.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),Xa.call(a,t.message,e,n,i,r),a.cause=t,a.name=t.name,o&&Object.assign(a,o),a};var ts=Xa,es=null;function ns(t){return Ya.isPlainObject(t)||Ya.isArray(t)}function is(t){return Ya.endsWith(t,"[]")?t.slice(0,-2):t}function rs(t,e,n){return t?t.concat(e).map((function(t,e){return t=is(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}function os(t){return Ya.isArray(t)&&!t.some(ns)}const as=Ya.toFlatObject(Ya,{},null,(function(t){return/^is[A-Z]/.test(t)}));function ss(t,e,n){if(!Ya.isObject(t))throw new TypeError("target must be an object");e=e||new(es||FormData),n=Ya.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!Ya.isUndefined(e[t])}));const i=n.metaTokens,r=n.visitor||c,o=n.dots,a=n.indexes,s=n.Blob||"undefined"!==typeof Blob&&Blob,l=s&&Ya.isSpecCompliantForm(e);if(!Ya.isFunction(r))throw new TypeError("visitor must be a function");function u(t){if(null===t)return"";if(Ya.isDate(t))return t.toISOString();if(!l&&Ya.isBlob(t))throw new ts("Blob is not supported. Use a Buffer instead.");return Ya.isArrayBuffer(t)||Ya.isTypedArray(t)?l&&"function"===typeof Blob?new Blob([t]):Buffer.from(t):t}function c(t,n,r){let s=t;if(t&&!r&&"object"===typeof t)if(Ya.endsWith(n,"{}"))n=i?n:n.slice(0,-2),t=JSON.stringify(t);else if(Ya.isArray(t)&&os(t)||(Ya.isFileList(t)||Ya.endsWith(n,"[]"))&&(s=Ya.toArray(t)))return n=is(n),s.forEach((function(t,i){!Ya.isUndefined(t)&&null!==t&&e.append(!0===a?rs([n],i,o):null===a?n:n+"[]",u(t))})),!1;return!!ns(t)||(e.append(rs(r,n,o),u(t)),!1)}const h=[],p=Object.assign(as,{defaultVisitor:c,convertValue:u,isVisitable:ns});function d(t,n){if(!Ya.isUndefined(t)){if(-1!==h.indexOf(t))throw Error("Circular reference detected in "+n.join("."));h.push(t),Ya.forEach(t,(function(t,i){const o=!(Ya.isUndefined(t)||null===t)&&r.call(e,t,Ya.isString(i)?i.trim():i,n,p);!0===o&&d(t,n?n.concat(i):[i])})),h.pop()}}if(!Ya.isObject(t))throw new TypeError("data must be an object");return d(t),e}var ls=ss;function us(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function cs(t,e){this._pairs=[],t&&ls(t,this,e)}const hs=cs.prototype;hs.append=function(t,e){this._pairs.push([t,e])},hs.toString=function(t){const e=t?function(e){return t.call(this,e,us)}:us;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};var ps=cs;function ds(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function fs(t,e,n){if(!e)return t;const i=n&&n.encode||ds,r=n&&n.serialize;let o;if(o=r?r(e,n):Ya.isURLSearchParams(e)?e.toString():new ps(e,n).toString(i),o){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+o}return t}class ms{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){Ya.forEach(this.handlers,(function(e){null!==e&&t(e)}))}}var vs=ms,gs={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ys="undefined"!==typeof URLSearchParams?URLSearchParams:ps,bs="undefined"!==typeof FormData?FormData:null,xs="undefined"!==typeof Blob?Blob:null,ws={isBrowser:!0,classes:{URLSearchParams:ys,FormData:bs,Blob:xs},protocols:["http","https","file","blob","url","data"]};const ks="undefined"!==typeof window&&"undefined"!==typeof document,Cs="object"===typeof navigator&&navigator||void 0,_s=ks&&(!Cs||["ReactNative","NativeScript","NS"].indexOf(Cs.product)<0),Ss=(()=>"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"===typeof self.importScripts)(),Ms=ks&&window.location.href||"http://localhost";var As={...i,...ws};function Is(t,e){return ls(t,new As.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,i){return As.isNode&&Ya.isBuffer(t)?(this.append(e,t.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},e))}function Ts(t){return Ya.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}function Ns(t){const e={},n=Object.keys(t);let i;const r=n.length;let o;for(i=0;i=t.length;if(o=!o&&Ya.isArray(i)?i.length:o,s)return Ya.hasOwnProp(i,o)?i[o]=[i[o],n]:i[o]=n,!a;i[o]&&Ya.isObject(i[o])||(i[o]=[]);const l=e(t,n,i[o],r);return l&&Ya.isArray(i[o])&&(i[o]=Ns(i[o])),!a}if(Ya.isFormData(t)&&Ya.isFunction(t.entries)){const n={};return Ya.forEachEntry(t,((t,i)=>{e(Ts(t),i,n,0)})),n}return null}var Os=$s;function Ls(t,e,n){if(Ya.isString(t))try{return(e||JSON.parse)(t),Ya.trim(t)}catch(i){if("SyntaxError"!==i.name)throw i}return(n||JSON.stringify)(t)}const Es={transitional:gs,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const n=e.getContentType()||"",i=n.indexOf("application/json")>-1,r=Ya.isObject(t);r&&Ya.isHTMLForm(t)&&(t=new FormData(t));const o=Ya.isFormData(t);if(o)return i?JSON.stringify(Os(t)):t;if(Ya.isArrayBuffer(t)||Ya.isBuffer(t)||Ya.isStream(t)||Ya.isFile(t)||Ya.isBlob(t)||Ya.isReadableStream(t))return t;if(Ya.isArrayBufferView(t))return t.buffer;if(Ya.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(r){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Is(t,this.formSerializer).toString();if((a=Ya.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return ls(a?{"files[]":t}:t,e&&new e,this.formSerializer)}}return r||i?(e.setContentType("application/json",!1),Ls(t)):t}],transformResponse:[function(t){const e=this.transitional||Es.transitional,n=e&&e.forcedJSONParsing,i="json"===this.responseType;if(Ya.isResponse(t)||Ya.isReadableStream(t))return t;if(t&&Ya.isString(t)&&(n&&!this.responseType||i)){const n=e&&e.silentJSONParsing,o=!n&&i;try{return JSON.parse(t)}catch(r){if(o){if("SyntaxError"===r.name)throw ts.from(r,ts.ERR_BAD_RESPONSE,this,null,this.response);throw r}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:As.classes.FormData,Blob:As.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Ya.forEach(["delete","get","head","post","put","patch"],(t=>{Es.headers[t]={}}));var Ps=Es;const Ds=Ya.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var Rs=t=>{const e={};let n,i,r;return t&&t.split("\n").forEach((function(t){r=t.indexOf(":"),n=t.substring(0,r).trim().toLowerCase(),i=t.substring(r+1).trim(),!n||e[n]&&Ds[n]||("set-cookie"===n?e[n]?e[n].push(i):e[n]=[i]:e[n]=e[n]?e[n]+", "+i:i)})),e};const Bs=Symbol("internals");function Fs(t){return t&&String(t).trim().toLowerCase()}function zs(t){return!1===t||null==t?t:Ya.isArray(t)?t.map(zs):String(t)}function js(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let i;while(i=n.exec(t))e[i[1]]=i[2];return e}const Vs=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Hs(t,e,n,i,r){return Ya.isFunction(i)?i.call(this,e,n):(r&&(e=n),Ya.isString(e)?Ya.isString(i)?-1!==e.indexOf(i):Ya.isRegExp(i)?i.test(e):void 0:void 0)}function Zs(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}function Us(t,e){const n=Ya.toCamelCase(" "+e);["get","set","has"].forEach((i=>{Object.defineProperty(t,i+n,{value:function(t,n,r){return this[i].call(this,e,t,n,r)},configurable:!0})}))}class Gs{constructor(t){t&&this.set(t)}set(t,e,n){const i=this;function r(t,e,n){const r=Fs(e);if(!r)throw new Error("header name must be a non-empty string");const o=Ya.findKey(i,r);(!o||void 0===i[o]||!0===n||void 0===n&&!1!==i[o])&&(i[o||e]=zs(t))}const o=(t,e)=>Ya.forEach(t,((t,n)=>r(t,n,e)));if(Ya.isPlainObject(t)||t instanceof this.constructor)o(t,e);else if(Ya.isString(t)&&(t=t.trim())&&!Vs(t))o(Rs(t),e);else if(Ya.isHeaders(t))for(const[a,s]of t.entries())r(s,a,n);else null!=t&&r(e,t,n);return this}get(t,e){if(t=Fs(t),t){const n=Ya.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return js(t);if(Ya.isFunction(e))return e.call(this,t,n);if(Ya.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=Fs(t),t){const n=Ya.findKey(this,t);return!(!n||void 0===this[n]||e&&!Hs(this,this[n],n,e))}return!1}delete(t,e){const n=this;let i=!1;function r(t){if(t=Fs(t),t){const r=Ya.findKey(n,t);!r||e&&!Hs(n,n[r],r,e)||(delete n[r],i=!0)}}return Ya.isArray(t)?t.forEach(r):r(t),i}clear(t){const e=Object.keys(this);let n=e.length,i=!1;while(n--){const r=e[n];t&&!Hs(this,this[r],r,t,!0)||(delete this[r],i=!0)}return i}normalize(t){const e=this,n={};return Ya.forEach(this,((i,r)=>{const o=Ya.findKey(n,r);if(o)return e[o]=zs(i),void delete e[r];const a=t?Zs(r):String(r).trim();a!==r&&delete e[r],e[a]=zs(i),n[a]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return Ya.forEach(this,((n,i)=>{null!=n&&!1!==n&&(e[i]=t&&Ya.isArray(n)?n.join(", "):n)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach((t=>n.set(t))),n}static accessor(t){const e=this[Bs]=this[Bs]={accessors:{}},n=e.accessors,i=this.prototype;function r(t){const e=Fs(t);n[e]||(Us(i,t),n[e]=!0)}return Ya.isArray(t)?t.forEach(r):r(t),this}}Gs.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Ya.reduceDescriptors(Gs.prototype,(({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}})),Ya.freezeMethods(Gs);var Ks=Gs;function Ws(t,e){const n=this||Ps,i=e||n,r=Ks.from(i.headers);let o=i.data;return Ya.forEach(t,(function(t){o=t.call(n,o,r.normalize(),e?e.status:void 0)})),r.normalize(),o}function qs(t){return!(!t||!t.__CANCEL__)}function Ys(t,e,n){ts.call(this,null==t?"canceled":t,ts.ERR_CANCELED,e,n),this.name="CanceledError"}Ya.inherits(Ys,ts,{__CANCEL__:!0});var Xs=Ys;function Js(t,e,n){const i=n.config.validateStatus;n.status&&i&&!i(n.status)?e(new ts("Request failed with status code "+n.status,[ts.ERR_BAD_REQUEST,ts.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}function Qs(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function tl(t,e){t=t||10;const n=new Array(t),i=new Array(t);let r,o=0,a=0;return e=void 0!==e?e:1e3,function(s){const l=Date.now(),u=i[a];r||(r=l),n[o]=s,i[o]=l;let c=a,h=0;while(c!==o)h+=n[c++],c%=t;if(o=(o+1)%t,o===a&&(a=(a+1)%t),l-r{r=o,n=null,i&&(clearTimeout(i),i=null),t.apply(null,e)},s=(...t)=>{const e=Date.now(),s=e-r;s>=o?a(t,e):(n=t,i||(i=setTimeout((()=>{i=null,a(n)}),o-s)))},l=()=>n&&a(n);return[s,l]}var il=nl;const rl=(t,e,n=3)=>{let i=0;const r=el(50,250);return il((n=>{const o=n.loaded,a=n.lengthComputable?n.total:void 0,s=o-i,l=r(s),u=o<=a;i=o;const c={loaded:o,total:a,progress:a?o/a:void 0,bytes:s,rate:l||void 0,estimated:l&&a&&u?(a-o)/l:void 0,event:n,lengthComputable:null!=a,[e?"download":"upload"]:!0};t(c)}),n)},ol=(t,e)=>{const n=null!=t;return[i=>e[0]({lengthComputable:n,total:t,loaded:i}),e[1]]},al=t=>(...e)=>Ya.asap((()=>t(...e)));var sl=As.hasStandardBrowserEnv?function(){const t=As.navigator&&/(msie|trident)/i.test(As.navigator.userAgent),e=document.createElement("a");let n;function i(n){let i=n;return t&&(e.setAttribute("href",i),i=e.href),e.setAttribute("href",i),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=i(window.location.href),function(t){const e=Ya.isString(t)?i(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return function(){return!0}}(),ll=As.hasStandardBrowserEnv?{write(t,e,n,i,r,o){const a=[t+"="+encodeURIComponent(e)];Ya.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),Ya.isString(i)&&a.push("path="+i),Ya.isString(r)&&a.push("domain="+r),!0===o&&a.push("secure"),document.cookie=a.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function ul(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function cl(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function hl(t,e){return t&&!ul(e)?cl(t,e):e}const pl=t=>t instanceof Ks?{...t}:t;function dl(t,e){e=e||{};const n={};function i(t,e,n){return Ya.isPlainObject(t)&&Ya.isPlainObject(e)?Ya.merge.call({caseless:n},t,e):Ya.isPlainObject(e)?Ya.merge({},e):Ya.isArray(e)?e.slice():e}function r(t,e,n){return Ya.isUndefined(e)?Ya.isUndefined(t)?void 0:i(void 0,t,n):i(t,e,n)}function o(t,e){if(!Ya.isUndefined(e))return i(void 0,e)}function a(t,e){return Ya.isUndefined(e)?Ya.isUndefined(t)?void 0:i(void 0,t):i(void 0,e)}function s(n,r,o){return o in e?i(n,r):o in t?i(void 0,n):void 0}const l={url:o,method:o,data:o,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e)=>r(pl(t),pl(e),!0)};return Ya.forEach(Object.keys(Object.assign({},t,e)),(function(i){const o=l[i]||r,a=o(t[i],e[i],i);Ya.isUndefined(a)&&o!==s||(n[i]=a)})),n}var fl=t=>{const e=dl({},t);let n,{data:i,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:a,headers:s,auth:l}=e;if(e.headers=s=Ks.from(s),e.url=fs(hl(e.baseURL,e.url),t.params,t.paramsSerializer),l&&s.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):""))),Ya.isFormData(i))if(As.hasStandardBrowserEnv||As.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(!1!==(n=s.getContentType())){const[t,...e]=n?n.split(";").map((t=>t.trim())).filter(Boolean):[];s.setContentType([t||"multipart/form-data",...e].join("; "))}if(As.hasStandardBrowserEnv&&(r&&Ya.isFunction(r)&&(r=r(e)),r||!1!==r&&sl(e.url))){const t=o&&a&&ll.read(a);t&&s.set(o,t)}return e};const ml="undefined"!==typeof XMLHttpRequest;var vl=ml&&function(t){return new Promise((function(e,n){const i=fl(t);let r=i.data;const o=Ks.from(i.headers).normalize();let a,s,l,u,c,{responseType:h,onUploadProgress:p,onDownloadProgress:d}=i;function f(){u&&u(),c&&c(),i.cancelToken&&i.cancelToken.unsubscribe(a),i.signal&&i.signal.removeEventListener("abort",a)}let m=new XMLHttpRequest;function v(){if(!m)return;const i=Ks.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),r=h&&"text"!==h&&"json"!==h?m.response:m.responseText,o={data:r,status:m.status,statusText:m.statusText,headers:i,config:t,request:m};Js((function(t){e(t),f()}),(function(t){n(t),f()}),o),m=null}m.open(i.method.toUpperCase(),i.url,!0),m.timeout=i.timeout,"onloadend"in m?m.onloadend=v:m.onreadystatechange=function(){m&&4===m.readyState&&(0!==m.status||m.responseURL&&0===m.responseURL.indexOf("file:"))&&setTimeout(v)},m.onabort=function(){m&&(n(new ts("Request aborted",ts.ECONNABORTED,t,m)),m=null)},m.onerror=function(){n(new ts("Network Error",ts.ERR_NETWORK,t,m)),m=null},m.ontimeout=function(){let e=i.timeout?"timeout of "+i.timeout+"ms exceeded":"timeout exceeded";const r=i.transitional||gs;i.timeoutErrorMessage&&(e=i.timeoutErrorMessage),n(new ts(e,r.clarifyTimeoutError?ts.ETIMEDOUT:ts.ECONNABORTED,t,m)),m=null},void 0===r&&o.setContentType(null),"setRequestHeader"in m&&Ya.forEach(o.toJSON(),(function(t,e){m.setRequestHeader(e,t)})),Ya.isUndefined(i.withCredentials)||(m.withCredentials=!!i.withCredentials),h&&"json"!==h&&(m.responseType=i.responseType),d&&([l,c]=rl(d,!0),m.addEventListener("progress",l)),p&&m.upload&&([s,u]=rl(p),m.upload.addEventListener("progress",s),m.upload.addEventListener("loadend",u)),(i.cancelToken||i.signal)&&(a=e=>{m&&(n(!e||e.type?new Xs(null,t,m):e),m.abort(),m=null)},i.cancelToken&&i.cancelToken.subscribe(a),i.signal&&(i.signal.aborted?a():i.signal.addEventListener("abort",a)));const g=Qs(i.url);g&&-1===As.protocols.indexOf(g)?n(new ts("Unsupported protocol "+g+":",ts.ERR_BAD_REQUEST,t)):m.send(r||null)}))};const gl=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let n,i=new AbortController;const r=function(t){if(!n){n=!0,a();const e=t instanceof Error?t:this.reason;i.abort(e instanceof ts?e:new Xs(e instanceof Error?e.message:e))}};let o=e&&setTimeout((()=>{o=null,r(new ts(`timeout ${e} of ms exceeded`,ts.ETIMEDOUT))}),e);const a=()=>{t&&(o&&clearTimeout(o),o=null,t.forEach((t=>{t.unsubscribe?t.unsubscribe(r):t.removeEventListener("abort",r)})),t=null)};t.forEach((t=>t.addEventListener("abort",r)));const{signal:s}=i;return s.unsubscribe=()=>Ya.asap(a),s}};var yl=gl;const bl=function*(t,e){let n=t.byteLength;if(!e||n{const r=xl(t,e);let o,a=0,s=t=>{o||(o=!0,i&&i(t))};return new ReadableStream({async pull(t){try{const{done:e,value:i}=await r.next();if(e)return s(),void t.close();let o=i.byteLength;if(n){let t=a+=o;n(t)}t.enqueue(new Uint8Array(i))}catch(e){throw s(e),e}},cancel(t){return s(t),r.return()}},{highWaterMark:2})},Cl="function"===typeof fetch&&"function"===typeof Request&&"function"===typeof Response,_l=Cl&&"function"===typeof ReadableStream,Sl=Cl&&("function"===typeof TextEncoder?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),Ml=(t,...e)=>{try{return!!t(...e)}catch(n){return!1}},Al=_l&&Ml((()=>{let t=!1;const e=new Request(As.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e})),Il=65536,Tl=_l&&Ml((()=>Ya.isReadableStream(new Response("").body))),Nl={stream:Tl&&(t=>t.body)};Cl&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach((e=>{!Nl[e]&&(Nl[e]=Ya.isFunction(t[e])?t=>t[e]():(t,n)=>{throw new ts(`Response type '${e}' is not supported`,ts.ERR_NOT_SUPPORT,n)})}))})(new Response);const $l=async t=>{if(null==t)return 0;if(Ya.isBlob(t))return t.size;if(Ya.isSpecCompliantForm(t)){const e=new Request(As.origin,{method:"POST",body:t});return(await e.arrayBuffer()).byteLength}return Ya.isArrayBufferView(t)||Ya.isArrayBuffer(t)?t.byteLength:(Ya.isURLSearchParams(t)&&(t+=""),Ya.isString(t)?(await Sl(t)).byteLength:void 0)},Ol=async(t,e)=>{const n=Ya.toFiniteNumber(t.getContentLength());return null==n?$l(e):n};var Ll=Cl&&(async t=>{let{url:e,method:n,data:i,signal:r,cancelToken:o,timeout:a,onDownloadProgress:s,onUploadProgress:l,responseType:u,headers:c,withCredentials:h="same-origin",fetchOptions:p}=fl(t);u=u?(u+"").toLowerCase():"text";let d,f=yl([r,o&&o.toAbortSignal()],a);const m=f&&f.unsubscribe&&(()=>{f.unsubscribe()});let v;try{if(l&&Al&&"get"!==n&&"head"!==n&&0!==(v=await Ol(c,i))){let t,n=new Request(e,{method:"POST",body:i,duplex:"half"});if(Ya.isFormData(i)&&(t=n.headers.get("content-type"))&&c.setContentType(t),n.body){const[t,e]=ol(v,rl(al(l)));i=kl(n.body,Il,t,e)}}Ya.isString(h)||(h=h?"include":"omit");const r="credentials"in Request.prototype;d=new Request(e,{...p,signal:f,method:n.toUpperCase(),headers:c.normalize().toJSON(),body:i,duplex:"half",credentials:r?h:void 0});let o=await fetch(d);const a=Tl&&("stream"===u||"response"===u);if(Tl&&(s||a&&m)){const t={};["status","statusText","headers"].forEach((e=>{t[e]=o[e]}));const e=Ya.toFiniteNumber(o.headers.get("content-length")),[n,i]=s&&ol(e,rl(al(s),!0))||[];o=new Response(kl(o.body,Il,n,(()=>{i&&i(),m&&m()})),t)}u=u||"text";let g=await Nl[Ya.findKey(Nl,u)||"text"](o,t);return!a&&m&&m(),await new Promise(((e,n)=>{Js(e,n,{data:g,headers:Ks.from(o.headers),status:o.status,statusText:o.statusText,config:t,request:d})}))}catch(g){if(m&&m(),g&&"TypeError"===g.name&&/fetch/i.test(g.message))throw Object.assign(new ts("Network Error",ts.ERR_NETWORK,t,d),{cause:g.cause||g});throw ts.from(g,g&&g.code,t,d)}});const El={http:es,xhr:vl,fetch:Ll};Ya.forEach(El,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(n){}Object.defineProperty(t,"adapterName",{value:e})}}));const Pl=t=>`- ${t}`,Dl=t=>Ya.isFunction(t)||null===t||!1===t;var Rl={getAdapter:t=>{t=Ya.isArray(t)?t:[t];const{length:e}=t;let n,i;const r={};for(let o=0;o`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));let n=e?t.length>1?"since :\n"+t.map(Pl).join("\n"):" "+Pl(t[0]):"as no adapter specified";throw new ts("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return i},adapters:El};function Bl(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Xs(null,t)}function Fl(t){Bl(t),t.headers=Ks.from(t.headers),t.data=Ws.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1);const e=Rl.getAdapter(t.adapter||Ps.adapter);return e(t).then((function(e){return Bl(t),e.data=Ws.call(t,t.transformResponse,e),e.headers=Ks.from(e.headers),e}),(function(e){return qs(e)||(Bl(t),e&&e.response&&(e.response.data=Ws.call(t,t.transformResponse,e.response),e.response.headers=Ks.from(e.response.headers))),Promise.reject(e)}))}const zl="1.7.7",jl={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{jl[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const Vl={};function Hl(t,e,n){if("object"!==typeof t)throw new ts("options must be an object",ts.ERR_BAD_OPTION_VALUE);const i=Object.keys(t);let r=i.length;while(r-- >0){const o=i[r],a=e[o];if(a){const e=t[o],n=void 0===e||a(e,o,t);if(!0!==n)throw new ts("option "+o+" must be "+n,ts.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new ts("Unknown option "+o,ts.ERR_BAD_OPTION)}}jl.transitional=function(t,e,n){function i(t,e){return"[Axios v"+zl+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,r,o)=>{if(!1===t)throw new ts(i(r," has been removed"+(e?" in "+e:"")),ts.ERR_DEPRECATED);return e&&!Vl[r]&&(Vl[r]=!0,console.warn(i(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,o)}};var Zl={assertOptions:Hl,validators:jl};const Ul=Zl.validators;class Gl{constructor(t){this.defaults=t,this.interceptors={request:new vs,response:new vs}}async request(t,e){try{return await this._request(t,e)}catch(n){if(n instanceof Error){let t;Error.captureStackTrace?Error.captureStackTrace(t={}):t=new Error;const e=t.stack?t.stack.replace(/^.+\n/,""):"";try{n.stack?e&&!String(n.stack).endsWith(e.replace(/^.+\n.+\n/,""))&&(n.stack+="\n"+e):n.stack=e}catch(i){}}throw n}}_request(t,e){"string"===typeof t?(e=e||{},e.url=t):e=t||{},e=dl(this.defaults,e);const{transitional:n,paramsSerializer:i,headers:r}=e;void 0!==n&&Zl.assertOptions(n,{silentJSONParsing:Ul.transitional(Ul.boolean),forcedJSONParsing:Ul.transitional(Ul.boolean),clarifyTimeoutError:Ul.transitional(Ul.boolean)},!1),null!=i&&(Ya.isFunction(i)?e.paramsSerializer={serialize:i}:Zl.assertOptions(i,{encode:Ul.function,serialize:Ul.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let o=r&&Ya.merge(r.common,r[e.method]);r&&Ya.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete r[t]})),e.headers=Ks.concat(o,r);const a=[];let s=!0;this.interceptors.request.forEach((function(t){"function"===typeof t.runWhen&&!1===t.runWhen(e)||(s=s&&t.synchronous,a.unshift(t.fulfilled,t.rejected))}));const l=[];let u;this.interceptors.response.forEach((function(t){l.push(t.fulfilled,t.rejected)}));let c,h=0;if(!s){const t=[Fl.bind(this),void 0];t.unshift.apply(t,a),t.push.apply(t,l),c=t.length,u=Promise.resolve(e);while(h{if(!n._listeners)return;let e=n._listeners.length;while(e-- >0)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const i=new Promise((t=>{n.subscribe(t),e=t})).then(t);return i.cancel=function(){n.unsubscribe(e)},i},t((function(t,i,r){n.reason||(n.reason=new Xs(t,i,r),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}toAbortSignal(){const t=new AbortController,e=e=>{t.abort(e)};return this.subscribe(e),t.signal.unsubscribe=()=>this.unsubscribe(e),t.signal}static source(){let t;const e=new Wl((function(e){t=e}));return{token:e,cancel:t}}}var ql=Wl;function Yl(t){return function(e){return t.apply(null,e)}}function Xl(t){return Ya.isObject(t)&&!0===t.isAxiosError}const Jl={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Jl).forEach((([t,e])=>{Jl[e]=t}));var Ql=Jl;function tu(t){const e=new Kl(t),n=Vo(Kl.prototype.request,e);return Ya.extend(n,Kl.prototype,e,{allOwnKeys:!0}),Ya.extend(n,e,null,{allOwnKeys:!0}),n.create=function(e){return tu(dl(t,e))},n}const eu=tu(Ps);eu.Axios=Kl,eu.CanceledError=Xs,eu.CancelToken=ql,eu.isCancel=qs,eu.VERSION=zl,eu.toFormData=ls,eu.AxiosError=ts,eu.Cancel=eu.CanceledError,eu.all=function(t){return Promise.all(t)},eu.spread=Yl,eu.isAxiosError=Xl,eu.mergeConfig=dl,eu.AxiosHeaders=Ks,eu.formToJSON=t=>Os(Ya.isHTMLForm(t)?new FormData(t):t),eu.getAdapter=Rl.getAdapter,eu.HttpStatusCode=Ql,eu.default=eu;var nu=eu,iu=function(){return iu=Object.assign||function(t){for(var e,n=1,i=arguments.length;n0)&&(i=!1)})),i&&(e[n]=t)})),e},uu=function(t,e){hu(t,(function(t){t.forEach((function(t){t.status=e}))}))},cu=function(t){var e=[];return hu(t,(function(t){e.push.apply(e,t)})),e},hu=function(t,e){Object.keys(t).forEach((function(n){e(t[n],n)}))},pu={copyState:ru,addMany:au,add:ou,groupFilesByUid:su,filesForUpload:lu,setFilesStatus:uu,flatFileGroup:cu,groupForEach:hu},du=function(){return du=Object.assign||function(t){for(var e,n=1,i=arguments.length;n0&&e.indexOf((t.extension||"").toLowerCase())<0&&(t.validationErrors=t.validationErrors||[],t.validationErrors.indexOf(_u)<0&&t.validationErrors.push(_u))},Mu=function(t,e,n){0!==e&&(t.size||0)n&&(t.validationErrors=t.validationErrors||[],t.validationErrors.indexOf(ku)<0&&t.validationErrors.push(ku))},Au=function(t){var e=t.map((function(t){var e="."===t.substring(0,1)?t:"."+t;return e.toLowerCase()}));return e},Iu=function(t,e,n){var i,r=Au(e.allowedExtensions||[]),o=e.maxFileSize||0,a=e.minFileSize||0;for(i=0;i-1){var s=(e={},e[t]=r,e);pu.setFilesStatus(s,j.Removing),this.removeFiles(s);var l=function(){var t={target:n,newState:i,affectedFiles:r};n.$emit("statuschange",t)};this.isControlled||(this.currentFiles=i),l()}else{var u=function(){var t={target:n,newState:o,affectedFiles:r};n.$emit("remove",t)};this.isControlled||(this.currentFiles=o),u()}},onRemoveSuccess:function(t,e){var n=this,i=this.fileStateCopy,r=i.filter((function(e){return e.uid===t})),o=i.filter((function(e){return e.uid!==t})),a=function(){var t={target:n,newState:o,affectedFiles:r,response:e?wu.convertAxiosResponse(e):void 0};n.$emit("remove",t)};this.isControlled||(this.currentFiles=o),a()},onRemoveError:function(t,e){var n=this,i=this.fileStateCopy,r=i.filter((function(e){return e.uid===t}));r.forEach((function(t){t.status=j.RemoveFailed}));var o=function(){var t={target:n,newState:i,affectedFiles:r,response:e?wu.convertAxiosResponse(e):void 0};n.$emit("statuschange",t)};this.isControlled||(this.currentFiles=i),o()},onRetry:function(t){var e=this,n=this.fileStateCopy,i=pu.groupFilesByUid(n.filter((function(e){return e.uid===t})));pu.setFilesStatus(i,j.Uploading),this.uploadFiles(i);var r=function(){var t={target:e,newState:n,affectedFiles:pu.flatFileGroup(i)};e.$emit("statuschange",t)};this.isControlled||(this.currentFiles=n),r()},onCancel:function(t){var e=this,n=this.fileStateCopy,i=n.filter((function(e){return e.uid!==t})),r=n.filter((function(e){return e.uid===t}));this._httpSubscriptions[t]&&(this._httpSubscriptions[t].cancel(),delete this._httpSubscriptions[t]);var o={target:this,uid:t};this.$emit("cancel",o);var a=function(){var t={target:e,newState:i,affectedFiles:r};e.$emit("remove",t)};this.isControlled||(this.currentFiles=n),a()},onClear:function(){var t=this;if(this.computedFiles.length){Object.keys(this._httpSubscriptions).forEach((function(e){t._httpSubscriptions[e].cancel()})),this._httpSubscriptions={};var e=function(){var e={target:t,newState:[],affectedFiles:t.fileStateCopy};t.$emit("remove",e)};this.isControlled||(this.currentFiles=[]),e()}}},setup:Eu?function(){var t=!!Eu;return{v3:t}}:void 0,render:function(t){var e=this,n=Lu||t,i=this.$props,r=i.showFileList,o=i.autoUpload,a=i.showActionButtons,s=i.actionsLayout,l=i.tabIndex,u=i.disabled,c=(i.batch,i.withCredentials,i.saveField,i.saveHeaders,i.saveMethod,i.saveUrl,i.responseType,i.removeField,i.removeHeaders,i.removeMethod,i.removeUrl,i.multiple),h=i.accept,p=i.restrictions,d=i.files,f=i.defaultFiles,m=I.call(this,this.$props.list,_.call(this)),v=pu.groupFilesByUid(this.computedFiles),g=pu.filesForUpload(v);return n(jo,{groupedFiles:v,attrs:this.v3?void 0:{groupedFiles:v,className:this.$props.className,showFileList:r&&!!Object.keys(v).length,showActionButtons:a&&!o&&!!Object.keys(g).length,actionsLayout:s,disabled:u,tabIndex:L(l,u),multiple:c,accept:h,list:m,restrictions:p,files:d,defaultFiles:f,async:this.computedAsync},className:this.$props.className,showFileList:r&&!!Object.keys(v).length,showActionButtons:a&&!o&&!!Object.keys(g).length,actionsLayout:s,disabled:u,onAdd:this.onAdd,on:this.v3?void 0:{add:this.onAdd,remove:this.onRemove,clear:this.onClear,upload:this.onUpload,retry:this.onRetry,cancel:this.onCancel},onRemove:this.onRemove,onClear:this.onClear,onUpload:this.onUpload,onRetry:this.onRetry,onCancel:this.onCancel,tabIndex:L(l,u),ref:this.v3?function(t){e.uploadNavigationRef=t}:"uploadNavigation",multiple:c,accept:h,list:m,restrictions:p,files:d,defaultFiles:f,async:this.computedAsync})}}),Du=Pu,Ru=r,Bu=Ru.h,Fu=Ru.version&&"3"===Ru.version[0],zu=Ru.ref,ju=Ru.inject,Vu=100;Boolean},461:function(t,e,n){"use strict";n.d(e,{EL:function(){return ke},Gy:function(){return Ti},Kc:function(){return Ni}});var i=0,r=1,o=2,a=3,s=4,l=5,u=0,c=1,h=2,p=-2,d=-3,f=-5,m=-1,v=1,g=2,y=3,b=4,x=0,w=0,k=1,C=2,_=8;function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function M(t){var e=Array.prototype.slice.call(arguments,1);while(e.length){var n=e.shift();if(n){if("object"!==typeof n)throw new TypeError(n+"must be non-object");for(var i in n)S(n,i)&&(t[i]=n[i])}}return t}function A(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)}var I={arraySet:function(t,e,n,i,r){if(e.subarray&&t.subarray)t.set(e.subarray(n,n+i),r);else for(var o=0;o=252?6:n>=248?5:n>=240?4:n>=224?3:n>=192?2:1;return e[254]=e[254]=1,B=function(t){return e[t]},e[t]};function F(t){var e,n,i,r,o,a=t.length,s=0;for(r=0;r>>6,e[o++]=128|63&n):n<65536?(e[o++]=224|n>>>12,e[o++]=128|n>>>6&63,e[o++]=128|63&n):(e[o++]=240|n>>>18,e[o++]=128|n>>>12&63,e[o++]=128|n>>>6&63,e[o++]=128|63&n);return e}function z(t,e){if(e<65534&&(t.subarray&&R()||!t.subarray&&D()))return String.fromCharCode.apply(null,A(t,e));for(var n="",i=0;i4)s[i++]=65533,n+=o-1;else{r&=2===o?31:3===o?15:7;while(o>1&&n1?s[i++]=65533:r<65536?s[i++]=r:(r-=65536,s[i++]=55296|r>>10&1023,s[i++]=56320|1023&r)}return z(s,i)}function Z(t,e){var n;e=e||t.length,e>t.length&&(e=t.length),n=e-1;while(n>=0&&128===(192&t[n]))n--;return n<0||0===n?e:n+B(t[n])>e?n:e}function U(t,e,n,i){var r=65535&t,o=t>>>16&65535,a=0;while(0!==n){a=n>2e3?2e3:n,n-=a;do{r=r+e[i++]|0,o=o+r|0}while(--a);r%=65521,o%=65521}return r|o<<16}function G(){for(var t,e=[],n=0;n<256;n++){t=n;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e}var K=function(){var t=G();return K=function(){return t},t};function W(t,e,n,i){var r=K(),o=i+n;t^=-1;for(var a=i;a>>8^r[255&(t^e[a])];return~t}var q=30,Y=12;function X(t,e){var n,i,r,o,a,s,l,u,c,h,p,d,f,m,v,g,y,b,x,w,k,C,_,S,M;n=t.state,i=t.next_in,S=t.input,r=i+(t.avail_in-5),o=t.next_out,M=t.output,a=o-(e-t.avail_out),s=o+(t.avail_out-257),l=n.dmax,u=n.wsize,c=n.whave,h=n.wnext,p=n.window,d=n.hold,f=n.bits,m=n.lencode,v=n.distcode,g=(1<>>24,d>>>=x,f-=x,x=b>>>16&255,0===x)M[o++]=65535&b;else{if(!(16&x)){if(0===(64&x)){b=m[(65535&b)+(d&(1<>>=x,f-=x),f<15&&(d+=S[i++]<>>24,d>>>=x,f-=x,x=b>>>16&255,!(16&x)){if(0===(64&x)){b=v[(65535&b)+(d&(1<l){t.msg="invalid distance too far back",n.mode=q;break t}if(d>>>=x,f-=x,x=o-a,k>x){if(x=k-x,x>c&&n.sane){t.msg="invalid distance too far back",n.mode=q;break t}if(C=0,_=p,0===h){if(C+=u-x,x2)M[o++]=_[C++],M[o++]=_[C++],M[o++]=_[C++],w-=3;w&&(M[o++]=_[C++],w>1&&(M[o++]=_[C++]))}else{C=o-k;do{M[o++]=M[C++],M[o++]=M[C++],M[o++]=M[C++],w-=3}while(w>2);w&&(M[o++]=M[C++],w>1&&(M[o++]=M[C++]))}break}}break}}while(i>3,i-=w,f-=w<<3,d&=(1<=1;w--)if(0!==N[w])break;if(k>w&&(k=w),0===w)return r[o++]=20971520,r[o++]=20971520,s.bits=1,0;for(x=1;x0&&(t===et||1!==w))return-1;for($[1]=0,y=1;yQ||t===it&&M>tt)return 1;for(;;){f=y-_,a[b]d?(m=O[L+a[b]],v=I[T+a[b]]):(m=96,v=0),l=1<>_)+u]=f<<24|m<<16|v}while(0!==u);l=1<>=1;if(0!==l?(A&=l-1,A+=l):A=0,b++,0===--N[y]){if(y===w)break;y=e[n+a[b]]}if(y>k&&(A&h)!==c){0===_&&(_=k),p+=x,C=y-_,S=1<Q||t===it&&M>tt)return 1;c=A&h,r[c]=k<<24|C<<16|p-o}}return 0!==A&&(r[p+A]=y-_<<24|64<<16),s.bits=k,0}var ut=0,ct=1,ht=2,pt=4,dt=5,ft=6,mt=0,vt=1,gt=2,yt=-2,bt=-3,xt=-4,wt=-5,kt=8,Ct=1,_t=2,St=3,Mt=4,At=5,It=6,Tt=7,Nt=8,$t=9,Ot=10,Lt=11,Et=12,Pt=13,Dt=14,Rt=15,Bt=16,Ft=17,zt=18,jt=19,Vt=20,Ht=21,Zt=22,Ut=23,Gt=24,Kt=25,Wt=26,qt=27,Yt=28,Xt=29,Jt=30,Qt=31,te=32,ee=852,ne=592;function ie(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function re(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=E(320),this.work=E(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function oe(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=Ct,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=P(ee),e.distcode=e.distdyn=P(ne),e.sane=1,e.back=-1,mt):yt}function ae(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,oe(t)):yt}function se(t,e){var n,i;return t&&t.state?(i=t.state,e<0?(n=0,e=-e):(n=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?yt:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=n,i.wbits=e,ae(t))):yt}function le(t,e){var n,i;return t?(i=new re,t.state=i,i.window=null,n=se(t,e),n!==mt&&(t.state=null),n):yt}var ue,ce,he=!0;function pe(t){if(he){var e;ue=P(512),ce=P(32),e=0;while(e<144)t.lens[e++]=8;while(e<256)t.lens[e++]=9;while(e<280)t.lens[e++]=7;while(e<288)t.lens[e++]=8;lt(ct,t.lens,0,288,ue,0,t.work,{bits:9}),e=0;while(e<32)t.lens[e++]=5;lt(ht,t.lens,0,32,ce,0,t.work,{bits:5}),he=!1}t.lencode=ue,t.lenbits=9,t.distcode=ce,t.distbits=5}function de(t,e,n,i){var r,o=t.state;return null===o.window&&(o.wsize=1<=o.wsize?($(o.window,e,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(r=o.wsize-o.wnext,r>i&&(r=i),$(o.window,e,n-i,r,o.wnext),i-=r,i?($(o.window,e,n-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=r,o.wnext===o.wsize&&(o.wnext=0),o.whave>>8&255,n.check=W(n.check,A,2,0),u=0,c=0,n.mode=_t;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",n.mode=Jt;break}if((15&u)!==kt){t.msg="unknown compression method",n.mode=Jt;break}if(u>>>=4,c-=4,k=8+(15&u),0===n.wbits)n.wbits=k;else if(k>n.wbits){t.msg="invalid window size",n.mode=Jt;break}n.dmax=1<>8&1),512&n.flags&&(A[0]=255&u,A[1]=u>>>8&255,n.check=W(n.check,A,2,0)),u=0,c=0,n.mode=St;case St:while(c<32){if(0===s)break t;s--,u+=i[o++]<>>8&255,A[2]=u>>>16&255,A[3]=u>>>24&255,n.check=W(n.check,A,4,0)),u=0,c=0,n.mode=Mt;case Mt:while(c<16){if(0===s)break t;s--,u+=i[o++]<>8),512&n.flags&&(A[0]=255&u,A[1]=u>>>8&255,n.check=W(n.check,A,2,0)),u=0,c=0,n.mode=At;case At:if(1024&n.flags){while(c<16){if(0===s)break t;s--,u+=i[o++]<>>8&255,n.check=W(n.check,A,2,0)),u=0,c=0}else n.head&&(n.head.extra=null);n.mode=It;case It:if(1024&n.flags&&(d=n.length,d>s&&(d=s),d&&(n.head&&(k=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),$(n.head.extra,i,o,d,k)),512&n.flags&&(n.check=W(n.check,i,d,o)),s-=d,o+=d,n.length-=d),n.length))break t;n.length=0,n.mode=Tt;case Tt:if(2048&n.flags){if(0===s)break t;d=0;do{k=i[o+d++],n.head&&k&&n.length<65536&&(n.head.name+=String.fromCharCode(k))}while(k&&d>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=Et;break;case Ot:while(c<32){if(0===s)break t;s--,u+=i[o++]<>>=7&c,c-=7&c,n.mode=qt;break}while(c<3){if(0===s)break t;s--,u+=i[o++]<>>=1,c-=1,3&u){case 0:n.mode=Dt;break;case 1:if(pe(n),n.mode=Vt,e===ft){u>>>=2,c-=2;break t}break;case 2:n.mode=Ft;break;case 3:t.msg="invalid block type",n.mode=Jt}u>>>=2,c-=2;break;case Dt:u>>>=7&c,c-=7&c;while(c<32){if(0===s)break t;s--,u+=i[o++]<>>16^65535)){t.msg="invalid stored block lengths",n.mode=Jt;break}if(n.length=65535&u,u=0,c=0,n.mode=Rt,e===ft)break t;case Rt:n.mode=Bt;case Bt:if(d=n.length,d){if(d>s&&(d=s),d>l&&(d=l),0===d)break t;$(r,i,o,d,a),s-=d,o+=d,l-=d,a+=d,n.length-=d;break}n.mode=Et;break;case Ft:while(c<14){if(0===s)break t;s--,u+=i[o++]<>>=5,c-=5,n.ndist=1+(31&u),u>>>=5,c-=5,n.ncode=4+(15&u),u>>>=4,c-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=Jt;break}n.have=0,n.mode=zt;case zt:while(n.have>>=3,c-=3}while(n.have<19)n.lens[I[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,_={bits:n.lenbits},C=lt(ut,n.lens,0,19,n.lencode,0,n.work,_),n.lenbits=_.bits,C){t.msg="invalid code lengths set",n.mode=Jt;break}n.have=0,n.mode=jt;case jt:while(n.have>>24,g=M>>>16&255,y=65535&M,v<=c)break;if(0===s)break t;s--,u+=i[o++]<>>=v,c-=v,n.lens[n.have++]=y;else{if(16===y){S=v+2;while(c>>=v,c-=v,0===n.have){t.msg="invalid bit length repeat",n.mode=Jt;break}k=n.lens[n.have-1],d=3+(3&u),u>>>=2,c-=2}else if(17===y){S=v+3;while(c>>=v,c-=v,k=0,d=3+(7&u),u>>>=3,c-=3}else{S=v+7;while(c>>=v,c-=v,k=0,d=11+(127&u),u>>>=7,c-=7}if(n.have+d>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=Jt;break}while(d--)n.lens[n.have++]=k}}if(n.mode===Jt)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=Jt;break}if(n.lenbits=9,_={bits:n.lenbits},C=lt(ct,n.lens,0,n.nlen,n.lencode,0,n.work,_),n.lenbits=_.bits,C){t.msg="invalid literal/lengths set",n.mode=Jt;break}if(n.distbits=6,n.distcode=n.distdyn,_={bits:n.distbits},C=lt(ht,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,_),n.distbits=_.bits,C){t.msg="invalid distances set",n.mode=Jt;break}if(n.mode=Vt,e===ft)break t;case Vt:n.mode=Ht;case Ht:if(s>=6&&l>=258){t.next_out=a,t.avail_out=l,t.next_in=o,t.avail_in=s,n.hold=u,n.bits=c,X(t,p),a=t.next_out,r=t.output,l=t.avail_out,o=t.next_in,i=t.input,s=t.avail_in,u=n.hold,c=n.bits,n.mode===Et&&(n.back=-1);break}for(n.back=0;;){if(M=n.lencode[u&(1<>>24,g=M>>>16&255,y=65535&M,v<=c)break;if(0===s)break t;s--,u+=i[o++]<>b)],v=M>>>24,g=M>>>16&255,y=65535&M,b+v<=c)break;if(0===s)break t;s--,u+=i[o++]<>>=b,c-=b,n.back+=b}if(u>>>=v,c-=v,n.back+=v,n.length=y,0===g){n.mode=Wt;break}if(32&g){n.back=-1,n.mode=Et;break}if(64&g){t.msg="invalid literal/length code",n.mode=Jt;break}n.extra=15&g,n.mode=Zt;case Zt:if(n.extra){S=n.extra;while(c>>=n.extra,c-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=Ut;case Ut:for(;;){if(M=n.distcode[u&(1<>>24,g=M>>>16&255,y=65535&M,v<=c)break;if(0===s)break t;s--,u+=i[o++]<>b)],v=M>>>24,g=M>>>16&255,y=65535&M,b+v<=c)break;if(0===s)break t;s--,u+=i[o++]<>>=b,c-=b,n.back+=b}if(u>>>=v,c-=v,n.back+=v,64&g){t.msg="invalid distance code",n.mode=Jt;break}n.offset=y,n.extra=15&g,n.mode=Gt;case Gt:if(n.extra){S=n.extra;while(c>>=n.extra,c-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=Jt;break}n.mode=Kt;case Kt:if(0===l)break t;if(d=p-l,n.offset>d){if(d=n.offset-d,d>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=Jt;break}d>n.wnext?(d-=n.wnext,f=n.wsize-d):f=n.wnext-d,d>n.length&&(d=n.length),m=n.window}else m=r,f=a-n.offset,d=n.length;d>l&&(d=l),l-=d,n.length-=d;do{r[a++]=m[f++]}while(--d);0===n.length&&(n.mode=Ht);break;case Wt:if(0===l)break t;r[a++]=n.length,l--,n.mode=Ht;break;case qt:if(n.wrap){while(c<32){if(0===s)break t;s--,u|=i[o++]<=0&&n.windowBits<16&&(n.windowBits=-n.windowBits,0===n.windowBits&&(n.windowBits=-15)),!(n.windowBits>=0&&n.windowBits<16)||e&&e.windowBits||(n.windowBits+=32),n.windowBits>15&&n.windowBits<48&&0===(15&n.windowBits)&&(n.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new be,this.strm.avail_out=0;var i=le(this.strm,n.windowBits);if(i!==u)throw new Error(ye[i]);if(this.header=new xe,ve(this.strm,this.header),n.dictionary&&("string"===typeof n.dictionary?n.dictionary=F(n.dictionary):"[object ArrayBuffer]"===we.call(n.dictionary)&&(n.dictionary=new Uint8Array(n.dictionary)),n.raw&&(i=ge(this.strm,n.dictionary),i!==u)))throw new Error(ye[i])};ke.prototype.push=function(t,e){var n,r,a,l,p,d,m=this.strm,v=this.options.chunkSize,g=this.options.dictionary,y=!1;if(this.ended)return!1;r=e===~~e?e:!0===e?s:i,"string"===typeof t?m.input=V(t):"[object ArrayBuffer]"===we.call(t)?m.input=new Uint8Array(t):m.input=t,m.next_in=0,m.avail_in=m.input.length;do{if(0===m.avail_out&&(m.output=L(v),m.next_out=0,m.avail_out=v),n=fe(m,i),n===h&&g&&(d="string"===typeof g?F(g):"[object ArrayBuffer]"===we.call(g)?new Uint8Array(g):g,n=ge(this.strm,d)),n===f&&!0===y&&(n=u,y=!1),n!==c&&n!==u)return this.onEnd(n),this.ended=!0,!1;m.next_out&&(0!==m.avail_out&&n!==c&&(0!==m.avail_in||r!==s&&r!==o)||("string"===this.options.to?(a=Z(m.output,m.next_out),l=m.next_out-a,p=H(m.output,a),m.next_out=l,m.avail_out=v-l,l&&$(m.output,m.output,a,l,0),this.onData(p)):this.onData(A(m.output,m.next_out)))),0===m.avail_in&&0===m.avail_out&&(y=!0)}while((m.avail_in>0||0===m.avail_out)&&n!==c);return n===c&&(r=s),r===s?(n=me(this.strm),this.onEnd(n),this.ended=!0,n===u):r!==o||(this.onEnd(u),m.avail_out=0,!0)},ke.prototype.onData=function(t){this.chunks.push(t)},ke.prototype.onEnd=function(t){t===u&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=O(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function Ce(t){var e=t.length;while(--e>=0)t[e]=0}var _e,Se,Me,Ae,Ie,Te,Ne,$e,Oe,Le=0,Ee=1,Pe=2,De=3,Re=258,Be=29,Fe=256,ze=Fe+1+Be,je=30,Ve=19,He=2*ze+1,Ze=15,Ue=16,Ge=7,Ke=256,We=16,qe=17,Ye=18,Xe=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Je=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Qe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],tn=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],en=512;function nn(t,e,n,i,r){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=i,this.max_length=r,this.has_stree=t&&t.length}function rn(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function on(t){return t<256?Me[t]:Me[256+(t>>>7)]}function an(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function sn(t,e,n){t.bi_valid>Ue-n?(t.bi_buf|=e<>Ue-t.bi_valid,t.bi_valid+=n-Ue):(t.bi_buf|=e<>>=1,n<<=1}while(--e>0);return n>>>1}function cn(t){16===t.bi_valid?(an(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function hn(t,e){var n,i,r,o,a,s,l=e.dyn_tree,u=e.max_code,c=e.stat_desc.static_tree,h=e.stat_desc.has_stree,p=e.stat_desc.extra_bits,d=e.stat_desc.extra_base,f=e.stat_desc.max_length,m=0;for(o=0;o<=Ze;o++)t.bl_count[o]=0;for(l[2*t.heap[t.heap_max]+1]=0,n=t.heap_max+1;nf&&(o=f,m++),l[2*i+1]=o,i>u||(t.bl_count[o]++,a=0,i>=d&&(a=p[i-d]),s=l[2*i],t.opt_len+=s*(o+a),h&&(t.static_len+=s*(c[2*i+1]+a)));if(0!==m){do{o=f-1;while(0===t.bl_count[o])o--;t.bl_count[o]--,t.bl_count[o+1]+=2,t.bl_count[f]--,m-=2}while(m>0);for(o=f;0!==o;o--){i=t.bl_count[o];while(0!==i)r=t.heap[--n],r>u||(l[2*r+1]!==o&&(t.opt_len+=(o-l[2*r+1])*l[2*r],l[2*r+1]=o),i--)}}}function pn(t,e,n){var i,r,o=new Array(Ze+1),a=0;for(i=1;i<=Ze;i++)o[i]=a=a+n[i-1]<<1;for(r=0;r<=e;r++){var s=t[2*r+1];0!==s&&(t[2*r]=un(o[s]++,s))}}function dn(){var t,e,n,i,r,o=new Array(Ze+1);for(_e=new Array(2*(ze+2)),Ce(_e),Se=new Array(2*je),Ce(Se),Me=new Array(en),Ce(Me),Ae=new Array(Re-De+1),Ce(Ae),Ie=new Array(Be),Ce(Ie),Te=new Array(je),Ce(Te),n=0,i=0;i>=7;i8?an(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function vn(t,e,n,i){mn(t),i&&(an(t,n),an(t,~n)),$(t.pending_buf,t.window,e,n,t.pending),t.pending+=n}function gn(t,e,n,i){var r=2*e,o=2*n;return t[r]>1;n>=1;n--)yn(t,o,n);r=l;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],yn(t,o,1),i=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=i,o[2*r]=o[2*n]+o[2*i],t.depth[r]=(t.depth[n]>=t.depth[i]?t.depth[n]:t.depth[i])+1,o[2*n+1]=o[2*i+1]=r,t.heap[1]=r++,yn(t,o,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],hn(t,e),pn(o,u,t.bl_count)}function wn(t,e,n){var i,r,o=-1,a=e[1],s=0,l=7,u=4;for(0===a&&(l=138,u=3),e[2*(n+1)+1]=65535,i=0;i<=n;i++)r=a,a=e[2*(i+1)+1],++s=3;e--)if(0!==t.bl_tree[2*tn[e]+1])break;return t.opt_len+=3*(e+1)+5+5+4,e}function _n(t,e,n,i){var r;for(sn(t,e-257,5),sn(t,n-1,5),sn(t,i-4,4),r=0;r>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return w;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return k;for(e=32;e0?(t.strm.data_type===C&&(t.strm.data_type=Sn(t)),xn(t,t.l_desc),xn(t,t.d_desc),a=Cn(t),r=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,o<=r&&(r=o)):r=o=n+5,n+4<=r&&-1!==e?In(t,e,n,i):t.strategy===b||o===r?(sn(t,(Ee<<1)+(i?1:0),3),bn(t,_e,Se)):(sn(t,(Pe<<1)+(i?1:0),3),_n(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),bn(t,t.dyn_ltree,t.dyn_dtree)),fn(t),i&&mn(t)}function $n(t,e,n){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(Ae[n]+Fe+1)]++,t.dyn_dtree[2*on(e)]++),t.last_lit===t.lit_bufsize-1}var On=9,Ln=29,En=256,Pn=En+1+Ln,Dn=30,Rn=19,Bn=2*Pn+1,Fn=15,zn=3,jn=258,Vn=jn+zn+1,Hn=32,Zn=42,Un=69,Gn=73,Kn=91,Wn=103,qn=113,Yn=666,Xn=1,Jn=2,Qn=3,ti=4,ei=3;function ni(t,e){return t.msg=ye[e],e}function ii(t){return(t<<1)-(t>4?9:0)}function ri(t){var e=t.length;while(--e>=0)t[e]=0}function oi(t){var e=t.state,n=e.pending;n>t.avail_out&&(n=t.avail_out),0!==n&&($(t.output,e.pending_buf,e.pending_out,n,t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,0===e.pending&&(e.pending_out=0))}function ai(t,e){Nn(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,oi(t.strm)}function si(t,e){t.pending_buf[t.pending++]=e}function li(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function ui(t,e,n,i){var r=t.avail_in;return r>i&&(r=i),0===r?0:(t.avail_in-=r,$(e,t.input,t.next_in,r,n),1===t.state.wrap?t.adler=U(t.adler,e,r,n):2===t.state.wrap&&(t.adler=W(t.adler,e,r,n)),t.next_in+=r,t.total_in+=r,r)}function ci(t,e){var n,i,r=t.max_chain_length,o=t.strstart,a=t.prev_length,s=t.nice_match,l=t.strstart>t.w_size-Vn?t.strstart-(t.w_size-Vn):0,u=t.window,c=t.w_mask,h=t.prev,p=t.strstart+jn,d=u[o+a-1],f=u[o+a];t.prev_length>=t.good_match&&(r>>=2),s>t.lookahead&&(s=t.lookahead);do{if(n=e,u[n+a]===f&&u[n+a-1]===d&&u[n]===u[o]&&u[++n]===u[o+1]){o+=2,n++;do{}while(u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&u[++o]===u[++n]&&oa){if(t.match_start=e,a=i,i>=s)break;d=u[o+a-1],f=u[o+a]}}}while((e=h[e&c])>l&&0!==--r);return a<=t.lookahead?a:t.lookahead}function hi(t){var e,n,i,r,o,a=t.w_size;do{if(r=t.window_size-t.lookahead-t.strstart,t.strstart>=a+(a-Vn)){$(t.window,t.window,a,a,0),t.match_start-=a,t.strstart-=a,t.block_start-=a,n=t.hash_size,e=n;do{i=t.head[--e],t.head[e]=i>=a?i-a:0}while(--n);n=a,e=n;do{i=t.prev[--e],t.prev[e]=i>=a?i-a:0}while(--n);r+=a}if(0===t.strm.avail_in)break;if(n=ui(t.strm,t.window,t.strstart+t.lookahead,r),t.lookahead+=n,t.lookahead+t.insert>=zn){o=t.strstart-t.insert,t.ins_h=t.window[o],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(n=t.pending_buf_size-5);;){if(t.lookahead<=1){if(hi(t),0===t.lookahead&&e===i)return Xn;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var r=t.block_start+n;if((0===t.strstart||t.strstart>=r)&&(t.lookahead=t.strstart-r,t.strstart=r,ai(t,!1),0===t.strm.avail_out))return Xn;if(t.strstart-t.block_start>=t.w_size-Vn&&(ai(t,!1),0===t.strm.avail_out))return Xn}return t.insert=0,e===s?(ai(t,!0),0===t.strm.avail_out?Qn:ti):(t.strstart>t.block_start&&(ai(t,!1),t.strm.avail_out),Xn)}function di(t,e){for(var n,r;;){if(t.lookahead=zn&&(t.ins_h=(t.ins_h<=zn)if(r=$n(t,t.strstart-t.match_start,t.match_length-zn),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=zn){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<=zn&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=zn-1)),t.prev_length>=zn&&t.match_length<=t.prev_length){o=t.strstart+t.lookahead-zn,r=$n(t,t.strstart-1-t.prev_match,t.prev_length-zn),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=o&&(t.ins_h=(t.ins_h<=zn&&t.strstart>0&&(o=t.strstart-1,r=l[o],r===l[++o]&&r===l[++o]&&r===l[++o])){a=t.strstart+jn;do{}while(r===l[++o]&&r===l[++o]&&r===l[++o]&&r===l[++o]&&r===l[++o]&&r===l[++o]&&r===l[++o]&&r===l[++o]&&ot.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=zn?(n=$n(t,1,t.match_length-zn),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=$n(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(ai(t,!1),0===t.strm.avail_out))return Xn}return t.insert=0,e===s?(ai(t,!0),0===t.strm.avail_out?Qn:ti):t.last_lit&&(ai(t,!1),0===t.strm.avail_out)?Xn:Jn}function vi(t,e){for(var n;;){if(0===t.lookahead&&(hi(t),0===t.lookahead)){if(e===i)return Xn;break}if(t.match_length=0,n=$n(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(ai(t,!1),0===t.strm.avail_out))return Xn}return t.insert=0,e===s?(ai(t,!0),0===t.strm.avail_out?Qn:ti):t.last_lit&&(ai(t,!1),0===t.strm.avail_out)?Xn:Jn}function gi(t,e,n,i,r){this.good_length=t,this.max_lazy=e,this.nice_length=n,this.max_chain=i,this.func=r}var yi=function(){var t=[new gi(0,0,0,0,pi),new gi(4,4,8,4,di),new gi(4,5,16,8,di),new gi(4,6,32,32,di),new gi(4,4,16,16,fi),new gi(8,16,32,32,fi),new gi(8,16,128,128,fi),new gi(8,32,128,256,fi),new gi(32,128,258,1024,fi),new gi(32,258,258,4096,fi)];return yi=function(){return t},t};function bi(t){t.window_size=2*t.w_size,ri(t.head);var e=yi();t.max_lazy_match=e[t.level].max_lazy,t.good_match=e[t.level].good_length,t.nice_match=e[t.level].nice_length,t.max_chain_length=e[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=zn-1,t.match_available=0,t.ins_h=0}function xi(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=_,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=E(2*Bn),this.dyn_dtree=E(2*(2*Dn+1)),this.bl_tree=E(2*(2*Rn+1)),ri(this.dyn_ltree),ri(this.dyn_dtree),ri(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=E(Fn+1),this.heap=E(2*Pn+1),ri(this.heap),this.heap_len=0,this.heap_max=0,this.depth=E(2*Pn+1),ri(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function wi(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=C,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?Zn:qn,t.adler=2===e.wrap?0:1,e.last_flush=i,An(e),u):ni(t,p)}function ki(t){var e=wi(t);return e===u&&bi(t.state),e}function Ci(t,e){return t&&t.state?2!==t.state.wrap?p:(t.state.gzhead=e,u):p}function _i(t,e,n,i,r,o){if(!t)return p;var a=1;if(e===m&&(e=6),i<0?(a=0,i=-i):i>15&&(a=2,i-=16),r<1||r>On||n!==_||i<8||i>15||e<0||e>9||o<0||o>b)return ni(t,p);8===i&&(i=9);var s=new xi;return t.state=s,s.strm=t,s.wrap=a,s.gzhead=null,s.w_bits=i,s.w_size=1<l||e<0)return t?ni(t,p):p;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===Yn&&e!==s)return ni(t,0===t.avail_out?f:p);if(o.strm=t,n=o.last_flush,o.last_flush=e,o.status===Zn)if(2===o.wrap)t.adler=0,si(o,31),si(o,139),si(o,8),o.gzhead?(si(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),si(o,255&o.gzhead.time),si(o,o.gzhead.time>>8&255),si(o,o.gzhead.time>>16&255),si(o,o.gzhead.time>>24&255),si(o,9===o.level?2:o.strategy>=g||o.level<2?4:0),si(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(si(o,255&o.gzhead.extra.length),si(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=W(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=Un):(si(o,0),si(o,0),si(o,0),si(o,0),si(o,0),si(o,9===o.level?2:o.strategy>=g||o.level<2?4:0),si(o,ei),o.status=qn);else{var m=_+(o.w_bits-8<<4)<<8,v=-1;v=o.strategy>=g||o.level<2?0:o.level<6?1:6===o.level?2:3,m|=v<<6,0!==o.strstart&&(m|=Hn),m+=31-m%31,o.status=qn,li(o,m),0!==o.strstart&&(li(o,t.adler>>>16),li(o,65535&t.adler)),t.adler=1}if(o.status===Un)if(o.gzhead.extra){h=o.pending;while(o.gzindex<(65535&o.gzhead.extra.length)){if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>h&&(t.adler=W(t.adler,o.pending_buf,o.pending-h,h)),oi(t),h=o.pending,o.pending===o.pending_buf_size))break;si(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++}o.gzhead.hcrc&&o.pending>h&&(t.adler=W(t.adler,o.pending_buf,o.pending-h,h)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=Gn)}else o.status=Gn;if(o.status===Gn)if(o.gzhead.name){h=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>h&&(t.adler=W(t.adler,o.pending_buf,o.pending-h,h)),oi(t),h=o.pending,o.pending===o.pending_buf_size)){d=1;break}d=o.gzindexh&&(t.adler=W(t.adler,o.pending_buf,o.pending-h,h)),0===d&&(o.gzindex=0,o.status=Kn)}else o.status=Kn;if(o.status===Kn)if(o.gzhead.comment){h=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>h&&(t.adler=W(t.adler,o.pending_buf,o.pending-h,h)),oi(t),h=o.pending,o.pending===o.pending_buf_size)){d=1;break}d=o.gzindexh&&(t.adler=W(t.adler,o.pending_buf,o.pending-h,h)),0===d&&(o.status=Wn)}else o.status=Wn;if(o.status===Wn&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&oi(t),o.pending+2<=o.pending_buf_size&&(si(o,255&t.adler),si(o,t.adler>>8&255),t.adler=0,o.status=qn)):o.status=qn),0!==o.pending){if(oi(t),0===t.avail_out)return o.last_flush=-1,u}else if(0===t.avail_in&&ii(e)<=ii(n)&&e!==s)return ni(t,f);if(o.status===Yn&&0!==t.avail_in)return ni(t,f);if(0!==t.avail_in||0!==o.lookahead||e!==i&&o.status!==Yn){var b=o.strategy===g?vi(o,e):o.strategy===y?mi(o,e):yi()[o.level].func(o,e);if(b!==Qn&&b!==ti||(o.status=Yn),b===Xn||b===Qn)return 0===t.avail_out&&(o.last_flush=-1),u;if(b===Jn&&(e===r?Tn(o):e!==l&&(In(o,0,0,!1),e===a&&(ri(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),oi(t),0===t.avail_out))return o.last_flush=-1,u}return e!==s?u:o.wrap<=0?c:(2===o.wrap?(si(o,255&t.adler),si(o,t.adler>>8&255),si(o,t.adler>>16&255),si(o,t.adler>>24&255),si(o,255&t.total_in),si(o,t.total_in>>8&255),si(o,t.total_in>>16&255),si(o,t.total_in>>24&255)):(li(o,t.adler>>>16),li(o,65535&t.adler)),oi(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?u:c)}function Mi(t){var e;return t&&t.state?(e=t.state.status,e!==Zn&&e!==Un&&e!==Gn&&e!==Kn&&e!==Wn&&e!==qn&&e!==Yn?ni(t,p):(t.state=null,e===qn?ni(t,d):u)):p}function Ai(t,e){var n,i,r,o,a,s,l,c,h=e.length;if(!t||!t.state)return p;if(n=t.state,o=n.wrap,2===o||1===o&&n.status!==Zn||n.lookahead)return p;1===o&&(t.adler=U(t.adler,e,h,0)),n.wrap=0,h>=n.w_size&&(0===o&&(ri(n.head),n.strstart=0,n.block_start=0,n.insert=0),c=L(n.w_size),$(c,e,h-n.w_size,n.w_size,0),e=c,h=n.w_size),a=t.avail_in,s=t.next_in,l=t.input,t.avail_in=h,t.next_in=0,t.input=e,hi(n);while(n.lookahead>=zn){i=n.strstart,r=n.lookahead-(zn-1);do{n.ins_h=(n.ins_h<0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new be,this.strm.avail_out=0;var n=_i(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(n!==u)throw new Error(ye[n]);if(e.header&&Ci(this.strm,e.header),e.dictionary){var i;if(i="string"===typeof e.dictionary?F(e.dictionary):"[object ArrayBuffer]"===Ii.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,n=Ai(this.strm,i),n!==u)throw new Error(ye[n]);this._dict_set=!0}};function Ni(t,e){var n=new Ti(e);if(n.push(t,!0),n.err)throw n.msg||ye[n.err];return n.result}Ti.prototype.push=function(t,e){var n,r,a=this.strm,l=this.options.chunkSize;if(this.ended)return!1;r=e===~~e?e:!0===e?s:i,"string"===typeof t?a.input=F(t):"[object ArrayBuffer]"===Ii.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=L(l),a.next_out=0,a.avail_out=l),n=Si(a,r),n!==c&&n!==u)return this.onEnd(n),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||r!==s&&r!==o)||("string"===this.options.to?this.onData(j(A(a.output,a.next_out))):this.onData(A(a.output,a.next_out)))}while((a.avail_in>0||0===a.avail_out)&&n!==c);return r===s?(n=Mi(this.strm),this.onEnd(n),this.ended=!0,n===u):r!==o||(this.onEnd(u),a.avail_out=0,!0)},Ti.prototype.onData=function(t){this.chunks.push(t)},Ti.prototype.onEnd=function(t){t===u&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=O(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg}},953:function(t,e,n){"use strict";n.d(e,{BA:function(){return Jt},C4:function(){return I},EW:function(){return ue},Gc:function(){return $t},IG:function(){return zt},IJ:function(){return Kt},KR:function(){return Gt},Kh:function(){return Nt},Pr:function(){return te},QW:function(){return ie},QZ:function(){return _},R1:function(){return Xt},Tm:function(){return Dt},X2:function(){return k},bl:function(){return T},ds:function(){return S},fE:function(){return Rt},g8:function(){return Pt},hZ:function(){return O},i9:function(){return Ut},jr:function(){return u},ju:function(){return Bt},lW:function(){return ae},mu:function(){return Yt},nD:function(){return Lt},o5:function(){return l},rY:function(){return ne},tB:function(){return Ot},u4:function(){return N},uY:function(){return a},ux:function(){return Ft},yC:function(){return o}});var i=n(33);let r;class o{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=r,!t&&r&&(this.index=(r.scopes||(r.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const e=r;try{return r=this,t()}finally{r=e}}else 0}on(){r=this}off(){r=this.parent}stop(t){if(this._active){let e,n;for(e=0,n=this.effects.length;e{const e=new Set(t);return e.w=0,e.n=0,e},h=t=>(t.w&g)>0,p=t=>(t.n&g)>0,d=({deps:t})=>{if(t.length)for(let e=0;e{const{deps:e}=t;if(e.length){let n=0;for(let i=0;i{("length"===n||n>=t)&&l.push(e)}))}else switch(void 0!==n&&l.push(s.get(n)),e){case"add":(0,i.cy)(t)?(0,i.yI)(n)&&l.push(s.get("length")):(l.push(s.get(x)),(0,i.jh)(t)&&l.push(s.get(w)));break;case"delete":(0,i.cy)(t)||(l.push(s.get(x)),(0,i.jh)(t)&&l.push(s.get(w)));break;case"set":(0,i.jh)(t)&&l.push(s.get(x));break}if(1===l.length)l[0]&&L(l[0]);else{const t=[];for(const e of l)e&&t.push(...e);L(c(t))}}function L(t,e){const n=(0,i.cy)(t)?t:[...t];for(const i of n)i.computed&&E(i,e);for(const i of n)i.computed||E(i,e)}function E(t,e){(t!==b||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}function P(t,e){var n;return null==(n=m.get(t))?void 0:n.get(e)}const D=(0,i.pD)("__proto__,__v_isRef,__isVue"),R=new Set(Object.getOwnPropertyNames(Symbol).filter((t=>"arguments"!==t&&"caller"!==t)).map((t=>Symbol[t])).filter(i.Bm)),B=U(),F=U(!1,!0),z=U(!0),j=U(!0,!0),V=H();function H(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Ft(this);for(let e=0,r=this.length;e{t[e]=function(...t){I();const n=Ft(this)[e].apply(this,t);return T(),n}})),t}function Z(t){const e=Ft(this);return N(e,"has",t),e.hasOwnProperty(t)}function U(t=!1,e=!1){return function(n,r,o){if("__v_isReactive"===r)return!t;if("__v_isReadonly"===r)return t;if("__v_isShallow"===r)return e;if("__v_raw"===r&&o===(t?e?At:Mt:e?St:_t).get(n))return n;const a=(0,i.cy)(n);if(!t){if(a&&(0,i.$3)(V,r))return Reflect.get(V,r,o);if("hasOwnProperty"===r)return Z}const s=Reflect.get(n,r,o);return((0,i.Bm)(r)?R.has(r):D(r))?s:(t||N(n,"get",r),e?s:Ut(s)?a&&(0,i.yI)(r)?s:s.value:(0,i.Gv)(s)?t?Ot(s):Nt(s):s)}}const G=W(),K=W(!0);function W(t=!1){return function(e,n,r,o){let a=e[n];if(Dt(a)&&Ut(a)&&!Ut(r))return!1;if(!t&&(Rt(r)||Dt(r)||(a=Ft(a),r=Ft(r)),!(0,i.cy)(e)&&Ut(a)&&!Ut(r)))return a.value=r,!0;const s=(0,i.cy)(e)&&(0,i.yI)(n)?Number(n)t,it=t=>Reflect.getPrototypeOf(t);function rt(t,e,n=!1,i=!1){t=t["__v_raw"];const r=Ft(t),o=Ft(e);n||(e!==o&&N(r,"get",e),N(r,"get",o));const{has:a}=it(r),s=i?nt:n?Vt:jt;return a.call(r,e)?s(t.get(e)):a.call(r,o)?s(t.get(o)):void(t!==r&&t.get(e))}function ot(t,e=!1){const n=this["__v_raw"],i=Ft(n),r=Ft(t);return e||(t!==r&&N(i,"has",t),N(i,"has",r)),t===r?n.has(t):n.has(t)||n.has(r)}function at(t,e=!1){return t=t["__v_raw"],!e&&N(Ft(t),"iterate",x),Reflect.get(t,"size",t)}function st(t){t=Ft(t);const e=Ft(this),n=it(e),i=n.has.call(e,t);return i||(e.add(t),O(e,"add",t,t)),this}function lt(t,e){e=Ft(e);const n=Ft(this),{has:r,get:o}=it(n);let a=r.call(n,t);a||(t=Ft(t),a=r.call(n,t));const s=o.call(n,t);return n.set(t,e),a?(0,i.$H)(e,s)&&O(n,"set",t,e,s):O(n,"add",t,e),this}function ut(t){const e=Ft(this),{has:n,get:i}=it(e);let r=n.call(e,t);r||(t=Ft(t),r=n.call(e,t));const o=i?i.call(e,t):void 0,a=e.delete(t);return r&&O(e,"delete",t,void 0,o),a}function ct(){const t=Ft(this),e=0!==t.size,n=void 0,i=t.clear();return e&&O(t,"clear",void 0,void 0,n),i}function ht(t,e){return function(n,i){const r=this,o=r["__v_raw"],a=Ft(o),s=e?nt:t?Vt:jt;return!t&&N(a,"iterate",x),o.forEach(((t,e)=>n.call(i,s(t),s(e),r)))}}function pt(t,e,n){return function(...r){const o=this["__v_raw"],a=Ft(o),s=(0,i.jh)(a),l="entries"===t||t===Symbol.iterator&&s,u="keys"===t&&s,c=o[t](...r),h=n?nt:e?Vt:jt;return!e&&N(a,"iterate",u?w:x),{next(){const{value:t,done:e}=c.next();return e?{value:t,done:e}:{value:l?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function dt(t){return function(...e){return"delete"!==t&&this}}function ft(){const t={get(t){return rt(this,t)},get size(){return at(this)},has:ot,add:st,set:lt,delete:ut,clear:ct,forEach:ht(!1,!1)},e={get(t){return rt(this,t,!1,!0)},get size(){return at(this)},has:ot,add:st,set:lt,delete:ut,clear:ct,forEach:ht(!1,!0)},n={get(t){return rt(this,t,!0)},get size(){return at(this,!0)},has(t){return ot.call(this,t,!0)},add:dt("add"),set:dt("set"),delete:dt("delete"),clear:dt("clear"),forEach:ht(!0,!1)},i={get(t){return rt(this,t,!0,!0)},get size(){return at(this,!0)},has(t){return ot.call(this,t,!0)},add:dt("add"),set:dt("set"),delete:dt("delete"),clear:dt("clear"),forEach:ht(!0,!0)},r=["keys","values","entries",Symbol.iterator];return r.forEach((r=>{t[r]=pt(r,!1,!1),n[r]=pt(r,!0,!1),e[r]=pt(r,!1,!0),i[r]=pt(r,!0,!0)})),[t,n,e,i]}const[mt,vt,gt,yt]=ft();function bt(t,e){const n=e?t?yt:gt:t?vt:mt;return(e,r,o)=>"__v_isReactive"===r?!t:"__v_isReadonly"===r?t:"__v_raw"===r?e:Reflect.get((0,i.$3)(n,r)&&r in e?n:e,r,o)}const xt={get:bt(!1,!1)},wt={get:bt(!1,!0)},kt={get:bt(!0,!1)},Ct={get:bt(!0,!0)};const _t=new WeakMap,St=new WeakMap,Mt=new WeakMap,At=new WeakMap;function It(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Tt(t){return t["__v_skip"]||!Object.isExtensible(t)?0:It((0,i.Zf)(t))}function Nt(t){return Dt(t)?t:Et(t,!1,J,xt,_t)}function $t(t){return Et(t,!1,tt,wt,St)}function Ot(t){return Et(t,!0,Q,kt,Mt)}function Lt(t){return Et(t,!0,et,Ct,At)}function Et(t,e,n,r,o){if(!(0,i.Gv)(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const a=o.get(t);if(a)return a;const s=Tt(t);if(0===s)return t;const l=new Proxy(t,2===s?r:n);return o.set(t,l),l}function Pt(t){return Dt(t)?Pt(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function Dt(t){return!(!t||!t["__v_isReadonly"])}function Rt(t){return!(!t||!t["__v_isShallow"])}function Bt(t){return Pt(t)||Dt(t)}function Ft(t){const e=t&&t["__v_raw"];return e?Ft(e):t}function zt(t){return(0,i.yQ)(t,"__v_skip",!0),t}const jt=t=>(0,i.Gv)(t)?Nt(t):t,Vt=t=>(0,i.Gv)(t)?Ot(t):t;function Ht(t){M&&b&&(t=Ft(t),$(t.dep||(t.dep=c())))}function Zt(t,e){t=Ft(t);const n=t.dep;n&&L(n)}function Ut(t){return!(!t||!0!==t.__v_isRef)}function Gt(t){return Wt(t,!1)}function Kt(t){return Wt(t,!0)}function Wt(t,e){return Ut(t)?t:new qt(t,e)}class qt{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Ft(t),this._value=e?t:jt(t)}get value(){return Ht(this),this._value}set value(t){const e=this.__v_isShallow||Rt(t)||Dt(t);t=e?t:Ft(t),(0,i.$H)(t,this._rawValue)&&(this._rawValue=t,this._value=e?t:jt(t),Zt(this,t))}}function Yt(t){Zt(t,void 0)}function Xt(t){return Ut(t)?t.value:t}function Jt(t){return(0,i.Tn)(t)?t():Xt(t)}const Qt={get:(t,e,n)=>Xt(Reflect.get(t,e,n)),set:(t,e,n,i)=>{const r=t[e];return Ut(r)&&!Ut(n)?(r.value=n,!0):Reflect.set(t,e,n,i)}};function te(t){return Pt(t)?t:new Proxy(t,Qt)}class ee{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:e,set:n}=t((()=>Ht(this)),(()=>Zt(this)));this._get=e,this._set=n}get value(){return this._get()}set value(t){this._set(t)}}function ne(t){return new ee(t)}function ie(t){const e=(0,i.cy)(t)?new Array(t.length):{};for(const n in t)e[n]=se(t,n);return e}class re{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return P(Ft(this._object),this._key)}}class oe{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function ae(t,e,n){return Ut(t)?t:(0,i.Tn)(t)?new oe(t):(0,i.Gv)(t)&&arguments.length>1?se(t,e,n):Gt(t)}function se(t,e,n){const i=t[e];return Ut(i)?i:new re(t,e,n)}class le{constructor(t,e,n,i){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this["__v_isReadonly"]=!1,this._dirty=!0,this.effect=new k(t,(()=>{this._dirty||(this._dirty=!0,Zt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!i,this["__v_isReadonly"]=n}get value(){const t=Ft(this);return Ht(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function ue(t,e,n=!1){let r,o;const a=(0,i.Tn)(t);a?(r=t,o=i.tE):(r=t.get,o=t.set);const s=new le(r,o,a||!o,n);return s}},641:function(t,e,n){"use strict";n.d(e,{$V:function(){return Pt},$u:function(){return Jt},$y:function(){return ue},BA:function(){return i.BA},Bs:function(){return nr},C4:function(){return r.C4},CE:function(){return ri},Df:function(){return Ot},Dl:function(){return S},E:function(){return Be},E3:function(){return vi},EW:function(){return Yi},EY:function(){return Kn},FK:function(){return Gn},Fv:function(){return yi},Fw:function(){return Ji},GM:function(){return Me},Gc:function(){return i.Gc},Gt:function(){return on},Gw:function(){return or},Gy:function(){return kt},H4:function(){return u},HF:function(){return Pe},Ht:function(){return Ne},IG:function(){return i.IG},IJ:function(){return i.IJ},Ic:function(){return Xt},Im:function(){return Zn},K9:function(){return $n},KC:function(){return qt},KR:function(){return i.KR},Kh:function(){return i.Kh},LJ:function(){return ar},LM:function(){return Qi},Lk:function(){return pi},Lu:function(){return Ae},MZ:function(){return $t},Mw:function(){return Wn},NP:function(){return Ie},Ng:function(){return mi},OA:function(){return $e},OW:function(){return It},PR:function(){return Ft},PS:function(){return sn},PT:function(){return r.PT},Pr:function(){return i.Pr},Q3:function(){return bi},QP:function(){return _t},QW:function(){return i.QW},QZ:function(){return i.QZ},Qi:function(){return j},R1:function(){return i.R1},R8:function(){return o},RG:function(){return me},SS:function(){return ee},Tb:function(){return ge},Tm:function(){return i.Tm},Tr:function(){return r.Tr},U4:function(){return a},U_:function(){return dt},Vq:function(){return ni},WQ:function(){return an},Wv:function(){return oi},X2:function(){return i.X2},Y4:function(){return Vt},Y5:function(){return sr},YY:function(){return H},Yj:function(){return Ce},ZH:function(){return r.ZH},_B:function(){return r._B},bF:function(){return di},bU:function(){return er},bj:function(){return ne},bn:function(){return Re},bo:function(){return xt},ci:function(){return On},dA:function(){return Hi},dY:function(){return x},ds:function(){return i.ds},eW:function(){return gi},eX:function(){return fe},fE:function(){return i.fE},fn:function(){return Oe},g2:function(){return se},g8:function(){return i.g8},gN:function(){return ce},gW:function(){return li},gh:function(){return s},h:function(){return Xi},hi:function(){return te},i9:function(){return i.i9},iD:function(){return E},jC:function(){return qn},jr:function(){return i.jr},jt:function(){return V},ju:function(){return i.ju},k6:function(){return Z},lW:function(){return i.lW},lt:function(){return $},mu:function(){return i.mu},n:function(){return jt},nD:function(){return i.nD},nI:function(){return Ti},nT:function(){return ht},o5:function(){return i.o5},p9:function(){return pt},pI:function(){return de},pM:function(){return Lt},pR:function(){return Mt},qG:function(){return re},qL:function(){return l},qP:function(){return _e},qR:function(){return ie},rE:function(){return ir},rO:function(){return Te},rU:function(){return r.rU},rY:function(){return i.rY},sV:function(){return Yt},tB:function(){return i.tB},tC:function(){return Vi},tY:function(){return tt},uX:function(){return Jn},uY:function(){return i.uY},ux:function(){return i.ux},v6:function(){return Ci},v_:function(){return r.v_},vv:function(){return ai},wB:function(){return mt},wk:function(){return Se},xo:function(){return Qt},y$:function(){return tr},yC:function(){return i.yC},zz:function(){return De}});var i=n(953),r=n(33);function o(t,...e){}function a(t,e){}function s(t,e,n,i){let r;try{r=i?t(...i):t()}catch(o){u(o,e,n)}return r}function l(t,e,n,i){if((0,r.Tn)(t)){const o=s(t,e,n,i);return o&&(0,r.yL)(o)&&o.catch((t=>{u(t,e,n)})),o}const o=[];for(let r=0;r>>1,r=I(d[i]);rf&&d.splice(e,1)}function S(t){(0,r.cy)(t)?m.push(...t):v&&v.includes(t,t.allowRecurse?g+1:g)||m.push(t),C()}function M(t,e=(h?f+1:0)){for(0;eI(t)-I(e))),g=0;gnull==t.id?1/0:t.id,T=(t,e)=>{const n=I(t)-I(e);if(0===n){if(t.pre&&!e.pre)return-1;if(e.pre&&!t.pre)return 1}return n};function N(t){p=!1,h=!0,d.sort(T);r.tE;try{for(f=0;f$.emit(t,...e))),O=[];else if("undefined"!==typeof window&&window.HTMLElement&&!(null==(i=null==(n=window.navigator)?void 0:n.userAgent)?void 0:i.includes("jsdom"))){const t=e.__VUE_DEVTOOLS_HOOK_REPLAY__=e.__VUE_DEVTOOLS_HOOK_REPLAY__||[];t.push((t=>{E(t,e)})),setTimeout((()=>{$||(e.__VUE_DEVTOOLS_HOOK_REPLAY__=null,L=!0,O=[])}),3e3)}else L=!0,O=[]}function P(t,e,...n){if(t.isUnmounted)return;const i=t.vnode.props||r.MZ;let o=n;const a=e.startsWith("update:"),s=a&&e.slice(7);if(s&&s in i){const t=`${"modelValue"===s?"model":s}Modifiers`,{number:e,trim:a}=i[t]||r.MZ;a&&(o=n.map((t=>(0,r.Kg)(t)?t.trim():t))),e&&(o=n.map(r.bB))}let u;let c=i[u=(0,r.rU)(e)]||i[u=(0,r.rU)((0,r.PT)(e))];!c&&a&&(c=i[u=(0,r.rU)((0,r.Tg)(e))]),c&&l(c,t,6,o);const h=i[u+"Once"];if(h){if(t.emitted){if(t.emitted[u])return}else t.emitted={};t.emitted[u]=!0,l(h,t,6,o)}}function D(t,e,n=!1){const i=e.emitsCache,o=i.get(t);if(void 0!==o)return o;const a=t.emits;let s={},l=!1;if(!(0,r.Tn)(t)){const i=t=>{const n=D(t,e,!0);n&&(l=!0,(0,r.X$)(s,n))};!n&&e.mixins.length&&e.mixins.forEach(i),t.extends&&i(t.extends),t.mixins&&t.mixins.forEach(i)}return a||l?((0,r.cy)(a)?a.forEach((t=>s[t]=null)):(0,r.X$)(s,a),(0,r.Gv)(t)&&i.set(t,s),s):((0,r.Gv)(t)&&i.set(t,null),null)}function R(t,e){return!(!t||!(0,r.Mp)(e))&&(e=e.slice(2).replace(/Once$/,""),(0,r.$3)(t,e[0].toLowerCase()+e.slice(1))||(0,r.$3)(t,(0,r.Tg)(e))||(0,r.$3)(t,e))}let B=null,F=null;function z(t){const e=B;return B=t,F=t&&t.type.__scopeId||null,e}function j(t){F=t}function V(){F=null}const H=t=>Z;function Z(t,e=B,n){if(!e)return t;if(t._n)return t;const i=(...n)=>{i._d&&ni(-1);const r=z(e);let o;try{o=t(...n)}finally{z(r),i._d&&ni(1)}return o};return i._n=!0,i._c=!0,i._d=!0,i}function U(t){const{type:e,vnode:n,proxy:i,withProxy:o,props:a,propsOptions:[s],slots:l,attrs:c,emit:h,render:p,renderCache:d,data:f,setupState:m,ctx:v,inheritAttrs:g}=t;let y,b;const x=z(t);try{if(4&n.shapeFlag){const t=o||i;y=xi(p.call(t,t,d,a,m,f,v)),b=c}else{const t=e;0,y=xi(t.length>1?t(a,{attrs:c,slots:l,emit:h}):t(a,null)),b=e.props?c:K(c)}}catch(k){Yn.length=0,u(k,t,1),y=di(Wn)}let w=y;if(b&&!1!==g){const t=Object.keys(b),{shapeFlag:e}=w;t.length&&7&e&&(s&&t.some(r.CP)&&(b=W(b,s)),w=vi(w,b))}return n.dirs&&(w=vi(w),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&(w.transition=n.transition),y=w,z(x),y}function G(t){let e;for(let n=0;n{let e;for(const n in t)("class"===n||"style"===n||(0,r.Mp)(n))&&((e||(e={}))[n]=t[n]);return e},W=(t,e)=>{const n={};for(const i in t)(0,r.CP)(i)&&i.slice(9)in e||(n[i]=t[i]);return n};function q(t,e,n){const{props:i,children:r,component:o}=t,{props:a,children:s,patchFlag:l}=e,u=o.emitsOptions;if(e.dirs||e.transition)return!0;if(!(n&&l>=0))return!(!r&&!s||s&&s.$stable)||i!==a&&(i?!a||Y(i,a,u):!!a);if(1024&l)return!0;if(16&l)return i?Y(i,a,u):!!a;if(8&l){const t=e.dynamicProps;for(let e=0;et.__isSuspense,Q={name:"Suspense",__isSuspense:!0,process(t,e,n,i,r,o,a,s,l,u){null==t?nt(e,n,i,r,o,a,s,l,u):it(t,e,n,i,r,a,s,l,u)},hydrate:ot,create:rt,normalize:at},tt=Q;function et(t,e){const n=t.props&&t.props[e];(0,r.Tn)(n)&&n()}function nt(t,e,n,i,r,o,a,s,l){const{p:u,o:{createElement:c}}=l,h=c("div"),p=t.suspense=rt(t,r,i,e,h,n,o,a,s,l);u(null,p.pendingBranch=t.ssContent,h,null,i,p,o,a),p.deps>0?(et(t,"onPending"),et(t,"onFallback"),u(null,t.ssFallback,e,n,i,null,o,a),ut(p,t.ssFallback)):p.resolve(!1,!0)}function it(t,e,n,i,r,o,a,s,{p:l,um:u,o:{createElement:c}}){const h=e.suspense=t.suspense;h.vnode=e,e.el=t.el;const p=e.ssContent,d=e.ssFallback,{activeBranch:f,pendingBranch:m,isInFallback:v,isHydrating:g}=h;if(m)h.pendingBranch=p,si(p,m)?(l(m,p,h.hiddenContainer,null,r,h,o,a,s),h.deps<=0?h.resolve():v&&(l(f,d,n,i,r,null,o,a,s),ut(h,d))):(h.pendingId++,g?(h.isHydrating=!1,h.activeBranch=m):u(m,r,h),h.deps=0,h.effects.length=0,h.hiddenContainer=c("div"),v?(l(null,p,h.hiddenContainer,null,r,h,o,a,s),h.deps<=0?h.resolve():(l(f,d,n,i,r,null,o,a,s),ut(h,d))):f&&si(p,f)?(l(f,p,n,i,r,h,o,a,s),h.resolve(!0)):(l(null,p,h.hiddenContainer,null,r,h,o,a,s),h.deps<=0&&h.resolve()));else if(f&&si(p,f))l(f,p,n,i,r,h,o,a,s),ut(h,p);else if(et(e,"onPending"),h.pendingBranch=p,h.pendingId++,l(null,p,h.hiddenContainer,null,r,h,o,a,s),h.deps<=0)h.resolve();else{const{timeout:t,pendingId:e}=h;t>0?setTimeout((()=>{h.pendingId===e&&h.fallback(d)}),t):0===t&&h.fallback(d)}}function rt(t,e,n,i,o,a,s,l,c,h,p=!1){const{p:d,m:f,um:m,n:v,o:{parentNode:g,remove:y}}=h;let b;const x=ct(t);x&&(null==e?void 0:e.pendingBranch)&&(b=e.pendingId,e.deps++);const w=t.props?(0,r.Ro)(t.props.timeout):void 0;const k={vnode:t,parent:e,parentComponent:n,isSVG:s,container:i,hiddenContainer:o,anchor:a,deps:0,pendingId:0,timeout:"number"===typeof w?w:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:p,isUnmounted:!1,effects:[],resolve(t=!1,n=!1){const{vnode:i,activeBranch:r,pendingBranch:o,pendingId:a,effects:s,parentComponent:l,container:u}=k;if(k.isHydrating)k.isHydrating=!1;else if(!t){const t=r&&o.transition&&"out-in"===o.transition.mode;t&&(r.transition.afterLeave=()=>{a===k.pendingId&&f(o,u,e,0)});let{anchor:e}=k;r&&(e=v(r),m(r,l,k,!0)),t||f(o,u,e,0)}ut(k,o),k.pendingBranch=null,k.isInFallback=!1;let c=k.parent,h=!1;while(c){if(c.pendingBranch){c.effects.push(...s),h=!0;break}c=c.parent}h||S(s),k.effects=[],x&&e&&e.pendingBranch&&b===e.pendingId&&(e.deps--,0!==e.deps||n||e.resolve()),et(i,"onResolve")},fallback(t){if(!k.pendingBranch)return;const{vnode:e,activeBranch:n,parentComponent:i,container:r,isSVG:o}=k;et(e,"onFallback");const a=v(n),s=()=>{k.isInFallback&&(d(null,t,r,a,i,null,o,l,c),ut(k,t))},u=t.transition&&"out-in"===t.transition.mode;u&&(n.transition.afterLeave=s),k.isInFallback=!0,m(n,i,null,!0),u||s()},move(t,e,n){k.activeBranch&&f(k.activeBranch,t,e,n),k.container=t},next(){return k.activeBranch&&v(k.activeBranch)},registerDep(t,e){const n=!!k.pendingBranch;n&&k.deps++;const i=t.vnode.el;t.asyncDep.catch((e=>{u(e,t,0)})).then((r=>{if(t.isUnmounted||k.isUnmounted||k.pendingId!==t.suspenseId)return;t.asyncResolved=!0;const{vnode:o}=t;ji(t,r,!1),i&&(o.el=i);const a=!i&&t.subTree.el;e(t,o,g(i||t.subTree.el),i?null:v(t.subTree),k,s,c),a&&y(a),X(t,o.el),n&&0===--k.deps&&k.resolve()}))},unmount(t,e){k.isUnmounted=!0,k.activeBranch&&m(k.activeBranch,n,t,e),k.pendingBranch&&m(k.pendingBranch,n,t,e)}};return k}function ot(t,e,n,i,r,o,a,s,l){const u=e.suspense=rt(e,i,n,t.parentNode,document.createElement("div"),null,r,o,a,s,!0),c=l(t,u.pendingBranch=e.ssContent,n,u,o,a);return 0===u.deps&&u.resolve(!1,!0),c}function at(t){const{shapeFlag:e,children:n}=t,i=32&e;t.ssContent=st(i?n.default:n),t.ssFallback=i?st(n.fallback):di(Wn)}function st(t){let e;if((0,r.Tn)(t)){const n=ei&&t._c;n&&(t._d=!1,Jn()),t=t(),n&&(t._d=!0,e=Xn,Qn())}if((0,r.cy)(t)){const e=G(t);0,t=e}return t=xi(t),e&&!t.dynamicChildren&&(t.dynamicChildren=e.filter((e=>e!==t))),t}function lt(t,e){e&&e.pendingBranch?(0,r.cy)(t)?e.effects.push(...t):e.effects.push(t):S(t)}function ut(t,e){t.activeBranch=e;const{vnode:n,parentComponent:i}=t,r=n.el=e.el;i&&i.subTree===n&&(i.vnode.el=r,X(i,r))}function ct(t){var e;return null!=(null==(e=t.props)?void 0:e.suspensible)&&!1!==t.props.suspensible}function ht(t,e){return vt(t,null,e)}function pt(t,e){return vt(t,null,{flush:"post"})}function dt(t,e){return vt(t,null,{flush:"sync"})}const ft={};function mt(t,e,n){return vt(t,e,n)}function vt(t,e,{immediate:n,deep:o,flush:a,onTrack:u,onTrigger:c}=r.MZ){var h;const p=(0,i.o5)()===(null==(h=Ii)?void 0:h.scope)?Ii:null;let d,f,m=!1,v=!1;if((0,i.i9)(t)?(d=()=>t.value,m=(0,i.fE)(t)):(0,i.g8)(t)?(d=()=>t,o=!0):(0,r.cy)(t)?(v=!0,m=t.some((t=>(0,i.g8)(t)||(0,i.fE)(t))),d=()=>t.map((t=>(0,i.i9)(t)?t.value:(0,i.g8)(t)?bt(t):(0,r.Tn)(t)?s(t,p,2):void 0))):d=(0,r.Tn)(t)?e?()=>s(t,p,2):()=>{if(!p||!p.isUnmounted)return f&&f(),l(t,p,3,[y])}:r.tE,e&&o){const t=d;d=()=>bt(t())}let g,y=t=>{f=C.onStop=()=>{s(t,p,4)}};if(Bi){if(y=r.tE,e?n&&l(e,p,3,[d(),v?[]:void 0,y]):d(),"sync"!==a)return r.tE;{const t=Qi();g=t.__watcherHandles||(t.__watcherHandles=[])}}let b=v?new Array(t.length).fill(ft):ft;const x=()=>{if(C.active)if(e){const t=C.run();(o||m||(v?t.some(((t,e)=>(0,r.$H)(t,b[e]))):(0,r.$H)(t,b)))&&(f&&f(),l(e,p,3,[t,b===ft?void 0:v&&b[0]===ft?[]:b,y]),b=t)}else C.run()};let w;x.allowRecurse=!!e,"sync"===a?w=x:"post"===a?w=()=>Nn(x,p&&p.suspense):(x.pre=!0,p&&(x.id=p.uid),w=()=>k(x));const C=new i.X2(d,w);e?n?x():b=C.run():"post"===a?Nn(C.run.bind(C),p&&p.suspense):C.run();const _=()=>{C.stop(),p&&p.scope&&(0,r.TF)(p.scope.effects,C)};return g&&g.push(_),_}function gt(t,e,n){const i=this.proxy,o=(0,r.Kg)(t)?t.includes(".")?yt(i,t):()=>i[t]:t.bind(i,i);let a;(0,r.Tn)(e)?a=e:(a=e.handler,n=e);const s=Ii;Li(this);const l=vt(o,a.bind(i),n);return s?Li(s):Ei(),l}function yt(t,e){const n=e.split(".");return()=>{let e=t;for(let t=0;t{bt(t,e)}));else if((0,r.Qd)(t))for(const n in t)bt(t[n],e);return t}function xt(t,e){const n=B;if(null===n)return t;const i=Ki(n)||n.proxy,o=t.dirs||(t.dirs=[]);for(let a=0;a{t.isMounted=!0})),Qt((()=>{t.isUnmounting=!0})),t}const Ct=[Function,Array],_t={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ct,onEnter:Ct,onAfterEnter:Ct,onEnterCancelled:Ct,onBeforeLeave:Ct,onLeave:Ct,onAfterLeave:Ct,onLeaveCancelled:Ct,onBeforeAppear:Ct,onAppear:Ct,onAfterAppear:Ct,onAppearCancelled:Ct},St={name:"BaseTransition",props:_t,setup(t,{slots:e}){const n=Ti(),r=kt();let o;return()=>{const a=e.default&&Ot(e.default(),!0);if(!a||!a.length)return;let s=a[0];if(a.length>1){let t=!1;for(const e of a)if(e.type!==Wn){0,s=e,t=!0;break}}const l=(0,i.ux)(t),{mode:u}=l;if(r.isLeaving)return Tt(s);const c=Nt(s);if(!c)return Tt(s);const h=It(c,l,r,n);$t(c,h);const p=n.subTree,d=p&&Nt(p);let f=!1;const{getTransitionKey:m}=c.type;if(m){const t=m();void 0===o?o=t:t!==o&&(o=t,f=!0)}if(d&&d.type!==Wn&&(!si(c,d)||f)){const t=It(d,l,r,n);if($t(d,t),"out-in"===u)return r.isLeaving=!0,t.afterLeave=()=>{r.isLeaving=!1,!1!==n.update.active&&n.update()},Tt(s);"in-out"===u&&c.type!==Wn&&(t.delayLeave=(t,e,n)=>{const i=At(r,d);i[String(d.key)]=d,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=n})}return s}}},Mt=St;function At(t,e){const{leavingVNodes:n}=t;let i=n.get(e.type);return i||(i=Object.create(null),n.set(e.type,i)),i}function It(t,e,n,i){const{appear:o,mode:a,persisted:s=!1,onBeforeEnter:u,onEnter:c,onAfterEnter:h,onEnterCancelled:p,onBeforeLeave:d,onLeave:f,onAfterLeave:m,onLeaveCancelled:v,onBeforeAppear:g,onAppear:y,onAfterAppear:b,onAppearCancelled:x}=e,w=String(t.key),k=At(n,t),C=(t,e)=>{t&&l(t,i,9,e)},_=(t,e)=>{const n=e[1];C(t,e),(0,r.cy)(t)?t.every((t=>t.length<=1))&&n():t.length<=1&&n()},S={mode:a,persisted:s,beforeEnter(e){let i=u;if(!n.isMounted){if(!o)return;i=g||u}e._leaveCb&&e._leaveCb(!0);const r=k[w];r&&si(t,r)&&r.el._leaveCb&&r.el._leaveCb(),C(i,[e])},enter(t){let e=c,i=h,r=p;if(!n.isMounted){if(!o)return;e=y||c,i=b||h,r=x||p}let a=!1;const s=t._enterCb=e=>{a||(a=!0,C(e?r:i,[t]),S.delayedLeave&&S.delayedLeave(),t._enterCb=void 0)};e?_(e,[t,s]):s()},leave(e,i){const r=String(t.key);if(e._enterCb&&e._enterCb(!0),n.isUnmounting)return i();C(d,[e]);let o=!1;const a=e._leaveCb=n=>{o||(o=!0,i(),C(n?v:m,[e]),e._leaveCb=void 0,k[r]===t&&delete k[r])};k[r]=t,f?_(f,[e,a]):a()},clone(t){return It(t,e,n,i)}};return S}function Tt(t){if(Rt(t))return t=vi(t),t.children=null,t}function Nt(t){return Rt(t)?t.children?t.children[0]:void 0:t}function $t(t,e){6&t.shapeFlag&&t.component?$t(t.component.subTree,e):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function Ot(t,e=!1,n){let i=[],r=0;for(let o=0;o1)for(let o=0;o(0,r.X$)({name:t.name},e,{setup:t}))():t}const Et=t=>!!t.type.__asyncLoader;function Pt(t){(0,r.Tn)(t)&&(t={loader:t});const{loader:e,loadingComponent:n,errorComponent:o,delay:a=200,timeout:s,suspensible:l=!0,onError:c}=t;let h,p=null,d=0;const f=()=>(d++,p=null,m()),m=()=>{let t;return p||(t=p=e().catch((t=>{if(t=t instanceof Error?t:new Error(String(t)),c)return new Promise(((e,n)=>{const i=()=>e(f()),r=()=>n(t);c(t,i,r,d+1)}));throw t})).then((e=>t!==p&&p?p:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),h=e,e))))};return Lt({name:"AsyncComponentWrapper",__asyncLoader:m,get __asyncResolved(){return h},setup(){const t=Ii;if(h)return()=>Dt(h,t);const e=e=>{p=null,u(e,t,13,!o)};if(l&&t.suspense||Bi)return m().then((e=>()=>Dt(e,t))).catch((t=>(e(t),()=>o?di(o,{error:t}):null)));const r=(0,i.KR)(!1),c=(0,i.KR)(),d=(0,i.KR)(!!a);return a&&setTimeout((()=>{d.value=!1}),a),null!=s&&setTimeout((()=>{if(!r.value&&!c.value){const t=new Error(`Async component timed out after ${s}ms.`);e(t),c.value=t}}),s),m().then((()=>{r.value=!0,t.parent&&Rt(t.parent.vnode)&&k(t.parent.update)})).catch((t=>{e(t),c.value=t})),()=>r.value&&h?Dt(h,t):c.value&&o?di(o,{error:c.value}):n&&!d.value?di(n):void 0}})}function Dt(t,e){const{ref:n,props:i,children:r,ce:o}=e.vnode,a=di(t,i,r);return a.ref=n,a.ce=o,delete e.vnode.ce,a}const Rt=t=>t.type.__isKeepAlive,Bt={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(t,{slots:e}){const n=Ti(),i=n.ctx;if(!i.renderer)return()=>{const t=e.default&&e.default();return t&&1===t.length?t[0]:t};const o=new Map,a=new Set;let s=null;const l=n.suspense,{renderer:{p:u,m:c,um:h,o:{createElement:p}}}=i,d=p("div");function f(t){Ut(t),h(t,n,l,!0)}function m(t){o.forEach(((e,n)=>{const i=Wi(e.type);!i||t&&t(i)||v(n)}))}function v(t){const e=o.get(t);s&&si(e,s)?s&&Ut(s):f(e),o.delete(t),a.delete(t)}i.activate=(t,e,n,i,o)=>{const a=t.component;c(t,e,n,0,l),u(a.vnode,t,e,n,a,l,i,t.slotScopeIds,o),Nn((()=>{a.isDeactivated=!1,a.a&&(0,r.DY)(a.a);const e=t.props&&t.props.onVnodeMounted;e&&_i(e,a.parent,t)}),l)},i.deactivate=t=>{const e=t.component;c(t,d,null,1,l),Nn((()=>{e.da&&(0,r.DY)(e.da);const n=t.props&&t.props.onVnodeUnmounted;n&&_i(n,e.parent,t),e.isDeactivated=!0}),l)},mt((()=>[t.include,t.exclude]),(([t,e])=>{t&&m((e=>zt(t,e))),e&&m((t=>!zt(e,t)))}),{flush:"post",deep:!0});let g=null;const y=()=>{null!=g&&o.set(g,Gt(n.subTree))};return Yt(y),Jt(y),Qt((()=>{o.forEach((t=>{const{subTree:e,suspense:i}=n,r=Gt(e);if(t.type!==r.type||t.key!==r.key)f(t);else{Ut(r);const t=r.component.da;t&&Nn(t,i)}}))})),()=>{if(g=null,!e.default)return null;const n=e.default(),i=n[0];if(n.length>1)return s=null,n;if(!ai(i)||!(4&i.shapeFlag)&&!(128&i.shapeFlag))return s=null,i;let r=Gt(i);const l=r.type,u=Wi(Et(r)?r.type.__asyncResolved||{}:l),{include:c,exclude:h,max:p}=t;if(c&&(!u||!zt(c,u))||h&&u&&zt(h,u))return s=r,i;const d=null==r.key?l:r.key,f=o.get(d);return r.el&&(r=vi(r),128&i.shapeFlag&&(i.ssContent=r)),g=d,f?(r.el=f.el,r.component=f.component,r.transition&&$t(r,r.transition),r.shapeFlag|=512,a.delete(d),a.add(d)):(a.add(d),p&&a.size>parseInt(p,10)&&v(a.values().next().value)),r.shapeFlag|=256,s=r,J(i.type)?i:r}}},Ft=Bt;function zt(t,e){return(0,r.cy)(t)?t.some((t=>zt(t,e))):(0,r.Kg)(t)?t.split(",").includes(e):!!(0,r.gd)(t)&&t.test(e)}function jt(t,e){Ht(t,"a",e)}function Vt(t,e){Ht(t,"da",e)}function Ht(t,e,n=Ii){const i=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}return t()});if(Kt(e,i,n),n){let t=n.parent;while(t&&t.parent)Rt(t.parent.vnode)&&Zt(i,e,n,t),t=t.parent}}function Zt(t,e,n,i){const o=Kt(e,t,i,!0);te((()=>{(0,r.TF)(i[e],o)}),n)}function Ut(t){t.shapeFlag&=-257,t.shapeFlag&=-513}function Gt(t){return 128&t.shapeFlag?t.ssContent:t}function Kt(t,e,n=Ii,r=!1){if(n){const o=n[t]||(n[t]=[]),a=e.__weh||(e.__weh=(...r)=>{if(n.isUnmounted)return;(0,i.C4)(),Li(n);const o=l(e,n,t,r);return Ei(),(0,i.bl)(),o});return r?o.unshift(a):o.push(a),a}}const Wt=t=>(e,n=Ii)=>(!Bi||"sp"===t)&&Kt(t,((...t)=>e(...t)),n),qt=Wt("bm"),Yt=Wt("m"),Xt=Wt("bu"),Jt=Wt("u"),Qt=Wt("bum"),te=Wt("um"),ee=Wt("sp"),ne=Wt("rtg"),ie=Wt("rtc");function re(t,e=Ii){Kt("ec",t,e)}const oe="components",ae="directives";function se(t,e){return he(oe,t,!0,e)||t}const le=Symbol.for("v-ndc");function ue(t){return(0,r.Kg)(t)?he(oe,t,!1)||t:t||le}function ce(t){return he(ae,t)}function he(t,e,n=!0,i=!1){const o=B||Ii;if(o){const n=o.type;if(t===oe){const t=Wi(n,!1);if(t&&(t===e||t===(0,r.PT)(e)||t===(0,r.ZH)((0,r.PT)(e))))return n}const a=pe(o[t]||n[t],e)||pe(o.appContext[t],e);return!a&&i?n:a}}function pe(t,e){return t&&(t[e]||t[(0,r.PT)(e)]||t[(0,r.ZH)((0,r.PT)(e))])}function de(t,e,n,i){let o;const a=n&&n[i];if((0,r.cy)(t)||(0,r.Kg)(t)){o=new Array(t.length);for(let n=0,i=t.length;ne(t,n,void 0,a&&a[n])));else{const n=Object.keys(t);o=new Array(n.length);for(let i=0,r=n.length;i{const e=i.fn(...t);return e&&(e.key=i.key),e}:i.fn)}return t}function me(t,e,n={},i,r){if(B.isCE||B.parent&&Et(B.parent)&&B.parent.isCE)return"default"!==e&&(n.name=e),di("slot",n,i&&i());let o=t[e];o&&o._c&&(o._d=!1),Jn();const a=o&&ve(o(n)),s=oi(Gn,{key:n.key||a&&a.key||`_${e}`},a||(i?i():[]),a&&1===t._?64:-2);return!r&&s.scopeId&&(s.slotScopeIds=[s.scopeId+"-s"]),o&&o._c&&(o._d=!0),s}function ve(t){return t.some((t=>!ai(t)||t.type!==Wn&&!(t.type===Gn&&!ve(t.children))))?t:null}function ge(t,e){const n={};for(const i in t)n[e&&/[A-Z]/.test(i)?`on:${i}`:(0,r.rU)(i)]=t[i];return n}const ye=t=>t?Pi(t)?Ki(t)||t.proxy:ye(t.parent):null,be=(0,r.X$)(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>ye(t.parent),$root:t=>ye(t.root),$emit:t=>t.emit,$options:t=>Ze(t),$forceUpdate:t=>t.f||(t.f=()=>k(t.update)),$nextTick:t=>t.n||(t.n=x.bind(t.proxy)),$watch:t=>gt.bind(t)}),xe=(t,e)=>t!==r.MZ&&!t.__isScriptSetup&&(0,r.$3)(t,e),we={get({_:t},e){const{ctx:n,setupState:o,data:a,props:s,accessCache:l,type:u,appContext:c}=t;let h;if("$"!==e[0]){const i=l[e];if(void 0!==i)switch(i){case 1:return o[e];case 2:return a[e];case 4:return n[e];case 3:return s[e]}else{if(xe(o,e))return l[e]=1,o[e];if(a!==r.MZ&&(0,r.$3)(a,e))return l[e]=2,a[e];if((h=t.propsOptions[0])&&(0,r.$3)(h,e))return l[e]=3,s[e];if(n!==r.MZ&&(0,r.$3)(n,e))return l[e]=4,n[e];Fe&&(l[e]=0)}}const p=be[e];let d,f;return p?("$attrs"===e&&(0,i.u4)(t,"get",e),p(t)):(d=u.__cssModules)&&(d=d[e])?d:n!==r.MZ&&(0,r.$3)(n,e)?(l[e]=4,n[e]):(f=c.config.globalProperties,(0,r.$3)(f,e)?f[e]:void 0)},set({_:t},e,n){const{data:i,setupState:o,ctx:a}=t;return xe(o,e)?(o[e]=n,!0):i!==r.MZ&&(0,r.$3)(i,e)?(i[e]=n,!0):!(0,r.$3)(t.props,e)&&(("$"!==e[0]||!(e.slice(1)in t))&&(a[e]=n,!0))},has({_:{data:t,setupState:e,accessCache:n,ctx:i,appContext:o,propsOptions:a}},s){let l;return!!n[s]||t!==r.MZ&&(0,r.$3)(t,s)||xe(e,s)||(l=a[0])&&(0,r.$3)(l,s)||(0,r.$3)(i,s)||(0,r.$3)(be,s)||(0,r.$3)(o.config.globalProperties,s)},defineProperty(t,e,n){return null!=n.get?t._.accessCache[e]=0:(0,r.$3)(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};const ke=(0,r.X$)({},we,{get(t,e){if(e!==Symbol.unscopables)return we.get(t,e,t)},has(t,e){const n="_"!==e[0]&&!(0,r.Ft)(e);return n}});function Ce(){return null}function _e(){return null}function Se(t){0}function Me(t){0}function Ae(){return null}function Ie(){0}function Te(t,e){return null}function Ne(){return Le().slots}function $e(){return Le().attrs}function Oe(t,e,n){const r=Ti();if(n&&n.local){const n=(0,i.KR)(t[e]);return mt((()=>t[e]),(t=>n.value=t)),mt(n,(n=>{n!==t[e]&&r.emit(`update:${e}`,n)})),n}return{__v_isRef:!0,get value(){return t[e]},set value(t){r.emit(`update:${e}`,t)}}}function Le(){const t=Ti();return t.setupContext||(t.setupContext=Gi(t))}function Ee(t){return(0,r.cy)(t)?t.reduce(((t,e)=>(t[e]=null,t)),{}):t}function Pe(t,e){const n=Ee(t);for(const i in e){if(i.startsWith("__skip"))continue;let t=n[i];t?(0,r.cy)(t)||(0,r.Tn)(t)?t=n[i]={type:t,default:e[i]}:t.default=e[i]:null===t&&(t=n[i]={default:e[i]}),t&&e[`__skip_${i}`]&&(t.skipFactory=!0)}return n}function De(t,e){return t&&e?(0,r.cy)(t)&&(0,r.cy)(e)?t.concat(e):(0,r.X$)({},Ee(t),Ee(e)):t||e}function Re(t,e){const n={};for(const i in t)e.includes(i)||Object.defineProperty(n,i,{enumerable:!0,get:()=>t[i]});return n}function Be(t){const e=Ti();let n=t();return Ei(),(0,r.yL)(n)&&(n=n.catch((t=>{throw Li(e),t}))),[n,()=>Li(e)]}let Fe=!0;function ze(t){const e=Ze(t),n=t.proxy,o=t.ctx;Fe=!1,e.beforeCreate&&Ve(e.beforeCreate,t,"bc");const{data:a,computed:s,methods:l,watch:u,provide:c,inject:h,created:p,beforeMount:d,mounted:f,beforeUpdate:m,updated:v,activated:g,deactivated:y,beforeDestroy:b,beforeUnmount:x,destroyed:w,unmounted:k,render:C,renderTracked:_,renderTriggered:S,errorCaptured:M,serverPrefetch:A,expose:I,inheritAttrs:T,components:N,directives:$,filters:O}=e,L=null;if(h&&je(h,o,L),l)for(const i in l){const t=l[i];(0,r.Tn)(t)&&(o[i]=t.bind(n))}if(a){0;const e=a.call(n,n);0,(0,r.Gv)(e)&&(t.data=(0,i.Kh)(e))}if(Fe=!0,s)for(const i in s){const t=s[i],e=(0,r.Tn)(t)?t.bind(n,n):(0,r.Tn)(t.get)?t.get.bind(n,n):r.tE;0;const a=!(0,r.Tn)(t)&&(0,r.Tn)(t.set)?t.set.bind(n):r.tE,l=Yi({get:e,set:a});Object.defineProperty(o,i,{enumerable:!0,configurable:!0,get:()=>l.value,set:t=>l.value=t})}if(u)for(const i in u)He(u[i],o,n,i);if(c){const t=(0,r.Tn)(c)?c.call(n):c;Reflect.ownKeys(t).forEach((e=>{on(e,t[e])}))}function E(t,e){(0,r.cy)(e)?e.forEach((e=>t(e.bind(n)))):e&&t(e.bind(n))}if(p&&Ve(p,t,"c"),E(qt,d),E(Yt,f),E(Xt,m),E(Jt,v),E(jt,g),E(Vt,y),E(re,M),E(ie,_),E(ne,S),E(Qt,x),E(te,k),E(ee,A),(0,r.cy)(I))if(I.length){const e=t.exposed||(t.exposed={});I.forEach((t=>{Object.defineProperty(e,t,{get:()=>n[t],set:e=>n[t]=e})}))}else t.exposed||(t.exposed={});C&&t.render===r.tE&&(t.render=C),null!=T&&(t.inheritAttrs=T),N&&(t.components=N),$&&(t.directives=$)}function je(t,e,n=r.tE){(0,r.cy)(t)&&(t=qe(t));for(const o in t){const n=t[o];let a;a=(0,r.Gv)(n)?"default"in n?an(n.from||o,n.default,!0):an(n.from||o):an(n),(0,i.i9)(a)?Object.defineProperty(e,o,{enumerable:!0,configurable:!0,get:()=>a.value,set:t=>a.value=t}):e[o]=a}}function Ve(t,e,n){l((0,r.cy)(t)?t.map((t=>t.bind(e.proxy))):t.bind(e.proxy),e,n)}function He(t,e,n,i){const o=i.includes(".")?yt(n,i):()=>n[i];if((0,r.Kg)(t)){const n=e[t];(0,r.Tn)(n)&&mt(o,n)}else if((0,r.Tn)(t))mt(o,t.bind(n));else if((0,r.Gv)(t))if((0,r.cy)(t))t.forEach((t=>He(t,e,n,i)));else{const i=(0,r.Tn)(t.handler)?t.handler.bind(n):e[t.handler];(0,r.Tn)(i)&&mt(o,i,t)}else 0}function Ze(t){const e=t.type,{mixins:n,extends:i}=e,{mixins:o,optionsCache:a,config:{optionMergeStrategies:s}}=t.appContext,l=a.get(e);let u;return l?u=l:o.length||n||i?(u={},o.length&&o.forEach((t=>Ue(u,t,s,!0))),Ue(u,e,s)):u=e,(0,r.Gv)(e)&&a.set(e,u),u}function Ue(t,e,n,i=!1){const{mixins:r,extends:o}=e;o&&Ue(t,o,n,!0),r&&r.forEach((e=>Ue(t,e,n,!0)));for(const a in e)if(i&&"expose"===a);else{const i=Ge[a]||n&&n[a];t[a]=i?i(t[a],e[a]):e[a]}return t}const Ge={data:Ke,props:Je,emits:Je,methods:Xe,computed:Xe,beforeCreate:Ye,created:Ye,beforeMount:Ye,mounted:Ye,beforeUpdate:Ye,updated:Ye,beforeDestroy:Ye,beforeUnmount:Ye,destroyed:Ye,unmounted:Ye,activated:Ye,deactivated:Ye,errorCaptured:Ye,serverPrefetch:Ye,components:Xe,directives:Xe,watch:Qe,provide:Ke,inject:We};function Ke(t,e){return e?t?function(){return(0,r.X$)((0,r.Tn)(t)?t.call(this,this):t,(0,r.Tn)(e)?e.call(this,this):e)}:e:t}function We(t,e){return Xe(qe(t),qe(e))}function qe(t){if((0,r.cy)(t)){const e={};for(let n=0;n1)return n&&(0,r.Tn)(e)?e.call(i&&i.proxy):e}else 0}function sn(){return!!(Ii||B||rn)}function ln(t,e,n,o=!1){const a={},s={};(0,r.yQ)(s,ui,1),t.propsDefaults=Object.create(null),cn(t,e,a,s);for(const i in t.propsOptions[0])i in a||(a[i]=void 0);n?t.props=o?a:(0,i.Gc)(a):t.type.props?t.props=a:t.props=s,t.attrs=s}function un(t,e,n,o){const{props:a,attrs:s,vnode:{patchFlag:l}}=t,u=(0,i.ux)(a),[c]=t.propsOptions;let h=!1;if(!(o||l>0)||16&l){let i;cn(t,e,a,s)&&(h=!0);for(const o in u)e&&((0,r.$3)(e,o)||(i=(0,r.Tg)(o))!==o&&(0,r.$3)(e,i))||(c?!n||void 0===n[o]&&void 0===n[i]||(a[o]=hn(c,u,o,void 0,t,!0)):delete a[o]);if(s!==u)for(const t in s)e&&(0,r.$3)(e,t)||(delete s[t],h=!0)}else if(8&l){const n=t.vnode.dynamicProps;for(let i=0;i{u=!0;const[n,i]=pn(t,e,!0);(0,r.X$)(s,n),i&&l.push(...i)};!n&&e.mixins.length&&e.mixins.forEach(i),t.extends&&i(t.extends),t.mixins&&t.mixins.forEach(i)}if(!a&&!u)return(0,r.Gv)(t)&&i.set(t,r.Oj),r.Oj;if((0,r.cy)(a))for(let h=0;h-1,i[1]=n<0||t-1||(0,r.$3)(i,"default"))&&l.push(e)}}}}const c=[s,l];return(0,r.Gv)(t)&&i.set(t,c),c}function dn(t){return"$"!==t[0]}function fn(t){const e=t&&t.toString().match(/^\s*(function|class) (\w+)/);return e?e[2]:null===t?"null":""}function mn(t,e){return fn(t)===fn(e)}function vn(t,e){return(0,r.cy)(e)?e.findIndex((e=>mn(e,t))):(0,r.Tn)(e)&&mn(e,t)?0:-1}const gn=t=>"_"===t[0]||"$stable"===t,yn=t=>(0,r.cy)(t)?t.map(xi):[xi(t)],bn=(t,e,n)=>{if(e._n)return e;const i=Z(((...t)=>yn(e(...t))),n);return i._c=!1,i},xn=(t,e,n)=>{const i=t._ctx;for(const o in t){if(gn(o))continue;const n=t[o];if((0,r.Tn)(n))e[o]=bn(o,n,i);else if(null!=n){0;const t=yn(n);e[o]=()=>t}}},wn=(t,e)=>{const n=yn(e);t.slots.default=()=>n},kn=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=(0,i.ux)(e),(0,r.yQ)(e,"_",n)):xn(e,t.slots={})}else t.slots={},e&&wn(t,e);(0,r.yQ)(t.slots,ui,1)},Cn=(t,e,n)=>{const{vnode:i,slots:o}=t;let a=!0,s=r.MZ;if(32&i.shapeFlag){const t=e._;t?n&&1===t?a=!1:((0,r.X$)(o,e),n||1!==t||delete o._):(a=!e.$stable,xn(e,o)),s=e}else e&&(wn(t,e),s={default:1});if(a)for(const r in o)gn(r)||r in s||delete o[r]};function _n(t,e,n,o,a=!1){if((0,r.cy)(t))return void t.forEach(((t,i)=>_n(t,e&&((0,r.cy)(e)?e[i]:e),n,o,a)));if(Et(o)&&!a)return;const l=4&o.shapeFlag?Ki(o.component)||o.component.proxy:o.el,u=a?null:l,{i:c,r:h}=t;const p=e&&e.r,d=c.refs===r.MZ?c.refs={}:c.refs,f=c.setupState;if(null!=p&&p!==h&&((0,r.Kg)(p)?(d[p]=null,(0,r.$3)(f,p)&&(f[p]=null)):(0,i.i9)(p)&&(p.value=null)),(0,r.Tn)(h))s(h,c,12,[u,d]);else{const e=(0,r.Kg)(h),o=(0,i.i9)(h);if(e||o){const i=()=>{if(t.f){const n=e?(0,r.$3)(f,h)?f[h]:d[h]:h.value;a?(0,r.cy)(n)&&(0,r.TF)(n,l):(0,r.cy)(n)?n.includes(l)||n.push(l):e?(d[h]=[l],(0,r.$3)(f,h)&&(f[h]=d[h])):(h.value=[l],t.k&&(d[t.k]=h.value))}else e?(d[h]=u,(0,r.$3)(f,h)&&(f[h]=u)):o&&(h.value=u,t.k&&(d[t.k]=u))};u?(i.id=-1,Nn(i,n)):i()}else 0}}let Sn=!1;const Mn=t=>/svg/.test(t.namespaceURI)&&"foreignObject"!==t.tagName,An=t=>8===t.nodeType;function In(t){const{mt:e,p:n,o:{patchProp:i,createText:o,nextSibling:a,parentNode:s,remove:l,insert:u,createComment:c}}=t,h=(t,e)=>{if(!e.hasChildNodes())return n(null,t,e),A(),void(e._vnode=t);Sn=!1,p(e.firstChild,t,null,null,null),A(),e._vnode=t,Sn&&console.error("Hydration completed but contains mismatches.")},p=(n,i,r,l,c,h=!1)=>{const y=An(n)&&"["===n.data,b=()=>v(n,i,r,l,c,y),{type:x,ref:w,shapeFlag:k,patchFlag:C}=i;let _=n.nodeType;i.el=n,-2===C&&(h=!1,i.dynamicChildren=null);let S=null;switch(x){case Kn:3!==_?""===i.children?(u(i.el=o(""),s(n),n),S=n):S=b():(n.data!==i.children&&(Sn=!0,n.data=i.children),S=a(n));break;case Wn:S=8!==_||y?b():a(n);break;case qn:if(y&&(n=a(n),_=n.nodeType),1===_||3===_){S=n;const t=!i.children.length;for(let e=0;e{s=s||!!e.dynamicChildren;const{type:u,props:c,patchFlag:h,shapeFlag:p,dirs:d}=e,m="input"===u&&d||"option"===u;if(m||-1!==h){if(d&&wt(e,null,n,"created"),c)if(m||!s||48&h)for(const e in c)(m&&e.endsWith("value")||(0,r.Mp)(e)&&!(0,r.SU)(e))&&i(t,e,null,c[e],!1,void 0,n);else c.onClick&&i(t,"onClick",null,c.onClick,!1,void 0,n);let u;if((u=c&&c.onVnodeBeforeMount)&&_i(u,n,e),d&&wt(e,null,n,"beforeMount"),((u=c&&c.onVnodeMounted)||d)&<((()=>{u&&_i(u,n,e),d&&wt(e,null,n,"mounted")}),o),16&p&&(!c||!c.innerHTML&&!c.textContent)){let i=f(t.firstChild,e,t,n,o,a,s);while(i){Sn=!0;const t=i;i=i.nextSibling,l(t)}}else 8&p&&t.textContent!==e.children&&(Sn=!0,t.textContent=e.children)}return t.nextSibling},f=(t,e,i,r,o,a,s)=>{s=s||!!e.dynamicChildren;const l=e.children,u=l.length;for(let c=0;c{const{slotScopeIds:l}=e;l&&(r=r?r.concat(l):l);const h=s(t),p=f(a(t),e,h,n,i,r,o);return p&&An(p)&&"]"===p.data?a(e.anchor=p):(Sn=!0,u(e.anchor=c("]"),h,p),p)},v=(t,e,i,r,o,u)=>{if(Sn=!0,e.el=null,u){const e=g(t);while(1){const n=a(t);if(!n||n===e)break;l(n)}}const c=a(t),h=s(t);return l(t),n(null,e,h,c,i,r,Mn(h),o),c},g=t=>{let e=0;while(t)if(t=a(t),t&&An(t)&&("["===t.data&&e++,"]"===t.data)){if(0===e)return a(t);e--}return t};return[h,p]}function Tn(){}const Nn=lt;function $n(t){return Ln(t)}function On(t){return Ln(t,In)}function Ln(t,e){Tn();const n=(0,r.We)();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:l,createText:u,createComment:c,setText:h,setElementText:p,parentNode:d,nextSibling:f,setScopeId:m=r.tE,insertStaticContent:v}=t,g=(t,e,n,i=null,r=null,o=null,a=!1,s=null,l=!!e.dynamicChildren)=>{if(t===e)return;t&&!si(t,e)&&(i=J(t),Z(t,r,o,!0),t=null),-2===e.patchFlag&&(l=!1,e.dynamicChildren=null);const{type:u,ref:c,shapeFlag:h}=e;switch(u){case Kn:y(t,e,n,i);break;case Wn:b(t,e,n,i);break;case qn:null==t&&x(e,n,i,a);break;case Gn:E(t,e,n,i,r,o,a,s,l);break;default:1&h?S(t,e,n,i,r,o,a,s,l):6&h?P(t,e,n,i,r,o,a,s,l):(64&h||128&h)&&u.process(t,e,n,i,r,o,a,s,l,tt)}null!=c&&r&&_n(c,t&&t.ref,o,e||t,!e)},y=(t,e,n,i)=>{if(null==t)o(e.el=u(e.children),n,i);else{const n=e.el=t.el;e.children!==t.children&&h(n,e.children)}},b=(t,e,n,i)=>{null==t?o(e.el=c(e.children||""),n,i):e.el=t.el},x=(t,e,n,i)=>{[t.el,t.anchor]=v(t.children,e,n,i,t.el,t.anchor)},w=({el:t,anchor:e},n,i)=>{let r;while(t&&t!==e)r=f(t),o(t,n,i),t=r;o(e,n,i)},C=({el:t,anchor:e})=>{let n;while(t&&t!==e)n=f(t),a(t),t=n;a(e)},S=(t,e,n,i,r,o,a,s,l)=>{a=a||"svg"===e.type,null==t?I(e,n,i,r,o,a,s,l):$(t,e,r,o,a,s,l)},I=(t,e,n,i,a,u,c,h)=>{let d,f;const{type:m,props:v,shapeFlag:g,transition:y,dirs:b}=t;if(d=t.el=l(t.type,u,v&&v.is,v),8&g?p(d,t.children):16&g&&N(t.children,d,null,i,a,u&&"foreignObject"!==m,c,h),b&&wt(t,null,i,"created"),T(d,t,t.scopeId,c,i),v){for(const e in v)"value"===e||(0,r.SU)(e)||s(d,e,null,v[e],u,t.children,i,a,Y);"value"in v&&s(d,"value",null,v.value),(f=v.onVnodeBeforeMount)&&_i(f,i,t)}b&&wt(t,null,i,"beforeMount");const x=(!a||a&&!a.pendingBranch)&&y&&!y.persisted;x&&y.beforeEnter(d),o(d,e,n),((f=v&&v.onVnodeMounted)||x||b)&&Nn((()=>{f&&_i(f,i,t),x&&y.enter(d),b&&wt(t,null,i,"mounted")}),a)},T=(t,e,n,i,r)=>{if(n&&m(t,n),i)for(let o=0;o{for(let u=l;u{const u=e.el=t.el;let{patchFlag:c,dynamicChildren:h,dirs:d}=e;c|=16&t.patchFlag;const f=t.props||r.MZ,m=e.props||r.MZ;let v;n&&En(n,!1),(v=m.onVnodeBeforeUpdate)&&_i(v,n,e,t),d&&wt(e,t,n,"beforeUpdate"),n&&En(n,!0);const g=o&&"foreignObject"!==e.type;if(h?O(t.dynamicChildren,h,u,n,i,g,a):l||z(t,e,u,null,n,i,g,a,!1),c>0){if(16&c)L(u,e,f,m,n,i,o);else if(2&c&&f.class!==m.class&&s(u,"class",null,m.class,o),4&c&&s(u,"style",f.style,m.style,o),8&c){const r=e.dynamicProps;for(let e=0;e{v&&_i(v,n,e,t),d&&wt(e,t,n,"updated")}),i)},O=(t,e,n,i,r,o,a)=>{for(let s=0;s{if(n!==i){if(n!==r.MZ)for(const u in n)(0,r.SU)(u)||u in i||s(t,u,n[u],null,l,e.children,o,a,Y);for(const u in i){if((0,r.SU)(u))continue;const c=i[u],h=n[u];c!==h&&"value"!==u&&s(t,u,h,c,l,e.children,o,a,Y)}"value"in i&&s(t,"value",n.value,i.value)}},E=(t,e,n,i,r,a,s,l,c)=>{const h=e.el=t?t.el:u(""),p=e.anchor=t?t.anchor:u("");let{patchFlag:d,dynamicChildren:f,slotScopeIds:m}=e;m&&(l=l?l.concat(m):m),null==t?(o(h,n,i),o(p,n,i),N(e.children,n,p,r,a,s,l,c)):d>0&&64&d&&f&&t.dynamicChildren?(O(t.dynamicChildren,f,n,r,a,s,l),(null!=e.key||r&&e===r.subTree)&&Pn(t,e,!0)):z(t,e,n,p,r,a,s,l,c)},P=(t,e,n,i,r,o,a,s,l)=>{e.slotScopeIds=s,null==t?512&e.shapeFlag?r.ctx.activate(e,n,i,a,l):D(e,n,i,r,o,a,l):R(t,e,l)},D=(t,e,n,i,r,o,a)=>{const s=t.component=Ai(t,i,r);if(Rt(t)&&(s.ctx.renderer=tt),Fi(s),s.asyncDep){if(r&&r.registerDep(s,B),!t.el){const t=s.subTree=di(Wn);b(null,t,e,n)}}else B(s,t,e,n,r,o,a)},R=(t,e,n)=>{const i=e.component=t.component;if(q(t,e,n)){if(i.asyncDep&&!i.asyncResolved)return void F(i,e,n);i.next=e,_(i.update),i.update()}else e.el=t.el,i.vnode=e},B=(t,e,n,o,a,s,l)=>{const u=()=>{if(t.isMounted){let e,{next:n,bu:i,u:o,parent:u,vnode:c}=t,h=n;0,En(t,!1),n?(n.el=c.el,F(t,n,l)):n=c,i&&(0,r.DY)(i),(e=n.props&&n.props.onVnodeBeforeUpdate)&&_i(e,u,n,c),En(t,!0);const p=U(t);0;const f=t.subTree;t.subTree=p,g(f,p,d(f.el),J(f),t,a,s),n.el=p.el,null===h&&X(t,p.el),o&&Nn(o,a),(e=n.props&&n.props.onVnodeUpdated)&&Nn((()=>_i(e,u,n,c)),a)}else{let i;const{el:l,props:u}=e,{bm:c,m:h,parent:p}=t,d=Et(e);if(En(t,!1),c&&(0,r.DY)(c),!d&&(i=u&&u.onVnodeBeforeMount)&&_i(i,p,e),En(t,!0),l&&nt){const n=()=>{t.subTree=U(t),nt(l,t.subTree,t,a,null)};d?e.type.__asyncLoader().then((()=>!t.isUnmounted&&n())):n()}else{0;const i=t.subTree=U(t);0,g(null,i,n,o,t,a,s),e.el=i.el}if(h&&Nn(h,a),!d&&(i=u&&u.onVnodeMounted)){const t=e;Nn((()=>_i(i,p,t)),a)}(256&e.shapeFlag||p&&Et(p.vnode)&&256&p.vnode.shapeFlag)&&t.a&&Nn(t.a,a),t.isMounted=!0,e=n=o=null}},c=t.effect=new i.X2(u,(()=>k(h)),t.scope),h=t.update=()=>c.run();h.id=t.uid,En(t,!0),h()},F=(t,e,n)=>{e.component=t;const r=t.vnode.props;t.vnode=e,t.next=null,un(t,e.props,r,n),Cn(t,e.children,n),(0,i.C4)(),M(),(0,i.bl)()},z=(t,e,n,i,r,o,a,s,l=!1)=>{const u=t&&t.children,c=t?t.shapeFlag:0,h=e.children,{patchFlag:d,shapeFlag:f}=e;if(d>0){if(128&d)return void V(u,h,n,i,r,o,a,s,l);if(256&d)return void j(u,h,n,i,r,o,a,s,l)}8&f?(16&c&&Y(u,r,o),h!==u&&p(n,h)):16&c?16&f?V(u,h,n,i,r,o,a,s,l):Y(u,r,o,!0):(8&c&&p(n,""),16&f&&N(h,n,i,r,o,a,s,l))},j=(t,e,n,i,o,a,s,l,u)=>{t=t||r.Oj,e=e||r.Oj;const c=t.length,h=e.length,p=Math.min(c,h);let d;for(d=0;dh?Y(t,o,a,!0,!1,p):N(e,n,i,o,a,s,l,u,p)},V=(t,e,n,i,o,a,s,l,u)=>{let c=0;const h=e.length;let p=t.length-1,d=h-1;while(c<=p&&c<=d){const i=t[c],r=e[c]=u?wi(e[c]):xi(e[c]);if(!si(i,r))break;g(i,r,n,null,o,a,s,l,u),c++}while(c<=p&&c<=d){const i=t[p],r=e[d]=u?wi(e[d]):xi(e[d]);if(!si(i,r))break;g(i,r,n,null,o,a,s,l,u),p--,d--}if(c>p){if(c<=d){const t=d+1,r=td)while(c<=p)Z(t[c],o,a,!0),c++;else{const f=c,m=c,v=new Map;for(c=m;c<=d;c++){const t=e[c]=u?wi(e[c]):xi(e[c]);null!=t.key&&v.set(t.key,c)}let y,b=0;const x=d-m+1;let w=!1,k=0;const C=new Array(x);for(c=0;c=x){Z(i,o,a,!0);continue}let r;if(null!=i.key)r=v.get(i.key);else for(y=m;y<=d;y++)if(0===C[y-m]&&si(i,e[y])){r=y;break}void 0===r?Z(i,o,a,!0):(C[r-m]=c+1,r>=k?k=r:w=!0,g(i,e[r],n,null,o,a,s,l,u),b++)}const _=w?Dn(C):r.Oj;for(y=_.length-1,c=x-1;c>=0;c--){const t=m+c,r=e[t],p=t+1{const{el:a,type:s,transition:l,children:u,shapeFlag:c}=t;if(6&c)return void H(t.component.subTree,e,n,i);if(128&c)return void t.suspense.move(e,n,i);if(64&c)return void s.move(t,e,n,tt);if(s===Gn){o(a,e,n);for(let t=0;tl.enter(a)),r);else{const{leave:t,delayLeave:i,afterLeave:r}=l,s=()=>o(a,e,n),u=()=>{t(a,(()=>{s(),r&&r()}))};i?i(a,s,u):u()}else o(a,e,n)},Z=(t,e,n,i=!1,r=!1)=>{const{type:o,props:a,ref:s,children:l,dynamicChildren:u,shapeFlag:c,patchFlag:h,dirs:p}=t;if(null!=s&&_n(s,null,n,t,!0),256&c)return void e.ctx.deactivate(t);const d=1&c&&p,f=!Et(t);let m;if(f&&(m=a&&a.onVnodeBeforeUnmount)&&_i(m,e,t),6&c)W(t.component,n,i);else{if(128&c)return void t.suspense.unmount(n,i);d&&wt(t,null,e,"beforeUnmount"),64&c?t.type.remove(t,e,n,r,tt,i):u&&(o!==Gn||h>0&&64&h)?Y(u,e,n,!1,!0):(o===Gn&&384&h||!r&&16&c)&&Y(l,e,n),i&&G(t)}(f&&(m=a&&a.onVnodeUnmounted)||d)&&Nn((()=>{m&&_i(m,e,t),d&&wt(t,null,e,"unmounted")}),n)},G=t=>{const{type:e,el:n,anchor:i,transition:r}=t;if(e===Gn)return void K(n,i);if(e===qn)return void C(t);const o=()=>{a(n),r&&!r.persisted&&r.afterLeave&&r.afterLeave()};if(1&t.shapeFlag&&r&&!r.persisted){const{leave:e,delayLeave:i}=r,a=()=>e(n,o);i?i(t.el,o,a):a()}else o()},K=(t,e)=>{let n;while(t!==e)n=f(t),a(t),t=n;a(e)},W=(t,e,n)=>{const{bum:i,scope:o,update:a,subTree:s,um:l}=t;i&&(0,r.DY)(i),o.stop(),a&&(a.active=!1,Z(s,t,e,n)),l&&Nn(l,e),Nn((()=>{t.isUnmounted=!0}),e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},Y=(t,e,n,i=!1,r=!1,o=0)=>{for(let a=o;a6&t.shapeFlag?J(t.component.subTree):128&t.shapeFlag?t.suspense.next():f(t.anchor||t.el),Q=(t,e,n)=>{null==t?e._vnode&&Z(e._vnode,null,null,!0):g(e._vnode||null,t,e,null,null,null,n),M(),A(),e._vnode=t},tt={p:g,um:Z,m:H,r:G,mt:D,mc:N,pc:z,pbc:O,n:J,o:t};let et,nt;return e&&([et,nt]=e(tt)),{render:Q,hydrate:et,createApp:nn(Q,et)}}function En({effect:t,update:e},n){t.allowRecurse=e.allowRecurse=n}function Pn(t,e,n=!1){const i=t.children,o=e.children;if((0,r.cy)(i)&&(0,r.cy)(o))for(let r=0;r>1,t[n[s]]0&&(e[i]=n[o-1]),n[o]=i)}}o=n.length,a=n[o-1];while(o-- >0)n[o]=a,a=e[a];return n}const Rn=t=>t.__isTeleport,Bn=t=>t&&(t.disabled||""===t.disabled),Fn=t=>"undefined"!==typeof SVGElement&&t instanceof SVGElement,zn=(t,e)=>{const n=t&&t.to;if((0,r.Kg)(n)){if(e){const t=e(n);return t}return null}return n},jn={__isTeleport:!0,process(t,e,n,i,r,o,a,s,l,u){const{mc:c,pc:h,pbc:p,o:{insert:d,querySelector:f,createText:m,createComment:v}}=u,g=Bn(e.props);let{shapeFlag:y,children:b,dynamicChildren:x}=e;if(null==t){const t=e.el=m(""),u=e.anchor=m("");d(t,n,i),d(u,n,i);const h=e.target=zn(e.props,f),p=e.targetAnchor=m("");h&&(d(p,h),a=a||Fn(h));const v=(t,e)=>{16&y&&c(b,t,e,r,o,a,s,l)};g?v(n,u):h&&v(h,p)}else{e.el=t.el;const i=e.anchor=t.anchor,c=e.target=t.target,d=e.targetAnchor=t.targetAnchor,m=Bn(t.props),v=m?n:c,y=m?i:d;if(a=a||Fn(c),x?(p(t.dynamicChildren,x,v,r,o,a,s),Pn(t,e,!0)):l||h(t,e,v,y,r,o,a,s,!1),g)m||Vn(e,n,i,u,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const t=e.target=zn(e.props,f);t&&Vn(e,t,null,u,0)}else m&&Vn(e,c,d,u,1)}Un(e)},remove(t,e,n,i,{um:r,o:{remove:o}},a){const{shapeFlag:s,children:l,anchor:u,targetAnchor:c,target:h,props:p}=t;if(h&&o(c),(a||!Bn(p))&&(o(u),16&s))for(let d=0;d0?Xn||r.Oj:null,Qn(),ei>0&&Xn&&Xn.push(t),t}function ri(t,e,n,i,r,o){return ii(pi(t,e,n,i,r,o,!0))}function oi(t,e,n,i,r){return ii(di(t,e,n,i,r,!0))}function ai(t){return!!t&&!0===t.__v_isVNode}function si(t,e){return t.type===e.type&&t.key===e.key}function li(t){ti=t}const ui="__vInternal",ci=({key:t})=>null!=t?t:null,hi=({ref:t,ref_key:e,ref_for:n})=>("number"===typeof t&&(t=""+t),null!=t?(0,r.Kg)(t)||(0,i.i9)(t)||(0,r.Tn)(t)?{i:B,r:t,k:e,f:!!n}:t:null);function pi(t,e=null,n=null,i=0,o=null,a=(t===Gn?0:1),s=!1,l=!1){const u={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&ci(e),ref:e&&hi(e),scopeId:F,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:a,patchFlag:i,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:B};return l?(ki(u,n),128&a&&t.normalize(u)):n&&(u.shapeFlag|=(0,r.Kg)(n)?8:16),ei>0&&!s&&Xn&&(u.patchFlag>0||6&a)&&32!==u.patchFlag&&Xn.push(u),u}const di=fi;function fi(t,e=null,n=null,o=0,a=null,s=!1){if(t&&t!==le||(t=Wn),ai(t)){const i=vi(t,e,!0);return n&&ki(i,n),ei>0&&!s&&Xn&&(6&i.shapeFlag?Xn[Xn.indexOf(t)]=i:Xn.push(i)),i.patchFlag|=-2,i}if(qi(t)&&(t=t.__vccOpts),e){e=mi(e);let{class:t,style:n}=e;t&&!(0,r.Kg)(t)&&(e.class=(0,r.C4)(t)),(0,r.Gv)(n)&&((0,i.ju)(n)&&!(0,r.cy)(n)&&(n=(0,r.X$)({},n)),e.style=(0,r.Tr)(n))}const l=(0,r.Kg)(t)?1:J(t)?128:Rn(t)?64:(0,r.Gv)(t)?4:(0,r.Tn)(t)?2:0;return pi(t,e,n,o,a,l,s,!0)}function mi(t){return t?(0,i.ju)(t)||ui in t?(0,r.X$)({},t):t:null}function vi(t,e,n=!1){const{props:i,ref:o,patchFlag:a,children:s}=t,l=e?Ci(i||{},e):i,u={__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&ci(l),ref:e&&e.ref?n&&o?(0,r.cy)(o)?o.concat(hi(e)):[o,hi(e)]:hi(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:s,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Gn?-1===a?16:16|a:a,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&vi(t.ssContent),ssFallback:t.ssFallback&&vi(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return u}function gi(t=" ",e=0){return di(Kn,null,t,e)}function yi(t,e){const n=di(qn,null,t);return n.staticCount=e,n}function bi(t="",e=!1){return e?(Jn(),oi(Wn,null,t)):di(Wn,null,t)}function xi(t){return null==t||"boolean"===typeof t?di(Wn):(0,r.cy)(t)?di(Gn,null,t.slice()):"object"===typeof t?wi(t):di(Kn,null,String(t))}function wi(t){return null===t.el&&-1!==t.patchFlag||t.memo?t:vi(t)}function ki(t,e){let n=0;const{shapeFlag:i}=t;if(null==e)e=null;else if((0,r.cy)(e))n=16;else if("object"===typeof e){if(65&i){const n=e.default;return void(n&&(n._c&&(n._d=!1),ki(t,n()),n._c&&(n._d=!0)))}{n=32;const i=e._;i||ui in e?3===i&&B&&(1===B.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=B}}else(0,r.Tn)(e)?(e={default:e,_ctx:B},n=32):(e=String(e),64&i?(n=16,e=[gi(e)]):n=8);t.children=e,t.shapeFlag|=n}function Ci(...t){const e={};for(let n=0;nIi||B;let Ni,$i,Oi="__VUE_INSTANCE_SETTERS__";($i=(0,r.We)()[Oi])||($i=(0,r.We)()[Oi]=[]),$i.push((t=>Ii=t)),Ni=t=>{$i.length>1?$i.forEach((e=>e(t))):$i[0](t)};const Li=t=>{Ni(t),t.scope.on()},Ei=()=>{Ii&&Ii.scope.off(),Ni(null)};function Pi(t){return 4&t.vnode.shapeFlag}let Di,Ri,Bi=!1;function Fi(t,e=!1){Bi=e;const{props:n,children:i}=t.vnode,r=Pi(t);ln(t,n,r,e),kn(t,i);const o=r?zi(t,e):void 0;return Bi=!1,o}function zi(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=(0,i.IG)(new Proxy(t.ctx,we));const{setup:o}=n;if(o){const n=t.setupContext=o.length>1?Gi(t):null;Li(t),(0,i.C4)();const a=s(o,t,0,[t.props,n]);if((0,i.bl)(),Ei(),(0,r.yL)(a)){if(a.then(Ei,Ei),e)return a.then((n=>{ji(t,n,e)})).catch((e=>{u(e,t,0)}));t.asyncDep=a}else ji(t,a,e)}else Zi(t,e)}function ji(t,e,n){(0,r.Tn)(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:(0,r.Gv)(e)&&(t.setupState=(0,i.Pr)(e)),Zi(t,n)}function Vi(t){Di=t,Ri=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,ke))}}const Hi=()=>!Di;function Zi(t,e,n){const o=t.type;if(!t.render){if(!e&&Di&&!o.render){const e=o.template||Ze(t).template;if(e){0;const{isCustomElement:n,compilerOptions:i}=t.appContext.config,{delimiters:a,compilerOptions:s}=o,l=(0,r.X$)((0,r.X$)({isCustomElement:n,delimiters:a},i),s);o.render=Di(e,l)}}t.render=o.render||r.tE,Ri&&Ri(t)}Li(t),(0,i.C4)(),ze(t),(0,i.bl)(),Ei()}function Ui(t){return t.attrsProxy||(t.attrsProxy=new Proxy(t.attrs,{get(e,n){return(0,i.u4)(t,"get","$attrs"),e[n]}}))}function Gi(t){const e=e=>{t.exposed=e||{}};return{get attrs(){return Ui(t)},slots:t.slots,emit:t.emit,expose:e}}function Ki(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy((0,i.Pr)((0,i.IG)(t.exposed)),{get(e,n){return n in e?e[n]:n in be?be[n](t):void 0},has(t,e){return e in t||e in be}}))}function Wi(t,e=!0){return(0,r.Tn)(t)?t.displayName||t.name:t.name||e&&t.__name}function qi(t){return(0,r.Tn)(t)&&"__vccOpts"in t}const Yi=(t,e)=>(0,i.EW)(t,e,Bi);function Xi(t,e,n){const i=arguments.length;return 2===i?(0,r.Gv)(e)&&!(0,r.cy)(e)?ai(e)?di(t,null,[e]):di(t,e):di(t,null,e):(i>3?n=Array.prototype.slice.call(arguments,2):3===i&&ai(n)&&(n=[n]),di(t,e,n))}const Ji=Symbol.for("v-scx"),Qi=()=>{{const t=an(Ji);return t}};function tr(){return void 0}function er(t,e,n,i){const r=n[i];if(r&&nr(r,t))return r;const o=e();return o.memo=t.slice(),n[i]=o}function nr(t,e){const n=t.memo;if(n.length!=e.length)return!1;for(let i=0;i0&&Xn&&Xn.push(t),!0}const ir="3.3.4",rr={createComponentInstance:Ai,setupComponent:Fi,renderComponentRoot:U,setCurrentRenderingInstance:z,isVNode:ai,normalizeVNode:xi},or=rr,ar=null,sr=null},3751:function(t,e,n){"use strict";n.d(e,{$9:function(){return B},$V:function(){return r.$V},$u:function(){return r.$u},$y:function(){return r.$y},BA:function(){return r.BA},Bs:function(){return r.Bs},C4:function(){return r.C4},CE:function(){return r.CE},D:function(){return R},D$:function(){return $t},Df:function(){return r.Df},Dl:function(){return r.Dl},E:function(){return r.E},E3:function(){return r.E3},EW:function(){return r.EW},EY:function(){return r.EY},Ef:function(){return Zt},F:function(){return ut},FK:function(){return r.FK},Fv:function(){return r.Fv},Fw:function(){return r.Fw},GM:function(){return r.GM},Gc:function(){return r.Gc},Gt:function(){return r.Gt},Gw:function(){return r.Gw},Gy:function(){return r.Gy},H4:function(){return r.H4},HF:function(){return r.HF},Ht:function(){return r.Ht},IG:function(){return r.IG},IJ:function(){return r.IJ},Ib:function(){return Wt},Ic:function(){return r.Ic},Im:function(){return r.Im},Jo:function(){return gt},K9:function(){return r.K9},KC:function(){return r.KC},KR:function(){return r.KR},Kh:function(){return r.Kh},LJ:function(){return r.LJ},LM:function(){return r.LM},Lk:function(){return r.Lk},Lu:function(){return r.Lu},MZ:function(){return r.MZ},Mw:function(){return r.Mw},NP:function(){return r.NP},Ng:function(){return r.Ng},OA:function(){return r.OA},OW:function(){return r.OW},PR:function(){return r.PR},PS:function(){return r.PS},PT:function(){return r.PT},Po:function(){return E},Pr:function(){return r.Pr},Q3:function(){return r.Q3},QP:function(){return r.QP},QW:function(){return r.QW},QZ:function(){return r.QZ},Qi:function(){return r.Qi},Qv:function(){return Ht},R1:function(){return r.R1},R8:function(){return r.R8},RG:function(){return r.RG},SS:function(){return r.SS},Tb:function(){return r.Tb},Tm:function(){return r.Tm},Tr:function(){return r.Tr},U4:function(){return r.U4},U_:function(){return r.U_},Vq:function(){return r.Vq},Vy:function(){return D},WQ:function(){return r.WQ},Wv:function(){return r.Wv},X2:function(){return r.X2},XL:function(){return xt},XX:function(){return Vt},Xq:function(){return L},Y4:function(){return r.Y4},Y5:function(){return r.Y5},YY:function(){return r.YY},Yj:function(){return r.Yj},ZH:function(){return r.ZH},_B:function(){return r._B},aG:function(){return Et},bF:function(){return r.bF},bU:function(){return r.bU},bj:function(){return r.bj},bn:function(){return r.bn},bo:function(){return r.bo},ci:function(){return r.ci},dA:function(){return r.dA},dY:function(){return r.dY},ds:function(){return r.ds},eB:function(){return H},eW:function(){return r.eW},eX:function(){return r.eX},fE:function(){return r.fE},fn:function(){return r.fn},g2:function(){return r.g2},g8:function(){return r.g8},gN:function(){return r.gN},gW:function(){return r.gW},gh:function(){return r.gh},h:function(){return r.h},hi:function(){return r.hi},hp:function(){return St},i9:function(){return r.i9},iD:function(){return r.iD},jC:function(){return r.jC},jR:function(){return Lt},jr:function(){return r.jr},jt:function(){return r.jt},ju:function(){return r.ju},k6:function(){return r.k6},lH:function(){return yt},lW:function(){return r.lW},lt:function(){return r.lt},m1:function(){return Ut},mu:function(){return r.mu},n:function(){return r.n},nD:function(){return r.nD},nI:function(){return r.nI},nT:function(){return r.nT},o5:function(){return r.o5},p9:function(){return r.p9},pI:function(){return r.pI},pM:function(){return r.pM},pR:function(){return r.pR},qG:function(){return r.qG},qL:function(){return r.qL},qP:function(){return r.qP},qR:function(){return r.qR},rE:function(){return r.rE},rO:function(){return r.rO},rU:function(){return r.rU},rY:function(){return r.rY},sV:function(){return r.sV},tB:function(){return r.tB},tC:function(){return r.tC},tY:function(){return r.tY},u1:function(){return wt},uX:function(){return r.uX},uY:function(){return r.uY},ux:function(){return r.ux},v6:function(){return r.v6},v_:function(){return r.v_},vv:function(){return r.vv},wB:function(){return r.wB},wk:function(){return r.wk},xo:function(){return r.xo},y$:function(){return r.y$},yC:function(){return r.yC},zz:function(){return r.zz}});var i=n(33),r=n(641),o=n(953);const a="http://www.w3.org/2000/svg",s="undefined"!==typeof document?document:null,l=s&&s.createElement("template"),u={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,i)=>{const r=e?s.createElementNS(a,t):s.createElement(t,n?{is:n}:void 0);return"select"===t&&i&&null!=i.multiple&&r.setAttribute("multiple",i.multiple),r},createText:t=>s.createTextNode(t),createComment:t=>s.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>s.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,i,r,o){const a=n?n.previousSibling:e.lastChild;if(r&&(r===o||r.nextSibling)){while(1)if(e.insertBefore(r.cloneNode(!0),n),r===o||!(r=r.nextSibling))break}else{l.innerHTML=i?`${t}`:t;const r=l.content;if(i){const t=r.firstChild;while(t.firstChild)r.appendChild(t.firstChild);r.removeChild(t)}e.insertBefore(r,n)}return[a?a.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function c(t,e,n){const i=t._vtc;i&&(e=(e?[e,...i]:[...i]).join(" ")),null==e?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function h(t,e,n){const r=t.style,o=(0,i.Kg)(n);if(n&&!o){if(e&&!(0,i.Kg)(e))for(const t in e)null==n[t]&&d(r,t,"");for(const t in n)d(r,t,n[t])}else{const i=r.display;o?e!==n&&(r.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(r.display=i)}}const p=/\s*!important$/;function d(t,e,n){if((0,i.cy)(n))n.forEach((n=>d(t,e,n)));else if(null==n&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const r=v(t,e);p.test(n)?t.setProperty((0,i.Tg)(r),n.replace(p,""),"important"):t[r]=n}}const f=["Webkit","Moz","ms"],m={};function v(t,e){const n=m[e];if(n)return n;let r=(0,i.PT)(e);if("filter"!==r&&r in t)return m[e]=r;r=(0,i.ZH)(r);for(let i=0;iS||(M.then((()=>S=0)),S=Date.now());function I(t,e){const n=t=>{if(t._vts){if(t._vts<=n.attached)return}else t._vts=Date.now();(0,r.qL)(T(t,n.value),e,5,[t])};return n.value=t,n.attached=A(),n}function T(t,e){if((0,i.cy)(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map((t=>e=>!e._stopped&&t&&t(e)))}return e}const N=/^on[a-z]/,$=(t,e,n,r,o=!1,a,s,l,u)=>{"class"===e?c(t,r,o):"style"===e?h(t,n,r):(0,i.Mp)(e)?(0,i.CP)(e)||k(t,e,n,r,s):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):O(t,e,r,o))?b(t,e,r,a,s,l,u):("true-value"===e?t._trueValue=r:"false-value"===e&&(t._falseValue=r),y(t,e,r,o))};function O(t,e,n,r){return r?"innerHTML"===e||"textContent"===e||!!(e in t&&N.test(e)&&(0,i.Tn)(n)):"spellcheck"!==e&&"draggable"!==e&&"translate"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!N.test(e)||!(0,i.Kg)(n))&&e in t))))}function L(t,e){const n=(0,r.pM)(t);class i extends D{constructor(t){super(n,t,e)}}return i.def=n,i}const E=t=>L(t,Ht),P="undefined"!==typeof HTMLElement?HTMLElement:class{};class D extends P{constructor(t,e={},n){super(),this._def=t,this._props=e,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&n?n(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,(0,r.dY)((()=>{this._connected||(Vt(null,this.shadowRoot),this._instance=null)}))}_resolveDef(){this._resolved=!0;for(let n=0;n{for(const e of t)this._setAttr(e.attributeName)})).observe(this,{attributes:!0});const t=(t,e=!1)=>{const{props:n,styles:r}=t;let o;if(n&&!(0,i.cy)(n))for(const a in n){const t=n[a];(t===Number||t&&t.type===Number)&&(a in this._props&&(this._props[a]=(0,i.Ro)(this._props[a])),(o||(o=Object.create(null)))[(0,i.PT)(a)]=!0)}this._numberProps=o,e&&this._resolveProps(t),this._applyStyles(r),this._update()},e=this._def.__asyncLoader;e?e().then((e=>t(e,!0))):t(this._def)}_resolveProps(t){const{props:e}=t,n=(0,i.cy)(e)?e:Object.keys(e||{});for(const i of Object.keys(this))"_"!==i[0]&&n.includes(i)&&this._setProp(i,this[i],!0,!1);for(const r of n.map(i.PT))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(t){this._setProp(r,t)}})}_setAttr(t){let e=this.getAttribute(t);const n=(0,i.PT)(t);this._numberProps&&this._numberProps[n]&&(e=(0,i.Ro)(e)),this._setProp(n,e,!1)}_getProp(t){return this._props[t]}_setProp(t,e,n=!0,r=!0){e!==this._props[t]&&(this._props[t]=e,r&&this._instance&&this._update(),n&&(!0===e?this.setAttribute((0,i.Tg)(t),""):"string"===typeof e||"number"===typeof e?this.setAttribute((0,i.Tg)(t),e+""):e||this.removeAttribute((0,i.Tg)(t))))}_update(){Vt(this._createVNode(),this.shadowRoot)}_createVNode(){const t=(0,r.bF)(this._def,(0,i.X$)({},this._props));return this._instance||(t.ce=t=>{this._instance=t,t.isCE=!0;const e=(t,e)=>{this.dispatchEvent(new CustomEvent(t,{detail:e}))};t.emit=(t,...n)=>{e(t,n),(0,i.Tg)(t)!==t&&e((0,i.Tg)(t),n)};let n=this;while(n=n&&(n.parentNode||n.host))if(n instanceof D){t.parent=n._instance,t.provides=n._instance.provides;break}}),t}_applyStyles(t){t&&t.forEach((t=>{const e=document.createElement("style");e.textContent=t,this.shadowRoot.appendChild(e)}))}}function R(t="$style"){{const e=(0,r.nI)();if(!e)return i.MZ;const n=e.type.__cssModules;if(!n)return i.MZ;const o=n[t];return o||i.MZ}}function B(t){const e=(0,r.nI)();if(!e)return;const n=e.ut=(n=t(e.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${e.uid}"]`)).forEach((t=>z(t,n)))},i=()=>{const i=t(e.proxy);F(e.subTree,i),n(i)};(0,r.p9)(i),(0,r.sV)((()=>{const t=new MutationObserver(i);t.observe(e.subTree.el.parentNode,{childList:!0}),(0,r.hi)((()=>t.disconnect()))}))}function F(t,e){if(128&t.shapeFlag){const n=t.suspense;t=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push((()=>{F(n.activeBranch,e)}))}while(t.component)t=t.component.subTree;if(1&t.shapeFlag&&t.el)z(t.el,e);else if(t.type===r.FK)t.children.forEach((t=>F(t,e)));else if(t.type===r.jC){let{el:n,anchor:i}=t;while(n){if(z(n,e),n===i)break;n=n.nextSibling}}}function z(t,e){if(1===t.nodeType){const n=t.style;for(const t in e)n.setProperty(`--${t}`,e[t])}}const j="transition",V="animation",H=(t,{slots:e})=>(0,r.h)(r.pR,W(t),e);H.displayName="Transition";const Z={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},U=H.props=(0,i.X$)({},r.QP,Z),G=(t,e=[])=>{(0,i.cy)(t)?t.forEach((t=>t(...e))):t&&t(...e)},K=t=>!!t&&((0,i.cy)(t)?t.some((t=>t.length>1)):t.length>1);function W(t){const e={};for(const i in t)i in Z||(e[i]=t[i]);if(!1===t.css)return e;const{name:n="v",type:r,duration:o,enterFromClass:a=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:u=a,appearActiveClass:c=s,appearToClass:h=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:f=`${n}-leave-to`}=t,m=q(o),v=m&&m[0],g=m&&m[1],{onBeforeEnter:y,onEnter:b,onEnterCancelled:x,onLeave:w,onLeaveCancelled:k,onBeforeAppear:C=y,onAppear:_=b,onAppearCancelled:S=x}=e,M=(t,e,n)=>{J(t,e?h:l),J(t,e?c:s),n&&n()},A=(t,e)=>{t._isLeaving=!1,J(t,p),J(t,f),J(t,d),e&&e()},I=t=>(e,n)=>{const i=t?_:b,o=()=>M(e,t,n);G(i,[e,o]),Q((()=>{J(e,t?u:a),X(e,t?h:l),K(i)||et(e,r,v,o)}))};return(0,i.X$)(e,{onBeforeEnter(t){G(y,[t]),X(t,a),X(t,s)},onBeforeAppear(t){G(C,[t]),X(t,u),X(t,c)},onEnter:I(!1),onAppear:I(!0),onLeave(t,e){t._isLeaving=!0;const n=()=>A(t,e);X(t,p),ot(),X(t,d),Q((()=>{t._isLeaving&&(J(t,p),X(t,f),K(w)||et(t,r,g,n))})),G(w,[t,n])},onEnterCancelled(t){M(t,!1),G(x,[t])},onAppearCancelled(t){M(t,!0),G(S,[t])},onLeaveCancelled(t){A(t),G(k,[t])}})}function q(t){if(null==t)return null;if((0,i.Gv)(t))return[Y(t.enter),Y(t.leave)];{const e=Y(t);return[e,e]}}function Y(t){const e=(0,i.Ro)(t);return e}function X(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.add(e))),(t._vtc||(t._vtc=new Set)).add(e)}function J(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.remove(e)));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function Q(t){requestAnimationFrame((()=>{requestAnimationFrame(t)}))}let tt=0;function et(t,e,n,i){const r=t._endId=++tt,o=()=>{r===t._endId&&i()};if(n)return setTimeout(o,n);const{type:a,timeout:s,propCount:l}=nt(t,e);if(!a)return i();const u=a+"end";let c=0;const h=()=>{t.removeEventListener(u,p),o()},p=e=>{e.target===t&&++c>=l&&h()};setTimeout((()=>{c(n[t]||"").split(", "),r=i(`${j}Delay`),o=i(`${j}Duration`),a=it(r,o),s=i(`${V}Delay`),l=i(`${V}Duration`),u=it(s,l);let c=null,h=0,p=0;e===j?a>0&&(c=j,h=a,p=o.length):e===V?u>0&&(c=V,h=u,p=l.length):(h=Math.max(a,u),c=h>0?a>u?j:V:null,p=c?c===j?o.length:l.length:0);const d=c===j&&/\b(transform|all)(,|$)/.test(i(`${j}Property`).toString());return{type:c,timeout:h,propCount:p,hasTransform:d}}function it(t,e){while(t.lengthrt(e)+rt(t[n]))))}function rt(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function ot(){return document.body.offsetHeight}const at=new WeakMap,st=new WeakMap,lt={name:"TransitionGroup",props:(0,i.X$)({},U,{tag:String,moveClass:String}),setup(t,{slots:e}){const n=(0,r.nI)(),i=(0,r.Gy)();let a,s;return(0,r.$u)((()=>{if(!a.length)return;const e=t.moveClass||`${t.name||"v"}-move`;if(!dt(a[0].el,n.vnode.el,e))return;a.forEach(ct),a.forEach(ht);const i=a.filter(pt);ot(),i.forEach((t=>{const n=t.el,i=n.style;X(n,e),i.transform=i.webkitTransform=i.transitionDuration="";const r=n._moveCb=t=>{t&&t.target!==n||t&&!/transform$/.test(t.propertyName)||(n.removeEventListener("transitionend",r),n._moveCb=null,J(n,e))};n.addEventListener("transitionend",r)}))})),()=>{const l=(0,o.ux)(t),u=W(l);let c=l.tag||r.FK;a=s,s=e.default?(0,r.Df)(e.default()):[];for(let t=0;t{t.split(/\s+/).forEach((t=>t&&i.classList.remove(t)))})),n.split(/\s+/).forEach((t=>t&&i.classList.add(t))),i.style.display="none";const r=1===e.nodeType?e:e.parentNode;r.appendChild(i);const{hasTransform:o}=nt(i);return r.removeChild(i),o}const ft=t=>{const e=t.props["onUpdate:modelValue"]||!1;return(0,i.cy)(e)?t=>(0,i.DY)(e,t):e};function mt(t){t.target.composing=!0}function vt(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const gt={created(t,{modifiers:{lazy:e,trim:n,number:r}},o){t._assign=ft(o);const a=r||o.props&&"number"===o.props.type;x(t,e?"change":"input",(e=>{if(e.target.composing)return;let r=t.value;n&&(r=r.trim()),a&&(r=(0,i.bB)(r)),t._assign(r)})),n&&x(t,"change",(()=>{t.value=t.value.trim()})),e||(x(t,"compositionstart",mt),x(t,"compositionend",vt),x(t,"change",vt))},mounted(t,{value:e}){t.value=null==e?"":e},beforeUpdate(t,{value:e,modifiers:{lazy:n,trim:r,number:o}},a){if(t._assign=ft(a),t.composing)return;if(document.activeElement===t&&"range"!==t.type){if(n)return;if(r&&t.value.trim()===e)return;if((o||"number"===t.type)&&(0,i.bB)(t.value)===e)return}const s=null==e?"":e;t.value!==s&&(t.value=s)}},yt={deep:!0,created(t,e,n){t._assign=ft(n),x(t,"change",(()=>{const e=t._modelValue,n=Ct(t),r=t.checked,o=t._assign;if((0,i.cy)(e)){const t=(0,i.u3)(e,n),a=-1!==t;if(r&&!a)o(e.concat(n));else if(!r&&a){const n=[...e];n.splice(t,1),o(n)}}else if((0,i.vM)(e)){const t=new Set(e);r?t.add(n):t.delete(n),o(t)}else o(_t(t,r))}))},mounted:bt,beforeUpdate(t,e,n){t._assign=ft(n),bt(t,e,n)}};function bt(t,{value:e,oldValue:n},r){t._modelValue=e,(0,i.cy)(e)?t.checked=(0,i.u3)(e,r.props.value)>-1:(0,i.vM)(e)?t.checked=e.has(r.props.value):e!==n&&(t.checked=(0,i.BX)(e,_t(t,!0)))}const xt={created(t,{value:e},n){t.checked=(0,i.BX)(e,n.props.value),t._assign=ft(n),x(t,"change",(()=>{t._assign(Ct(t))}))},beforeUpdate(t,{value:e,oldValue:n},r){t._assign=ft(r),e!==n&&(t.checked=(0,i.BX)(e,r.props.value))}},wt={deep:!0,created(t,{value:e,modifiers:{number:n}},r){const o=(0,i.vM)(e);x(t,"change",(()=>{const e=Array.prototype.filter.call(t.options,(t=>t.selected)).map((t=>n?(0,i.bB)(Ct(t)):Ct(t)));t._assign(t.multiple?o?new Set(e):e:e[0])})),t._assign=ft(r)},mounted(t,{value:e}){kt(t,e)},beforeUpdate(t,e,n){t._assign=ft(n)},updated(t,{value:e}){kt(t,e)}};function kt(t,e){const n=t.multiple;if(!n||(0,i.cy)(e)||(0,i.vM)(e)){for(let r=0,o=t.options.length;r-1:o.selected=e.has(a);else if((0,i.BX)(Ct(o),e))return void(t.selectedIndex!==r&&(t.selectedIndex=r))}n||-1===t.selectedIndex||(t.selectedIndex=-1)}}function Ct(t){return"_value"in t?t._value:t.value}function _t(t,e){const n=e?"_trueValue":"_falseValue";return n in t?t[n]:e}const St={created(t,e,n){At(t,e,n,null,"created")},mounted(t,e,n){At(t,e,n,null,"mounted")},beforeUpdate(t,e,n,i){At(t,e,n,i,"beforeUpdate")},updated(t,e,n,i){At(t,e,n,i,"updated")}};function Mt(t,e){switch(t){case"SELECT":return wt;case"TEXTAREA":return gt;default:switch(e){case"checkbox":return yt;case"radio":return xt;default:return gt}}}function At(t,e,n,i,r){const o=Mt(t.tagName,n.props&&n.props.type),a=o[r];a&&a(t,e,n,i)}function It(){gt.getSSRProps=({value:t})=>({value:t}),xt.getSSRProps=({value:t},e)=>{if(e.props&&(0,i.BX)(e.props.value,t))return{checked:!0}},yt.getSSRProps=({value:t},e)=>{if((0,i.cy)(t)){if(e.props&&(0,i.u3)(t,e.props.value)>-1)return{checked:!0}}else if((0,i.vM)(t)){if(e.props&&t.has(e.props.value))return{checked:!0}}else if(t)return{checked:!0}},St.getSSRProps=(t,e)=>{if("string"!==typeof e.type)return;const n=Mt(e.type.toUpperCase(),e.props&&e.props.type);return n.getSSRProps?n.getSSRProps(t,e):void 0}}const Tt=["ctrl","shift","alt","meta"],Nt={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&0!==t.button,middle:t=>"button"in t&&1!==t.button,right:t=>"button"in t&&2!==t.button,exact:(t,e)=>Tt.some((n=>t[`${n}Key`]&&!e.includes(n)))},$t=(t,e)=>(n,...i)=>{for(let t=0;tn=>{if(!("key"in n))return;const r=(0,i.Tg)(n.key);return e.some((t=>t===r||Ot[t]===r))?t(n):void 0},Et={beforeMount(t,{value:e},{transition:n}){t._vod="none"===t.style.display?"":t.style.display,n&&e?n.beforeEnter(t):Pt(t,e)},mounted(t,{value:e},{transition:n}){n&&e&&n.enter(t)},updated(t,{value:e,oldValue:n},{transition:i}){!e!==!n&&(i?e?(i.beforeEnter(t),Pt(t,!0),i.enter(t)):i.leave(t,(()=>{Pt(t,!1)})):Pt(t,e))},beforeUnmount(t,{value:e}){Pt(t,e)}};function Pt(t,e){t.style.display=e?t._vod:"none"}function Dt(){Et.getSSRProps=({value:t})=>{if(!t)return{style:{display:"none"}}}}const Rt=(0,i.X$)({patchProp:$},u);let Bt,Ft=!1;function zt(){return Bt||(Bt=(0,r.K9)(Rt))}function jt(){return Bt=Ft?Bt:(0,r.ci)(Rt),Ft=!0,Bt}const Vt=(...t)=>{zt().render(...t)},Ht=(...t)=>{jt().hydrate(...t)},Zt=(...t)=>{const e=zt().createApp(...t);const{mount:n}=e;return e.mount=t=>{const r=Gt(t);if(!r)return;const o=e._component;(0,i.Tn)(o)||o.render||o.template||(o.template=r.innerHTML),r.innerHTML="";const a=n(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},e},Ut=(...t)=>{const e=jt().createApp(...t);const{mount:n}=e;return e.mount=t=>{const e=Gt(t);if(e)return n(e,!0,e instanceof SVGElement)},e};function Gt(t){if((0,i.Kg)(t)){const e=document.querySelector(t);return e}return t}let Kt=!1;const Wt=()=>{Kt||(Kt=!0,It(),Dt())}},33:function(t,e,n){"use strict";function i(t,e){const n=Object.create(null),i=t.split(",");for(let r=0;r!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,{$3:function(){return f},$H:function(){return B},BX:function(){return rt},Bm:function(){return k},C4:function(){return J},CP:function(){return c},DY:function(){return F},Ft:function(){return G},Gv:function(){return C},J$:function(){return et},Kg:function(){return w},MZ:function(){return r},Mp:function(){return u},NO:function(){return s},Oj:function(){return o},PT:function(){return L},Qd:function(){return I},Ro:function(){return V},SU:function(){return N},TF:function(){return p},Tg:function(){return P},Tn:function(){return x},Tr:function(){return K},We:function(){return Z},X$:function(){return h},Y2:function(){return nt},ZH:function(){return D},Zf:function(){return A},_B:function(){return Q},bB:function(){return j},cy:function(){return m},gd:function(){return b},jh:function(){return v},pD:function(){return i},rU:function(){return R},tE:function(){return a},u3:function(){return ot},vM:function(){return g},v_:function(){return at},yI:function(){return T},yL:function(){return _},yQ:function(){return z}});const r={},o=[],a=()=>{},s=()=>!1,l=/^on[^a-z]/,u=t=>l.test(t),c=t=>t.startsWith("onUpdate:"),h=Object.assign,p=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},d=Object.prototype.hasOwnProperty,f=(t,e)=>d.call(t,e),m=Array.isArray,v=t=>"[object Map]"===M(t),g=t=>"[object Set]"===M(t),y=t=>"[object Date]"===M(t),b=t=>"[object RegExp]"===M(t),x=t=>"function"===typeof t,w=t=>"string"===typeof t,k=t=>"symbol"===typeof t,C=t=>null!==t&&"object"===typeof t,_=t=>C(t)&&x(t.then)&&x(t.catch),S=Object.prototype.toString,M=t=>S.call(t),A=t=>M(t).slice(8,-1),I=t=>"[object Object]"===M(t),T=t=>w(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,N=i(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$=t=>{const e=Object.create(null);return n=>{const i=e[n];return i||(e[n]=t(n))}},O=/-(\w)/g,L=$((t=>t.replace(O,((t,e)=>e?e.toUpperCase():"")))),E=/\B([A-Z])/g,P=$((t=>t.replace(E,"-$1").toLowerCase())),D=$((t=>t.charAt(0).toUpperCase()+t.slice(1))),R=$((t=>t?`on${D(t)}`:"")),B=(t,e)=>!Object.is(t,e),F=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},j=t=>{const e=parseFloat(t);return isNaN(e)?t:e},V=t=>{const e=w(t)?Number(t):NaN;return isNaN(e)?t:e};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 U="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",G=i(U);function K(t){if(m(t)){const e={};for(let n=0;n{if(t){const n=t.split(q);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function J(t){let e="";if(w(t))e=t;else if(m(t))for(let n=0;nrt(t,e)))}const at=t=>w(t)?t:null==t?"":m(t)||C(t)&&(t.toString===S||!x(t.toString))?JSON.stringify(t,st,2):String(t),st=(t,e)=>e&&e.__v_isRef?st(t,e.value):v(e)?{[`Map(${e.size})`]:[...e.entries()].reduce(((t,[e,n])=>(t[`${e} =>`]=n,t)),{})}:g(e)?{[`Set(${e.size})`]:[...e.values()]}:!C(e)||m(e)||I(e)?e:String(e)},7168:function(t,e,n){var i; -/*! Hammer.JS - v2.0.7 - 2016-04-22 - * http://hammerjs.github.io/ - * - * Copyright (c) 2016 Jorik Tangelder; - * Licensed under the MIT license */(function(r,o,a,s){"use strict";var l,u=["","webkit","Moz","MS","ms","o"],c=o.createElement("div"),h="function",p=Math.round,d=Math.abs,f=Date.now;function m(t,e,n){return setTimeout(k(t,n),e)}function v(t,e,n){return!!Array.isArray(t)&&(g(t,n[e],n),!0)}function g(t,e,n){var i;if(t)if(t.forEach)t.forEach(e,n);else if(t.length!==s){i=0;while(i\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",o=r.console&&(r.console.warn||r.console.log);return o&&o.call(r.console,i,n),t.apply(this,arguments)}}l="function"!==typeof Object.assign?function(t){if(t===s||null===t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),n=1;n-1}function T(t){return t.trim().split(/\s+/g)}function N(t,e,n){if(t.indexOf&&!n)return t.indexOf(e);var i=0;while(in[e]})):i.sort()),i}function L(t,e){var n,i,r=e[0].toUpperCase()+e.slice(1),o=0;while(o1&&!n.firstMultiple?n.firstMultiple=pt(e):1===r&&(n.firstMultiple=!1);var o=n.firstInput,a=n.firstMultiple,s=a?a.center:o.center,l=e.center=dt(i);e.timeStamp=f(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=gt(s,l),e.distance=vt(s,l),ct(n,e),e.offsetDirection=mt(e.deltaX,e.deltaY);var u=ft(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=u.x,e.overallVelocityY=u.y,e.overallVelocity=d(u.x)>d(u.y)?u.x:u.y,e.scale=a?bt(a.pointers,i):1,e.rotation=a?yt(a.pointers,i):0,e.maxPointers=n.prevInput?e.pointers.length>n.prevInput.maxPointers?e.pointers.length:n.prevInput.maxPointers:e.pointers.length,ht(n,e);var c=t.element;A(e.srcEvent.target,c)&&(c=e.srcEvent.target),e.target=c}function ct(t,e){var n=e.center,i=t.offsetDelta||{},r=t.prevDelta||{},o=t.prevInput||{};e.eventType!==G&&o.eventType!==W||(r=t.prevDelta={x:o.deltaX||0,y:o.deltaY||0},i=t.offsetDelta={x:n.x,y:n.y}),e.deltaX=r.x+(n.x-i.x),e.deltaY=r.y+(n.y-i.y)}function ht(t,e){var n,i,r,o,a=t.lastInterval||e,l=e.timeStamp-a.timeStamp;if(e.eventType!=q&&(l>U||a.velocity===s)){var u=e.deltaX-a.deltaX,c=e.deltaY-a.deltaY,h=ft(l,u,c);i=h.x,r=h.y,n=d(h.x)>d(h.y)?h.x:h.y,o=mt(u,c),t.lastInterval=e}else n=a.velocity,i=a.velocityX,r=a.velocityY,o=a.direction;e.velocity=n,e.velocityX=i,e.velocityY=r,e.direction=o}function pt(t){var e=[],n=0;while(n=d(e)?t<0?X:J:e<0?Q:tt}function vt(t,e,n){n||(n=rt);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return Math.sqrt(i*i+r*r)}function gt(t,e,n){n||(n=rt);var i=e[n[0]]-t[n[0]],r=e[n[1]]-t[n[1]];return 180*Math.atan2(r,i)/Math.PI}function yt(t,e){return gt(e[1],e[0],ot)+gt(t[1],t[0],ot)}function bt(t,e){return vt(e[0],e[1],ot)/vt(t[0],t[1],ot)}at.prototype={handler:function(){},init:function(){this.evEl&&S(this.element,this.evEl,this.domHandler),this.evTarget&&S(this.target,this.evTarget,this.domHandler),this.evWin&&S(D(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&M(this.element,this.evEl,this.domHandler),this.evTarget&&M(this.target,this.evTarget,this.domHandler),this.evWin&&M(D(this.element),this.evWin,this.domHandler)}};var xt={mousedown:G,mousemove:K,mouseup:W},wt="mousedown",kt="mousemove mouseup";function Ct(){this.evEl=wt,this.evWin=kt,this.pressed=!1,at.apply(this,arguments)}w(Ct,at,{handler:function(t){var e=xt[t.type];e&G&&0===t.button&&(this.pressed=!0),e&K&&1!==t.which&&(e=W),this.pressed&&(e&W&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:H,srcEvent:t}))}});var _t={pointerdown:G,pointermove:K,pointerup:W,pointercancel:q,pointerout:q},St={2:j,3:V,4:H,5:Z},Mt="pointerdown",At="pointermove pointerup pointercancel";function It(){this.evEl=Mt,this.evWin=At,at.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}r.MSPointerEvent&&!r.PointerEvent&&(Mt="MSPointerDown",At="MSPointerMove MSPointerUp MSPointerCancel"),w(It,at,{handler:function(t){var e=this.store,n=!1,i=t.type.toLowerCase().replace("ms",""),r=_t[i],o=St[t.pointerType]||t.pointerType,a=o==j,s=N(e,t.pointerId,"pointerId");r&G&&(0===t.button||a)?s<0&&(e.push(t),s=e.length-1):r&(W|q)&&(n=!0),s<0||(e[s]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:o,srcEvent:t}),n&&e.splice(s,1))}});var Tt={touchstart:G,touchmove:K,touchend:W,touchcancel:q},Nt="touchstart",$t="touchstart touchmove touchend touchcancel";function Ot(){this.evTarget=Nt,this.evWin=$t,this.started=!1,at.apply(this,arguments)}function Lt(t,e){var n=$(t.touches),i=$(t.changedTouches);return e&(W|q)&&(n=O(n.concat(i),"identifier",!0)),[n,i]}w(Ot,at,{handler:function(t){var e=Tt[t.type];if(e===G&&(this.started=!0),this.started){var n=Lt.call(this,t,e);e&(W|q)&&n[0].length-n[1].length===0&&(this.started=!1),this.callback(this.manager,e,{pointers:n[0],changedPointers:n[1],pointerType:j,srcEvent:t})}}});var Et={touchstart:G,touchmove:K,touchend:W,touchcancel:q},Pt="touchstart touchmove touchend touchcancel";function Dt(){this.evTarget=Pt,this.targetIds={},at.apply(this,arguments)}function Rt(t,e){var n=$(t.touches),i=this.targetIds;if(e&(G|K)&&1===n.length)return i[n[0].identifier]=!0,[n,n];var r,o,a=$(t.changedTouches),s=[],l=this.target;if(o=n.filter((function(t){return A(t.target,l)})),e===G){r=0;while(r-1&&i.splice(t,1)};setTimeout(r,Bt)}}function Ht(t){for(var e=t.srcEvent.clientX,n=t.srcEvent.clientY,i=0;i-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,n=this.state;function i(n){e.manager.emit(n,t)}n=oe&&i(e.options.event+ce(n))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=le},canEmit:function(){var t=0;while(te.threshold&&r&e.direction},attrTest:function(t){return de.prototype.attrTest.call(this,t)&&(this.state&ie||!(this.state&ie)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=he(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),w(me,de,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[qt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||this.state&ie)},emit:function(t){if(1!==t.scale){var e=t.scale<1?"in":"out";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),w(ve,ue,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[Kt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distancee.time;if(this._input=t,!i||!n||t.eventType&(W|q)&&!r)this.reset();else if(t.eventType&G)this.reset(),this._timer=m((function(){this.state=ae,this.tryEmit()}),e.time,this);else if(t.eventType&W)return ae;return le},reset:function(){clearTimeout(this._timer)},emit:function(t){this.state===ae&&(t&&t.eventType&W?this.manager.emit(this.options.event+"up",t):(this._input.timeStamp=f(),this.manager.emit(this.options.event,this._input)))}}),w(ge,de,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[qt]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||this.state&ie)}}),w(ye,de,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:et|nt,pointers:1},getTouchAction:function(){return fe.prototype.getTouchAction.call(this)},attrTest:function(t){var e,n=this.options.direction;return n&(et|nt)?e=t.overallVelocity:n&et?e=t.overallVelocityX:n&nt&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&n&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&d(e)>this.options.velocity&&t.eventType&W},emit:function(t){var e=he(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),w(be,ue,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Wt]},process:function(t){var e=this.options,n=t.pointers.length===e.pointers,i=t.distance{const n=t.__vccOpts||t;for(const[i,r]of e)n[i]=r;return n}},8756:function(t,e,n){"use strict";n.r(e),n.d(e,{BaseTransition:function(){return i.pR},BaseTransitionPropsValidators:function(){return i.QP},Comment:function(){return i.Mw},EffectScope:function(){return i.yC},Fragment:function(){return i.FK},KeepAlive:function(){return i.PR},ReactiveEffect:function(){return i.X2},Static:function(){return i.jC},Suspense:function(){return i.tY},Teleport:function(){return i.Im},Text:function(){return i.EY},Transition:function(){return i.eB},TransitionGroup:function(){return i.F},VueElement:function(){return i.Vy},assertNumber:function(){return i.U4},callWithAsyncErrorHandling:function(){return i.qL},callWithErrorHandling:function(){return i.gh},camelize:function(){return i.PT},capitalize:function(){return i.ZH},cloneVNode:function(){return i.E3},compatUtils:function(){return i.Y5},compile:function(){return r},computed:function(){return i.EW},createApp:function(){return i.Ef},createBlock:function(){return i.Wv},createCommentVNode:function(){return i.Q3},createElementBlock:function(){return i.CE},createElementVNode:function(){return i.Lk},createHydrationRenderer:function(){return i.ci},createPropsRestProxy:function(){return i.bn},createRenderer:function(){return i.K9},createSSRApp:function(){return i.m1},createSlots:function(){return i.eX},createStaticVNode:function(){return i.Fv},createTextVNode:function(){return i.eW},createVNode:function(){return i.bF},customRef:function(){return i.rY},defineAsyncComponent:function(){return i.$V},defineComponent:function(){return i.pM},defineCustomElement:function(){return i.Xq},defineEmits:function(){return i.qP},defineExpose:function(){return i.wk},defineModel:function(){return i.NP},defineOptions:function(){return i.GM},defineProps:function(){return i.Yj},defineSSRCustomElement:function(){return i.Po},defineSlots:function(){return i.Lu},devtools:function(){return i.lt},effect:function(){return i.QZ},effectScope:function(){return i.uY},getCurrentInstance:function(){return i.nI},getCurrentScope:function(){return i.o5},getTransitionRawChildren:function(){return i.Df},guardReactiveProps:function(){return i.Ng},h:function(){return i.h},handleError:function(){return i.H4},hasInjectionContext:function(){return i.PS},hydrate:function(){return i.Qv},initCustomFormatter:function(){return i.y$},initDirectivesForSSR:function(){return i.Ib},inject:function(){return i.WQ},isMemoSame:function(){return i.Bs},isProxy:function(){return i.ju},isReactive:function(){return i.g8},isReadonly:function(){return i.Tm},isRef:function(){return i.i9},isRuntimeOnly:function(){return i.dA},isShallow:function(){return i.fE},isVNode:function(){return i.vv},markRaw:function(){return i.IG},mergeDefaults:function(){return i.HF},mergeModels:function(){return i.zz},mergeProps:function(){return i.v6},nextTick:function(){return i.dY},normalizeClass:function(){return i.C4},normalizeProps:function(){return i._B},normalizeStyle:function(){return i.Tr},onActivated:function(){return i.n},onBeforeMount:function(){return i.KC},onBeforeUnmount:function(){return i.xo},onBeforeUpdate:function(){return i.Ic},onDeactivated:function(){return i.Y4},onErrorCaptured:function(){return i.qG},onMounted:function(){return i.sV},onRenderTracked:function(){return i.qR},onRenderTriggered:function(){return i.bj},onScopeDispose:function(){return i.jr},onServerPrefetch:function(){return i.SS},onUnmounted:function(){return i.hi},onUpdated:function(){return i.$u},openBlock:function(){return i.uX},popScopeId:function(){return i.jt},provide:function(){return i.Gt},proxyRefs:function(){return i.Pr},pushScopeId:function(){return i.Qi},queuePostFlushCb:function(){return i.Dl},reactive:function(){return i.Kh},readonly:function(){return i.tB},ref:function(){return i.KR},registerRuntimeCompiler:function(){return i.tC},render:function(){return i.XX},renderList:function(){return i.pI},renderSlot:function(){return i.RG},resolveComponent:function(){return i.g2},resolveDirective:function(){return i.gN},resolveDynamicComponent:function(){return i.$y},resolveFilter:function(){return i.LJ},resolveTransitionHooks:function(){return i.OW},setBlockTracking:function(){return i.Vq},setDevtoolsHook:function(){return i.iD},setTransitionHooks:function(){return i.MZ},shallowReactive:function(){return i.Gc},shallowReadonly:function(){return i.nD},shallowRef:function(){return i.IJ},ssrContextKey:function(){return i.Fw},ssrUtils:function(){return i.Gw},stop:function(){return i.ds},toDisplayString:function(){return i.v_},toHandlerKey:function(){return i.rU},toHandlers:function(){return i.Tb},toRaw:function(){return i.ux},toRef:function(){return i.lW},toRefs:function(){return i.QW},toValue:function(){return i.BA},transformVNodeArgs:function(){return i.gW},triggerRef:function(){return i.mu},unref:function(){return i.R1},useAttrs:function(){return i.OA},useCssModule:function(){return i.D},useCssVars:function(){return i.$9},useModel:function(){return i.fn},useSSRContext:function(){return i.LM},useSlots:function(){return i.Ht},useTransitionState:function(){return i.Gy},vModelCheckbox:function(){return i.lH},vModelDynamic:function(){return i.hp},vModelRadio:function(){return i.XL},vModelSelect:function(){return i.u1},vModelText:function(){return i.Jo},vShow:function(){return i.aG},version:function(){return i.rE},warn:function(){return i.R8},watch:function(){return i.wB},watchEffect:function(){return i.nT},watchPostEffect:function(){return i.p9},watchSyncEffect:function(){return i.U_},withAsyncContext:function(){return i.E},withCtx:function(){return i.k6},withDefaults:function(){return i.rO},withDirectives:function(){return i.bo},withKeys:function(){return i.jR},withMemo:function(){return i.bU},withModifiers:function(){return i.D$},withScopeId:function(){return i.YY}});var i=n(3751);const r=()=>{0}},5220:function(t,e,n){"use strict";n.d(e,{LA:function(){return F},aE:function(){return ee}});var i=n(641),r=n(953); -/*! - * vue-router v4.2.2 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */ -const o="undefined"!==typeof window;function a(t){return t.__esModule||"Module"===t[Symbol.toStringTag]}const s=Object.assign;function l(t,e){const n={};for(const i in e){const r=e[i];n[i]=c(r)?r.map(t):t(r)}return n}const u=()=>{},c=Array.isArray;const h=/\/$/,p=t=>t.replace(h,"");function d(t,e,n="/"){let i,r={},o="",a="";const s=e.indexOf("#");let l=e.indexOf("?");return s=0&&(l=-1),l>-1&&(i=e.slice(0,l),o=e.slice(l+1,s>-1?s:e.length),r=t(o)),s>-1&&(i=i||e.slice(0,s),a=e.slice(s,e.length)),i=w(null!=i?i:e,n),{fullPath:i+(o&&"?")+o+a,path:i,query:r,hash:a}}function f(t,e){const n=e.query?t(e.query):"";return e.path+(n&&"?")+n+(e.hash||"")}function m(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function v(t,e,n){const i=e.matched.length-1,r=n.matched.length-1;return i>-1&&i===r&&g(e.matched[i],n.matched[r])&&y(e.params,n.params)&&t(e.query)===t(n.query)&&e.hash===n.hash}function g(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function y(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(!b(t[n],e[n]))return!1;return!0}function b(t,e){return c(t)?x(t,e):c(e)?x(e,t):t===e}function x(t,e){return c(e)?t.length===e.length&&t.every(((t,n)=>t===e[n])):1===t.length&&t[0]===e}function w(t,e){if(t.startsWith("/"))return t;if(!t)return e;const n=e.split("/"),i=t.split("/"),r=i[i.length-1];".."!==r&&"."!==r||i.push("");let o,a,s=n.length-1;for(o=0;o1&&s--}return n.slice(0,s).join("/")+"/"+i.slice(o-(o===i.length?1:0)).join("/")}var k,C;(function(t){t["pop"]="pop",t["push"]="push"})(k||(k={})),function(t){t["back"]="back",t["forward"]="forward",t["unknown"]=""}(C||(C={}));function _(t){if(!t)if(o){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return"/"!==t[0]&&"#"!==t[0]&&(t="/"+t),p(t)}const S=/^[^#]+#/;function M(t,e){return t.replace(S,"#")+e}function A(t,e){const n=document.documentElement.getBoundingClientRect(),i=t.getBoundingClientRect();return{behavior:e.behavior,left:i.left-n.left-(e.left||0),top:i.top-n.top-(e.top||0)}}const I=()=>({left:window.pageXOffset,top:window.pageYOffset});function T(t){let e;if("el"in t){const n=t.el,i="string"===typeof n&&n.startsWith("#");0;const r="string"===typeof n?i?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;e=A(r,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.pageXOffset,null!=e.top?e.top:window.pageYOffset)}function N(t,e){const n=history.state?history.state.position-e:-1;return n+t}const $=new Map;function O(t,e){$.set(t,e)}function L(t){const e=$.get(t);return $.delete(t),e}let E=()=>location.protocol+"//"+location.host;function P(t,e){const{pathname:n,search:i,hash:r}=e,o=t.indexOf("#");if(o>-1){let e=r.includes(t.slice(o))?t.slice(o).length:1,n=r.slice(e);return"/"!==n[0]&&(n="/"+n),m(n,"")}const a=m(n,t);return a+i+r}function D(t,e,n,i){let r=[],o=[],a=null;const l=({state:o})=>{const s=P(t,location),l=n.value,u=e.value;let c=0;if(o){if(n.value=s,e.value=o,a&&a===l)return void(a=null);c=u?o.position-u.position:0}else i(s);r.forEach((t=>{t(n.value,l,{delta:c,type:k.pop,direction:c?c>0?C.forward:C.back:C.unknown})}))};function u(){a=n.value}function c(t){r.push(t);const e=()=>{const e=r.indexOf(t);e>-1&&r.splice(e,1)};return o.push(e),e}function h(){const{history:t}=window;t.state&&t.replaceState(s({},t.state,{scroll:I()}),"")}function p(){for(const t of o)t();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",h)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",h,{passive:!0}),{pauseListeners:u,listen:c,destroy:p}}function R(t,e,n,i=!1,r=!1){return{back:t,current:e,forward:n,replaced:i,position:window.history.length,scroll:r?I():null}}function B(t){const{history:e,location:n}=window,i={value:P(t,n)},r={value:e.state};function o(i,o,a){const s=t.indexOf("#"),l=s>-1?(n.host&&document.querySelector("base")?t:t.slice(s))+i:E()+t+i;try{e[a?"replaceState":"pushState"](o,"",l),r.value=o}catch(u){console.error(u),n[a?"replace":"assign"](l)}}function a(t,n){const a=s({},e.state,R(r.value.back,t,r.value.forward,!0),n,{position:r.value.position});o(t,a,!0),i.value=t}function l(t,n){const a=s({},r.value,e.state,{forward:t,scroll:I()});o(a.current,a,!0);const l=s({},R(i.value,t,null),{position:a.position+1},n);o(t,l,!1),i.value=t}return r.value||o(i.value,{back:null,current:i.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:i,state:r,push:l,replace:a}}function F(t){t=_(t);const e=B(t),n=D(t,e.state,e.location,e.replace);function i(t,e=!0){e||n.pauseListeners(),history.go(t)}const r=s({location:"",base:t,go:i,createHref:M.bind(null,t)},e,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>e.state.value}),r}function z(t){return"string"===typeof t||t&&"object"===typeof t}function j(t){return"string"===typeof t||"symbol"===typeof t}const V={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},H=Symbol("");var Z;(function(t){t[t["aborted"]=4]="aborted",t[t["cancelled"]=8]="cancelled",t[t["duplicated"]=16]="duplicated"})(Z||(Z={}));function U(t,e){return s(new Error,{type:t,[H]:!0},e)}function G(t,e){return t instanceof Error&&H in t&&(null==e||!!(t.type&e))}const K="[^/]+?",W={sensitive:!1,strict:!1,start:!0,end:!0},q=/[.+*?^${}()[\]/\\]/g;function Y(t,e){const n=s({},W,e),i=[];let r=n.start?"^":"";const o=[];for(const s of t){const t=s.length?[]:[90];n.strict&&!s.length&&(r+="/");for(let e=0;ee.length?1===e.length&&80===e[0]?1:-1:0}function J(t,e){let n=0;const i=t.score,r=e.score;while(n0&&e[e.length-1]<0}const tt={type:0,value:""},et=/[a-zA-Z0-9_]/;function nt(t){if(!t)return[[]];if("/"===t)return[[tt]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(t){throw new Error(`ERR (${n})/"${u}": ${t}`)}let n=0,i=n;const r=[];let o;function a(){o&&r.push(o),o=[]}let s,l=0,u="",c="";function h(){u&&(0===n?o.push({type:0,value:u}):1===n||2===n||3===n?(o.length>1&&("*"===s||"+"===s)&&e(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:u,regexp:c,repeatable:"*"===s||"+"===s,optional:"*"===s||"?"===s})):e("Invalid state to consume buffer"),u="")}function p(){u+=s}while(l{a(f)}:u}function a(t){if(j(t)){const e=i.get(t);e&&(i.delete(t),n.splice(n.indexOf(e),1),e.children.forEach(a),e.alias.forEach(a))}else{const e=n.indexOf(t);e>-1&&(n.splice(e,1),t.record.name&&i.delete(t.record.name),t.children.forEach(a),t.alias.forEach(a))}}function l(){return n}function c(t){let e=0;while(e=0&&(t.record.path!==n[e].record.path||!ht(t,n[e])))e++;n.splice(e,0,t),t.record.name&&!lt(t)&&i.set(t.record.name,t)}function h(t,e){let r,o,a,l={};if("name"in t&&t.name){if(r=i.get(t.name),!r)throw U(1,{location:t});0,a=r.record.name,l=s(ot(e.params,r.keys.filter((t=>!t.optional)).map((t=>t.name))),t.params&&ot(t.params,r.keys.map((t=>t.name)))),o=r.stringify(l)}else if("path"in t)o=t.path,r=n.find((t=>t.re.test(o))),r&&(l=r.parse(o),a=r.record.name);else{if(r=e.name?i.get(e.name):n.find((t=>t.re.test(e.path))),!r)throw U(1,{location:t,currentLocation:e});a=r.record.name,l=s({},e.params,t.params),o=r.stringify(l)}const u=[];let c=r;while(c)u.unshift(c.record),c=c.parent;return{name:a,path:o,params:l,matched:u,meta:ut(u)}}return e=ct({strict:!1,end:!0,sensitive:!1},e),t.forEach((t=>o(t))),{addRoute:o,resolve:h,removeRoute:a,getRoutes:l,getRecordMatcher:r}}function ot(t,e){const n={};for(const i of e)i in t&&(n[i]=t[i]);return n}function at(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:st(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}}}function st(t){const e={},n=t.props||!1;if("component"in t)e.default=n;else for(const i in t.components)e[i]="boolean"===typeof n?n:n[i];return e}function lt(t){while(t){if(t.record.aliasOf)return!0;t=t.parent}return!1}function ut(t){return t.reduce(((t,e)=>s(t,e.meta)),{})}function ct(t,e){const n={};for(const i in t)n[i]=i in e?e[i]:t[i];return n}function ht(t,e){return e.children.some((e=>e===t||ht(t,e)))}const pt=/#/g,dt=/&/g,ft=/\//g,mt=/=/g,vt=/\?/g,gt=/\+/g,yt=/%5B/g,bt=/%5D/g,xt=/%5E/g,wt=/%60/g,kt=/%7B/g,Ct=/%7C/g,_t=/%7D/g,St=/%20/g;function Mt(t){return encodeURI(""+t).replace(Ct,"|").replace(yt,"[").replace(bt,"]")}function At(t){return Mt(t).replace(kt,"{").replace(_t,"}").replace(xt,"^")}function It(t){return Mt(t).replace(gt,"%2B").replace(St,"+").replace(pt,"%23").replace(dt,"%26").replace(wt,"`").replace(kt,"{").replace(_t,"}").replace(xt,"^")}function Tt(t){return It(t).replace(mt,"%3D")}function Nt(t){return Mt(t).replace(pt,"%23").replace(vt,"%3F")}function $t(t){return null==t?"":Nt(t).replace(ft,"%2F")}function Ot(t){try{return decodeURIComponent(""+t)}catch(e){}return""+t}function Lt(t){const e={};if(""===t||"?"===t)return e;const n="?"===t[0],i=(n?t.slice(1):t).split("&");for(let r=0;rt&&It(t))):[i&&It(i)];r.forEach((t=>{void 0!==t&&(e+=(e.length?"&":"")+n,null!=t&&(e+="="+t))}))}return e}function Pt(t){const e={};for(const n in t){const i=t[n];void 0!==i&&(e[n]=c(i)?i.map((t=>null==t?null:""+t)):null==i?i:""+i)}return e}const Dt=Symbol(""),Rt=Symbol(""),Bt=Symbol(""),Ft=Symbol(""),zt=Symbol("");function jt(){let t=[];function e(e){return t.push(e),()=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)}}function n(){t=[]}return{add:e,list:()=>t,reset:n}}function Vt(t,e,n,i,r){const o=i&&(i.enterCallbacks[r]=i.enterCallbacks[r]||[]);return()=>new Promise(((a,s)=>{const l=t=>{!1===t?s(U(4,{from:n,to:e})):t instanceof Error?s(t):z(t)?s(U(2,{from:e,to:t})):(o&&i.enterCallbacks[r]===o&&"function"===typeof t&&o.push(t),a())},u=t.call(i&&i.instances[r],e,n,l);let c=Promise.resolve(u);t.length<3&&(c=c.then(l)),c.catch((t=>s(t)))}))}function Ht(t,e,n,i){const r=[];for(const o of t){0;for(const t in o.components){let s=o.components[t];if("beforeRouteEnter"===e||o.instances[t])if(Zt(s)){const a=s.__vccOpts||s,l=a[e];l&&r.push(Vt(l,n,i,o,t))}else{let l=s();0,r.push((()=>l.then((r=>{if(!r)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${o.path}"`));const s=a(r)?r.default:r;o.components[t]=s;const l=s.__vccOpts||s,u=l[e];return u&&Vt(u,n,i,o,t)()}))))}}}return r}function Zt(t){return"object"===typeof t||"displayName"in t||"props"in t||"__vccOpts"in t}function Ut(t){const e=(0,i.WQ)(Bt),n=(0,i.WQ)(Ft),o=(0,i.EW)((()=>e.resolve((0,r.R1)(t.to)))),a=(0,i.EW)((()=>{const{matched:t}=o.value,{length:e}=t,i=t[e-1],r=n.matched;if(!i||!r.length)return-1;const a=r.findIndex(g.bind(null,i));if(a>-1)return a;const s=Yt(t[e-2]);return e>1&&Yt(i)===s&&r[r.length-1].path!==s?r.findIndex(g.bind(null,t[e-2])):a})),s=(0,i.EW)((()=>a.value>-1&&qt(n.params,o.value.params))),l=(0,i.EW)((()=>a.value>-1&&a.value===n.matched.length-1&&y(n.params,o.value.params)));function c(n={}){return Wt(n)?e[(0,r.R1)(t.replace)?"replace":"push"]((0,r.R1)(t.to)).catch(u):Promise.resolve()}return{route:o,href:(0,i.EW)((()=>o.value.href)),isActive:s,isExactActive:l,navigate:c}}const Gt=(0,i.pM)({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ut,setup(t,{slots:e}){const n=(0,r.Kh)(Ut(t)),{options:o}=(0,i.WQ)(Bt),a=(0,i.EW)((()=>({[Xt(t.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Xt(t.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const r=e.default&&e.default(n);return t.custom?r:(0,i.h)("a",{"aria-current":n.isExactActive?t.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:a.value},r)}}}),Kt=Gt;function Wt(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function qt(t,e){for(const n in e){const i=e[n],r=t[n];if("string"===typeof i){if(i!==r)return!1}else if(!c(r)||r.length!==i.length||i.some(((t,e)=>t!==r[e])))return!1}return!0}function Yt(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Xt=(t,e,n)=>null!=t?t:null!=e?e:n,Jt=(0,i.pM)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:n}){const o=(0,i.WQ)(zt),a=(0,i.EW)((()=>t.route||o.value)),l=(0,i.WQ)(Rt,0),u=(0,i.EW)((()=>{let t=(0,r.R1)(l);const{matched:e}=a.value;let n;while((n=e[t])&&!n.components)t++;return t})),c=(0,i.EW)((()=>a.value.matched[u.value]));(0,i.Gt)(Rt,(0,i.EW)((()=>u.value+1))),(0,i.Gt)(Dt,c),(0,i.Gt)(zt,a);const h=(0,r.KR)();return(0,i.wB)((()=>[h.value,c.value,t.name]),(([t,e,n],[i,r,o])=>{e&&(e.instances[n]=t,r&&r!==e&&t&&t===i&&(e.leaveGuards.size||(e.leaveGuards=r.leaveGuards),e.updateGuards.size||(e.updateGuards=r.updateGuards))),!t||!e||r&&g(e,r)&&i||(e.enterCallbacks[n]||[]).forEach((e=>e(t)))}),{flush:"post"}),()=>{const r=a.value,o=t.name,l=c.value,u=l&&l.components[o];if(!u)return Qt(n.default,{Component:u,route:r});const p=l.props[o],d=p?!0===p?r.params:"function"===typeof p?p(r):p:null,f=t=>{t.component.isUnmounted&&(l.instances[o]=null)},m=(0,i.h)(u,s({},d,e,{onVnodeUnmounted:f,ref:h}));return Qt(n.default,{Component:m,route:r})||m}}});function Qt(t,e){if(!t)return null;const n=t(e);return 1===n.length?n[0]:n}const te=Jt;function ee(t){const e=rt(t.routes,t),n=t.parseQuery||Lt,a=t.stringifyQuery||Et,h=t.history;const p=jt(),m=jt(),g=jt(),y=(0,r.IJ)(V);let b=V;o&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const x=l.bind(null,(t=>""+t)),w=l.bind(null,$t),C=l.bind(null,Ot);function _(t,n){let i,r;return j(t)?(i=e.getRecordMatcher(t),r=n):r=t,e.addRoute(r,i)}function S(t){const n=e.getRecordMatcher(t);n&&e.removeRoute(n)}function M(){return e.getRoutes().map((t=>t.record))}function A(t){return!!e.getRecordMatcher(t)}function $(t,i){if(i=s({},i||y.value),"string"===typeof t){const r=d(n,t,i.path),o=e.resolve({path:r.path},i),a=h.createHref(r.fullPath);return s(r,o,{params:C(o.params),hash:Ot(r.hash),redirectedFrom:void 0,href:a})}let r;if("path"in t)r=s({},t,{path:d(n,t.path,i.path).path});else{const e=s({},t.params);for(const t in e)null==e[t]&&delete e[t];r=s({},t,{params:w(e)}),i.params=w(i.params)}const o=e.resolve(r,i),l=t.hash||"";o.params=x(C(o.params));const u=f(a,s({},t,{hash:At(l),path:o.path})),c=h.createHref(u);return s({fullPath:u,hash:l,query:a===Et?Pt(t.query):t.query||{}},o,{redirectedFrom:void 0,href:c})}function E(t){return"string"===typeof t?d(n,t,y.value.path):s({},t)}function P(t,e){if(b!==t)return U(8,{from:e,to:t})}function D(t){return F(t)}function R(t){return D(s(E(t),{replace:!0}))}function B(t){const e=t.matched[t.matched.length-1];if(e&&e.redirect){const{redirect:n}=e;let i="function"===typeof n?n(t):n;return"string"===typeof i&&(i=i.includes("?")||i.includes("#")?i=E(i):{path:i},i.params={}),s({query:t.query,hash:t.hash,params:"path"in i?{}:t.params},i)}}function F(t,e){const n=b=$(t),i=y.value,r=t.state,o=t.force,l=!0===t.replace,u=B(n);if(u)return F(s(E(u),{state:"object"===typeof u?s({},r,u.state):r,force:o,replace:l}),e||n);const c=n;let h;return c.redirectedFrom=e,!o&&v(a,i,n)&&(h=U(16,{to:c,from:i}),it(i,i,!0,!1)),(h?Promise.resolve(h):Z(c,i)).catch((t=>G(t)?G(t,2)?t:nt(t):tt(t,c,i))).then((t=>{if(t){if(G(t,2))return F(s({replace:l},E(t.to),{state:"object"===typeof t.to?s({},r,t.to.state):r,force:o}),e||c)}else t=W(c,i,!0,l,r);return K(c,i,t),t}))}function z(t,e){const n=P(t,e);return n?Promise.reject(n):Promise.resolve()}function H(t){const e=st.values().next().value;return e&&"function"===typeof e.runWithContext?e.runWithContext(t):t()}function Z(t,e){let n;const[i,r,o]=ne(t,e);n=Ht(i.reverse(),"beforeRouteLeave",t,e);for(const s of i)s.leaveGuards.forEach((i=>{n.push(Vt(i,t,e))}));const a=z.bind(null,t,e);return n.push(a),ut(n).then((()=>{n=[];for(const i of p.list())n.push(Vt(i,t,e));return n.push(a),ut(n)})).then((()=>{n=Ht(r,"beforeRouteUpdate",t,e);for(const i of r)i.updateGuards.forEach((i=>{n.push(Vt(i,t,e))}));return n.push(a),ut(n)})).then((()=>{n=[];for(const i of t.matched)if(i.beforeEnter&&!e.matched.includes(i))if(c(i.beforeEnter))for(const r of i.beforeEnter)n.push(Vt(r,t,e));else n.push(Vt(i.beforeEnter,t,e));return n.push(a),ut(n)})).then((()=>(t.matched.forEach((t=>t.enterCallbacks={})),n=Ht(o,"beforeRouteEnter",t,e),n.push(a),ut(n)))).then((()=>{n=[];for(const i of m.list())n.push(Vt(i,t,e));return n.push(a),ut(n)})).catch((t=>G(t,8)?t:Promise.reject(t)))}function K(t,e,n){for(const i of g.list())H((()=>i(t,e,n)))}function W(t,e,n,i,r){const a=P(t,e);if(a)return a;const l=e===V,u=o?history.state:{};n&&(i||l?h.replace(t.fullPath,s({scroll:l&&u&&u.scroll},r)):h.push(t.fullPath,r)),y.value=t,it(t,e,n,l),nt()}let q;function Y(){q||(q=h.listen(((t,e,n)=>{if(!lt.listening)return;const i=$(t),r=B(i);if(r)return void F(s(r,{replace:!0}),i).catch(u);b=i;const a=y.value;o&&O(N(a.fullPath,n.delta),I()),Z(i,a).catch((t=>G(t,12)?t:G(t,2)?(F(t.to,i).then((t=>{G(t,20)&&!n.delta&&n.type===k.pop&&h.go(-1,!1)})).catch(u),Promise.reject()):(n.delta&&h.go(-n.delta,!1),tt(t,i,a)))).then((t=>{t=t||W(i,a,!1),t&&(n.delta&&!G(t,8)?h.go(-n.delta,!1):n.type===k.pop&&G(t,20)&&h.go(-1,!1)),K(i,a,t)})).catch(u)})))}let X,J=jt(),Q=jt();function tt(t,e,n){nt(t);const i=Q.list();return i.length?i.forEach((i=>i(t,e,n))):console.error(t),Promise.reject(t)}function et(){return X&&y.value!==V?Promise.resolve():new Promise(((t,e)=>{J.add([t,e])}))}function nt(t){return X||(X=!t,Y(),J.list().forEach((([e,n])=>t?n(t):e())),J.reset()),t}function it(e,n,r,a){const{scrollBehavior:s}=t;if(!o||!s)return Promise.resolve();const l=!r&&L(N(e.fullPath,0))||(a||!r)&&history.state&&history.state.scroll||null;return(0,i.dY)().then((()=>s(e,n,l))).then((t=>t&&T(t))).catch((t=>tt(t,e,n)))}const ot=t=>h.go(t);let at;const st=new Set,lt={currentRoute:y,listening:!0,addRoute:_,removeRoute:S,hasRoute:A,getRoutes:M,resolve:$,options:t,push:D,replace:R,go:ot,back:()=>ot(-1),forward:()=>ot(1),beforeEach:p.add,beforeResolve:m.add,afterEach:g.add,onError:Q.add,isReady:et,install(t){const e=this;t.component("RouterLink",Kt),t.component("RouterView",te),t.config.globalProperties.$router=e,Object.defineProperty(t.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,r.R1)(y)}),o&&!at&&y.value===V&&(at=!0,D(h.location).catch((t=>{0})));const n={};for(const r in V)n[r]=(0,i.EW)((()=>y.value[r]));t.provide(Bt,e),t.provide(Ft,(0,r.Kh)(n)),t.provide(zt,y);const a=t.unmount;st.add(t),t.unmount=function(){st.delete(t),st.size<1&&(b=V,q&&q(),q=null,y.value=V,at=!1,X=!1),a()}}};function ut(t){return t.reduce(((t,e)=>t.then((()=>H(e)))),Promise.resolve())}return lt}function ne(t,e){const n=[],i=[],r=[],o=Math.max(e.matched.length,t.matched.length);for(let a=0;ag(t,o)))?i.push(o):n.push(o));const s=t.matched[a];s&&(e.matched.find((t=>g(t,s)))||r.push(s))}return[n,i,r]}},2775:function(t){"use strict";t.exports=JSON.parse('{"supplemental":{"version":{"_unicodeVersion":"14.0.0","_cldrVersion":"40"},"currencyData":{"fractions":{"ADP":{"_rounding":"0","_digits":"0"},"AFN":{"_rounding":"0","_digits":"0"},"ALL":{"_rounding":"0","_digits":"0"},"AMD":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"BHD":{"_rounding":"0","_digits":"3"},"BIF":{"_rounding":"0","_digits":"0"},"BYN":{"_rounding":"0","_digits":"2"},"BYR":{"_rounding":"0","_digits":"0"},"CAD":{"_rounding":"0","_digits":"2","_cashRounding":"5"},"CHF":{"_rounding":"0","_digits":"2","_cashRounding":"5"},"CLF":{"_rounding":"0","_digits":"4"},"CLP":{"_rounding":"0","_digits":"0"},"COP":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"CRC":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"CZK":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"DEFAULT":{"_rounding":"0","_digits":"2"},"DJF":{"_rounding":"0","_digits":"0"},"DKK":{"_rounding":"0","_digits":"2","_cashRounding":"50"},"ESP":{"_rounding":"0","_digits":"0"},"GNF":{"_rounding":"0","_digits":"0"},"GYD":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"HUF":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"IDR":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"IQD":{"_rounding":"0","_digits":"0"},"IRR":{"_rounding":"0","_digits":"0"},"ISK":{"_rounding":"0","_digits":"0"},"ITL":{"_rounding":"0","_digits":"0"},"JOD":{"_rounding":"0","_digits":"3"},"JPY":{"_rounding":"0","_digits":"0"},"KMF":{"_rounding":"0","_digits":"0"},"KPW":{"_rounding":"0","_digits":"0"},"KRW":{"_rounding":"0","_digits":"0"},"KWD":{"_rounding":"0","_digits":"3"},"LAK":{"_rounding":"0","_digits":"0"},"LBP":{"_rounding":"0","_digits":"0"},"LUF":{"_rounding":"0","_digits":"0"},"LYD":{"_rounding":"0","_digits":"3"},"MGA":{"_rounding":"0","_digits":"0"},"MGF":{"_rounding":"0","_digits":"0"},"MMK":{"_rounding":"0","_digits":"0"},"MNT":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"MRO":{"_rounding":"0","_digits":"0"},"MUR":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"NOK":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"OMR":{"_rounding":"0","_digits":"3"},"PKR":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"PYG":{"_rounding":"0","_digits":"0"},"RSD":{"_rounding":"0","_digits":"0"},"RWF":{"_rounding":"0","_digits":"0"},"SEK":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"SLL":{"_rounding":"0","_digits":"0"},"SOS":{"_rounding":"0","_digits":"0"},"STD":{"_rounding":"0","_digits":"0"},"SYP":{"_rounding":"0","_digits":"0"},"TMM":{"_rounding":"0","_digits":"0"},"TND":{"_rounding":"0","_digits":"3"},"TRL":{"_rounding":"0","_digits":"0"},"TWD":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"TZS":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"UGX":{"_rounding":"0","_digits":"0"},"UYI":{"_rounding":"0","_digits":"0"},"UYW":{"_rounding":"0","_digits":"4"},"UZS":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"VEF":{"_rounding":"0","_digits":"2","_cashRounding":"0","_cashDigits":"0"},"VND":{"_rounding":"0","_digits":"0"},"VUV":{"_rounding":"0","_digits":"0"},"XAF":{"_rounding":"0","_digits":"0"},"XOF":{"_rounding":"0","_digits":"0"},"XPF":{"_rounding":"0","_digits":"0"},"YER":{"_rounding":"0","_digits":"0"},"ZMK":{"_rounding":"0","_digits":"0"},"ZWD":{"_rounding":"0","_digits":"0"}},"region":{"AC":[{"SHP":{"_from":"1976-01-01"}}],"AD":[{"ESP":{"_from":"1873-01-01","_to":"2002-02-28"}},{"ADP":{"_from":"1936-01-01","_to":"2001-12-31"}},{"FRF":{"_from":"1960-01-01","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"AE":[{"AED":{"_from":"1973-05-19"}}],"AF":[{"AFA":{"_from":"1927-03-14","_to":"2002-12-31"}},{"AFN":{"_from":"2002-10-07"}}],"AG":[{"XCD":{"_from":"1965-10-06"}}],"AI":[{"XCD":{"_from":"1965-10-06"}}],"AL":[{"ALK":{"_from":"1946-11-01","_to":"1965-08-16"}},{"ALL":{"_from":"1965-08-16"}}],"AM":[{"SUR":{"_from":"1961-01-01","_to":"1991-12-25"}},{"RUR":{"_from":"1991-12-25","_to":"1993-11-22"}},{"AMD":{"_from":"1993-11-22"}}],"AO":[{"AOK":{"_from":"1977-01-08","_to":"1991-03-01"}},{"AON":{"_from":"1990-09-25","_to":"2000-02-01"}},{"AOR":{"_from":"1995-07-01","_to":"2000-02-01"}},{"AOA":{"_from":"1999-12-13"}}],"AQ":[{"XXX":{"_tender":"false"}}],"AR":[{"ARM":{"_from":"1881-11-05","_to":"1970-01-01"}},{"ARL":{"_from":"1970-01-01","_to":"1983-06-01"}},{"ARP":{"_from":"1983-06-01","_to":"1985-06-14"}},{"ARA":{"_from":"1985-06-14","_to":"1992-01-01"}},{"ARS":{"_from":"1992-01-01"}}],"AS":[{"USD":{"_from":"1904-07-16"}}],"AT":[{"ATS":{"_from":"1947-12-04","_to":"2002-02-28"}},{"EUR":{"_from":"1999-01-01"}}],"AU":[{"AUD":{"_from":"1966-02-14"}}],"AW":[{"ANG":{"_from":"1940-05-10","_to":"1986-01-01"}},{"AWG":{"_from":"1986-01-01"}}],"AX":[{"EUR":{"_from":"1999-01-01"}}],"AZ":[{"SUR":{"_from":"1961-01-01","_to":"1991-12-25"}},{"RUR":{"_from":"1991-12-25","_to":"1994-01-01"}},{"AZM":{"_from":"1993-11-22","_to":"2006-12-31"}},{"AZN":{"_from":"2006-01-01"}}],"BA":[{"YUD":{"_from":"1966-01-01","_to":"1990-01-01"}},{"YUN":{"_from":"1990-01-01","_to":"1992-07-01"}},{"YUR":{"_from":"1992-07-01","_to":"1993-10-01"}},{"BAD":{"_from":"1992-07-01","_to":"1994-08-15"}},{"BAN":{"_from":"1994-08-15","_to":"1997-07-01"}},{"BAM":{"_from":"1995-01-01"}}],"BB":[{"XCD":{"_from":"1965-10-06","_to":"1973-12-03"}},{"BBD":{"_from":"1973-12-03"}}],"BD":[{"INR":{"_from":"1835-08-17","_to":"1948-04-01"}},{"PKR":{"_from":"1948-04-01","_to":"1972-01-01"}},{"BDT":{"_from":"1972-01-01"}}],"BE":[{"NLG":{"_from":"1816-12-15","_to":"1831-02-07"}},{"BEF":{"_from":"1831-02-07","_to":"2002-02-28"}},{"BEC":{"_tender":"false","_from":"1970-01-01","_to":"1990-03-05"}},{"BEL":{"_tender":"false","_from":"1970-01-01","_to":"1990-03-05"}},{"EUR":{"_from":"1999-01-01"}}],"BF":[{"XOF":{"_from":"1984-08-04"}}],"BG":[{"BGO":{"_from":"1879-07-08","_to":"1952-05-12"}},{"BGM":{"_from":"1952-05-12","_to":"1962-01-01"}},{"BGL":{"_from":"1962-01-01","_to":"1999-07-05"}},{"BGN":{"_from":"1999-07-05"}}],"BH":[{"BHD":{"_from":"1965-10-16"}}],"BI":[{"BIF":{"_from":"1964-05-19"}}],"BJ":[{"XOF":{"_from":"1975-11-30"}}],"BL":[{"FRF":{"_from":"1960-01-01","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"BM":[{"BMD":{"_from":"1970-02-06"}}],"BN":[{"MYR":{"_from":"1963-09-16","_to":"1967-06-12"}},{"BND":{"_from":"1967-06-12"}}],"BO":[{"BOV":{"_tender":"false"}},{"BOL":{"_from":"1863-06-23","_to":"1963-01-01"}},{"BOP":{"_from":"1963-01-01","_to":"1986-12-31"}},{"BOB":{"_from":"1987-01-01"}}],"BQ":[{"ANG":{"_from":"2010-10-10","_to":"2011-01-01"}},{"USD":{"_from":"2011-01-01"}}],"BR":[{"BRZ":{"_from":"1942-11-01","_to":"1967-02-13"}},{"BRB":{"_from":"1967-02-13","_to":"1986-02-28"}},{"BRC":{"_from":"1986-02-28","_to":"1989-01-15"}},{"BRN":{"_from":"1989-01-15","_to":"1990-03-16"}},{"BRE":{"_from":"1990-03-16","_to":"1993-08-01"}},{"BRR":{"_from":"1993-08-01","_to":"1994-07-01"}},{"BRL":{"_from":"1994-07-01"}}],"BS":[{"BSD":{"_from":"1966-05-25"}}],"BT":[{"INR":{"_from":"1907-01-01"}},{"BTN":{"_from":"1974-04-16"}}],"BU":[{"BUK":{"_from":"1952-07-01","_to":"1989-06-18"}}],"BV":[{"NOK":{"_from":"1905-06-07"}}],"BW":[{"ZAR":{"_from":"1961-02-14","_to":"1976-08-23"}},{"BWP":{"_from":"1976-08-23"}}],"BY":[{"SUR":{"_from":"1961-01-01","_to":"1991-12-25"}},{"RUR":{"_from":"1991-12-25","_to":"1994-11-08"}},{"BYB":{"_from":"1994-08-01","_to":"2000-12-31"}},{"BYR":{"_from":"2000-01-01","_to":"2017-01-01"}},{"BYN":{"_from":"2016-07-01"}}],"BZ":[{"BZD":{"_from":"1974-01-01"}}],"CA":[{"CAD":{"_from":"1858-01-01"}}],"CC":[{"AUD":{"_from":"1966-02-14"}}],"CD":[{"ZRZ":{"_from":"1971-10-27","_to":"1993-11-01"}},{"ZRN":{"_from":"1993-11-01","_to":"1998-07-01"}},{"CDF":{"_from":"1998-07-01"}}],"CF":[{"XAF":{"_from":"1993-01-01"}}],"CG":[{"XAF":{"_from":"1993-01-01"}}],"CH":[{"CHE":{"_tender":"false"}},{"CHW":{"_tender":"false"}},{"CHF":{"_from":"1799-03-17"}}],"CI":[{"XOF":{"_from":"1958-12-04"}}],"CK":[{"NZD":{"_from":"1967-07-10"}}],"CL":[{"CLF":{"_tender":"false"}},{"CLE":{"_from":"1960-01-01","_to":"1975-09-29"}},{"CLP":{"_from":"1975-09-29"}}],"CM":[{"XAF":{"_from":"1973-04-01"}}],"CN":[{"CNY":{"_from":"1953-03-01"}},{"CNX":{"_tender":"false","_from":"1979-01-01","_to":"1998-12-31"}},{"CNH":{"_tender":"false","_from":"2010-07-19"}}],"CO":[{"COU":{"_tender":"false"}},{"COP":{"_from":"1905-01-01"}}],"CP":[{"XXX":{"_tender":"false"}}],"CR":[{"CRC":{"_from":"1896-10-26"}}],"CS":[{"YUM":{"_from":"1994-01-24","_to":"2002-05-15"}},{"CSD":{"_from":"2002-05-15","_to":"2006-06-03"}},{"EUR":{"_from":"2003-02-04","_to":"2006-06-03"}}],"CU":[{"CUP":{"_from":"1859-01-01"}},{"USD":{"_from":"1899-01-01","_to":"1959-01-01"}},{"CUC":{"_from":"1994-01-01"}}],"CV":[{"PTE":{"_from":"1911-05-22","_to":"1975-07-05"}},{"CVE":{"_from":"1914-01-01"}}],"CW":[{"ANG":{"_from":"2010-10-10"}}],"CX":[{"AUD":{"_from":"1966-02-14"}}],"CY":[{"CYP":{"_from":"1914-09-10","_to":"2008-01-31"}},{"EUR":{"_from":"2008-01-01"}}],"CZ":[{"CSK":{"_from":"1953-06-01","_to":"1993-03-01"}},{"CZK":{"_from":"1993-01-01"}}],"DD":[{"DDM":{"_from":"1948-07-20","_to":"1990-10-02"}}],"DE":[{"DEM":{"_from":"1948-06-20","_to":"2002-02-28"}},{"EUR":{"_from":"1999-01-01"}}],"DG":[{"USD":{"_from":"1965-11-08"}}],"DJ":[{"DJF":{"_from":"1977-06-27"}}],"DK":[{"DKK":{"_from":"1873-05-27"}}],"DM":[{"XCD":{"_from":"1965-10-06"}}],"DO":[{"USD":{"_from":"1905-06-21","_to":"1947-10-01"}},{"DOP":{"_from":"1947-10-01"}}],"DZ":[{"DZD":{"_from":"1964-04-01"}}],"EA":[{"EUR":{"_from":"1999-01-01"}}],"EC":[{"ECS":{"_from":"1884-04-01","_to":"2000-10-02"}},{"ECV":{"_tender":"false","_from":"1993-05-23","_to":"2000-01-09"}},{"USD":{"_from":"2000-10-02"}}],"EE":[{"SUR":{"_from":"1961-01-01","_to":"1992-06-20"}},{"EEK":{"_from":"1992-06-21","_to":"2010-12-31"}},{"EUR":{"_from":"2011-01-01"}}],"EG":[{"EGP":{"_from":"1885-11-14"}}],"EH":[{"MAD":{"_from":"1976-02-26"}}],"ER":[{"ETB":{"_from":"1993-05-24","_to":"1997-11-08"}},{"ERN":{"_from":"1997-11-08"}}],"ES":[{"ESP":{"_from":"1868-10-19","_to":"2002-02-28"}},{"ESB":{"_tender":"false","_from":"1975-01-01","_to":"1994-12-31"}},{"ESA":{"_tender":"false","_from":"1978-01-01","_to":"1981-12-31"}},{"EUR":{"_from":"1999-01-01"}}],"ET":[{"ETB":{"_from":"1976-09-15"}}],"EU":[{"XEU":{"_tender":"false","_from":"1979-01-01","_to":"1998-12-31"}},{"EUR":{"_from":"1999-01-01"}}],"FI":[{"FIM":{"_from":"1963-01-01","_to":"2002-02-28"}},{"EUR":{"_from":"1999-01-01"}}],"FJ":[{"FJD":{"_from":"1969-01-13"}}],"FK":[{"FKP":{"_from":"1901-01-01"}}],"FM":[{"JPY":{"_from":"1914-10-03","_to":"1944-01-01"}},{"USD":{"_from":"1944-01-01"}}],"FO":[{"DKK":{"_from":"1948-01-01"}}],"FR":[{"FRF":{"_from":"1960-01-01","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"GA":[{"XAF":{"_from":"1993-01-01"}}],"GB":[{"GBP":{"_from":"1694-07-27"}}],"GD":[{"XCD":{"_from":"1967-02-27"}}],"GE":[{"SUR":{"_from":"1961-01-01","_to":"1991-12-25"}},{"RUR":{"_from":"1991-12-25","_to":"1993-06-11"}},{"GEK":{"_from":"1993-04-05","_to":"1995-09-25"}},{"GEL":{"_from":"1995-09-23"}}],"GF":[{"FRF":{"_from":"1960-01-01","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"GG":[{"GBP":{"_from":"1830-01-01"}}],"GH":[{"GHC":{"_from":"1979-03-09","_to":"2007-12-31"}},{"GHS":{"_from":"2007-07-03"}}],"GI":[{"GIP":{"_from":"1713-01-01"}}],"GL":[{"DKK":{"_from":"1873-05-27"}}],"GM":[{"GMD":{"_from":"1971-07-01"}}],"GN":[{"GNS":{"_from":"1972-10-02","_to":"1986-01-06"}},{"GNF":{"_from":"1986-01-06"}}],"GP":[{"FRF":{"_from":"1960-01-01","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"GQ":[{"GQE":{"_from":"1975-07-07","_to":"1986-06-01"}},{"XAF":{"_from":"1993-01-01"}}],"GR":[{"GRD":{"_from":"1954-05-01","_to":"2002-02-28"}},{"EUR":{"_from":"2001-01-01"}}],"GS":[{"GBP":{"_from":"1908-01-01"}}],"GT":[{"GTQ":{"_from":"1925-05-27"}}],"GU":[{"USD":{"_from":"1944-08-21"}}],"GW":[{"GWE":{"_from":"1914-01-01","_to":"1976-02-28"}},{"GWP":{"_from":"1976-02-28","_to":"1997-03-31"}},{"XOF":{"_from":"1997-03-31"}}],"GY":[{"GYD":{"_from":"1966-05-26"}}],"HK":[{"HKD":{"_from":"1895-02-02"}}],"HM":[{"AUD":{"_from":"1967-02-16"}}],"HN":[{"HNL":{"_from":"1926-04-03"}}],"HR":[{"YUD":{"_from":"1966-01-01","_to":"1990-01-01"}},{"YUN":{"_from":"1990-01-01","_to":"1991-12-23"}},{"HRD":{"_from":"1991-12-23","_to":"1995-01-01"}},{"HRK":{"_from":"1994-05-30"}}],"HT":[{"HTG":{"_from":"1872-08-26"}},{"USD":{"_from":"1915-01-01"}}],"HU":[{"HUF":{"_from":"1946-07-23"}}],"IC":[{"EUR":{"_from":"1999-01-01"}}],"ID":[{"IDR":{"_from":"1965-12-13"}}],"IE":[{"GBP":{"_from":"1800-01-01","_to":"1922-01-01"}},{"IEP":{"_from":"1922-01-01","_to":"2002-02-09"}},{"EUR":{"_from":"1999-01-01"}}],"IL":[{"ILP":{"_from":"1948-08-16","_to":"1980-02-22"}},{"ILR":{"_from":"1980-02-22","_to":"1985-09-04"}},{"ILS":{"_from":"1985-09-04"}}],"IM":[{"GBP":{"_from":"1840-01-03"}}],"IN":[{"INR":{"_from":"1835-08-17"}}],"IO":[{"USD":{"_from":"1965-11-08"}}],"IQ":[{"EGP":{"_from":"1920-11-11","_to":"1931-04-19"}},{"INR":{"_from":"1920-11-11","_to":"1931-04-19"}},{"IQD":{"_from":"1931-04-19"}}],"IR":[{"IRR":{"_from":"1932-05-13"}}],"IS":[{"DKK":{"_from":"1873-05-27","_to":"1918-12-01"}},{"ISJ":{"_from":"1918-12-01","_to":"1981-01-01"}},{"ISK":{"_from":"1981-01-01"}}],"IT":[{"ITL":{"_from":"1862-08-24","_to":"2002-02-28"}},{"EUR":{"_from":"1999-01-01"}}],"JE":[{"GBP":{"_from":"1837-01-01"}}],"JM":[{"JMD":{"_from":"1969-09-08"}}],"JO":[{"JOD":{"_from":"1950-07-01"}}],"JP":[{"JPY":{"_from":"1871-06-01"}}],"KE":[{"KES":{"_from":"1966-09-14"}}],"KG":[{"SUR":{"_from":"1961-01-01","_to":"1991-12-25"}},{"RUR":{"_from":"1991-12-25","_to":"1993-05-10"}},{"KGS":{"_from":"1993-05-10"}}],"KH":[{"KHR":{"_from":"1980-03-20"}}],"KI":[{"AUD":{"_from":"1966-02-14"}}],"KM":[{"KMF":{"_from":"1975-07-06"}}],"KN":[{"XCD":{"_from":"1965-10-06"}}],"KP":[{"KPW":{"_from":"1959-04-17"}}],"KR":[{"KRO":{"_from":"1945-08-15","_to":"1953-02-15"}},{"KRH":{"_from":"1953-02-15","_to":"1962-06-10"}},{"KRW":{"_from":"1962-06-10"}}],"KW":[{"KWD":{"_from":"1961-04-01"}}],"KY":[{"JMD":{"_from":"1969-09-08","_to":"1971-01-01"}},{"KYD":{"_from":"1971-01-01"}}],"KZ":[{"KZT":{"_from":"1993-11-05"}}],"LA":[{"LAK":{"_from":"1979-12-10"}}],"LB":[{"LBP":{"_from":"1948-02-02"}}],"LC":[{"XCD":{"_from":"1965-10-06"}}],"LI":[{"CHF":{"_from":"1921-02-01"}}],"LK":[{"LKR":{"_from":"1978-05-22"}}],"LR":[{"LRD":{"_from":"1944-01-01"}}],"LS":[{"ZAR":{"_from":"1961-02-14"}},{"LSL":{"_from":"1980-01-22"}}],"LT":[{"SUR":{"_from":"1961-01-01","_to":"1992-10-01"}},{"LTT":{"_from":"1992-10-01","_to":"1993-06-25"}},{"LTL":{"_from":"1993-06-25","_to":"2014-12-31"}},{"EUR":{"_from":"2015-01-01"}}],"LU":[{"LUF":{"_from":"1944-09-04","_to":"2002-02-28"}},{"LUC":{"_tender":"false","_from":"1970-01-01","_to":"1990-03-05"}},{"LUL":{"_tender":"false","_from":"1970-01-01","_to":"1990-03-05"}},{"EUR":{"_from":"1999-01-01"}}],"LV":[{"SUR":{"_from":"1961-01-01","_to":"1992-07-20"}},{"LVR":{"_from":"1992-05-07","_to":"1993-10-17"}},{"LVL":{"_from":"1993-06-28","_to":"2013-12-31"}},{"EUR":{"_from":"2014-01-01"}}],"LY":[{"LYD":{"_from":"1971-09-01"}}],"MA":[{"MAF":{"_from":"1881-01-01","_to":"1959-10-17"}},{"MAD":{"_from":"1959-10-17"}}],"MC":[{"FRF":{"_from":"1960-01-01","_to":"2002-02-17"}},{"MCF":{"_from":"1960-01-01","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"MD":[{"MDC":{"_from":"1992-06-01","_to":"1993-11-29"}},{"MDL":{"_from":"1993-11-29"}}],"ME":[{"YUM":{"_from":"1994-01-24","_to":"2002-05-15"}},{"DEM":{"_from":"1999-10-02","_to":"2002-05-15"}},{"EUR":{"_from":"2002-01-01"}}],"MF":[{"FRF":{"_from":"1960-01-01","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"MG":[{"MGF":{"_from":"1963-07-01","_to":"2004-12-31"}},{"MGA":{"_from":"1983-11-01"}}],"MH":[{"USD":{"_from":"1944-01-01"}}],"MK":[{"MKN":{"_from":"1992-04-26","_to":"1993-05-20"}},{"MKD":{"_from":"1993-05-20"}}],"ML":[{"XOF":{"_from":"1958-11-24","_to":"1962-07-02"}},{"MLF":{"_from":"1962-07-02","_to":"1984-08-31"}},{"XOF":{"_from":"1984-06-01"}}],"MM":[{"BUK":{"_from":"1952-07-01","_to":"1989-06-18"}},{"MMK":{"_from":"1989-06-18"}}],"MN":[{"MNT":{"_from":"1915-03-01"}}],"MO":[{"MOP":{"_from":"1901-01-01"}}],"MP":[{"USD":{"_from":"1944-01-01"}}],"MQ":[{"FRF":{"_from":"1960-01-01","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"MR":[{"XOF":{"_from":"1958-11-28","_to":"1973-06-29"}},{"MRO":{"_from":"1973-06-29","_to":"2018-06-30"}},{"MRU":{"_from":"2018-01-01"}}],"MS":[{"XCD":{"_from":"1967-02-27"}}],"MT":[{"MTP":{"_from":"1914-08-13","_to":"1968-06-07"}},{"MTL":{"_from":"1968-06-07","_to":"2008-01-31"}},{"EUR":{"_from":"2008-01-01"}}],"MU":[{"MUR":{"_from":"1934-04-01"}}],"MV":[{"MVP":{"_from":"1947-01-01","_to":"1981-07-01"}},{"MVR":{"_from":"1981-07-01"}}],"MW":[{"MWK":{"_from":"1971-02-15"}}],"MX":[{"MXV":{"_tender":"false"}},{"MXP":{"_from":"1822-01-01","_to":"1992-12-31"}},{"MXN":{"_from":"1993-01-01"}}],"MY":[{"MYR":{"_from":"1963-09-16"}}],"MZ":[{"MZE":{"_from":"1975-06-25","_to":"1980-06-16"}},{"MZM":{"_from":"1980-06-16","_to":"2006-12-31"}},{"MZN":{"_from":"2006-07-01"}}],"NA":[{"ZAR":{"_from":"1961-02-14"}},{"NAD":{"_from":"1993-01-01"}}],"NC":[{"XPF":{"_from":"1985-01-01"}}],"NE":[{"XOF":{"_from":"1958-12-19"}}],"NF":[{"AUD":{"_from":"1966-02-14"}}],"NG":[{"NGN":{"_from":"1973-01-01"}}],"NI":[{"NIC":{"_from":"1988-02-15","_to":"1991-04-30"}},{"NIO":{"_from":"1991-04-30"}}],"NL":[{"NLG":{"_from":"1813-01-01","_to":"2002-02-28"}},{"EUR":{"_from":"1999-01-01"}}],"NO":[{"SEK":{"_from":"1873-05-27","_to":"1905-06-07"}},{"NOK":{"_from":"1905-06-07"}}],"NP":[{"INR":{"_from":"1870-01-01","_to":"1966-10-17"}},{"NPR":{"_from":"1933-01-01"}}],"NR":[{"AUD":{"_from":"1966-02-14"}}],"NU":[{"NZD":{"_from":"1967-07-10"}}],"NZ":[{"NZD":{"_from":"1967-07-10"}}],"OM":[{"OMR":{"_from":"1972-11-11"}}],"PA":[{"PAB":{"_from":"1903-11-04"}},{"USD":{"_from":"1903-11-18"}}],"PE":[{"PES":{"_from":"1863-02-14","_to":"1985-02-01"}},{"PEI":{"_from":"1985-02-01","_to":"1991-07-01"}},{"PEN":{"_from":"1991-07-01"}}],"PF":[{"XPF":{"_from":"1945-12-26"}}],"PG":[{"AUD":{"_from":"1966-02-14","_to":"1975-09-16"}},{"PGK":{"_from":"1975-09-16"}}],"PH":[{"PHP":{"_from":"1946-07-04"}}],"PK":[{"INR":{"_from":"1835-08-17","_to":"1947-08-15"}},{"PKR":{"_from":"1948-04-01"}}],"PL":[{"PLZ":{"_from":"1950-10-28","_to":"1994-12-31"}},{"PLN":{"_from":"1995-01-01"}}],"PM":[{"FRF":{"_from":"1972-12-21","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"PN":[{"NZD":{"_from":"1969-01-13"}}],"PR":[{"ESP":{"_from":"1800-01-01","_to":"1898-12-10"}},{"USD":{"_from":"1898-12-10"}}],"PS":[{"JOD":{"_from":"1950-07-01","_to":"1967-06-01"}},{"ILP":{"_from":"1967-06-01","_to":"1980-02-22"}},{"ILS":{"_from":"1985-09-04"}},{"JOD":{"_from":"1996-02-12"}}],"PT":[{"PTE":{"_from":"1911-05-22","_to":"2002-02-28"}},{"EUR":{"_from":"1999-01-01"}}],"PW":[{"USD":{"_from":"1944-01-01"}}],"PY":[{"PYG":{"_from":"1943-11-01"}}],"QA":[{"QAR":{"_from":"1973-05-19"}}],"RE":[{"FRF":{"_from":"1975-01-01","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"RO":[{"ROL":{"_from":"1952-01-28","_to":"2006-12-31"}},{"RON":{"_from":"2005-07-01"}}],"RS":[{"YUM":{"_from":"1994-01-24","_to":"2002-05-15"}},{"CSD":{"_from":"2002-05-15","_to":"2006-10-25"}},{"RSD":{"_from":"2006-10-25"}}],"RU":[{"RUR":{"_from":"1991-12-25","_to":"1998-12-31"}},{"RUB":{"_from":"1999-01-01"}}],"RW":[{"RWF":{"_from":"1964-05-19"}}],"SA":[{"SAR":{"_from":"1952-10-22"}}],"SB":[{"AUD":{"_from":"1966-02-14","_to":"1978-06-30"}},{"SBD":{"_from":"1977-10-24"}}],"SC":[{"SCR":{"_from":"1903-11-01"}}],"SD":[{"EGP":{"_from":"1889-01-19","_to":"1958-01-01"}},{"GBP":{"_from":"1889-01-19","_to":"1958-01-01"}},{"SDP":{"_from":"1957-04-08","_to":"1998-06-01"}},{"SDD":{"_from":"1992-06-08","_to":"2007-06-30"}},{"SDG":{"_from":"2007-01-10"}}],"SE":[{"SEK":{"_from":"1873-05-27"}}],"SG":[{"MYR":{"_from":"1963-09-16","_to":"1967-06-12"}},{"SGD":{"_from":"1967-06-12"}}],"SH":[{"SHP":{"_from":"1917-02-15"}}],"SI":[{"SIT":{"_from":"1992-10-07","_to":"2007-01-14"}},{"EUR":{"_from":"2007-01-01"}}],"SJ":[{"NOK":{"_from":"1905-06-07"}}],"SK":[{"CSK":{"_from":"1953-06-01","_to":"1992-12-31"}},{"SKK":{"_from":"1992-12-31","_to":"2009-01-01"}},{"EUR":{"_from":"2009-01-01"}}],"SL":[{"GBP":{"_from":"1808-11-30","_to":"1966-02-04"}},{"SLL":{"_from":"1964-08-04"}}],"SM":[{"ITL":{"_from":"1865-12-23","_to":"2001-02-28"}},{"EUR":{"_from":"1999-01-01"}}],"SN":[{"XOF":{"_from":"1959-04-04"}}],"SO":[{"SOS":{"_from":"1960-07-01"}}],"SR":[{"NLG":{"_from":"1815-11-20","_to":"1940-05-10"}},{"SRG":{"_from":"1940-05-10","_to":"2003-12-31"}},{"SRD":{"_from":"2004-01-01"}}],"SS":[{"SDG":{"_from":"2007-01-10","_to":"2011-09-01"}},{"SSP":{"_from":"2011-07-18"}}],"ST":[{"STD":{"_from":"1977-09-08","_to":"2017-12-31"}},{"STN":{"_from":"2018-01-01"}}],"SU":[{"SUR":{"_from":"1961-01-01","_to":"1991-12-25"}}],"SV":[{"SVC":{"_from":"1919-11-11","_to":"2001-01-01"}},{"USD":{"_from":"2001-01-01"}}],"SX":[{"ANG":{"_from":"2010-10-10"}}],"SY":[{"SYP":{"_from":"1948-01-01"}}],"SZ":[{"SZL":{"_from":"1974-09-06"}}],"TA":[{"GBP":{"_from":"1938-01-12"}}],"TC":[{"USD":{"_from":"1969-09-08"}}],"TD":[{"XAF":{"_from":"1993-01-01"}}],"TF":[{"FRF":{"_from":"1959-01-01","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"TG":[{"XOF":{"_from":"1958-11-28"}}],"TH":[{"THB":{"_from":"1928-04-15"}}],"TJ":[{"RUR":{"_from":"1991-12-25","_to":"1995-05-10"}},{"TJR":{"_from":"1995-05-10","_to":"2000-10-25"}},{"TJS":{"_from":"2000-10-26"}}],"TK":[{"NZD":{"_from":"1967-07-10"}}],"TL":[{"TPE":{"_from":"1959-01-02","_to":"2002-05-20"}},{"IDR":{"_from":"1975-12-07","_to":"2002-05-20"}},{"USD":{"_from":"1999-10-20"}}],"TM":[{"SUR":{"_from":"1961-01-01","_to":"1991-12-25"}},{"RUR":{"_from":"1991-12-25","_to":"1993-11-01"}},{"TMM":{"_from":"1993-11-01","_to":"2009-01-01"}},{"TMT":{"_from":"2009-01-01"}}],"TN":[{"TND":{"_from":"1958-11-01"}}],"TO":[{"TOP":{"_from":"1966-02-14"}}],"TP":[{"TPE":{"_from":"1959-01-02","_to":"2002-05-20"}},{"IDR":{"_from":"1975-12-07","_to":"2002-05-20"}}],"TR":[{"TRL":{"_from":"1922-11-01","_to":"2005-12-31"}},{"TRY":{"_from":"2005-01-01"}}],"TT":[{"TTD":{"_from":"1964-01-01"}}],"TV":[{"AUD":{"_from":"1966-02-14"}}],"TW":[{"TWD":{"_from":"1949-06-15"}}],"TZ":[{"TZS":{"_from":"1966-06-14"}}],"UA":[{"SUR":{"_from":"1961-01-01","_to":"1991-12-25"}},{"RUR":{"_from":"1991-12-25","_to":"1992-11-13"}},{"UAK":{"_from":"1992-11-13","_to":"1993-10-17"}},{"UAH":{"_from":"1996-09-02"}}],"UG":[{"UGS":{"_from":"1966-08-15","_to":"1987-05-15"}},{"UGX":{"_from":"1987-05-15"}}],"UM":[{"USD":{"_from":"1944-01-01"}}],"US":[{"USN":{"_tender":"false"}},{"USS":{"_tender":"false","_to":"2014-03-01"}},{"USD":{"_from":"1792-01-01"}}],"UY":[{"UYI":{"_tender":"false"}},{"UYW":{"_tender":"false"}},{"UYP":{"_from":"1975-07-01","_to":"1993-03-01"}},{"UYU":{"_from":"1993-03-01"}}],"UZ":[{"UZS":{"_from":"1994-07-01"}}],"VA":[{"ITL":{"_from":"1870-10-19","_to":"2002-02-28"}},{"EUR":{"_from":"1999-01-01"}}],"VC":[{"XCD":{"_from":"1965-10-06"}}],"VE":[{"VEB":{"_from":"1871-05-11","_to":"2008-06-30"}},{"VEF":{"_from":"2008-01-01","_to":"2018-08-20"}},{"VES":{"_from":"2018-08-20"}}],"VG":[{"USD":{"_from":"1833-01-01"}},{"GBP":{"_from":"1833-01-01","_to":"1959-01-01"}}],"VI":[{"USD":{"_from":"1837-01-01"}}],"VN":[{"VNN":{"_from":"1978-05-03","_to":"1985-09-14"}},{"VND":{"_from":"1985-09-14"}}],"VU":[{"VUV":{"_from":"1981-01-01"}}],"WF":[{"XPF":{"_from":"1961-07-30"}}],"WS":[{"WST":{"_from":"1967-07-10"}}],"XK":[{"YUM":{"_from":"1994-01-24","_to":"1999-09-30"}},{"DEM":{"_from":"1999-09-01","_to":"2002-03-09"}},{"EUR":{"_from":"2002-01-01"}}],"YD":[{"YDD":{"_from":"1965-04-01","_to":"1996-01-01"}}],"YE":[{"YER":{"_from":"1990-05-22"}}],"YT":[{"KMF":{"_from":"1975-01-01","_to":"1976-02-23"}},{"FRF":{"_from":"1976-02-23","_to":"2002-02-17"}},{"EUR":{"_from":"1999-01-01"}}],"YU":[{"YUD":{"_from":"1966-01-01","_to":"1990-01-01"}},{"YUN":{"_from":"1990-01-01","_to":"1992-07-24"}},{"YUM":{"_from":"1994-01-24","_to":"2002-05-15"}}],"ZA":[{"ZAR":{"_from":"1961-02-14"}},{"ZAL":{"_tender":"false","_from":"1985-09-01","_to":"1995-03-13"}}],"ZM":[{"ZMK":{"_from":"1968-01-16","_to":"2013-01-01"}},{"ZMW":{"_from":"2013-01-01"}}],"ZR":[{"ZRZ":{"_from":"1971-10-27","_to":"1993-11-01"}},{"ZRN":{"_from":"1993-11-01","_to":"1998-07-31"}}],"ZW":[{"RHD":{"_from":"1970-02-17","_to":"1980-04-18"}},{"ZWD":{"_from":"1980-04-18","_to":"2008-08-01"}},{"ZWR":{"_from":"2008-08-01","_to":"2009-02-02"}},{"ZWL":{"_from":"2009-02-02","_to":"2009-04-12"}},{"USD":{"_from":"2009-04-12"}}],"ZZ":[{"XAG":{"_tender":"false"}},{"XAU":{"_tender":"false"}},{"XBA":{"_tender":"false"}},{"XBB":{"_tender":"false"}},{"XBC":{"_tender":"false"}},{"XBD":{"_tender":"false"}},{"XDR":{"_tender":"false"}},{"XPD":{"_tender":"false"}},{"XPT":{"_tender":"false"}},{"XSU":{"_tender":"false"}},{"XTS":{"_tender":"false"}},{"XUA":{"_tender":"false"}},{"XXX":{"_tender":"false"}},{"XRE":{"_tender":"false","_to":"1999-11-30"}},{"XFU":{"_tender":"false","_to":"2013-11-30"}},{"XFO":{"_tender":"false","_from":"1930-01-01","_to":"2003-04-01"}}]}}}}')},5667:function(t){"use strict";t.exports=JSON.parse('{"supplemental":{"version":{"_unicodeVersion":"14.0.0","_cldrVersion":"40"},"likelySubtags":{"aa":"aa-Latn-ET","aai":"aai-Latn-ZZ","aak":"aak-Latn-ZZ","aau":"aau-Latn-ZZ","ab":"ab-Cyrl-GE","abi":"abi-Latn-ZZ","abq":"abq-Cyrl-ZZ","abr":"abr-Latn-GH","abt":"abt-Latn-ZZ","aby":"aby-Latn-ZZ","acd":"acd-Latn-ZZ","ace":"ace-Latn-ID","ach":"ach-Latn-UG","ada":"ada-Latn-GH","ade":"ade-Latn-ZZ","adj":"adj-Latn-ZZ","adp":"adp-Tibt-BT","ady":"ady-Cyrl-RU","adz":"adz-Latn-ZZ","ae":"ae-Avst-IR","aeb":"aeb-Arab-TN","aey":"aey-Latn-ZZ","af":"af-Latn-ZA","agc":"agc-Latn-ZZ","agd":"agd-Latn-ZZ","agg":"agg-Latn-ZZ","agm":"agm-Latn-ZZ","ago":"ago-Latn-ZZ","agq":"agq-Latn-CM","aha":"aha-Latn-ZZ","ahl":"ahl-Latn-ZZ","aho":"aho-Ahom-IN","ajg":"ajg-Latn-ZZ","ak":"ak-Latn-GH","akk":"akk-Xsux-IQ","ala":"ala-Latn-ZZ","ali":"ali-Latn-ZZ","aln":"aln-Latn-XK","alt":"alt-Cyrl-RU","am":"am-Ethi-ET","amm":"amm-Latn-ZZ","amn":"amn-Latn-ZZ","amo":"amo-Latn-NG","amp":"amp-Latn-ZZ","an":"an-Latn-ES","anc":"anc-Latn-ZZ","ank":"ank-Latn-ZZ","ann":"ann-Latn-ZZ","any":"any-Latn-ZZ","aoj":"aoj-Latn-ZZ","aom":"aom-Latn-ZZ","aoz":"aoz-Latn-ID","apc":"apc-Arab-ZZ","apd":"apd-Arab-TG","ape":"ape-Latn-ZZ","apr":"apr-Latn-ZZ","aps":"aps-Latn-ZZ","apz":"apz-Latn-ZZ","ar":"ar-Arab-EG","arc":"arc-Armi-IR","arc-Nbat":"arc-Nbat-JO","arc-Palm":"arc-Palm-SY","arh":"arh-Latn-ZZ","arn":"arn-Latn-CL","aro":"aro-Latn-BO","arq":"arq-Arab-DZ","ars":"ars-Arab-SA","ary":"ary-Arab-MA","arz":"arz-Arab-EG","as":"as-Beng-IN","asa":"asa-Latn-TZ","ase":"ase-Sgnw-US","asg":"asg-Latn-ZZ","aso":"aso-Latn-ZZ","ast":"ast-Latn-ES","ata":"ata-Latn-ZZ","atg":"atg-Latn-ZZ","atj":"atj-Latn-CA","auy":"auy-Latn-ZZ","av":"av-Cyrl-RU","avl":"avl-Arab-ZZ","avn":"avn-Latn-ZZ","avt":"avt-Latn-ZZ","avu":"avu-Latn-ZZ","awa":"awa-Deva-IN","awb":"awb-Latn-ZZ","awo":"awo-Latn-ZZ","awx":"awx-Latn-ZZ","ay":"ay-Latn-BO","ayb":"ayb-Latn-ZZ","az":"az-Latn-AZ","az-Arab":"az-Arab-IR","az-IQ":"az-Arab-IQ","az-IR":"az-Arab-IR","az-RU":"az-Cyrl-RU","ba":"ba-Cyrl-RU","bal":"bal-Arab-PK","ban":"ban-Latn-ID","bap":"bap-Deva-NP","bar":"bar-Latn-AT","bas":"bas-Latn-CM","bav":"bav-Latn-ZZ","bax":"bax-Bamu-CM","bba":"bba-Latn-ZZ","bbb":"bbb-Latn-ZZ","bbc":"bbc-Latn-ID","bbd":"bbd-Latn-ZZ","bbj":"bbj-Latn-CM","bbp":"bbp-Latn-ZZ","bbr":"bbr-Latn-ZZ","bcf":"bcf-Latn-ZZ","bch":"bch-Latn-ZZ","bci":"bci-Latn-CI","bcm":"bcm-Latn-ZZ","bcn":"bcn-Latn-ZZ","bco":"bco-Latn-ZZ","bcq":"bcq-Ethi-ZZ","bcu":"bcu-Latn-ZZ","bdd":"bdd-Latn-ZZ","be":"be-Cyrl-BY","bef":"bef-Latn-ZZ","beh":"beh-Latn-ZZ","bej":"bej-Arab-SD","bem":"bem-Latn-ZM","bet":"bet-Latn-ZZ","bew":"bew-Latn-ID","bex":"bex-Latn-ZZ","bez":"bez-Latn-TZ","bfd":"bfd-Latn-CM","bfq":"bfq-Taml-IN","bft":"bft-Arab-PK","bfy":"bfy-Deva-IN","bg":"bg-Cyrl-BG","bgc":"bgc-Deva-IN","bgn":"bgn-Arab-PK","bgx":"bgx-Grek-TR","bhb":"bhb-Deva-IN","bhg":"bhg-Latn-ZZ","bhi":"bhi-Deva-IN","bhl":"bhl-Latn-ZZ","bho":"bho-Deva-IN","bhy":"bhy-Latn-ZZ","bi":"bi-Latn-VU","bib":"bib-Latn-ZZ","big":"big-Latn-ZZ","bik":"bik-Latn-PH","bim":"bim-Latn-ZZ","bin":"bin-Latn-NG","bio":"bio-Latn-ZZ","biq":"biq-Latn-ZZ","bjh":"bjh-Latn-ZZ","bji":"bji-Ethi-ZZ","bjj":"bjj-Deva-IN","bjn":"bjn-Latn-ID","bjo":"bjo-Latn-ZZ","bjr":"bjr-Latn-ZZ","bjt":"bjt-Latn-SN","bjz":"bjz-Latn-ZZ","bkc":"bkc-Latn-ZZ","bkm":"bkm-Latn-CM","bkq":"bkq-Latn-ZZ","bku":"bku-Latn-PH","bkv":"bkv-Latn-ZZ","blg":"blg-Latn-MY","blt":"blt-Tavt-VN","bm":"bm-Latn-ML","bmh":"bmh-Latn-ZZ","bmk":"bmk-Latn-ZZ","bmq":"bmq-Latn-ML","bmu":"bmu-Latn-ZZ","bn":"bn-Beng-BD","bng":"bng-Latn-ZZ","bnm":"bnm-Latn-ZZ","bnp":"bnp-Latn-ZZ","bo":"bo-Tibt-CN","boj":"boj-Latn-ZZ","bom":"bom-Latn-ZZ","bon":"bon-Latn-ZZ","bpy":"bpy-Beng-IN","bqc":"bqc-Latn-ZZ","bqi":"bqi-Arab-IR","bqp":"bqp-Latn-ZZ","bqv":"bqv-Latn-CI","br":"br-Latn-FR","bra":"bra-Deva-IN","brh":"brh-Arab-PK","brx":"brx-Deva-IN","brz":"brz-Latn-ZZ","bs":"bs-Latn-BA","bsj":"bsj-Latn-ZZ","bsq":"bsq-Bass-LR","bss":"bss-Latn-CM","bst":"bst-Ethi-ZZ","bto":"bto-Latn-PH","btt":"btt-Latn-ZZ","btv":"btv-Deva-PK","bua":"bua-Cyrl-RU","buc":"buc-Latn-YT","bud":"bud-Latn-ZZ","bug":"bug-Latn-ID","buk":"buk-Latn-ZZ","bum":"bum-Latn-CM","buo":"buo-Latn-ZZ","bus":"bus-Latn-ZZ","buu":"buu-Latn-ZZ","bvb":"bvb-Latn-GQ","bwd":"bwd-Latn-ZZ","bwr":"bwr-Latn-ZZ","bxh":"bxh-Latn-ZZ","bye":"bye-Latn-ZZ","byn":"byn-Ethi-ER","byr":"byr-Latn-ZZ","bys":"bys-Latn-ZZ","byv":"byv-Latn-CM","byx":"byx-Latn-ZZ","bza":"bza-Latn-ZZ","bze":"bze-Latn-ML","bzf":"bzf-Latn-ZZ","bzh":"bzh-Latn-ZZ","bzw":"bzw-Latn-ZZ","ca":"ca-Latn-ES","cad":"cad-Latn-US","can":"can-Latn-ZZ","cbj":"cbj-Latn-ZZ","cch":"cch-Latn-NG","ccp":"ccp-Cakm-BD","ce":"ce-Cyrl-RU","ceb":"ceb-Latn-PH","cfa":"cfa-Latn-ZZ","cgg":"cgg-Latn-UG","ch":"ch-Latn-GU","chk":"chk-Latn-FM","chm":"chm-Cyrl-RU","cho":"cho-Latn-US","chp":"chp-Latn-CA","chr":"chr-Cher-US","cic":"cic-Latn-US","cja":"cja-Arab-KH","cjm":"cjm-Cham-VN","cjv":"cjv-Latn-ZZ","ckb":"ckb-Arab-IQ","ckl":"ckl-Latn-ZZ","cko":"cko-Latn-ZZ","cky":"cky-Latn-ZZ","cla":"cla-Latn-ZZ","cme":"cme-Latn-ZZ","cmg":"cmg-Soyo-MN","co":"co-Latn-FR","cop":"cop-Copt-EG","cps":"cps-Latn-PH","cr":"cr-Cans-CA","crh":"crh-Cyrl-UA","crj":"crj-Cans-CA","crk":"crk-Cans-CA","crl":"crl-Cans-CA","crm":"crm-Cans-CA","crs":"crs-Latn-SC","cs":"cs-Latn-CZ","csb":"csb-Latn-PL","csw":"csw-Cans-CA","ctd":"ctd-Pauc-MM","cu":"cu-Cyrl-RU","cu-Glag":"cu-Glag-BG","cv":"cv-Cyrl-RU","cy":"cy-Latn-GB","da":"da-Latn-DK","dad":"dad-Latn-ZZ","daf":"daf-Latn-CI","dag":"dag-Latn-ZZ","dah":"dah-Latn-ZZ","dak":"dak-Latn-US","dar":"dar-Cyrl-RU","dav":"dav-Latn-KE","dbd":"dbd-Latn-ZZ","dbq":"dbq-Latn-ZZ","dcc":"dcc-Arab-IN","ddn":"ddn-Latn-ZZ","de":"de-Latn-DE","ded":"ded-Latn-ZZ","den":"den-Latn-CA","dga":"dga-Latn-ZZ","dgh":"dgh-Latn-ZZ","dgi":"dgi-Latn-ZZ","dgl":"dgl-Arab-ZZ","dgr":"dgr-Latn-CA","dgz":"dgz-Latn-ZZ","dia":"dia-Latn-ZZ","dje":"dje-Latn-NE","dmf":"dmf-Medf-NG","dnj":"dnj-Latn-CI","dob":"dob-Latn-ZZ","doi":"doi-Deva-IN","dop":"dop-Latn-ZZ","dow":"dow-Latn-ZZ","drh":"drh-Mong-CN","dri":"dri-Latn-ZZ","drs":"drs-Ethi-ZZ","dsb":"dsb-Latn-DE","dtm":"dtm-Latn-ML","dtp":"dtp-Latn-MY","dts":"dts-Latn-ZZ","dty":"dty-Deva-NP","dua":"dua-Latn-CM","duc":"duc-Latn-ZZ","dud":"dud-Latn-ZZ","dug":"dug-Latn-ZZ","dv":"dv-Thaa-MV","dva":"dva-Latn-ZZ","dww":"dww-Latn-ZZ","dyo":"dyo-Latn-SN","dyu":"dyu-Latn-BF","dz":"dz-Tibt-BT","dzg":"dzg-Latn-ZZ","ebu":"ebu-Latn-KE","ee":"ee-Latn-GH","efi":"efi-Latn-NG","egl":"egl-Latn-IT","egy":"egy-Egyp-EG","eka":"eka-Latn-ZZ","eky":"eky-Kali-MM","el":"el-Grek-GR","ema":"ema-Latn-ZZ","emi":"emi-Latn-ZZ","en":"en-Latn-US","en-Shaw":"en-Shaw-GB","enn":"enn-Latn-ZZ","enq":"enq-Latn-ZZ","eo":"eo-Latn-001","eri":"eri-Latn-ZZ","es":"es-Latn-ES","esg":"esg-Gonm-IN","esu":"esu-Latn-US","et":"et-Latn-EE","etr":"etr-Latn-ZZ","ett":"ett-Ital-IT","etu":"etu-Latn-ZZ","etx":"etx-Latn-ZZ","eu":"eu-Latn-ES","ewo":"ewo-Latn-CM","ext":"ext-Latn-ES","eza":"eza-Latn-ZZ","fa":"fa-Arab-IR","faa":"faa-Latn-ZZ","fab":"fab-Latn-ZZ","fag":"fag-Latn-ZZ","fai":"fai-Latn-ZZ","fan":"fan-Latn-GQ","ff":"ff-Latn-SN","ff-Adlm":"ff-Adlm-GN","ffi":"ffi-Latn-ZZ","ffm":"ffm-Latn-ML","fi":"fi-Latn-FI","fia":"fia-Arab-SD","fil":"fil-Latn-PH","fit":"fit-Latn-SE","fj":"fj-Latn-FJ","flr":"flr-Latn-ZZ","fmp":"fmp-Latn-ZZ","fo":"fo-Latn-FO","fod":"fod-Latn-ZZ","fon":"fon-Latn-BJ","for":"for-Latn-ZZ","fpe":"fpe-Latn-ZZ","fqs":"fqs-Latn-ZZ","fr":"fr-Latn-FR","frc":"frc-Latn-US","frp":"frp-Latn-FR","frr":"frr-Latn-DE","frs":"frs-Latn-DE","fub":"fub-Arab-CM","fud":"fud-Latn-WF","fue":"fue-Latn-ZZ","fuf":"fuf-Latn-GN","fuh":"fuh-Latn-ZZ","fuq":"fuq-Latn-NE","fur":"fur-Latn-IT","fuv":"fuv-Latn-NG","fuy":"fuy-Latn-ZZ","fvr":"fvr-Latn-SD","fy":"fy-Latn-NL","ga":"ga-Latn-IE","gaa":"gaa-Latn-GH","gaf":"gaf-Latn-ZZ","gag":"gag-Latn-MD","gah":"gah-Latn-ZZ","gaj":"gaj-Latn-ZZ","gam":"gam-Latn-ZZ","gan":"gan-Hans-CN","gaw":"gaw-Latn-ZZ","gay":"gay-Latn-ID","gba":"gba-Latn-ZZ","gbf":"gbf-Latn-ZZ","gbm":"gbm-Deva-IN","gby":"gby-Latn-ZZ","gbz":"gbz-Arab-IR","gcr":"gcr-Latn-GF","gd":"gd-Latn-GB","gde":"gde-Latn-ZZ","gdn":"gdn-Latn-ZZ","gdr":"gdr-Latn-ZZ","geb":"geb-Latn-ZZ","gej":"gej-Latn-ZZ","gel":"gel-Latn-ZZ","gez":"gez-Ethi-ET","gfk":"gfk-Latn-ZZ","ggn":"ggn-Deva-NP","ghs":"ghs-Latn-ZZ","gil":"gil-Latn-KI","gim":"gim-Latn-ZZ","gjk":"gjk-Arab-PK","gjn":"gjn-Latn-ZZ","gju":"gju-Arab-PK","gkn":"gkn-Latn-ZZ","gkp":"gkp-Latn-ZZ","gl":"gl-Latn-ES","glk":"glk-Arab-IR","gmm":"gmm-Latn-ZZ","gmv":"gmv-Ethi-ZZ","gn":"gn-Latn-PY","gnd":"gnd-Latn-ZZ","gng":"gng-Latn-ZZ","god":"god-Latn-ZZ","gof":"gof-Ethi-ZZ","goi":"goi-Latn-ZZ","gom":"gom-Deva-IN","gon":"gon-Telu-IN","gor":"gor-Latn-ID","gos":"gos-Latn-NL","got":"got-Goth-UA","grb":"grb-Latn-ZZ","grc":"grc-Cprt-CY","grc-Linb":"grc-Linb-GR","grt":"grt-Beng-IN","grw":"grw-Latn-ZZ","gsw":"gsw-Latn-CH","gu":"gu-Gujr-IN","gub":"gub-Latn-BR","guc":"guc-Latn-CO","gud":"gud-Latn-ZZ","gur":"gur-Latn-GH","guw":"guw-Latn-ZZ","gux":"gux-Latn-ZZ","guz":"guz-Latn-KE","gv":"gv-Latn-IM","gvf":"gvf-Latn-ZZ","gvr":"gvr-Deva-NP","gvs":"gvs-Latn-ZZ","gwc":"gwc-Arab-ZZ","gwi":"gwi-Latn-CA","gwt":"gwt-Arab-ZZ","gyi":"gyi-Latn-ZZ","ha":"ha-Latn-NG","ha-CM":"ha-Arab-CM","ha-SD":"ha-Arab-SD","hag":"hag-Latn-ZZ","hak":"hak-Hans-CN","ham":"ham-Latn-ZZ","haw":"haw-Latn-US","haz":"haz-Arab-AF","hbb":"hbb-Latn-ZZ","hdy":"hdy-Ethi-ZZ","he":"he-Hebr-IL","hhy":"hhy-Latn-ZZ","hi":"hi-Deva-IN","hia":"hia-Latn-ZZ","hif":"hif-Latn-FJ","hig":"hig-Latn-ZZ","hih":"hih-Latn-ZZ","hil":"hil-Latn-PH","hla":"hla-Latn-ZZ","hlu":"hlu-Hluw-TR","hmd":"hmd-Plrd-CN","hmt":"hmt-Latn-ZZ","hnd":"hnd-Arab-PK","hne":"hne-Deva-IN","hnj":"hnj-Hmnp-US","hnn":"hnn-Latn-PH","hno":"hno-Arab-PK","ho":"ho-Latn-PG","hoc":"hoc-Deva-IN","hoj":"hoj-Deva-IN","hot":"hot-Latn-ZZ","hr":"hr-Latn-HR","hsb":"hsb-Latn-DE","hsn":"hsn-Hans-CN","ht":"ht-Latn-HT","hu":"hu-Latn-HU","hui":"hui-Latn-ZZ","hy":"hy-Armn-AM","hz":"hz-Latn-NA","ia":"ia-Latn-001","ian":"ian-Latn-ZZ","iar":"iar-Latn-ZZ","iba":"iba-Latn-MY","ibb":"ibb-Latn-NG","iby":"iby-Latn-ZZ","ica":"ica-Latn-ZZ","ich":"ich-Latn-ZZ","id":"id-Latn-ID","idd":"idd-Latn-ZZ","idi":"idi-Latn-ZZ","idu":"idu-Latn-ZZ","ife":"ife-Latn-TG","ig":"ig-Latn-NG","igb":"igb-Latn-ZZ","ige":"ige-Latn-ZZ","ii":"ii-Yiii-CN","ijj":"ijj-Latn-ZZ","ik":"ik-Latn-US","ikk":"ikk-Latn-ZZ","ikt":"ikt-Latn-CA","ikw":"ikw-Latn-ZZ","ikx":"ikx-Latn-ZZ","ilo":"ilo-Latn-PH","imo":"imo-Latn-ZZ","in":"in-Latn-ID","inh":"inh-Cyrl-RU","io":"io-Latn-001","iou":"iou-Latn-ZZ","iri":"iri-Latn-ZZ","is":"is-Latn-IS","it":"it-Latn-IT","iu":"iu-Cans-CA","iw":"iw-Hebr-IL","iwm":"iwm-Latn-ZZ","iws":"iws-Latn-ZZ","izh":"izh-Latn-RU","izi":"izi-Latn-ZZ","ja":"ja-Jpan-JP","jab":"jab-Latn-ZZ","jam":"jam-Latn-JM","jar":"jar-Latn-ZZ","jbo":"jbo-Latn-001","jbu":"jbu-Latn-ZZ","jen":"jen-Latn-ZZ","jgk":"jgk-Latn-ZZ","jgo":"jgo-Latn-CM","ji":"ji-Hebr-UA","jib":"jib-Latn-ZZ","jmc":"jmc-Latn-TZ","jml":"jml-Deva-NP","jra":"jra-Latn-ZZ","jut":"jut-Latn-DK","jv":"jv-Latn-ID","jw":"jw-Latn-ID","ka":"ka-Geor-GE","kaa":"kaa-Cyrl-UZ","kab":"kab-Latn-DZ","kac":"kac-Latn-MM","kad":"kad-Latn-ZZ","kai":"kai-Latn-ZZ","kaj":"kaj-Latn-NG","kam":"kam-Latn-KE","kao":"kao-Latn-ML","kbd":"kbd-Cyrl-RU","kbm":"kbm-Latn-ZZ","kbp":"kbp-Latn-ZZ","kbq":"kbq-Latn-ZZ","kbx":"kbx-Latn-ZZ","kby":"kby-Arab-NE","kcg":"kcg-Latn-NG","kck":"kck-Latn-ZW","kcl":"kcl-Latn-ZZ","kct":"kct-Latn-ZZ","kde":"kde-Latn-TZ","kdh":"kdh-Latn-TG","kdl":"kdl-Latn-ZZ","kdt":"kdt-Thai-TH","kea":"kea-Latn-CV","ken":"ken-Latn-CM","kez":"kez-Latn-ZZ","kfo":"kfo-Latn-CI","kfr":"kfr-Deva-IN","kfy":"kfy-Deva-IN","kg":"kg-Latn-CD","kge":"kge-Latn-ID","kgf":"kgf-Latn-ZZ","kgp":"kgp-Latn-BR","kha":"kha-Latn-IN","khb":"khb-Talu-CN","khn":"khn-Deva-IN","khq":"khq-Latn-ML","khs":"khs-Latn-ZZ","kht":"kht-Mymr-IN","khw":"khw-Arab-PK","khz":"khz-Latn-ZZ","ki":"ki-Latn-KE","kij":"kij-Latn-ZZ","kiu":"kiu-Latn-TR","kiw":"kiw-Latn-ZZ","kj":"kj-Latn-NA","kjd":"kjd-Latn-ZZ","kjg":"kjg-Laoo-LA","kjs":"kjs-Latn-ZZ","kjy":"kjy-Latn-ZZ","kk":"kk-Cyrl-KZ","kk-AF":"kk-Arab-AF","kk-Arab":"kk-Arab-CN","kk-CN":"kk-Arab-CN","kk-IR":"kk-Arab-IR","kk-MN":"kk-Arab-MN","kkc":"kkc-Latn-ZZ","kkj":"kkj-Latn-CM","kl":"kl-Latn-GL","kln":"kln-Latn-KE","klq":"klq-Latn-ZZ","klt":"klt-Latn-ZZ","klx":"klx-Latn-ZZ","km":"km-Khmr-KH","kmb":"kmb-Latn-AO","kmh":"kmh-Latn-ZZ","kmo":"kmo-Latn-ZZ","kms":"kms-Latn-ZZ","kmu":"kmu-Latn-ZZ","kmw":"kmw-Latn-ZZ","kn":"kn-Knda-IN","knf":"knf-Latn-GW","knp":"knp-Latn-ZZ","ko":"ko-Kore-KR","koi":"koi-Cyrl-RU","kok":"kok-Deva-IN","kol":"kol-Latn-ZZ","kos":"kos-Latn-FM","koz":"koz-Latn-ZZ","kpe":"kpe-Latn-LR","kpf":"kpf-Latn-ZZ","kpo":"kpo-Latn-ZZ","kpr":"kpr-Latn-ZZ","kpx":"kpx-Latn-ZZ","kqb":"kqb-Latn-ZZ","kqf":"kqf-Latn-ZZ","kqs":"kqs-Latn-ZZ","kqy":"kqy-Ethi-ZZ","kr":"kr-Latn-ZZ","krc":"krc-Cyrl-RU","kri":"kri-Latn-SL","krj":"krj-Latn-PH","krl":"krl-Latn-RU","krs":"krs-Latn-ZZ","kru":"kru-Deva-IN","ks":"ks-Arab-IN","ksb":"ksb-Latn-TZ","ksd":"ksd-Latn-ZZ","ksf":"ksf-Latn-CM","ksh":"ksh-Latn-DE","ksj":"ksj-Latn-ZZ","ksr":"ksr-Latn-ZZ","ktb":"ktb-Ethi-ZZ","ktm":"ktm-Latn-ZZ","kto":"kto-Latn-ZZ","ktr":"ktr-Latn-MY","ku":"ku-Latn-TR","ku-Arab":"ku-Arab-IQ","ku-LB":"ku-Arab-LB","ku-Yezi":"ku-Yezi-GE","kub":"kub-Latn-ZZ","kud":"kud-Latn-ZZ","kue":"kue-Latn-ZZ","kuj":"kuj-Latn-ZZ","kum":"kum-Cyrl-RU","kun":"kun-Latn-ZZ","kup":"kup-Latn-ZZ","kus":"kus-Latn-ZZ","kv":"kv-Cyrl-RU","kvg":"kvg-Latn-ZZ","kvr":"kvr-Latn-ID","kvx":"kvx-Arab-PK","kw":"kw-Latn-GB","kwj":"kwj-Latn-ZZ","kwo":"kwo-Latn-ZZ","kwq":"kwq-Latn-ZZ","kxa":"kxa-Latn-ZZ","kxc":"kxc-Ethi-ZZ","kxe":"kxe-Latn-ZZ","kxl":"kxl-Deva-IN","kxm":"kxm-Thai-TH","kxp":"kxp-Arab-PK","kxw":"kxw-Latn-ZZ","kxz":"kxz-Latn-ZZ","ky":"ky-Cyrl-KG","ky-Arab":"ky-Arab-CN","ky-CN":"ky-Arab-CN","ky-Latn":"ky-Latn-TR","ky-TR":"ky-Latn-TR","kye":"kye-Latn-ZZ","kyx":"kyx-Latn-ZZ","kzh":"kzh-Arab-ZZ","kzj":"kzj-Latn-MY","kzr":"kzr-Latn-ZZ","kzt":"kzt-Latn-MY","la":"la-Latn-VA","lab":"lab-Lina-GR","lad":"lad-Hebr-IL","lag":"lag-Latn-TZ","lah":"lah-Arab-PK","laj":"laj-Latn-UG","las":"las-Latn-ZZ","lb":"lb-Latn-LU","lbe":"lbe-Cyrl-RU","lbu":"lbu-Latn-ZZ","lbw":"lbw-Latn-ID","lcm":"lcm-Latn-ZZ","lcp":"lcp-Thai-CN","ldb":"ldb-Latn-ZZ","led":"led-Latn-ZZ","lee":"lee-Latn-ZZ","lem":"lem-Latn-ZZ","lep":"lep-Lepc-IN","leq":"leq-Latn-ZZ","leu":"leu-Latn-ZZ","lez":"lez-Cyrl-RU","lg":"lg-Latn-UG","lgg":"lgg-Latn-ZZ","li":"li-Latn-NL","lia":"lia-Latn-ZZ","lid":"lid-Latn-ZZ","lif":"lif-Deva-NP","lif-Limb":"lif-Limb-IN","lig":"lig-Latn-ZZ","lih":"lih-Latn-ZZ","lij":"lij-Latn-IT","lis":"lis-Lisu-CN","ljp":"ljp-Latn-ID","lki":"lki-Arab-IR","lkt":"lkt-Latn-US","lle":"lle-Latn-ZZ","lln":"lln-Latn-ZZ","lmn":"lmn-Telu-IN","lmo":"lmo-Latn-IT","lmp":"lmp-Latn-ZZ","ln":"ln-Latn-CD","lns":"lns-Latn-ZZ","lnu":"lnu-Latn-ZZ","lo":"lo-Laoo-LA","loj":"loj-Latn-ZZ","lok":"lok-Latn-ZZ","lol":"lol-Latn-CD","lor":"lor-Latn-ZZ","los":"los-Latn-ZZ","loz":"loz-Latn-ZM","lrc":"lrc-Arab-IR","lt":"lt-Latn-LT","ltg":"ltg-Latn-LV","lu":"lu-Latn-CD","lua":"lua-Latn-CD","luo":"luo-Latn-KE","luy":"luy-Latn-KE","luz":"luz-Arab-IR","lv":"lv-Latn-LV","lwl":"lwl-Thai-TH","lzh":"lzh-Hans-CN","lzz":"lzz-Latn-TR","mad":"mad-Latn-ID","maf":"maf-Latn-CM","mag":"mag-Deva-IN","mai":"mai-Deva-IN","mak":"mak-Latn-ID","man":"man-Latn-GM","man-GN":"man-Nkoo-GN","man-Nkoo":"man-Nkoo-GN","mas":"mas-Latn-KE","maw":"maw-Latn-ZZ","maz":"maz-Latn-MX","mbh":"mbh-Latn-ZZ","mbo":"mbo-Latn-ZZ","mbq":"mbq-Latn-ZZ","mbu":"mbu-Latn-ZZ","mbw":"mbw-Latn-ZZ","mci":"mci-Latn-ZZ","mcp":"mcp-Latn-ZZ","mcq":"mcq-Latn-ZZ","mcr":"mcr-Latn-ZZ","mcu":"mcu-Latn-ZZ","mda":"mda-Latn-ZZ","mde":"mde-Arab-ZZ","mdf":"mdf-Cyrl-RU","mdh":"mdh-Latn-PH","mdj":"mdj-Latn-ZZ","mdr":"mdr-Latn-ID","mdx":"mdx-Ethi-ZZ","med":"med-Latn-ZZ","mee":"mee-Latn-ZZ","mek":"mek-Latn-ZZ","men":"men-Latn-SL","mer":"mer-Latn-KE","met":"met-Latn-ZZ","meu":"meu-Latn-ZZ","mfa":"mfa-Arab-TH","mfe":"mfe-Latn-MU","mfn":"mfn-Latn-ZZ","mfo":"mfo-Latn-ZZ","mfq":"mfq-Latn-ZZ","mg":"mg-Latn-MG","mgh":"mgh-Latn-MZ","mgl":"mgl-Latn-ZZ","mgo":"mgo-Latn-CM","mgp":"mgp-Deva-NP","mgy":"mgy-Latn-TZ","mh":"mh-Latn-MH","mhi":"mhi-Latn-ZZ","mhl":"mhl-Latn-ZZ","mi":"mi-Latn-NZ","mif":"mif-Latn-ZZ","min":"min-Latn-ID","miw":"miw-Latn-ZZ","mk":"mk-Cyrl-MK","mki":"mki-Arab-ZZ","mkl":"mkl-Latn-ZZ","mkp":"mkp-Latn-ZZ","mkw":"mkw-Latn-ZZ","ml":"ml-Mlym-IN","mle":"mle-Latn-ZZ","mlp":"mlp-Latn-ZZ","mls":"mls-Latn-SD","mmo":"mmo-Latn-ZZ","mmu":"mmu-Latn-ZZ","mmx":"mmx-Latn-ZZ","mn":"mn-Cyrl-MN","mn-CN":"mn-Mong-CN","mn-Mong":"mn-Mong-CN","mna":"mna-Latn-ZZ","mnf":"mnf-Latn-ZZ","mni":"mni-Beng-IN","mnw":"mnw-Mymr-MM","mo":"mo-Latn-RO","moa":"moa-Latn-ZZ","moe":"moe-Latn-CA","moh":"moh-Latn-CA","mos":"mos-Latn-BF","mox":"mox-Latn-ZZ","mpp":"mpp-Latn-ZZ","mps":"mps-Latn-ZZ","mpt":"mpt-Latn-ZZ","mpx":"mpx-Latn-ZZ","mql":"mql-Latn-ZZ","mr":"mr-Deva-IN","mrd":"mrd-Deva-NP","mrj":"mrj-Cyrl-RU","mro":"mro-Mroo-BD","ms":"ms-Latn-MY","ms-CC":"ms-Arab-CC","mt":"mt-Latn-MT","mtc":"mtc-Latn-ZZ","mtf":"mtf-Latn-ZZ","mti":"mti-Latn-ZZ","mtr":"mtr-Deva-IN","mua":"mua-Latn-CM","mur":"mur-Latn-ZZ","mus":"mus-Latn-US","mva":"mva-Latn-ZZ","mvn":"mvn-Latn-ZZ","mvy":"mvy-Arab-PK","mwk":"mwk-Latn-ML","mwr":"mwr-Deva-IN","mwv":"mwv-Latn-ID","mww":"mww-Hmnp-US","mxc":"mxc-Latn-ZW","mxm":"mxm-Latn-ZZ","my":"my-Mymr-MM","myk":"myk-Latn-ZZ","mym":"mym-Ethi-ZZ","myv":"myv-Cyrl-RU","myw":"myw-Latn-ZZ","myx":"myx-Latn-UG","myz":"myz-Mand-IR","mzk":"mzk-Latn-ZZ","mzm":"mzm-Latn-ZZ","mzn":"mzn-Arab-IR","mzp":"mzp-Latn-ZZ","mzw":"mzw-Latn-ZZ","mzz":"mzz-Latn-ZZ","na":"na-Latn-NR","nac":"nac-Latn-ZZ","naf":"naf-Latn-ZZ","nak":"nak-Latn-ZZ","nan":"nan-Hans-CN","nap":"nap-Latn-IT","naq":"naq-Latn-NA","nas":"nas-Latn-ZZ","nb":"nb-Latn-NO","nca":"nca-Latn-ZZ","nce":"nce-Latn-ZZ","ncf":"ncf-Latn-ZZ","nch":"nch-Latn-MX","nco":"nco-Latn-ZZ","ncu":"ncu-Latn-ZZ","nd":"nd-Latn-ZW","ndc":"ndc-Latn-MZ","nds":"nds-Latn-DE","ne":"ne-Deva-NP","neb":"neb-Latn-ZZ","new":"new-Deva-NP","nex":"nex-Latn-ZZ","nfr":"nfr-Latn-ZZ","ng":"ng-Latn-NA","nga":"nga-Latn-ZZ","ngb":"ngb-Latn-ZZ","ngl":"ngl-Latn-MZ","nhb":"nhb-Latn-ZZ","nhe":"nhe-Latn-MX","nhw":"nhw-Latn-MX","nif":"nif-Latn-ZZ","nii":"nii-Latn-ZZ","nij":"nij-Latn-ID","nin":"nin-Latn-ZZ","niu":"niu-Latn-NU","niy":"niy-Latn-ZZ","niz":"niz-Latn-ZZ","njo":"njo-Latn-IN","nkg":"nkg-Latn-ZZ","nko":"nko-Latn-ZZ","nl":"nl-Latn-NL","nmg":"nmg-Latn-CM","nmz":"nmz-Latn-ZZ","nn":"nn-Latn-NO","nnf":"nnf-Latn-ZZ","nnh":"nnh-Latn-CM","nnk":"nnk-Latn-ZZ","nnm":"nnm-Latn-ZZ","nnp":"nnp-Wcho-IN","no":"no-Latn-NO","nod":"nod-Lana-TH","noe":"noe-Deva-IN","non":"non-Runr-SE","nop":"nop-Latn-ZZ","nou":"nou-Latn-ZZ","nqo":"nqo-Nkoo-GN","nr":"nr-Latn-ZA","nrb":"nrb-Latn-ZZ","nsk":"nsk-Cans-CA","nsn":"nsn-Latn-ZZ","nso":"nso-Latn-ZA","nss":"nss-Latn-ZZ","nst":"nst-Tnsa-IN","ntm":"ntm-Latn-ZZ","ntr":"ntr-Latn-ZZ","nui":"nui-Latn-ZZ","nup":"nup-Latn-ZZ","nus":"nus-Latn-SS","nuv":"nuv-Latn-ZZ","nux":"nux-Latn-ZZ","nv":"nv-Latn-US","nwb":"nwb-Latn-ZZ","nxq":"nxq-Latn-CN","nxr":"nxr-Latn-ZZ","ny":"ny-Latn-MW","nym":"nym-Latn-TZ","nyn":"nyn-Latn-UG","nzi":"nzi-Latn-GH","oc":"oc-Latn-FR","ogc":"ogc-Latn-ZZ","okr":"okr-Latn-ZZ","okv":"okv-Latn-ZZ","om":"om-Latn-ET","ong":"ong-Latn-ZZ","onn":"onn-Latn-ZZ","ons":"ons-Latn-ZZ","opm":"opm-Latn-ZZ","or":"or-Orya-IN","oro":"oro-Latn-ZZ","oru":"oru-Arab-ZZ","os":"os-Cyrl-GE","osa":"osa-Osge-US","ota":"ota-Arab-ZZ","otk":"otk-Orkh-MN","oui":"oui-Ougr-143","ozm":"ozm-Latn-ZZ","pa":"pa-Guru-IN","pa-Arab":"pa-Arab-PK","pa-PK":"pa-Arab-PK","pag":"pag-Latn-PH","pal":"pal-Phli-IR","pal-Phlp":"pal-Phlp-CN","pam":"pam-Latn-PH","pap":"pap-Latn-AW","pau":"pau-Latn-PW","pbi":"pbi-Latn-ZZ","pcd":"pcd-Latn-FR","pcm":"pcm-Latn-NG","pdc":"pdc-Latn-US","pdt":"pdt-Latn-CA","ped":"ped-Latn-ZZ","peo":"peo-Xpeo-IR","pex":"pex-Latn-ZZ","pfl":"pfl-Latn-DE","phl":"phl-Arab-ZZ","phn":"phn-Phnx-LB","pil":"pil-Latn-ZZ","pip":"pip-Latn-ZZ","pka":"pka-Brah-IN","pko":"pko-Latn-KE","pl":"pl-Latn-PL","pla":"pla-Latn-ZZ","pms":"pms-Latn-IT","png":"png-Latn-ZZ","pnn":"pnn-Latn-ZZ","pnt":"pnt-Grek-GR","pon":"pon-Latn-FM","ppa":"ppa-Deva-IN","ppo":"ppo-Latn-ZZ","pra":"pra-Khar-PK","prd":"prd-Arab-IR","prg":"prg-Latn-001","ps":"ps-Arab-AF","pss":"pss-Latn-ZZ","pt":"pt-Latn-BR","ptp":"ptp-Latn-ZZ","puu":"puu-Latn-GA","pwa":"pwa-Latn-ZZ","qu":"qu-Latn-PE","quc":"quc-Latn-GT","qug":"qug-Latn-EC","rai":"rai-Latn-ZZ","raj":"raj-Deva-IN","rao":"rao-Latn-ZZ","rcf":"rcf-Latn-RE","rej":"rej-Latn-ID","rel":"rel-Latn-ZZ","res":"res-Latn-ZZ","rgn":"rgn-Latn-IT","rhg":"rhg-Rohg-MM","ria":"ria-Latn-IN","rif":"rif-Tfng-MA","rif-NL":"rif-Latn-NL","rjs":"rjs-Deva-NP","rkt":"rkt-Beng-BD","rm":"rm-Latn-CH","rmf":"rmf-Latn-FI","rmo":"rmo-Latn-CH","rmt":"rmt-Arab-IR","rmu":"rmu-Latn-SE","rn":"rn-Latn-BI","rna":"rna-Latn-ZZ","rng":"rng-Latn-MZ","ro":"ro-Latn-RO","rob":"rob-Latn-ID","rof":"rof-Latn-TZ","roo":"roo-Latn-ZZ","rro":"rro-Latn-ZZ","rtm":"rtm-Latn-FJ","ru":"ru-Cyrl-RU","rue":"rue-Cyrl-UA","rug":"rug-Latn-SB","rw":"rw-Latn-RW","rwk":"rwk-Latn-TZ","rwo":"rwo-Latn-ZZ","ryu":"ryu-Kana-JP","sa":"sa-Deva-IN","saf":"saf-Latn-GH","sah":"sah-Cyrl-RU","saq":"saq-Latn-KE","sas":"sas-Latn-ID","sat":"sat-Olck-IN","sav":"sav-Latn-SN","saz":"saz-Saur-IN","sba":"sba-Latn-ZZ","sbe":"sbe-Latn-ZZ","sbp":"sbp-Latn-TZ","sc":"sc-Latn-IT","sck":"sck-Deva-IN","scl":"scl-Arab-ZZ","scn":"scn-Latn-IT","sco":"sco-Latn-GB","scs":"scs-Latn-CA","sd":"sd-Arab-PK","sd-Deva":"sd-Deva-IN","sd-Khoj":"sd-Khoj-IN","sd-Sind":"sd-Sind-IN","sdc":"sdc-Latn-IT","sdh":"sdh-Arab-IR","se":"se-Latn-NO","sef":"sef-Latn-CI","seh":"seh-Latn-MZ","sei":"sei-Latn-MX","ses":"ses-Latn-ML","sg":"sg-Latn-CF","sga":"sga-Ogam-IE","sgs":"sgs-Latn-LT","sgw":"sgw-Ethi-ZZ","sgz":"sgz-Latn-ZZ","shi":"shi-Tfng-MA","shk":"shk-Latn-ZZ","shn":"shn-Mymr-MM","shu":"shu-Arab-ZZ","si":"si-Sinh-LK","sid":"sid-Latn-ET","sig":"sig-Latn-ZZ","sil":"sil-Latn-ZZ","sim":"sim-Latn-ZZ","sjr":"sjr-Latn-ZZ","sk":"sk-Latn-SK","skc":"skc-Latn-ZZ","skr":"skr-Arab-PK","sks":"sks-Latn-ZZ","sl":"sl-Latn-SI","sld":"sld-Latn-ZZ","sli":"sli-Latn-PL","sll":"sll-Latn-ZZ","sly":"sly-Latn-ID","sm":"sm-Latn-WS","sma":"sma-Latn-SE","smj":"smj-Latn-SE","smn":"smn-Latn-FI","smp":"smp-Samr-IL","smq":"smq-Latn-ZZ","sms":"sms-Latn-FI","sn":"sn-Latn-ZW","snc":"snc-Latn-ZZ","snk":"snk-Latn-ML","snp":"snp-Latn-ZZ","snx":"snx-Latn-ZZ","sny":"sny-Latn-ZZ","so":"so-Latn-SO","sog":"sog-Sogd-UZ","sok":"sok-Latn-ZZ","soq":"soq-Latn-ZZ","sou":"sou-Thai-TH","soy":"soy-Latn-ZZ","spd":"spd-Latn-ZZ","spl":"spl-Latn-ZZ","sps":"sps-Latn-ZZ","sq":"sq-Latn-AL","sr":"sr-Cyrl-RS","sr-ME":"sr-Latn-ME","sr-RO":"sr-Latn-RO","sr-RU":"sr-Latn-RU","sr-TR":"sr-Latn-TR","srb":"srb-Sora-IN","srn":"srn-Latn-SR","srr":"srr-Latn-SN","srx":"srx-Deva-IN","ss":"ss-Latn-ZA","ssd":"ssd-Latn-ZZ","ssg":"ssg-Latn-ZZ","ssy":"ssy-Latn-ER","st":"st-Latn-ZA","stk":"stk-Latn-ZZ","stq":"stq-Latn-DE","su":"su-Latn-ID","sua":"sua-Latn-ZZ","sue":"sue-Latn-ZZ","suk":"suk-Latn-TZ","sur":"sur-Latn-ZZ","sus":"sus-Latn-GN","sv":"sv-Latn-SE","sw":"sw-Latn-TZ","swb":"swb-Arab-YT","swc":"swc-Latn-CD","swg":"swg-Latn-DE","swp":"swp-Latn-ZZ","swv":"swv-Deva-IN","sxn":"sxn-Latn-ID","sxw":"sxw-Latn-ZZ","syl":"syl-Beng-BD","syr":"syr-Syrc-IQ","szl":"szl-Latn-PL","ta":"ta-Taml-IN","taj":"taj-Deva-NP","tal":"tal-Latn-ZZ","tan":"tan-Latn-ZZ","taq":"taq-Latn-ZZ","tbc":"tbc-Latn-ZZ","tbd":"tbd-Latn-ZZ","tbf":"tbf-Latn-ZZ","tbg":"tbg-Latn-ZZ","tbo":"tbo-Latn-ZZ","tbw":"tbw-Latn-PH","tbz":"tbz-Latn-ZZ","tci":"tci-Latn-ZZ","tcy":"tcy-Knda-IN","tdd":"tdd-Tale-CN","tdg":"tdg-Deva-NP","tdh":"tdh-Deva-NP","tdu":"tdu-Latn-MY","te":"te-Telu-IN","ted":"ted-Latn-ZZ","tem":"tem-Latn-SL","teo":"teo-Latn-UG","tet":"tet-Latn-TL","tfi":"tfi-Latn-ZZ","tg":"tg-Cyrl-TJ","tg-Arab":"tg-Arab-PK","tg-PK":"tg-Arab-PK","tgc":"tgc-Latn-ZZ","tgo":"tgo-Latn-ZZ","tgu":"tgu-Latn-ZZ","th":"th-Thai-TH","thl":"thl-Deva-NP","thq":"thq-Deva-NP","thr":"thr-Deva-NP","ti":"ti-Ethi-ET","tif":"tif-Latn-ZZ","tig":"tig-Ethi-ER","tik":"tik-Latn-ZZ","tim":"tim-Latn-ZZ","tio":"tio-Latn-ZZ","tiv":"tiv-Latn-NG","tk":"tk-Latn-TM","tkl":"tkl-Latn-TK","tkr":"tkr-Latn-AZ","tkt":"tkt-Deva-NP","tl":"tl-Latn-PH","tlf":"tlf-Latn-ZZ","tlx":"tlx-Latn-ZZ","tly":"tly-Latn-AZ","tmh":"tmh-Latn-NE","tmy":"tmy-Latn-ZZ","tn":"tn-Latn-ZA","tnh":"tnh-Latn-ZZ","to":"to-Latn-TO","tof":"tof-Latn-ZZ","tog":"tog-Latn-MW","toq":"toq-Latn-ZZ","tpi":"tpi-Latn-PG","tpm":"tpm-Latn-ZZ","tpz":"tpz-Latn-ZZ","tqo":"tqo-Latn-ZZ","tr":"tr-Latn-TR","tru":"tru-Latn-TR","trv":"trv-Latn-TW","trw":"trw-Arab-PK","ts":"ts-Latn-ZA","tsd":"tsd-Grek-GR","tsf":"tsf-Deva-NP","tsg":"tsg-Latn-PH","tsj":"tsj-Tibt-BT","tsw":"tsw-Latn-ZZ","tt":"tt-Cyrl-RU","ttd":"ttd-Latn-ZZ","tte":"tte-Latn-ZZ","ttj":"ttj-Latn-UG","ttr":"ttr-Latn-ZZ","tts":"tts-Thai-TH","ttt":"ttt-Latn-AZ","tuh":"tuh-Latn-ZZ","tul":"tul-Latn-ZZ","tum":"tum-Latn-MW","tuq":"tuq-Latn-ZZ","tvd":"tvd-Latn-ZZ","tvl":"tvl-Latn-TV","tvu":"tvu-Latn-ZZ","twh":"twh-Latn-ZZ","twq":"twq-Latn-NE","txg":"txg-Tang-CN","txo":"txo-Toto-IN","ty":"ty-Latn-PF","tya":"tya-Latn-ZZ","tyv":"tyv-Cyrl-RU","tzm":"tzm-Latn-MA","ubu":"ubu-Latn-ZZ","udi":"udi-Aghb-RU","udm":"udm-Cyrl-RU","ug":"ug-Arab-CN","ug-Cyrl":"ug-Cyrl-KZ","ug-KZ":"ug-Cyrl-KZ","ug-MN":"ug-Cyrl-MN","uga":"uga-Ugar-SY","uk":"uk-Cyrl-UA","uli":"uli-Latn-FM","umb":"umb-Latn-AO","und":"en-Latn-US","und-002":"en-Latn-NG","und-003":"en-Latn-US","und-005":"pt-Latn-BR","und-009":"en-Latn-AU","und-011":"en-Latn-NG","und-013":"es-Latn-MX","und-014":"sw-Latn-TZ","und-015":"ar-Arab-EG","und-017":"sw-Latn-CD","und-018":"en-Latn-ZA","und-019":"en-Latn-US","und-021":"en-Latn-US","und-029":"es-Latn-CU","und-030":"zh-Hans-CN","und-034":"hi-Deva-IN","und-035":"id-Latn-ID","und-039":"it-Latn-IT","und-053":"en-Latn-AU","und-054":"en-Latn-PG","und-057":"en-Latn-GU","und-061":"sm-Latn-WS","und-142":"zh-Hans-CN","und-143":"uz-Latn-UZ","und-145":"ar-Arab-SA","und-150":"ru-Cyrl-RU","und-151":"ru-Cyrl-RU","und-154":"en-Latn-GB","und-155":"de-Latn-DE","und-202":"en-Latn-NG","und-419":"es-Latn-419","und-AD":"ca-Latn-AD","und-Adlm":"ff-Adlm-GN","und-AE":"ar-Arab-AE","und-AF":"fa-Arab-AF","und-Aghb":"udi-Aghb-RU","und-Ahom":"aho-Ahom-IN","und-AL":"sq-Latn-AL","und-AM":"hy-Armn-AM","und-AO":"pt-Latn-AO","und-AQ":"und-Latn-AQ","und-AR":"es-Latn-AR","und-Arab":"ar-Arab-EG","und-Arab-CC":"ms-Arab-CC","und-Arab-CN":"ug-Arab-CN","und-Arab-GB":"ks-Arab-GB","und-Arab-ID":"ms-Arab-ID","und-Arab-IN":"ur-Arab-IN","und-Arab-KH":"cja-Arab-KH","und-Arab-MM":"rhg-Arab-MM","und-Arab-MN":"kk-Arab-MN","und-Arab-MU":"ur-Arab-MU","und-Arab-NG":"ha-Arab-NG","und-Arab-PK":"ur-Arab-PK","und-Arab-TG":"apd-Arab-TG","und-Arab-TH":"mfa-Arab-TH","und-Arab-TJ":"fa-Arab-TJ","und-Arab-TR":"az-Arab-TR","und-Arab-YT":"swb-Arab-YT","und-Armi":"arc-Armi-IR","und-Armn":"hy-Armn-AM","und-AS":"sm-Latn-AS","und-AT":"de-Latn-AT","und-Avst":"ae-Avst-IR","und-AW":"nl-Latn-AW","und-AX":"sv-Latn-AX","und-AZ":"az-Latn-AZ","und-BA":"bs-Latn-BA","und-Bali":"ban-Bali-ID","und-Bamu":"bax-Bamu-CM","und-Bass":"bsq-Bass-LR","und-Batk":"bbc-Batk-ID","und-BD":"bn-Beng-BD","und-BE":"nl-Latn-BE","und-Beng":"bn-Beng-BD","und-BF":"fr-Latn-BF","und-BG":"bg-Cyrl-BG","und-BH":"ar-Arab-BH","und-Bhks":"sa-Bhks-IN","und-BI":"rn-Latn-BI","und-BJ":"fr-Latn-BJ","und-BL":"fr-Latn-BL","und-BN":"ms-Latn-BN","und-BO":"es-Latn-BO","und-Bopo":"zh-Bopo-TW","und-BQ":"pap-Latn-BQ","und-BR":"pt-Latn-BR","und-Brah":"pka-Brah-IN","und-Brai":"fr-Brai-FR","und-BT":"dz-Tibt-BT","und-Bugi":"bug-Bugi-ID","und-Buhd":"bku-Buhd-PH","und-BV":"und-Latn-BV","und-BY":"be-Cyrl-BY","und-Cakm":"ccp-Cakm-BD","und-Cans":"cr-Cans-CA","und-Cari":"xcr-Cari-TR","und-CD":"sw-Latn-CD","und-CF":"fr-Latn-CF","und-CG":"fr-Latn-CG","und-CH":"de-Latn-CH","und-Cham":"cjm-Cham-VN","und-Cher":"chr-Cher-US","und-Chrs":"xco-Chrs-UZ","und-CI":"fr-Latn-CI","und-CL":"es-Latn-CL","und-CM":"fr-Latn-CM","und-CN":"zh-Hans-CN","und-CO":"es-Latn-CO","und-Copt":"cop-Copt-EG","und-CP":"und-Latn-CP","und-Cpmn":"und-Cpmn-CY","und-Cpmn-CY":"und-Cpmn-CY","und-Cprt":"grc-Cprt-CY","und-CR":"es-Latn-CR","und-CU":"es-Latn-CU","und-CV":"pt-Latn-CV","und-CW":"pap-Latn-CW","und-CY":"el-Grek-CY","und-Cyrl":"ru-Cyrl-RU","und-Cyrl-AL":"mk-Cyrl-AL","und-Cyrl-BA":"sr-Cyrl-BA","und-Cyrl-GE":"os-Cyrl-GE","und-Cyrl-GR":"mk-Cyrl-GR","und-Cyrl-MD":"uk-Cyrl-MD","und-Cyrl-RO":"bg-Cyrl-RO","und-Cyrl-SK":"uk-Cyrl-SK","und-Cyrl-TR":"kbd-Cyrl-TR","und-Cyrl-XK":"sr-Cyrl-XK","und-CZ":"cs-Latn-CZ","und-DE":"de-Latn-DE","und-Deva":"hi-Deva-IN","und-Deva-BT":"ne-Deva-BT","und-Deva-FJ":"hif-Deva-FJ","und-Deva-MU":"bho-Deva-MU","und-Deva-PK":"btv-Deva-PK","und-Diak":"dv-Diak-MV","und-DJ":"aa-Latn-DJ","und-DK":"da-Latn-DK","und-DO":"es-Latn-DO","und-Dogr":"doi-Dogr-IN","und-Dupl":"fr-Dupl-FR","und-DZ":"ar-Arab-DZ","und-EA":"es-Latn-EA","und-EC":"es-Latn-EC","und-EE":"et-Latn-EE","und-EG":"ar-Arab-EG","und-Egyp":"egy-Egyp-EG","und-EH":"ar-Arab-EH","und-Elba":"sq-Elba-AL","und-Elym":"arc-Elym-IR","und-ER":"ti-Ethi-ER","und-ES":"es-Latn-ES","und-ET":"am-Ethi-ET","und-Ethi":"am-Ethi-ET","und-EU":"en-Latn-IE","und-EZ":"de-Latn-EZ","und-FI":"fi-Latn-FI","und-FO":"fo-Latn-FO","und-FR":"fr-Latn-FR","und-GA":"fr-Latn-GA","und-GE":"ka-Geor-GE","und-Geor":"ka-Geor-GE","und-GF":"fr-Latn-GF","und-GH":"ak-Latn-GH","und-GL":"kl-Latn-GL","und-Glag":"cu-Glag-BG","und-GN":"fr-Latn-GN","und-Gong":"wsg-Gong-IN","und-Gonm":"esg-Gonm-IN","und-Goth":"got-Goth-UA","und-GP":"fr-Latn-GP","und-GQ":"es-Latn-GQ","und-GR":"el-Grek-GR","und-Gran":"sa-Gran-IN","und-Grek":"el-Grek-GR","und-Grek-TR":"bgx-Grek-TR","und-GS":"und-Latn-GS","und-GT":"es-Latn-GT","und-Gujr":"gu-Gujr-IN","und-Guru":"pa-Guru-IN","und-GW":"pt-Latn-GW","und-Hanb":"zh-Hanb-TW","und-Hang":"ko-Hang-KR","und-Hani":"zh-Hani-CN","und-Hano":"hnn-Hano-PH","und-Hans":"zh-Hans-CN","und-Hant":"zh-Hant-TW","und-Hebr":"he-Hebr-IL","und-Hebr-CA":"yi-Hebr-CA","und-Hebr-GB":"yi-Hebr-GB","und-Hebr-SE":"yi-Hebr-SE","und-Hebr-UA":"yi-Hebr-UA","und-Hebr-US":"yi-Hebr-US","und-Hira":"ja-Hira-JP","und-HK":"zh-Hant-HK","und-Hluw":"hlu-Hluw-TR","und-HM":"und-Latn-HM","und-Hmng":"hnj-Hmng-LA","und-Hmnp":"hnj-Hmnp-US","und-HN":"es-Latn-HN","und-HR":"hr-Latn-HR","und-HT":"ht-Latn-HT","und-HU":"hu-Latn-HU","und-Hung":"hu-Hung-HU","und-IC":"es-Latn-IC","und-ID":"id-Latn-ID","und-IL":"he-Hebr-IL","und-IN":"hi-Deva-IN","und-IQ":"ar-Arab-IQ","und-IR":"fa-Arab-IR","und-IS":"is-Latn-IS","und-IT":"it-Latn-IT","und-Ital":"ett-Ital-IT","und-Jamo":"ko-Jamo-KR","und-Java":"jv-Java-ID","und-JO":"ar-Arab-JO","und-JP":"ja-Jpan-JP","und-Jpan":"ja-Jpan-JP","und-Kali":"eky-Kali-MM","und-Kana":"ja-Kana-JP","und-KE":"sw-Latn-KE","und-KG":"ky-Cyrl-KG","und-KH":"km-Khmr-KH","und-Khar":"pra-Khar-PK","und-Khmr":"km-Khmr-KH","und-Khoj":"sd-Khoj-IN","und-Kits":"zkt-Kits-CN","und-KM":"ar-Arab-KM","und-Knda":"kn-Knda-IN","und-Kore":"ko-Kore-KR","und-KP":"ko-Kore-KP","und-KR":"ko-Kore-KR","und-Kthi":"bho-Kthi-IN","und-KW":"ar-Arab-KW","und-KZ":"ru-Cyrl-KZ","und-LA":"lo-Laoo-LA","und-Lana":"nod-Lana-TH","und-Laoo":"lo-Laoo-LA","und-Latn-AF":"tk-Latn-AF","und-Latn-AM":"ku-Latn-AM","und-Latn-CN":"za-Latn-CN","und-Latn-CY":"tr-Latn-CY","und-Latn-DZ":"fr-Latn-DZ","und-Latn-ET":"en-Latn-ET","und-Latn-GE":"ku-Latn-GE","und-Latn-IR":"tk-Latn-IR","und-Latn-KM":"fr-Latn-KM","und-Latn-MA":"fr-Latn-MA","und-Latn-MK":"sq-Latn-MK","und-Latn-MM":"kac-Latn-MM","und-Latn-MO":"pt-Latn-MO","und-Latn-MR":"fr-Latn-MR","und-Latn-RU":"krl-Latn-RU","und-Latn-SY":"fr-Latn-SY","und-Latn-TN":"fr-Latn-TN","und-Latn-TW":"trv-Latn-TW","und-Latn-UA":"pl-Latn-UA","und-LB":"ar-Arab-LB","und-Lepc":"lep-Lepc-IN","und-LI":"de-Latn-LI","und-Limb":"lif-Limb-IN","und-Lina":"lab-Lina-GR","und-Linb":"grc-Linb-GR","und-Lisu":"lis-Lisu-CN","und-LK":"si-Sinh-LK","und-LS":"st-Latn-LS","und-LT":"lt-Latn-LT","und-LU":"fr-Latn-LU","und-LV":"lv-Latn-LV","und-LY":"ar-Arab-LY","und-Lyci":"xlc-Lyci-TR","und-Lydi":"xld-Lydi-TR","und-MA":"ar-Arab-MA","und-Mahj":"hi-Mahj-IN","und-Maka":"mak-Maka-ID","und-Mand":"myz-Mand-IR","und-Mani":"xmn-Mani-CN","und-Marc":"bo-Marc-CN","und-MC":"fr-Latn-MC","und-MD":"ro-Latn-MD","und-ME":"sr-Latn-ME","und-Medf":"dmf-Medf-NG","und-Mend":"men-Mend-SL","und-Merc":"xmr-Merc-SD","und-Mero":"xmr-Mero-SD","und-MF":"fr-Latn-MF","und-MG":"mg-Latn-MG","und-MK":"mk-Cyrl-MK","und-ML":"bm-Latn-ML","und-Mlym":"ml-Mlym-IN","und-MM":"my-Mymr-MM","und-MN":"mn-Cyrl-MN","und-MO":"zh-Hant-MO","und-Modi":"mr-Modi-IN","und-Mong":"mn-Mong-CN","und-MQ":"fr-Latn-MQ","und-MR":"ar-Arab-MR","und-Mroo":"mro-Mroo-BD","und-MT":"mt-Latn-MT","und-Mtei":"mni-Mtei-IN","und-MU":"mfe-Latn-MU","und-Mult":"skr-Mult-PK","und-MV":"dv-Thaa-MV","und-MX":"es-Latn-MX","und-MY":"ms-Latn-MY","und-Mymr":"my-Mymr-MM","und-Mymr-IN":"kht-Mymr-IN","und-Mymr-TH":"mnw-Mymr-TH","und-MZ":"pt-Latn-MZ","und-NA":"af-Latn-NA","und-Nand":"sa-Nand-IN","und-Narb":"xna-Narb-SA","und-Nbat":"arc-Nbat-JO","und-NC":"fr-Latn-NC","und-NE":"ha-Latn-NE","und-Newa":"new-Newa-NP","und-NI":"es-Latn-NI","und-Nkoo":"man-Nkoo-GN","und-NL":"nl-Latn-NL","und-NO":"nb-Latn-NO","und-NP":"ne-Deva-NP","und-Nshu":"zhx-Nshu-CN","und-Ogam":"sga-Ogam-IE","und-Olck":"sat-Olck-IN","und-OM":"ar-Arab-OM","und-Orkh":"otk-Orkh-MN","und-Orya":"or-Orya-IN","und-Osge":"osa-Osge-US","und-Osma":"so-Osma-SO","und-Ougr":"oui-Ougr-143","und-PA":"es-Latn-PA","und-Palm":"arc-Palm-SY","und-Pauc":"ctd-Pauc-MM","und-PE":"es-Latn-PE","und-Perm":"kv-Perm-RU","und-PF":"fr-Latn-PF","und-PG":"tpi-Latn-PG","und-PH":"fil-Latn-PH","und-Phag":"lzh-Phag-CN","und-Phli":"pal-Phli-IR","und-Phlp":"pal-Phlp-CN","und-Phnx":"phn-Phnx-LB","und-PK":"ur-Arab-PK","und-PL":"pl-Latn-PL","und-Plrd":"hmd-Plrd-CN","und-PM":"fr-Latn-PM","und-PR":"es-Latn-PR","und-Prti":"xpr-Prti-IR","und-PS":"ar-Arab-PS","und-PT":"pt-Latn-PT","und-PW":"pau-Latn-PW","und-PY":"gn-Latn-PY","und-QA":"ar-Arab-QA","und-QO":"en-Latn-DG","und-RE":"fr-Latn-RE","und-Rjng":"rej-Rjng-ID","und-RO":"ro-Latn-RO","und-Rohg":"rhg-Rohg-MM","und-RS":"sr-Cyrl-RS","und-RU":"ru-Cyrl-RU","und-Runr":"non-Runr-SE","und-RW":"rw-Latn-RW","und-SA":"ar-Arab-SA","und-Samr":"smp-Samr-IL","und-Sarb":"xsa-Sarb-YE","und-Saur":"saz-Saur-IN","und-SC":"fr-Latn-SC","und-SD":"ar-Arab-SD","und-SE":"sv-Latn-SE","und-Sgnw":"ase-Sgnw-US","und-Shaw":"en-Shaw-GB","und-Shrd":"sa-Shrd-IN","und-SI":"sl-Latn-SI","und-Sidd":"sa-Sidd-IN","und-Sind":"sd-Sind-IN","und-Sinh":"si-Sinh-LK","und-SJ":"nb-Latn-SJ","und-SK":"sk-Latn-SK","und-SM":"it-Latn-SM","und-SN":"fr-Latn-SN","und-SO":"so-Latn-SO","und-Sogd":"sog-Sogd-UZ","und-Sogo":"sog-Sogo-UZ","und-Sora":"srb-Sora-IN","und-Soyo":"cmg-Soyo-MN","und-SR":"nl-Latn-SR","und-ST":"pt-Latn-ST","und-Sund":"su-Sund-ID","und-SV":"es-Latn-SV","und-SY":"ar-Arab-SY","und-Sylo":"syl-Sylo-BD","und-Syrc":"syr-Syrc-IQ","und-Tagb":"tbw-Tagb-PH","und-Takr":"doi-Takr-IN","und-Tale":"tdd-Tale-CN","und-Talu":"khb-Talu-CN","und-Taml":"ta-Taml-IN","und-Tang":"txg-Tang-CN","und-Tavt":"blt-Tavt-VN","und-TD":"fr-Latn-TD","und-Telu":"te-Telu-IN","und-TF":"fr-Latn-TF","und-Tfng":"zgh-Tfng-MA","und-TG":"fr-Latn-TG","und-Tglg":"fil-Tglg-PH","und-TH":"th-Thai-TH","und-Thaa":"dv-Thaa-MV","und-Thai":"th-Thai-TH","und-Thai-CN":"lcp-Thai-CN","und-Thai-KH":"kdt-Thai-KH","und-Thai-LA":"kdt-Thai-LA","und-Tibt":"bo-Tibt-CN","und-Tirh":"mai-Tirh-IN","und-TJ":"tg-Cyrl-TJ","und-TK":"tkl-Latn-TK","und-TL":"pt-Latn-TL","und-TM":"tk-Latn-TM","und-TN":"ar-Arab-TN","und-Tnsa":"nst-Tnsa-IN","und-TO":"to-Latn-TO","und-Toto":"txo-Toto-IN","und-TR":"tr-Latn-TR","und-TV":"tvl-Latn-TV","und-TW":"zh-Hant-TW","und-TZ":"sw-Latn-TZ","und-UA":"uk-Cyrl-UA","und-UG":"sw-Latn-UG","und-Ugar":"uga-Ugar-SY","und-UY":"es-Latn-UY","und-UZ":"uz-Latn-UZ","und-VA":"it-Latn-VA","und-Vaii":"vai-Vaii-LR","und-VE":"es-Latn-VE","und-Vith":"sq-Vith-AL","und-VN":"vi-Latn-VN","und-VU":"bi-Latn-VU","und-Wara":"hoc-Wara-IN","und-Wcho":"nnp-Wcho-IN","und-WF":"fr-Latn-WF","und-WS":"sm-Latn-WS","und-XK":"sq-Latn-XK","und-Xpeo":"peo-Xpeo-IR","und-Xsux":"akk-Xsux-IQ","und-YE":"ar-Arab-YE","und-Yezi":"ku-Yezi-GE","und-Yiii":"ii-Yiii-CN","und-YT":"fr-Latn-YT","und-Zanb":"cmg-Zanb-MN","und-ZW":"sn-Latn-ZW","unr":"unr-Beng-IN","unr-Deva":"unr-Deva-NP","unr-NP":"unr-Deva-NP","unx":"unx-Beng-IN","uok":"uok-Latn-ZZ","ur":"ur-Arab-PK","uri":"uri-Latn-ZZ","urt":"urt-Latn-ZZ","urw":"urw-Latn-ZZ","usa":"usa-Latn-ZZ","uth":"uth-Latn-ZZ","utr":"utr-Latn-ZZ","uvh":"uvh-Latn-ZZ","uvl":"uvl-Latn-ZZ","uz":"uz-Latn-UZ","uz-AF":"uz-Arab-AF","uz-Arab":"uz-Arab-AF","uz-CN":"uz-Cyrl-CN","vag":"vag-Latn-ZZ","vai":"vai-Vaii-LR","van":"van-Latn-ZZ","ve":"ve-Latn-ZA","vec":"vec-Latn-IT","vep":"vep-Latn-RU","vi":"vi-Latn-VN","vic":"vic-Latn-SX","viv":"viv-Latn-ZZ","vls":"vls-Latn-BE","vmf":"vmf-Latn-DE","vmw":"vmw-Latn-MZ","vo":"vo-Latn-001","vot":"vot-Latn-RU","vro":"vro-Latn-EE","vun":"vun-Latn-TZ","vut":"vut-Latn-ZZ","wa":"wa-Latn-BE","wae":"wae-Latn-CH","waj":"waj-Latn-ZZ","wal":"wal-Ethi-ET","wan":"wan-Latn-ZZ","war":"war-Latn-PH","wbp":"wbp-Latn-AU","wbq":"wbq-Telu-IN","wbr":"wbr-Deva-IN","wci":"wci-Latn-ZZ","wer":"wer-Latn-ZZ","wgi":"wgi-Latn-ZZ","whg":"whg-Latn-ZZ","wib":"wib-Latn-ZZ","wiu":"wiu-Latn-ZZ","wiv":"wiv-Latn-ZZ","wja":"wja-Latn-ZZ","wji":"wji-Latn-ZZ","wls":"wls-Latn-WF","wmo":"wmo-Latn-ZZ","wnc":"wnc-Latn-ZZ","wni":"wni-Arab-KM","wnu":"wnu-Latn-ZZ","wo":"wo-Latn-SN","wob":"wob-Latn-ZZ","wos":"wos-Latn-ZZ","wrs":"wrs-Latn-ZZ","wsg":"wsg-Gong-IN","wsk":"wsk-Latn-ZZ","wtm":"wtm-Deva-IN","wuu":"wuu-Hans-CN","wuv":"wuv-Latn-ZZ","wwa":"wwa-Latn-ZZ","xav":"xav-Latn-BR","xbi":"xbi-Latn-ZZ","xco":"xco-Chrs-UZ","xcr":"xcr-Cari-TR","xes":"xes-Latn-ZZ","xh":"xh-Latn-ZA","xla":"xla-Latn-ZZ","xlc":"xlc-Lyci-TR","xld":"xld-Lydi-TR","xmf":"xmf-Geor-GE","xmn":"xmn-Mani-CN","xmr":"xmr-Merc-SD","xna":"xna-Narb-SA","xnr":"xnr-Deva-IN","xog":"xog-Latn-UG","xon":"xon-Latn-ZZ","xpr":"xpr-Prti-IR","xrb":"xrb-Latn-ZZ","xsa":"xsa-Sarb-YE","xsi":"xsi-Latn-ZZ","xsm":"xsm-Latn-ZZ","xsr":"xsr-Deva-NP","xwe":"xwe-Latn-ZZ","yam":"yam-Latn-ZZ","yao":"yao-Latn-MZ","yap":"yap-Latn-FM","yas":"yas-Latn-ZZ","yat":"yat-Latn-ZZ","yav":"yav-Latn-CM","yay":"yay-Latn-ZZ","yaz":"yaz-Latn-ZZ","yba":"yba-Latn-ZZ","ybb":"ybb-Latn-CM","yby":"yby-Latn-ZZ","yer":"yer-Latn-ZZ","ygr":"ygr-Latn-ZZ","ygw":"ygw-Latn-ZZ","yi":"yi-Hebr-001","yko":"yko-Latn-ZZ","yle":"yle-Latn-ZZ","ylg":"ylg-Latn-ZZ","yll":"yll-Latn-ZZ","yml":"yml-Latn-ZZ","yo":"yo-Latn-NG","yon":"yon-Latn-ZZ","yrb":"yrb-Latn-ZZ","yre":"yre-Latn-ZZ","yrl":"yrl-Latn-BR","yss":"yss-Latn-ZZ","yua":"yua-Latn-MX","yue":"yue-Hant-HK","yue-CN":"yue-Hans-CN","yue-Hans":"yue-Hans-CN","yuj":"yuj-Latn-ZZ","yut":"yut-Latn-ZZ","yuw":"yuw-Latn-ZZ","za":"za-Latn-CN","zag":"zag-Latn-SD","zdj":"zdj-Arab-KM","zea":"zea-Latn-NL","zgh":"zgh-Tfng-MA","zh":"zh-Hans-CN","zh-AU":"zh-Hant-AU","zh-BN":"zh-Hant-BN","zh-Bopo":"zh-Bopo-TW","zh-GB":"zh-Hant-GB","zh-GF":"zh-Hant-GF","zh-Hanb":"zh-Hanb-TW","zh-Hant":"zh-Hant-TW","zh-HK":"zh-Hant-HK","zh-ID":"zh-Hant-ID","zh-MO":"zh-Hant-MO","zh-PA":"zh-Hant-PA","zh-PF":"zh-Hant-PF","zh-PH":"zh-Hant-PH","zh-SR":"zh-Hant-SR","zh-TH":"zh-Hant-TH","zh-TW":"zh-Hant-TW","zh-US":"zh-Hant-US","zh-VN":"zh-Hant-VN","zhx":"zhx-Nshu-CN","zia":"zia-Latn-ZZ","zkt":"zkt-Kits-CN","zlm":"zlm-Latn-TG","zmi":"zmi-Latn-MY","zne":"zne-Latn-ZZ","zu":"zu-Latn-ZA","zza":"zza-Latn-TR"}}}')},8576:function(t){"use strict";t.exports=JSON.parse('{"supplemental":{"version":{"_unicodeVersion":"14.0.0","_cldrVersion":"40"},"weekData":{"minDays":{"001":"1","AD":"4","AN":"4","AT":"4","AX":"4","BE":"4","BG":"4","CH":"4","CZ":"4","DE":"4","DK":"4","EE":"4","ES":"4","FI":"4","FJ":"4","FO":"4","FR":"4","GB":"4","GF":"4","GG":"4","GI":"4","GP":"4","GR":"4","GU":"1","HU":"4","IE":"4","IM":"4","IS":"4","IT":"4","JE":"4","LI":"4","LT":"4","LU":"4","MC":"4","MQ":"4","NL":"4","NO":"4","PL":"4","PT":"4","RE":"4","RU":"4","SE":"4","SJ":"4","SK":"4","SM":"4","UM":"1","US":"1","VA":"4","VI":"1"},"firstDay":{"001":"mon","AD":"mon","AE":"sat","AF":"sat","AG":"sun","AI":"mon","AL":"mon","AM":"mon","AN":"mon","AR":"mon","AS":"sun","AT":"mon","AU":"mon","AX":"mon","AZ":"mon","BA":"mon","BD":"sun","BE":"mon","BG":"mon","BH":"sat","BM":"mon","BN":"mon","BR":"sun","BS":"sun","BT":"sun","BW":"sun","BY":"mon","BZ":"sun","CA":"sun","CH":"mon","CL":"mon","CM":"mon","CN":"sun","CO":"sun","CR":"mon","CY":"mon","CZ":"mon","DE":"mon","DJ":"sat","DK":"mon","DM":"sun","DO":"sun","DZ":"sat","EC":"mon","EE":"mon","EG":"sat","ES":"mon","ET":"sun","FI":"mon","FJ":"mon","FO":"mon","FR":"mon","GB":"mon","GB-alt-variant":"sun","GE":"mon","GF":"mon","GP":"mon","GR":"mon","GT":"sun","GU":"sun","HK":"sun","HN":"sun","HR":"mon","HU":"mon","ID":"sun","IE":"mon","IL":"sun","IN":"sun","IQ":"sat","IR":"sat","IS":"mon","IT":"mon","JM":"sun","JO":"sat","JP":"sun","KE":"sun","KG":"mon","KH":"sun","KR":"sun","KW":"sat","KZ":"mon","LA":"sun","LB":"mon","LI":"mon","LK":"mon","LT":"mon","LU":"mon","LV":"mon","LY":"sat","MC":"mon","MD":"mon","ME":"mon","MH":"sun","MK":"mon","MM":"sun","MN":"mon","MO":"sun","MQ":"mon","MT":"sun","MV":"fri","MX":"sun","MY":"mon","MZ":"sun","NI":"sun","NL":"mon","NO":"mon","NP":"sun","NZ":"mon","OM":"sat","PA":"sun","PE":"sun","PH":"sun","PK":"sun","PL":"mon","PR":"sun","PT":"sun","PY":"sun","QA":"sat","RE":"mon","RO":"mon","RS":"mon","RU":"mon","SA":"sun","SD":"sat","SE":"mon","SG":"sun","SI":"mon","SK":"mon","SM":"mon","SV":"sun","SY":"sat","TH":"sun","TJ":"mon","TM":"mon","TR":"mon","TT":"sun","TW":"sun","UA":"mon","UM":"sun","US":"sun","UY":"mon","UZ":"mon","VA":"mon","VE":"sun","VI":"sun","VN":"mon","WS":"sun","XK":"mon","YE":"sun","ZA":"sun","ZW":"sun"},"weekendStart":{"001":"sat","AE":"fri","AF":"thu","BH":"fri","DZ":"fri","EG":"fri","IL":"fri","IN":"sun","IQ":"fri","IR":"fri","JO":"fri","KW":"fri","LY":"fri","OM":"fri","QA":"fri","SA":"fri","SD":"fri","SY":"fri","UG":"sun","YE":"fri"},"weekendEnd":{"001":"sun","AE":"sat","AF":"fri","BH":"sat","DZ":"sat","EG":"sat","IL":"sat","IQ":"sat","IR":"fri","JO":"sat","KW":"sat","LY":"sat","OM":"sat","QA":"sat","SA":"sat","SD":"sat","SY":"sat","YE":"sat"},"weekOfPreference":{"af":["weekOfDate","weekOfInterval","weekOfMonth"],"am":["weekOfYear","weekOfMonth"],"az":["weekOfYear","weekOfMonth"],"bs":["weekOfYear","weekOfMonth"],"cs":["weekOfYear","weekOfMonth"],"cy":["weekOfYear","weekOfMonth"],"da":["weekOfYear","weekOfMonth"],"el":["weekOfYear","weekOfMonth"],"et":["weekOfYear","weekOfMonth"],"hi":["weekOfYear","weekOfMonth"],"ky":["weekOfYear","weekOfMonth"],"lt":["weekOfYear","weekOfMonth"],"mk":["weekOfYear","weekOfMonth"],"sk":["weekOfYear","weekOfMonth"],"ta":["weekOfYear","weekOfMonth"],"th":["weekOfYear","weekOfMonth"],"ar":["weekOfMonth"],"fil":["weekOfMonth"],"gu":["weekOfMonth"],"hu":["weekOfMonth"],"hy":["weekOfMonth"],"id":["weekOfMonth"],"kk":["weekOfMonth"],"ko":["weekOfMonth"],"be":["weekOfInterval","weekOfMonth"],"ro":["weekOfInterval","weekOfMonth"],"ru":["weekOfInterval","weekOfMonth"],"bg":["weekOfDate","weekOfMonth","weekOfInterval"],"de":["weekOfDate","weekOfMonth","weekOfInterval"],"he":["weekOfDate","weekOfMonth","weekOfInterval"],"pt":["weekOfDate","weekOfMonth","weekOfInterval"],"ur":["weekOfDate","weekOfMonth","weekOfInterval"],"zh":["weekOfDate","weekOfMonth","weekOfInterval"],"ca":["weekOfDate"],"es":["weekOfDate"],"fr":["weekOfDate"],"gl":["weekOfDate"],"en":["weekOfDate","weekOfMonth"],"bn":["weekOfDate","weekOfMonth"],"ja":["weekOfDate","weekOfMonth"],"ka":["weekOfDate","weekOfMonth"],"eu":["weekOfMonth","weekOfDate"],"fa":["weekOfMonth","weekOfInterval"],"hr":["weekOfMonth","weekOfInterval"],"it":["weekOfMonth","weekOfInterval"],"lv":["weekOfMonth","weekOfInterval"],"pl":["weekOfMonth","weekOfInterval"],"si":["weekOfMonth","weekOfInterval"],"sr":["weekOfMonth","weekOfInterval"],"uk":["weekOfMonth","weekOfInterval"],"uz":["weekOfMonth","weekOfInterval"],"fi":["weekOfYear","weekOfDate","weekOfMonth"],"zh-TW":["weekOfYear","weekOfDate","weekOfMonth"],"is":["weekOfYear","weekOfMonth","weekOfInterval"],"mn":["weekOfYear","weekOfMonth","weekOfInterval"],"nb":["weekOfYear","weekOfMonth","weekOfInterval"],"no":["weekOfYear","weekOfMonth","weekOfInterval"],"sv":["weekOfYear","weekOfMonth","weekOfInterval"],"vi":["weekOfYear","weekOfMonth","weekOfInterval"],"km":["weekOfMonth","weekOfYear"],"mr":["weekOfMonth","weekOfYear"],"kn":["weekOfMonth","weekOfDate","weekOfYear"],"ml":["weekOfMonth","weekOfDate","weekOfYear"],"pa":["weekOfMonth","weekOfDate","weekOfYear"],"lo":["weekOfMonth","weekOfInterval","weekOfDate","weekOfYear"],"sq":["weekOfMonth","weekOfInterval","weekOfDate","weekOfYear"],"ms":["weekOfMonth","weekOfYear","weekOfInterval","weekOfDate"],"tr":["weekOfMonth","weekOfYear","weekOfInterval","weekOfDate"],"nl":["weekOfDate","weekOfYear","weekOfMonth"],"sl":["weekOfInterval"],"sw":["weekOfMonth","weekOfInterval","weekOfYear"],"te":["weekOfMonth","weekOfInterval","weekOfYear"],"und":["weekOfYear"],"zu":["weekOfYear","weekOfInterval"]}}}}')},2197:function(t){"use strict";t.exports=JSON.parse('{"main":{"es":{"identity":{"version":{"_cldrVersion":"40"},"language":"es"},"dates":{"calendars":{"gregorian":{"months":{"format":{"abbreviated":{"1":"ene","2":"feb","3":"mar","4":"abr","5":"may","6":"jun","7":"jul","8":"ago","9":"sept","10":"oct","11":"nov","12":"dic"},"narrow":{"1":"E","2":"F","3":"M","4":"A","5":"M","6":"J","7":"J","8":"A","9":"S","10":"O","11":"N","12":"D"},"wide":{"1":"enero","2":"febrero","3":"marzo","4":"abril","5":"mayo","6":"junio","7":"julio","8":"agosto","9":"septiembre","10":"octubre","11":"noviembre","12":"diciembre"}},"stand-alone":{"abbreviated":{"1":"ene","2":"feb","3":"mar","4":"abr","5":"may","6":"jun","7":"jul","8":"ago","9":"sept","10":"oct","11":"nov","12":"dic"},"narrow":{"1":"E","2":"F","3":"M","4":"A","5":"M","6":"J","7":"J","8":"A","9":"S","10":"O","11":"N","12":"D"},"wide":{"1":"enero","2":"febrero","3":"marzo","4":"abril","5":"mayo","6":"junio","7":"julio","8":"agosto","9":"septiembre","10":"octubre","11":"noviembre","12":"diciembre"}}},"days":{"format":{"abbreviated":{"sun":"dom","mon":"lun","tue":"mar","wed":"mié","thu":"jue","fri":"vie","sat":"sáb"},"narrow":{"sun":"D","mon":"L","tue":"M","wed":"X","thu":"J","fri":"V","sat":"S"},"short":{"sun":"DO","mon":"LU","tue":"MA","wed":"MI","thu":"JU","fri":"VI","sat":"SA"},"wide":{"sun":"domingo","mon":"lunes","tue":"martes","wed":"miércoles","thu":"jueves","fri":"viernes","sat":"sábado"}},"stand-alone":{"abbreviated":{"sun":"dom","mon":"lun","tue":"mar","wed":"mié","thu":"jue","fri":"vie","sat":"sáb"},"narrow":{"sun":"D","mon":"L","tue":"M","wed":"X","thu":"J","fri":"V","sat":"S"},"short":{"sun":"DO","mon":"LU","tue":"MA","wed":"MI","thu":"JU","fri":"VI","sat":"SA"},"wide":{"sun":"domingo","mon":"lunes","tue":"martes","wed":"miércoles","thu":"jueves","fri":"viernes","sat":"sábado"}}},"quarters":{"format":{"abbreviated":{"1":"T1","2":"T2","3":"T3","4":"T4"},"narrow":{"1":"1","2":"2","3":"3","4":"4"},"wide":{"1":"1.er trimestre","2":"2.º trimestre","3":"3.er trimestre","4":"4.º trimestre"}},"stand-alone":{"abbreviated":{"1":"T1","2":"T2","3":"T3","4":"T4"},"narrow":{"1":"1","2":"2","3":"3","4":"4"},"wide":{"1":"1.er trimestre","2":"2.º trimestre","3":"3.er trimestre","4":"4.º trimestre"}}},"dayPeriods":{"format":{"abbreviated":{"am":"a. m.","noon":"del mediodía","pm":"p. m.","morning1":"de la madrugada","morning2":"de la mañana","evening1":"de la tarde","night1":"de la noche"},"narrow":{"am":"a. m.","noon":"del mediodía","pm":"p. m.","morning1":"de la madrugada","morning2":"de la mañana","evening1":"de la tarde","night1":"de la noche"},"wide":{"am":"a. m.","noon":"del mediodía","pm":"p. m.","morning1":"de la madrugada","morning2":"de la mañana","evening1":"de la tarde","night1":"de la noche"}},"stand-alone":{"abbreviated":{"am":"a. m.","noon":"mediodía","pm":"p. m.","morning1":"madrugada","morning2":"mañana","evening1":"tarde","night1":"noche"},"narrow":{"am":"a. m.","noon":"mediodía","pm":"p. m.","morning1":"madrugada","morning2":"mañana","evening1":"tarde","night1":"noche"},"wide":{"am":"a. m.","noon":"mediodía","pm":"p. m.","morning1":"madrugada","morning2":"mañana","evening1":"tarde","night1":"noche"}}},"eras":{"eraNames":{"0":"antes de Cristo","1":"después de Cristo","0-alt-variant":"antes de la era común","1-alt-variant":"era común"},"eraAbbr":{"0":"a. C.","1":"d. C.","0-alt-variant":"a. e. c.","1-alt-variant":"e. c."},"eraNarrow":{"0":"a. C.","1":"d. C.","0-alt-variant":"a. e. c.","1-alt-variant":"e. c."}},"dateFormats":{"full":"EEEE, d \'de\' MMMM \'de\' y","long":"d \'de\' MMMM \'de\' y","medium":"d MMM y","short":"d/M/yy"},"dateSkeletons":{"full":"yMMMMEEEEd","long":"yMMMMd","medium":"yMMMd","short":"yyMd"},"timeFormats":{"full":"H:mm:ss (zzzz)","long":"H:mm:ss z","medium":"H:mm:ss","short":"H:mm"},"timeSkeletons":{"full":"Hmmsszzzz","long":"Hmmssz","medium":"Hmmss","short":"Hmm"},"dateTimeFormats":{"full":"{1}, {0}","long":"{1}, {0}","medium":"{1}, {0}","short":"{1}, {0}","availableFormats":{"Bh":"h B","Bhm":"h:mm B","Bhms":"h:mm:ss B","d":"d","E":"ccc","EBhm":"E h:mm B","EBhms":"E h:mm:ss B","Ed":"E d","Ehm":"E, h:mm a","EHm":"E, H:mm","Ehms":"E, h:mm:ss a","EHms":"E, H:mm:ss","Gy":"y G","GyMd":"d/M/y GGGGG","GyMMM":"MMM y G","GyMMMd":"d MMM y G","GyMMMEd":"E, d MMM y G","GyMMMM":"MMMM \'de\' y G","GyMMMMd":"d \'de\' MMMM \'de\' y G","GyMMMMEd":"E, d \'de\' MMMM \'de\' y G","h":"h a","H":"H","hm":"h:mm a","Hm":"H:mm","hms":"h:mm:ss a","Hms":"H:mm:ss","hmsv":"h:mm:ss a v","Hmsv":"H:mm:ss v","hmsvvvv":"h:mm:ss a (vvvv)","Hmsvvvv":"H:mm:ss (vvvv)","hmv":"h:mm a v","Hmv":"H:mm v","M":"L","Md":"d/M","MEd":"E, d/M","MMd":"d/M","MMdd":"d/M","MMM":"LLL","MMMd":"d MMM","MMMEd":"E, d MMM","MMMMd":"d \'de\' MMMM","MMMMEd":"E, d \'de\' MMMM","MMMMW-count-one":"\'semana\' W \'de\' MMMM","MMMMW-count-other":"\'semana\' W \'de\' MMMM","ms":"mm:ss","y":"y","yM":"M/y","yMd":"d/M/y","yMEd":"EEE, d/M/y","yMM":"M/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"EEE, d MMM y","yMMMM":"MMMM \'de\' y","yMMMMd":"d \'de\' MMMM \'de\' y","yMMMMEd":"EEE, d \'de\' MMMM \'de\' y","yQQQ":"QQQ y","yQQQQ":"QQQQ \'de\' y","yw-count-one":"\'semana\' w \'de\' Y","yw-count-other":"\'semana\' w \'de\' Y"},"appendItems":{"Day":"{0} ({2}: {1})","Day-Of-Week":"{0} {1}","Era":"{1} {0}","Hour":"{0} ({2}: {1})","Minute":"{0} ({2}: {1})","Month":"{0} ({2}: {1})","Quarter":"{0} ({2}: {1})","Second":"{0} ({2}: {1})","Timezone":"{0} {1}","Week":"{0} ({2}: {1})","Year":"{1} {0}"},"intervalFormats":{"intervalFormatFallback":"{0} – {1}","Bh":{"B":"h B – h B","h":"h–h B"},"Bhm":{"B":"h:mm B – h:mm B","h":"h:mm–h:mm B","m":"h:mm–h:mm B"},"d":{"d":"d–d"},"Gy":{"G":"y G – y G","y":"y–y G"},"GyM":{"G":"M/y GGGGG – M/y GGGGG","M":"M/y – M/y GGGGG","y":"M/y – M/y GGGGG"},"GyMd":{"d":"d/M/y – d/M/y GGGGG","G":"d/M/y GGGGG – d/M/y GGGGG","M":"d/M/y – d/M/y GGGGG","y":"d/M/y – d/M/y GGGGG"},"GyMEd":{"d":"E, d/M/y – E, d/M/y GGGGG","G":"E, d/M/y GGGGG – E, d/M/y GGGGG","M":"E, d/M/y – E, d/M/y GGGGG","y":"E, d/M/y – E, d/M/y GGGGG"},"GyMMM":{"G":"MMM y G – MMM y G","M":"MMM–MMM y G","y":"MMM y – MMM y G"},"GyMMMd":{"d":"d–d MMM y G","G":"d MMM y G – d MMM y G","M":"d MMM – d MMM y G","y":"d MMM y – d MMM y G"},"GyMMMEd":{"d":"E, d MMM – E, d MMM y G","G":"E, d MMM y G – E, d MMM y G","M":"E, d MMM – E, d MMM y G","y":"E, d MMM y – E, d MMM y G"},"h":{"a":"h a – h a","h":"h–h a"},"H":{"H":"H–H"},"hm":{"a":"h:mm a – h:mm a","h":"h:mm – h:mm a","m":"h:mm – h:mm a"},"Hm":{"H":"H:mm–H:mm","m":"H:mm–H:mm"},"hmv":{"a":"h:mm a – h:mm a v","h":"h:mm–h:mm a v","m":"h:mm–h:mm a v"},"Hmv":{"H":"H:mm–H:mm v","m":"H:mm–H:mm v"},"hv":{"a":"h a – h a v","h":"h–h a v"},"Hv":{"H":"H–H v"},"M":{"M":"M–M"},"Md":{"d":"d/M – d/M","M":"d/M – d/M"},"MEd":{"d":"E, d/M – E, d/M","M":"E, d/M – E, d/M"},"MMM":{"M":"MMM–MMM"},"MMMd":{"d":"d–d MMM","M":"d MMM – d MMM"},"MMMEd":{"d":"E, d MMM – E, d MMM","M":"E, d MMM – E, d MMM"},"MMMMd":{"d":"d–d \'de\' MMMM","M":"d \'de\' MMMM – d \'de\' MMMM"},"MMMMEd":{"d":"E, d \'de\' MMMM – E, d \'de\' MMMM","M":"E, d \'de\' MMMM – E, d \'de\' MMMM"},"y":{"y":"y–y"},"yM":{"M":"M/y – M/y","y":"M/y – M/y"},"yMd":{"d":"d/M/y – d/M/y","M":"d/M/y – d/M/y","y":"d/M/y – d/M/y"},"yMEd":{"d":"E, d/M/y – E, d/M/y","M":"E, d/M/y – E, d/M/y","y":"E, d/M/y – E, d/M/y"},"yMMM":{"M":"MMM–MMM y","y":"MMM y – MMM y"},"yMMMd":{"d":"d–d MMM y","M":"d MMM – d MMM y","y":"d MMM y – d MMM y"},"yMMMEd":{"d":"E, d MMM – E, d MMM y","M":"E, d MMM – E, d MMM y","y":"E, d MMM y – E, d MMM y"},"yMMMM":{"M":"MMMM–MMMM \'de\' y","y":"MMMM \'de\' y – MMMM \'de\' y"},"yMMMMd":{"d":"d–d \'de\' MMMM \'de\' y","M":"d \'de\' MMMM – d \'de\' MMMM \'de\' y","y":"d \'de\' MMMM \'de\' y – d \'de\' MMMM \'de\' y"},"yMMMMEd":{"d":"E, d \'de\' MMMM – E, d \'de\' MMMM \'de\' y","M":"E, d \'de\' MMMM – E, d \'de\' MMMM \'de\' y","y":"E, d \'de\' MMMM \'de\' y – E, d \'de\' MMMM \'de\' y"}}}}}}}}}')},281:function(t){"use strict";t.exports=JSON.parse('{"main":{"es":{"identity":{"version":{"_cldrVersion":"40"},"language":"es"},"dates":{"fields":{"era":{"displayName":"era"},"era-short":{"displayName":"era"},"era-narrow":{"displayName":"era"},"year":{"displayName":"año","relative-type--1":"el año pasado","relative-type-0":"este año","relative-type-1":"el próximo año","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} año","relativeTimePattern-count-other":"dentro de {0} años"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} año","relativeTimePattern-count-other":"hace {0} años"}},"year-short":{"displayName":"a","relative-type--1":"el año pasado","relative-type-0":"este año","relative-type-1":"el próximo año","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} a","relativeTimePattern-count-other":"dentro de {0} a"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} a","relativeTimePattern-count-other":"hace {0} a"}},"year-narrow":{"displayName":"a","relative-type--1":"el año pasado","relative-type-0":"este año","relative-type-1":"el próximo año","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} a","relativeTimePattern-count-other":"dentro de {0} a"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} a","relativeTimePattern-count-other":"hace {0} a"}},"quarter":{"displayName":"trimestre","relative-type--1":"el trimestre pasado","relative-type-0":"este trimestre","relative-type-1":"el próximo trimestre","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} trimestre","relativeTimePattern-count-other":"dentro de {0} trimestres"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} trimestre","relativeTimePattern-count-other":"hace {0} trimestres"}},"quarter-short":{"displayName":"trim.","relative-type--1":"el trimestre pasado","relative-type-0":"este trimestre","relative-type-1":"el próximo trimestre","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} trim.","relativeTimePattern-count-other":"dentro de {0} trim."},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} trim.","relativeTimePattern-count-other":"hace {0} trim."}},"quarter-narrow":{"displayName":"trim.","relative-type--1":"el trimestre pasado","relative-type-0":"este trimestre","relative-type-1":"el próximo trimestre","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} trim.","relativeTimePattern-count-other":"dentro de {0} trim."},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} trim.","relativeTimePattern-count-other":"hace {0} trim."}},"month":{"displayName":"mes","relative-type--1":"el mes pasado","relative-type-0":"este mes","relative-type-1":"el próximo mes","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} mes","relativeTimePattern-count-other":"dentro de {0} meses"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} mes","relativeTimePattern-count-other":"hace {0} meses"}},"month-short":{"displayName":"m","relative-type--1":"el mes pasado","relative-type-0":"este mes","relative-type-1":"el próximo mes","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} m","relativeTimePattern-count-other":"dentro de {0} m"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} m","relativeTimePattern-count-other":"hace {0} m"}},"month-narrow":{"displayName":"m","relative-type--1":"el mes pasado","relative-type-0":"este mes","relative-type-1":"el próximo mes","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} m","relativeTimePattern-count-other":"dentro de {0} m"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} m","relativeTimePattern-count-other":"hace {0} m"}},"week":{"displayName":"semana","relative-type--1":"la semana pasada","relative-type-0":"esta semana","relative-type-1":"la próxima semana","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} semana","relativeTimePattern-count-other":"dentro de {0} semanas"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} semana","relativeTimePattern-count-other":"hace {0} semanas"},"relativePeriod":"la semana del {0}"},"week-short":{"displayName":"sem.","relative-type--1":"sem. ant.","relative-type-0":"esta sem.","relative-type-1":"próx. sem.","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} sem.","relativeTimePattern-count-other":"dentro de {0} sem."},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} sem.","relativeTimePattern-count-other":"hace {0} sem."},"relativePeriod":"la sem. del {0}"},"week-narrow":{"displayName":"sem.","relative-type--1":"sem. ant.","relative-type-0":"esta sem.","relative-type-1":"próx. sem.","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} sem.","relativeTimePattern-count-other":"dentro de {0} sem."},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} sem.","relativeTimePattern-count-other":"hace {0} sem."},"relativePeriod":"la sem. del {0}"},"weekOfMonth":{"displayName":"semana del mes"},"weekOfMonth-short":{"displayName":"sem. de mes"},"weekOfMonth-narrow":{"displayName":"sem. de mes"},"day":{"displayName":"día","relative-type--2":"anteayer","relative-type--1":"ayer","relative-type-0":"hoy","relative-type-1":"mañana","relative-type-2":"pasado mañana","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} día","relativeTimePattern-count-other":"dentro de {0} días"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} día","relativeTimePattern-count-other":"hace {0} días"}},"day-short":{"displayName":"d","relative-type--2":"anteayer","relative-type--1":"ayer","relative-type-0":"hoy","relative-type-1":"mañana","relative-type-2":"pasado mañana","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} d","relativeTimePattern-count-other":"dentro de {0} d"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} d","relativeTimePattern-count-other":"hace {0} d"}},"day-narrow":{"displayName":"d","relative-type--2":"anteayer","relative-type--1":"ayer","relative-type-0":"hoy","relative-type-1":"mañana","relative-type-2":"pasado mañana","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} d","relativeTimePattern-count-other":"dentro de {0} d"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} d","relativeTimePattern-count-other":"hace {0} d"}},"dayOfYear":{"displayName":"día del año"},"dayOfYear-short":{"displayName":"día del a"},"dayOfYear-narrow":{"displayName":"día del a"},"weekday":{"displayName":"día de la semana"},"weekday-short":{"displayName":"día de sem."},"weekday-narrow":{"displayName":"día de sem."},"weekdayOfMonth":{"displayName":"día de la semana del mes"},"weekdayOfMonth-short":{"displayName":"día de sem. de mes"},"weekdayOfMonth-narrow":{"displayName":"día de sem. de mes"},"sun":{"relative-type--1":"el domingo pasado","relative-type-0":"este domingo","relative-type-1":"el próximo domingo","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} domingo","relativeTimePattern-count-other":"dentro de {0} domingos"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} domingo","relativeTimePattern-count-other":"hace {0} domingos"}},"sun-short":{"relative-type--1":"el dom. pasado","relative-type-0":"este dom.","relative-type-1":"el próximo dom.","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} dom.","relativeTimePattern-count-other":"dentro de {0} dom."},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} dom.","relativeTimePattern-count-other":"hace {0} dom."}},"sun-narrow":{"relative-type--1":"el DO pasado","relative-type-0":"este DO","relative-type-1":"el próximo DO","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} DO","relativeTimePattern-count-other":"dentro de {0} DO"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} DO","relativeTimePattern-count-other":"hace {0} DO"}},"mon":{"relative-type--1":"el lunes pasado","relative-type-0":"este lunes","relative-type-1":"el próximo lunes","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} lunes","relativeTimePattern-count-other":"dentro de {0} lunes"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} lunes","relativeTimePattern-count-other":"hace {0} lunes"}},"mon-short":{"relative-type--1":"el lun. pasado","relative-type-0":"este lun.","relative-type-1":"el próximo lun.","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} lun.","relativeTimePattern-count-other":"dentro de {0} lun."},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} lun.","relativeTimePattern-count-other":"hace {0} lun."}},"mon-narrow":{"relative-type--1":"el LU pasado","relative-type-0":"este LU","relative-type-1":"el próximo LU","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} LU","relativeTimePattern-count-other":"dentro de {0} LU"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} LU","relativeTimePattern-count-other":"hace {0} LU"}},"tue":{"relative-type--1":"el martes pasado","relative-type-0":"este martes","relative-type-1":"el próximo martes","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} martes","relativeTimePattern-count-other":"dentro de {0} martes"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} martes","relativeTimePattern-count-other":"hace {0} martes"}},"tue-short":{"relative-type--1":"el mar. pasado","relative-type-0":"este mar.","relative-type-1":"el próximo mar.","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} mar.","relativeTimePattern-count-other":"dentro de {0} mar."},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} mar.","relativeTimePattern-count-other":"hace {0} mar."}},"tue-narrow":{"relative-type--1":"el MA pasado","relative-type-0":"este MA","relative-type-1":"el próximo MA","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} MA","relativeTimePattern-count-other":"dentro de {0} MA"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} MA","relativeTimePattern-count-other":"hace {0} MA"}},"wed":{"relative-type--1":"el miércoles pasado","relative-type-0":"este miércoles","relative-type-1":"el próximo miércoles","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} miércoles","relativeTimePattern-count-other":"dentro de {0} miércoles"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} miércoles","relativeTimePattern-count-other":"hace {0} miércoles"}},"wed-short":{"relative-type--1":"el mié. pasado","relative-type-0":"este mié.","relative-type-1":"el próximo mié.","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} mié.","relativeTimePattern-count-other":"dentro de {0} mié."},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} mié.","relativeTimePattern-count-other":"hace {0} mié."}},"wed-narrow":{"relative-type--1":"el MI pasado","relative-type-0":"este MI","relative-type-1":"el próximo MI","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} MI","relativeTimePattern-count-other":"dentro de {0} MI"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} MI","relativeTimePattern-count-other":"hace {0} MI"}},"thu":{"relative-type--1":"el jueves pasado","relative-type-0":"este jueves","relative-type-1":"el próximo jueves","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} jueves","relativeTimePattern-count-other":"dentro de {0} jueves"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} jueves","relativeTimePattern-count-other":"hace {0} jueves"}},"thu-short":{"relative-type--1":"el jue. pasado","relative-type-0":"este jue.","relative-type-1":"el próximo jue.","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} jue.","relativeTimePattern-count-other":"dentro de {0} jue."},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} jue.","relativeTimePattern-count-other":"hace {0} jue."}},"thu-narrow":{"relative-type--1":"el JU pasado","relative-type-0":"este JU","relative-type-1":"el próximo JU","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} JU","relativeTimePattern-count-other":"dentro de {0} JU"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} JU","relativeTimePattern-count-other":"hace {0} JU"}},"fri":{"relative-type--1":"el viernes pasado","relative-type-0":"este viernes","relative-type-1":"el próximo viernes","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} viernes","relativeTimePattern-count-other":"dentro de {0} viernes"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} viernes","relativeTimePattern-count-other":"hace {0} viernes"}},"fri-short":{"relative-type--1":"el vie. pasado","relative-type-0":"este vie.","relative-type-1":"el próximo vie.","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} vie.","relativeTimePattern-count-other":"dentro de {0} vie."},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} vie.","relativeTimePattern-count-other":"hace {0} vie."}},"fri-narrow":{"relative-type--1":"el VI pasado","relative-type-0":"este VI","relative-type-1":"el próximo VI","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} VI","relativeTimePattern-count-other":"dentro de {0} VI"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} VI","relativeTimePattern-count-other":"hace {0} VI"}},"sat":{"relative-type--1":"el sábado pasado","relative-type-0":"este sábado","relative-type-1":"el próximo sábado","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} sábado","relativeTimePattern-count-other":"dentro de {0} sábados"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} sábado","relativeTimePattern-count-other":"hace {0} sábados"}},"sat-short":{"relative-type--1":"el sáb. pasado","relative-type-0":"este sáb.","relative-type-1":"el próximo sáb.","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} sáb.","relativeTimePattern-count-other":"dentro de {0} sáb."},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} sáb.","relativeTimePattern-count-other":"hace {0} sáb."}},"sat-narrow":{"relative-type--1":"el SA pasado","relative-type-0":"este SA","relative-type-1":"el próximo SA","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} SA","relativeTimePattern-count-other":"dentro de {0} SA"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} SA","relativeTimePattern-count-other":"hace {0} SA"}},"dayperiod-short":{"displayName":"a. m./p. m."},"dayperiod":{"displayName":"a. m./p. m."},"dayperiod-narrow":{"displayName":"a. m./p. m."},"hour":{"displayName":"hora","relative-type-0":"esta hora","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} hora","relativeTimePattern-count-other":"dentro de {0} horas"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} hora","relativeTimePattern-count-other":"hace {0} horas"}},"hour-short":{"displayName":"h","relative-type-0":"esta hora","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} h","relativeTimePattern-count-other":"dentro de {0} h"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} h","relativeTimePattern-count-other":"hace {0} h"}},"hour-narrow":{"displayName":"h","relative-type-0":"esta hora","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} h","relativeTimePattern-count-other":"dentro de {0} h"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} h","relativeTimePattern-count-other":"hace {0} h"}},"minute":{"displayName":"minuto","relative-type-0":"este minuto","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} minuto","relativeTimePattern-count-other":"dentro de {0} minutos"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} minuto","relativeTimePattern-count-other":"hace {0} minutos"}},"minute-short":{"displayName":"min","relative-type-0":"este minuto","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} min","relativeTimePattern-count-other":"dentro de {0} min"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} min","relativeTimePattern-count-other":"hace {0} min"}},"minute-narrow":{"displayName":"min","relative-type-0":"este minuto","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} min","relativeTimePattern-count-other":"dentro de {0} min"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} min","relativeTimePattern-count-other":"hace {0} min"}},"second":{"displayName":"segundo","relative-type-0":"ahora","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} segundo","relativeTimePattern-count-other":"dentro de {0} segundos"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} segundo","relativeTimePattern-count-other":"hace {0} segundos"}},"second-short":{"displayName":"s","relative-type-0":"ahora","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} s","relativeTimePattern-count-other":"dentro de {0} s"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} s","relativeTimePattern-count-other":"hace {0} s"}},"second-narrow":{"displayName":"s","relative-type-0":"ahora","relativeTime-type-future":{"relativeTimePattern-count-one":"dentro de {0} s","relativeTimePattern-count-other":"dentro de {0} s"},"relativeTime-type-past":{"relativeTimePattern-count-one":"hace {0} s","relativeTimePattern-count-other":"hace {0} s"}},"zone":{"displayName":"zona horaria"},"zone-short":{"displayName":"zona"},"zone-narrow":{"displayName":"zona"}}}}}}')},6889:function(t){"use strict";t.exports=JSON.parse('{"main":{"es":{"identity":{"version":{"_cldrVersion":"40"},"language":"es"},"dates":{"timeZoneNames":{"hourFormat":"+HH:mm;-HH:mm","gmtFormat":"GMT{0}","gmtZeroFormat":"GMT","regionFormat":"hora de {0}","regionFormat-type-daylight":"horario de verano de {0}","regionFormat-type-standard":"horario estándar de {0}","fallbackFormat":"{1} ({0})","zone":{"America":{"Adak":{"exemplarCity":"Adak"},"Anchorage":{"exemplarCity":"Anchorage"},"Anguilla":{"exemplarCity":"Anguila"},"Antigua":{"exemplarCity":"Antigua"},"Araguaina":{"exemplarCity":"Araguaína"},"Argentina":{"Rio_Gallegos":{"exemplarCity":"Río Gallegos"},"San_Juan":{"exemplarCity":"San Juan"},"Ushuaia":{"exemplarCity":"Ushuaia"},"La_Rioja":{"exemplarCity":"La Rioja"},"San_Luis":{"exemplarCity":"San Luis"},"Salta":{"exemplarCity":"Salta"},"Tucuman":{"exemplarCity":"Tucumán"}},"Aruba":{"exemplarCity":"Aruba"},"Asuncion":{"exemplarCity":"Asunción"},"Bahia":{"exemplarCity":"Bahía"},"Bahia_Banderas":{"exemplarCity":"Bahía de Banderas"},"Barbados":{"exemplarCity":"Barbados"},"Belem":{"exemplarCity":"Belén"},"Belize":{"exemplarCity":"Belice"},"Blanc-Sablon":{"exemplarCity":"Blanc-Sablon"},"Boa_Vista":{"exemplarCity":"Boa Vista"},"Bogota":{"exemplarCity":"Bogotá"},"Boise":{"exemplarCity":"Boise"},"Buenos_Aires":{"exemplarCity":"Buenos Aires"},"Cambridge_Bay":{"exemplarCity":"Cambridge Bay"},"Campo_Grande":{"exemplarCity":"Campo Grande"},"Cancun":{"exemplarCity":"Cancún"},"Caracas":{"exemplarCity":"Caracas"},"Catamarca":{"exemplarCity":"Catamarca"},"Cayenne":{"exemplarCity":"Cayena"},"Cayman":{"exemplarCity":"Caimán"},"Chicago":{"exemplarCity":"Chicago"},"Chihuahua":{"exemplarCity":"Chihuahua"},"Coral_Harbour":{"exemplarCity":"Atikokan"},"Cordoba":{"exemplarCity":"Córdoba"},"Costa_Rica":{"exemplarCity":"Costa Rica"},"Creston":{"exemplarCity":"Creston"},"Cuiaba":{"exemplarCity":"Cuiabá"},"Curacao":{"exemplarCity":"Curazao"},"Danmarkshavn":{"exemplarCity":"Danmarkshavn"},"Dawson":{"exemplarCity":"Dawson"},"Dawson_Creek":{"exemplarCity":"Dawson Creek"},"Denver":{"exemplarCity":"Denver"},"Detroit":{"exemplarCity":"Detroit"},"Dominica":{"exemplarCity":"Dominica"},"Edmonton":{"exemplarCity":"Edmonton"},"Eirunepe":{"exemplarCity":"Eirunepé"},"El_Salvador":{"exemplarCity":"El Salvador"},"Fort_Nelson":{"exemplarCity":"Fort Nelson"},"Fortaleza":{"exemplarCity":"Fortaleza"},"Glace_Bay":{"exemplarCity":"Glace Bay"},"Godthab":{"exemplarCity":"Nuuk"},"Goose_Bay":{"exemplarCity":"Goose Bay"},"Grand_Turk":{"exemplarCity":"Gran Turca"},"Grenada":{"exemplarCity":"Granada"},"Guadeloupe":{"exemplarCity":"Guadalupe"},"Guatemala":{"exemplarCity":"Guatemala"},"Guayaquil":{"exemplarCity":"Guayaquil"},"Guyana":{"exemplarCity":"Guyana"},"Halifax":{"exemplarCity":"Halifax"},"Havana":{"exemplarCity":"La Habana"},"Hermosillo":{"exemplarCity":"Hermosillo"},"Indiana":{"Vincennes":{"exemplarCity":"Vincennes, Indiana"},"Petersburg":{"exemplarCity":"Petersburg, Indiana"},"Tell_City":{"exemplarCity":"Tell City, Indiana"},"Knox":{"exemplarCity":"Knox, Indiana"},"Winamac":{"exemplarCity":"Winamac, Indiana"},"Marengo":{"exemplarCity":"Marengo, Indiana"},"Vevay":{"exemplarCity":"Vevay, Indiana"}},"Indianapolis":{"exemplarCity":"Indianápolis"},"Inuvik":{"exemplarCity":"Inuvik"},"Iqaluit":{"exemplarCity":"Iqaluit"},"Jamaica":{"exemplarCity":"Jamaica"},"Jujuy":{"exemplarCity":"Jujuy"},"Juneau":{"exemplarCity":"Juneau"},"Kentucky":{"Monticello":{"exemplarCity":"Monticello, Kentucky"}},"Kralendijk":{"exemplarCity":"Kralendijk"},"La_Paz":{"exemplarCity":"La Paz"},"Lima":{"exemplarCity":"Lima"},"Los_Angeles":{"exemplarCity":"Los Ángeles"},"Louisville":{"exemplarCity":"Louisville"},"Lower_Princes":{"exemplarCity":"Lower Prince’s Quarter"},"Maceio":{"exemplarCity":"Maceió"},"Managua":{"exemplarCity":"Managua"},"Manaus":{"exemplarCity":"Manaos"},"Marigot":{"exemplarCity":"Marigot"},"Martinique":{"exemplarCity":"Martinica"},"Matamoros":{"exemplarCity":"Matamoros"},"Mazatlan":{"exemplarCity":"Mazatlán"},"Mendoza":{"exemplarCity":"Mendoza"},"Menominee":{"exemplarCity":"Menominee"},"Merida":{"exemplarCity":"Mérida"},"Metlakatla":{"exemplarCity":"Metlakatla"},"Mexico_City":{"exemplarCity":"Ciudad de México"},"Miquelon":{"exemplarCity":"Miquelón"},"Moncton":{"exemplarCity":"Moncton"},"Monterrey":{"exemplarCity":"Monterrey"},"Montevideo":{"exemplarCity":"Montevideo"},"Montserrat":{"exemplarCity":"Montserrat"},"Nassau":{"exemplarCity":"Nassau"},"New_York":{"exemplarCity":"Nueva York"},"Nipigon":{"exemplarCity":"Nipigon"},"Nome":{"exemplarCity":"Nome"},"Noronha":{"exemplarCity":"Noronha"},"North_Dakota":{"Beulah":{"exemplarCity":"Beulah, Dakota del Norte"},"New_Salem":{"exemplarCity":"New Salem, Dakota del Norte"},"Center":{"exemplarCity":"Center, Dakota del Norte"}},"Ojinaga":{"exemplarCity":"Ojinaga"},"Panama":{"exemplarCity":"Panamá"},"Pangnirtung":{"exemplarCity":"Pangnirtung"},"Paramaribo":{"exemplarCity":"Paramaribo"},"Phoenix":{"exemplarCity":"Phoenix"},"Port-au-Prince":{"exemplarCity":"Puerto Príncipe"},"Port_of_Spain":{"exemplarCity":"Puerto España"},"Porto_Velho":{"exemplarCity":"Porto Velho"},"Puerto_Rico":{"exemplarCity":"Puerto Rico"},"Punta_Arenas":{"exemplarCity":"Punta Arenas"},"Rainy_River":{"exemplarCity":"Rainy River"},"Rankin_Inlet":{"exemplarCity":"Rankin Inlet"},"Recife":{"exemplarCity":"Recife"},"Regina":{"exemplarCity":"Regina"},"Resolute":{"exemplarCity":"Resolute"},"Rio_Branco":{"exemplarCity":"Río Branco"},"Santa_Isabel":{"exemplarCity":"Santa Isabel"},"Santarem":{"exemplarCity":"Santarém"},"Santiago":{"exemplarCity":"Santiago de Chile"},"Santo_Domingo":{"exemplarCity":"Santo Domingo"},"Sao_Paulo":{"exemplarCity":"São Paulo"},"Scoresbysund":{"exemplarCity":"Ittoqqortoormiit"},"Sitka":{"exemplarCity":"Sitka"},"St_Barthelemy":{"exemplarCity":"San Bartolomé"},"St_Johns":{"exemplarCity":"San Juan de Terranova"},"St_Kitts":{"exemplarCity":"San Cristóbal"},"St_Lucia":{"exemplarCity":"Santa Lucía"},"St_Thomas":{"exemplarCity":"St. Thomas"},"St_Vincent":{"exemplarCity":"San Vicente"},"Swift_Current":{"exemplarCity":"Swift Current"},"Tegucigalpa":{"exemplarCity":"Tegucigalpa"},"Thule":{"exemplarCity":"Thule"},"Thunder_Bay":{"exemplarCity":"Thunder Bay"},"Tijuana":{"exemplarCity":"Tijuana"},"Toronto":{"exemplarCity":"Toronto"},"Tortola":{"exemplarCity":"Tórtola"},"Vancouver":{"exemplarCity":"Vancouver"},"Whitehorse":{"exemplarCity":"Whitehorse"},"Winnipeg":{"exemplarCity":"Winnipeg"},"Yakutat":{"exemplarCity":"Yakutat"},"Yellowknife":{"exemplarCity":"Yellowknife"}},"Atlantic":{"Azores":{"exemplarCity":"Azores"},"Bermuda":{"exemplarCity":"Bermudas"},"Canary":{"exemplarCity":"Canarias"},"Cape_Verde":{"exemplarCity":"Cabo Verde"},"Faeroe":{"exemplarCity":"Islas Feroe"},"Madeira":{"exemplarCity":"Madeira"},"Reykjavik":{"exemplarCity":"Reikiavik"},"South_Georgia":{"exemplarCity":"Georgia del Sur"},"St_Helena":{"exemplarCity":"Santa Elena"},"Stanley":{"exemplarCity":"Stanley"}},"Europe":{"Amsterdam":{"exemplarCity":"Ámsterdam"},"Andorra":{"exemplarCity":"Andorra"},"Astrakhan":{"exemplarCity":"Astracán"},"Athens":{"exemplarCity":"Atenas"},"Belgrade":{"exemplarCity":"Belgrado"},"Berlin":{"exemplarCity":"Berlín"},"Bratislava":{"exemplarCity":"Bratislava"},"Brussels":{"exemplarCity":"Bruselas"},"Bucharest":{"exemplarCity":"Bucarest"},"Budapest":{"exemplarCity":"Budapest"},"Busingen":{"exemplarCity":"Busingen"},"Chisinau":{"exemplarCity":"Chisináu"},"Copenhagen":{"exemplarCity":"Copenhague"},"Dublin":{"long":{"daylight":"hora de verano de Irlanda"},"exemplarCity":"Dublín"},"Gibraltar":{"exemplarCity":"Gibraltar"},"Guernsey":{"exemplarCity":"Guernesey"},"Helsinki":{"exemplarCity":"Helsinki"},"Isle_of_Man":{"exemplarCity":"Isla de Man"},"Istanbul":{"exemplarCity":"Estambul"},"Jersey":{"exemplarCity":"Jersey"},"Kaliningrad":{"exemplarCity":"Kaliningrado"},"Kiev":{"exemplarCity":"Kiev"},"Kirov":{"exemplarCity":"Kírov"},"Lisbon":{"exemplarCity":"Lisboa"},"Ljubljana":{"exemplarCity":"Liubliana"},"London":{"long":{"daylight":"hora de verano británica"},"exemplarCity":"Londres"},"Luxembourg":{"exemplarCity":"Luxemburgo"},"Madrid":{"exemplarCity":"Madrid"},"Malta":{"exemplarCity":"Malta"},"Mariehamn":{"exemplarCity":"Mariehamn"},"Minsk":{"exemplarCity":"Minsk"},"Monaco":{"exemplarCity":"Mónaco"},"Moscow":{"exemplarCity":"Moscú"},"Oslo":{"exemplarCity":"Oslo"},"Paris":{"exemplarCity":"París"},"Podgorica":{"exemplarCity":"Podgorica"},"Prague":{"exemplarCity":"Praga"},"Riga":{"exemplarCity":"Riga"},"Rome":{"exemplarCity":"Roma"},"Samara":{"exemplarCity":"Samara"},"San_Marino":{"exemplarCity":"San Marino"},"Sarajevo":{"exemplarCity":"Sarajevo"},"Saratov":{"exemplarCity":"Sarátov"},"Simferopol":{"exemplarCity":"Simferópol"},"Skopje":{"exemplarCity":"Skopie"},"Sofia":{"exemplarCity":"Sofía"},"Stockholm":{"exemplarCity":"Estocolmo"},"Tallinn":{"exemplarCity":"Tallin"},"Tirane":{"exemplarCity":"Tirana"},"Ulyanovsk":{"exemplarCity":"Uliánovsk"},"Uzhgorod":{"exemplarCity":"Úzhgorod"},"Vaduz":{"exemplarCity":"Vaduz"},"Vatican":{"exemplarCity":"El Vaticano"},"Vienna":{"exemplarCity":"Viena"},"Vilnius":{"exemplarCity":"Vilna"},"Volgograd":{"exemplarCity":"Volgogrado"},"Warsaw":{"exemplarCity":"Varsovia"},"Zagreb":{"exemplarCity":"Zagreb"},"Zaporozhye":{"exemplarCity":"Zaporiyia"},"Zurich":{"exemplarCity":"Zúrich"}},"Africa":{"Abidjan":{"exemplarCity":"Abiyán"},"Accra":{"exemplarCity":"Acra"},"Addis_Ababa":{"exemplarCity":"Adís Abeba"},"Algiers":{"exemplarCity":"Argel"},"Asmera":{"exemplarCity":"Asmara"},"Bamako":{"exemplarCity":"Bamako"},"Bangui":{"exemplarCity":"Bangui"},"Banjul":{"exemplarCity":"Banjul"},"Bissau":{"exemplarCity":"Bisáu"},"Blantyre":{"exemplarCity":"Blantyre"},"Brazzaville":{"exemplarCity":"Brazzaville"},"Bujumbura":{"exemplarCity":"Bujumbura"},"Cairo":{"exemplarCity":"El Cairo"},"Casablanca":{"exemplarCity":"Casablanca"},"Ceuta":{"exemplarCity":"Ceuta"},"Conakry":{"exemplarCity":"Conakry"},"Dakar":{"exemplarCity":"Dakar"},"Dar_es_Salaam":{"exemplarCity":"Dar es-Salam"},"Djibouti":{"exemplarCity":"Yibuti"},"Douala":{"exemplarCity":"Duala"},"El_Aaiun":{"exemplarCity":"El Aaiún"},"Freetown":{"exemplarCity":"Freetown"},"Gaborone":{"exemplarCity":"Gaborone"},"Harare":{"exemplarCity":"Harare"},"Johannesburg":{"exemplarCity":"Johannesburgo"},"Juba":{"exemplarCity":"Juba"},"Kampala":{"exemplarCity":"Kampala"},"Khartoum":{"exemplarCity":"Jartum"},"Kigali":{"exemplarCity":"Kigali"},"Kinshasa":{"exemplarCity":"Kinshasa"},"Lagos":{"exemplarCity":"Lagos"},"Libreville":{"exemplarCity":"Libreville"},"Lome":{"exemplarCity":"Lomé"},"Luanda":{"exemplarCity":"Luanda"},"Lubumbashi":{"exemplarCity":"Lubumbashi"},"Lusaka":{"exemplarCity":"Lusaka"},"Malabo":{"exemplarCity":"Malabo"},"Maputo":{"exemplarCity":"Maputo"},"Maseru":{"exemplarCity":"Maseru"},"Mbabane":{"exemplarCity":"Mbabane"},"Mogadishu":{"exemplarCity":"Mogadiscio"},"Monrovia":{"exemplarCity":"Monrovia"},"Nairobi":{"exemplarCity":"Nairobi"},"Ndjamena":{"exemplarCity":"Yamena"},"Niamey":{"exemplarCity":"Niamey"},"Nouakchott":{"exemplarCity":"Nuakchot"},"Ouagadougou":{"exemplarCity":"Uagadugú"},"Porto-Novo":{"exemplarCity":"Portonovo"},"Sao_Tome":{"exemplarCity":"Santo Tomé"},"Tripoli":{"exemplarCity":"Trípoli"},"Tunis":{"exemplarCity":"Túnez"},"Windhoek":{"exemplarCity":"Windhoek"}},"Asia":{"Aden":{"exemplarCity":"Adén"},"Almaty":{"exemplarCity":"Almaty"},"Amman":{"exemplarCity":"Ammán"},"Anadyr":{"exemplarCity":"Anádyr"},"Aqtau":{"exemplarCity":"Aktau"},"Aqtobe":{"exemplarCity":"Aktobe"},"Ashgabat":{"exemplarCity":"Asjabad"},"Atyrau":{"exemplarCity":"Atyrau"},"Baghdad":{"exemplarCity":"Bagdad"},"Bahrain":{"exemplarCity":"Baréin"},"Baku":{"exemplarCity":"Bakú"},"Bangkok":{"exemplarCity":"Bangkok"},"Barnaul":{"exemplarCity":"Barnaúl"},"Beirut":{"exemplarCity":"Beirut"},"Bishkek":{"exemplarCity":"Bishkek"},"Brunei":{"exemplarCity":"Brunéi"},"Calcutta":{"exemplarCity":"Calcuta"},"Chita":{"exemplarCity":"Chitá"},"Choibalsan":{"exemplarCity":"Choibalsan"},"Colombo":{"exemplarCity":"Colombo"},"Damascus":{"exemplarCity":"Damasco"},"Dhaka":{"exemplarCity":"Daca"},"Dili":{"exemplarCity":"Dili"},"Dubai":{"exemplarCity":"Dubái"},"Dushanbe":{"exemplarCity":"Dusambé"},"Famagusta":{"exemplarCity":"Famagusta"},"Gaza":{"exemplarCity":"Gaza"},"Hebron":{"exemplarCity":"Hebrón"},"Hong_Kong":{"exemplarCity":"Hong Kong"},"Hovd":{"exemplarCity":"Hovd"},"Irkutsk":{"exemplarCity":"Irkutsk"},"Jakarta":{"exemplarCity":"Yakarta"},"Jayapura":{"exemplarCity":"Jayapura"},"Jerusalem":{"exemplarCity":"Jerusalén"},"Kabul":{"exemplarCity":"Kabul"},"Kamchatka":{"exemplarCity":"Kamchatka"},"Karachi":{"exemplarCity":"Karachi"},"Katmandu":{"exemplarCity":"Katmandú"},"Khandyga":{"exemplarCity":"Khandyga"},"Krasnoyarsk":{"exemplarCity":"Krasnoyarsk"},"Kuala_Lumpur":{"exemplarCity":"Kuala Lumpur"},"Kuching":{"exemplarCity":"Kuching"},"Kuwait":{"exemplarCity":"Kuwait"},"Macau":{"exemplarCity":"Macao"},"Magadan":{"exemplarCity":"Magadán"},"Makassar":{"exemplarCity":"Makasar"},"Manila":{"exemplarCity":"Manila"},"Muscat":{"exemplarCity":"Mascate"},"Nicosia":{"exemplarCity":"Nicosia"},"Novokuznetsk":{"exemplarCity":"Novokuznetsk"},"Novosibirsk":{"exemplarCity":"Novosibirsk"},"Omsk":{"exemplarCity":"Omsk"},"Oral":{"exemplarCity":"Oral"},"Phnom_Penh":{"exemplarCity":"Phnom Penh"},"Pontianak":{"exemplarCity":"Pontianak"},"Pyongyang":{"exemplarCity":"Pyongyang"},"Qatar":{"exemplarCity":"Catar"},"Qostanay":{"exemplarCity":"Kostanái"},"Qyzylorda":{"exemplarCity":"Kyzylorda"},"Rangoon":{"exemplarCity":"Yangón (Rangún)"},"Riyadh":{"exemplarCity":"Riad"},"Saigon":{"exemplarCity":"Ciudad Ho Chi Minh"},"Sakhalin":{"exemplarCity":"Sajalín"},"Samarkand":{"exemplarCity":"Samarcanda"},"Seoul":{"exemplarCity":"Seúl"},"Shanghai":{"exemplarCity":"Shanghái"},"Singapore":{"exemplarCity":"Singapur"},"Srednekolymsk":{"exemplarCity":"Srednekolimsk"},"Taipei":{"exemplarCity":"Taipéi"},"Tashkent":{"exemplarCity":"Taskent"},"Tbilisi":{"exemplarCity":"Tiflis"},"Tehran":{"exemplarCity":"Teherán"},"Thimphu":{"exemplarCity":"Timbu"},"Tokyo":{"exemplarCity":"Tokio"},"Tomsk":{"exemplarCity":"Tomsk"},"Ulaanbaatar":{"exemplarCity":"Ulán Bator"},"Urumqi":{"exemplarCity":"Ürümqi"},"Ust-Nera":{"exemplarCity":"Ust-Nera"},"Vientiane":{"exemplarCity":"Vientián"},"Vladivostok":{"exemplarCity":"Vladivostok"},"Yakutsk":{"exemplarCity":"Yakutsk"},"Yekaterinburg":{"exemplarCity":"Ekaterimburgo"},"Yerevan":{"exemplarCity":"Ereván"}},"Indian":{"Antananarivo":{"exemplarCity":"Antananarivo"},"Chagos":{"exemplarCity":"Chagos"},"Christmas":{"exemplarCity":"Navidad"},"Cocos":{"exemplarCity":"Cocos"},"Comoro":{"exemplarCity":"Comoras"},"Kerguelen":{"exemplarCity":"Kerguelen"},"Mahe":{"exemplarCity":"Mahé"},"Maldives":{"exemplarCity":"Maldivas"},"Mauritius":{"exemplarCity":"Mauricio"},"Mayotte":{"exemplarCity":"Mayotte"},"Reunion":{"exemplarCity":"Reunión"}},"Australia":{"Adelaide":{"exemplarCity":"Adelaida"},"Brisbane":{"exemplarCity":"Brisbane"},"Broken_Hill":{"exemplarCity":"Broken Hill"},"Currie":{"exemplarCity":"Currie"},"Darwin":{"exemplarCity":"Darwin"},"Eucla":{"exemplarCity":"Eucla"},"Hobart":{"exemplarCity":"Hobart"},"Lindeman":{"exemplarCity":"Lindeman"},"Lord_Howe":{"exemplarCity":"Lord Howe"},"Melbourne":{"exemplarCity":"Melbourne"},"Perth":{"exemplarCity":"Perth"},"Sydney":{"exemplarCity":"Sídney"}},"Pacific":{"Apia":{"exemplarCity":"Apia"},"Auckland":{"exemplarCity":"Auckland"},"Bougainville":{"exemplarCity":"Bougainville"},"Chatham":{"exemplarCity":"Chatham"},"Easter":{"exemplarCity":"Isla de Pascua"},"Efate":{"exemplarCity":"Efate"},"Enderbury":{"exemplarCity":"Enderbury"},"Fakaofo":{"exemplarCity":"Fakaofo"},"Fiji":{"exemplarCity":"Fiyi"},"Funafuti":{"exemplarCity":"Funafuti"},"Galapagos":{"exemplarCity":"Galápagos"},"Gambier":{"exemplarCity":"Gambier"},"Guadalcanal":{"exemplarCity":"Guadalcanal"},"Guam":{"exemplarCity":"Guam"},"Honolulu":{"exemplarCity":"Honolulú"},"Johnston":{"exemplarCity":"Johnston"},"Kiritimati":{"exemplarCity":"Kiritimati"},"Kosrae":{"exemplarCity":"Kosrae"},"Kwajalein":{"exemplarCity":"Kwajalein"},"Majuro":{"exemplarCity":"Majuro"},"Marquesas":{"exemplarCity":"Marquesas"},"Midway":{"exemplarCity":"Midway"},"Nauru":{"exemplarCity":"Nauru"},"Niue":{"exemplarCity":"Niue"},"Norfolk":{"exemplarCity":"Norfolk"},"Noumea":{"exemplarCity":"Numea"},"Pago_Pago":{"exemplarCity":"Pago Pago"},"Palau":{"exemplarCity":"Palaos"},"Pitcairn":{"exemplarCity":"Pitcairn"},"Ponape":{"exemplarCity":"Pohnpei"},"Port_Moresby":{"exemplarCity":"Port Moresby"},"Rarotonga":{"exemplarCity":"Rarotonga"},"Saipan":{"exemplarCity":"Saipán"},"Tahiti":{"exemplarCity":"Tahití"},"Tarawa":{"exemplarCity":"Tarawa"},"Tongatapu":{"exemplarCity":"Tongatapu"},"Truk":{"exemplarCity":"Chuuk"},"Wake":{"exemplarCity":"Wake"},"Wallis":{"exemplarCity":"Wallis"}},"Arctic":{"Longyearbyen":{"exemplarCity":"Longyearbyen"}},"Antarctica":{"Casey":{"exemplarCity":"Casey"},"Davis":{"exemplarCity":"Davis"},"DumontDUrville":{"exemplarCity":"Dumont d’Urville"},"Macquarie":{"exemplarCity":"Macquarie"},"Mawson":{"exemplarCity":"Mawson"},"McMurdo":{"exemplarCity":"McMurdo"},"Palmer":{"exemplarCity":"Palmer"},"Rothera":{"exemplarCity":"Rothera"},"Syowa":{"exemplarCity":"Syowa"},"Troll":{"exemplarCity":"Troll"},"Vostok":{"exemplarCity":"Vostok"}},"Etc":{"UTC":{"long":{"standard":"tiempo universal coordinado"},"short":{"standard":"UTC"}},"Unknown":{"exemplarCity":"Ciudad desconocida"}}},"metazone":{"Acre":{"long":{"generic":"Hora de Acre","standard":"Hora estándar de Acre","daylight":"Hora de verano de Acre"}},"Afghanistan":{"long":{"standard":"hora de Afganistán"}},"Africa_Central":{"long":{"standard":"hora de África central"}},"Africa_Eastern":{"long":{"standard":"hora de África oriental"}},"Africa_Southern":{"long":{"standard":"hora de Sudáfrica"}},"Africa_Western":{"long":{"generic":"hora de África occidental","standard":"hora estándar de África occidental","daylight":"hora de verano de África occidental"}},"Alaska":{"long":{"generic":"hora de Alaska","standard":"hora estándar de Alaska","daylight":"hora de verano de Alaska"}},"Amazon":{"long":{"generic":"hora del Amazonas","standard":"hora estándar del Amazonas","daylight":"hora de verano del Amazonas"}},"America_Central":{"long":{"generic":"hora central","standard":"hora estándar central","daylight":"hora de verano central"}},"America_Eastern":{"long":{"generic":"hora oriental","standard":"hora estándar oriental","daylight":"hora de verano oriental"}},"America_Mountain":{"long":{"generic":"hora de las Montañas Rocosas","standard":"hora estándar de las Montañas Rocosas","daylight":"hora de verano de las Montañas Rocosas"}},"America_Pacific":{"long":{"generic":"hora del Pacífico","standard":"hora estándar del Pacífico","daylight":"hora de verano del Pacífico"}},"Anadyr":{"long":{"generic":"hora de Anadyr","standard":"hora estándar de Anadyr","daylight":"hora de verano de Anadyr"}},"Apia":{"long":{"generic":"hora de Apia","standard":"hora estándar de Apia","daylight":"horario de verano de Apia"}},"Aqtau":{"long":{"generic":"Hora de Aktau","standard":"Hora estándar de Aktau","daylight":"Hora de verano de Aktau"}},"Aqtobe":{"long":{"generic":"Hora de Aktobe","standard":"Hora estándar de Aktobe","daylight":"Hora de verano de Aktobe"}},"Arabian":{"long":{"generic":"hora de Arabia","standard":"hora estándar de Arabia","daylight":"hora de verano de Arabia"}},"Argentina":{"long":{"generic":"hora de Argentina","standard":"hora estándar de Argentina","daylight":"hora de verano de Argentina"}},"Argentina_Western":{"long":{"generic":"hora de Argentina occidental","standard":"hora estándar de Argentina occidental","daylight":"hora de verano de Argentina occidental"}},"Armenia":{"long":{"generic":"hora de Armenia","standard":"hora estándar de Armenia","daylight":"hora de verano de Armenia"}},"Atlantic":{"long":{"generic":"hora del Atlántico","standard":"hora estándar del Atlántico","daylight":"hora de verano del Atlántico"}},"Australia_Central":{"long":{"generic":"hora de Australia central","standard":"hora estándar de Australia central","daylight":"hora de verano de Australia central"}},"Australia_CentralWestern":{"long":{"generic":"hora de Australia centroccidental","standard":"hora estándar de Australia centroccidental","daylight":"hora de verano de Australia centroccidental"}},"Australia_Eastern":{"long":{"generic":"hora de Australia oriental","standard":"hora estándar de Australia oriental","daylight":"hora de verano de Australia oriental"}},"Australia_Western":{"long":{"generic":"hora de Australia occidental","standard":"hora estándar de Australia occidental","daylight":"hora de verano de Australia occidental"}},"Azerbaijan":{"long":{"generic":"hora de Azerbaiyán","standard":"hora estándar de Azerbaiyán","daylight":"hora de verano de Azerbaiyán"}},"Azores":{"long":{"generic":"hora de las Azores","standard":"hora estándar de las Azores","daylight":"hora de verano de las Azores"}},"Bangladesh":{"long":{"generic":"hora de Bangladés","standard":"hora estándar de Bangladés","daylight":"hora de verano de Bangladés"}},"Bhutan":{"long":{"standard":"hora de Bután"}},"Bolivia":{"long":{"standard":"hora de Bolivia"}},"Brasilia":{"long":{"generic":"hora de Brasilia","standard":"hora estándar de Brasilia","daylight":"hora de verano de Brasilia"}},"Brunei":{"long":{"standard":"hora de Brunéi"}},"Cape_Verde":{"long":{"generic":"hora de Cabo Verde","standard":"hora estándar de Cabo Verde","daylight":"hora de verano de Cabo Verde"}},"Chamorro":{"long":{"standard":"hora estándar de Chamorro"}},"Chatham":{"long":{"generic":"hora de Chatham","standard":"hora estándar de Chatham","daylight":"hora de verano de Chatham"}},"Chile":{"long":{"generic":"hora de Chile","standard":"hora estándar de Chile","daylight":"hora de verano de Chile"}},"China":{"long":{"generic":"hora de China","standard":"hora estándar de China","daylight":"hora de verano de China"}},"Choibalsan":{"long":{"generic":"hora de Choibalsan","standard":"hora estándar de Choibalsan","daylight":"hora de verano de Choibalsan"}},"Christmas":{"long":{"standard":"hora de la Isla de Navidad"}},"Cocos":{"long":{"standard":"hora de las Islas Cocos"}},"Colombia":{"long":{"generic":"hora de Colombia","standard":"hora estándar de Colombia","daylight":"hora de verano de Colombia"}},"Cook":{"long":{"generic":"hora de las Islas Cook","standard":"hora estándar de las Islas Cook","daylight":"hora de verano media de las Islas Cook"}},"Cuba":{"long":{"generic":"hora de Cuba","standard":"hora estándar de Cuba","daylight":"hora de verano de Cuba"}},"Davis":{"long":{"standard":"hora de Davis"}},"DumontDUrville":{"long":{"standard":"hora de Dumont-d’Urville"}},"East_Timor":{"long":{"standard":"hora de Timor Oriental"}},"Easter":{"long":{"generic":"hora de la isla de Pascua","standard":"hora estándar de la isla de Pascua","daylight":"hora de verano de la isla de Pascua"}},"Ecuador":{"long":{"standard":"hora de Ecuador"}},"Europe_Central":{"long":{"generic":"hora de Europa central","standard":"hora estándar de Europa central","daylight":"hora de verano de Europa central"},"short":{"generic":"CET","standard":"CET","daylight":"CEST"}},"Europe_Eastern":{"long":{"generic":"hora de Europa oriental","standard":"hora estándar de Europa oriental","daylight":"hora de verano de Europa oriental"},"short":{"generic":"EET","standard":"EET","daylight":"EEST"}},"Europe_Further_Eastern":{"long":{"standard":"hora del extremo oriental de Europa"}},"Europe_Western":{"long":{"generic":"hora de Europa occidental","standard":"hora estándar de Europa occidental","daylight":"hora de verano de Europa occidental"},"short":{"generic":"WET","standard":"WET","daylight":"WEST"}},"Falkland":{"long":{"generic":"hora de las islas Malvinas","standard":"hora estándar de las islas Malvinas","daylight":"hora de verano de las islas Malvinas"}},"Fiji":{"long":{"generic":"hora de Fiyi","standard":"hora estándar de Fiyi","daylight":"hora de verano de Fiyi"}},"French_Guiana":{"long":{"standard":"hora de la Guayana Francesa"}},"French_Southern":{"long":{"standard":"hora de Antártida y Territorios Australes Franceses"}},"Galapagos":{"long":{"standard":"hora de Galápagos"}},"Gambier":{"long":{"standard":"hora de Gambier"}},"Georgia":{"long":{"generic":"hora de Georgia","standard":"hora estándar de Georgia","daylight":"hora de verano de Georgia"}},"Gilbert_Islands":{"long":{"standard":"hora de las islas Gilbert"}},"GMT":{"long":{"standard":"hora del meridiano de Greenwich"},"short":{"standard":"GMT"}},"Greenland_Eastern":{"long":{"generic":"hora de Groenlandia oriental","standard":"hora estándar de Groenlandia oriental","daylight":"hora de verano de Groenlandia oriental"}},"Greenland_Western":{"long":{"generic":"hora de Groenlandia occidental","standard":"hora estándar de Groenlandia occidental","daylight":"hora de verano de Groenlandia occidental"}},"Guam":{"long":{"standard":"Hora estándar de Guam"}},"Gulf":{"long":{"standard":"hora estándar del Golfo"}},"Guyana":{"long":{"standard":"hora de Guyana"}},"Hawaii_Aleutian":{"long":{"generic":"hora de Hawái-Aleutianas","standard":"hora estándar de Hawái-Aleutianas","daylight":"hora de verano de Hawái-Aleutianas"}},"Hong_Kong":{"long":{"generic":"hora de Hong Kong","standard":"hora estándar de Hong Kong","daylight":"hora de verano de Hong Kong"}},"Hovd":{"long":{"generic":"hora de Hovd","standard":"hora estándar de Hovd","daylight":"hora de verano de Hovd"}},"India":{"long":{"standard":"hora estándar de la India"}},"Indian_Ocean":{"long":{"standard":"hora del océano Índico"}},"Indochina":{"long":{"standard":"hora de Indochina"}},"Indonesia_Central":{"long":{"standard":"hora de Indonesia central"}},"Indonesia_Eastern":{"long":{"standard":"hora de Indonesia oriental"}},"Indonesia_Western":{"long":{"standard":"hora de Indonesia occidental"}},"Iran":{"long":{"generic":"hora de Irán","standard":"hora estándar de Irán","daylight":"hora de verano de Irán"}},"Irkutsk":{"long":{"generic":"hora de Irkutsk","standard":"hora estándar de Irkutsk","daylight":"hora de verano de Irkutsk"}},"Israel":{"long":{"generic":"hora de Israel","standard":"hora estándar de Israel","daylight":"hora de verano de Israel"}},"Japan":{"long":{"generic":"hora de Japón","standard":"hora estándar de Japón","daylight":"hora de verano de Japón"}},"Kamchatka":{"long":{"generic":"hora de Kamchatka","standard":"hora estándar de Kamchatka","daylight":"hora de verano de Kamchatka"}},"Kazakhstan_Eastern":{"long":{"standard":"hora de Kazajistán oriental"}},"Kazakhstan_Western":{"long":{"standard":"hora de Kazajistán occidental"}},"Korea":{"long":{"generic":"hora de Corea","standard":"hora estándar de Corea","daylight":"hora de verano de Corea"}},"Kosrae":{"long":{"standard":"hora de Kosrae"}},"Krasnoyarsk":{"long":{"generic":"hora de Krasnoyarsk","standard":"hora estándar de Krasnoyarsk","daylight":"hora de verano de Krasnoyarsk"}},"Kyrgystan":{"long":{"standard":"hora de Kirguistán"}},"Lanka":{"long":{"standard":"Hora de Sri Lanka"}},"Line_Islands":{"long":{"standard":"hora de las Espóradas Ecuatoriales"}},"Lord_Howe":{"long":{"generic":"hora de Lord Howe","standard":"hora estándar de Lord Howe","daylight":"hora de verano de Lord Howe"}},"Macau":{"long":{"generic":"Hora de Macao","standard":"Hora estándar de Macao","daylight":"Hora de verano de Macao"}},"Macquarie":{"long":{"standard":"hora de la isla Macquarie"}},"Magadan":{"long":{"generic":"hora de Magadán","standard":"hora estándar de Magadán","daylight":"hora de verano de Magadán"}},"Malaysia":{"long":{"standard":"hora de Malasia"}},"Maldives":{"long":{"standard":"hora de Maldivas"}},"Marquesas":{"long":{"standard":"hora de Marquesas"}},"Marshall_Islands":{"long":{"standard":"hora de las Islas Marshall"}},"Mauritius":{"long":{"generic":"hora de Mauricio","standard":"hora estándar de Mauricio","daylight":"hora de verano de Mauricio"}},"Mawson":{"long":{"standard":"hora de Mawson"}},"Mexico_Northwest":{"long":{"generic":"hora del noroeste de México","standard":"hora estándar del noroeste de México","daylight":"hora de verano del noroeste de México"}},"Mexico_Pacific":{"long":{"generic":"hora del Pacífico de México","standard":"hora estándar del Pacífico de México","daylight":"hora de verano del Pacífico de México"}},"Mongolia":{"long":{"generic":"hora de Ulán Bator","standard":"hora estándar de Ulán Bator","daylight":"hora de verano de Ulán Bator"}},"Moscow":{"long":{"generic":"hora de Moscú","standard":"hora estándar de Moscú","daylight":"hora de verano de Moscú"}},"Myanmar":{"long":{"standard":"hora de Myanmar"}},"Nauru":{"long":{"standard":"hora de Nauru"}},"Nepal":{"long":{"standard":"hora de Nepal"}},"New_Caledonia":{"long":{"generic":"hora de Nueva Caledonia","standard":"hora estándar de Nueva Caledonia","daylight":"hora de verano de Nueva Caledonia"}},"New_Zealand":{"long":{"generic":"hora de Nueva Zelanda","standard":"hora estándar de Nueva Zelanda","daylight":"hora de verano de Nueva Zelanda"}},"Newfoundland":{"long":{"generic":"hora de Terranova","standard":"hora estándar de Terranova","daylight":"hora de verano de Terranova"}},"Niue":{"long":{"standard":"hora de Niue"}},"Norfolk":{"long":{"generic":"hora de la isla Norfolk","standard":"hora estándar de la isla Norfolk","daylight":"hora de verano de la isla Norfolk"}},"Noronha":{"long":{"generic":"hora de Fernando de Noronha","standard":"hora estándar de Fernando de Noronha","daylight":"hora de verano de Fernando de Noronha"}},"North_Mariana":{"long":{"standard":"Hora de las Islas Marianas del Norte"}},"Novosibirsk":{"long":{"generic":"hora de Novosibirsk","standard":"hora estándar de Novosibirsk","daylight":"hora de verano de Novosibirsk"}},"Omsk":{"long":{"generic":"hora de Omsk","standard":"hora estándar de Omsk","daylight":"hora de verano de Omsk"}},"Pakistan":{"long":{"generic":"hora de Pakistán","standard":"hora estándar de Pakistán","daylight":"hora de verano de Pakistán"}},"Palau":{"long":{"standard":"hora de Palaos"}},"Papua_New_Guinea":{"long":{"standard":"hora de Papúa Nueva Guinea"}},"Paraguay":{"long":{"generic":"hora de Paraguay","standard":"hora estándar de Paraguay","daylight":"hora de verano de Paraguay"}},"Peru":{"long":{"generic":"hora de Perú","standard":"hora estándar de Perú","daylight":"hora de verano de Perú"}},"Philippines":{"long":{"generic":"hora de Filipinas","standard":"hora estándar de Filipinas","daylight":"hora de verano de Filipinas"}},"Phoenix_Islands":{"long":{"standard":"hora de las Islas Fénix"}},"Pierre_Miquelon":{"long":{"generic":"hora de San Pedro y Miquelón","standard":"hora estándar de San Pedro y Miquelón","daylight":"hora de verano de San Pedro y Miquelón"}},"Pitcairn":{"long":{"standard":"hora de Pitcairn"}},"Ponape":{"long":{"standard":"hora de Pohnpei"}},"Pyongyang":{"long":{"standard":"hora de Pyongyang"}},"Qyzylorda":{"long":{"generic":"Hora de Qyzylorda","standard":"Hora estándar de Qyzylorda","daylight":"Hora de verano de Qyzylorda"}},"Reunion":{"long":{"standard":"hora de Reunión"}},"Rothera":{"long":{"standard":"hora de Rothera"}},"Sakhalin":{"long":{"generic":"hora de Sajalín","standard":"hora estándar de Sajalín","daylight":"hora de verano de Sajalín"}},"Samara":{"long":{"generic":"hora de Samara","standard":"hora estándar de Samara","daylight":"hora de verano de Samara"}},"Samoa":{"long":{"generic":"hora de Samoa","standard":"hora estándar de Samoa","daylight":"hora de verano de Samoa"}},"Seychelles":{"long":{"standard":"hora de Seychelles"}},"Singapore":{"long":{"standard":"hora de Singapur"}},"Solomon":{"long":{"standard":"hora de las Islas Salomón"}},"South_Georgia":{"long":{"standard":"hora de Georgia del Sur"}},"Suriname":{"long":{"standard":"hora de Surinam"}},"Syowa":{"long":{"standard":"hora de Syowa"}},"Tahiti":{"long":{"standard":"hora de Tahití"}},"Taipei":{"long":{"generic":"hora de Taipéi","standard":"hora estándar de Taipéi","daylight":"hora de verano de Taipéi"}},"Tajikistan":{"long":{"standard":"hora de Tayikistán"}},"Tokelau":{"long":{"standard":"hora de Tokelau"}},"Tonga":{"long":{"generic":"hora de Tonga","standard":"hora estándar de Tonga","daylight":"hora de verano de Tonga"}},"Truk":{"long":{"standard":"hora de Chuuk"}},"Turkmenistan":{"long":{"generic":"hora de Turkmenistán","standard":"hora estándar de Turkmenistán","daylight":"hora de verano de Turkmenistán"}},"Tuvalu":{"long":{"standard":"hora de Tuvalu"}},"Uruguay":{"long":{"generic":"hora de Uruguay","standard":"hora estándar de Uruguay","daylight":"hora de verano de Uruguay"}},"Uzbekistan":{"long":{"generic":"hora de Uzbekistán","standard":"hora estándar de Uzbekistán","daylight":"hora de verano de Uzbekistán"}},"Vanuatu":{"long":{"generic":"hora de Vanuatu","standard":"hora estándar de Vanuatu","daylight":"hora de verano de Vanuatu"}},"Venezuela":{"long":{"standard":"hora de Venezuela"}},"Vladivostok":{"long":{"generic":"hora de Vladivostok","standard":"hora estándar de Vladivostok","daylight":"hora de verano de Vladivostok"}},"Volgograd":{"long":{"generic":"hora de Volgogrado","standard":"hora estándar de Volgogrado","daylight":"hora de verano de Volgogrado"}},"Vostok":{"long":{"standard":"hora de Vostok"}},"Wake":{"long":{"standard":"hora de la isla Wake"}},"Wallis":{"long":{"standard":"hora de Wallis y Futuna"}},"Yakutsk":{"long":{"generic":"hora de Yakutsk","standard":"hora estándar de Yakutsk","daylight":"hora de verano de Yakutsk"}},"Yekaterinburg":{"long":{"generic":"hora de Ekaterimburgo","standard":"hora estándar de Ekaterimburgo","daylight":"hora de verano de Ekaterimburgo"}},"Yukon":{"long":{"standard":"hora de Yukón"}}}}}}}}')},6417:function(t){"use strict";t.exports=JSON.parse('{"main":{"fr":{"identity":{"version":{"_cldrVersion":"40"},"language":"fr"},"dates":{"calendars":{"gregorian":{"months":{"format":{"abbreviated":{"1":"janv.","2":"févr.","3":"mars","4":"avr.","5":"mai","6":"juin","7":"juil.","8":"août","9":"sept.","10":"oct.","11":"nov.","12":"déc."},"narrow":{"1":"J","2":"F","3":"M","4":"A","5":"M","6":"J","7":"J","8":"A","9":"S","10":"O","11":"N","12":"D"},"wide":{"1":"janvier","2":"février","3":"mars","4":"avril","5":"mai","6":"juin","7":"juillet","8":"août","9":"septembre","10":"octobre","11":"novembre","12":"décembre"}},"stand-alone":{"abbreviated":{"1":"janv.","2":"févr.","3":"mars","4":"avr.","5":"mai","6":"juin","7":"juil.","8":"août","9":"sept.","10":"oct.","11":"nov.","12":"déc."},"narrow":{"1":"J","2":"F","3":"M","4":"A","5":"M","6":"J","7":"J","8":"A","9":"S","10":"O","11":"N","12":"D"},"wide":{"1":"janvier","2":"février","3":"mars","4":"avril","5":"mai","6":"juin","7":"juillet","8":"août","9":"septembre","10":"octobre","11":"novembre","12":"décembre"}}},"days":{"format":{"abbreviated":{"sun":"dim.","mon":"lun.","tue":"mar.","wed":"mer.","thu":"jeu.","fri":"ven.","sat":"sam."},"narrow":{"sun":"D","mon":"L","tue":"M","wed":"M","thu":"J","fri":"V","sat":"S"},"short":{"sun":"di","mon":"lu","tue":"ma","wed":"me","thu":"je","fri":"ve","sat":"sa"},"wide":{"sun":"dimanche","mon":"lundi","tue":"mardi","wed":"mercredi","thu":"jeudi","fri":"vendredi","sat":"samedi"}},"stand-alone":{"abbreviated":{"sun":"dim.","mon":"lun.","tue":"mar.","wed":"mer.","thu":"jeu.","fri":"ven.","sat":"sam."},"narrow":{"sun":"D","mon":"L","tue":"M","wed":"M","thu":"J","fri":"V","sat":"S"},"short":{"sun":"di","mon":"lu","tue":"ma","wed":"me","thu":"je","fri":"ve","sat":"sa"},"wide":{"sun":"dimanche","mon":"lundi","tue":"mardi","wed":"mercredi","thu":"jeudi","fri":"vendredi","sat":"samedi"}}},"quarters":{"format":{"abbreviated":{"1":"T1","2":"T2","3":"T3","4":"T4"},"narrow":{"1":"1","2":"2","3":"3","4":"4"},"wide":{"1":"1er trimestre","2":"2e trimestre","3":"3e trimestre","4":"4e trimestre"}},"stand-alone":{"abbreviated":{"1":"T1","2":"T2","3":"T3","4":"T4"},"narrow":{"1":"1","2":"2","3":"3","4":"4"},"wide":{"1":"1er trimestre","2":"2e trimestre","3":"3e trimestre","4":"4e trimestre"}}},"dayPeriods":{"format":{"abbreviated":{"midnight":"minuit","am":"AM","noon":"midi","pm":"PM","morning1":"mat.","afternoon1":"ap.m.","evening1":"soir","night1":"nuit"},"narrow":{"midnight":"minuit","am":"AM","noon":"midi","pm":"PM","morning1":"mat.","afternoon1":"ap.m.","evening1":"soir","night1":"nuit"},"wide":{"midnight":"minuit","am":"AM","noon":"midi","pm":"PM","morning1":"du matin","afternoon1":"de l’après-midi","evening1":"du soir","night1":"du matin"}},"stand-alone":{"abbreviated":{"midnight":"minuit","am":"AM","noon":"midi","pm":"PM","morning1":"mat.","afternoon1":"ap.m.","evening1":"soir","night1":"nuit"},"narrow":{"midnight":"minuit","am":"AM","noon":"midi","pm":"PM","morning1":"mat.","afternoon1":"ap.m.","evening1":"soir","night1":"nuit"},"wide":{"midnight":"minuit","am":"AM","noon":"midi","pm":"PM","morning1":"matin","afternoon1":"après-midi","evening1":"soir","night1":"nuit"}}},"eras":{"eraNames":{"0":"avant Jésus-Christ","1":"après Jésus-Christ","0-alt-variant":"avant l’ère commune","1-alt-variant":"de l’ère commune"},"eraAbbr":{"0":"av. J.-C.","1":"ap. J.-C.","0-alt-variant":"AEC","1-alt-variant":"EC"},"eraNarrow":{"0":"av. J.-C.","1":"ap. J.-C.","0-alt-variant":"AEC","1-alt-variant":"EC"}},"dateFormats":{"full":"EEEE d MMMM y","long":"d MMMM y","medium":"d MMM y","short":"dd/MM/y"},"dateSkeletons":{"full":"yMMMMEEEEd","long":"yMMMMd","medium":"yMMMd","short":"yMMdd"},"timeFormats":{"full":"HH:mm:ss zzzz","long":"HH:mm:ss z","medium":"HH:mm:ss","short":"HH:mm"},"timeSkeletons":{"full":"HHmmsszzzz","long":"HHmmssz","medium":"HHmmss","short":"HHmm"},"dateTimeFormats":{"full":"{1} \'à\' {0}","long":"{1} \'à\' {0}","medium":"{1}, {0}","short":"{1} {0}","availableFormats":{"Bh":"h B","Bhm":"h:mm B","Bhms":"h:mm:ss B","d":"d","E":"E","EBhm":"E h:mm B","EBhms":"E h:mm:ss B","Ed":"E d","Ehm":"E h:mm a","EHm":"E HH:mm","Ehms":"E h:mm:ss a","EHms":"E HH:mm:ss","Gy":"y G","GyMd":"dd/MM/y GGGGG","GyMMM":"MMM y G","GyMMMd":"d MMM y G","GyMMMEd":"E d MMM y G","h":"h a","H":"HH \'h\'","hm":"h:mm a","Hm":"HH:mm","hms":"h:mm:ss a","Hms":"HH:mm:ss","hmsv":"h:mm:ss a v","Hmsv":"HH:mm:ss v","hmv":"h:mm a v","Hmv":"HH:mm v","M":"L","Md":"dd/MM","MEd":"E dd/MM","MMM":"LLL","MMMd":"d MMM","MMMEd":"E d MMM","MMMMd":"d MMMM","MMMMW-count-one":"\'semaine\' W (MMMM)","MMMMW-count-other":"\'semaine\' W (MMMM)","ms":"mm:ss","y":"y","yM":"MM/y","yMd":"dd/MM/y","yMEd":"E dd/MM/y","yMMM":"MMM y","yMMMd":"d MMM y","yMMMEd":"E d MMM y","yMMMM":"MMMM y","yQQQ":"QQQ y","yQQQQ":"QQQQ y","yw-count-one":"\'semaine\' w \'de\' Y","yw-count-other":"\'semaine\' w \'de\' Y"},"appendItems":{"Day":"{0} ({2}: {1})","Day-Of-Week":"{0} {1}","Era":"{1} {0}","Hour":"{0} ({2}: {1})","Minute":"{0} ({2}: {1})","Month":"{0} ({2}: {1})","Quarter":"{0} ({2}: {1})","Second":"{0} ({2}: {1})","Timezone":"{0} {1}","Week":"{0} ({2}: {1})","Year":"{1} {0}"},"intervalFormats":{"intervalFormatFallback":"{0} – {1}","Bh":{"B":"h B – h B","h":"h – h B"},"Bhm":{"B":"h:mm B – h:mm B","h":"h:mm – h:mm B","m":"h:mm – h:mm B"},"d":{"d":"d–d"},"Gy":{"G":"y G \'à\' y G","y":"y–y G"},"GyM":{"G":"M/y G \'à\' M/y G","M":"M–M/y G","y":"M/y \'à\' M/y G"},"GyMd":{"d":"d–d/M/y G","G":"d/M/y G \'à\' d/M/y G","M":"d/M \'à\' d/M/y G","y":"d/M/y \'à\' d/M/y G"},"GyMEd":{"d":"E d \'à\' E d/M/y G","G":"E d/M/y G \'à\' E d/M/y G","M":"E d/M \'à\' E d/M/y G","y":"E d/M/y \'à\' E d/M/y G"},"GyMMM":{"G":"MMM y G \'à\' MMM y G","M":"MMM \'à\' MMM y G","y":"MMM y \'à\' MMM y G"},"GyMMMd":{"d":"d–d MMM y G","G":"d MMM y G \'à\' d MMM y G","M":"d MMM \'à\' d MMM y G","y":"d MMM y \'à\' d MMM y G"},"GyMMMEd":{"d":"E d \'à\' E d MMM y G","G":"E d MMM y G \'à\' E d MMM y G","M":"E d MMM \'à\' E d MMM y G","y":"E d MMM y \'à\' E d MMM y G"},"h":{"a":"h a – h a","h":"h – h a"},"H":{"H":"HH – HH"},"hm":{"a":"h:mm a – h:mm a","h":"h:mm – h:mm a","m":"h:mm – h:mm a"},"Hm":{"H":"HH:mm – HH:mm","m":"HH:mm – HH:mm"},"hmv":{"a":"h:mm a – h:mm a v","h":"h:mm – h:mm a v","m":"h:mm – h:mm a v"},"Hmv":{"H":"HH:mm – HH:mm v","m":"HH:mm – HH:mm v"},"hv":{"a":"h a – h a v","h":"h – h a v"},"Hv":{"H":"HH – HH v"},"M":{"M":"M–M"},"Md":{"d":"dd/MM – dd/MM","M":"dd/MM – dd/MM"},"MEd":{"d":"E dd/MM – E dd/MM","M":"E dd/MM – E dd/MM"},"MMM":{"M":"MMM–MMM"},"MMMd":{"d":"d–d MMM","M":"d MMM – d MMM"},"MMMEd":{"d":"E d – E d MMM","M":"E d MMM – E d MMM"},"y":{"y":"y–y"},"yM":{"M":"MM/y – MM/y","y":"MM/y – MM/y"},"yMd":{"d":"dd/MM/y – dd/MM/y","M":"dd/MM/y – dd/MM/y","y":"dd/MM/y – dd/MM/y"},"yMEd":{"d":"E dd/MM/y – E dd/MM/y","M":"E dd/MM/y – E dd/MM/y","y":"E dd/MM/y – E dd/MM/y"},"yMMM":{"M":"MMM–MMM y","y":"MMM y – MMM y"},"yMMMd":{"d":"d–d MMM y","M":"d MMM – d MMM y","y":"d MMM y – d MMM y"},"yMMMEd":{"d":"E d – E d MMM y","M":"E d MMM – E d MMM y","y":"E d MMM y – E d MMM y"},"yMMMM":{"M":"MMMM – MMMM y","y":"MMMM y – MMMM y"}}}}}}}}}')},7453:function(t){"use strict";t.exports=JSON.parse('{"main":{"fr":{"identity":{"version":{"_cldrVersion":"40"},"language":"fr"},"dates":{"fields":{"era":{"displayName":"ère"},"era-short":{"displayName":"ère"},"era-narrow":{"displayName":"ère"},"year":{"displayName":"année","relative-type--1":"l’année dernière","relative-type-0":"cette année","relative-type-1":"l’année prochaine","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} an","relativeTimePattern-count-other":"dans {0} ans"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} an","relativeTimePattern-count-other":"il y a {0} ans"}},"year-short":{"displayName":"an","relative-type--1":"l’année dernière","relative-type-0":"cette année","relative-type-1":"l’année prochaine","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} a","relativeTimePattern-count-other":"dans {0} a"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} a","relativeTimePattern-count-other":"il y a {0} a"}},"year-narrow":{"displayName":"a","relative-type--1":"l’année dernière","relative-type-0":"cette année","relative-type-1":"l’année prochaine","relativeTime-type-future":{"relativeTimePattern-count-one":"+{0} a","relativeTimePattern-count-other":"+{0} a"},"relativeTime-type-past":{"relativeTimePattern-count-one":"-{0} a","relativeTimePattern-count-other":"-{0} a"}},"quarter":{"displayName":"trimestre","relative-type--1":"le trimestre dernier","relative-type-0":"ce trimestre","relative-type-1":"le trimestre prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} trimestre","relativeTimePattern-count-other":"dans {0} trimestres"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} trimestre","relativeTimePattern-count-other":"il y a {0} trimestres"}},"quarter-short":{"displayName":"trim.","relative-type--1":"le trimestre dernier","relative-type-0":"ce trimestre","relative-type-1":"le trimestre prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} trim.","relativeTimePattern-count-other":"dans {0} trim."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} trim.","relativeTimePattern-count-other":"il y a {0} trim."}},"quarter-narrow":{"displayName":"trim.","relative-type--1":"le trimestre dernier","relative-type-0":"ce trimestre","relative-type-1":"le trimestre prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"+{0} trim.","relativeTimePattern-count-other":"+{0} trim."},"relativeTime-type-past":{"relativeTimePattern-count-one":"-{0} trim.","relativeTimePattern-count-other":"-{0} trim."}},"month":{"displayName":"mois","relative-type--1":"le mois dernier","relative-type-0":"ce mois-ci","relative-type-1":"le mois prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} mois","relativeTimePattern-count-other":"dans {0} mois"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} mois","relativeTimePattern-count-other":"il y a {0} mois"}},"month-short":{"displayName":"m.","relative-type--1":"le mois dernier","relative-type-0":"ce mois-ci","relative-type-1":"le mois prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} m.","relativeTimePattern-count-other":"dans {0} m."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} m.","relativeTimePattern-count-other":"il y a {0} m."}},"month-narrow":{"displayName":"m.","relative-type--1":"le mois dernier","relative-type-0":"ce mois-ci","relative-type-1":"le mois prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"+{0} m.","relativeTimePattern-count-other":"+{0} m."},"relativeTime-type-past":{"relativeTimePattern-count-one":"-{0} m.","relativeTimePattern-count-other":"-{0} m."}},"week":{"displayName":"semaine","relative-type--1":"la semaine dernière","relative-type-0":"cette semaine","relative-type-1":"la semaine prochaine","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} semaine","relativeTimePattern-count-other":"dans {0} semaines"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} semaine","relativeTimePattern-count-other":"il y a {0} semaines"},"relativePeriod":"la semaine du {0}"},"week-short":{"displayName":"sem.","relative-type--1":"la semaine dernière","relative-type-0":"cette semaine","relative-type-1":"la semaine prochaine","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} sem.","relativeTimePattern-count-other":"dans {0} sem."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} sem.","relativeTimePattern-count-other":"il y a {0} sem."},"relativePeriod":"sem. du {0}"},"week-narrow":{"displayName":"sem.","relative-type--1":"la semaine dernière","relative-type-0":"cette semaine","relative-type-1":"la semaine prochaine","relativeTime-type-future":{"relativeTimePattern-count-one":"+{0} sem.","relativeTimePattern-count-other":"+{0} sem."},"relativeTime-type-past":{"relativeTimePattern-count-one":"-{0} sem.","relativeTimePattern-count-other":"-{0} sem."},"relativePeriod":"sem. du {0}"},"weekOfMonth":{"displayName":"semaine (mois)"},"weekOfMonth-short":{"displayName":"sem. (m.)"},"weekOfMonth-narrow":{"displayName":"sem. (m.)"},"day":{"displayName":"jour","relative-type--2":"avant-hier","relative-type--1":"hier","relative-type-0":"aujourd’hui","relative-type-1":"demain","relative-type-2":"après-demain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} jour","relativeTimePattern-count-other":"dans {0} jours"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} jour","relativeTimePattern-count-other":"il y a {0} jours"}},"day-short":{"displayName":"j","relative-type--2":"avant-hier","relative-type--1":"hier","relative-type-0":"aujourd’hui","relative-type-1":"demain","relative-type-2":"après-demain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} j","relativeTimePattern-count-other":"dans {0} j"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} j","relativeTimePattern-count-other":"il y a {0} j"}},"day-narrow":{"displayName":"j","relative-type--2":"avant-hier","relative-type--1":"hier","relative-type-0":"aujourd’hui","relative-type-1":"demain","relative-type-2":"après-demain","relativeTime-type-future":{"relativeTimePattern-count-one":"+{0} j","relativeTimePattern-count-other":"+{0} j"},"relativeTime-type-past":{"relativeTimePattern-count-one":"-{0} j","relativeTimePattern-count-other":"-{0} j"}},"dayOfYear":{"displayName":"jour (année)"},"dayOfYear-short":{"displayName":"j (an)"},"dayOfYear-narrow":{"displayName":"j (an)"},"weekday":{"displayName":"jour de la semaine"},"weekday-short":{"displayName":"j (sem.)"},"weekday-narrow":{"displayName":"j (sem.)"},"weekdayOfMonth":{"displayName":"jour (mois)"},"weekdayOfMonth-short":{"displayName":"jour (mois)"},"weekdayOfMonth-narrow":{"displayName":"jour (mois)"},"sun":{"relative-type--1":"dimanche dernier","relative-type-0":"ce dimanche","relative-type-1":"dimanche prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} dimanche","relativeTimePattern-count-other":"dans {0} dimanches"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} dimanche","relativeTimePattern-count-other":"il y a {0} dimanches"}},"sun-short":{"relative-type--1":"dim. dernier","relative-type-0":"ce dim.","relative-type-1":"dim. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} dim.","relativeTimePattern-count-other":"dans {0} dim."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} dim.","relativeTimePattern-count-other":"il y a {0} dim."}},"sun-narrow":{"relative-type--1":"dim. dernier","relative-type-0":"ce dim.","relative-type-1":"dim. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} dim.","relativeTimePattern-count-other":"dans {0} dim."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} dim.","relativeTimePattern-count-other":"il y a {0} dim."}},"mon":{"relative-type--1":"lundi dernier","relative-type-0":"ce lundi","relative-type-1":"lundi prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} lundi","relativeTimePattern-count-other":"dans {0} lundis"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} lundi","relativeTimePattern-count-other":"il y a {0} lundis"}},"mon-short":{"relative-type--1":"lun. dernier","relative-type-0":"ce lun.","relative-type-1":"lun. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} lun.","relativeTimePattern-count-other":"dans {0} lun."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} lun.","relativeTimePattern-count-other":"il y a {0} lun."}},"mon-narrow":{"relative-type--1":"lun. dernier","relative-type-0":"ce lun.","relative-type-1":"lun. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} lun.","relativeTimePattern-count-other":"dans {0} lun."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} lun.","relativeTimePattern-count-other":"il y a {0} lun."}},"tue":{"relative-type--1":"mardi dernier","relative-type-0":"ce mardi","relative-type-1":"mardi prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} mardi","relativeTimePattern-count-other":"dans {0} mardis"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} mardi","relativeTimePattern-count-other":"il y a {0} mardis"}},"tue-short":{"relative-type--1":"mar. dernier","relative-type-0":"ce mar.","relative-type-1":"mar. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} mar.","relativeTimePattern-count-other":"dans {0} mar."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} mar.","relativeTimePattern-count-other":"il y a {0} mar."}},"tue-narrow":{"relative-type--1":"mar. dernier","relative-type-0":"ce mar.","relative-type-1":"mar. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} mar.","relativeTimePattern-count-other":"dans {0} mar."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} mar.","relativeTimePattern-count-other":"il y a {0} mar."}},"wed":{"relative-type--1":"mercredi dernier","relative-type-0":"ce mercredi","relative-type-1":"mercredi prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} mercredi","relativeTimePattern-count-other":"dans {0} mercredis"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} mercredi","relativeTimePattern-count-other":"il y a {0} mercredis"}},"wed-short":{"relative-type--1":"mer. dernier","relative-type-0":"ce mer.","relative-type-1":"mer. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} mer.","relativeTimePattern-count-other":"dans {0} mer."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} mer.","relativeTimePattern-count-other":"il y a {0} mer."}},"wed-narrow":{"relative-type--1":"mer. dernier","relative-type-0":"ce mer.","relative-type-1":"mer. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} mer.","relativeTimePattern-count-other":"dans {0} mer."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} mer.","relativeTimePattern-count-other":"il y a {0} mer."}},"thu":{"relative-type--1":"jeudi dernier","relative-type-0":"ce jeudi","relative-type-1":"jeudi prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} jeudi","relativeTimePattern-count-other":"dans {0} jeudis"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} jeudi","relativeTimePattern-count-other":"il y a {0} jeudis"}},"thu-short":{"relative-type--1":"jeu. dernier","relative-type-0":"ce jeu.","relative-type-1":"jeu. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} jeu.","relativeTimePattern-count-other":"dans {0} jeu."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} jeu.","relativeTimePattern-count-other":"il y a {0} jeu."}},"thu-narrow":{"relative-type--1":"jeu. dernier","relative-type-0":"ce jeu.","relative-type-1":"jeu. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} jeu.","relativeTimePattern-count-other":"dans {0} jeu."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} jeu.","relativeTimePattern-count-other":"il y a {0} jeu."}},"fri":{"relative-type--1":"vendredi dernier","relative-type-0":"ce vendredi","relative-type-1":"vendredi prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} vendredi","relativeTimePattern-count-other":"dans {0} vendredis"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} vendredi","relativeTimePattern-count-other":"il y a {0} vendredis"}},"fri-short":{"relative-type--1":"ven. dernier","relative-type-0":"ce ven.","relative-type-1":"ven. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} ven.","relativeTimePattern-count-other":"dans {0} ven."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} ven.","relativeTimePattern-count-other":"il y a {0} ven."}},"fri-narrow":{"relative-type--1":"ven. dernier","relative-type-0":"ce ven.","relative-type-1":"ven. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} ven.","relativeTimePattern-count-other":"dans {0} ven."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} ven.","relativeTimePattern-count-other":"il y a {0} ven."}},"sat":{"relative-type--1":"samedi dernier","relative-type-0":"ce samedi","relative-type-1":"samedi prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} samedi","relativeTimePattern-count-other":"dans {0} samedis"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} samedi","relativeTimePattern-count-other":"il y a {0} samedis"}},"sat-short":{"relative-type--1":"sam. dernier","relative-type-0":"ce sam.","relative-type-1":"sam. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} sam.","relativeTimePattern-count-other":"dans {0} sam."},"relativeTime-type-past":{"relativeTimePattern-count-one":"dans {0} sam.","relativeTimePattern-count-other":"dans {0} sam."}},"sat-narrow":{"relative-type--1":"sam. dernier","relative-type-0":"ce sam.","relative-type-1":"sam. prochain","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} sam.","relativeTimePattern-count-other":"dans {0} sam."},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} sam.","relativeTimePattern-count-other":"il y a {0} sam."}},"dayperiod-short":{"displayName":"cadran"},"dayperiod":{"displayName":"cadran"},"dayperiod-narrow":{"displayName":"cadran"},"hour":{"displayName":"heure","relative-type-0":"cette heure-ci","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} heure","relativeTimePattern-count-other":"dans {0} heures"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} heure","relativeTimePattern-count-other":"il y a {0} heures"}},"hour-short":{"displayName":"h","relative-type-0":"cette heure-ci","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} h","relativeTimePattern-count-other":"dans {0} h"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} h","relativeTimePattern-count-other":"il y a {0} h"}},"hour-narrow":{"displayName":"h","relative-type-0":"cette heure-ci","relativeTime-type-future":{"relativeTimePattern-count-one":"+{0} h","relativeTimePattern-count-other":"+{0} h"},"relativeTime-type-past":{"relativeTimePattern-count-one":"-{0} h","relativeTimePattern-count-other":"-{0} h"}},"minute":{"displayName":"minute","relative-type-0":"cette minute-ci","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} minute","relativeTimePattern-count-other":"dans {0} minutes"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} minute","relativeTimePattern-count-other":"il y a {0} minutes"}},"minute-short":{"displayName":"min","relative-type-0":"cette minute-ci","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} min","relativeTimePattern-count-other":"dans {0} min"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} min","relativeTimePattern-count-other":"il y a {0} min"}},"minute-narrow":{"displayName":"min","relative-type-0":"cette minute-ci","relativeTime-type-future":{"relativeTimePattern-count-one":"+{0} min","relativeTimePattern-count-other":"+{0} min"},"relativeTime-type-past":{"relativeTimePattern-count-one":"-{0} min","relativeTimePattern-count-other":"-{0} min"}},"second":{"displayName":"seconde","relative-type-0":"maintenant","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} seconde","relativeTimePattern-count-other":"dans {0} secondes"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} seconde","relativeTimePattern-count-other":"il y a {0} secondes"}},"second-short":{"displayName":"s","relative-type-0":"maintenant","relativeTime-type-future":{"relativeTimePattern-count-one":"dans {0} s","relativeTimePattern-count-other":"dans {0} s"},"relativeTime-type-past":{"relativeTimePattern-count-one":"il y a {0} s","relativeTimePattern-count-other":"il y a {0} s"}},"second-narrow":{"displayName":"s","relative-type-0":"maintenant","relativeTime-type-future":{"relativeTimePattern-count-one":"+{0} s","relativeTimePattern-count-other":"+{0} s"},"relativeTime-type-past":{"relativeTimePattern-count-one":"-{0} s","relativeTimePattern-count-other":"-{0} s"}},"zone":{"displayName":"fuseau horaire"},"zone-short":{"displayName":"fuseau horaire"},"zone-narrow":{"displayName":"fuseau horaire"}}}}}}')},7205:function(t){"use strict";t.exports=JSON.parse('{"main":{"fr":{"identity":{"version":{"_cldrVersion":"40"},"language":"fr"},"dates":{"timeZoneNames":{"hourFormat":"+HH:mm;−HH:mm","gmtFormat":"UTC{0}","gmtZeroFormat":"UTC","regionFormat":"heure : {0}","regionFormat-type-daylight":"{0} (heure d’été)","regionFormat-type-standard":"{0} (heure standard)","fallbackFormat":"{1} ({0})","zone":{"America":{"Adak":{"exemplarCity":"Adak"},"Anchorage":{"exemplarCity":"Anchorage"},"Anguilla":{"exemplarCity":"Anguilla"},"Antigua":{"exemplarCity":"Antigua"},"Araguaina":{"exemplarCity":"Araguaína"},"Argentina":{"Rio_Gallegos":{"exemplarCity":"Río Gallegos"},"San_Juan":{"exemplarCity":"San Juan"},"Ushuaia":{"exemplarCity":"Ushuaïa"},"La_Rioja":{"exemplarCity":"La Rioja"},"San_Luis":{"exemplarCity":"San Luis"},"Salta":{"exemplarCity":"Salta"},"Tucuman":{"exemplarCity":"Tucumán"}},"Aruba":{"exemplarCity":"Aruba"},"Asuncion":{"exemplarCity":"Asunción"},"Bahia":{"exemplarCity":"Bahia"},"Bahia_Banderas":{"exemplarCity":"Bahia de Banderas"},"Barbados":{"exemplarCity":"La Barbade"},"Belem":{"exemplarCity":"Belém"},"Belize":{"exemplarCity":"Belize"},"Blanc-Sablon":{"exemplarCity":"Blanc-Sablon"},"Boa_Vista":{"exemplarCity":"Boa Vista"},"Bogota":{"exemplarCity":"Bogota"},"Boise":{"exemplarCity":"Boise"},"Buenos_Aires":{"exemplarCity":"Buenos Aires"},"Cambridge_Bay":{"exemplarCity":"Cambridge Bay"},"Campo_Grande":{"exemplarCity":"Campo Grande"},"Cancun":{"exemplarCity":"Cancún"},"Caracas":{"exemplarCity":"Caracas"},"Catamarca":{"exemplarCity":"Catamarca"},"Cayenne":{"exemplarCity":"Cayenne"},"Cayman":{"exemplarCity":"Caïmans"},"Chicago":{"exemplarCity":"Chicago"},"Chihuahua":{"exemplarCity":"Chihuahua"},"Coral_Harbour":{"exemplarCity":"Atikokan"},"Cordoba":{"exemplarCity":"Córdoba"},"Costa_Rica":{"exemplarCity":"Costa Rica"},"Creston":{"exemplarCity":"Creston"},"Cuiaba":{"exemplarCity":"Cuiabá"},"Curacao":{"exemplarCity":"Curaçao"},"Danmarkshavn":{"exemplarCity":"Danmarkshavn"},"Dawson":{"exemplarCity":"Dawson"},"Dawson_Creek":{"exemplarCity":"Dawson Creek"},"Denver":{"exemplarCity":"Denver"},"Detroit":{"exemplarCity":"Détroit"},"Dominica":{"exemplarCity":"Dominique"},"Edmonton":{"exemplarCity":"Edmonton"},"Eirunepe":{"exemplarCity":"Eirunepé"},"El_Salvador":{"exemplarCity":"El Salvador"},"Fort_Nelson":{"exemplarCity":"Fort Nelson"},"Fortaleza":{"exemplarCity":"Fortaleza"},"Glace_Bay":{"exemplarCity":"Glace Bay"},"Godthab":{"exemplarCity":"Nuuk"},"Goose_Bay":{"exemplarCity":"Goose Bay"},"Grand_Turk":{"exemplarCity":"Grand Turk"},"Grenada":{"exemplarCity":"Grenade"},"Guadeloupe":{"exemplarCity":"Guadeloupe"},"Guatemala":{"exemplarCity":"Guatemala"},"Guayaquil":{"exemplarCity":"Guayaquil"},"Guyana":{"exemplarCity":"Guyana"},"Halifax":{"exemplarCity":"Halifax"},"Havana":{"exemplarCity":"La Havane"},"Hermosillo":{"exemplarCity":"Hermosillo"},"Indiana":{"Vincennes":{"exemplarCity":"Vincennes [Indiana]"},"Petersburg":{"exemplarCity":"Petersburg [Indiana]"},"Tell_City":{"exemplarCity":"Tell City [Indiana]"},"Knox":{"exemplarCity":"Knox [Indiana]"},"Winamac":{"exemplarCity":"Winamac [Indiana]"},"Marengo":{"exemplarCity":"Marengo [Indiana]"},"Vevay":{"exemplarCity":"Vevay [Indiana]"}},"Indianapolis":{"exemplarCity":"Indianapolis"},"Inuvik":{"exemplarCity":"Inuvik"},"Iqaluit":{"exemplarCity":"Iqaluit"},"Jamaica":{"exemplarCity":"Jamaïque"},"Jujuy":{"exemplarCity":"Jujuy"},"Juneau":{"exemplarCity":"Juneau"},"Kentucky":{"Monticello":{"exemplarCity":"Monticello [Kentucky]"}},"Kralendijk":{"exemplarCity":"Kralendijk"},"La_Paz":{"exemplarCity":"La Paz"},"Lima":{"exemplarCity":"Lima"},"Los_Angeles":{"exemplarCity":"Los Angeles"},"Louisville":{"exemplarCity":"Louisville"},"Lower_Princes":{"exemplarCity":"Lower Prince’s Quarter"},"Maceio":{"exemplarCity":"Maceió"},"Managua":{"exemplarCity":"Managua"},"Manaus":{"exemplarCity":"Manaos"},"Marigot":{"exemplarCity":"Marigot"},"Martinique":{"exemplarCity":"Martinique"},"Matamoros":{"exemplarCity":"Matamoros"},"Mazatlan":{"exemplarCity":"Mazatlán"},"Mendoza":{"exemplarCity":"Mendoza"},"Menominee":{"exemplarCity":"Menominee"},"Merida":{"exemplarCity":"Mérida"},"Metlakatla":{"exemplarCity":"Metlakatla"},"Mexico_City":{"exemplarCity":"Mexico"},"Miquelon":{"exemplarCity":"Miquelon"},"Moncton":{"exemplarCity":"Moncton"},"Monterrey":{"exemplarCity":"Monterrey"},"Montevideo":{"exemplarCity":"Montevideo"},"Montserrat":{"exemplarCity":"Montserrat"},"Nassau":{"exemplarCity":"Nassau"},"New_York":{"exemplarCity":"New York"},"Nipigon":{"exemplarCity":"Nipigon"},"Nome":{"exemplarCity":"Nome"},"Noronha":{"exemplarCity":"Noronha"},"North_Dakota":{"Beulah":{"exemplarCity":"Beulah (Dakota du Nord)"},"New_Salem":{"exemplarCity":"New Salem (Dakota du Nord)"},"Center":{"exemplarCity":"Center (Dakota du Nord)"}},"Ojinaga":{"exemplarCity":"Ojinaga"},"Panama":{"exemplarCity":"Panama"},"Pangnirtung":{"exemplarCity":"Pangnirtung"},"Paramaribo":{"exemplarCity":"Paramaribo"},"Phoenix":{"exemplarCity":"Phoenix"},"Port-au-Prince":{"exemplarCity":"Port-au-Prince"},"Port_of_Spain":{"exemplarCity":"Port-d’Espagne"},"Porto_Velho":{"exemplarCity":"Porto Velho"},"Puerto_Rico":{"exemplarCity":"Porto Rico"},"Punta_Arenas":{"exemplarCity":"Punta Arenas"},"Rainy_River":{"exemplarCity":"Rainy River"},"Rankin_Inlet":{"exemplarCity":"Rankin Inlet"},"Recife":{"exemplarCity":"Recife"},"Regina":{"exemplarCity":"Regina"},"Resolute":{"exemplarCity":"Resolute"},"Rio_Branco":{"exemplarCity":"Rio Branco"},"Santa_Isabel":{"exemplarCity":"Santa Isabel"},"Santarem":{"exemplarCity":"Santarém"},"Santiago":{"exemplarCity":"Santiago"},"Santo_Domingo":{"exemplarCity":"Saint-Domingue"},"Sao_Paulo":{"exemplarCity":"São Paulo"},"Scoresbysund":{"exemplarCity":"Ittoqqortoormiit"},"Sitka":{"exemplarCity":"Sitka"},"St_Barthelemy":{"exemplarCity":"Saint-Barthélemy"},"St_Johns":{"exemplarCity":"Saint-Jean de Terre-Neuve"},"St_Kitts":{"exemplarCity":"Saint-Christophe"},"St_Lucia":{"exemplarCity":"Sainte-Lucie"},"St_Thomas":{"exemplarCity":"Saint-Thomas"},"St_Vincent":{"exemplarCity":"Saint-Vincent"},"Swift_Current":{"exemplarCity":"Swift Current"},"Tegucigalpa":{"exemplarCity":"Tégucigalpa"},"Thule":{"exemplarCity":"Thulé"},"Thunder_Bay":{"exemplarCity":"Thunder Bay"},"Tijuana":{"exemplarCity":"Tijuana"},"Toronto":{"exemplarCity":"Toronto"},"Tortola":{"exemplarCity":"Tortola"},"Vancouver":{"exemplarCity":"Vancouver"},"Whitehorse":{"exemplarCity":"Whitehorse"},"Winnipeg":{"exemplarCity":"Winnipeg"},"Yakutat":{"exemplarCity":"Yakutat"},"Yellowknife":{"exemplarCity":"Yellowknife"}},"Atlantic":{"Azores":{"exemplarCity":"Açores"},"Bermuda":{"exemplarCity":"Bermudes"},"Canary":{"exemplarCity":"Îles Canaries"},"Cape_Verde":{"exemplarCity":"Cap-Vert"},"Faeroe":{"exemplarCity":"Îles Féroé"},"Madeira":{"exemplarCity":"Madère"},"Reykjavik":{"exemplarCity":"Reykjavik"},"South_Georgia":{"exemplarCity":"Géorgie du Sud"},"St_Helena":{"exemplarCity":"Sainte-Hélène"},"Stanley":{"exemplarCity":"Stanley"}},"Europe":{"Amsterdam":{"exemplarCity":"Amsterdam"},"Andorra":{"exemplarCity":"Andorre"},"Astrakhan":{"exemplarCity":"Astrakhan"},"Athens":{"exemplarCity":"Athènes"},"Belgrade":{"exemplarCity":"Belgrade"},"Berlin":{"exemplarCity":"Berlin"},"Bratislava":{"exemplarCity":"Bratislava"},"Brussels":{"exemplarCity":"Bruxelles"},"Bucharest":{"exemplarCity":"Bucarest"},"Budapest":{"exemplarCity":"Budapest"},"Busingen":{"exemplarCity":"Büsingen"},"Chisinau":{"exemplarCity":"Chisinau"},"Copenhagen":{"exemplarCity":"Copenhague"},"Dublin":{"long":{"daylight":"heure d’été irlandaise"},"exemplarCity":"Dublin"},"Gibraltar":{"exemplarCity":"Gibraltar"},"Guernsey":{"exemplarCity":"Guernesey"},"Helsinki":{"exemplarCity":"Helsinki"},"Isle_of_Man":{"exemplarCity":"Île de Man"},"Istanbul":{"exemplarCity":"Istanbul"},"Jersey":{"exemplarCity":"Jersey"},"Kaliningrad":{"exemplarCity":"Kaliningrad"},"Kiev":{"exemplarCity":"Kiev"},"Kirov":{"exemplarCity":"Kirov"},"Lisbon":{"exemplarCity":"Lisbonne"},"Ljubljana":{"exemplarCity":"Ljubljana"},"London":{"long":{"daylight":"heure d’été britannique"},"exemplarCity":"Londres"},"Luxembourg":{"exemplarCity":"Luxembourg"},"Madrid":{"exemplarCity":"Madrid"},"Malta":{"exemplarCity":"Malte"},"Mariehamn":{"exemplarCity":"Mariehamn"},"Minsk":{"exemplarCity":"Minsk"},"Monaco":{"exemplarCity":"Monaco"},"Moscow":{"exemplarCity":"Moscou"},"Oslo":{"exemplarCity":"Oslo"},"Paris":{"exemplarCity":"Paris"},"Podgorica":{"exemplarCity":"Podgorica"},"Prague":{"exemplarCity":"Prague"},"Riga":{"exemplarCity":"Riga"},"Rome":{"exemplarCity":"Rome"},"Samara":{"exemplarCity":"Samara"},"San_Marino":{"exemplarCity":"Saint-Marin"},"Sarajevo":{"exemplarCity":"Sarajevo"},"Saratov":{"exemplarCity":"Saratov"},"Simferopol":{"exemplarCity":"Simferopol"},"Skopje":{"exemplarCity":"Skopje"},"Sofia":{"exemplarCity":"Sofia"},"Stockholm":{"exemplarCity":"Stockholm"},"Tallinn":{"exemplarCity":"Tallinn"},"Tirane":{"exemplarCity":"Tirana"},"Ulyanovsk":{"exemplarCity":"Oulianovsk"},"Uzhgorod":{"exemplarCity":"Oujgorod"},"Vaduz":{"exemplarCity":"Vaduz"},"Vatican":{"exemplarCity":"Le Vatican"},"Vienna":{"exemplarCity":"Vienne"},"Vilnius":{"exemplarCity":"Vilnius"},"Volgograd":{"exemplarCity":"Volgograd"},"Warsaw":{"exemplarCity":"Varsovie"},"Zagreb":{"exemplarCity":"Zagreb"},"Zaporozhye":{"exemplarCity":"Zaporojie"},"Zurich":{"exemplarCity":"Zurich"}},"Africa":{"Abidjan":{"exemplarCity":"Abidjan"},"Accra":{"exemplarCity":"Accra"},"Addis_Ababa":{"exemplarCity":"Addis-Abeba"},"Algiers":{"exemplarCity":"Alger"},"Asmera":{"exemplarCity":"Asmara"},"Bamako":{"exemplarCity":"Bamako"},"Bangui":{"exemplarCity":"Bangui"},"Banjul":{"exemplarCity":"Banjul"},"Bissau":{"exemplarCity":"Bissau"},"Blantyre":{"exemplarCity":"Blantyre"},"Brazzaville":{"exemplarCity":"Brazzaville"},"Bujumbura":{"exemplarCity":"Bujumbura"},"Cairo":{"exemplarCity":"Le Caire"},"Casablanca":{"exemplarCity":"Casablanca"},"Ceuta":{"exemplarCity":"Ceuta"},"Conakry":{"exemplarCity":"Conakry"},"Dakar":{"exemplarCity":"Dakar"},"Dar_es_Salaam":{"exemplarCity":"Dar es Salaam"},"Djibouti":{"exemplarCity":"Djibouti"},"Douala":{"exemplarCity":"Douala"},"El_Aaiun":{"exemplarCity":"Laâyoune"},"Freetown":{"exemplarCity":"Freetown"},"Gaborone":{"exemplarCity":"Gaborone"},"Harare":{"exemplarCity":"Harare"},"Johannesburg":{"exemplarCity":"Johannesburg"},"Juba":{"exemplarCity":"Juba"},"Kampala":{"exemplarCity":"Kampala"},"Khartoum":{"exemplarCity":"Khartoum"},"Kigali":{"exemplarCity":"Kigali"},"Kinshasa":{"exemplarCity":"Kinshasa"},"Lagos":{"exemplarCity":"Lagos"},"Libreville":{"exemplarCity":"Libreville"},"Lome":{"exemplarCity":"Lomé"},"Luanda":{"exemplarCity":"Luanda"},"Lubumbashi":{"exemplarCity":"Lubumbashi"},"Lusaka":{"exemplarCity":"Lusaka"},"Malabo":{"exemplarCity":"Malabo"},"Maputo":{"exemplarCity":"Maputo"},"Maseru":{"exemplarCity":"Maseru"},"Mbabane":{"exemplarCity":"Mbabane"},"Mogadishu":{"exemplarCity":"Mogadiscio"},"Monrovia":{"exemplarCity":"Monrovia"},"Nairobi":{"exemplarCity":"Nairobi"},"Ndjamena":{"exemplarCity":"N’Djamena"},"Niamey":{"exemplarCity":"Niamey"},"Nouakchott":{"exemplarCity":"Nouakchott"},"Ouagadougou":{"exemplarCity":"Ouagadougou"},"Porto-Novo":{"exemplarCity":"Porto-Novo"},"Sao_Tome":{"exemplarCity":"São Tomé"},"Tripoli":{"exemplarCity":"Tripoli (Libye)"},"Tunis":{"exemplarCity":"Tunis"},"Windhoek":{"exemplarCity":"Windhoek"}},"Asia":{"Aden":{"exemplarCity":"Aden"},"Almaty":{"exemplarCity":"Alma Ata"},"Amman":{"exemplarCity":"Amman"},"Anadyr":{"exemplarCity":"Anadyr"},"Aqtau":{"exemplarCity":"Aktaou"},"Aqtobe":{"exemplarCity":"Aktioubinsk"},"Ashgabat":{"exemplarCity":"Achgabat"},"Atyrau":{"exemplarCity":"Atyraou"},"Baghdad":{"exemplarCity":"Bagdad"},"Bahrain":{"exemplarCity":"Bahreïn"},"Baku":{"exemplarCity":"Bakou"},"Bangkok":{"exemplarCity":"Bangkok"},"Barnaul":{"exemplarCity":"Barnaul"},"Beirut":{"exemplarCity":"Beyrouth"},"Bishkek":{"exemplarCity":"Bichkek"},"Brunei":{"exemplarCity":"Brunei"},"Calcutta":{"exemplarCity":"Calcutta"},"Chita":{"exemplarCity":"Tchita"},"Choibalsan":{"exemplarCity":"Tchoïbalsan"},"Colombo":{"exemplarCity":"Colombo"},"Damascus":{"exemplarCity":"Damas"},"Dhaka":{"exemplarCity":"Dhaka"},"Dili":{"exemplarCity":"Dili"},"Dubai":{"exemplarCity":"Dubaï"},"Dushanbe":{"exemplarCity":"Douchanbé"},"Famagusta":{"exemplarCity":"Famagouste"},"Gaza":{"exemplarCity":"Gaza"},"Hebron":{"exemplarCity":"Hébron"},"Hong_Kong":{"exemplarCity":"Hong Kong"},"Hovd":{"exemplarCity":"Hovd"},"Irkutsk":{"exemplarCity":"Irkoutsk"},"Jakarta":{"exemplarCity":"Jakarta"},"Jayapura":{"exemplarCity":"Jayapura"},"Jerusalem":{"exemplarCity":"Jérusalem"},"Kabul":{"exemplarCity":"Kaboul"},"Kamchatka":{"exemplarCity":"Kamtchatka"},"Karachi":{"exemplarCity":"Karachi"},"Katmandu":{"exemplarCity":"Katmandou"},"Khandyga":{"exemplarCity":"Khandyga"},"Krasnoyarsk":{"exemplarCity":"Krasnoïarsk"},"Kuala_Lumpur":{"exemplarCity":"Kuala Lumpur"},"Kuching":{"exemplarCity":"Kuching"},"Kuwait":{"exemplarCity":"Koweït"},"Macau":{"exemplarCity":"Macao"},"Magadan":{"exemplarCity":"Magadan"},"Makassar":{"exemplarCity":"Macassar"},"Manila":{"exemplarCity":"Manille"},"Muscat":{"exemplarCity":"Mascate"},"Nicosia":{"exemplarCity":"Nicosie"},"Novokuznetsk":{"exemplarCity":"Novokuznetsk"},"Novosibirsk":{"exemplarCity":"Novossibirsk"},"Omsk":{"exemplarCity":"Omsk"},"Oral":{"exemplarCity":"Ouralsk"},"Phnom_Penh":{"exemplarCity":"Phnom Penh"},"Pontianak":{"exemplarCity":"Pontianak"},"Pyongyang":{"exemplarCity":"Pyongyang"},"Qatar":{"exemplarCity":"Qatar"},"Qostanay":{"exemplarCity":"Kostanaï"},"Qyzylorda":{"exemplarCity":"Kzyl Orda"},"Rangoon":{"exemplarCity":"Rangoun"},"Riyadh":{"exemplarCity":"Riyad"},"Saigon":{"exemplarCity":"Hô-Chi-Minh-Ville"},"Sakhalin":{"exemplarCity":"Sakhaline"},"Samarkand":{"exemplarCity":"Samarcande"},"Seoul":{"exemplarCity":"Séoul"},"Shanghai":{"exemplarCity":"Shanghai"},"Singapore":{"exemplarCity":"Singapour"},"Srednekolymsk":{"exemplarCity":"Srednekolymsk"},"Taipei":{"exemplarCity":"Taipei"},"Tashkent":{"exemplarCity":"Tachkent"},"Tbilisi":{"exemplarCity":"Tbilissi"},"Tehran":{"exemplarCity":"Téhéran"},"Thimphu":{"exemplarCity":"Thimphu"},"Tokyo":{"exemplarCity":"Tokyo"},"Tomsk":{"exemplarCity":"Tomsk"},"Ulaanbaatar":{"exemplarCity":"Oulan-Bator"},"Urumqi":{"exemplarCity":"Ürümqi"},"Ust-Nera":{"exemplarCity":"Ust-Nera"},"Vientiane":{"exemplarCity":"Vientiane"},"Vladivostok":{"exemplarCity":"Vladivostok"},"Yakutsk":{"exemplarCity":"Iakoutsk"},"Yekaterinburg":{"exemplarCity":"Ekaterinbourg"},"Yerevan":{"exemplarCity":"Erevan"}},"Indian":{"Antananarivo":{"exemplarCity":"Antananarivo"},"Chagos":{"exemplarCity":"Chagos"},"Christmas":{"exemplarCity":"Christmas"},"Cocos":{"exemplarCity":"Cocos"},"Comoro":{"exemplarCity":"Comores"},"Kerguelen":{"exemplarCity":"Kerguelen"},"Mahe":{"exemplarCity":"Mahé"},"Maldives":{"exemplarCity":"Maldives"},"Mauritius":{"exemplarCity":"Maurice"},"Mayotte":{"exemplarCity":"Mayotte"},"Reunion":{"exemplarCity":"La Réunion"}},"Australia":{"Adelaide":{"exemplarCity":"Adélaïde"},"Brisbane":{"exemplarCity":"Brisbane"},"Broken_Hill":{"exemplarCity":"Broken Hill"},"Currie":{"exemplarCity":"Currie"},"Darwin":{"exemplarCity":"Darwin"},"Eucla":{"exemplarCity":"Eucla"},"Hobart":{"exemplarCity":"Hobart"},"Lindeman":{"exemplarCity":"Lindeman"},"Lord_Howe":{"exemplarCity":"Lord Howe"},"Melbourne":{"exemplarCity":"Melbourne"},"Perth":{"exemplarCity":"Perth"},"Sydney":{"exemplarCity":"Sydney"}},"Pacific":{"Apia":{"exemplarCity":"Apia"},"Auckland":{"exemplarCity":"Auckland"},"Bougainville":{"exemplarCity":"Bougainville"},"Chatham":{"exemplarCity":"Chatham"},"Easter":{"exemplarCity":"Île de Pâques"},"Efate":{"exemplarCity":"Éfaté"},"Enderbury":{"exemplarCity":"Enderbury"},"Fakaofo":{"exemplarCity":"Fakaofo"},"Fiji":{"exemplarCity":"Fidji"},"Funafuti":{"exemplarCity":"Funafuti"},"Galapagos":{"exemplarCity":"Galápagos"},"Gambier":{"exemplarCity":"Gambier"},"Guadalcanal":{"exemplarCity":"Guadalcanal"},"Guam":{"exemplarCity":"Guam"},"Honolulu":{"exemplarCity":"Honolulu"},"Johnston":{"exemplarCity":"Johnston"},"Kiritimati":{"exemplarCity":"Kiritimati"},"Kosrae":{"exemplarCity":"Kosrae"},"Kwajalein":{"exemplarCity":"Kwajalein"},"Majuro":{"exemplarCity":"Majuro"},"Marquesas":{"exemplarCity":"Marquises"},"Midway":{"exemplarCity":"Midway"},"Nauru":{"exemplarCity":"Nauru"},"Niue":{"exemplarCity":"Niue"},"Norfolk":{"exemplarCity":"Norfolk"},"Noumea":{"exemplarCity":"Nouméa"},"Pago_Pago":{"exemplarCity":"Pago Pago"},"Palau":{"exemplarCity":"Palau"},"Pitcairn":{"exemplarCity":"Pitcairn"},"Ponape":{"exemplarCity":"Pohnpei"},"Port_Moresby":{"exemplarCity":"Port Moresby"},"Rarotonga":{"exemplarCity":"Rarotonga"},"Saipan":{"exemplarCity":"Saipan"},"Tahiti":{"exemplarCity":"Tahiti"},"Tarawa":{"exemplarCity":"Tarawa"},"Tongatapu":{"exemplarCity":"Tongatapu"},"Truk":{"exemplarCity":"Chuuk"},"Wake":{"exemplarCity":"Wake"},"Wallis":{"exemplarCity":"Wallis"}},"Arctic":{"Longyearbyen":{"exemplarCity":"Longyearbyen"}},"Antarctica":{"Casey":{"exemplarCity":"Casey"},"Davis":{"exemplarCity":"Davis"},"DumontDUrville":{"exemplarCity":"Dumont d’Urville"},"Macquarie":{"exemplarCity":"Macquarie"},"Mawson":{"exemplarCity":"Mawson"},"McMurdo":{"exemplarCity":"McMurdo"},"Palmer":{"exemplarCity":"Palmer"},"Rothera":{"exemplarCity":"Rothera"},"Syowa":{"exemplarCity":"Showa"},"Troll":{"exemplarCity":"Troll"},"Vostok":{"exemplarCity":"Vostok"}},"Etc":{"UTC":{"long":{"standard":"temps universel coordonné"},"short":{"standard":"UTC"}},"Unknown":{"exemplarCity":"ville inconnue"}}},"metazone":{"Acre":{"long":{"generic":"heure de l’Acre","standard":"heure normale de l’Acre","daylight":"heure d’été de l’Acre"}},"Afghanistan":{"long":{"standard":"heure de l’Afghanistan"}},"Africa_Central":{"long":{"standard":"heure normale d’Afrique centrale"}},"Africa_Eastern":{"long":{"standard":"heure normale d’Afrique de l’Est"}},"Africa_Southern":{"long":{"standard":"heure normale d’Afrique méridionale"}},"Africa_Western":{"long":{"generic":"heure d’Afrique de l’Ouest","standard":"heure normale d’Afrique de l’Ouest","daylight":"heure d’été d’Afrique de l’Ouest"}},"Alaska":{"long":{"generic":"heure de l’Alaska","standard":"heure normale de l’Alaska","daylight":"heure d’été de l’Alaska"}},"Almaty":{"long":{"generic":"heure d’Alma Ata","standard":"heure normale d’Alma Ata","daylight":"heure d’été d’Alma Ata"}},"Amazon":{"long":{"generic":"heure de l’Amazonie","standard":"heure normale de l’Amazonie","daylight":"heure d’été de l’Amazonie"}},"America_Central":{"long":{"generic":"heure du centre nord-américain","standard":"heure normale du centre nord-américain","daylight":"heure d’été du Centre"}},"America_Eastern":{"long":{"generic":"heure de l’Est nord-américain","standard":"heure normale de l’Est nord-américain","daylight":"heure d’été de l’Est"}},"America_Mountain":{"long":{"generic":"heure des Rocheuses","standard":"heure normale des Rocheuses","daylight":"heure d’été des Rocheuses"}},"America_Pacific":{"long":{"generic":"heure du Pacifique nord-américain","standard":"heure normale du Pacifique nord-américain","daylight":"heure d’été du Pacifique"}},"Anadyr":{"long":{"generic":"heure d’Anadyr","standard":"heure normale d’Anadyr","daylight":"heure d’été d’Anadyr"}},"Apia":{"long":{"generic":"heure d’Apia","standard":"heure normale d’Apia","daylight":"heure d’été d’Apia"}},"Aqtau":{"long":{"generic":"heure d’Aktaou","standard":"heure normale d’Aktaou","daylight":"heure d’été d’Aktaou"}},"Aqtobe":{"long":{"generic":"heure d’Aqtöbe","standard":"heure normale d’Aqtöbe","daylight":"heure d’été d’Aqtöbe"}},"Arabian":{"long":{"generic":"heure de l’Arabie","standard":"heure normale de l’Arabie","daylight":"heure d’été de l’Arabie"}},"Argentina":{"long":{"generic":"heure de l’Argentine","standard":"heure normale d’Argentine","daylight":"heure d’été de l’Argentine"}},"Argentina_Western":{"long":{"generic":"heure de l’Ouest argentin","standard":"heure normale de l’Ouest argentin","daylight":"heure d’été de l’Ouest argentin"}},"Armenia":{"long":{"generic":"heure de l’Arménie","standard":"heure normale de l’Arménie","daylight":"heure d’été d’Arménie"}},"Atlantic":{"long":{"generic":"heure de l’Atlantique","standard":"heure normale de l’Atlantique","daylight":"heure d’été de l’Atlantique"}},"Australia_Central":{"long":{"generic":"heure du centre de l’Australie","standard":"heure normale du centre de l’Australie","daylight":"heure d’été du centre de l’Australie"}},"Australia_CentralWestern":{"long":{"generic":"heure du centre-ouest de l’Australie","standard":"heure normale du centre-ouest de l’Australie","daylight":"heure d’été du centre-ouest de l’Australie"}},"Australia_Eastern":{"long":{"generic":"heure de l’Est de l’Australie","standard":"heure normale de l’Est de l’Australie","daylight":"heure d’été de l’Est de l’Australie"}},"Australia_Western":{"long":{"generic":"heure de l’Ouest de l’Australie","standard":"heure normale de l’Ouest de l’Australie","daylight":"heure d’été de l’Ouest de l’Australie"}},"Azerbaijan":{"long":{"generic":"heure de l’Azerbaïdjan","standard":"heure normale de l’Azerbaïdjan","daylight":"heure d’été d’Azerbaïdjan"}},"Azores":{"long":{"generic":"heure des Açores","standard":"heure normale des Açores","daylight":"heure d’été des Açores"}},"Bangladesh":{"long":{"generic":"heure du Bangladesh","standard":"heure normale du Bangladesh","daylight":"heure d’été du Bangladesh"}},"Bhutan":{"long":{"standard":"heure du Bhoutan"}},"Bolivia":{"long":{"standard":"heure de Bolivie"}},"Brasilia":{"long":{"generic":"heure de Brasilia","standard":"heure normale de Brasilia","daylight":"heure d’été de Brasilia"}},"Brunei":{"long":{"standard":"heure du Brunéi"}},"Cape_Verde":{"long":{"generic":"heure du Cap-Vert","standard":"heure normale du Cap-Vert","daylight":"heure d’été du Cap-Vert"}},"Chamorro":{"long":{"standard":"heure des Chamorro"}},"Chatham":{"long":{"generic":"heure des îles Chatham","standard":"heure normale des îles Chatham","daylight":"heure d’été des îles Chatham"}},"Chile":{"long":{"generic":"heure du Chili","standard":"heure normale du Chili","daylight":"heure d’été du Chili"}},"China":{"long":{"generic":"heure de la Chine","standard":"heure normale de la Chine","daylight":"heure d’été de Chine"}},"Choibalsan":{"long":{"generic":"heure de Choibalsan","standard":"heure normale de Choibalsan","daylight":"heure d’été de Choibalsan"}},"Christmas":{"long":{"standard":"heure de l’île Christmas"}},"Cocos":{"long":{"standard":"heure des îles Cocos"}},"Colombia":{"long":{"generic":"heure de Colombie","standard":"heure normale de Colombie","daylight":"heure d’été de Colombie"}},"Cook":{"long":{"generic":"heure des îles Cook","standard":"heure normale des îles Cook","daylight":"heure d’été des îles Cook"}},"Cuba":{"long":{"generic":"heure de Cuba","standard":"heure normale de Cuba","daylight":"heure d’été de Cuba"}},"Davis":{"long":{"standard":"heure de Davis"}},"DumontDUrville":{"long":{"standard":"heure de Dumont-d’Urville"}},"East_Timor":{"long":{"standard":"heure du Timor oriental"}},"Easter":{"long":{"generic":"heure de l’île de Pâques","standard":"heure normale de l’île de Pâques","daylight":"heure d’été de l’île de Pâques"}},"Ecuador":{"long":{"standard":"heure de l’Équateur"}},"Europe_Central":{"long":{"generic":"heure d’Europe centrale","standard":"heure normale d’Europe centrale","daylight":"heure d’été d’Europe centrale"}},"Europe_Eastern":{"long":{"generic":"heure d’Europe de l’Est","standard":"heure normale d’Europe de l’Est","daylight":"heure d’été d’Europe de l’Est"}},"Europe_Further_Eastern":{"long":{"standard":"heure de Kaliningrad"}},"Europe_Western":{"long":{"generic":"heure d’Europe de l’Ouest","standard":"heure normale d’Europe de l’Ouest","daylight":"heure d’été d’Europe de l’Ouest"}},"Falkland":{"long":{"generic":"heure des îles Malouines","standard":"heure normale des îles Malouines","daylight":"heure d’été des îles Malouines"}},"Fiji":{"long":{"generic":"heure des îles Fidji","standard":"heure normale des îles Fidji","daylight":"heure d’été des îles Fidji"}},"French_Guiana":{"long":{"standard":"heure de la Guyane française"}},"French_Southern":{"long":{"standard":"heure des Terres australes et antarctiques françaises"}},"Galapagos":{"long":{"standard":"heure des îles Galápagos"}},"Gambier":{"long":{"standard":"heure des îles Gambier"}},"Georgia":{"long":{"generic":"heure de la Géorgie","standard":"heure normale de la Géorgie","daylight":"heure d’été de Géorgie"}},"Gilbert_Islands":{"long":{"standard":"heure des îles Gilbert"}},"GMT":{"long":{"standard":"heure moyenne de Greenwich"}},"Greenland_Eastern":{"long":{"generic":"heure de l’Est du Groenland","standard":"heure normale de l’Est du Groenland","daylight":"heure d’été de l’Est du Groenland"}},"Greenland_Western":{"long":{"generic":"heure de l’Ouest du Groenland","standard":"heure normale de l’Ouest du Groenland","daylight":"heure d’été de l’Ouest du Groenland"}},"Guam":{"long":{"standard":"heure de Guam"}},"Gulf":{"long":{"standard":"heure du Golfe"}},"Guyana":{"long":{"standard":"heure du Guyana"}},"Hawaii_Aleutian":{"long":{"generic":"heure d’Hawaii - Aléoutiennes","standard":"heure normale d’Hawaii - Aléoutiennes","daylight":"heure d’été d’Hawaii - Aléoutiennes"}},"Hong_Kong":{"long":{"generic":"heure de Hong Kong","standard":"heure normale de Hong Kong","daylight":"heure d’été de Hong Kong"}},"Hovd":{"long":{"generic":"heure de Hovd","standard":"heure normale de Hovd","daylight":"heure d’été de Hovd"}},"India":{"long":{"standard":"heure de l’Inde"}},"Indian_Ocean":{"long":{"standard":"heure de l’Océan Indien"}},"Indochina":{"long":{"standard":"heure d’Indochine"}},"Indonesia_Central":{"long":{"standard":"heure du Centre indonésien"}},"Indonesia_Eastern":{"long":{"standard":"heure de l’Est indonésien"}},"Indonesia_Western":{"long":{"standard":"heure de l’Ouest indonésien"}},"Iran":{"long":{"generic":"heure de l’Iran","standard":"heure normale d’Iran","daylight":"heure d’été d’Iran"}},"Irkutsk":{"long":{"generic":"heure d’Irkoutsk","standard":"heure normale d’Irkoutsk","daylight":"heure d’été d’Irkoutsk"}},"Israel":{"long":{"generic":"heure d’Israël","standard":"heure normale d’Israël","daylight":"heure d’été d’Israël"}},"Japan":{"long":{"generic":"heure du Japon","standard":"heure normale du Japon","daylight":"heure d’été du Japon"}},"Kamchatka":{"long":{"generic":"heure de Petropavlovsk-Kamchatski","standard":"heure normale de Petropavlovsk-Kamchatski","daylight":"heure d’été de Petropavlovsk-Kamchatski"}},"Kazakhstan_Eastern":{"long":{"standard":"heure de l’Est du Kazakhstan"}},"Kazakhstan_Western":{"long":{"standard":"heure de l’Ouest du Kazakhstan"}},"Korea":{"long":{"generic":"heure de la Corée","standard":"heure normale de la Corée","daylight":"heure d’été de Corée"}},"Kosrae":{"long":{"standard":"heure de Kosrae"}},"Krasnoyarsk":{"long":{"generic":"heure de Krasnoïarsk","standard":"heure normale de Krasnoïarsk","daylight":"heure d’été de Krasnoïarsk"}},"Kyrgystan":{"long":{"standard":"heure du Kirghizistan"}},"Line_Islands":{"long":{"standard":"heure des îles de la Ligne"}},"Lord_Howe":{"long":{"generic":"heure de Lord Howe","standard":"heure normale de Lord Howe","daylight":"heure d’été de Lord Howe"}},"Macquarie":{"long":{"standard":"heure de l’île Macquarie"}},"Magadan":{"long":{"generic":"heure de Magadan","standard":"heure normale de Magadan","daylight":"heure d’été de Magadan"}},"Malaysia":{"long":{"standard":"heure de la Malaisie"}},"Maldives":{"long":{"standard":"heure des Maldives"}},"Marquesas":{"long":{"standard":"heure des îles Marquises"}},"Marshall_Islands":{"long":{"standard":"heure des îles Marshall"}},"Mauritius":{"long":{"generic":"heure de Maurice","standard":"heure normale de Maurice","daylight":"heure d’été de Maurice"}},"Mawson":{"long":{"standard":"heure de Mawson"}},"Mexico_Northwest":{"long":{"generic":"heure du Nord-Ouest du Mexique","standard":"heure normale du Nord-Ouest du Mexique","daylight":"heure d’été du Nord-Ouest du Mexique"}},"Mexico_Pacific":{"long":{"generic":"heure du Pacifique mexicain","standard":"heure normale du Pacifique mexicain","daylight":"heure d’été du Pacifique mexicain"}},"Mongolia":{"long":{"generic":"heure d’Oulan-Bator","standard":"heure normale d’Oulan-Bator","daylight":"heure d’été d’Oulan-Bator"}},"Moscow":{"long":{"generic":"heure de Moscou","standard":"heure normale de Moscou","daylight":"heure d’été de Moscou"}},"Myanmar":{"long":{"standard":"heure du Myanmar"}},"Nauru":{"long":{"standard":"heure de Nauru"}},"Nepal":{"long":{"standard":"heure du Népal"}},"New_Caledonia":{"long":{"generic":"heure de la Nouvelle-Calédonie","standard":"heure normale de la Nouvelle-Calédonie","daylight":"heure d’été de Nouvelle-Calédonie"}},"New_Zealand":{"long":{"generic":"heure de la Nouvelle-Zélande","standard":"heure normale de la Nouvelle-Zélande","daylight":"heure d’été de la Nouvelle-Zélande"}},"Newfoundland":{"long":{"generic":"heure de Terre-Neuve","standard":"heure normale de Terre-Neuve","daylight":"heure d’été de Terre-Neuve"}},"Niue":{"long":{"standard":"heure de Nioué"}},"Norfolk":{"long":{"generic":"heure de l’île Norfolk","standard":"heure normale de l’île Norfolk","daylight":"heure d’été de l’île Norfolk"}},"Noronha":{"long":{"generic":"heure de Fernando de Noronha","standard":"heure normale de Fernando de Noronha","daylight":"heure d’été de Fernando de Noronha"}},"North_Mariana":{"long":{"standard":"heure des îles Mariannes du Nord"}},"Novosibirsk":{"long":{"generic":"heure de Novossibirsk","standard":"heure normale de Novossibirsk","daylight":"heure d’été de Novossibirsk"}},"Omsk":{"long":{"generic":"heure de Omsk","standard":"heure normale de Omsk","daylight":"heure d’été de Omsk"}},"Pakistan":{"long":{"generic":"heure du Pakistan","standard":"heure normale du Pakistan","daylight":"heure d’été du Pakistan"}},"Palau":{"long":{"standard":"heure des Palaos"}},"Papua_New_Guinea":{"long":{"standard":"heure de la Papouasie-Nouvelle-Guinée"}},"Paraguay":{"long":{"generic":"heure du Paraguay","standard":"heure normale du Paraguay","daylight":"heure d’été du Paraguay"}},"Peru":{"long":{"generic":"heure du Pérou","standard":"heure normale du Pérou","daylight":"heure d’été du Pérou"}},"Philippines":{"long":{"generic":"heure des Philippines","standard":"heure normale des Philippines","daylight":"heure d’été des Philippines"}},"Phoenix_Islands":{"long":{"standard":"heure des îles Phoenix"}},"Pierre_Miquelon":{"long":{"generic":"heure de Saint-Pierre-et-Miquelon","standard":"heure normale de Saint-Pierre-et-Miquelon","daylight":"heure d’été de Saint-Pierre-et-Miquelon"}},"Pitcairn":{"long":{"standard":"heure des îles Pitcairn"}},"Ponape":{"long":{"standard":"heure de l’île de Pohnpei"}},"Pyongyang":{"long":{"standard":"heure de Pyongyang"}},"Reunion":{"long":{"standard":"heure de La Réunion"}},"Rothera":{"long":{"standard":"heure de Rothera"}},"Sakhalin":{"long":{"generic":"heure de Sakhaline","standard":"heure normale de Sakhaline","daylight":"heure d’été de Sakhaline"}},"Samara":{"long":{"generic":"heure de Samara","standard":"heure normale de Samara","daylight":"heure d’été de Samara"}},"Samoa":{"long":{"generic":"heure des Samoa","standard":"heure normale des Samoa","daylight":"heure d’été des Samoa"}},"Seychelles":{"long":{"standard":"heure des Seychelles"}},"Singapore":{"long":{"standard":"heure de Singapour"}},"Solomon":{"long":{"standard":"heure des îles Salomon"}},"South_Georgia":{"long":{"standard":"heure de Géorgie du Sud"}},"Suriname":{"long":{"standard":"heure du Suriname"}},"Syowa":{"long":{"standard":"heure de Syowa"}},"Tahiti":{"long":{"standard":"heure de Tahiti"}},"Taipei":{"long":{"generic":"heure de Taipei","standard":"heure normale de Taipei","daylight":"heure d’été de Taipei"}},"Tajikistan":{"long":{"standard":"heure du Tadjikistan"}},"Tokelau":{"long":{"standard":"heure de Tokelau"}},"Tonga":{"long":{"generic":"heure des Tonga","standard":"heure normale des Tonga","daylight":"heure d’été de Tonga"}},"Truk":{"long":{"standard":"heure de Chuuk"}},"Turkmenistan":{"long":{"generic":"heure du Turkménistan","standard":"heure normale du Turkménistan","daylight":"heure d’été du Turkménistan"}},"Tuvalu":{"long":{"standard":"heure des Tuvalu"}},"Uruguay":{"long":{"generic":"heure de l’Uruguay","standard":"heure normale de l’Uruguay","daylight":"heure d’été de l’Uruguay"}},"Uzbekistan":{"long":{"generic":"heure de l’Ouzbékistan","standard":"heure normale de l’Ouzbékistan","daylight":"heure d’été de l’Ouzbékistan"}},"Vanuatu":{"long":{"generic":"heure du Vanuatu","standard":"heure normale du Vanuatu","daylight":"heure d’été de Vanuatu"}},"Venezuela":{"long":{"standard":"heure du Venezuela"}},"Vladivostok":{"long":{"generic":"heure de Vladivostok","standard":"heure normale de Vladivostok","daylight":"heure d’été de Vladivostok"}},"Volgograd":{"long":{"generic":"heure de Volgograd","standard":"heure normale de Volgograd","daylight":"heure d’été de Volgograd"}},"Vostok":{"long":{"standard":"heure de Vostok"}},"Wake":{"long":{"standard":"heure de l’île Wake"}},"Wallis":{"long":{"standard":"heure de Wallis-et-Futuna"}},"Yakutsk":{"long":{"generic":"heure de Iakoutsk","standard":"heure normale de Iakoutsk","daylight":"heure d’été de Iakoutsk"}},"Yekaterinburg":{"long":{"generic":"heure d’Ekaterinbourg","standard":"heure normale d’Ekaterinbourg","daylight":"heure d’été d’Ekaterinbourg"}},"Yukon":{"long":{"standard":"heure normale du Yukon"}}}}}}}}')},916:function(t){"use strict";t.exports=JSON.parse('{"main":{"es":{"identity":{"version":{"_cldrVersion":"40"},"language":"es"},"numbers":{"currencies":{"ADP":{"displayName":"peseta andorrana","displayName-count-one":"peseta andorrana","displayName-count-other":"pesetas andorranas","symbol":"ADP"},"AED":{"displayName":"dírham de los Emiratos Árabes Unidos","displayName-count-one":"dírham de los Emiratos Árabes Unidos","displayName-count-other":"dírhams de los Emiratos Árabes Unidos","symbol":"AED"},"AFA":{"displayName":"afgani (1927–2002)","symbol":"AFA"},"AFN":{"displayName":"afgani","displayName-count-one":"afgani","displayName-count-other":"afganis","symbol":"AFN","symbol-alt-narrow":"؋"},"ALK":{"displayName":"ALK","symbol":"ALK"},"ALL":{"displayName":"lek","displayName-count-one":"lek","displayName-count-other":"leks","symbol":"ALL"},"AMD":{"displayName":"dram","displayName-count-one":"dram","displayName-count-other":"drams","symbol":"AMD","symbol-alt-narrow":"֏"},"ANG":{"displayName":"florín antillano","displayName-count-one":"florín antillano","displayName-count-other":"florines antillanos","symbol":"ANG"},"AOA":{"displayName":"kuanza","displayName-count-one":"kuanza","displayName-count-other":"kuanzas","symbol":"AOA","symbol-alt-narrow":"Kz"},"AOK":{"displayName":"kwanza angoleño (1977–1990)","symbol":"AOK"},"AON":{"displayName":"nuevo kwanza angoleño (1990–2000)","symbol":"AON"},"AOR":{"displayName":"kwanza reajustado angoleño (1995–1999)","symbol":"AOR"},"ARA":{"displayName":"austral argentino","displayName-count-one":"austral argentino","displayName-count-other":"australes argentinos","symbol":"ARA"},"ARL":{"displayName":"ARL","symbol":"ARL"},"ARM":{"displayName":"ARM","symbol":"ARM"},"ARP":{"displayName":"peso argentino (1983–1985)","displayName-count-one":"peso argentino (ARP)","displayName-count-other":"pesos argentinos (ARP)","symbol":"ARP"},"ARS":{"displayName":"peso argentino","displayName-count-one":"peso argentino","displayName-count-other":"pesos argentinos","symbol":"ARS","symbol-alt-narrow":"$"},"ATS":{"displayName":"chelín austriaco","displayName-count-one":"chelín austriaco","displayName-count-other":"chelines austriacos","symbol":"ATS"},"AUD":{"displayName":"dólar australiano","displayName-count-one":"dólar australiano","displayName-count-other":"dólares australianos","symbol":"AUD","symbol-alt-narrow":"$"},"AWG":{"displayName":"florín arubeño","displayName-count-one":"florín arubeño","displayName-count-other":"florines arubeños","symbol":"AWG"},"AZM":{"displayName":"manat azerí (1993–2006)","symbol":"AZM"},"AZN":{"displayName":"manat azerbaiyano","displayName-count-one":"manat azerbaiyano","displayName-count-other":"manats azerbaiyanos","symbol":"AZN","symbol-alt-narrow":"₼"},"BAD":{"displayName":"dinar bosnio","displayName-count-one":"dinar bosnio","displayName-count-other":"dinares bosnios","symbol":"BAD"},"BAM":{"displayName":"marco convertible de Bosnia y Herzegovina","displayName-count-one":"marco convertible de Bosnia y Herzegovina","displayName-count-other":"marcos convertibles de Bosnia y Herzegovina","symbol":"BAM","symbol-alt-narrow":"KM"},"BAN":{"displayName":"BAN","symbol":"BAN"},"BBD":{"displayName":"dólar barbadense","displayName-count-one":"dólar barbadense","displayName-count-other":"dólares barbadenses","symbol":"BBD","symbol-alt-narrow":"$"},"BDT":{"displayName":"taka","displayName-count-one":"taka","displayName-count-other":"takas","symbol":"BDT","symbol-alt-narrow":"৳"},"BEC":{"displayName":"franco belga (convertible)","displayName-count-one":"franco belga (convertible)","displayName-count-other":"francos belgas (convertibles)","symbol":"BEC"},"BEF":{"displayName":"franco belga","displayName-count-one":"franco belga","displayName-count-other":"francos belgas","symbol":"BEF"},"BEL":{"displayName":"franco belga (financiero)","displayName-count-one":"franco belga (financiero)","displayName-count-other":"francos belgas (financieros)","symbol":"BEL"},"BGL":{"displayName":"lev fuerte búlgaro","displayName-count-one":"lev fuerte búlgaro","displayName-count-other":"leva fuertes búlgaros","symbol":"BGL"},"BGM":{"displayName":"BGM","symbol":"BGM"},"BGN":{"displayName":"leva búlgara","displayName-count-one":"leva búlgara","displayName-count-other":"levas búlgaras","symbol":"BGN"},"BGO":{"displayName":"BGO","symbol":"BGO"},"BHD":{"displayName":"dinar bareiní","displayName-count-one":"dinar bareiní","displayName-count-other":"dinares bareiníes","symbol":"BHD"},"BIF":{"displayName":"franco burundés","displayName-count-one":"franco burundés","displayName-count-other":"francos burundeses","symbol":"BIF"},"BMD":{"displayName":"dólar bermudeño","displayName-count-one":"dólar bermudeño","displayName-count-other":"dólares bermudeños","symbol":"BMD","symbol-alt-narrow":"$"},"BND":{"displayName":"dólar bruneano","displayName-count-one":"dólar bruneano","displayName-count-other":"dólares bruneanos","symbol":"BND","symbol-alt-narrow":"$"},"BOB":{"displayName":"boliviano","displayName-count-one":"boliviano","displayName-count-other":"bolivianos","symbol":"BOB","symbol-alt-narrow":"Bs"},"BOL":{"displayName":"BOL","symbol":"BOL"},"BOP":{"displayName":"peso boliviano","displayName-count-one":"peso boliviano","displayName-count-other":"pesos bolivianos","symbol":"BOP"},"BOV":{"displayName":"MVDOL boliviano","displayName-count-one":"MVDOL boliviano","displayName-count-other":"MVDOL bolivianos","symbol":"BOV"},"BRB":{"displayName":"nuevo cruceiro brasileño (1967–1986)","displayName-count-one":"nuevo cruzado brasileño (BRB)","displayName-count-other":"nuevos cruzados brasileños (BRB)","symbol":"BRB"},"BRC":{"displayName":"cruzado brasileño","displayName-count-one":"cruzado brasileño","displayName-count-other":"cruzados brasileños","symbol":"BRC"},"BRE":{"displayName":"cruceiro brasileño (1990–1993)","displayName-count-one":"cruceiro brasileño (BRE)","displayName-count-other":"cruceiros brasileños (BRE)","symbol":"BRE"},"BRL":{"displayName":"real brasileño","displayName-count-one":"real brasileño","displayName-count-other":"reales brasileños","symbol":"BRL","symbol-alt-narrow":"R$"},"BRN":{"displayName":"nuevo cruzado brasileño","displayName-count-one":"nuevo cruzado brasileño","displayName-count-other":"nuevos cruzados brasileños","symbol":"BRN"},"BRR":{"displayName":"cruceiro brasileño","displayName-count-one":"cruceiro brasileño","displayName-count-other":"cruceiros brasileños","symbol":"BRR"},"BRZ":{"displayName":"BRZ","symbol":"BRZ"},"BSD":{"displayName":"dólar bahameño","displayName-count-one":"dólar bahameño","displayName-count-other":"dólares bahameños","symbol":"BSD","symbol-alt-narrow":"$"},"BTN":{"displayName":"gultrum","displayName-count-one":"gultrum","displayName-count-other":"gultrums","symbol":"BTN"},"BUK":{"displayName":"kyat birmano","displayName-count-one":"kyat birmano","displayName-count-other":"kyat birmanos","symbol":"BUK"},"BWP":{"displayName":"pula","displayName-count-one":"pula","displayName-count-other":"pulas","symbol":"BWP","symbol-alt-narrow":"P"},"BYB":{"displayName":"nuevo rublo bielorruso (1994–1999)","displayName-count-one":"nuevo rublo bielorruso","displayName-count-other":"nuevos rublos bielorrusos","symbol":"BYB"},"BYN":{"displayName":"rublo bielorruso","displayName-count-one":"rublo bielorruso","displayName-count-other":"rublos bielorrusos","symbol":"BYN","symbol-alt-narrow":"р."},"BYR":{"displayName":"rublo bielorruso (2000–2016)","displayName-count-one":"rublo bielorruso (2000–2016)","displayName-count-other":"rublos bielorrusos (2000–2016)","symbol":"BYR"},"BZD":{"displayName":"dólar beliceño","displayName-count-one":"dólar beliceño","displayName-count-other":"dólares beliceños","symbol":"BZD","symbol-alt-narrow":"$"},"CAD":{"displayName":"dólar canadiense","displayName-count-one":"dólar canadiense","displayName-count-other":"dólares canadienses","symbol":"CAD","symbol-alt-narrow":"$"},"CDF":{"displayName":"franco congoleño","displayName-count-one":"franco congoleño","displayName-count-other":"francos congoleños","symbol":"CDF"},"CHE":{"displayName":"euro WIR","displayName-count-one":"euro WIR","displayName-count-other":"euros WIR","symbol":"CHE"},"CHF":{"displayName":"franco suizo","displayName-count-one":"franco suizo","displayName-count-other":"francos suizos","symbol":"CHF"},"CHW":{"displayName":"franco WIR","displayName-count-one":"franco WIR","displayName-count-other":"francos WIR","symbol":"CHW"},"CLE":{"displayName":"CLE","symbol":"CLE"},"CLF":{"displayName":"unidad de fomento chilena","displayName-count-one":"unidad de fomento chilena","displayName-count-other":"unidades de fomento chilenas","symbol":"CLF"},"CLP":{"displayName":"peso chileno","displayName-count-one":"peso chileno","displayName-count-other":"pesos chilenos","symbol":"CLP","symbol-alt-narrow":"$"},"CNH":{"displayName":"yuan chino (extracontinental)","displayName-count-one":"yuan chino (extracontinental)","displayName-count-other":"yuanes chinos (extracontinentales)","symbol":"CNH"},"CNX":{"displayName":"CNX","symbol":"CNX"},"CNY":{"displayName":"yuan","displayName-count-one":"yuan","displayName-count-other":"yuanes","symbol":"CNY","symbol-alt-narrow":"¥"},"COP":{"displayName":"peso colombiano","displayName-count-one":"peso colombiano","displayName-count-other":"pesos colombianos","symbol":"COP","symbol-alt-narrow":"$"},"COU":{"displayName":"unidad de valor real colombiana","displayName-count-one":"unidad de valor real","displayName-count-other":"unidades de valor reales","symbol":"COU"},"CRC":{"displayName":"colón costarricense","displayName-count-one":"colón costarricense","displayName-count-other":"colones costarricenses","symbol":"CRC","symbol-alt-narrow":"₡"},"CSD":{"displayName":"antiguo dinar serbio","displayName-count-one":"antiguo dinar serbio","displayName-count-other":"antiguos dinares serbios","symbol":"CSD"},"CSK":{"displayName":"corona fuerte checoslovaca","displayName-count-one":"corona fuerte checoslovaca","displayName-count-other":"coronas fuertes checoslovacas","symbol":"CSK"},"CUC":{"displayName":"peso cubano convertible","displayName-count-one":"peso cubano convertible","displayName-count-other":"pesos cubanos convertibles","symbol":"CUC","symbol-alt-narrow":"$"},"CUP":{"displayName":"peso cubano","displayName-count-one":"peso cubano","displayName-count-other":"pesos cubanos","symbol":"CUP","symbol-alt-narrow":"$"},"CVE":{"displayName":"escudo de Cabo Verde","displayName-count-one":"escudo de Cabo Verde","displayName-count-other":"escudos de Cabo Verde","symbol":"CVE"},"CYP":{"displayName":"libra chipriota","displayName-count-one":"libra chipriota","displayName-count-other":"libras chipriotas","symbol":"CYP"},"CZK":{"displayName":"corona checa","displayName-count-one":"corona checa","displayName-count-other":"coronas checas","symbol":"CZK","symbol-alt-narrow":"Kč"},"DDM":{"displayName":"ostmark de Alemania del Este","displayName-count-one":"marco de la República Democrática Alemana","displayName-count-other":"marcos de la República Democrática Alemana","symbol":"DDM"},"DEM":{"displayName":"marco alemán","displayName-count-one":"marco alemán","displayName-count-other":"marcos alemanes","symbol":"DEM"},"DJF":{"displayName":"franco yibutiano","displayName-count-one":"franco yibutiano","displayName-count-other":"francos yibutianos","symbol":"DJF"},"DKK":{"displayName":"corona danesa","displayName-count-one":"corona danesa","displayName-count-other":"coronas danesas","symbol":"DKK","symbol-alt-narrow":"kr"},"DOP":{"displayName":"peso dominicano","displayName-count-one":"peso dominicano","displayName-count-other":"pesos dominicanos","symbol":"DOP","symbol-alt-narrow":"$"},"DZD":{"displayName":"dinar argelino","displayName-count-one":"dinar argelino","displayName-count-other":"dinares argelinos","symbol":"DZD"},"ECS":{"displayName":"sucre ecuatoriano","displayName-count-one":"sucre ecuatoriano","displayName-count-other":"sucres ecuatorianos","symbol":"ECS"},"ECV":{"displayName":"unidad de valor constante (UVC) ecuatoriana","displayName-count-one":"unidad de valor constante (UVC) ecuatoriana","displayName-count-other":"unidades de valor constante (UVC) ecuatorianas","symbol":"ECV"},"EEK":{"displayName":"corona estonia","displayName-count-one":"corona estonia","displayName-count-other":"coronas estonias","symbol":"EEK"},"EGP":{"displayName":"libra egipcia","displayName-count-one":"libra egipcia","displayName-count-other":"libras egipcias","symbol":"EGP","symbol-alt-narrow":"EGP"},"ERN":{"displayName":"nakfa","displayName-count-one":"nakfa","displayName-count-other":"nakfas","symbol":"ERN"},"ESA":{"displayName":"peseta española (cuenta A)","displayName-count-one":"peseta española (cuenta A)","displayName-count-other":"pesetas españolas (cuenta A)","symbol":"ESA"},"ESB":{"displayName":"peseta española (cuenta convertible)","displayName-count-one":"peseta española (cuenta convertible)","displayName-count-other":"pesetas españolas (cuenta convertible)","symbol":"ESB"},"ESP":{"displayName":"peseta española","displayName-count-one":"peseta española","displayName-count-other":"pesetas españolas","symbol":"₧","symbol-alt-narrow":"₧"},"ETB":{"displayName":"bir","displayName-count-one":"bir","displayName-count-other":"bires","symbol":"ETB"},"EUR":{"displayName":"euro","displayName-count-one":"euro","displayName-count-other":"euros","symbol":"€","symbol-alt-narrow":"€"},"FIM":{"displayName":"marco finlandés","displayName-count-one":"marco finlandés","displayName-count-other":"marcos finlandeses","symbol":"FIM"},"FJD":{"displayName":"dólar fiyiano","displayName-count-one":"dólar fiyiano","displayName-count-other":"dólares fiyianos","symbol":"FJD","symbol-alt-narrow":"$"},"FKP":{"displayName":"libra malvinense","displayName-count-one":"libra malvinense","displayName-count-other":"libras malvinenses","symbol":"FKP","symbol-alt-narrow":"£"},"FRF":{"displayName":"franco francés","displayName-count-one":"franco francés","displayName-count-other":"francos franceses","symbol":"FRF"},"GBP":{"displayName":"libra esterlina","displayName-count-one":"libra esterlina","displayName-count-other":"libras esterlinas","symbol":"GBP","symbol-alt-narrow":"£"},"GEK":{"displayName":"kupon larit georgiano","symbol":"GEK"},"GEL":{"displayName":"lari","displayName-count-one":"lari","displayName-count-other":"laris","symbol":"GEL","symbol-alt-narrow":"₾","symbol-alt-variant":"₾"},"GHC":{"displayName":"cedi ghanés (1979–2007)","symbol":"GHC"},"GHS":{"displayName":"cedi","displayName-count-one":"cedi","displayName-count-other":"cedis","symbol":"GHS","symbol-alt-narrow":"GH₵"},"GIP":{"displayName":"libra gibraltareña","displayName-count-one":"libra gibraltareña","displayName-count-other":"libras gibraltareñas","symbol":"GIP","symbol-alt-narrow":"£"},"GMD":{"displayName":"dalasi","displayName-count-one":"dalasi","displayName-count-other":"dalasis","symbol":"GMD"},"GNF":{"displayName":"franco guineano","displayName-count-one":"franco guineano","displayName-count-other":"francos guineanos","symbol":"GNF","symbol-alt-narrow":"FG"},"GNS":{"displayName":"syli guineano","symbol":"GNS"},"GQE":{"displayName":"ekuele de Guinea Ecuatorial","displayName-count-one":"ekuele de Guinea Ecuatorial","displayName-count-other":"ekueles de Guinea Ecuatorial","symbol":"GQE"},"GRD":{"displayName":"dracma griego","displayName-count-one":"dracma griego","displayName-count-other":"dracmas griegos","symbol":"GRD"},"GTQ":{"displayName":"quetzal guatemalteco","displayName-count-one":"quetzal guatemalteco","displayName-count-other":"quetzales guatemaltecos","symbol":"GTQ","symbol-alt-narrow":"Q"},"GWE":{"displayName":"escudo de Guinea Portuguesa","symbol":"GWE"},"GWP":{"displayName":"peso de Guinea-Bissáu","symbol":"GWP"},"GYD":{"displayName":"dólar guyanés","displayName-count-one":"dólar guyanés","displayName-count-other":"dólares guyaneses","symbol":"GYD","symbol-alt-narrow":"$"},"HKD":{"displayName":"dólar hongkonés","displayName-count-one":"dólar hongkonés","displayName-count-other":"dólares hongkoneses","symbol":"HKD","symbol-alt-narrow":"$"},"HNL":{"displayName":"lempira hondureño","displayName-count-one":"lempira hondureño","displayName-count-other":"lempiras hondureños","symbol":"HNL","symbol-alt-narrow":"L"},"HRD":{"displayName":"dinar croata","displayName-count-one":"dinar croata","displayName-count-other":"dinares croatas","symbol":"HRD"},"HRK":{"displayName":"kuna","displayName-count-one":"kuna","displayName-count-other":"kunas","symbol":"HRK","symbol-alt-narrow":"kn"},"HTG":{"displayName":"gurde haitiano","displayName-count-one":"gurde haitiano","displayName-count-other":"gurdes haitianos","symbol":"HTG"},"HUF":{"displayName":"forinto húngaro","displayName-count-one":"forinto húngaro","displayName-count-other":"forintos húngaros","symbol":"HUF","symbol-alt-narrow":"Ft"},"IDR":{"displayName":"rupia indonesia","displayName-count-one":"rupia indonesia","displayName-count-other":"rupias indonesias","symbol":"IDR","symbol-alt-narrow":"Rp"},"IEP":{"displayName":"libra irlandesa","displayName-count-one":"libra irlandesa","displayName-count-other":"libras irlandesas","symbol":"IEP"},"ILP":{"displayName":"libra israelí","displayName-count-one":"libra israelí","displayName-count-other":"libras israelíes","symbol":"ILP"},"ILR":{"displayName":"ILR","symbol":"ILR"},"ILS":{"displayName":"nuevo séquel israelí","displayName-count-one":"nuevo séquel israelí","displayName-count-other":"nuevos séqueles israelíes","symbol":"ILS","symbol-alt-narrow":"₪"},"INR":{"displayName":"rupia india","displayName-count-one":"rupia india","displayName-count-other":"rupias indias","symbol":"INR","symbol-alt-narrow":"₹"},"IQD":{"displayName":"dinar iraquí","displayName-count-one":"dinar iraquí","displayName-count-other":"dinares iraquíes","symbol":"IQD"},"IRR":{"displayName":"rial iraní","displayName-count-one":"rial iraní","displayName-count-other":"riales iraníes","symbol":"IRR"},"ISJ":{"displayName":"ISJ","symbol":"ISJ"},"ISK":{"displayName":"corona islandesa","displayName-count-one":"corona islandesa","displayName-count-other":"coronas islandesas","symbol":"ISK","symbol-alt-narrow":"kr"},"ITL":{"displayName":"lira italiana","displayName-count-one":"lira italiana","displayName-count-other":"liras italianas","symbol":"ITL"},"JMD":{"displayName":"dólar jamaicano","displayName-count-one":"dólar jamaicano","displayName-count-other":"dólares jamaicanos","symbol":"JMD","symbol-alt-narrow":"$"},"JOD":{"displayName":"dinar jordano","displayName-count-one":"dinar jordano","displayName-count-other":"dinares jordanos","symbol":"JOD"},"JPY":{"displayName":"yen","displayName-count-one":"yen","displayName-count-other":"yenes","symbol":"JPY","symbol-alt-narrow":"¥"},"KES":{"displayName":"chelín keniano","displayName-count-one":"chelín keniano","displayName-count-other":"chelines kenianos","symbol":"KES"},"KGS":{"displayName":"som","displayName-count-one":"som","displayName-count-other":"soms","symbol":"KGS"},"KHR":{"displayName":"riel","displayName-count-one":"riel","displayName-count-other":"rieles","symbol":"KHR","symbol-alt-narrow":"៛"},"KMF":{"displayName":"franco comorense","displayName-count-one":"franco comorense","displayName-count-other":"francos comorenses","symbol":"KMF","symbol-alt-narrow":"CF"},"KPW":{"displayName":"won norcoreano","displayName-count-one":"won norcoreano","displayName-count-other":"wons norcoreanos","symbol":"KPW","symbol-alt-narrow":"₩"},"KRH":{"displayName":"KRH","symbol":"KRH"},"KRO":{"displayName":"KRO","symbol":"KRO"},"KRW":{"displayName":"won surcoreano","displayName-count-one":"won surcoreano","displayName-count-other":"wons surcoreanos","symbol":"KRW","symbol-alt-narrow":"₩"},"KWD":{"displayName":"dinar kuwaití","displayName-count-one":"dinar kuwaití","displayName-count-other":"dinares kuwaitíes","symbol":"KWD"},"KYD":{"displayName":"dólar de las Islas Caimán","displayName-count-one":"dólar de las Islas Caimán","displayName-count-other":"dólares de las Islas Caimán","symbol":"KYD","symbol-alt-narrow":"$"},"KZT":{"displayName":"tengue kazajo","displayName-count-one":"tengue kazajo","displayName-count-other":"tengues kazajos","symbol":"KZT","symbol-alt-narrow":"₸"},"LAK":{"displayName":"kip","displayName-count-one":"kip","displayName-count-other":"kips","symbol":"LAK","symbol-alt-narrow":"₭"},"LBP":{"displayName":"libra libanesa","displayName-count-one":"libra libanesa","displayName-count-other":"libras libanesas","symbol":"LBP","symbol-alt-narrow":"L£"},"LKR":{"displayName":"rupia esrilanquesa","displayName-count-one":"rupia esrilanquesa","displayName-count-other":"rupias esrilanquesas","symbol":"LKR","symbol-alt-narrow":"Rs"},"LRD":{"displayName":"dólar liberiano","displayName-count-one":"dólar liberiano","displayName-count-other":"dólares liberianos","symbol":"LRD","symbol-alt-narrow":"$"},"LSL":{"displayName":"loti lesotense","displayName-count-one":"loti lesotense","displayName-count-other":"lotis lesotenses","symbol":"LSL"},"LTL":{"displayName":"litas lituano","displayName-count-one":"litas lituana","displayName-count-other":"litas lituanas","symbol":"LTL","symbol-alt-narrow":"Lt"},"LTT":{"displayName":"talonas lituano","displayName-count-one":"talonas lituana","displayName-count-other":"talonas lituanas","symbol":"LTT"},"LUC":{"displayName":"franco convertible luxemburgués","displayName-count-one":"franco convertible luxemburgués","displayName-count-other":"francos convertibles luxemburgueses","symbol":"LUC"},"LUF":{"displayName":"franco luxemburgués","displayName-count-one":"franco luxemburgués","displayName-count-other":"francos luxemburgueses","symbol":"LUF"},"LUL":{"displayName":"franco financiero luxemburgués","displayName-count-one":"franco financiero luxemburgués","displayName-count-other":"francos financieros luxemburgueses","symbol":"LUL"},"LVL":{"displayName":"lats letón","displayName-count-one":"lats letón","displayName-count-other":"lats letónes","symbol":"LVL","symbol-alt-narrow":"Ls"},"LVR":{"displayName":"rublo letón","displayName-count-one":"rublo letón","displayName-count-other":"rublos letones","symbol":"LVR"},"LYD":{"displayName":"dinar libio","displayName-count-one":"dinar libio","displayName-count-other":"dinares libios","symbol":"LYD"},"MAD":{"displayName":"dírham marroquí","displayName-count-one":"dírham marroquí","displayName-count-other":"dírhams marroquíes","symbol":"MAD"},"MAF":{"displayName":"franco marroquí","displayName-count-one":"franco marroquí","displayName-count-other":"francos marroquíes","symbol":"MAF"},"MCF":{"displayName":"MCF","symbol":"MCF"},"MDC":{"displayName":"MDC","symbol":"MDC"},"MDL":{"displayName":"leu moldavo","displayName-count-one":"leu moldavo","displayName-count-other":"leus moldavos","symbol":"MDL"},"MGA":{"displayName":"ariari","displayName-count-one":"ariari","displayName-count-other":"ariaris","symbol":"MGA","symbol-alt-narrow":"Ar"},"MGF":{"displayName":"franco malgache","symbol":"MGF"},"MKD":{"displayName":"dinar macedonio","displayName-count-one":"dinar macedonio","displayName-count-other":"dinares macedonios","symbol":"MKD"},"MKN":{"displayName":"MKN","symbol":"MKN"},"MLF":{"displayName":"franco malí","symbol":"MLF"},"MMK":{"displayName":"kiat","displayName-count-one":"kiat","displayName-count-other":"kiats","symbol":"MMK","symbol-alt-narrow":"K"},"MNT":{"displayName":"tugrik","displayName-count-one":"tugrik","displayName-count-other":"tugriks","symbol":"MNT","symbol-alt-narrow":"₮"},"MOP":{"displayName":"pataca de Macao","displayName-count-one":"pataca de Macao","displayName-count-other":"patacas de Macao","symbol":"MOP"},"MRO":{"displayName":"uguiya (1973–2017)","displayName-count-one":"uguiya (1973–2017)","displayName-count-other":"uguiyas (1973–2017)","symbol":"MRO"},"MRU":{"displayName":"uguiya","displayName-count-one":"uguiya","displayName-count-other":"uguiyas","symbol":"MRU"},"MTL":{"displayName":"lira maltesa","displayName-count-one":"lira maltesa","displayName-count-other":"liras maltesas","symbol":"MTL"},"MTP":{"displayName":"libra maltesa","displayName-count-one":"libra maltesa","displayName-count-other":"libras maltesas","symbol":"MTP"},"MUR":{"displayName":"rupia mauriciana","displayName-count-one":"rupia mauriciana","displayName-count-other":"rupias mauricianas","symbol":"MUR","symbol-alt-narrow":"Rs"},"MVP":{"displayName":"MVP","symbol":"MVP"},"MVR":{"displayName":"rufiya","displayName-count-one":"rufiya","displayName-count-other":"rufiyas","symbol":"MVR"},"MWK":{"displayName":"kuacha malauí","displayName-count-one":"kuacha malauí","displayName-count-other":"kuachas malauíes","symbol":"MWK"},"MXN":{"displayName":"peso mexicano","displayName-count-one":"peso mexicano","displayName-count-other":"pesos mexicanos","symbol":"MXN","symbol-alt-narrow":"$"},"MXP":{"displayName":"peso de plata mexicano (1861–1992)","displayName-count-one":"peso de plata mexicano (MXP)","displayName-count-other":"pesos de plata mexicanos (MXP)","symbol":"MXP"},"MXV":{"displayName":"unidad de inversión (UDI) mexicana","displayName-count-one":"unidad de inversión (UDI) mexicana","displayName-count-other":"unidades de inversión (UDI) mexicanas","symbol":"MXV"},"MYR":{"displayName":"ringit","displayName-count-one":"ringit","displayName-count-other":"ringits","symbol":"MYR","symbol-alt-narrow":"RM"},"MZE":{"displayName":"escudo mozambiqueño","displayName-count-one":"escudo mozambiqueño","displayName-count-other":"escudos mozambiqueños","symbol":"MZE"},"MZM":{"displayName":"antiguo metical mozambiqueño","symbol":"MZM"},"MZN":{"displayName":"metical","displayName-count-one":"metical","displayName-count-other":"meticales","symbol":"MZN"},"NAD":{"displayName":"dólar namibio","displayName-count-one":"dólar namibio","displayName-count-other":"dólares namibios","symbol":"NAD","symbol-alt-narrow":"$"},"NGN":{"displayName":"naira","displayName-count-one":"naira","displayName-count-other":"nairas","symbol":"NGN","symbol-alt-narrow":"₦"},"NIC":{"displayName":"córdoba nicaragüense (1988–1991)","displayName-count-one":"córdoba nicaragüense (1988–1991)","displayName-count-other":"córdobas nicaragüenses (1988–1991)","symbol":"NIC"},"NIO":{"displayName":"córdoba oro","displayName-count-one":"córdoba oro","displayName-count-other":"córdobas oro","symbol":"NIO","symbol-alt-narrow":"C$"},"NLG":{"displayName":"florín neerlandés","displayName-count-one":"florín neerlandés","displayName-count-other":"florines neerlandeses","symbol":"NLG"},"NOK":{"displayName":"corona noruega","displayName-count-one":"corona noruega","displayName-count-other":"coronas noruegas","symbol":"NOK","symbol-alt-narrow":"kr"},"NPR":{"displayName":"rupia nepalí","displayName-count-one":"rupia nepalí","displayName-count-other":"rupias nepalíes","symbol":"NPR","symbol-alt-narrow":"Rs"},"NZD":{"displayName":"dólar neozelandés","displayName-count-one":"dólar neozelandés","displayName-count-other":"dólares neozelandeses","symbol":"NZD","symbol-alt-narrow":"$"},"OMR":{"displayName":"rial omaní","displayName-count-one":"rial omaní","displayName-count-other":"riales omaníes","symbol":"OMR"},"PAB":{"displayName":"balboa panameño","displayName-count-one":"balboa panameño","displayName-count-other":"balboas panameños","symbol":"PAB"},"PEI":{"displayName":"inti peruano","displayName-count-one":"inti peruano","displayName-count-other":"intis peruanos","symbol":"PEI"},"PEN":{"displayName":"sol peruano","displayName-count-one":"sol peruano","displayName-count-other":"soles peruanos","symbol":"PEN"},"PES":{"displayName":"sol peruano (1863–1965)","displayName-count-one":"sol peruano (1863–1965)","displayName-count-other":"soles peruanos (1863–1965)","symbol":"PES"},"PGK":{"displayName":"kina","displayName-count-one":"kina","displayName-count-other":"kinas","symbol":"PGK"},"PHP":{"displayName":"peso filipino","displayName-count-one":"peso filipino","displayName-count-other":"pesos filipinos","symbol":"PHP","symbol-alt-narrow":"₱"},"PKR":{"displayName":"rupia pakistaní","displayName-count-one":"rupia pakistaní","displayName-count-other":"rupias pakistaníes","symbol":"PKR","symbol-alt-narrow":"Rs"},"PLN":{"displayName":"esloti","displayName-count-one":"esloti","displayName-count-other":"eslotis","symbol":"PLN","symbol-alt-narrow":"zł"},"PLZ":{"displayName":"zloty polaco (1950–1995)","displayName-count-one":"zloty polaco (PLZ)","displayName-count-other":"zlotys polacos (PLZ)","symbol":"PLZ"},"PTE":{"displayName":"escudo portugués","displayName-count-one":"escudo portugués","displayName-count-other":"escudos portugueses","symbol":"PTE"},"PYG":{"displayName":"guaraní paraguayo","displayName-count-one":"guaraní paraguayo","displayName-count-other":"guaraníes paraguayos","symbol":"PYG","symbol-alt-narrow":"₲"},"QAR":{"displayName":"rial catarí","displayName-count-one":"rial catarí","displayName-count-other":"riales cataríes","symbol":"QAR"},"RHD":{"displayName":"dólar rodesiano","symbol":"RHD"},"ROL":{"displayName":"antiguo leu rumano","displayName-count-one":"antiguo leu rumano","displayName-count-other":"antiguos lei rumanos","symbol":"ROL"},"RON":{"displayName":"leu rumano","displayName-count-one":"leu rumano","displayName-count-other":"leus rumanos","symbol":"RON","symbol-alt-narrow":"L"},"RSD":{"displayName":"dinar serbio","displayName-count-one":"dinar serbio","displayName-count-other":"dinares serbios","symbol":"RSD"},"RUB":{"displayName":"rublo ruso","displayName-count-one":"rublo ruso","displayName-count-other":"rublos rusos","symbol":"RUB","symbol-alt-narrow":"₽"},"RUR":{"displayName":"rublo ruso (1991–1998)","displayName-count-one":"rublo ruso (RUR)","displayName-count-other":"rublos rusos (RUR)","symbol":"RUR"},"RWF":{"displayName":"franco ruandés","displayName-count-one":"franco ruandés","displayName-count-other":"francos ruandeses","symbol":"RWF","symbol-alt-narrow":"RF"},"SAR":{"displayName":"rial saudí","displayName-count-one":"rial saudí","displayName-count-other":"riales saudíes","symbol":"SAR"},"SBD":{"displayName":"dólar salomonense","displayName-count-one":"dólar salomonense","displayName-count-other":"dólares salomonenses","symbol":"SBD","symbol-alt-narrow":"$"},"SCR":{"displayName":"rupia seychellense","displayName-count-one":"rupia seychellense","displayName-count-other":"rupias seychellenses","symbol":"SCR"},"SDD":{"displayName":"dinar sudanés","displayName-count-one":"dinar sudanés","displayName-count-other":"dinares sudaneses","symbol":"SDD"},"SDG":{"displayName":"libra sudanesa","displayName-count-one":"libra sudanesa","displayName-count-other":"libras sudanesas","symbol":"SDG"},"SDP":{"displayName":"libra sudanesa antigua","displayName-count-one":"libra sudanesa antigua","displayName-count-other":"libras sudanesas antiguas","symbol":"SDP"},"SEK":{"displayName":"corona sueca","displayName-count-one":"corona sueca","displayName-count-other":"coronas suecas","symbol":"SEK","symbol-alt-narrow":"kr"},"SGD":{"displayName":"dólar singapurense","displayName-count-one":"dólar singapurense","displayName-count-other":"dólares singapurenses","symbol":"SGD","symbol-alt-narrow":"$"},"SHP":{"displayName":"libra de Santa Elena","displayName-count-one":"libra de Santa Elena","displayName-count-other":"libras de Santa Elena","symbol":"SHP","symbol-alt-narrow":"£"},"SIT":{"displayName":"tólar esloveno","displayName-count-one":"tólar esloveno","displayName-count-other":"tólares eslovenos","symbol":"SIT"},"SKK":{"displayName":"corona eslovaca","displayName-count-one":"corona eslovaca","displayName-count-other":"coronas eslovacas","symbol":"SKK"},"SLL":{"displayName":"leona","displayName-count-one":"leona","displayName-count-other":"leonas","symbol":"SLL"},"SOS":{"displayName":"chelín somalí","displayName-count-one":"chelín somalí","displayName-count-other":"chelines somalíes","symbol":"SOS"},"SRD":{"displayName":"dólar surinamés","displayName-count-one":"dólar surinamés","displayName-count-other":"dólares surinameses","symbol":"SRD","symbol-alt-narrow":"$"},"SRG":{"displayName":"florín surinamés","symbol":"SRG"},"SSP":{"displayName":"libra sursudanesa","displayName-count-one":"libra sursudanesa","displayName-count-other":"libras sursudanesas","symbol":"SSP","symbol-alt-narrow":"£"},"STD":{"displayName":"dobra (1977–2017)","displayName-count-one":"dobra (1977–2017)","displayName-count-other":"dobras (1977–2017)","symbol":"STD"},"STN":{"displayName":"dobra","displayName-count-one":"dobra","displayName-count-other":"dobras","symbol":"STN","symbol-alt-narrow":"Db"},"SUR":{"displayName":"rublo soviético","displayName-count-one":"rublo soviético","displayName-count-other":"rublos soviéticos","symbol":"SUR"},"SVC":{"displayName":"colón salvadoreño","displayName-count-one":"colón salvadoreño","displayName-count-other":"colones salvadoreños","symbol":"SVC"},"SYP":{"displayName":"libra siria","displayName-count-one":"libra siria","displayName-count-other":"libras sirias","symbol":"SYP","symbol-alt-narrow":"£"},"SZL":{"displayName":"lilangeni","displayName-count-one":"lilangeni","displayName-count-other":"lilangenis","symbol":"SZL"},"THB":{"displayName":"bat","displayName-count-one":"bat","displayName-count-other":"bats","symbol":"฿","symbol-alt-narrow":"฿"},"TJR":{"displayName":"rublo tayiko","symbol":"TJR"},"TJS":{"displayName":"somoni tayiko","displayName-count-one":"somoni tayiko","displayName-count-other":"somonis tayikos","symbol":"TJS"},"TMM":{"displayName":"manat turcomano (1993–2009)","displayName-count-one":"manat turcomano (1993–2009)","displayName-count-other":"manats turcomanos (1993–2009)","symbol":"TMM"},"TMT":{"displayName":"manat turcomano","displayName-count-one":"manat turcomano","displayName-count-other":"manats turcomanos","symbol":"TMT"},"TND":{"displayName":"dinar tunecino","displayName-count-one":"dinar tunecino","displayName-count-other":"dinares tunecinos","symbol":"TND"},"TOP":{"displayName":"paanga","displayName-count-one":"paanga","displayName-count-other":"paangas","symbol":"TOP","symbol-alt-narrow":"T$"},"TPE":{"displayName":"escudo timorense","symbol":"TPE"},"TRL":{"displayName":"lira turca (1922–2005)","displayName-count-one":"lira turca (1922–2005)","displayName-count-other":"liras turcas (1922–2005)","symbol":"TRL"},"TRY":{"displayName":"lira turca","displayName-count-one":"lira turca","displayName-count-other":"liras turcas","symbol":"TRY","symbol-alt-narrow":"₺","symbol-alt-variant":"TL"},"TTD":{"displayName":"dólar de Trinidad y Tobago","displayName-count-one":"dólar de Trinidad y Tobago","displayName-count-other":"dólares de Trinidad y Tobago","symbol":"TTD","symbol-alt-narrow":"$"},"TWD":{"displayName":"nuevo dólar taiwanés","displayName-count-one":"nuevo dólar taiwanés","displayName-count-other":"nuevos dólares taiwaneses","symbol":"TWD","symbol-alt-narrow":"NT$"},"TZS":{"displayName":"chelín tanzano","displayName-count-one":"chelín tanzano","displayName-count-other":"chelines tanzanos","symbol":"TZS"},"UAH":{"displayName":"grivna","displayName-count-one":"grivna","displayName-count-other":"grivnas","symbol":"UAH","symbol-alt-narrow":"₴"},"UAK":{"displayName":"karbovanet ucraniano","displayName-count-one":"karbovanet ucraniano","displayName-count-other":"karbovanets ucranianos","symbol":"UAK"},"UGS":{"displayName":"chelín ugandés (1966–1987)","symbol":"UGS"},"UGX":{"displayName":"chelín ugandés","displayName-count-one":"chelín ugandés","displayName-count-other":"chelines ugandeses","symbol":"UGX"},"USD":{"displayName":"dólar estadounidense","displayName-count-one":"dólar estadounidense","displayName-count-other":"dólares estadounidenses","symbol":"US$","symbol-alt-narrow":"$"},"USN":{"displayName":"dólar estadounidense (día siguiente)","displayName-count-one":"dólar estadounidense (día siguiente)","displayName-count-other":"dólares estadounidenses (día siguiente)","symbol":"USN"},"USS":{"displayName":"dólar estadounidense (mismo día)","displayName-count-one":"dólar estadounidense (mismo día)","displayName-count-other":"dólares estadounidenses (mismo día)","symbol":"USS"},"UYI":{"displayName":"peso uruguayo en unidades indexadas","displayName-count-one":"peso uruguayo en unidades indexadas","displayName-count-other":"pesos uruguayos en unidades indexadas","symbol":"UYI"},"UYP":{"displayName":"peso uruguayo (1975–1993)","displayName-count-one":"peso uruguayo (UYP)","displayName-count-other":"pesos uruguayos (UYP)","symbol":"UYP"},"UYU":{"displayName":"peso uruguayo","displayName-count-one":"peso uruguayo","displayName-count-other":"pesos uruguayos","symbol":"UYU","symbol-alt-narrow":"$"},"UYW":{"displayName":"unidad previsional uruguayo","displayName-count-one":"unidad previsional uruguayo","displayName-count-other":"unidades previsionales uruguayos","symbol":"UYW"},"UZS":{"displayName":"sum","displayName-count-one":"sum","displayName-count-other":"sums","symbol":"UZS"},"VEB":{"displayName":"bolívar venezolano (1871–2008)","displayName-count-one":"bolívar venezolano (1871–2008)","displayName-count-other":"bolívares venezolanos (1871–2008)","symbol":"VEB"},"VEF":{"displayName":"bolívar venezolano (2008–2018)","displayName-count-one":"bolívar venezolano (2008–2018)","displayName-count-other":"bolívares venezolanos (2008–2018)","symbol":"VEF","symbol-alt-narrow":"Bs"},"VES":{"displayName":"bolívar venezolano","displayName-count-one":"bolívar venezolano","displayName-count-other":"bolívares venezolanos","symbol":"VES"},"VND":{"displayName":"dong","displayName-count-one":"dong","displayName-count-other":"dongs","symbol":"₫","symbol-alt-narrow":"₫"},"VNN":{"displayName":"VNN","symbol":"VNN"},"VUV":{"displayName":"vatu","displayName-count-one":"vatu","displayName-count-other":"vatus","symbol":"VUV"},"WST":{"displayName":"tala","displayName-count-one":"tala","displayName-count-other":"talas","symbol":"WST"},"XAF":{"displayName":"franco CFA de África Central","displayName-count-one":"franco CFA de África Central","displayName-count-other":"francos CFA de África Central","symbol":"XAF"},"XAG":{"displayName":"plata","displayName-count-one":"plata","displayName-count-other":"plata","symbol":"XAG"},"XAU":{"displayName":"oro","displayName-count-one":"oro","displayName-count-other":"oro","symbol":"XAU"},"XBA":{"displayName":"unidad compuesta europea","displayName-count-one":"unidad compuesta europea","displayName-count-other":"unidades compuestas europeas","symbol":"XBA"},"XBB":{"displayName":"unidad monetaria europea","displayName-count-one":"unidad monetaria europea","displayName-count-other":"unidades monetarias europeas","symbol":"XBB"},"XBC":{"displayName":"unidad de cuenta europea (XBC)","displayName-count-one":"unidad de cuenta europea (XBC)","displayName-count-other":"unidades de cuenta europeas (XBC)","symbol":"XBC"},"XBD":{"displayName":"unidad de cuenta europea (XBD)","displayName-count-one":"unidad de cuenta europea (XBD)","displayName-count-other":"unidades de cuenta europeas (XBD)","symbol":"XBD"},"XCD":{"displayName":"dólar del Caribe Oriental","displayName-count-one":"dólar del Caribe Oriental","displayName-count-other":"dólares del Caribe Oriental","symbol":"XCD","symbol-alt-narrow":"$"},"XDR":{"displayName":"derechos especiales de giro","symbol":"XDR"},"XEU":{"displayName":"unidad de moneda europea","displayName-count-one":"unidad de moneda europea","displayName-count-other":"unidades de moneda europeas","symbol":"XEU"},"XFO":{"displayName":"franco oro francés","displayName-count-one":"franco oro francés","displayName-count-other":"francos oro franceses","symbol":"XFO"},"XFU":{"displayName":"franco UIC francés","displayName-count-one":"franco UIC francés","displayName-count-other":"francos UIC franceses","symbol":"XFU"},"XOF":{"displayName":"franco CFA de África Occidental","displayName-count-one":"franco CFA de África Occidental","displayName-count-other":"francos CFA de África Occidental","symbol":"XOF"},"XPD":{"displayName":"paladio","displayName-count-one":"paladio","displayName-count-other":"paladio","symbol":"XPD"},"XPF":{"displayName":"franco CFP","displayName-count-one":"franco CFP","displayName-count-other":"francos CFP","symbol":"CFPF"},"XPT":{"displayName":"platino","displayName-count-one":"platino","displayName-count-other":"platino","symbol":"XPT"},"XRE":{"displayName":"fondos RINET","symbol":"XRE"},"XSU":{"displayName":"XSU","symbol":"XSU"},"XTS":{"displayName":"código reservado para pruebas","symbol":"XTS"},"XUA":{"displayName":"XUA","symbol":"XUA"},"XXX":{"displayName":"moneda desconocida","displayName-count-one":"(moneda desconocida)","displayName-count-other":"(moneda desconocida)","symbol":"¤"},"YDD":{"displayName":"dinar yemení","symbol":"YDD"},"YER":{"displayName":"rial yemení","displayName-count-one":"rial yemení","displayName-count-other":"riales yemeníes","symbol":"YER"},"YUD":{"displayName":"dinar fuerte yugoslavo","symbol":"YUD"},"YUM":{"displayName":"super dinar yugoslavo","symbol":"YUM"},"YUN":{"displayName":"dinar convertible yugoslavo","displayName-count-one":"dinar convertible yugoslavo","displayName-count-other":"dinares convertibles yugoslavos","symbol":"YUN"},"YUR":{"displayName":"YUR","symbol":"YUR"},"ZAL":{"displayName":"rand sudafricano (financiero)","symbol":"ZAL"},"ZAR":{"displayName":"rand","displayName-count-one":"rand","displayName-count-other":"rands","symbol":"ZAR","symbol-alt-narrow":"R"},"ZMK":{"displayName":"kwacha zambiano (1968–2012)","displayName-count-one":"kwacha zambiano (1968–2012)","displayName-count-other":"kwachas zambianos (1968–2012)","symbol":"ZMK"},"ZMW":{"displayName":"kuacha zambiano","displayName-count-one":"kuacha zambiano","displayName-count-other":"kuachas zambianos","symbol":"ZMW","symbol-alt-narrow":"ZK"},"ZRN":{"displayName":"nuevo zaire zaireño","symbol":"ZRN"},"ZRZ":{"displayName":"zaire zaireño","symbol":"ZRZ"},"ZWD":{"displayName":"dólar de Zimbabue","symbol":"ZWD"},"ZWL":{"displayName":"dólar zimbabuense","symbol":"ZWL"},"ZWR":{"displayName":"ZWR","symbol":"ZWR"}}}}}}')},6835:function(t){"use strict";t.exports=JSON.parse('{"main":{"es":{"identity":{"version":{"_cldrVersion":"40"},"language":"es"},"numbers":{"defaultNumberingSystem":"latn","otherNumberingSystems":{"native":"latn"},"minimumGroupingDigits":"2","symbols-numberSystem-latn":{"decimal":",","group":".","list":";","percentSign":"%","plusSign":"+","minusSign":"-","approximatelySign":"~","exponential":"E","superscriptingExponent":"×","perMille":"‰","infinity":"∞","nan":"NaN","timeSeparator":":"},"decimalFormats-numberSystem-latn":{"standard":"#,##0.###","long":{"decimalFormat":{"1000-count-one":"0 mil","1000-count-other":"0 mil","10000-count-one":"00 mil","10000-count-other":"00 mil","100000-count-one":"000 mil","100000-count-other":"000 mil","1000000-count-one":"0 millón","1000000-count-other":"0 millones","10000000-count-one":"00 millones","10000000-count-other":"00 millones","100000000-count-one":"000 millones","100000000-count-other":"000 millones","1000000000-count-one":"0 mil millones","1000000000-count-other":"0 mil millones","10000000000-count-one":"00 mil millones","10000000000-count-other":"00 mil millones","100000000000-count-one":"000 mil millones","100000000000-count-other":"000 mil millones","1000000000000-count-one":"0 billón","1000000000000-count-other":"0 billones","10000000000000-count-one":"00 billones","10000000000000-count-other":"00 billones","100000000000000-count-one":"000 billones","100000000000000-count-other":"000 billones"}},"short":{"decimalFormat":{"1000-count-one":"0 mil","1000-count-other":"0 mil","10000-count-one":"00 mil","10000-count-other":"00 mil","100000-count-one":"000 mil","100000-count-other":"000 mil","1000000-count-one":"0 M","1000000-count-other":"0 M","10000000-count-one":"00 M","10000000-count-other":"00 M","100000000-count-one":"000 M","100000000-count-other":"000 M","1000000000-count-one":"0000 M","1000000000-count-other":"0000 M","10000000000-count-one":"00 mil M","10000000000-count-other":"00 mil M","100000000000-count-one":"000 mil M","100000000000-count-other":"000 mil M","1000000000000-count-one":"0 B","1000000000000-count-other":"0 B","10000000000000-count-one":"00 B","10000000000000-count-other":"00 B","100000000000000-count-one":"000 B","100000000000000-count-other":"000 B"}}},"scientificFormats-numberSystem-latn":{"standard":"#E0"},"percentFormats-numberSystem-latn":{"standard":"#,##0 %"},"currencyFormats-numberSystem-latn":{"currencySpacing":{"beforeCurrency":{"currencyMatch":"[[:^S:]&[:^Z:]]","surroundingMatch":"[:digit:]","insertBetween":" "},"afterCurrency":{"currencyMatch":"[[:^S:]&[:^Z:]]","surroundingMatch":"[:digit:]","insertBetween":" "}},"standard":"#,##0.00 ¤","accounting":"#,##0.00 ¤","short":{"standard":{"1000-count-one":"0 mil ¤","1000-count-other":"0 mil ¤","10000-count-one":"00 mil ¤","10000-count-other":"00 mil ¤","100000-count-one":"000 mil ¤","100000-count-other":"000 mil ¤","1000000-count-one":"0 M¤","1000000-count-other":"0 M¤","10000000-count-one":"00 M¤","10000000-count-other":"00 M¤","100000000-count-one":"000 M¤","100000000-count-other":"000 M¤","1000000000-count-one":"0000 M¤","1000000000-count-other":"0000 M¤","10000000000-count-one":"00 mil M¤","10000000000-count-other":"00 mil M¤","100000000000-count-one":"000 mil M¤","100000000000-count-other":"000 mil M¤","1000000000000-count-one":"0 B¤","1000000000000-count-other":"0 B¤","10000000000000-count-one":"00 B¤","10000000000000-count-other":"00 B¤","100000000000000-count-one":"000 B¤","100000000000000-count-other":"000 B¤"}},"unitPattern-count-one":"{0} {1}","unitPattern-count-other":"{0} {1}"},"miscPatterns-numberSystem-latn":{"approximately":"~{0}","atLeast":"Más de {0}","atMost":"≤{0}","range":"{0}-{1}"},"minimalPairs":{"pluralMinimalPairs-count-one":"{0} día","pluralMinimalPairs-count-many":"{0} de días","pluralMinimalPairs-count-other":"{0} días","other":"Toma la {0}.ª a la derecha.","feminine":"La {0} es...","masculine":"El {0} es…"}}}}}')},7068:function(t){"use strict";t.exports=JSON.parse('{"main":{"fr":{"identity":{"version":{"_cldrVersion":"40"},"language":"fr"},"numbers":{"currencies":{"ADP":{"displayName":"peseta andorrane","displayName-count-one":"peseta andorrane","displayName-count-other":"pesetas andorranes","symbol":"ADP"},"AED":{"displayName":"dirham des Émirats arabes unis","displayName-count-one":"dirham des Émirats arabes unis","displayName-count-other":"dirhams des Émirats arabes unis","symbol":"AED"},"AFA":{"displayName":"afghani (1927–2002)","displayName-count-one":"afghani (1927–2002)","displayName-count-other":"afghanis (1927–2002)","symbol":"AFA"},"AFN":{"displayName":"afghani afghan","displayName-count-one":"afghani afghan","displayName-count-other":"afghanis afghan","symbol":"AFN","symbol-alt-narrow":"؋"},"ALK":{"displayName":"lek albanais (1947–1961)","displayName-count-one":"lek albanais (1947–1961)","displayName-count-other":"leks albanais (1947–1961)","symbol":"ALK"},"ALL":{"displayName":"lek albanais","displayName-count-one":"lek albanais","displayName-count-other":"leks albanais","symbol":"ALL"},"AMD":{"displayName":"dram arménien","displayName-count-one":"dram arménien","displayName-count-other":"drams arméniens","symbol":"AMD","symbol-alt-narrow":"֏"},"ANG":{"displayName":"florin antillais","displayName-count-one":"florin antillais","displayName-count-other":"florins antillais","symbol":"ANG"},"AOA":{"displayName":"kwanza angolais","displayName-count-one":"kwanza angolais","displayName-count-other":"kwanzas angolais","symbol":"AOA","symbol-alt-narrow":"Kz"},"AOK":{"displayName":"kwanza angolais (1977–1990)","displayName-count-one":"kwanza angolais (1977–1990)","displayName-count-other":"kwanzas angolais (1977–1990)","symbol":"AOK"},"AON":{"displayName":"nouveau kwanza angolais (1990–2000)","displayName-count-one":"nouveau kwanza angolais (1990–2000)","displayName-count-other":"nouveaux kwanzas angolais (1990–2000)","symbol":"AON"},"AOR":{"displayName":"kwanza angolais réajusté (1995–1999)","displayName-count-one":"kwanza angolais réajusté (1995–1999)","displayName-count-other":"kwanzas angolais réajustés (1995–1999)","symbol":"AOR"},"ARA":{"displayName":"austral argentin","displayName-count-one":"austral argentin","displayName-count-other":"australs argentins","symbol":"ARA"},"ARL":{"displayName":"ARL","symbol":"ARL"},"ARM":{"displayName":"ARM","symbol":"ARM"},"ARP":{"displayName":"peso argentin (1983–1985)","displayName-count-one":"peso argentin (1983–1985)","displayName-count-other":"pesos argentins (1983–1985)","symbol":"ARP"},"ARS":{"displayName":"peso argentin","displayName-count-one":"peso argentin","displayName-count-other":"pesos argentins","symbol":"$AR","symbol-alt-narrow":"$"},"ATS":{"displayName":"schilling autrichien","displayName-count-one":"schilling autrichien","displayName-count-other":"schillings autrichiens","symbol":"ATS"},"AUD":{"displayName":"dollar australien","displayName-count-one":"dollar australien","displayName-count-other":"dollars australiens","symbol":"$AU","symbol-alt-narrow":"$"},"AWG":{"displayName":"florin arubais","displayName-count-one":"florin arubais","displayName-count-other":"florins arubais","symbol":"AWG"},"AZM":{"displayName":"manat azéri (1993–2006)","displayName-count-one":"manat azéri (1993–2006)","displayName-count-other":"manats azéris (1993–2006)","symbol":"AZM"},"AZN":{"displayName":"manat azéri","displayName-count-one":"manat azéri","displayName-count-other":"manats azéris","symbol":"AZN","symbol-alt-narrow":"₼"},"BAD":{"displayName":"dinar bosniaque","displayName-count-one":"dinar bosniaque","displayName-count-other":"dinars bosniaques","symbol":"BAD"},"BAM":{"displayName":"mark convertible bosniaque","displayName-count-one":"mark convertible bosniaque","displayName-count-other":"marks convertibles bosniaques","symbol":"BAM","symbol-alt-narrow":"KM"},"BAN":{"displayName":"BAN","symbol":"BAN"},"BBD":{"displayName":"dollar barbadien","displayName-count-one":"dollar barbadien","displayName-count-other":"dollars barbadiens","symbol":"BBD","symbol-alt-narrow":"$"},"BDT":{"displayName":"taka bangladeshi","displayName-count-one":"taka bangladeshi","displayName-count-other":"takas bangladeshis","symbol":"BDT","symbol-alt-narrow":"৳"},"BEC":{"displayName":"franc belge (convertible)","displayName-count-one":"franc belge (convertible)","displayName-count-other":"francs belges (convertibles)","symbol":"BEC"},"BEF":{"displayName":"franc belge","displayName-count-one":"franc belge","displayName-count-other":"francs belges","symbol":"FB"},"BEL":{"displayName":"franc belge (financier)","displayName-count-one":"franc belge (financier)","displayName-count-other":"francs belges (financiers)","symbol":"BEL"},"BGL":{"displayName":"lev bulgare (1962–1999)","displayName-count-one":"lev bulgare (1962–1999)","displayName-count-other":"levs bulgares (1962–1999)","symbol":"BGL"},"BGM":{"displayName":"BGM","symbol":"BGM"},"BGN":{"displayName":"lev bulgare","displayName-count-one":"lev bulgare","displayName-count-other":"levs bulgares","symbol":"BGN"},"BGO":{"displayName":"BGO","symbol":"BGO"},"BHD":{"displayName":"dinar bahreïni","displayName-count-one":"dinar bahreïni","displayName-count-other":"dinars bahreïnis","symbol":"BHD"},"BIF":{"displayName":"franc burundais","displayName-count-one":"franc burundais","displayName-count-other":"francs burundais","symbol":"BIF"},"BMD":{"displayName":"dollar bermudien","displayName-count-one":"dollar bermudien","displayName-count-other":"dollars bermudiens","symbol":"$BM","symbol-alt-narrow":"$"},"BND":{"displayName":"dollar brunéien","displayName-count-one":"dollar brunéien","displayName-count-other":"dollars brunéiens","symbol":"$BN","symbol-alt-narrow":"$"},"BOB":{"displayName":"boliviano bolivien","displayName-count-one":"boliviano bolivien","displayName-count-other":"bolivianos boliviens","symbol":"BOB","symbol-alt-narrow":"Bs"},"BOL":{"displayName":"BOL","symbol":"BOL"},"BOP":{"displayName":"peso bolivien","displayName-count-one":"peso bolivien","displayName-count-other":"pesos boliviens","symbol":"BOP"},"BOV":{"displayName":"mvdol bolivien","displayName-count-one":"mvdol bolivien","displayName-count-other":"mvdols boliviens","symbol":"BOV"},"BRB":{"displayName":"nouveau cruzeiro brésilien (1967–1986)","displayName-count-one":"nouveau cruzeiro brésilien (1967–1986)","displayName-count-other":"nouveaux cruzeiros brésiliens (1967–1986)","symbol":"BRB"},"BRC":{"displayName":"cruzado brésilien (1986–1989)","displayName-count-one":"cruzado brésilien (1986–1989)","displayName-count-other":"cruzados brésiliens (1986–1989)","symbol":"BRC"},"BRE":{"displayName":"cruzeiro brésilien (1990–1993)","displayName-count-one":"cruzeiro brésilien (1990–1993)","displayName-count-other":"cruzeiros brésiliens (1990–1993)","symbol":"BRE"},"BRL":{"displayName":"réal brésilien","displayName-count-one":"réal brésilien","displayName-count-other":"réals brésiliens","symbol":"R$","symbol-alt-narrow":"R$"},"BRN":{"displayName":"nouveau cruzado","displayName-count-one":"nouveau cruzado brésilien (1989–1990)","displayName-count-other":"nouveaux cruzados brésiliens (1989–1990)","symbol":"BRN"},"BRR":{"displayName":"cruzeiro","displayName-count-one":"cruzeiro réal brésilien (1993–1994)","displayName-count-other":"cruzeiros réals brésiliens (1993–1994)","symbol":"BRR"},"BRZ":{"displayName":"BRZ","symbol":"BRZ"},"BSD":{"displayName":"dollar bahaméen","displayName-count-one":"dollar bahaméen","displayName-count-other":"dollars bahaméens","symbol":"BSD","symbol-alt-narrow":"$"},"BTN":{"displayName":"ngultrum bouthanais","displayName-count-one":"ngultrum bouthanais","displayName-count-other":"ngultrums bouthanais","symbol":"BTN"},"BUK":{"displayName":"kyat birman","displayName-count-one":"kyat birman","displayName-count-other":"kyats birmans","symbol":"BUK"},"BWP":{"displayName":"pula botswanais","displayName-count-one":"pula botswanais","displayName-count-other":"pulas botswanais","symbol":"BWP","symbol-alt-narrow":"P"},"BYB":{"displayName":"nouveau rouble biélorusse (1994–1999)","displayName-count-one":"nouveau rouble biélorusse (1994–1999)","displayName-count-other":"nouveaux roubles biélorusses (1994–1999)","symbol":"BYB"},"BYN":{"displayName":"rouble biélorusse","displayName-count-one":"rouble biélorusse","displayName-count-other":"roubles biélorusses","symbol":"BYN","symbol-alt-narrow":"р."},"BYR":{"displayName":"rouble biélorusse (2000–2016)","displayName-count-one":"rouble biélorusse (2000–2016)","displayName-count-other":"roubles biélorusses (2000–2016)","symbol":"BYR"},"BZD":{"displayName":"dollar bélizéen","displayName-count-one":"dollar bélizéen","displayName-count-other":"dollars bélizéens","symbol":"$BZ","symbol-alt-narrow":"$"},"CAD":{"displayName":"dollar canadien","displayName-count-one":"dollar canadien","displayName-count-other":"dollars canadiens","symbol":"$CA","symbol-alt-narrow":"$"},"CDF":{"displayName":"franc congolais","displayName-count-one":"franc congolais","displayName-count-other":"francs congolais","symbol":"CDF"},"CHE":{"displayName":"euro WIR","displayName-count-one":"euro WIR","displayName-count-other":"euros WIR","symbol":"CHE"},"CHF":{"displayName":"franc suisse","displayName-count-one":"franc suisse","displayName-count-other":"francs suisses","symbol":"CHF"},"CHW":{"displayName":"franc WIR","displayName-count-one":"franc WIR","displayName-count-other":"francs WIR","symbol":"CHW"},"CLE":{"displayName":"CLE","symbol":"CLE"},"CLF":{"displayName":"unité d’investissement chilienne","displayName-count-one":"unité d’investissement chilienne","displayName-count-other":"unités d’investissement chiliennes","symbol":"CLF"},"CLP":{"displayName":"peso chilien","displayName-count-one":"peso chilien","displayName-count-other":"pesos chiliens","symbol":"$CL","symbol-alt-narrow":"$"},"CNH":{"displayName":"yuan chinois (zone extracôtière)","displayName-count-one":"yuan chinois (zone extracôtière)","displayName-count-other":"yuans chinois (zone extracôtière)","symbol":"CNH"},"CNX":{"displayName":"CNX","symbol":"CNX"},"CNY":{"displayName":"yuan renminbi chinois","displayName-count-one":"yuan renminbi chinois","displayName-count-other":"yuans renminbi chinois","symbol":"CNY","symbol-alt-narrow":"¥"},"COP":{"displayName":"peso colombien","displayName-count-one":"peso colombien","displayName-count-other":"pesos colombiens","symbol":"$CO","symbol-alt-narrow":"$"},"COU":{"displayName":"unité de valeur réelle colombienne","displayName-count-one":"unité de valeur réelle colombienne","displayName-count-other":"unités de valeur réelle colombiennes","symbol":"COU"},"CRC":{"displayName":"colón costaricain","displayName-count-one":"colón costaricain","displayName-count-other":"colóns costaricains","symbol":"CRC","symbol-alt-narrow":"₡"},"CSD":{"displayName":"dinar serbo-monténégrin","displayName-count-one":"dinar serbo-monténégrin","displayName-count-other":"dinars serbo-monténégrins","symbol":"CSD"},"CSK":{"displayName":"couronne forte tchécoslovaque","displayName-count-one":"couronne forte tchécoslovaque","displayName-count-other":"couronnes fortes tchécoslovaques","symbol":"CSK"},"CUC":{"displayName":"peso cubain convertible","displayName-count-one":"peso cubain convertible","displayName-count-other":"pesos cubains convertibles","symbol":"CUC","symbol-alt-narrow":"$"},"CUP":{"displayName":"peso cubain","displayName-count-one":"peso cubain","displayName-count-other":"pesos cubains","symbol":"CUP","symbol-alt-narrow":"$"},"CVE":{"displayName":"escudo capverdien","displayName-count-one":"escudo capverdien","displayName-count-other":"escudos capverdiens","symbol":"CVE"},"CYP":{"displayName":"livre chypriote","displayName-count-one":"livre chypriote","displayName-count-other":"livres chypriotes","symbol":"£CY"},"CZK":{"displayName":"couronne tchèque","displayName-count-one":"couronne tchèque","displayName-count-other":"couronnes tchèques","symbol":"CZK","symbol-alt-narrow":"Kč"},"DDM":{"displayName":"mark est-allemand","displayName-count-one":"mark est-allemand","displayName-count-other":"marks est-allemands","symbol":"DDM"},"DEM":{"displayName":"mark allemand","displayName-count-one":"mark allemand","displayName-count-other":"marks allemands","symbol":"DEM"},"DJF":{"displayName":"franc djiboutien","displayName-count-one":"franc djiboutien","displayName-count-other":"francs djiboutiens","symbol":"DJF"},"DKK":{"displayName":"couronne danoise","displayName-count-one":"couronne danoise","displayName-count-other":"couronnes danoises","symbol":"DKK","symbol-alt-narrow":"kr"},"DOP":{"displayName":"peso dominicain","displayName-count-one":"peso dominicain","displayName-count-other":"pesos dominicains","symbol":"DOP","symbol-alt-narrow":"$"},"DZD":{"displayName":"dinar algérien","displayName-count-one":"dinar algérien","displayName-count-other":"dinars algériens","symbol":"DZD"},"ECS":{"displayName":"sucre équatorien","displayName-count-one":"sucre équatorien","displayName-count-other":"sucres équatoriens","symbol":"ECS"},"ECV":{"displayName":"unité de valeur constante équatoriale (UVC)","displayName-count-one":"unité de valeur constante équatorienne (UVC)","displayName-count-other":"unités de valeur constante équatoriennes (UVC)","symbol":"ECV"},"EEK":{"displayName":"couronne estonienne","displayName-count-one":"couronne estonienne","displayName-count-other":"couronnes estoniennes","symbol":"EEK"},"EGP":{"displayName":"livre égyptienne","displayName-count-one":"livre égyptienne","displayName-count-other":"livres égyptiennes","symbol":"EGP","symbol-alt-narrow":"£E"},"ERN":{"displayName":"nafka érythréen","displayName-count-one":"nafka érythréen","displayName-count-other":"nafkas érythréens","symbol":"ERN"},"ESA":{"displayName":"peseta espagnole (compte A)","displayName-count-one":"peseta espagnole (compte A)","displayName-count-other":"pesetas espagnoles (compte A)","symbol":"ESA"},"ESB":{"displayName":"peseta espagnole (compte convertible)","displayName-count-one":"peseta espagnole (compte convertible)","displayName-count-other":"pesetas espagnoles (compte convertible)","symbol":"ESB"},"ESP":{"displayName":"peseta espagnole","displayName-count-one":"peseta espagnole","displayName-count-other":"pesetas espagnoles","symbol":"ESP","symbol-alt-narrow":"₧"},"ETB":{"displayName":"birr éthiopien","displayName-count-one":"birr éthiopien","displayName-count-other":"birrs éthiopiens","symbol":"ETB"},"EUR":{"displayName":"euro","displayName-count-one":"euro","displayName-count-other":"euros","symbol":"€","symbol-alt-narrow":"€"},"FIM":{"displayName":"mark finlandais","displayName-count-one":"mark finlandais","displayName-count-other":"marks finlandais","symbol":"FIM"},"FJD":{"displayName":"dollar fidjien","displayName-count-one":"dollar fidjien","displayName-count-other":"dollars fidjiens","symbol":"$FJ","symbol-alt-narrow":"$"},"FKP":{"displayName":"livre des îles Malouines","displayName-count-one":"livre des îles Malouines","displayName-count-other":"livres des îles Malouines","symbol":"£FK","symbol-alt-narrow":"£"},"FRF":{"displayName":"franc français","displayName-count-one":"franc français","displayName-count-other":"francs français","symbol":"F"},"GBP":{"displayName":"livre sterling","displayName-count-one":"livre sterling","displayName-count-other":"livres sterling","symbol":"£GB","symbol-alt-narrow":"£"},"GEK":{"displayName":"coupon de lari géorgien","displayName-count-one":"coupon de lari géorgien","displayName-count-other":"coupons de lari géorgiens","symbol":"GEK"},"GEL":{"displayName":"lari géorgien","displayName-count-one":"lari géorgien","displayName-count-other":"lari géorgiens","symbol":"GEL","symbol-alt-narrow":"₾","symbol-alt-variant":"₾"},"GHC":{"displayName":"cédi","displayName-count-one":"cédi ghanéen (1967–2007)","displayName-count-other":"cédis ghanéens (1967–2007)","symbol":"GHC"},"GHS":{"displayName":"cédi ghanéen","displayName-count-one":"cédi ghanéen","displayName-count-other":"cédis ghanéens","symbol":"GHS","symbol-alt-narrow":"GH₵"},"GIP":{"displayName":"livre de Gibraltar","displayName-count-one":"livre de Gibraltar","displayName-count-other":"livres de Gibraltar","symbol":"£GI","symbol-alt-narrow":"£"},"GMD":{"displayName":"dalasi gambien","displayName-count-one":"dalasi gambien","displayName-count-other":"dalasis gambiens","symbol":"GMD"},"GNF":{"displayName":"franc guinéen","displayName-count-one":"franc guinéen","displayName-count-other":"francs guinéens","symbol":"GNF","symbol-alt-narrow":"FG"},"GNS":{"displayName":"syli guinéen","displayName-count-one":"syli guinéen","displayName-count-other":"sylis guinéens","symbol":"GNS"},"GQE":{"displayName":"ekwélé équatoguinéen","displayName-count-one":"ekwélé équatoguinéen","displayName-count-other":"ekwélés équatoguinéens","symbol":"GQE"},"GRD":{"displayName":"drachme grecque","displayName-count-one":"drachme grecque","displayName-count-other":"drachmes grecques","symbol":"GRD"},"GTQ":{"displayName":"quetzal guatémaltèque","displayName-count-one":"quetzal guatémaltèque","displayName-count-other":"quetzals guatémaltèques","symbol":"GTQ","symbol-alt-narrow":"Q"},"GWE":{"displayName":"escudo de Guinée portugaise","displayName-count-one":"escudo de Guinée portugaise","displayName-count-other":"escudos de Guinée portugaise","symbol":"GWE"},"GWP":{"displayName":"peso bissau-guinéen","displayName-count-one":"peso bissau-guinéen","displayName-count-other":"pesos bissau-guinéens","symbol":"GWP"},"GYD":{"displayName":"dollar du Guyana","displayName-count-one":"dollar du Guyana","displayName-count-other":"dollars du Guyana","symbol":"GYD","symbol-alt-narrow":"$"},"HKD":{"displayName":"dollar de Hong Kong","displayName-count-one":"dollar de Hong Kong","displayName-count-other":"dollars de Hong Kong","symbol":"HKD","symbol-alt-narrow":"$"},"HNL":{"displayName":"lempira hondurien","displayName-count-one":"lempira hondurien","displayName-count-other":"lempiras honduriens","symbol":"HNL","symbol-alt-narrow":"L"},"HRD":{"displayName":"dinar croate","displayName-count-one":"dinar croate","displayName-count-other":"dinars croates","symbol":"HRD"},"HRK":{"displayName":"kuna croate","displayName-count-one":"kuna croate","displayName-count-other":"kunas croates","symbol":"HRK","symbol-alt-narrow":"kn"},"HTG":{"displayName":"gourde haïtienne","displayName-count-one":"gourde haïtienne","displayName-count-other":"gourdes haïtiennes","symbol":"HTG"},"HUF":{"displayName":"forint hongrois","displayName-count-one":"forint hongrois","displayName-count-other":"forints hongrois","symbol":"HUF","symbol-alt-narrow":"Ft"},"IDR":{"displayName":"roupie indonésienne","displayName-count-one":"roupie indonésienne","displayName-count-other":"roupies indonésiennes","symbol":"IDR","symbol-alt-narrow":"Rp"},"IEP":{"displayName":"livre irlandaise","displayName-count-one":"livre irlandaise","displayName-count-other":"livres irlandaises","symbol":"£IE"},"ILP":{"displayName":"livre israélienne","displayName-count-one":"livre israélienne","displayName-count-other":"livres israéliennes","symbol":"£IL"},"ILR":{"displayName":"ILR","symbol":"ILR"},"ILS":{"displayName":"nouveau shekel israélien","displayName-count-one":"nouveau shekel israélien","displayName-count-other":"nouveaux shekels israéliens","symbol":"₪","symbol-alt-narrow":"₪"},"INR":{"displayName":"roupie indienne","displayName-count-one":"roupie indienne","displayName-count-other":"roupies indiennes","symbol":"₹","symbol-alt-narrow":"₹"},"IQD":{"displayName":"dinar irakien","displayName-count-one":"dinar irakien","displayName-count-other":"dinars irakiens","symbol":"IQD"},"IRR":{"displayName":"riyal iranien","displayName-count-one":"riyal iranien","displayName-count-other":"riyals iraniens","symbol":"IRR"},"ISJ":{"displayName":"ISJ","symbol":"ISJ"},"ISK":{"displayName":"couronne islandaise","displayName-count-one":"couronne islandaise","displayName-count-other":"couronnes islandaises","symbol":"ISK","symbol-alt-narrow":"kr"},"ITL":{"displayName":"lire italienne","displayName-count-one":"lire italienne","displayName-count-other":"lires italiennes","symbol":"₤IT"},"JMD":{"displayName":"dollar jamaïcain","displayName-count-one":"dollar jamaïcain","displayName-count-other":"dollars jamaïcains","symbol":"JMD","symbol-alt-narrow":"$"},"JOD":{"displayName":"dinar jordanien","displayName-count-one":"dinar jordanien","displayName-count-other":"dinars jordaniens","symbol":"JOD"},"JPY":{"displayName":"yen japonais","displayName-count-one":"yen japonais","displayName-count-other":"yens japonais","symbol":"JPY","symbol-alt-narrow":"¥"},"KES":{"displayName":"shilling kényan","displayName-count-one":"shilling kényan","displayName-count-other":"shillings kényans","symbol":"KES"},"KGS":{"displayName":"som kirghize","displayName-count-one":"som kirghize","displayName-count-other":"soms kirghizes","symbol":"KGS"},"KHR":{"displayName":"riel cambodgien","displayName-count-one":"riel cambodgien","displayName-count-other":"riels cambodgiens","symbol":"KHR","symbol-alt-narrow":"៛"},"KMF":{"displayName":"franc comorien","displayName-count-one":"franc comorien","displayName-count-other":"francs comoriens","symbol":"KMF","symbol-alt-narrow":"FC"},"KPW":{"displayName":"won nord-coréen","displayName-count-one":"won nord-coréen","displayName-count-other":"wons nord-coréens","symbol":"KPW","symbol-alt-narrow":"₩"},"KRH":{"displayName":"KRH","symbol":"KRH"},"KRO":{"displayName":"KRO","symbol":"KRO"},"KRW":{"displayName":"won sud-coréen","displayName-count-one":"won sud-coréen","displayName-count-other":"wons sud-coréens","symbol":"₩","symbol-alt-narrow":"₩"},"KWD":{"displayName":"dinar koweïtien","displayName-count-one":"dinar koweïtien","displayName-count-other":"dinar koweïtiens","symbol":"KWD"},"KYD":{"displayName":"dollar des îles Caïmans","displayName-count-one":"dollar des îles Caïmans","displayName-count-other":"dollars des îles Caïmans","symbol":"KYD","symbol-alt-narrow":"$"},"KZT":{"displayName":"tenge kazakh","displayName-count-one":"tenge kazakh","displayName-count-other":"tenges kazakhs","symbol":"KZT","symbol-alt-narrow":"₸"},"LAK":{"displayName":"kip loatien","displayName-count-one":"kip loatien","displayName-count-other":"kips loatiens","symbol":"LAK","symbol-alt-narrow":"₭"},"LBP":{"displayName":"livre libanaise","displayName-count-one":"livre libanaise","displayName-count-other":"livres libanaises","symbol":"£LB","symbol-alt-narrow":"£L"},"LKR":{"displayName":"roupie srilankaise","displayName-count-one":"roupie srilankaise","displayName-count-other":"roupies srilankaises","symbol":"LKR","symbol-alt-narrow":"Rs"},"LRD":{"displayName":"dollar libérien","displayName-count-one":"dollar libérien","displayName-count-other":"dollars libériens","symbol":"LRD","symbol-alt-narrow":"$"},"LSL":{"displayName":"loti lesothan","displayName-count-one":"loti lesothan","displayName-count-other":"maloti lesothans","symbol":"LSL"},"LTL":{"displayName":"litas lituanien","displayName-count-one":"litas lituanien","displayName-count-other":"litas lituaniens","symbol":"LTL","symbol-alt-narrow":"Lt"},"LTT":{"displayName":"talonas lituanien","displayName-count-one":"talonas lituanien","displayName-count-other":"talonas lituaniens","symbol":"LTT"},"LUC":{"displayName":"franc convertible luxembourgeois","displayName-count-one":"franc convertible luxembourgeois","displayName-count-other":"francs convertibles luxembourgeois","symbol":"LUC"},"LUF":{"displayName":"franc luxembourgeois","displayName-count-one":"franc luxembourgeois","displayName-count-other":"francs luxembourgeois","symbol":"LUF"},"LUL":{"displayName":"franc financier luxembourgeois","displayName-count-one":"franc financier luxembourgeois","displayName-count-other":"francs financiers luxembourgeois","symbol":"LUL"},"LVL":{"displayName":"lats letton","displayName-count-one":"lats letton","displayName-count-other":"lats lettons","symbol":"LVL","symbol-alt-narrow":"Ls"},"LVR":{"displayName":"rouble letton","displayName-count-one":"rouble letton","displayName-count-other":"roubles lettons","symbol":"LVR"},"LYD":{"displayName":"dinar libyen","displayName-count-one":"dinar libyen","displayName-count-other":"dinars libyens","symbol":"LYD"},"MAD":{"displayName":"dirham marocain","displayName-count-one":"dirham marocain","displayName-count-other":"dirhams marocains","symbol":"MAD"},"MAF":{"displayName":"franc marocain","displayName-count-one":"franc marocain","displayName-count-other":"francs marocains","symbol":"MAF"},"MCF":{"displayName":"MCF","symbol":"MCF"},"MDC":{"displayName":"MDC","symbol":"MDC"},"MDL":{"displayName":"leu moldave","displayName-count-one":"leu moldave","displayName-count-other":"leus moldaves","symbol":"MDL"},"MGA":{"displayName":"ariary malgache","displayName-count-one":"ariary malgache","displayName-count-other":"ariarys malgaches","symbol":"MGA","symbol-alt-narrow":"Ar"},"MGF":{"displayName":"franc malgache","displayName-count-one":"franc malgache","displayName-count-other":"francs malgaches","symbol":"MGF"},"MKD":{"displayName":"denar macédonien","displayName-count-one":"denar macédonien","displayName-count-other":"denars macédoniens","symbol":"MKD"},"MKN":{"displayName":"MKN","symbol":"MKN"},"MLF":{"displayName":"franc malien","displayName-count-one":"franc malien","displayName-count-other":"francs maliens","symbol":"MLF"},"MMK":{"displayName":"kyat myanmarais","displayName-count-one":"kyat myanmarais","displayName-count-other":"kyats myanmarais","symbol":"MMK","symbol-alt-narrow":"K"},"MNT":{"displayName":"tugrik mongol","displayName-count-one":"tugrik mongol","displayName-count-other":"tugriks mongols","symbol":"MNT","symbol-alt-narrow":"₮"},"MOP":{"displayName":"pataca macanaise","displayName-count-one":"pataca macanaise","displayName-count-other":"patacas macanaises","symbol":"MOP"},"MRO":{"displayName":"ouguiya mauritanien (1973–2017)","displayName-count-one":"ouguiya mauritanien (1973–2017)","displayName-count-other":"ouguiyas mauritaniens (1973–2017)","symbol":"MRO"},"MRU":{"displayName":"ouguiya mauritanien","displayName-count-one":"ouguiya mauritanien","displayName-count-other":"ouguiyas mauritaniens","symbol":"MRU"},"MTL":{"displayName":"lire maltaise","displayName-count-one":"lire maltaise","displayName-count-other":"lires maltaises","symbol":"MTL"},"MTP":{"displayName":"livre maltaise","displayName-count-one":"livre maltaise","displayName-count-other":"livres maltaises","symbol":"£MT"},"MUR":{"displayName":"roupie mauricienne","displayName-count-one":"roupie mauricienne","displayName-count-other":"roupies mauriciennes","symbol":"MUR","symbol-alt-narrow":"Rs"},"MVP":{"displayName":"MVP","symbol":"MVP"},"MVR":{"displayName":"rufiyaa maldivien","displayName-count-one":"rufiyaa maldivienne","displayName-count-other":"rufiyaas maldiviennes","symbol":"MVR"},"MWK":{"displayName":"kwacha malawite","displayName-count-one":"kwacha malawite","displayName-count-other":"kwachas malawites","symbol":"MWK"},"MXN":{"displayName":"peso mexicain","displayName-count-one":"peso mexicain","displayName-count-other":"pesos mexicains","symbol":"$MX","symbol-alt-narrow":"$"},"MXP":{"displayName":"peso d’argent mexicain (1861–1992)","displayName-count-one":"peso d’argent mexicain (1861–1992)","displayName-count-other":"pesos d’argent mexicains (1861–1992)","symbol":"MXP"},"MXV":{"displayName":"unité de conversion mexicaine (UDI)","displayName-count-one":"unité de conversion mexicaine (UDI)","displayName-count-other":"unités de conversion mexicaines (UDI)","symbol":"MXV"},"MYR":{"displayName":"ringgit malais","displayName-count-one":"ringgit malais","displayName-count-other":"ringgits malais","symbol":"MYR","symbol-alt-narrow":"RM"},"MZE":{"displayName":"escudo mozambicain","displayName-count-one":"escudo mozambicain","displayName-count-other":"escudos mozambicains","symbol":"MZE"},"MZM":{"displayName":"métical","displayName-count-one":"metical mozambicain (1980–2006)","displayName-count-other":"meticais mozambicains (1980–2006)","symbol":"MZM"},"MZN":{"displayName":"metical mozambicain","displayName-count-one":"metical mozambicain","displayName-count-other":"meticais mozambicains","symbol":"MZN"},"NAD":{"displayName":"dollar namibien","displayName-count-one":"dollar namibien","displayName-count-other":"dollars namibiens","symbol":"$NA","symbol-alt-narrow":"$"},"NGN":{"displayName":"naira nigérian","displayName-count-one":"naira nigérian","displayName-count-other":"nairas nigérians","symbol":"NGN","symbol-alt-narrow":"₦"},"NIC":{"displayName":"cordoba","displayName-count-one":"córdoba nicaraguayen (1912–1988)","displayName-count-other":"córdobas nicaraguayens (1912–1988)","symbol":"NIC"},"NIO":{"displayName":"córdoba oro nicaraguayen","displayName-count-one":"córdoba oro nicaraguayen","displayName-count-other":"córdobas oro nicaraguayens","symbol":"NIO","symbol-alt-narrow":"$C"},"NLG":{"displayName":"florin néerlandais","displayName-count-one":"florin néerlandais","displayName-count-other":"florins néerlandais","symbol":"NLG"},"NOK":{"displayName":"couronne norvégienne","displayName-count-one":"couronne norvégienne","displayName-count-other":"couronnes norvégiennes","symbol":"NOK","symbol-alt-narrow":"kr"},"NPR":{"displayName":"roupie népalaise","displayName-count-one":"roupie népalaise","displayName-count-other":"roupies népalaises","symbol":"NPR","symbol-alt-narrow":"Rs"},"NZD":{"displayName":"dollar néo-zélandais","displayName-count-one":"dollar néo-zélandais","displayName-count-other":"dollars néo-zélandais","symbol":"$NZ","symbol-alt-narrow":"$"},"OMR":{"displayName":"riyal omanais","displayName-count-one":"riyal omanais","displayName-count-other":"riyals omanis","symbol":"OMR"},"PAB":{"displayName":"balboa panaméen","displayName-count-one":"balboa panaméen","displayName-count-other":"balboas panaméens","symbol":"PAB"},"PEI":{"displayName":"inti péruvien","displayName-count-one":"inti péruvien","displayName-count-other":"intis péruviens","symbol":"PEI"},"PEN":{"displayName":"sol péruvien","displayName-count-one":"sol péruvien","displayName-count-other":"sols péruviens","symbol":"PEN"},"PES":{"displayName":"sol péruvien (1863–1985)","displayName-count-one":"sol péruvien (1863–1985)","displayName-count-other":"sols péruviens (1863–1985)","symbol":"PES"},"PGK":{"displayName":"kina papouan-néo-guinéen","displayName-count-one":"kina papouan-néo-guinéen","displayName-count-other":"kinas papouan-néo-guinéens","symbol":"PGK"},"PHP":{"displayName":"peso philippin","displayName-count-one":"peso philippin","displayName-count-other":"pesos philippins","symbol":"PHP","symbol-alt-narrow":"₱"},"PKR":{"displayName":"roupie pakistanaise","displayName-count-one":"roupie pakistanaise","displayName-count-other":"roupies pakistanaises","symbol":"PKR","symbol-alt-narrow":"Rs"},"PLN":{"displayName":"zloty polonais","displayName-count-one":"zloty polonais","displayName-count-other":"zlotys polonais","symbol":"PLN","symbol-alt-narrow":"zł"},"PLZ":{"displayName":"zloty (1950–1995)","displayName-count-one":"zloty polonais (1950–1995)","displayName-count-other":"zlotys polonais (1950–1995)","symbol":"PLZ"},"PTE":{"displayName":"escudo portugais","displayName-count-one":"escudo portugais","displayName-count-other":"escudos portugais","symbol":"PTE"},"PYG":{"displayName":"guaraní paraguayen","displayName-count-one":"guaraní paraguayen","displayName-count-other":"guaranís paraguayens","symbol":"PYG","symbol-alt-narrow":"₲"},"QAR":{"displayName":"riyal qatari","displayName-count-one":"riyal qatari","displayName-count-other":"riyals qataris","symbol":"QAR"},"RHD":{"displayName":"dollar rhodésien","displayName-count-one":"dollar rhodésien","displayName-count-other":"dollars rhodésiens","symbol":"$RH"},"ROL":{"displayName":"ancien leu roumain","displayName-count-one":"leu roumain (1952–2005)","displayName-count-other":"lei roumains (1952–2005)","symbol":"ROL"},"RON":{"displayName":"leu roumain","displayName-count-one":"leu roumain","displayName-count-other":"lei roumains","symbol":"RON","symbol-alt-narrow":"L"},"RSD":{"displayName":"dinar serbe","displayName-count-one":"dinar serbe","displayName-count-other":"dinars serbes","symbol":"RSD"},"RUB":{"displayName":"rouble russe","displayName-count-one":"rouble russe","displayName-count-other":"roubles russes","symbol":"RUB","symbol-alt-narrow":"₽"},"RUR":{"displayName":"rouble russe (1991–1998)","displayName-count-one":"rouble russe (1991–1998)","displayName-count-other":"roubles russes (1991–1998)","symbol":"RUR"},"RWF":{"displayName":"franc rwandais","displayName-count-one":"franc rwandais","displayName-count-other":"francs rwandais","symbol":"RWF","symbol-alt-narrow":"FR"},"SAR":{"displayName":"riyal saoudien","displayName-count-one":"riyal saoudien","displayName-count-other":"riyals saoudiens","symbol":"SAR"},"SBD":{"displayName":"dollar des îles Salomon","displayName-count-one":"dollar des îles Salomon","displayName-count-other":"dollars des îles Salomon","symbol":"$SB","symbol-alt-narrow":"$"},"SCR":{"displayName":"roupie des Seychelles","displayName-count-one":"roupie des Seychelles","displayName-count-other":"roupies des Seychelles","symbol":"SCR"},"SDD":{"displayName":"dinar soudanais","displayName-count-one":"dinar soudanais (1992–2007)","displayName-count-other":"dinars soudanais (1992–2007)","symbol":"SDD"},"SDG":{"displayName":"livre soudanaise","displayName-count-one":"livre soudanaise","displayName-count-other":"livres soudanaises","symbol":"SDG"},"SDP":{"displayName":"livre soudanaise (1956–2007)","displayName-count-one":"livre soudanaise (1956–2007)","displayName-count-other":"livres soudanaises (1956–2007)","symbol":"SDP"},"SEK":{"displayName":"couronne suédoise","displayName-count-one":"couronne suédoise","displayName-count-other":"couronnes suédoises","symbol":"SEK","symbol-alt-narrow":"kr"},"SGD":{"displayName":"dollar de Singapour","displayName-count-one":"dollar de Singapour","displayName-count-other":"dollars de Singapour","symbol":"$SG","symbol-alt-narrow":"$"},"SHP":{"displayName":"livre de Sainte-Hélène","displayName-count-one":"livre de Sainte-Hélène","displayName-count-other":"livres de Sainte-Hélène","symbol":"SHP","symbol-alt-narrow":"£"},"SIT":{"displayName":"tolar slovène","displayName-count-one":"tolar slovène","displayName-count-other":"tolars slovènes","symbol":"SIT"},"SKK":{"displayName":"couronne slovaque","displayName-count-one":"couronne slovaque","displayName-count-other":"couronnes slovaques","symbol":"SKK"},"SLL":{"displayName":"leone sierra-léonais","displayName-count-one":"leone sierra-léonais","displayName-count-other":"leones sierra-léonais","symbol":"SLL"},"SOS":{"displayName":"shilling somalien","displayName-count-one":"shilling somalien","displayName-count-other":"shillings somaliens","symbol":"SOS"},"SRD":{"displayName":"dollar surinamais","displayName-count-one":"dollar surinamais","displayName-count-other":"dollars surinamais","symbol":"$SR","symbol-alt-narrow":"$"},"SRG":{"displayName":"florin surinamais","displayName-count-one":"florin surinamais","displayName-count-other":"florins surinamais","symbol":"SRG"},"SSP":{"displayName":"livre sud-soudanaise","displayName-count-one":"livre sud-soudanaise","displayName-count-other":"livres sud-soudanaises","symbol":"SSP","symbol-alt-narrow":"£"},"STD":{"displayName":"dobra santoméen (1977–2017)","displayName-count-one":"dobra santoméen (1977–2017)","displayName-count-other":"dobras santoméens (1977–2017)","symbol":"STD"},"STN":{"displayName":"dobra santoméen","displayName-count-one":"dobra santoméen","displayName-count-other":"dobras santoméens","symbol":"STN","symbol-alt-narrow":"Db"},"SUR":{"displayName":"rouble soviétique","displayName-count-one":"rouble soviétique","displayName-count-other":"roubles soviétiques","symbol":"SUR"},"SVC":{"displayName":"colón salvadorien","displayName-count-one":"colón salvadorien","displayName-count-other":"colóns salvadoriens","symbol":"SVC"},"SYP":{"displayName":"livre syrienne","displayName-count-one":"livre syrienne","displayName-count-other":"livres syriennes","symbol":"SYP","symbol-alt-narrow":"£"},"SZL":{"displayName":"lilangeni swazi","displayName-count-one":"lilangeni swazi","displayName-count-other":"lilangenis swazis","symbol":"SZL"},"THB":{"displayName":"baht thaïlandais","displayName-count-one":"baht thaïlandais","displayName-count-other":"bahts thaïlandais","symbol":"THB","symbol-alt-narrow":"฿"},"TJR":{"displayName":"rouble tadjik","displayName-count-one":"rouble tadjik","displayName-count-other":"roubles tadjiks","symbol":"TJR"},"TJS":{"displayName":"somoni tadjik","displayName-count-one":"somoni tadjik","displayName-count-other":"somonis tadjiks","symbol":"TJS"},"TMM":{"displayName":"manat turkmène","displayName-count-one":"manat turkmène","displayName-count-other":"manats turkmènes","symbol":"TMM"},"TMT":{"displayName":"nouveau manat turkmène","displayName-count-one":"nouveau manat turkmène","displayName-count-other":"nouveaux manats turkmènes","symbol":"TMT"},"TND":{"displayName":"dinar tunisien","displayName-count-one":"dinar tunisien","displayName-count-other":"dinars tunisiens","symbol":"TND"},"TOP":{"displayName":"pa’anga tongan","displayName-count-one":"pa’anga tongan","displayName-count-other":"pa’angas tongans","symbol":"TOP","symbol-alt-narrow":"$T"},"TPE":{"displayName":"escudo timorais","displayName-count-one":"escudo timorais","displayName-count-other":"escudos timorais","symbol":"TPE"},"TRL":{"displayName":"livre turque (1844–2005)","displayName-count-one":"livre turque (1844–2005)","displayName-count-other":"livres turques (1844–2005)","symbol":"TRL"},"TRY":{"displayName":"livre turque","displayName-count-one":"livre turque","displayName-count-other":"livres turques","symbol":"TRY","symbol-alt-narrow":"₺","symbol-alt-variant":"LT"},"TTD":{"displayName":"dollar de Trinité-et-Tobago","displayName-count-one":"dollar de Trinité-et-Tobago","displayName-count-other":"dollars de Trinité-et-Tobago","symbol":"$TT","symbol-alt-narrow":"$"},"TWD":{"displayName":"nouveau dollar taïwanais","displayName-count-one":"nouveau dollar taïwanais","displayName-count-other":"nouveaux dollars taïwanais","symbol":"TWD","symbol-alt-narrow":"NT$"},"TZS":{"displayName":"shilling tanzanien","displayName-count-one":"shilling tanzanien","displayName-count-other":"shillings tanzaniens","symbol":"TZS"},"UAH":{"displayName":"hryvnia ukrainienne","displayName-count-one":"hryvnia ukrainienne","displayName-count-other":"hryvnias ukrainiennes","symbol":"UAH","symbol-alt-narrow":"₴"},"UAK":{"displayName":"karbovanetz","displayName-count-one":"karbovanets ukrainien (1992–1996)","displayName-count-other":"karbovanets ukrainiens (1992–1996)","symbol":"UAK"},"UGS":{"displayName":"shilling ougandais (1966–1987)","displayName-count-one":"shilling ougandais (1966–1987)","displayName-count-other":"shillings ougandais (1966–1987)","symbol":"UGS"},"UGX":{"displayName":"shilling ougandais","displayName-count-one":"shilling ougandais","displayName-count-other":"shillings ougandais","symbol":"UGX"},"USD":{"displayName":"dollar des États-Unis","displayName-count-one":"dollar des États-Unis","displayName-count-other":"dollars des États-Unis","symbol":"$US","symbol-alt-narrow":"$"},"USN":{"displayName":"dollar des Etats-Unis (jour suivant)","displayName-count-one":"dollar des États-Unis (jour suivant)","displayName-count-other":"dollars des États-Unis (jour suivant)","symbol":"USN"},"USS":{"displayName":"dollar des Etats-Unis (jour même)","displayName-count-one":"dollar des États-Unis (jour même)","displayName-count-other":"dollars des États-Unis (jour même)","symbol":"USS"},"UYI":{"displayName":"peso uruguayen (unités indexées)","displayName-count-one":"peso uruguayen (unités indexées)","displayName-count-other":"pesos uruguayen (unités indexées)","symbol":"UYI"},"UYP":{"displayName":"peso uruguayen (1975–1993)","displayName-count-one":"peso uruguayen (1975–1993)","displayName-count-other":"pesos uruguayens (1975–1993)","symbol":"UYP"},"UYU":{"displayName":"peso uruguayen","displayName-count-one":"peso uruguayen","displayName-count-other":"pesos uruguayens","symbol":"$UY","symbol-alt-narrow":"$"},"UYW":{"displayName":"UYW","symbol":"UYW"},"UZS":{"displayName":"sum ouzbek","displayName-count-one":"sum ouzbek","displayName-count-other":"sums ouzbeks","symbol":"UZS"},"VEB":{"displayName":"bolivar vénézuélien (1871–2008)","displayName-count-one":"bolivar vénézuélien (1871–2008)","displayName-count-other":"bolivar vénézuélien (1871–2008)","symbol":"VEB"},"VEF":{"displayName":"bolivar vénézuélien (2008–2018)","displayName-count-one":"bolivar vénézuélien (2008–2018)","displayName-count-other":"bolivars vénézuéliens (2008–2018)","symbol":"VEF","symbol-alt-narrow":"Bs"},"VES":{"displayName":"bolivar vénézuélien","displayName-count-one":"bolivar vénézuélien","displayName-count-other":"bolivars vénézuéliens","symbol":"VES"},"VND":{"displayName":"dông vietnamien","displayName-count-one":"dông vietnamien","displayName-count-other":"dôngs vietnamiens","symbol":"₫","symbol-alt-narrow":"₫"},"VNN":{"displayName":"VNN","symbol":"VNN"},"VUV":{"displayName":"vatu vanuatuan","displayName-count-one":"vatu vanuatuan","displayName-count-other":"vatus vanuatuans","symbol":"VUV"},"WST":{"displayName":"tala samoan","displayName-count-one":"tala samoan","displayName-count-other":"talas samoans","symbol":"$WS"},"XAF":{"displayName":"franc CFA (BEAC)","displayName-count-one":"franc CFA (BEAC)","displayName-count-other":"francs CFA (BEAC)","symbol":"FCFA"},"XAG":{"displayName":"argent","displayName-count-one":"once troy d’argent","displayName-count-other":"onces troy d’argent","symbol":"XAG"},"XAU":{"displayName":"or","displayName-count-one":"once troy d’or","displayName-count-other":"onces troy d’or","symbol":"XAU"},"XBA":{"displayName":"unité européenne composée","displayName-count-one":"unité composée européenne (EURCO)","displayName-count-other":"unités composées européennes (EURCO)","symbol":"XBA"},"XBB":{"displayName":"unité monétaire européenne","displayName-count-one":"unité monétaire européenne (UME–6)","displayName-count-other":"unités monétaires européennes (UME–6)","symbol":"XBB"},"XBC":{"displayName":"unité de compte européenne (XBC)","displayName-count-one":"unité de compte 9 européenne (UEC–9)","displayName-count-other":"unités de compte 9 européennes (UEC–9)","symbol":"XBC"},"XBD":{"displayName":"unité de compte européenne (XBD)","displayName-count-one":"unité de compte 17 européenne (UEC–17)","displayName-count-other":"unités de compte 17 européennes (UEC–17)","symbol":"XBD"},"XCD":{"displayName":"dollar des Caraïbes orientales","displayName-count-one":"dollar des Caraïbes orientales","displayName-count-other":"dollars des Caraïbes orientales","symbol":"XCD","symbol-alt-narrow":"$"},"XDR":{"displayName":"droit de tirage spécial","displayName-count-one":"droit de tirage spécial","displayName-count-other":"droits de tirage spéciaux","symbol":"XDR"},"XEU":{"displayName":"unité de compte européenne (ECU)","symbol":"XEU"},"XFO":{"displayName":"franc or","displayName-count-one":"franc or","displayName-count-other":"francs or","symbol":"XFO"},"XFU":{"displayName":"franc UIC","displayName-count-one":"franc UIC","displayName-count-other":"francs UIC","symbol":"XFU"},"XOF":{"displayName":"franc CFA (BCEAO)","displayName-count-one":"franc CFA (BCEAO)","displayName-count-other":"francs CFA (BCEAO)","symbol":"F CFA"},"XPD":{"displayName":"palladium","displayName-count-one":"once troy de palladium","displayName-count-other":"onces troy de palladium","symbol":"XPD"},"XPF":{"displayName":"franc CFP","displayName-count-one":"franc CFP","displayName-count-other":"francs CFP","symbol":"FCFP"},"XPT":{"displayName":"platine","displayName-count-one":"once troy de platine","displayName-count-other":"onces troy de platine","symbol":"XPT"},"XRE":{"displayName":"type de fonds RINET","displayName-count-one":"unité de fonds RINET","displayName-count-other":"unités de fonds RINET","symbol":"XRE"},"XSU":{"displayName":"XSU","symbol":"XSU"},"XTS":{"displayName":"(devise de test)","displayName-count-one":"(devise de test)","displayName-count-other":"(devises de test)","symbol":"XTS"},"XUA":{"displayName":"XUA","symbol":"XUA"},"XXX":{"displayName":"devise inconnue ou non valide","displayName-count-one":"devise inconnue","displayName-count-other":"devises inconnues","symbol":"¤"},"YDD":{"displayName":"dinar du Yémen","displayName-count-one":"dinar nord-yéménite","displayName-count-other":"dinars nord-yéménites","symbol":"YDD"},"YER":{"displayName":"riyal yéménite","displayName-count-one":"riyal yéménite","displayName-count-other":"riyals yéménites","symbol":"YER"},"YUD":{"displayName":"nouveau dinar yougoslave","displayName-count-one":"dinar fort yougoslave (1966–1989)","displayName-count-other":"dinars forts yougoslaves (1966–1989)","symbol":"YUD"},"YUM":{"displayName":"dinar yougoslave Noviy","displayName-count-one":"nouveau dinar yougoslave (1994–2003)","displayName-count-other":"nouveaux dinars yougoslaves (1994–2003)","symbol":"YUM"},"YUN":{"displayName":"dinar yougoslave convertible","displayName-count-one":"dinar convertible yougoslave (1990–1992)","displayName-count-other":"dinars convertibles yougoslaves (1990–1992)","symbol":"YUN"},"YUR":{"displayName":"YUR","symbol":"YUR"},"ZAL":{"displayName":"rand sud-africain (financier)","displayName-count-one":"rand sud-africain (financier)","displayName-count-other":"rands sud-africains (financiers)","symbol":"ZAL"},"ZAR":{"displayName":"rand sud-africain","displayName-count-one":"rand sud-africain","displayName-count-other":"rands sud-africains","symbol":"ZAR","symbol-alt-narrow":"R"},"ZMK":{"displayName":"kwacha zambien (1968–2012)","displayName-count-one":"kwacha zambien (1968–2012)","displayName-count-other":"kwachas zambiens (1968–2012)","symbol":"ZMK"},"ZMW":{"displayName":"kwacha zambien","displayName-count-one":"kwacha zambien","displayName-count-other":"kwachas zambiens","symbol":"ZMW","symbol-alt-narrow":"Kw"},"ZRN":{"displayName":"nouveau zaïre zaïrien","displayName-count-one":"nouveau zaïre zaïrien","displayName-count-other":"nouveaux zaïres zaïriens","symbol":"ZRN"},"ZRZ":{"displayName":"zaïre zaïrois","displayName-count-one":"zaïre zaïrois","displayName-count-other":"zaïres zaïrois","symbol":"ZRZ"},"ZWD":{"displayName":"dollar zimbabwéen","displayName-count-one":"dollar zimbabwéen","displayName-count-other":"dollars zimbabwéens","symbol":"ZWD"},"ZWL":{"displayName":"dollar zimbabwéen (2009)","displayName-count-one":"dollar zimbabwéen (2009)","displayName-count-other":"dollars zimbabwéens (2009)","symbol":"ZWL"},"ZWR":{"displayName":"dollar zimbabwéen (2008)","displayName-count-one":"dollar zimbabwéen (2008)","displayName-count-other":"dollars zimbabwéens (2008)","symbol":"ZWR"}}}}}}')},9435:function(t){"use strict";t.exports=JSON.parse('{"main":{"fr":{"identity":{"version":{"_cldrVersion":"40"},"language":"fr"},"numbers":{"defaultNumberingSystem":"latn","otherNumberingSystems":{"native":"latn"},"minimumGroupingDigits":"1","symbols-numberSystem-latn":{"decimal":",","group":" ","list":";","percentSign":"%","plusSign":"+","minusSign":"-","approximatelySign":"≃","exponential":"E","superscriptingExponent":"×","perMille":"‰","infinity":"∞","nan":"NaN","timeSeparator":":"},"decimalFormats-numberSystem-latn":{"standard":"#,##0.###","long":{"decimalFormat":{"1000-count-1":"mille","1000-count-one":"0 millier","1000-count-other":"0 mille","10000-count-one":"00 mille","10000-count-other":"00 mille","100000-count-one":"000 mille","100000-count-other":"000 mille","1000000-count-one":"0 million","1000000-count-other":"0 millions","10000000-count-one":"00 million","10000000-count-other":"00 millions","100000000-count-one":"000 million","100000000-count-other":"000 millions","1000000000-count-one":"0 milliard","1000000000-count-other":"0 milliards","10000000000-count-one":"00 milliard","10000000000-count-other":"00 milliards","100000000000-count-one":"000 milliard","100000000000-count-other":"000 milliards","1000000000000-count-one":"0 billion","1000000000000-count-other":"0 billions","10000000000000-count-one":"00 billion","10000000000000-count-other":"00 billions","100000000000000-count-one":"000 billion","100000000000000-count-other":"000 billions"}},"short":{"decimalFormat":{"1000-count-one":"0 k","1000-count-other":"0 k","10000-count-one":"00 k","10000-count-other":"00 k","100000-count-one":"000 k","100000-count-other":"000 k","1000000-count-one":"0 M","1000000-count-other":"0 M","10000000-count-one":"00 M","10000000-count-other":"00 M","100000000-count-one":"000 M","100000000-count-other":"000 M","1000000000-count-one":"0 Md","1000000000-count-other":"0 Md","10000000000-count-one":"00 Md","10000000000-count-other":"00 Md","100000000000-count-one":"000 Md","100000000000-count-other":"000 Md","1000000000000-count-one":"0 Bn","1000000000000-count-other":"0 Bn","10000000000000-count-one":"00 Bn","10000000000000-count-other":"00 Bn","100000000000000-count-one":"000 Bn","100000000000000-count-other":"000 Bn"}}},"scientificFormats-numberSystem-latn":{"standard":"#E0"},"percentFormats-numberSystem-latn":{"standard":"#,##0 %"},"currencyFormats-numberSystem-latn":{"currencySpacing":{"beforeCurrency":{"currencyMatch":"[[:^S:]&[:^Z:]]","surroundingMatch":"[:digit:]","insertBetween":" "},"afterCurrency":{"currencyMatch":"[[:^S:]&[:^Z:]]","surroundingMatch":"[:digit:]","insertBetween":" "}},"standard":"#,##0.00 ¤","accounting":"#,##0.00 ¤;(#,##0.00 ¤)","short":{"standard":{"1000-count-one":"0 k ¤","1000-count-other":"0 k ¤","10000-count-one":"00 k ¤","10000-count-other":"00 k ¤","100000-count-one":"000 k ¤","100000-count-other":"000 k ¤","1000000-count-one":"0 M ¤","1000000-count-other":"0 M ¤","10000000-count-one":"00 M ¤","10000000-count-other":"00 M ¤","100000000-count-one":"000 M ¤","100000000-count-other":"000 M ¤","1000000000-count-one":"0 Md ¤","1000000000-count-other":"0 Md ¤","10000000000-count-one":"00 Md ¤","10000000000-count-other":"00 Md ¤","100000000000-count-one":"000 Md ¤","100000000000-count-other":"000 Md ¤","1000000000000-count-one":"0 Bn ¤","1000000000000-count-other":"0 Bn ¤","10000000000000-count-one":"00 Bn ¤","10000000000000-count-other":"00 Bn ¤","100000000000000-count-one":"000 Bn ¤","100000000000000-count-other":"000 Bn ¤"}},"unitPattern-count-one":"{0} {1}","unitPattern-count-other":"{0} {1}"},"miscPatterns-numberSystem-latn":{"approximately":"≈{0}","atLeast":"≥{0}","atMost":"≤{0}","range":"{0}–{1}"},"minimalPairs":{"pluralMinimalPairs-count-one":"{0} jour","pluralMinimalPairs-count-many":"{0} de jours","pluralMinimalPairs-count-other":"{0} jours","one":"Prenez la {0}re à droite.","other":"Prenez la {0}e à droite.","feminine":"La {0} est","masculine":"Le {0} est"}}}}}')}}]); -//# sourceMappingURL=chunk-vendors.ae545a5e.js.map \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/dist/js/chunk-vendors.ae545a5e.js.map b/examples-standalone/coffee-warehouse/dist/js/chunk-vendors.ae545a5e.js.map deleted file mode 100644 index 8e0ce062..00000000 --- a/examples-standalone/coffee-warehouse/dist/js/chunk-vendors.ae545a5e.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/chunk-vendors.ae545a5e.js","mappings":"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JC,IAAK,QACLC,KAAM,WACNC,KAAM,QACNC,MAAO,WACPC,OAAQ,cACRC,MAAO,SACPC,KAAM,QACNC,MAAO,SACP,eAAgB,kBAChB,iBAAkB,oBAG1BC,YAAa,CACT3C,KAAM,iBACNC,KAAM,cACNrrH,OAAQ,YACRsrH,MAAO,UAEXn8N,YAAa,CACTi8N,KAAM,kBACNC,KAAM,YACNrrH,OAAQ,WACRsrH,MAAO,UAEXrhO,KAAM,CACFlT,OAAQ,CACJi3O,YAAa,CACT,MACA,MACA,MACA,MACA,MACA,MACA,OAEJt+N,OAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ47N,MAAO,CACH,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ2C,KAAM,CACF,SACA,SACA,UACA,YACA,WACA,SACA,aAGR,cAAe,CACXD,YAAa,CACT,MACA,MACA,MACA,MACA,MACA,MACA,OAEJt+N,OAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,KAEJ47N,MAAO,CACH,KACA,KACA,KACA,KACA,KACA,KACA,MAEJ2C,KAAM,CACF,SACA,SACA,UACA,YACA,WACA,SACA,cAIZ9jO,OAAQ,CACJpT,OAAQ,CACJi3O,YAAa,CACT,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJt+N,OAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJu+N,KAAM,CACF,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,aAGR,cAAe,CACXD,YAAa,CACT,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJt+N,OAAQ,CACJ,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEJu+N,KAAM,CACF,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,cAIZC,SAAU,CACNn3O,OAAQ,CACJi3O,YAAa,CACT,KACA,KACA,KACA,MAEJt+N,OAAQ,CACJ,IA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","sources":["webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/filtering/filter-descriptor.interface.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/funcs.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/accessor.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/odata.operators.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/filtering/operators.enum.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/filter-serialization.common.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/mvc/operators.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/mvc/deserialization.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/sorting/sort-array.operator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/transducers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/grouping/aggregate.operators.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/filtering/filter.operators.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/filtering/filter-no-eval.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/filtering/filter-expression.factory.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/grouping/group.operators.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/sorting/sort.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-data-query/dist/es/array.operators.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-draggable/dist/es/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/node-map.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/utils/render-path.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/group-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/root-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/search/quad-root.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/search/quad-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/search/shapes-quad-tree.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/surface-cursor.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/path-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/arc-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/circle-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/image-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/multi-path-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/rect-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/text-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/surface.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/common/animation-frame.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/common/class.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/common/color/color.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/common/color/named-colors.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/common/color/parse-color.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/common/log-to-console.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/common/support.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/common/throttle.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/core/base-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/core/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/core/has-observers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/core/options-store.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/common/observable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/core/surface.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/close-or-less.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/line-intersection.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/arc.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/circle.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/close.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/ellipse-extreme-angles.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/line-intersections-count.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/matrix.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/point.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/rect.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/is-out-of-end-point.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/calculate-curve-at.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/to-cubic-polynomial.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/complex-number.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/solve-cubic-equation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/has-roots-in-range.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/math/curve-intersections-count.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/size.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/to-matrix.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/transformation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/geometry/transform.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/gradients/stops-array.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/mixins/with-options.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/gradients/gradient-stop.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/gradients/gradient.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/gradients/linear-gradient.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/gradients/radial-gradient.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/mixins/measurable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/mixins/paintable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/mixins/traversable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/mixins/with-accessors.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/mixins/with-geometry.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/mixins/with-points.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/circle.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/element.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/elements-array.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/group.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/image.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/geometry-elements-array.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/utils/points-to-curve.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/parsing/shape-map.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/parsing/parse-path.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/path.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/text.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/utils/elements-bounding-box.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/utils/elements-clippend-bounding-box.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/utils/render-attribute.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/utils/render-all-attributes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/utils/render-style.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/node-map.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/utils/render-svg.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/gradient-stop-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/gradient-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/linear-gradient-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/radial-gradient-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/clip-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/definition-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/root-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/path-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/arc-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/circle-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/group-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/common/html-encode.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/image-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/multi-path-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/rect-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/text-node.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/svg/surface.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/surface-factory.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/surface.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/text-metrics/lru-cache.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/text-metrics/measure-text.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/text-metrics/text-metrics.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/text-metrics/util.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/append.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/arabic-to-roman.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/bind-events.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/create-promise.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/defined.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/definition-id.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/deg.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/element-offset.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/element-padding.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/element-scale.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/element-size.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/element-styles.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/encode-base64.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/encode-utf.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/event-coordinates.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/event-element.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/is-transparent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/last.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/limit-value.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/merge-sort.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/now.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/promise-all.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/rad.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/round.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/unbind-events.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/util/value-or-default.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-file-saver/dist/es/save-as.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-file-saver/dist/es/base64.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-licensing/dist/index-esm.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/align-point.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/align.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/add-scroll.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/apply-location-offset.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/owner-document.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/window.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/document.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/scrollbar-width.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/window-viewport.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/bounding-offset.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/offset-parent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/is-body-offset.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/offset.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/parents.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/scroll-position.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/element-scroll-position.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/parent-scroll-position.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/offset-parent-scroll-position.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/position.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/position-with-scroll.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/remove-scroll.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/collision.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/restrict-to-view.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/siblings.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/sibling-container.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-popup-common/dist/es/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-svg-icons/dist/index.es.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-animation/dist/es/util.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-animation/dist/es/AnimationChild.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-animation/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-animation/dist/es/Animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-animation/dist/es/Fade.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-animation/dist/es/Expand.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-animation/dist/es/Push.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-animation/dist/es/Slide.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-animation/dist/es/Zoom.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-animation/dist/es/Reveal.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-animation/dist/es/hooks/useAnimation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/Chip/focus-reducer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/util.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/Button.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/ButtonWrap.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/ButtonGroup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/Chip/data-reducer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/Chip/selection-reducer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/Chip/Chip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/Chip/ChipList.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/FloatingActionButtonItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/FloatingActionButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/ButtonItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/utils/navigation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/utils/popup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/SplitButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/DropDownButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/Toolbar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarSeparator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarSpacer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/is-array.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/add-class.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/remove-class.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/align-path-to-pixel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/clockwise.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/is-number.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/is-string.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/convertable-to-number.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/is-function.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/deep-extend.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/is-object.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/style-value.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/element-styles.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/get-spacing.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/services/template-service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/get-template.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/getter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/grep.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/has-classes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/hash-map.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/in-array.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/interpolate-value.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/instance-observer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/map.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/mousewheel-delta.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/drawing-utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/font-loader.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/set-default-options.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/sparse-array-limits.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/find.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/element-scale.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/auto-text-color.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/create-hash-set.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/default-error-handler.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/common/keys.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/utils/auto-major-unit.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/point.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/box.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/ring.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/sector.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/shape-builder.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/animations/easing-functions.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/animations/animation-factory.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/animations/animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/chart-element.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/box-element.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/shape-element.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/gradients.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/utils/box-diff.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/root-element.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/float-element.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/text.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/utils/rect-to-box.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/text-box.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/axis-label.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/note.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/services/intl-service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/services/format-service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/services/chart-service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/services/dom-events-builder.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/utils/create-axis-tick.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/utils/create-axis-grid-line.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/absolute-date-diff.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/add-ticks.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/to-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/start-of-week.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/add-duration.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/floor-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/ceil-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/date-comparer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/date-diff.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/to-time.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/date-equals.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/date-index.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/duration.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/parse-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/parse-dates.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/date-utils/first-day.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/category-axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/date-category-axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/utils/auto-axis-min.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/utils/auto-axis-max.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/utils/floor.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/utils/ceil.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/utils/limit-coordinate.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/numeric-axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/date-value-axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/logarithmic-axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/mixins/grid-lines-mixin.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/radar-category-axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/polar-axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/mixins/radar-numeric-axis-mixin.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/radar-numeric-axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/radar-logarithmic-axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/core/curve-processor.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/api-elements/chart-axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/api-elements/find-axis-by-name.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/api-elements/chart-pane.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/api-elements/chart-plotarea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/count-numbers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/aggregates/aggregates.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/get-field.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/series-binder.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/error-bars/error-range-calculator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/error-bars/error-bar-base.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/error-bars/categorical-error-bar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/eval-options.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/categories-count.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/categorical-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/mixins/point-events-mixin.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/mixins/note-mixin.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/line-chart/line-point.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/line-chart/line-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/line-chart/step-line-mixin.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/line-chart/step-line-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/line-chart/spline-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/mixins/line-chart-mixin.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/animations/clip-animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/any-has-z-index.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/mixins/clip-animation-mixin.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/line-chart/line-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/area-chart/area-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/area-chart/step-area-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/area-chart/spline-area-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/area-chart/area-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/axis-group-range-tracker.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/bar-chart/bar-label.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/has-gradient-overlay.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/bar-chart/bar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/layout/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/layout/cluster-layout.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/layout/stack-wrap.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/bar-chart/bar-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/candlestick-chart/candlestick.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/are-numbers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/candlestick-chart/candlestick-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/box-plot-chart/box-plot.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/box-plot-chart/vertical-box-plot.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/box-plot-chart/box-plot-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/error-bars/scatter-error-bar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/has-value.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/scatter-charts/scatter-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/bubble-chart/bubble.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/bubble-chart/bubble-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/bullet-chart/target.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/bullet-chart/bullet.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/bullet-chart/bullet-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/tooltip/base-tooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/crosshair/crosshair-tooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/crosshair/crosshair.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/chart-container.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/pane.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/append-if-not-null.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/segment-visible.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/bind-segments.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/equals-ignore-case.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/filter-series-by-type.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/get-date-field.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/is-date-axis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/single-item-or-array.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/utils/create-out-of-range-points.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/plotarea/plotarea-base.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/mixins/plotarea-events-mixin.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/aggregates/series-aggregator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/aggregates/default-aggregates.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/range-bar-chart/range-bar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/range-bar-chart/range-bar-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/range-area-chart/range-line-point.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/range-area-chart/range-area-point.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/range-area-chart/range-area-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/range-area-chart/spline-range-area-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/range-area-chart/step-range-area-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/range-area-chart/range-area-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/ohlc-chart/ohlc-point.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/ohlc-chart/ohlc-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/waterfall-chart/waterfall-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/waterfall-chart/waterfall-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/plotarea/categorical-plotarea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/highlight.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/pan-and-zoom/accept-key.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/pan-and-zoom/to-chart-axis-ranges.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/pan-and-zoom/pannable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/pan-and-zoom/zoom-selection.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/pan-and-zoom/mousewheel-zoom.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/alignment/translate-to-point.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/alignment/align-start.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/alignment/align-start-reverse.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/layout.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/legend/legend-layout.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/legend/legend-item.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/legend/legend.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/plotarea/plotarea-factory.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/selection.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/tooltip/tooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/tooltip/shared-tooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/animations/bar-chart-animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/animations/bubble-animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/animations/fade-in-animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/animations/pie-animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/scatter-charts/scatter-line-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/plotarea/xy-plotarea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/pie-chart/pie-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/mixins/pie-chart-mixin.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/pie-chart/pie-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/plotarea/pie-plotarea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/donut-chart/donut-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/donut-chart/donut-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/plotarea/donut-plotarea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/plotarea/polar-plotarea-base.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/polar-scatter-chart/polar-scatter-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/polar-line-chart/polar-line-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/polar-area-chart/spline-polar-area-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/polar-area-chart/polar-area-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/polar-area-chart/polar-area-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/plotarea/polar-plotarea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/radar-line-chart/radar-line-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/radar-area-chart/spline-radar-area-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/radar-area-chart/radar-area-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/radar-area-chart/radar-area-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/radar-bar-chart/radar-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/layout/radar-cluster-layout.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/layout/radar-stack-layout.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/radar-bar-chart/radar-bar-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/plotarea/radar-plotarea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/funnel-chart/funnel-segment.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/funnel-chart/funnel-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/plotarea/funnel-plotarea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/heatmap-chart/color-scale.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/heatmap-chart/heatmap-point.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/heatmap-chart/heatmap-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/plotarea/heatmap-plotarea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/register-charts.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/sparkline/shared-tooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/sparkline/sparkline.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/stock/fade-out-animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/stock/navigator-hint.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/stock/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/stock/navigator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/stock/stock-chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/utils/pad.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/utils/build-label-element.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/utils/get-range.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/utils/unpad.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/gauge.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/linear/linear-scale.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/pointer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/linear/linear-pointer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/linear/arrow-linear-pointer-animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/linear/arrow-linear-pointer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/linear/bar-linear-pointer-animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/linear/bar-linear-pointer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/linear/linear-gauge.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/shapes/arc.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/radial/radial-scale.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/radial/radial-pointer-animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/radial/radial-pointer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/radial/radial-gauge.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/arc/arc-scale.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/arc/range-pointer-animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/arc/range-pointer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/arc/arc-gauge.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/gauges/circular/circular-gauge.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/encoding.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/code11.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/code39.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/code39-extended.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/code93.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/code93-extended.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/postnet.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/code128.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/msi.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/ean13.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/ean8.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/encodings/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/surface-size.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/barcode.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/barcode/barcode-validator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/encodings/free-cell-visitor.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/encodings/encoding-result.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/encodings/encoders/iso-encoder.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/encodings/data-modes/qr-data-mode.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/encodings/data-modes/numeric-data-mode.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/encodings/data-modes/alpha-numeric-data-mode.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/encodings/data-modes/byte-data-mode.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/encodings/data-modes/data-mode-instances.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/encodings/encoders/utf8-encoder.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/encodings/version-codewords.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/encodings/encoding.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/qrcode.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/qrcode/qrcode-validator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/datums.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/location.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/crs.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/scroller/observable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/attribution.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/navigator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/zoom.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/extent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/tooltip/tooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/layers/layer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/layers/tile.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/scroller/draggable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/layers/shape.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/layers/bubble.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/layers/marker.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/scroller/fx.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/scroller/user-events.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/scroller/scroller.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/services/map-service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/map/map.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-charts/dist/es/chart/base-theme.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/utils/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/dom-events.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/dom-events-builder.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/base-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/axis-label-click-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/preventable-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/drag-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/drag-end-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/drag-start-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/legend-item-hover-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/legend-item-click-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/legend-item-leave-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/navigator-filter-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/note-click-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/note-hover-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/plot-area-click-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/plot-area-hover-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/render-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/select-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/select-end-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/select-start-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/series-click-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/series-hover-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/zoom-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/zoom-end-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/zoom-start-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/chart-event-builder.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/events/dom-event.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/theming/theme-service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/store/store.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/store/reducer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/defaults.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/tooltip/Point.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/tooltip/SharedTooltipContent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/tooltip/Popup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/tooltip/Series.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/tooltip/Crosshair.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/tooltip/CrosshairContainer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/BaseChart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/DonutCenter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/Chart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/Sparkline.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/StockChart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/base/ConfigurationComponent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/ChartArea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/AxisDefaults.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/base/CollectionConfigurationComponent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/CategoryAxis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/CategoryAxisItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/Legend.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/Navigator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/Pane.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/PaneDefaults.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/Panes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/PlotArea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/Series.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/SeriesDefaults.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/SeriesItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/Title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/Tooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/ValueAxis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/ValueAxisItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/XAxis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/XAxisItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/YAxis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/YAxisItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/Zoomable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/axis-defaults/Title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/axis-defaults/Labels.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/axis-defaults/Crosshair.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/axis-defaults/CrosshairTooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/category-axis-item/Crosshair.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/category-axis-item/CrosshairTooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/category-axis-item/Select.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/category-axis-item/Title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/category-axis-item/Labels.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/category-axis-item/Notes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/category-axis-item/NotesIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/category-axis-item/NotesLabel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/category-axis-item/RangeLabels.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/pane/Title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/pane-defaults/Title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/legend/Item.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/legend/Title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/legend/InactiveItems.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-defaults/Tooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-defaults/Labels.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-defaults/LabelsFrom.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-defaults/LabelsTo.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-defaults/Notes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-defaults/NotesIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-defaults/NotesLabel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/Tooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/Outliers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/Notes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/Markers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/Labels.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/Highlight.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/Extremes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/ErrorBars.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/LabelsFrom.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/LabelsTo.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/NotesLabel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/series-item/NotesIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/value-axis-item/Crosshair.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/value-axis-item/CrosshairTooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/value-axis-item/Labels.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/value-axis-item/Notes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/value-axis-item/NotesIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/value-axis-item/NotesLabel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/value-axis-item/Title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/x-axis-item/Crosshair.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/x-axis-item/CrosshairTooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/x-axis-item/Labels.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/x-axis-item/Notes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/x-axis-item/NotesIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/x-axis-item/NotesLabel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/x-axis-item/Title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/y-axis-item/Crosshair.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/y-axis-item/CrosshairTooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/y-axis-item/Labels.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/y-axis-item/Notes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/y-axis-item/NotesIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/y-axis-item/NotesLabel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/y-axis-item/Title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/CategoryAxis.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/Hint.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/Pane.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/Select.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/Series.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/SeriesItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/category-axis/Crosshair.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/category-axis/CrosshairTooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/category-axis/Select.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/category-axis/Title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/category-axis/Labels.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/category-axis/Notes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/category-axis/NotesIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/category-axis/NotesLabel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/pane/Title.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/Tooltip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/Outliers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/Notes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/Markers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/Labels.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/Highlight.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/Extremes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/ErrorBars.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/LabelsFrom.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/LabelsTo.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/NotesLabel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-charts/dist/es/components/navigator/series-item/NotesIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/isObject.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/classNames.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/keys.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/refs.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/focus.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/clone.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/noop.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/constants/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/getTabIndex.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/isRtl.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/theme.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/treeDataOperations.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/browser-support.service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/hasRelativeStackingContext.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/icons/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/icons/FontIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/icons/SvgIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/icons/Icon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-common/dist/es/icons/getIconName.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/day.enum.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/clone-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/adjust-dst.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/create-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/get-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/is-equal.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/is-equal-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/add-days.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/direction.enum.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/day-of-week.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/models/NavigationAction.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/models/CalendarViewEnum.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/prev-day-of-week.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/week-in-year.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/CalendarCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/CalendarWeekCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/models/SelectionRange.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/CenturyViewService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/DecadeViewService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/MonthViewService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/YearViewService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/BusViewService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/messages/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/virtualization/Virtualization.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/last-day-of-month.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/add-months.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/set-year.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/add-years.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/add-decades.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/add-centuries.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/normalize-year.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/first-decade-of-century.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/last-decade-of-century.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/first-year-of-decade.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/duration-in-centuries.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/last-year-of-decade.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/duration-in-decades.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/add-weeks.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/first-day-of-month.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/duration-in-months.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/set-month.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/first-month-of-year.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/last-month-of-year.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-date-math/dist/es/duration-in-years.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/DOMService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/NavigationService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/services/WeekNamesService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/View.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/ViewList.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/defaults.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/CalendarHeaderTitle.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/Header.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/utils/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/calendar/components/Calendar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/dateinput/models/mask.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/dateinput/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/dateinput/models/kendo-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/models/TimePart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/dateinput/DateInput.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/datepicker/ToggleButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/datepicker/DatePicker.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/virtualization/services/RowHeightService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/virtualization/services/ScrollerService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/TimeList.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/TimePart.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/services/DayPeriodService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/services/DOMService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/services/HoursService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/services/MinutesService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/services/SecondsService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/TimeSelector.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/timepicker/TimePicker.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/daterangepicker/DateRangePicker.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/datetimepicker/DateTimeSelector.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/datetimepicker/DateTimePicker.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dateinputs/dist/es/common/PickerWrap.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/messages/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/settings.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListContainer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListFilter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListDefaultItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ListGroupItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/List.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/VirtualScroll.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/Navigation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/DropDownBase.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/GroupStickyHeader.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/DropDownList/DropDownList.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/SearchBar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/common/ClearButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/ComboBox/ComboBox.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/AutoComplete/AutoComplete.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/MultiSelect/TagList.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/MultiSelect/MultiSelect.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-treeview/dist/es/utils/itemIdUtils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-treeview/dist/es/utils/SortedPublicItemIds.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-treeview/dist/es/utils/misc.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-treeview/dist/es/utils/itemUtils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-treeview/dist/es/utils/getItemIdUponKeyboardNavigation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-treeview/dist/es/utils/consts.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-treeview/dist/es/TreeViewItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-treeview/dist/es/utils/FieldsService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-treeview/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-treeview/dist/es/TreeView.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/DropDownTree/ListNoData.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/DropDownTree/DropDownTree.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/MultiSelectTree/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dropdowns/dist/es/MultiSelectTree/MultiSelectTree.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-ooxml/dist/es/services/template-service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-ooxml/dist/es/utils/getter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-ooxml/dist/es/utils/map.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-ooxml/dist/es/excel-exporter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/jszip-esm/dist/jszip-esm5.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-ooxml/dist/es/utils/create-zip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-ooxml/dist/es/services/intl-service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-ooxml/dist/es/utils/time.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-ooxml/dist/es/ooxml.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-excel-export/dist/es/ooxml/ExporterColumns.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-excel-export/dist/es/ooxml/workbook.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-excel-export/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-excel-export/dist/es/saveExcel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-form/dist/es/Field.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-form/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-form/dist/es/Form.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-form/dist/es/FieldArray.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-form/dist/es/FieldWrapper.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-form/dist/es/FormElement.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/messages/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/navigation/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/TextFilter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/NumericFilter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/DateFilter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/EnumFilter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/filters/BooleanFilter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/operators.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/Expression.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/GroupToolbar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/GroupFilters.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/filter/Filter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/filterCommon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/cells/FilterCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/navigation/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/header/HeaderThElement.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/header/FilterRow.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/header/Header.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/header/HeaderCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/interfaces/SortSettings.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/drag/ColumnResizer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/drag/ColumnDraggable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/columnmenu/ColumnMenuItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/columnmenu/ColumnMenuItemGroup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/columnmenu/ColumnMenuSort.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/columnmenu/ColumnMenuItemContent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/columnmenu/ColumnMenuFilterCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/columnmenu/ColumnMenuFilterOperators.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/columnmenu/ColumnMenuFilter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/columnmenu/ColumnMenuContent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/columnmenu/ColumnMenu.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/header/HeaderSelectionCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/header/HeaderRow.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/header/HeaderTdElement.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/virtualization/columns.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/drag/ColumnResize.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/utils/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/drag/CommonDragLogic.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/drag/DragClue.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/drag/DropClue.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/utils/group-operations.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerNumericButtons.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerInput.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerPageSizes.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerInfo.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/PagerNavigationButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/Pager.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/pager/GridPagerSettings.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/navigation/TableKeyboardNavigation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-indicators/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-data-tools/dist/es/selection/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-indicators/dist/es/badge/Badge.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-indicators/dist/es/badge/BadgeContainer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-indicators/dist/es/loader/Loader.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-indicators/dist/es/skeleton/Skeleton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/GridNav.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/utils/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/messages/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridSelectionCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridHierarchyCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridDetailHierarchyCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridDetailCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridEditCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/utils/browser-support.service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/header/Header.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/interfaces/GridSortSettings.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/drag/ColumnResizer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/drag/ColumnDraggable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/header/GridHeaderCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuItemGroup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuSort.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuItemContent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/filterCommon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuFilterCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuFilterOperators.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuFilter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/ColumnMenuContent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/ColumnMenu.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/header/HeaderRow.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridFilterCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/header/FilterRow.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/drag/GroupingIndicator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/header/GroupPanel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/footer/Footer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/footer/FooterRow.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/GridCellValue.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/VirtualScroll.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/VirtualScrollFixed.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/drag/ColumnResize.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/drag/CommonDragLogic.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/drag/DragClue.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/drag/DropClue.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/cells/GridGroupCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/rows/GridRow.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/header/GridHeaderSelectionCell.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/GridNoRecords.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/Grid.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuFilterUI.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/columnMenu/GridColumnMenuCheckboxFilter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/rows/GridDetailRow.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/GridToolbar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-grid/dist/es/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/utils/misc.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/utils/color-parser.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/utils/color-palette.service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/models/palette-presets.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/ColorPalette.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/utils/color-cache.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/messages/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/result.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/input/Input.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/HexInput.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/ColorInput.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/ColorContrastLabels.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/utils/svg-calc.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/ColorContrastSvg.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/ColorGradient.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/Picker.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/FlatColorPicker.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/colors/ColorPicker.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/switch/Switch.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/input-separator/InputSeparator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/textbox/TextBox.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/numerictextbox/utils/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/numerictextbox/NumericTextBox.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/range-slider/range-raducer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/stream.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/parsers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/parsing/combinators.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/masking.service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/maskedtextbox/MaskedTextBox.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/slider/SliderLabel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/slider/Slider.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dialogs/dist/es/StageEnum.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dialogs/dist/es/messages/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/range-slider/RangeSlider.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/checkbox/Checkbox.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/radiobutton/RadioButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/radiobutton/RadioGroup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/textarea/TextArea.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dialogs/dist/es/DialogTitleBar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dialogs/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dialogs/dist/es/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dialogs/dist/es/Dialog.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dialogs/dist/es/DialogActionsBar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-inputs-common/dist/es/maskedtextbox/parsing/result.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dialogs/dist/es/WindowTitlebar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dialogs/dist/es/WindowResizeHandlers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-dialogs/dist/es/Window.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/signature/SignatureBottomActions.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/signature/SignatureLine.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-inputs-common/dist/es/maskedtextbox/parsing/stream.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-inputs-common/dist/es/maskedtextbox/parsing/parsers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-inputs-common/dist/es/maskedtextbox/parsing/combinators.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-inputs-common/dist/es/maskedtextbox/masking.service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/canvas/export-image.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-inputs-common/dist/es/common/drawing-utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-inputs-common/dist/es/signature/signature-pad.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/signature/SignatureCanvas.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/signature/SignatureDialog.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/signature/utils/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-inputs/dist/es/signature/Signature.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/default-data.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/common/is-string.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/error-details.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/errors.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/info.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/common/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/load-numbers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/load-dates.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/territory.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/load-units.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/load.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/date-field-name.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/date-format-names.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/parse-range-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/currency.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/first-day.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/weekend-range.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/cldr/number-symbols.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/common/is-negative-zero.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/numbers/format-currency-symbol.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/numbers/group-integer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/numbers/is-currency-style.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/common/pad.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/common/round.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/numbers/standard-number-format.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/numbers/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/numbers/custom-number-format.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/numbers/format-options.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/numbers/format-number.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/common/is-number.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/numbers/parse-number.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/common/format-string.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/dates/date-pattern.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/dates/date-name-type.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/dates/format-names.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/common/is-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/dates/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/dates/format-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/dates/time-utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/dates/parse-date.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/dates/split-date-format.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-intl/dist/es/format.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-intl/dist/es/Intl/IntlService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-intl/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-intl/dist/es/Intl/IntlProvider.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-intl/dist/es/Intl/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-intl/dist/es/Localization/messages.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-intl/dist/es/Localization/loadMessages.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-intl/dist/es/Localization/LocalizationService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-intl/dist/es/Localization/LocalizationProvider.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-intl/dist/es/Localization/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-intl/dist/es/intlUtils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-labels/dist/es/messages/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-labels/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-labels/dist/es/Label.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-labels/dist/es/Error.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-labels/dist/es/Hint.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-labels/dist/es/FloatingLabel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/card/interfaces/Enums.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/TabStripNavigationItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/TabStripNavigation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/TabStripContent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/TabStrip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/tabstrip/TabStripTab.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/card/Card.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/messages/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/stepper/messages/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardHeader.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardTitle.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardBody.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardActions.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardImage.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardSubtitle.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/card/CardFooter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/card/Avatar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/drawer/DrawerItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/drawer/DrawerNavigation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/drawer/Drawer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/drawer/DrawerContent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/stepper/contants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/stepper/Step.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-progressbars/dist/es/common/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-progressbars/dist/es/common/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-progressbars/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-progressbars/dist/es/progressbar/ProgressBar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-progressbars/dist/es/chunkprogressbar/ChunkProgressBar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/stepper/Stepper.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/itemsIdsUtils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/prepareInputItemsForInternalWork.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/getNewItemIdUponKeyboardNavigation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/hoverDelay.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/consts.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/misc.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/components/MenuItemLink.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/components/MenuItemArrow.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/components/MenuItemInternal.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/components/MenuItemInternalsList.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/DirectionHolder.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/utils/MouseOverHandler.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/menu/components/Menu.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/splitter/SplitterPane.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/splitter/SplitterBar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/splitter/Splitter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/panelbar/PanelBarGroup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/panelbar/PanelBarItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/panelbar/util.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/panelbar/interfaces/NavigationAction.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/panelbar/PanelBar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/tilelayout/ResizeHandlers.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/tilelayout/Tile.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/tilelayout/TileLayout.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/appbar/AppBar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/appbar/AppBarSection.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/appbar/AppBarSpacer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/bottomnavigation/models/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/bottomnavigation/BottomNavigationItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/bottomnavigation/BottomNavigation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/expansionpanel/ExpansionPanel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/expansionpanel/ExpansionPanelContent.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/gridlayout/GridLayoutItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/gridlayout/GridLayout.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-layout/dist/es/stacklayout/StackLayout.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/pdf/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/pdf/ttf.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/pdf/deflate.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/pdf/core.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/common/template.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/html/core.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-drawing/dist/es/pdf/drawing.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/KendoDrawingAdapter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/PDFExport.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/savePDF.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/common/dom-queries.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/grid/grid-query.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/common/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/grid/export-element.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/grid/provideSaveGridPDF.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/grid/GridPDFExport.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/common/table-query.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/treelist/export-element.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/treelist/provideSaveTreeListPDF.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/treelist/TreeListPDFExport.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-pdf/dist/es/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-popup/dist/es/util.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-popup/dist/es/services/alignService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-popup/dist/es/services/domService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-popup/dist/es/services/positionService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-popup/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-popup/dist/es/Popup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/isObject.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/classNames.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/guid.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/keys.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/canUseDOM.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/refs.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/focus.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/Draggable.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/defaultSlots.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/noop.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/getter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/setter.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/listeners.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/templateRendering.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/getTabIndex.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/isRtl.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/validate-package.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/theme.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/browser-support.service.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/interfaces/UploadFileStatus.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/icons/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/icons/FontIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/icons/SvgIcon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/icons/Icon.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/icons/getIconName.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/watermark/WatermarkOverlay.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-common/dist/es/navigation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/messages/main.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Chip/focus-reducer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/util.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/AnimationChild.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Animation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Fade.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Expand.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Push.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Slide.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Zoom.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/Reveal.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-animation/dist/es/hooks/useAnimation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-progressbars/dist/es/common/constants.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-progressbars/dist/es/common/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-progressbars/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-progressbars/dist/es/progressbar/ProgressBar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-progressbars/dist/es/chunkprogressbar/ChunkProgressBar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/utils/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/util.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Button.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ButtonWrap.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ButtonGroup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Chip/data-reducer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Chip/selection-reducer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Chip/Chip.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/Chip/ChipList.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/FloatingActionButtonItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/util.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/services/alignService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/services/domService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/services/positionService.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-popup/dist/es/Popup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/FloatingActionButton/FloatingActionButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/ButtonItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/utils/navigation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/utils/popup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/SplitButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/ListButton/DropDownButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/Toolbar.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarSeparator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/node_modules/@progress/kendo-vue-buttons/dist/es/toolbar/tools/ToolbarSpacer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadListActionButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadListSingleItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadListMultiItem.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadListGroup.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadList.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadActionButtons.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadInput.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadAddButton.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadStatus.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadDropZone.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadUI.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/UploadNavigation.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/bind.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/core/AxiosError.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/null.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/toFormData.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/buildURL.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/core/InterceptorManager.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/defaults/transitional.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/platform/browser/index.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/platform/common/utils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/platform/index.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/defaults/index.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/core/transformData.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/cancel/isCancel.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/cancel/CanceledError.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/core/settle.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/speedometer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/throttle.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/cookies.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/combineURLs.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/core/buildFullPath.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/core/mergeConfig.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/adapters/xhr.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/composeSignals.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/trackStream.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/adapters/fetch.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/adapters/adapters.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/core/dispatchRequest.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/env/data.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/validator.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/core/Axios.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/cancel/CancelToken.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/spread.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://kendo-vue-coffee-warehouse/./node_modules/axios/lib/axios.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/utils/stateUtils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/utils/connectionUtils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/utils/validationUtils.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/package-metadata.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/Upload.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/kendo-vue-upload/dist/es/ExternalDropZone.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@progress/pako-esm/dist/pako-esm5.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://kendo-vue-coffee-warehouse/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://kendo-vue-coffee-warehouse/./node_modules/hammerjs/hammer.js","webpack://kendo-vue-coffee-warehouse/./node_modules/vue-loader/dist/exportHelper.js","webpack://kendo-vue-coffee-warehouse/./node_modules/vue/dist/vue.runtime.esm-bundler.js","webpack://kendo-vue-coffee-warehouse/./node_modules/vue-router/dist/vue-router.mjs"],"sourcesContent":["/**\n * @hidden\n */\nexport var isPresent = function (value) { return value !== null && value !== undefined; };\n/**\n * @hidden\n */\nexport var isBlank = function (value) { return value === null || value === undefined; };\n/**\n * @hidden\n */\nexport var isArray = function (value) { return Array.isArray(value); };\n/**\n * @hidden\n */\nexport var isFunction = function (value) { return typeof value === 'function'; };\n/**\n * @hidden\n */\nexport var isString = function (value) { return typeof value === 'string'; };\n/**\n * @hidden\n */\nexport var isTruthy = function (value) { return !!value; };\n/**\n * @hidden\n */\nexport var isNullOrEmptyString = function (value) { return isBlank(value) || value.trim().length === 0; };\n/**\n * @hidden\n */\nexport var isNotNullOrEmptyString = function (value) { return !isNullOrEmptyString(value); };\n/**\n * @hidden\n */\nexport var isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };\n/**\n * @hidden\n */\nexport var isDate = function (value) { return value && value.getTime; };\n","import { isPresent } from '../utils';\n// tslint:enable:max-line-length\n/**\n * @hidden\n * Type guard for `CompositeFilterDescriptor`.\n */\nexport var isCompositeFilterDescriptor = function (source) {\n return isPresent(source.filters);\n};\n","/**\n * @hidden\n */\nexport var ifElse = function (predicate, right, left) { return function (value) { return predicate(value) ? right(value) : left(value); }; };\n/**\n * @hidden\n * Performs the right-to-left function composition. Functions should have a unary.\n */\nexport var compose = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return function (data) { return args.reduceRight(function (acc, curr) { return curr(acc); }, data); };\n};\n/**\n * @hidden\n */\nexport var constant = function (x) { return function () { return x; }; };\n/**\n * @hidden\n */\nexport var identity = function (x) { return x; };\n","import { isPresent } from './utils';\nvar getterCache = {};\nvar FIELD_REGEX = /\\[(?:(\\d+)|['\"](.*?)['\"])\\]|((?:(?!\\[.*?\\]|\\.).)+)/g;\n// tslint:disable-next-line:no-string-literal\ngetterCache['undefined'] = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport var getter = function (field, safe) {\n var key = field + safe;\n if (getterCache[key]) {\n return getterCache[key];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_, index, indexAccessor, field) {\n fields.push(isPresent(index) ? index : (indexAccessor || field));\n return undefined;\n });\n getterCache[key] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length; idx++) {\n result = result[fields[idx]];\n if (!isPresent(result) && safe) {\n return result;\n }\n }\n return result;\n };\n return getterCache[key];\n};\n","import * as tslib_1 from \"tslib\";\nimport { isPresent, isNotNullOrEmptyString } from './utils';\nimport { serializeFilter } from './odata-filtering.operators';\nimport { ifElse, constant } from './funcs';\nvar serializeSort = function (orderby) {\n var str = orderby\n .filter(function (sort) { return isPresent(sort.dir); })\n .map(function (sort) {\n var order = sort.field.replace(/\\./g, \"/\");\n return sort.dir === \"desc\" ? order + \" desc\" : order;\n }).join(\",\");\n return str ? \"$orderby=\" + str : str;\n};\nvar emptyString = constant('');\nvar concat = function (a) { return function (b) { return a + b; }; };\nvar serializeKey = function (strings, val) { return ifElse(isPresent, concat(strings[0]), emptyString)(val); };\nvar rules = function (settings, state) { return function (key) { return ({\n \"filter\": serializeFilter(state.filter || {}, settings),\n \"skip\": serializeKey(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"$skip=\", \"\"], [\"$skip=\", \"\"])), state.skip),\n \"sort\": serializeSort(state.sort || []),\n \"take\": serializeKey(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject([\"$top=\", \"\"], [\"$top=\", \"\"])), state.take)\n}[key]); }; };\n// tslint:enable:max-line-length\n/**\n * Converts a [State]({% slug api_kendo-data-query_state %}) into an OData v4 compatible string.\n *\n * @param {State} state - The state that will be serialized.\n * @param {ODataSettings} settings - The settings that are used during the serialization.\n * @returns {string} - The serialized state.\n */\nexport var toODataString = function (state, settings) {\n if (settings === void 0) { settings = {}; }\n return (Object.keys(state)\n .map(rules(settings, state))\n .filter(isNotNullOrEmptyString)\n .join('&'));\n};\nvar templateObject_1, templateObject_2;\n","/**\n * Represents the list of supported [`FilterDescriptor`]({% slug api_kendo-data-query_filterdescriptor %}) operators.\n * Allows restricting `FilterDescriptor.operator` definition to available values only.\n */\nexport var FilterOperator;\n(function (FilterOperator) {\n /**\n * The `contains` operator.\n */\n FilterOperator[\"Contains\"] = \"contains\";\n /**\n * The `doesnotcontain` operator.\n */\n FilterOperator[\"DoesNotContain\"] = \"doesnotcontain\";\n /**\n * The `doesnotendwith` operator.\n */\n FilterOperator[\"DoesNotEndWith\"] = \"doesnotendwith\";\n /**\n * The `doesnotstartwith` operator.\n */\n FilterOperator[\"DoesNotStartWith\"] = \"doesnotstartwith\";\n /**\n * The `endswith` operator.\n */\n FilterOperator[\"EndsWith\"] = \"endswith\";\n /**\n * The `eq` operator.\n */\n FilterOperator[\"EqualTo\"] = \"eq\";\n /**\n * The `gt` operator.\n */\n FilterOperator[\"GreaterThan\"] = \"gt\";\n /**\n * The `gte` operator.\n */\n FilterOperator[\"GreaterThanOrEqual\"] = \"gte\";\n /**\n * The `isempty` operator.\n */\n FilterOperator[\"IsEmpty\"] = \"isempty\";\n /**\n * The `isnotempty` operator.\n */\n FilterOperator[\"IsNotEmpty\"] = \"isnotempty\";\n /**\n * The `isnotnull` operator.\n */\n FilterOperator[\"IsNotNull\"] = \"isnotnull\";\n /**\n * The `isnull` operator.\n */\n FilterOperator[\"IsNull\"] = \"isnull\";\n /**\n * The `lt` operator.\n */\n FilterOperator[\"LessThan\"] = \"lt\";\n /**\n * The `lte` operator.\n */\n FilterOperator[\"LessThanOrEqual\"] = \"lte\";\n /**\n * The `neq` operator.\n */\n FilterOperator[\"NotEqualTo\"] = \"neq\";\n /**\n * The `startswith` operator.\n */\n FilterOperator[\"StartsWith\"] = \"startswith\";\n})(FilterOperator || (FilterOperator = {}));\n","import * as tslib_1 from \"tslib\";\nimport { isString, isDate } from './utils';\n/**\n * @hidden\n * Creates a single arity function which wraps the value based on the provided predicate.\n * @example\n * ```\n * wrapIf(() => ignoreCase) `tolower(${field})`\n * //ignoreCase=true -> tolower(${field})`\n * //ignoreCase=false -> ${field}`\n * ```\n */\nexport var wrapIf = function (predicate) { return function (str) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return predicate() ? \"\" + str[0] + args[0] + str[1] : args[0];\n}; };\n/**\n * @hidden\n */\nexport var toUTC = function (date) {\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n};\n/**\n * @hidden\n */\nexport var quote = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: \"'\" + value.replace(/'/g, \"''\") + \"'\",\n field: field,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var encodeValue = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: \"\" + encodeURIComponent(value),\n field: field,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var toLower = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n field: wrapIf(function () { return ignoreCase; })(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"tolower(\", \")\"], [\"tolower(\", \")\"])), field),\n value: value,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var normalizeField = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: value,\n field: field.replace(/\\./g, \"/\"),\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\n/**\n * @hidden\n */\nexport var isStringValue = function (x) { return isString(x.value); };\n/**\n * @hidden\n */\nexport var isDateValue = function (x) { return isDate(x.value); };\n/**\n * @hidden\n */\nexport var serializeFilters = function (map, join) { return function (filter) {\n var brackets = wrapIf(function () { return filter.filters.length > 1; });\n return brackets(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject([\"(\", \")\"], [\"(\",\n \")\"])), filter.filters\n .map(map)\n .join(join(filter)));\n}; };\nvar templateObject_1, templateObject_2;\n","import * as tslib_1 from \"tslib\";\nimport { isCompositeFilterDescriptor } from '../filtering/filter-descriptor.interface';\nimport { isPresent, isNotNullOrEmptyString, isArray } from '../utils';\nimport { getter } from '../accessor';\nimport { compose, ifElse, identity } from '../funcs';\nimport { isStringValue, isDateValue, quote, serializeFilters, toUTC, encodeValue } from '../filter-serialization.common';\nvar toQueryString = function (values) { return values.reduce(function (acc, _a) {\n var key = _a[0], value = _a[1];\n return acc.concat([key + \"=\" + value]);\n}, []); };\nvar toObject = function (values) { return values.reduce(function (acc, _a) {\n var key = _a[0], value = _a[1];\n var _b;\n return (tslib_1.__assign({}, acc, (_b = {}, _b[key] = value, _b)));\n}, {}); };\nvar pairwise = function (key) { return function (value) { return [key, value]; }; };\nvar empty = function () { return null; };\nvar isNotEmptyArray = function (value) { return isPresent(value) && isArray(value) && value.length > 0; };\nvar has = function (accessor) { return function (value) { return isPresent(accessor(value)); }; };\nvar isNotEmpty = function (accessor) { return function (value) { return isNotEmptyArray(accessor(value)); }; };\nvar runOrEmpty = function (predicate, fn) { return ifElse(predicate, fn, empty); };\nvar calcPage = function (_a) {\n var skip = _a.skip, take = _a.take;\n return Math.floor((skip || 0) / take) + 1;\n};\nvar formatDescriptors = function (accessor, formatter) { return function (state) { return (accessor(state).map(formatter).join(\"~\")); }; };\nvar removeAfter = function (what) { return function (str) { return str.slice(0, str.indexOf(what)); }; };\nvar replace = function (patterns) {\n return compose.apply(void 0, patterns.map(function (_a) {\n var left = _a[0], right = _a[1];\n return function (s) { return s.replace(new RegExp(left, \"g\"), right); };\n }));\n};\nvar sanitizeDateLiterals = replace([[\"\\\"\", \"\"], [\":\", \"-\"]]);\nvar removeAfterDot = removeAfter(\".\");\nvar directionFormatter = function (_a) {\n var field = _a.field, _b = _a.dir, dir = _b === void 0 ? \"asc\" : _b;\n return field + \"-\" + dir;\n};\nvar aggregateFormatter = function (_a) {\n var field = _a.field, aggregate = _a.aggregate;\n return field + \"-\" + aggregate;\n};\nvar take = getter(\"take\");\nvar aggregates = getter(\"aggregates\");\nvar skip = getter(\"skip\");\nvar group = getter(\"group\");\nvar sort = getter(\"sort\", true);\nvar formatSort = formatDescriptors(sort, directionFormatter);\nvar formatGroup = formatDescriptors(group, directionFormatter);\nvar formatAggregates = formatDescriptors(aggregates, aggregateFormatter);\nvar prefixDateValue = function (value) { return \"datetime'\" + value + \"'\"; };\nvar formatDateValue = compose(prefixDateValue, removeAfterDot, sanitizeDateLiterals, JSON.stringify, toUTC);\nvar formatDate = function (_a) {\n var field = _a.field, value = _a.value, ignoreCase = _a.ignoreCase, operator = _a.operator;\n return ({\n value: formatDateValue(value),\n field: field,\n ignoreCase: ignoreCase,\n operator: operator\n });\n};\nvar normalizeSort = function (state) { return Object.assign({}, state, {\n sort: (sort(state) || []).filter(function (_a) {\n var dir = _a.dir;\n return isNotNullOrEmptyString(dir);\n })\n}); };\nvar transformSkip = compose(pairwise('page'), calcPage);\nvar transformTake = compose(pairwise('pageSize'), take);\nvar transformGroup = compose(pairwise('group'), formatGroup);\nvar transformSort = compose(pairwise('sort'), formatSort);\nvar transformAggregates = compose(pairwise('aggregate'), formatAggregates);\nvar serializePage = runOrEmpty(has(skip), transformSkip);\nvar serializePageSize = runOrEmpty(has(take), transformTake);\nvar serializeGroup = runOrEmpty(isNotEmpty(group), transformGroup);\nvar serializeAggregates = runOrEmpty(has(aggregates), transformAggregates);\nvar serializeSort = compose(runOrEmpty(isNotEmpty(sort), transformSort), normalizeSort);\nvar hasField = function (_a) {\n var field = _a.field;\n return isNotNullOrEmptyString(field);\n};\nvar filterFormatter = function (_a) {\n var field = _a.field, operator = _a.operator, value = _a.value;\n return field + \"~\" + operator + \"~\" + value;\n};\nvar dateFormatter = ifElse(isDateValue, compose(filterFormatter, formatDate), filterFormatter);\nvar typedFormatter = function (encode) { return runOrEmpty(hasField, ifElse(isStringValue, compose(filterFormatter, quote, encode ? encodeValue : identity), dateFormatter)); };\nvar join = function (_a) {\n var logic = _a.logic;\n return \"~\" + logic + \"~\";\n};\nvar serialize = function (encode) { return serializeFilters(function (filter) { return ifElse(isCompositeFilterDescriptor, serialize(encode), typedFormatter(encode))(filter); }, join); };\nvar serializeFilter = function (_a, encode) {\n var filter = _a.filter;\n if (filter && filter.filters) {\n var filters = serialize(encode)(filter);\n if (filters.length) {\n return ['filter', filters];\n }\n }\n return null;\n};\nvar rules = function (state, encode) {\n if (encode === void 0) { encode = true; }\n return function (key) { return ({\n \"aggregates\": serializeAggregates(state),\n \"filter\": serializeFilter(state, encode),\n \"group\": serializeGroup(state),\n \"skip\": serializePage(state),\n \"sort\": serializeSort(state),\n \"take\": serializePageSize(state)\n }[key]); };\n};\n/**\n * Converts a [DataSourceRequestState]({% slug api_kendo-data-query_datasourcerequeststate %}) into a string\n * that is comparable with the `DataSourceRequest` format in UI for ASP.NET MVC.\n *\n * @param {DataRequestState} state - The state that will be serialized.\n * @returns {string} - The serialized state.\n *\n * @example\n * {% platform_content angular %}\n * ```ts\n * import {\n * toDataSourceRequestString,\n * translateDataSourceResultGroups,\n * translateAggregateResults\n * } from '@progress/kendo-data-query';\n *\n * export class Service {\n * private BASE_URL: string = '...';\n *\n * constructor(private http: Http) { }\n *\n * // Omitted for brevity...\n *\n * private fetch(state: DataSourceRequestState): Observable {\n * const queryStr = `${toDataSourceRequestString(state)}`; //serialize the state\n * const hasGroups = state.group && state.group.length;\n *\n * return this.http\n * .get(`${this.BASE_URL}?${queryStr}`) //send the state to the server\n * .map(response => response.json())\n * .map(({Data, Total, AggregateResults}) => // process the response\n * ({\n * //if there are groups convert them to compatible format\n * data: hasGroups ? translateDataSourceResultGroups(Data) : Data,\n * total: Total,\n * // convert the aggregates if such exists\n * aggregateResult: translateAggregateResults(AggregateResults)\n * })\n * );\n * }\n * }\n * ```\n * {% endplatform_content %}\n *\n * {% platform_content react %}\n * ```jsx\n * import React from 'react';\n * import { toDataSourceRequestString, translateDataSourceResultGroups } from '@progress/kendo-data-query';\n *\n * export function withState(WrappedGrid) {\n * return class StatefullGrid extends React.Component {\n * constructor(props) {\n * super(props);\n * this.state = { dataState: { skip: 0, take: 20 } };\n * }\n *\n * render() {\n * return (\n * \n * );\n * }\n *\n * componentDidMount() {\n * this.fetchData(this.state.dataState);\n * }\n *\n * dataStateChange = (changeEvent) => {\n * this.setState({ dataState: changeEvent.data });\n * this.fetchData(changeEvent.data);\n * }\n *\n * fetchData(dataState) {\n * const queryStr = `${toDataSourceRequestString(dataState)}`; // Serialize the state\n * const hasGroups = dataState.group && dataState.group.length;\n *\n * const base_url = 'api/Products';\n * const init = { method: 'GET', accept: 'application/json', headers: {} };\n *\n * fetch(`${base_url}?${queryStr}`, init)\n * .then(response => response.json())\n * .then(({ data, total }) => {\n * this.setState({\n * data: hasGroups ? translateDataSourceResultGroups(data) : data,\n * total,\n * dataState\n * });\n * });\n * }\n * }\n * }\n * ```\n * {% endplatform_content %}\n */\nexport var toDataSourceRequestString = function (state) { return (toQueryString(Object.keys(state)\n .map(rules(state))\n .filter(isPresent)).join('&')); };\n/**\n * Converts a [DataSourceRequestState]({% slug api_kendo-data-query_datasourcerequeststate %}) into an object\n * that is compatible with the `DataSourceRequest` format in UI for ASP.NET MVC.\n *\n * @param {DataRequestState} state - The state that will be serialized.\n * @returns {any} - The serialized state.\n */\nexport var toDataSourceRequest = function (state) { return (toObject(Object.keys(state)\n .map(rules(state, false))\n .filter(isPresent))); };\n","import { isPresent } from '../utils';\nimport { compose } from '../funcs';\n// tslint:enable:max-line-length\nvar set = function (field, target, value) {\n target[field] = value;\n return target;\n};\nvar toCamelCase = function (str) { return str.replace(/(^[A-Z])/g, function (_, g1) { return g1.toLowerCase(); }); };\nvar prop = function (fieldName) { return function (obj) {\n var value = obj[fieldName];\n if (isPresent(value)) {\n return value;\n }\n return obj[toCamelCase(fieldName)];\n}; };\nvar member = prop(\"Member\");\nvar aggregateMethodName = prop(\"AggregateMethodName\");\nvar value = prop(\"Value\");\nvar convert = function (mapper) { return function (values) { return Object.keys(values).reduce(mapper.bind(null, values), {}); }; };\nvar translateAggregate = convert(function (source, acc, field) { return set(field.toLowerCase(), acc, source[field]); });\nvar translateAggregates = convert(function (source, acc, field) { return set(field, acc, translateAggregate(source[field])); });\nvar valueOrDefault = function (value, defaultValue) { return isPresent(value) ? value : defaultValue; };\nvar normalizeGroup = function (group) { return ({\n aggregates: group.Aggregates || group.aggregates,\n field: group.Member || group.member || group.field,\n hasSubgroups: group.HasSubgroups || group.hasSubgroups || false,\n items: group.Items || group.items,\n value: valueOrDefault(group.Key, valueOrDefault(group.key, group.value))\n}); };\nvar translateGroup = compose(function (_a) {\n var field = _a.field, hasSubgroups = _a.hasSubgroups, value = _a.value, aggregates = _a.aggregates, items = _a.items;\n return ({\n aggregates: translateAggregates(aggregates),\n field: field,\n items: hasSubgroups ? items.map(translateGroup) : items,\n value: value\n });\n}, normalizeGroup);\n// tslint:disable:max-line-length\n/**\n * Converts the grouped result, which is returned into the `Data` field of the UI for ASP.NET MVC `ToDataSourceResult` method, to a comparable format.\n * @param data - The value of the `Data` field of the response.\n * @returns {GroupResult[]} - The converted result.\n */\nexport var translateDataSourceResultGroups = function (data) { return data.map(translateGroup); };\n/**\n * Converts the `AggregateResults` field content, which is returned by the UI for ASP.NET MVC `ToDataSourceResult` method, to a comparable format.\n * @param data - The value of the `AggregateResults` field of the response.\n * @returns {AggregateResult} - The converted result.\n */\n// tslint:enable:max-line-length\nexport var translateAggregateResults = function (data) { return ((data || []).reduce(function (acc, x) { return set(member(x), acc, set(aggregateMethodName(x).toLowerCase(), acc[member(x)] || {}, value(x))); }, {})); };\n","import { isPresent, isBlank } from '../utils';\nimport { getter } from '../accessor';\nvar compare = function (a, b) {\n if (isBlank(a)) {\n return a === b ? 0 : -1;\n }\n if (isBlank(b)) {\n return 1;\n }\n if (a.localeCompare) {\n return a.localeCompare(b);\n }\n return a > b ? 1 : (a < b ? -1 : 0);\n};\nvar compareDesc = function (a, b) { return compare(b, a); };\nvar descriptorAsFunc = function (descriptor) {\n var prop = getter(descriptor.field, true);\n return function (a, b) { return (descriptor.dir === 'asc' ? compare : compareDesc)(prop(a), prop(b)); };\n};\nvar initial = function (_a, _b) { return 0; };\n// tslint:disable:max-line-length\n/**\n * Converts the `SortDescriptors` into a [Comparer]({% slug api_kendo-data-query_comparer %}) function that can be used through `Array.sort`. If multiple descriptors are provided, sorting is applied in a right-to-left order.\n * @param {SortDescriptor[]} descriptors - The descriptors which will be converted.\n * @returns {Comparer} - The produced function.\n *\n * @example\n * ```ts\n * import { composeSortDescriptors } from '@progress/kendo-data-query';\n *\n * const data = [{ name: \"Pork\" }, { name: \"Pepper\" }, { name: \"Beef\" } ];\n * const comparer = composeSortDescriptors([{ field: \"name\", dir: \"asc\" }]);\n * const result = data.sort(comparer);\n * // output: [{ name: \"Beef\" }, { name: \"Pepper\" }, { name: \"Pork\" }];\n * ```\n */\n// tslint:enable:max-line-length\nexport var composeSortDescriptors = function (descriptors) { return (descriptors\n .filter(function (x) { return isPresent(x.dir); })\n .map(function (descriptor) { return descriptorAsFunc(descriptor); })\n .reduce(function (acc, curr) { return function (a, b) { return acc(a, b) || curr(a, b); }; }, initial)); };\n","import { isPresent, isNumeric, isDate } from './utils';\nimport { getter } from './accessor';\nvar valueToString = function (value) {\n value = isPresent(value) && value.getTime ? value.getTime() : value;\n return value + \"\";\n};\n/**\n * @hidden\n */\nexport var groupCombinator = function (field) {\n var prop = getter(field, true);\n var position = 0;\n return function (agg, value) {\n agg[field] = agg[field] || {};\n var groupValue = prop(value);\n var key = valueToString(groupValue);\n var values = agg[field][key] || { __position: position++, aggregates: {}, items: [], value: groupValue };\n values.items.push(value);\n agg[field][key] = values;\n return agg;\n };\n};\n/**\n * @hidden\n */\nexport var expandAggregates = function (result) {\n if (result === void 0) { result = {}; }\n Object.keys(result).forEach(function (field) {\n var aggregates = result[field];\n Object.keys(aggregates).forEach(function (aggregate) {\n aggregates[aggregate] = aggregates[aggregate].result();\n });\n });\n return result;\n};\nvar aggregatesFuncs = function (name) { return ({\n average: function () {\n var value = 0;\n var count = 0;\n return {\n calc: function (curr) {\n if (isNumeric(curr)) {\n value += curr;\n count++;\n }\n else {\n value = curr;\n }\n },\n result: function () { return isNumeric(value) ? value / count : value; }\n };\n },\n count: function () {\n var state = 0;\n return {\n calc: function () { return state++; },\n result: function () { return state; }\n };\n },\n max: function () {\n var state = Number.NEGATIVE_INFINITY;\n return {\n calc: function (value) {\n state = isNumeric(state) || isDate(state) ? state : value;\n if (state < value && (isNumeric(value) || isDate(value))) {\n state = value;\n }\n },\n result: function () { return state; }\n };\n },\n min: function () {\n var state = Number.POSITIVE_INFINITY;\n return {\n calc: function (value) {\n state = isNumeric(state) || isDate(state) ? state : value;\n if (state > value && (isNumeric(value) || isDate(value))) {\n state = value;\n }\n },\n result: function () { return state; }\n };\n },\n sum: function () {\n var state = 0;\n return {\n calc: function (value) {\n value = isPresent(value) ? value : 0;\n state += value;\n },\n result: function () { return state; }\n };\n }\n}[name]()); };\n/**\n * @hidden\n */\nexport var aggregatesCombinator = function (descriptors) {\n var functions = descriptors.map(function (descriptor) {\n var fieldAccessor = getter(descriptor.field, true);\n var aggregateName = (descriptor.aggregate || \"\").toLowerCase();\n var aggregateAccessor = getter(aggregateName, true);\n return function (state, value) {\n var fieldAggregates = state[descriptor.field] || {};\n var aggregateFunction = aggregateAccessor(fieldAggregates)\n || aggregatesFuncs(aggregateName);\n aggregateFunction.calc(fieldAccessor(value));\n fieldAggregates[descriptor.aggregate] = aggregateFunction;\n state[descriptor.field] = fieldAggregates;\n return state;\n };\n });\n return function (state, value) { return functions.reduce(function (agg, calc) { return calc(agg, value); }, state); };\n};\n/**\n * @hidden\n * Adds the value to the `arr` and produces a new array.\n *\n * > The original array will be modified.\n */\nexport var concat = function (arr, value) {\n arr.push(value);\n return arr;\n};\n/**\n * @hidden\n * Returns a reducer that will apply the specified transformation to the value.\n */\nexport var map = function (transform) { return (function (reduce) { return (function (acc, curr, index) { return reduce(acc, transform(curr, index)); }); }); };\n/**\n * @hidden\n * Returns a reducer that will filter out items which do not match the `Predicate`.\n */\nexport var filter = function (predicate) { return (function (reduce) { return (function (acc, curr) { return predicate(curr) ? reduce(acc, curr) : acc; }); }); };\n/**\n * @hidden\n */\nexport var isTransformerResult = function (source) {\n return isPresent(source.__value);\n};\nvar reduced = function (x) {\n if (isTransformerResult(x)) {\n return x;\n }\n return {\n __value: x,\n reduced: true\n };\n};\n/**\n * @hidden\n * Returns a reducer that will take the specified number of items.\n */\nexport var take = function (count) { return (function (reduce) { return (function (acc, curr) { return count-- > 0 ? reduce(acc, curr) : reduced(acc); }); }); };\n/**\n * @hidden\n * Returns a reducer that will take the specified number of items.\n */\nexport var takeWhile = function (predicate) { return (function (reduce) { return (function (acc, curr) { return predicate(curr) ? reduce(acc, curr) : reduced(acc); }); }); };\n/**\n * @hidden\n * Returns a reducer that will skip the specified number of items.\n */\nexport var skip = function (count) { return (function (reduce) { return (function (acc, curr) { return count-- <= 0 ? reduce(acc, curr) : acc; }); }); };\n/**\n * @hidden\n * Transforms the data by applying the supplied transformer.\n */\nexport var exec = function (transform, initialValue, data) {\n var result = initialValue;\n for (var idx = 0, length_1 = data.length; idx < length_1; idx++) {\n result = transform(result, data[idx], idx);\n if (isTransformerResult(result)) {\n result = result.__value;\n break;\n }\n }\n return result;\n};\n","import { exec, map, aggregatesCombinator, expandAggregates } from '../transducers';\nvar identity = map(function (x) { return x; });\n// tslint:disable:max-line-length\n/**\n * Applies the specified [AggregateDescriptors]({% slug api_kendo-data-query_aggregatedescriptor %}) to the data. Returns an [AggregateResult]({% slug api_kendo-data-query_aggregateresult %}) instance.\n *\n * @example\n * ```ts\n * const data = [\n * { unitPrice: 23, unitsInStock: 21 },\n * { unitPrice: 10, unitsInStock: 12 },\n * { unitPrice: 20, unitsInStock: 33 }\n * ];\n *\n * const result = aggregateBy(data, [\n * { aggregate: \"sum\", field: \"unitPrice\" },\n * { aggregate: \"sum\", field: \"unitsInStock\" }\n * ]);\n *\n * //output:\n * // {\n * // \"unitPrice\": { \"sum\": 53 },\n * // \"unitsInStock\": { \"sum\": 66 }\n * // }\n * ```\n * @param {T[]} data - The data on which the calculation will be executed.\n * @param {AggregateDescriptor[]} descriptors - The aggregate operations that will be executed.\n * @param {any} transformers - For internal use.\n * @returns {AggregateResult} - The aggregated result.\n * For more information, refer to the [aggregateresult]({% slug api_kendo-data-query_aggregateresult %}) configuration.\n */\n// tslint:enable:max-line-length\nexport var aggregateBy = function (data, descriptors, transformers) {\n if (descriptors === void 0) { descriptors = []; }\n if (transformers === void 0) { transformers = identity; }\n var initialValue = {};\n if (!descriptors.length) {\n return initialValue;\n }\n var result = exec(transformers(aggregatesCombinator(descriptors)), initialValue, data);\n return expandAggregates(result);\n};\n","import { isPresent, isString, isArray } from '../utils';\nimport { isCompositeFilterDescriptor } from './filter-descriptor.interface';\nvar operatorMap = function (key) { return ({\n \"!=\": \"neq\",\n \"<\": \"lt\",\n \"<=\": \"lte\",\n \"==\": \"eq\",\n \">\": \"gt\",\n \">=\": \"gte\",\n equal: \"eq\",\n equals: \"eq\",\n equalto: \"eq\",\n ge: \"gte\",\n greater: \"gt\",\n greaterthan: \"gt\",\n greaterthanequal: \"gte\",\n isempty: \"isempty\",\n isequalto: \"eq\",\n isgreaterthan: \"gt\",\n isgreaterthanorequalto: \"gte\",\n islessthan: \"lt\",\n islessthanorequalto: \"lte\",\n isnotempty: \"isnotempty\",\n isnotequalto: \"neq\",\n isnull: \"isnull\",\n le: \"lte\",\n less: \"lt\",\n lessthan: \"lt\",\n lessthanequal: \"lte\",\n ne: \"neq\",\n notequal: \"neq\",\n notequals: \"neq\",\n notequalto: \"neq\",\n notsubstringof: \"doesnotcontain\"\n}[key.toLowerCase()] || key); };\nvar normalizeOperator = function (descriptor) {\n if (descriptor.filters) {\n descriptor.filters = descriptor.filters.map(function (filter) {\n var result = Object.assign({}, filter);\n if (!isCompositeFilterDescriptor(filter) && isString(filter.operator)) {\n result.operator = operatorMap(filter.operator);\n }\n if (isCompositeFilterDescriptor(filter)) {\n normalizeOperator(result);\n }\n return result;\n });\n }\n};\nvar normalizeDescriptor = function (descriptor) {\n if (!isCompositeFilterDescriptor(descriptor)) {\n return {\n filters: isArray(descriptor) ? descriptor : [descriptor],\n logic: \"and\"\n };\n }\n return Object.assign({}, descriptor);\n};\n// tslint:disable:max-line-length\n/**\n * Converts a [FilterDescriptor]({% slug api_kendo-data-query_filterdescriptor %}) into a [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}). If a `CompositeFilterDescriptor` is passed, no modifications will be made.\n *\n * @param {CompositeFilterDescriptor | FilterDescriptor} descriptor - The descriptor that will be normalized.\n * @returns {CompositeFilterDescriptor} - The normalized descriptor.\n */\n// tslint:enable:max-line-length\nexport var normalizeFilters = function (descriptor) {\n if (isPresent(descriptor)) {\n descriptor = normalizeDescriptor(descriptor);\n normalizeOperator(descriptor);\n }\n return descriptor;\n};\n","import { isCompositeFilterDescriptor } from \"./filter-descriptor.interface\";\nimport { getter } from \"../accessor\";\nimport { isFunction, isPresent, isDate, isString, isBlank, isNumeric } from \"../utils\";\nvar logic = {\n \"or\": {\n concat: function (acc, fn) { return function (a) { return acc(a) || fn(a); }; },\n identity: function () { return false; }\n },\n \"and\": {\n concat: function (acc, fn) { return function (a) { return acc(a) && fn(a); }; },\n identity: function () { return true; }\n }\n};\nvar operatorsMap = {\n contains: function (a, b) { return (a || \"\").indexOf(b) >= 0; },\n doesnotcontain: function (a, b) { return (a || \"\").indexOf(b) === -1; },\n doesnotendwith: function (a, b) { return (a || \"\").indexOf(b, (a || \"\").length - (b || \"\").length) < 0; },\n doesnotstartwith: function (a, b) { return (a || \"\").lastIndexOf(b, 0) === -1; },\n endswith: function (a, b) { return (a || \"\").indexOf(b, (a || \"\").length - (b || \"\").length) >= 0; },\n eq: function (a, b) { return a === b; },\n gt: function (a, b) { return a > b; },\n gte: function (a, b) { return a >= b; },\n isempty: function (a) { return a === ''; },\n isnotempty: function (a) { return a !== ''; },\n isnotnull: function (a) { return isPresent(a); },\n isnull: function (a) { return isBlank(a); },\n lt: function (a, b) { return a < b; },\n lte: function (a, b) { return a <= b; },\n neq: function (a, b) { return a != b; },\n startswith: function (a, b) { return (a || \"\").lastIndexOf(b, 0) === 0; }\n};\nvar dateRegExp = /^\\/Date\\((.*?)\\)\\/$/;\nvar convertValue = function (value, ignoreCase) {\n if (value != null && isString(value)) {\n var date = dateRegExp.exec(value);\n if (date) {\n return new Date(+date[1]).getTime();\n }\n else if (ignoreCase) {\n return value.toLowerCase();\n }\n }\n else if (value != null && isDate(value)) {\n return value.getTime();\n }\n return value;\n};\nvar typedGetter = function (prop, value, ignoreCase) {\n if (!isPresent(value)) {\n return prop;\n }\n var acc = prop;\n if (isString(value)) {\n var date = dateRegExp.exec(value);\n if (date) {\n value = new Date(+date[1]);\n }\n else {\n acc = function (a) {\n var x = prop(a);\n if (typeof x === 'string' && ignoreCase) {\n return x.toLowerCase();\n }\n else {\n return isNumeric(x) ? x + \"\" : x;\n }\n };\n }\n }\n if (isDate(value)) {\n return function (a) {\n var x = acc(a);\n return isDate(x) ? x.getTime() : x;\n };\n }\n return acc;\n};\nvar transformFilter = function (_a) {\n var field = _a.field, ignoreCase = _a.ignoreCase, value = _a.value, operator = _a.operator;\n field = !isPresent(field) ? function (a) { return a; } : field;\n ignoreCase = isPresent(ignoreCase) ? ignoreCase : true;\n var itemProp = typedGetter(isFunction(field) ? field : getter(field, true), value, ignoreCase);\n value = convertValue(value, ignoreCase);\n var op = isFunction(operator) ? operator : operatorsMap[operator];\n return function (a) { return op(itemProp(a), value, ignoreCase); };\n};\n/**\n * @hidden\n */\nexport var transformCompositeFilter = function (filter) {\n var combiner = logic[filter.logic];\n return filter.filters\n .filter(isPresent)\n .map(function (x) { return isCompositeFilterDescriptor(x) ? transformCompositeFilter(x) : transformFilter(x); })\n .reduce(combiner.concat, combiner.identity);\n};\n","import { isPresent } from '../utils';\nimport { isCompositeFilterDescriptor } from './filter-descriptor.interface';\nimport { normalizeFilters } from './filter.operators';\nimport { transformCompositeFilter } from \"./filter-no-eval\";\n// tslint:disable:max-line-length\n/**\n * Creates a [Predicate]({% slug api_kendo-data-query_predicate %}) function for the specified [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}).\n *\n * @param {CompositeFilterDescriptor} descriptor - The descriptor for which the predicate is created.\n * @returns {Predicate} - The created function instance.\n *\n * @example\n * ```ts\n * import { compileFilter } from '@progress/kendo-data-query';\n *\n * const data = [{ name: \"Pork\" }, { name: \"Pepper\" }, { name: \"Beef\" } ];\n * const predicate = compileFilter({ logic: \"and\", filters: [{ field: \"name\", operator: \"startswith\", value: \"P\" }] });\n * const result = data.filter(predicate);\n *\n * ```\n */\n// tslint:enable:max-line-length\nexport var compileFilter = function (descriptor) {\n if (!descriptor || descriptor.filters.length === 0) {\n return function () { return true; };\n }\n return transformCompositeFilter(descriptor);\n};\n// tslint:disable:max-line-length\n/**\n * Filters the provided array according to the specified [CompositeFilterDescriptor]({% slug api_kendo-data-query_compositefilterdescriptor %}).\n *\n * @param {T[]} data - The data that will be filtered.\n * @param {(CompositeFilterDescriptor | FilterDescriptor)} descriptor - The filter criteria that will be applied.\n * @returns {T[]} - The filtered data.\n *\n * @example\n * ```ts\n * import { filterBy } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = filterBy(data, {\n * logic: 'and',\n * filters: [\n * { field: \"name\", operator: \"startswith\", value: \"p\", ignoreCase: true },\n * { field: \"subcategory\", operator: \"eq\", value: \"Meat\" },\n * ]\n * });\n *\n * // output:\n * // [{ \"name\": \"Pork\", \"category\": \"Food\", \"subcategory\": \"Meat\" }]\n * ```\n */\n// tslint:enable:max-line-length\nexport var filterBy = function (data, descriptor) {\n if (!isPresent(descriptor) || (isCompositeFilterDescriptor(descriptor) && descriptor.filters.length === 0)) {\n return data;\n }\n return data.filter(compileFilter(normalizeFilters(descriptor)));\n};\n","import { exec, map, groupCombinator } from '../transducers';\nimport { isArray, isPresent } from '../utils';\nimport { aggregateBy } from './aggregate.operators';\nimport { filterBy } from '../filtering/filter-expression.factory';\n/**\n * @hidden\n */\nexport var normalizeGroups = function (descriptors) {\n descriptors = isArray(descriptors) ? descriptors : [descriptors];\n return descriptors.map(function (x) { return Object.assign({ dir: \"asc\" }, x); });\n};\nvar identity = map(function (x) { return x; });\n/**\n * Groups the provided data according to the specified descriptors.\n *\n * @param {Array} data - The data that will be grouped.\n * @param {GroupDescriptor[]} descriptors - The descriptors.\n * @param {any} transformers - For internal use.\n * @param {Array} originalData - For internal use.\n * @returns {(Array> | T[])} - The grouped data.\n *\n * @example\n * ```ts\n *\n * import { groupBy } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = groupBy(data, [{ field: \"subcategory\" }]);\n * ```\n */\nexport var groupBy = function (data, descriptors, transformers, originalData) {\n if (descriptors === void 0) { descriptors = []; }\n if (transformers === void 0) { transformers = identity; }\n if (originalData === void 0) { originalData = data; }\n descriptors = normalizeGroups(descriptors);\n if (!descriptors.length) {\n return data;\n }\n var descriptor = descriptors[0];\n var initialValue = {};\n var view = exec(transformers(groupCombinator(descriptor.field)), initialValue, data);\n var result = [];\n Object.keys(view).forEach(function (field) {\n Object.keys(view[field]).forEach(function (value) {\n var group = view[field][value];\n var aggregateResult = {};\n var filteredData = originalData;\n if (isPresent(descriptor.aggregates)) {\n filteredData = filterBy(originalData, {\n field: descriptor.field,\n ignoreCase: false,\n operator: 'eq',\n value: group.value\n });\n aggregateResult = aggregateBy(filteredData, descriptor.aggregates);\n }\n result[group.__position] = {\n aggregates: aggregateResult,\n field: field,\n items: descriptors.length > 1 ?\n groupBy(group.items, descriptors.slice(1), identity, filteredData)\n : group.items,\n value: group.value\n };\n });\n });\n return result;\n};\n","var merge = function (data, left, middle, right, compare) {\n var leftLength = middle - left;\n var rightLength = right - middle;\n var temp = [];\n for (var idx = 0; idx < leftLength; idx++) {\n temp.push(data[left + idx]);\n }\n var cursor1 = 0;\n var cursor2 = middle;\n var dest = left;\n do {\n if (compare(data[cursor2], temp[cursor1]) < 0) {\n data[dest++] = data[cursor2++];\n rightLength--;\n }\n else {\n data[dest++] = temp[cursor1++];\n leftLength--;\n }\n } while (rightLength > 0 && leftLength > 0);\n while (leftLength) {\n data[dest++] = temp[cursor1++];\n leftLength--;\n }\n while (rightLength) {\n data[dest++] = data[cursor2++];\n rightLength--;\n }\n};\n/**\n * @hidden\n */\nexport var sort = function (data, start, end, compare) {\n if (end - start < 2) {\n return;\n }\n var mid = (start + end) >>> 1; // tslint:disable-line:no-bitwise\n sort(data, start, mid, compare);\n sort(data, mid, end, compare);\n merge(data, start, mid, end, compare);\n};\n","import { isPresent, isString } from './utils';\nimport { composeSortDescriptors } from './sorting/sort-array.operator';\nimport { groupBy, normalizeGroups } from './grouping/group.operators';\nimport { normalizeFilters } from './filtering/filter.operators';\nimport { compileFilter } from './filtering/filter-expression.factory';\nimport { exec, skip, take, filter, concat } from './transducers';\nimport { getter } from './accessor';\nimport { compose } from './funcs';\nimport { sort } from './sorting/sort';\n/**\n * Orders the specified array according to the provided sort descriptors.\n *\n * @param {T[]} data - The data to be sorted.\n * @param {SortDescriptor[]} descriptors - The descriptors by which the data will be sorted.\n * @returns {T[]} - The sorted data.\n *\n * @example\n * ```ts\n * import { orderBy } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = orderBy(data, [{ field: \"name\", dir: \"asc\" }]);\n * ```\n */\nexport var orderBy = function (data, descriptors) {\n if (descriptors.some(function (x) { return isPresent(x.dir); })) {\n data = data.slice(0);\n var comparer = composeSortDescriptors(descriptors);\n sort(data, 0, data.length, comparer);\n }\n return data;\n};\nvar defaultComparer = function (a, b) { return a === b; };\nvar normalizeComparer = function (comparer) {\n if (isString(comparer)) {\n var accessor_1 = getter(comparer);\n comparer = function (a, b) { return accessor_1(a) === accessor_1(b); };\n }\n return comparer;\n};\nvar _distinct = function (data, comparer) {\n return data.filter(function (x, idx, xs) { return xs.findIndex(comparer.bind(null, x)) === idx; });\n};\n/**\n * Reduces the provided array so it contains only unique values.\n *\n * @param {T[]} data - The array that will be reduced.\n * @param {(Comparer | string)} comparer - An optional custom comparer function or the field name that will be used for comparison.\n * @returns {T[]} - The reduced data.\n *\n * @example\n * ```ts\n * import { distinct } from '@progress/kendo-data-query';\n *\n * const data = [\n * { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" },\n * { name: \"Beef\", category: \"Food\", subcategory: \"Meat\" }\n * ];\n *\n * const result = distinct(data, \"subcategory\");\n *\n * // output:\n * // result => [\n * // { name: \"Pork\", category: \"Food\", subcategory: \"Meat\" },\n * // { name: \"Pepper\", category: \"Food\", subcategory: \"Vegetables\" }\n * // ];\n * ```\n */\nexport var distinct = function (data, comparer) {\n if (comparer === void 0) { comparer = defaultComparer; }\n return _distinct(data, normalizeComparer(comparer));\n};\n/**\n * @hidden\n */\nexport var count = function (data, predicate) {\n var counter = 0;\n for (var idx = 0, length_1 = data.length; idx < length_1; idx++) {\n if (predicate(data[idx])) {\n counter++;\n }\n }\n return counter;\n};\n/**\n * @hidden\n */\nexport var limit = function (data, predicate) {\n if (predicate) {\n return data.filter(predicate);\n }\n return data;\n};\n/**\n * Applies the specified operation descriptors to the data.\n *\n * @param {T[]} data - The data to be processed.\n * @param {State} state - The operation descriptors that will be applied to the data.\n * @returns {DataResult} - The processed data.\n *\n * @example\n * ```ts\n *\n * const result = process(data, {\n * skip: 10,\n * take: 20,\n * group: [{\n * field: 'category.categoryName',\n * aggregates: [\n * { aggregate: \"sum\", field: \"unitPrice\" },\n * { aggregate: \"sum\", field: \"unitsInStock\" }\n * ]\n * }],\n * sort: [{ field: 'productName', dir: 'desc' }],\n * filter: {\n * logic: \"or\",\n * filters: [\n * { field: \"discontinued\", operator: \"eq\", value: true },\n * { field: \"unitPrice\", operator: \"lt\", value: 22 }\n * ]\n * }\n * });\n *\n * ```\n */\nexport var process = function (data, state) {\n var skipCount = state.skip, takeCount = state.take, filterDescriptor = state.filter, sort = state.sort, group = state.group;\n var sortDescriptors = normalizeGroups(group || []).concat(sort || []);\n if (sortDescriptors.length) {\n data = orderBy(data, sortDescriptors);\n }\n var hasFilters = isPresent(filterDescriptor) && filter.length;\n var hasGroups = isPresent(group) && group.length;\n if (!hasFilters && !hasGroups) {\n return {\n data: takeCount ? data.slice(skipCount, skipCount + takeCount) : data,\n total: data.length\n };\n }\n var total;\n var transformers = [];\n var predicate;\n if (hasFilters) {\n predicate = compileFilter(normalizeFilters(filterDescriptor));\n total = count(data, predicate);\n transformers.push(filter(predicate));\n }\n else {\n total = data.length;\n }\n if (isPresent(skipCount) && isPresent(takeCount)) {\n transformers.push(skip(skipCount));\n transformers.push(take(takeCount));\n }\n if (transformers.length) {\n var transform = compose.apply(void 0, transformers);\n var result = hasGroups ?\n groupBy(data, group, transform, limit(data, predicate)) :\n exec(transform(concat), [], data);\n return { data: result, total: total };\n }\n return {\n data: hasGroups ? groupBy(data, group) : data,\n total: total\n };\n};\n","var proxy = function (a, b) { return function (e) { return b(a(e)); }; };\n\nvar bind = function (el, event, callback) { return el.addEventListener && el.addEventListener(event, callback); };\n\nvar unbind = function (el, event, callback) { return el && el.removeEventListener && el.removeEventListener(event, callback); };\n\nvar noop = function () { /* empty */ };\n\nvar preventDefault = function (e) { return e.preventDefault(); };\n\nvar touchRegExp = /touch/;\n\n// 300ms is the usual mouse interval;\n// // However, an underpowered mobile device under a heavy load may queue mouse events for a longer period.\nvar IGNORE_MOUSE_TIMEOUT = 2000;\n\nfunction normalizeEvent(e) {\n if (e.type.match(touchRegExp)) {\n return {\n pageX: e.changedTouches[0].pageX,\n pageY: e.changedTouches[0].pageY,\n clientX: e.changedTouches[0].clientX,\n clientY: e.changedTouches[0].clientY,\n type: e.type,\n originalEvent: e,\n isTouch: true\n };\n }\n\n return {\n pageX: e.pageX,\n pageY: e.pageY,\n clientX: e.clientX,\n clientY: e.clientY,\n offsetX: e.offsetX,\n offsetY: e.offsetY,\n type: e.type,\n ctrlKey: e.ctrlKey,\n shiftKey: e.shiftKey,\n altKey: e.altKey,\n originalEvent: e\n };\n}\n\nexport var Draggable = function Draggable(ref) {\n var this$1 = this;\n var press = ref.press; if ( press === void 0 ) press = noop;\n var drag = ref.drag; if ( drag === void 0 ) drag = noop;\n var release = ref.release; if ( release === void 0 ) release = noop;\n var mouseOnly = ref.mouseOnly; if ( mouseOnly === void 0 ) mouseOnly = false;\n\n this._pressHandler = proxy(normalizeEvent, press);\n this._dragHandler = proxy(normalizeEvent, drag);\n this._releaseHandler = proxy(normalizeEvent, release);\n this._ignoreMouse = false;\n this._mouseOnly = mouseOnly;\n\n this._touchstart = function (e) {\n if (e.touches.length === 1) {\n this$1._pressHandler(e);\n }\n };\n\n this._touchmove = function (e) {\n if (e.touches.length === 1) {\n this$1._dragHandler(e);\n }\n };\n\n this._touchend = function (e) {\n // the last finger has been lifted, and the user is not doing gesture.\n // there might be a better way to handle this.\n if (e.touches.length === 0 && e.changedTouches.length === 1) {\n this$1._releaseHandler(e);\n this$1._ignoreMouse = true;\n setTimeout(this$1._restoreMouse, IGNORE_MOUSE_TIMEOUT);\n }\n };\n\n this._restoreMouse = function () {\n this$1._ignoreMouse = false;\n };\n\n this._mousedown = function (e) {\n var which = e.which;\n\n if ((which && which > 1) || this$1._ignoreMouse) {\n return;\n }\n\n bind(this$1.document, \"mousemove\", this$1._mousemove);\n bind(this$1.document, \"mouseup\", this$1._mouseup);\n this$1._pressHandler(e);\n };\n\n this._mousemove = function (e) {\n this$1._dragHandler(e);\n };\n\n this._mouseup = function (e) {\n unbind(this$1.document, \"mousemove\", this$1._mousemove);\n unbind(this$1.document, \"mouseup\", this$1._mouseup);\n this$1._releaseHandler(e);\n };\n\n this._pointerdown = function (e) {\n if (e.isPrimary && e.button === 0) {\n bind(this$1.document, \"pointermove\", this$1._pointermove);\n bind(this$1.document, \"pointerup\", this$1._pointerup);\n bind(this$1.document, \"pointercancel\", this$1._pointerup);\n bind(this$1.document, \"contextmenu\", preventDefault);\n\n this$1._pressHandler(e);\n }\n };\n\n this._pointermove = function (e) {\n if (e.isPrimary) {\n this$1._dragHandler(e);\n }\n };\n\n this._pointerup = function (e) {\n if (e.isPrimary) {\n unbind(this$1.document, \"pointermove\", this$1._pointermove);\n unbind(this$1.document, \"pointerup\", this$1._pointerup);\n unbind(this$1.document, \"pointercancel\", this$1._pointerup);\n unbind(this$1.document, \"contextmenu\", preventDefault);\n\n this$1._releaseHandler(e);\n }\n };\n};\n\nvar prototypeAccessors = { document: { configurable: true } };\n\nDraggable.supportPointerEvent = function supportPointerEvent () {\n return (typeof window !== 'undefined') && window.PointerEvent;\n};\n\nprototypeAccessors.document.get = function () {\n return this._element\n ? this._element.ownerDocument\n : document;\n};\n\nDraggable.prototype.bindTo = function bindTo (element) {\n if (element === this._element) {\n return;\n }\n\n if (this._element) {\n this._unbindFromCurrent();\n }\n\n this._element = element;\n this._bindToCurrent();\n};\n\nDraggable.prototype._bindToCurrent = function _bindToCurrent () {\n var element = this._element;\n\n if (this._usePointers()) {\n bind(element, \"pointerdown\", this._pointerdown);\n return;\n }\n\n bind(element, \"mousedown\", this._mousedown);\n\n if (!this._mouseOnly) {\n bind(element, \"touchstart\", this._touchstart);\n bind(element, \"touchmove\", this._touchmove);\n bind(element, \"touchend\", this._touchend);\n }\n};\n\nDraggable.prototype._unbindFromCurrent = function _unbindFromCurrent () {\n var element = this._element;\n\n if (this._usePointers()) {\n unbind(element, \"pointerdown\", this._pointerdown);\n unbind(this.document, \"pointermove\", this._pointermove);\n unbind(this.document, \"pointerup\", this._pointerup);\n unbind(this.document, \"contextmenu\", preventDefault);\n unbind(this.document, \"pointercancel\", this._pointerup);\n return;\n }\n\n unbind(element, \"mousedown\", this._mousedown);\n\n if (!this._mouseOnly) {\n unbind(element, \"touchstart\", this._touchstart);\n unbind(element, \"touchmove\", this._touchmove);\n unbind(element, \"touchend\", this._touchend);\n }\n};\n\nDraggable.prototype._usePointers = function _usePointers () {\n return !this._mouseOnly && Draggable.supportPointerEvent();\n};\n\nDraggable.prototype.update = function update (ref) {\n var press = ref.press; if ( press === void 0 ) press = noop;\n var drag = ref.drag; if ( drag === void 0 ) drag = noop;\n var release = ref.release; if ( release === void 0 ) release = noop;\n var mouseOnly = ref.mouseOnly; if ( mouseOnly === void 0 ) mouseOnly = false;\n\n this._pressHandler = proxy(normalizeEvent, press);\n this._dragHandler = proxy(normalizeEvent, drag);\n this._releaseHandler = proxy(normalizeEvent, release);\n this._mouseOnly = mouseOnly;\n};\n\nDraggable.prototype.destroy = function destroy () {\n this._unbindFromCurrent();\n this._element = null;\n};\n\nObject.defineProperties( Draggable.prototype, prototypeAccessors );\n\n// Re-export as \"default\" field to address a bug\n// where the ES Module is imported by CommonJS code.\n//\n// See https://github.com/telerik/kendo-angular/issues/1314\nDraggable.default = Draggable;\n\n// Rollup won't output exports['default'] otherwise\nexport default Draggable;\n\n","var NODE_MAP = {};\n\nexport default NODE_MAP;","\nexport default function renderPath(ctx, path) {\n var segments = path.segments;\n\n if (segments.length === 0) {\n return;\n }\n\n var segment = segments[0];\n var anchor = segment.anchor();\n ctx.moveTo(anchor.x, anchor.y);\n\n for (var i = 1; i < segments.length; i++) {\n segment = segments[i];\n anchor = segment.anchor();\n\n var prevSeg = segments[i - 1];\n var prevOut = prevSeg.controlOut();\n var controlIn = segment.controlIn();\n\n if (prevOut && controlIn) {\n ctx.bezierCurveTo(prevOut.x, prevOut.y,\n controlIn.x, controlIn.y,\n anchor.x, anchor.y);\n } else {\n ctx.lineTo(anchor.x, anchor.y);\n }\n }\n\n if (path.options.closed) {\n ctx.closePath();\n }\n}\n","import BaseNode from '../core/base-node';\nimport NODE_MAP from './node-map';\nimport renderPath from './utils/render-path';\nimport { defined } from '../util';\n\nvar Node = (function (BaseNode) {\n function Node(srcElement) {\n BaseNode.call(this, srcElement);\n if (srcElement) {\n this.initClip();\n }\n }\n\n if ( BaseNode ) Node.__proto__ = BaseNode;\n Node.prototype = Object.create( BaseNode && BaseNode.prototype );\n Node.prototype.constructor = Node;\n\n Node.prototype.initClip = function initClip () {\n var clip = this.srcElement.clip();\n if (clip) {\n this.clip = clip;\n clip.addObserver(this);\n }\n };\n\n Node.prototype.clear = function clear () {\n if (this.srcElement) {\n this.srcElement.removeObserver(this);\n }\n\n this.clearClip();\n\n BaseNode.prototype.clear.call(this);\n };\n\n Node.prototype.clearClip = function clearClip () {\n if (this.clip) {\n this.clip.removeObserver(this);\n delete this.clip;\n }\n };\n\n Node.prototype.setClip = function setClip (ctx) {\n if (this.clip) {\n ctx.beginPath();\n renderPath(ctx, this.clip);\n ctx.clip();\n }\n };\n\n Node.prototype.optionsChange = function optionsChange (e) {\n if (e.field === \"clip\") {\n this.clearClip();\n this.initClip();\n }\n\n BaseNode.prototype.optionsChange.call(this, e);\n };\n\n Node.prototype.setTransform = function setTransform (ctx) {\n if (this.srcElement) {\n var transform = this.srcElement.transform();\n if (transform) {\n ctx.transform.apply(ctx, transform.matrix().toArray(6));\n }\n }\n };\n\n Node.prototype.loadElements = function loadElements (elements, pos, cors) {\n var this$1 = this;\n\n for (var i = 0; i < elements.length; i++) {\n var srcElement = elements[i];\n var children = srcElement.children;\n\n var childNode = new NODE_MAP[srcElement.nodeType](srcElement, cors);\n\n if (children && children.length > 0) {\n childNode.load(children, pos, cors);\n }\n\n if (defined(pos)) {\n this$1.insertAt(childNode, pos);\n } else {\n this$1.append(childNode);\n }\n }\n };\n\n Node.prototype.load = function load (elements, pos, cors) {\n this.loadElements(elements, pos, cors);\n\n this.invalidate();\n };\n\n Node.prototype.setOpacity = function setOpacity (ctx) {\n if (this.srcElement) {\n var opacity = this.srcElement.opacity();\n if (defined(opacity)) {\n this.globalAlpha(ctx, opacity);\n }\n }\n };\n\n Node.prototype.globalAlpha = function globalAlpha (ctx, value) {\n var opactity = value;\n if (opactity && ctx.globalAlpha) {\n opactity *= ctx.globalAlpha;\n }\n ctx.globalAlpha = opactity;\n };\n\n Node.prototype.visible = function visible () {\n var src = this.srcElement;\n return !src || (src && src.options.visible !== false);\n };\n\n return Node;\n}(BaseNode));\n\nexport default Node;","import Node from './node';\nimport traversable from '../mixins/traversable';\n\n\nvar GroupNode = (function (superclass) {\n function GroupNode () {\n superclass.apply(this, arguments);\n }\n\n if ( superclass ) GroupNode.__proto__ = superclass;\n GroupNode.prototype = Object.create( superclass && superclass.prototype );\n GroupNode.prototype.constructor = GroupNode;\n\n GroupNode.prototype.renderTo = function renderTo (ctx) {\n if (!this.visible()) {\n return;\n }\n\n ctx.save();\n\n this.setTransform(ctx);\n this.setClip(ctx);\n this.setOpacity(ctx);\n\n var childNodes = this.childNodes;\n for (var i = 0; i < childNodes.length; i++) {\n var child = childNodes[i];\n if (child.visible()) {\n child.renderTo(ctx);\n }\n }\n\n ctx.restore();\n };\n\n return GroupNode;\n}(traversable(Node, \"childNodes\")));\n\nexport default GroupNode;\n","import GroupNode from './group-node';\nimport traversable from '../mixins/traversable';\nimport { animationFrame, throttle } from '../common';\n\n\nvar FRAME_DELAY = 1000 / 60;\n\nvar RootNode = (function (superclass) {\n function RootNode(canvas, size) {\n superclass.call(this);\n\n this.canvas = canvas;\n this.size = size;\n this.ctx = canvas.getContext(\"2d\");\n\n var invalidateHandler = this._invalidate.bind(this);\n this.invalidate = throttle(function () {\n animationFrame(invalidateHandler);\n }, FRAME_DELAY);\n }\n\n if ( superclass ) RootNode.__proto__ = superclass;\n RootNode.prototype = Object.create( superclass && superclass.prototype );\n RootNode.prototype.constructor = RootNode;\n\n RootNode.prototype.destroy = function destroy () {\n superclass.prototype.destroy.call(this);\n this.canvas = null;\n this.ctx = null;\n };\n\n RootNode.prototype.load = function load (elements, pos, cors) {\n this.loadElements(elements, pos, cors);\n this._invalidate();\n };\n\n RootNode.prototype._rescale = function _rescale (scale) {\n var ref = this;\n var canvas = ref.canvas;\n var size = ref.size;\n canvas.width = size.width * scale;\n canvas.height = size.height * scale;\n this.ctx.scale(scale, scale);\n };\n\n RootNode.prototype._devicePixelRatio = function _devicePixelRatio () {\n if (typeof window.devicePixelRatio === 'number') {\n return window.devicePixelRatio;\n }\n\n return 1;\n };\n\n RootNode.prototype._invalidate = function _invalidate (options) {\n if (!this.ctx) {\n return;\n }\n\n var fixedScale = options && options.fixedScale;\n var scale = fixedScale ? 1 : this._devicePixelRatio();\n this._rescale(scale);\n\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n this.renderTo(this.ctx);\n };\n\n return RootNode;\n}(traversable(GroupNode, \"childNodes\")));\n\nexport default RootNode;\n","import { Class } from '../common';\n\nvar QuadRoot = (function (Class) {\n function QuadRoot() {\n Class.call(this);\n\n this.shapes = [];\n }\n\n if ( Class ) QuadRoot.__proto__ = Class;\n QuadRoot.prototype = Object.create( Class && Class.prototype );\n QuadRoot.prototype.constructor = QuadRoot;\n\n QuadRoot.prototype._add = function _add (shape, bbox) {\n this.shapes.push({\n bbox: bbox,\n shape: shape\n });\n shape._quadNode = this;\n };\n\n QuadRoot.prototype.pointShapes = function pointShapes (point) {\n var shapes = this.shapes;\n var length = shapes.length;\n var result = [];\n for (var idx = 0; idx < length; idx++) {\n if (shapes[idx].bbox.containsPoint(point)) {\n result.push(shapes[idx].shape);\n }\n }\n return result;\n };\n\n QuadRoot.prototype.insert = function insert (shape, bbox) {\n this._add(shape, bbox);\n };\n\n QuadRoot.prototype.remove = function remove (shape) {\n var shapes = this.shapes;\n var length = shapes.length;\n\n for (var idx = 0; idx < length; idx++) {\n if (shapes[idx].shape === shape) {\n shapes.splice(idx, 1);\n break;\n }\n }\n };\n\n return QuadRoot;\n}(Class));\n\nexport default QuadRoot;","import QuadRoot from './quad-root';\nimport { Rect } from '../geometry';\nimport { append } from '../util';\n\nvar QuadNode = (function (QuadRoot) {\n function QuadNode(rect) {\n QuadRoot.call(this);\n this.children = [];\n this.rect = rect;\n }\n\n if ( QuadRoot ) QuadNode.__proto__ = QuadRoot;\n QuadNode.prototype = Object.create( QuadRoot && QuadRoot.prototype );\n QuadNode.prototype.constructor = QuadNode;\n\n QuadNode.prototype.inBounds = function inBounds (rect) {\n var nodeRect = this.rect;\n var nodeBottomRight = nodeRect.bottomRight();\n var bottomRight = rect.bottomRight();\n var inBounds = nodeRect.origin.x <= rect.origin.x && nodeRect.origin.y <= rect.origin.y && bottomRight.x <= nodeBottomRight.x &&\n bottomRight.y <= nodeBottomRight.y;\n return inBounds;\n };\n\n QuadNode.prototype.pointShapes = function pointShapes (point) {\n var children = this.children;\n var length = children.length;\n var result = QuadRoot.prototype.pointShapes.call(this, point);\n for (var idx = 0; idx < length; idx++) {\n append(result, children[idx].pointShapes(point));\n }\n return result;\n };\n\n QuadNode.prototype.insert = function insert (shape, bbox) {\n var children = this.children;\n var inserted = false;\n\n if (this.inBounds(bbox)) {\n if (this.shapes.length < 4) {\n this._add(shape, bbox);\n } else {\n if (!children.length) {\n this._initChildren();\n }\n\n for (var idx = 0; idx < children.length; idx++) {\n if (children[idx].insert(shape, bbox)) {\n inserted = true;\n break;\n }\n }\n\n if (!inserted) {\n this._add(shape, bbox);\n }\n }\n inserted = true;\n }\n\n return inserted;\n };\n\n QuadNode.prototype._initChildren = function _initChildren () {\n var ref = this;\n var rect = ref.rect;\n var children = ref.children;\n var center = rect.center();\n var halfWidth = rect.width() / 2;\n var halfHeight = rect.height() / 2;\n\n children.push(\n new QuadNode(new Rect([ rect.origin.x, rect.origin.y ], [ halfWidth, halfHeight ])),\n new QuadNode(new Rect([ center.x, rect.origin.y ], [ halfWidth, halfHeight ])),\n new QuadNode(new Rect([ rect.origin.x, center.y ], [ halfWidth, halfHeight ])),\n new QuadNode(new Rect([ center.x, center.y ], [ halfWidth, halfHeight ]))\n );\n };\n\n return QuadNode;\n}(QuadRoot));\n\nexport default QuadNode;","import QuadRoot from './quad-root';\nimport QuadNode from './quad-node';\nimport { Rect } from '../geometry';\nimport { Class } from '../common';\nimport { append } from '../util';\n\nvar ROOT_SIZE = 3000;\nvar LEVEL_STEP = 10000;\nvar MAX_LEVEL = 75;\n\nvar ShapesQuadTree = (function (Class) {\n function ShapesQuadTree() {\n Class.call(this);\n\n this.initRoots();\n }\n\n if ( Class ) ShapesQuadTree.__proto__ = Class;\n ShapesQuadTree.prototype = Object.create( Class && Class.prototype );\n ShapesQuadTree.prototype.constructor = ShapesQuadTree;\n\n ShapesQuadTree.prototype.initRoots = function initRoots () {\n this.rootMap = {};\n this.root = new QuadRoot();\n this.rootElements = [];\n };\n\n ShapesQuadTree.prototype.clear = function clear () {\n var this$1 = this;\n\n var rootElements = this.rootElements;\n for (var idx = 0; idx < rootElements.length; idx++) {\n this$1.remove(rootElements[idx]);\n }\n this.initRoots();\n };\n\n ShapesQuadTree.prototype.pointShape = function pointShape (point) {\n var sectorRoot = ( this.rootMap[ Math.floor( point.x / ROOT_SIZE ) ] || {} )[ Math.floor( point.y / ROOT_SIZE ) ];\n var result = this.root.pointShapes(point);\n\n if (sectorRoot) {\n result = result.concat(sectorRoot.pointShapes(point));\n }\n\n this.assignZindex(result);\n\n result.sort(zIndexComparer);\n for (var idx = 0; idx < result.length; idx++) {\n if (result[idx].containsPoint(point)) {\n return result[idx];\n }\n }\n };\n\n ShapesQuadTree.prototype.assignZindex = function assignZindex (elements) {\n var this$1 = this;\n\n for (var idx = 0; idx < elements.length; idx++) {\n var element = elements[idx];\n var zIndex = 0;\n var levelWeight = Math.pow(LEVEL_STEP, MAX_LEVEL);\n var parents = [];\n\n while (element) {\n parents.push(element);\n element = element.parent;\n }\n\n while (parents.length) {\n element = parents.pop();\n zIndex += ((element.parent ? element.parent.children : this$1.rootElements).indexOf(element) + 1) * levelWeight;\n levelWeight /= LEVEL_STEP;\n }\n\n elements[idx]._zIndex = zIndex;\n }\n };\n\n ShapesQuadTree.prototype.optionsChange = function optionsChange (e) {\n if (e.field === \"transform\" || e.field === \"stroke.width\") {\n this.bboxChange(e.element);\n }\n };\n\n ShapesQuadTree.prototype.geometryChange = function geometryChange (e) {\n this.bboxChange(e.element);\n };\n\n ShapesQuadTree.prototype.bboxChange = function bboxChange (element) {\n var this$1 = this;\n\n if (element.nodeType === \"Group\") {\n for (var idx = 0; idx < element.children.length; idx++) {\n this$1.bboxChange(element.children[idx]);\n }\n } else {\n if (element._quadNode) {\n element._quadNode.remove(element);\n }\n this._insertShape(element);\n }\n };\n\n ShapesQuadTree.prototype.add = function add (elements) {\n var elementsArray = Array.isArray(elements) ? elements.slice(0) : [ elements ];\n\n append(this.rootElements, elementsArray);\n this._insert(elementsArray);\n };\n\n ShapesQuadTree.prototype.childrenChange = function childrenChange (e) {\n var this$1 = this;\n\n if (e.action === \"remove\") {\n for (var idx = 0; idx < e.items.length; idx++) {\n this$1.remove(e.items[idx]);\n }\n } else {\n this._insert(Array.prototype.slice.call(e.items, 0));\n }\n };\n\n ShapesQuadTree.prototype._insert = function _insert (elements) {\n var this$1 = this;\n\n var element;\n\n while (elements.length > 0) {\n element = elements.pop();\n element.addObserver(this$1);\n if (element.nodeType === \"Group\") {\n append(elements, element.children);\n } else {\n this$1._insertShape(element);\n }\n }\n };\n\n ShapesQuadTree.prototype._insertShape = function _insertShape (shape) {\n var bbox = shape.bbox();\n if (bbox) {\n var sectors = this.getSectors(bbox);\n var x = sectors[0][0];\n var y = sectors[1][0];\n\n if (this.inRoot(sectors)) {\n this.root.insert(shape, bbox);\n } else {\n var rootMap = this.rootMap;\n if (!rootMap[x]) {\n rootMap[x] = {};\n }\n\n if (!rootMap[x][y]) {\n rootMap[x][y] = new QuadNode(\n new Rect([ x * ROOT_SIZE, y * ROOT_SIZE ], [ ROOT_SIZE, ROOT_SIZE ])\n );\n }\n\n rootMap[x][y].insert(shape, bbox);\n }\n }\n };\n\n ShapesQuadTree.prototype.remove = function remove (element) {\n var this$1 = this;\n\n element.removeObserver(this);\n\n if (element.nodeType === \"Group\") {\n var children = element.children;\n for (var idx = 0; idx < children.length; idx++) {\n this$1.remove(children[idx]);\n }\n } else if (element._quadNode) {\n element._quadNode.remove(element);\n delete element._quadNode;\n }\n };\n\n ShapesQuadTree.prototype.inRoot = function inRoot (sectors) {\n return sectors[0].length > 1 || sectors[1].length > 1;\n };\n\n ShapesQuadTree.prototype.getSectors = function getSectors (rect) {\n var bottomRight = rect.bottomRight();\n var bottomX = Math.floor(bottomRight.x / ROOT_SIZE);\n var bottomY = Math.floor(bottomRight.y / ROOT_SIZE);\n var sectors = [ [], [] ];\n for (var x = Math.floor(rect.origin.x / ROOT_SIZE); x <= bottomX; x++) {\n sectors[0].push(x);\n }\n for (var y = Math.floor(rect.origin.y / ROOT_SIZE); y <= bottomY; y++) {\n sectors[1].push(y);\n }\n return sectors;\n };\n\n return ShapesQuadTree;\n}(Class));\n\nfunction zIndexComparer(x1, x2) {\n if (x1._zIndex < x2._zIndex) {\n return 1;\n }\n if (x1._zIndex > x2._zIndex) {\n return -1;\n }\n\n return 0;\n}\n\nexport default ShapesQuadTree;","import { defined } from '../util';\n\nvar SurfaceCursor = function SurfaceCursor(surface) {\n surface.bind(\"mouseenter\", this._mouseenter.bind(this));\n surface.bind(\"mouseleave\", this._mouseleave.bind(this));\n\n this.element = surface.element;\n};\n\nSurfaceCursor.prototype.clear = function clear () {\n this._resetCursor();\n};\n\nSurfaceCursor.prototype.destroy = function destroy () {\n this._resetCursor();\n delete this.element;\n};\n\nSurfaceCursor.prototype._mouseenter = function _mouseenter (e) {\n var cursor = this._shapeCursor(e);\n\n if (!cursor) {\n this._resetCursor();\n } else {\n if (!this._current) {\n this._defaultCursor = this._getCursor();\n }\n\n this._setCursor(cursor);\n }\n};\n\nSurfaceCursor.prototype._mouseleave = function _mouseleave () {\n this._resetCursor();\n};\n\nSurfaceCursor.prototype._shapeCursor = function _shapeCursor (e) {\n var shape = e.element;\n\n while (shape && !defined(shape.options.cursor)) {\n shape = shape.parent;\n }\n\n if (shape) {\n return shape.options.cursor;\n }\n};\n\nSurfaceCursor.prototype._getCursor = function _getCursor () {\n if (this.element) {\n return this.element.style.cursor;\n }\n};\n\nSurfaceCursor.prototype._setCursor = function _setCursor (cursor) {\n if (this.element) {\n this.element.style.cursor = cursor;\n this._current = cursor;\n }\n};\n\nSurfaceCursor.prototype._resetCursor = function _resetCursor () {\n if (this._current) {\n this._setCursor(this._defaultCursor || \"\");\n delete this._current;\n }\n};\n\nexport default SurfaceCursor;\n\n","import Node from './node';\nimport { parseColor } from '../common';\nimport { isTransparent, valueOrDefault } from '../util';\nimport LinearGradient from '../gradients/linear-gradient';\nimport RadialGradient from '../gradients/radial-gradient';\nimport { DASH_ARRAYS, SOLID, BUTT } from '../core/constants';\nimport renderPath from './utils/render-path';\n\nfunction addGradientStops(gradient, stops) {\n for (var idx = 0; idx < stops.length; idx++) {\n var stop = stops[idx];\n var color = parseColor(stop.color());\n\n color.a *= stop.opacity();\n\n gradient.addColorStop(stop.offset(), color.toCssRgba());\n }\n}\n\nvar PathNode = (function (Node) {\n function PathNode () {\n Node.apply(this, arguments);\n }\n\n if ( Node ) PathNode.__proto__ = Node;\n PathNode.prototype = Object.create( Node && Node.prototype );\n PathNode.prototype.constructor = PathNode;\n\n PathNode.prototype.renderTo = function renderTo (ctx) {\n ctx.save();\n\n this.setTransform(ctx);\n this.setClip(ctx);\n this.setOpacity(ctx);\n\n ctx.beginPath();\n\n this.renderPoints(ctx, this.srcElement);\n\n this.setLineDash(ctx);\n this.setLineCap(ctx);\n this.setLineJoin(ctx);\n\n this.setFill(ctx);\n this.setStroke(ctx);\n\n ctx.restore();\n };\n\n PathNode.prototype.setFill = function setFill (ctx) {\n var fill = this.srcElement.options.fill;\n var hasFill = false;\n\n if (fill) {\n if (fill.nodeType === \"Gradient\") {\n this.setGradientFill(ctx, fill);\n hasFill = true;\n } else if (!isTransparent(fill.color)) {\n ctx.fillStyle = fill.color;\n\n ctx.save();\n this.globalAlpha(ctx, fill.opacity);\n ctx.fill();\n ctx.restore();\n\n hasFill = true;\n }\n }\n\n return hasFill;\n };\n\n PathNode.prototype.setGradientFill = function setGradientFill (ctx, fill) {\n var bbox = this.srcElement.rawBBox();\n var gradient;\n\n if (fill instanceof LinearGradient) {\n var start = fill.start();\n var end = fill.end();\n gradient = ctx.createLinearGradient(start.x, start.y, end.x, end.y);\n } else if (fill instanceof RadialGradient) {\n var center = fill.center();\n gradient = ctx.createRadialGradient(center.x, center.y, 0, center.x, center.y, fill.radius());\n }\n\n addGradientStops(gradient, fill.stops);\n\n ctx.save();\n\n if (!fill.userSpace()) {\n ctx.transform(bbox.width(), 0, 0, bbox.height(), bbox.origin.x, bbox.origin.y);\n }\n ctx.fillStyle = gradient;\n ctx.fill();\n\n ctx.restore();\n };\n\n PathNode.prototype.setStroke = function setStroke (ctx) {\n var stroke = this.srcElement.options.stroke;\n if (stroke && !isTransparent(stroke.color) && stroke.width > 0) {\n ctx.strokeStyle = stroke.color;\n ctx.lineWidth = valueOrDefault(stroke.width, 1);\n\n ctx.save();\n this.globalAlpha(ctx, stroke.opacity);\n ctx.stroke();\n ctx.restore();\n\n return true;\n }\n };\n\n PathNode.prototype.dashType = function dashType () {\n var stroke = this.srcElement.options.stroke;\n if (stroke && stroke.dashType) {\n return stroke.dashType.toLowerCase();\n }\n };\n\n PathNode.prototype.setLineDash = function setLineDash (ctx) {\n var dashType = this.dashType();\n if (dashType && dashType !== SOLID) {\n var dashArray = DASH_ARRAYS[dashType];\n if (ctx.setLineDash) {\n ctx.setLineDash(dashArray);\n } else {\n ctx.mozDash = dashArray;\n ctx.webkitLineDash = dashArray;\n }\n }\n };\n\n PathNode.prototype.setLineCap = function setLineCap (ctx) {\n var dashType = this.dashType();\n var stroke = this.srcElement.options.stroke;\n if (dashType && dashType !== SOLID) {\n ctx.lineCap = BUTT;\n } else if (stroke && stroke.lineCap) {\n ctx.lineCap = stroke.lineCap;\n }\n };\n\n PathNode.prototype.setLineJoin = function setLineJoin (ctx) {\n var stroke = this.srcElement.options.stroke;\n if (stroke && stroke.lineJoin) {\n ctx.lineJoin = stroke.lineJoin;\n }\n };\n\n PathNode.prototype.renderPoints = function renderPoints (ctx, path) {\n renderPath(ctx, path);\n };\n\n return PathNode;\n}(Node));\n\nexport default PathNode;\n","import PathNode from './path-node';\nimport renderPath from './utils/render-path';\n\nvar ArcNode = (function (PathNode) {\n function ArcNode () {\n PathNode.apply(this, arguments);\n }\n\n if ( PathNode ) ArcNode.__proto__ = PathNode;\n ArcNode.prototype = Object.create( PathNode && PathNode.prototype );\n ArcNode.prototype.constructor = ArcNode;\n\n ArcNode.prototype.renderPoints = function renderPoints (ctx) {\n var path = this.srcElement.toPath();\n renderPath(ctx, path);\n };\n\n return ArcNode;\n}(PathNode));\n\nexport default ArcNode;\n","import PathNode from './path-node';\n\nvar CircleNode = (function (PathNode) {\n function CircleNode () {\n PathNode.apply(this, arguments);\n }\n\n if ( PathNode ) CircleNode.__proto__ = PathNode;\n CircleNode.prototype = Object.create( PathNode && PathNode.prototype );\n CircleNode.prototype.constructor = CircleNode;\n\n CircleNode.prototype.renderPoints = function renderPoints (ctx) {\n var ref = this.srcElement.geometry();\n var center = ref.center;\n var radius = ref.radius;\n\n ctx.arc(center.x, center.y, radius, 0, Math.PI * 2);\n };\n\n return CircleNode;\n}(PathNode));\n\nexport default CircleNode;\n","import PathNode from './path-node';\nimport { createPromise } from '../util';\n\nvar ImageNode = (function (PathNode) {\n function ImageNode(srcElement, cors) {\n PathNode.call(this, srcElement);\n\n this.onLoad = this.onLoad.bind(this);\n this.onError = this.onError.bind(this);\n\n this.loading = createPromise();\n\n var img = this.img = new Image();\n var src = srcElement.src();\n\n if (cors && !(/^data:/i.test(src))) {\n img.crossOrigin = cors;\n }\n\n if (src) {\n img.src = src;\n }\n\n if (img.complete) {\n this.onLoad();\n } else {\n img.onload = this.onLoad;\n img.onerror = this.onError;\n }\n }\n\n if ( PathNode ) ImageNode.__proto__ = PathNode;\n ImageNode.prototype = Object.create( PathNode && PathNode.prototype );\n ImageNode.prototype.constructor = ImageNode;\n\n ImageNode.prototype.renderTo = function renderTo (ctx) {\n if (this.loading.state() === \"resolved\") {\n ctx.save();\n\n this.setTransform(ctx);\n this.setClip(ctx);\n\n this.drawImage(ctx);\n\n ctx.restore();\n }\n };\n\n ImageNode.prototype.optionsChange = function optionsChange (e) {\n if (e.field === \"src\") {\n this.loading = createPromise();\n this.img.src = this.srcElement.src();\n } else {\n PathNode.prototype.optionsChange.call(this, e);\n }\n };\n\n ImageNode.prototype.onLoad = function onLoad () {\n this.loading.resolve();\n this.invalidate();\n };\n\n ImageNode.prototype.onError = function onError () {\n this.loading.reject(new Error(\n \"Unable to load image '\" + this.img.src +\n \"'. Check for connectivity and verify CORS headers.\"\n ));\n };\n\n ImageNode.prototype.drawImage = function drawImage (ctx) {\n var rect = this.srcElement.rect();\n var topLeft = rect.topLeft();\n\n ctx.drawImage(\n this.img, topLeft.x, topLeft.y, rect.width(), rect.height()\n );\n };\n\n return ImageNode;\n}(PathNode));\n\nexport default ImageNode;\n","import PathNode from './path-node';\nimport renderPath from './utils/render-path';\n\nvar MultiPathNode = (function (PathNode) {\n function MultiPathNode () {\n PathNode.apply(this, arguments);\n }\n\n if ( PathNode ) MultiPathNode.__proto__ = PathNode;\n MultiPathNode.prototype = Object.create( PathNode && PathNode.prototype );\n MultiPathNode.prototype.constructor = MultiPathNode;\n\n MultiPathNode.prototype.renderPoints = function renderPoints (ctx) {\n var paths = this.srcElement.paths;\n for (var i = 0; i < paths.length; i++) {\n renderPath(ctx, paths[i]);\n }\n };\n\n return MultiPathNode;\n}(PathNode));\n\nexport default MultiPathNode;\n","import { Path } from '../shapes/path';\nimport PathNode from './path-node';\n\nvar RectNode = (function (PathNode) {\n function RectNode () {\n PathNode.apply(this, arguments);\n }\n\n if ( PathNode ) RectNode.__proto__ = PathNode;\n RectNode.prototype = Object.create( PathNode && PathNode.prototype );\n RectNode.prototype.constructor = RectNode;\n\n RectNode.prototype.renderPoints = function renderPoints (ctx) {\n var geometry = this.srcElement.geometry();\n var ref = geometry.cornerRadius;\n var rx = ref[0];\n var ry = ref[1];\n\n if (rx === 0 && ry === 0) {\n var origin = geometry.origin;\n var size = geometry.size;\n ctx.rect(origin.x, origin.y, size.width, size.height);\n } else {\n PathNode.prototype.renderPoints.call(this, ctx, Path.fromRect(geometry));\n }\n };\n\n return RectNode;\n}(PathNode));\n\nexport default RectNode;\n","import PathNode from './path-node';\n\nvar TextNode = (function (PathNode) {\n function TextNode () {\n PathNode.apply(this, arguments);\n }\n\n if ( PathNode ) TextNode.__proto__ = PathNode;\n TextNode.prototype = Object.create( PathNode && PathNode.prototype );\n TextNode.prototype.constructor = TextNode;\n\n TextNode.prototype.renderTo = function renderTo (ctx) {\n var text = this.srcElement;\n var pos = text.position();\n var size = text.measure();\n\n ctx.save();\n\n this.setTransform(ctx);\n this.setClip(ctx);\n this.setOpacity(ctx);\n\n ctx.beginPath();\n\n ctx.font = text.options.font;\n ctx.textAlign = 'left';\n\n if (this.setFill(ctx)) {\n ctx.fillText(text.content(), pos.x, pos.y + size.baseline);\n }\n\n if (this.setStroke(ctx)) {\n this.setLineDash(ctx);\n ctx.strokeText(text.content(), pos.x, pos.y + size.baseline);\n }\n\n ctx.restore();\n };\n\n return TextNode;\n}(PathNode));\n\n\nexport default TextNode;\n","import BaseSurface from '../core/surface';\nimport { createPromise, promiseAll, bindEvents, elementSize, unbindEvents } from '../util';\nimport RootNode from './root-node';\nimport ShapesQuadTree from '../search/shapes-quad-tree';\nimport SurfaceCursor from './surface-cursor';\n\nimport ArcNode from './arc-node';\nimport CircleNode from './circle-node';\nimport GroupNode from './group-node';\nimport ImageNode from './image-node';\nimport MultiPathNode from './multi-path-node';\nimport PathNode from './path-node';\nimport RectNode from './rect-node';\nimport TextNode from './text-node';\nimport NODE_MAP from './node-map';\n\nNODE_MAP.Arc = ArcNode;\nNODE_MAP.Circle = CircleNode;\nNODE_MAP.Group = GroupNode;\nNODE_MAP.Image = ImageNode;\nNODE_MAP.MultiPath = MultiPathNode;\nNODE_MAP.Path = PathNode;\nNODE_MAP.Rect = RectNode;\nNODE_MAP.Text = TextNode;\n\n\nvar Surface = (function (BaseSurface) {\n function Surface(element, options) {\n BaseSurface.call(this, element, options);\n\n this.element.innerHTML = this._template(this);\n\n var canvas = this.element.firstElementChild;\n canvas.style.width = '100%';\n canvas.style.height = '100%';\n\n var size = elementSize(element);\n\n canvas.width = size.width;\n canvas.height = size.height;\n\n this._rootElement = canvas;\n\n this._root = new RootNode(canvas, size);\n\n this._mouseTrackHandler = this._trackMouse.bind(this);\n\n bindEvents(this.element, {\n click: this._mouseTrackHandler,\n mousemove: this._mouseTrackHandler\n });\n }\n\n if ( BaseSurface ) Surface.__proto__ = BaseSurface;\n Surface.prototype = Object.create( BaseSurface && BaseSurface.prototype );\n Surface.prototype.constructor = Surface;\n\n var prototypeAccessors = { type: { configurable: true } };\n\n prototypeAccessors.type.get = function () {\n return \"canvas\";\n };\n\n Surface.prototype.destroy = function destroy () {\n BaseSurface.prototype.destroy.call(this);\n\n if (this._root) {\n this._root.destroy();\n this._root = null;\n }\n\n if (this._searchTree) {\n this._searchTree.clear();\n delete this._searchTree;\n }\n\n if (this._cursor) {\n this._cursor.destroy();\n delete this._cursor;\n }\n\n unbindEvents(this.element, {\n click: this._mouseTrackHandler,\n mousemove: this._mouseTrackHandler\n });\n };\n\n Surface.prototype.draw = function draw (element) {\n BaseSurface.prototype.draw.call(this, element);\n this._root.load([ element ], undefined, this.options.cors);\n\n if (this._searchTree) {\n this._searchTree.add([ element ]);\n }\n };\n\n Surface.prototype.clear = function clear () {\n BaseSurface.prototype.clear.call(this);\n this._root.clear();\n\n if (this._searchTree) {\n this._searchTree.clear();\n }\n\n if (this._cursor) {\n this._cursor.clear();\n }\n };\n\n Surface.prototype.eventTarget = function eventTarget (e) {\n if (this._searchTree) {\n var point = this._surfacePoint(e);\n var shape = this._searchTree.pointShape(point);\n return shape;\n }\n };\n\n Surface.prototype.image = function image () {\n var ref = this;\n var root = ref._root;\n var rootElement = ref._rootElement;\n var loadingStates = [];\n\n root.traverse(function (childNode) {\n if (childNode.loading) {\n loadingStates.push(childNode.loading);\n }\n });\n\n var promise = createPromise();\n var resolveDataURL = function () {\n root._invalidate({ fixedScale: true });\n\n try {\n var data = rootElement.toDataURL();\n promise.resolve(data);\n } catch (e) {\n promise.reject(e);\n }\n };\n\n promiseAll(loadingStates).then(resolveDataURL, resolveDataURL);\n\n return promise;\n };\n\n Surface.prototype.suspendTracking = function suspendTracking () {\n BaseSurface.prototype.suspendTracking.call(this);\n if (this._searchTree) {\n this._searchTree.clear();\n delete this._searchTree;\n }\n };\n\n Surface.prototype.resumeTracking = function resumeTracking () {\n BaseSurface.prototype.resumeTracking.call(this);\n if (!this._searchTree) {\n this._searchTree = new ShapesQuadTree();\n\n var childNodes = this._root.childNodes;\n var rootElements = [];\n for (var idx = 0; idx < childNodes.length; idx++) {\n rootElements.push(childNodes[idx].srcElement);\n }\n this._searchTree.add(rootElements);\n }\n };\n\n Surface.prototype._resize = function _resize () {\n this._rootElement.width = this._size.width;\n this._rootElement.height = this._size.height;\n\n this._root.size = this._size;\n this._root.invalidate();\n };\n\n Surface.prototype._template = function _template () {\n return \"\";\n };\n\n Surface.prototype._enableTracking = function _enableTracking () {\n this._searchTree = new ShapesQuadTree();\n this._cursor = new SurfaceCursor(this);\n\n BaseSurface.prototype._enableTracking.call(this);\n };\n\n Surface.prototype._trackMouse = function _trackMouse (e) {\n if (this._suspendedTracking) {\n return;\n }\n\n var shape = this.eventTarget(e);\n\n if (e.type !== \"click\") {\n var currentShape = this._currentShape;\n if (currentShape && currentShape !== shape) {\n this.trigger(\"mouseleave\", {\n element: currentShape,\n originalEvent: e,\n type: \"mouseleave\"\n });\n }\n\n if (shape && currentShape !== shape) {\n this.trigger(\"mouseenter\", {\n element: shape,\n originalEvent: e,\n type: \"mouseenter\"\n });\n }\n\n this.trigger(\"mousemove\", {\n element: shape,\n originalEvent: e,\n type: \"mousemove\"\n });\n\n this._currentShape = shape;\n } else if (shape) {\n this.trigger(\"click\", {\n element: shape,\n originalEvent: e,\n type: \"click\"\n });\n }\n };\n\n Object.defineProperties( Surface.prototype, prototypeAccessors );\n\n return Surface;\n}(BaseSurface));\n\nexport default Surface;\n","var animationFrameProxy = function (callback) {\n var wnd = typeof window !== \"undefined\" ? window : {};\n var animationFrame = wnd.requestAnimationFrame ||\n wnd.webkitRequestAnimationFrame ||\n wnd.mozRequestAnimationFrame ||\n wnd.oRequestAnimationFrame ||\n wnd.msRequestAnimationFrame ||\n function(callback) { setTimeout(callback, 1000 / 60); };\n\n animationFrameProxy = function (callback) { return animationFrame.call(wnd, callback); };\n animationFrameProxy(callback);\n};\n\nexport default animationFrameProxy;\n","var Class = function Class () {};\n\nexport default Class;\n","import Class from '../class';\nimport namedColors from './named-colors';\nimport { Bytes, RGB, HSV, HSL } from './parse-color';\n\nvar DARK_TRESHOLD = 180;\n\nvar Color = (function (Class) {\n function Color(value) {\n var this$1 = this;\n\n Class.call(this);\n\n if (arguments.length === 1) {\n var formats = Color.formats;\n var resolvedColor = this.resolveColor(value);\n\n for (var idx = 0; idx < formats.length; idx++) {\n var formatRegex = formats[idx].re;\n var processor = formats[idx].process;\n var parts = formatRegex.exec(resolvedColor);\n\n if (parts) {\n var channels = processor(parts);\n this$1.r = channels[0];\n this$1.g = channels[1];\n this$1.b = channels[2];\n }\n }\n } else {\n this.r = arguments[0];\n this.g = arguments[1];\n this.b = arguments[2];\n }\n\n this.r = this.normalizeByte(this.r);\n this.g = this.normalizeByte(this.g);\n this.b = this.normalizeByte(this.b);\n }\n\n if ( Class ) Color.__proto__ = Class;\n Color.prototype = Object.create( Class && Class.prototype );\n Color.prototype.constructor = Color;\n\n Color.prototype.toHex = function toHex () {\n var pad = this.padDigit;\n var r = this.r.toString(16);\n var g = this.g.toString(16);\n var b = this.b.toString(16);\n\n return \"#\" + pad(r) + pad(g) + pad(b);\n };\n\n Color.prototype.resolveColor = function resolveColor (value) {\n var color = value || \"black\";\n\n if (color.charAt(0) === \"#\") {\n color = color.substr(1, 6);\n }\n\n color = color.replace(/ /g, \"\");\n color = color.toLowerCase();\n color = Color.namedColors[color] || color;\n\n return color;\n };\n\n Color.prototype.normalizeByte = function normalizeByte (value) {\n if (value < 0 || isNaN(value)) {\n return 0;\n }\n\n return value > 255 ? 255 : value;\n };\n\n Color.prototype.padDigit = function padDigit (value) {\n return (value.length === 1) ? \"0\" + value : value;\n };\n\n Color.prototype.brightness = function brightness (value) {\n var round = Math.round;\n\n this.r = round(this.normalizeByte(this.r * value));\n this.g = round(this.normalizeByte(this.g * value));\n this.b = round(this.normalizeByte(this.b * value));\n\n return this;\n };\n\n Color.prototype.percBrightness = function percBrightness () {\n return Math.sqrt(0.241 * this.r * this.r + 0.691 * this.g * this.g + 0.068 * this.b * this.b);\n };\n\n Color.prototype.isDark = function isDark () {\n return this.percBrightness() < DARK_TRESHOLD;\n };\n\n Color.fromBytes = function fromBytes (r, g, b, a) {\n return new Bytes(r, g, b, a != null ? a : 1);\n };\n\n Color.fromRGB = function fromRGB (r, g, b, a) {\n return new RGB(r, g, b, a != null ? a : 1);\n };\n\n Color.fromHSV = function fromHSV (h, s, v, a) {\n return new HSV(h, s, v, a != null ? a : 1);\n };\n\n Color.fromHSL = function fromHSL (h, s, l, a) {\n return new HSL(h, s, l, a != null ? a : 1);\n };\n\n return Color;\n}(Class));\n\nColor.formats = [ {\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n process: function(parts) {\n return [\n parseInt(parts[1], 10), parseInt(parts[2], 10), parseInt(parts[3], 10)\n ];\n }\n}, {\n re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n process: function(parts) {\n return [\n parseInt(parts[1], 16), parseInt(parts[2], 16), parseInt(parts[3], 16)\n ];\n }\n}, {\n re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n process: function(parts) {\n return [\n parseInt(parts[1] + parts[1], 16),\n parseInt(parts[2] + parts[2], 16),\n parseInt(parts[3] + parts[3], 16)\n ];\n }\n} ];\n\nColor.namedColors = namedColors;\n\nexport default Color;","var namedColors = {\n aliceblue: \"f0f8ff\", antiquewhite: \"faebd7\", aqua: \"00ffff\",\n aquamarine: \"7fffd4\", azure: \"f0ffff\", beige: \"f5f5dc\",\n bisque: \"ffe4c4\", black: \"000000\", blanchedalmond: \"ffebcd\",\n blue: \"0000ff\", blueviolet: \"8a2be2\", brown: \"a52a2a\",\n burlywood: \"deb887\", cadetblue: \"5f9ea0\", chartreuse: \"7fff00\",\n chocolate: \"d2691e\", coral: \"ff7f50\", cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\", crimson: \"dc143c\", cyan: \"00ffff\",\n darkblue: \"00008b\", darkcyan: \"008b8b\", darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\", darkgrey: \"a9a9a9\", darkgreen: \"006400\",\n darkkhaki: \"bdb76b\", darkmagenta: \"8b008b\", darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\", darkorchid: \"9932cc\", darkred: \"8b0000\",\n darksalmon: \"e9967a\", darkseagreen: \"8fbc8f\", darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\", darkslategrey: \"2f4f4f\", darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\", deeppink: \"ff1493\", deepskyblue: \"00bfff\",\n dimgray: \"696969\", dimgrey: \"696969\", dodgerblue: \"1e90ff\",\n firebrick: \"b22222\", floralwhite: \"fffaf0\", forestgreen: \"228b22\",\n fuchsia: \"ff00ff\", gainsboro: \"dcdcdc\", ghostwhite: \"f8f8ff\",\n gold: \"ffd700\", goldenrod: \"daa520\", gray: \"808080\",\n grey: \"808080\", green: \"008000\", greenyellow: \"adff2f\",\n honeydew: \"f0fff0\", hotpink: \"ff69b4\", indianred: \"cd5c5c\",\n indigo: \"4b0082\", ivory: \"fffff0\", khaki: \"f0e68c\",\n lavender: \"e6e6fa\", lavenderblush: \"fff0f5\", lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\", lightblue: \"add8e6\", lightcoral: \"f08080\",\n lightcyan: \"e0ffff\", lightgoldenrodyellow: \"fafad2\", lightgray: \"d3d3d3\",\n lightgrey: \"d3d3d3\", lightgreen: \"90ee90\", lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\", lightseagreen: \"20b2aa\", lightskyblue: \"87cefa\",\n lightslategray: \"778899\", lightslategrey: \"778899\", lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\", lime: \"00ff00\", limegreen: \"32cd32\",\n linen: \"faf0e6\", magenta: \"ff00ff\", maroon: \"800000\",\n mediumaquamarine: \"66cdaa\", mediumblue: \"0000cd\", mediumorchid: \"ba55d3\",\n mediumpurple: \"9370d8\", mediumseagreen: \"3cb371\", mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\", mediumturquoise: \"48d1cc\", mediumvioletred: \"c71585\",\n midnightblue: \"191970\", mintcream: \"f5fffa\", mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\", navajowhite: \"ffdead\", navy: \"000080\",\n oldlace: \"fdf5e6\", olive: \"808000\", olivedrab: \"6b8e23\",\n orange: \"ffa500\", orangered: \"ff4500\", orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\", palegreen: \"98fb98\", paleturquoise: \"afeeee\",\n palevioletred: \"d87093\", papayawhip: \"ffefd5\", peachpuff: \"ffdab9\",\n peru: \"cd853f\", pink: \"ffc0cb\", plum: \"dda0dd\",\n powderblue: \"b0e0e6\", purple: \"800080\", red: \"ff0000\",\n rosybrown: \"bc8f8f\", royalblue: \"4169e1\", saddlebrown: \"8b4513\",\n salmon: \"fa8072\", sandybrown: \"f4a460\", seagreen: \"2e8b57\",\n seashell: \"fff5ee\", sienna: \"a0522d\", silver: \"c0c0c0\",\n skyblue: \"87ceeb\", slateblue: \"6a5acd\", slategray: \"708090\",\n slategrey: \"708090\", snow: \"fffafa\", springgreen: \"00ff7f\",\n steelblue: \"4682b4\", tan: \"d2b48c\", teal: \"008080\",\n thistle: \"d8bfd8\", tomato: \"ff6347\", turquoise: \"40e0d0\",\n violet: \"ee82ee\", wheat: \"f5deb3\", white: \"ffffff\",\n whitesmoke: \"f5f5f5\", yellow: \"ffff00\", yellowgreen: \"9acd32\"\n};\n\nexport default namedColors;","import Class from '../class';\nimport support from '../support';\nimport namedColors from './named-colors';\n\nvar browser = support.browser;\n\nvar matchNamedColor = function (color) {\n var colorNames = Object.keys(namedColors);\n colorNames.push(\"transparent\");\n\n var regexp = new RegExp(\"^(\" + colorNames.join(\"|\") + \")(\\\\W|$)\", \"i\");\n matchNamedColor = function (color) { return regexp.exec(color); };\n\n return regexp.exec(color);\n};\n\nvar BaseColor = (function (Class) {\n function BaseColor() { Class.call(this); }\n\n if ( Class ) BaseColor.__proto__ = Class;\n BaseColor.prototype = Object.create( Class && Class.prototype );\n BaseColor.prototype.constructor = BaseColor;\n BaseColor.prototype.toHSV = function toHSV () { return this; };\n\n BaseColor.prototype.toRGB = function toRGB () { return this; };\n\n BaseColor.prototype.toHex = function toHex (options) { return this.toBytes().toHex(options); };\n\n BaseColor.prototype.toBytes = function toBytes () { return this; };\n\n BaseColor.prototype.toCss = function toCss (options) { return \"#\" + this.toHex(options); };\n\n BaseColor.prototype.toCssRgba = function toCssRgba () {\n var rgb = this.toBytes();\n return (\"rgba(\" + (rgb.r) + \", \" + (rgb.g) + \", \" + (rgb.b) + \", \" + (parseFloat((Number(this.a)).toFixed(3))) + \")\");\n };\n\n BaseColor.prototype.toDisplay = function toDisplay () {\n if (browser.msie && browser.version < 9) {\n return this.toCss(); // no RGBA support; does it support any opacity in colors?\n }\n return this.toCssRgba();\n };\n\n BaseColor.prototype.equals = function equals (c) {\n return c === this || ((c !== null && c !== undefined) && this.toCssRgba() === parseColor(c).toCssRgba());\n };\n\n BaseColor.prototype.diff = function diff (other) {\n if (other === null) {\n return NaN;\n }\n\n var c1 = this.toBytes();\n var c2 = other.toBytes();\n\n return Math.sqrt(Math.pow((c1.r - c2.r) * 0.30, 2) +\n Math.pow((c1.g - c2.g) * 0.59, 2) +\n Math.pow((c1.b - c2.b) * 0.11, 2));\n };\n\n BaseColor.prototype.clone = function clone () {\n var c = this.toBytes();\n if (c === this) {\n c = new Bytes(c.r, c.g, c.b, c.a);\n }\n\n return c;\n };\n\n return BaseColor;\n}(Class));\n\nvar RGB = (function (BaseColor) {\n function RGB(r, g, b, a) {\n BaseColor.call(this);\n\n this.r = r;\n this.g = g;\n this.b = b;\n this.a = a;\n }\n\n if ( BaseColor ) RGB.__proto__ = BaseColor;\n RGB.prototype = Object.create( BaseColor && BaseColor.prototype );\n RGB.prototype.constructor = RGB;\n\n RGB.prototype.toHSV = function toHSV () {\n var ref = this;\n var r = ref.r;\n var g = ref.g;\n var b = ref.b;\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var delta = max - min;\n var v = max;\n var h, s;\n\n if (delta === 0) {\n return new HSV(0, 0, v, this.a);\n }\n\n if (max !== 0) {\n s = delta / max;\n if (r === max) {\n h = (g - b) / delta;\n } else if (g === max) {\n h = 2 + (b - r) / delta;\n } else {\n h = 4 + (r - g) / delta;\n }\n\n h *= 60;\n if (h < 0) {\n h += 360;\n }\n } else {\n s = 0;\n h = -1;\n }\n\n return new HSV(h, s, v, this.a);\n };\n\n RGB.prototype.toHSL = function toHSL () {\n var ref = this;\n var r = ref.r;\n var g = ref.g;\n var b = ref.b;\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0;\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n default: break;\n }\n }\n\n return new HSL(h * 60, s * 100, l * 100, this.a);\n };\n\n RGB.prototype.toBytes = function toBytes () {\n return new Bytes(this.r * 255, this.g * 255, this.b * 255, this.a);\n };\n\n return RGB;\n}(BaseColor));\n\nvar Bytes = (function (RGB) {\n function Bytes(r, g, b, a) {\n RGB.call(this, Math.round(r), Math.round(g), Math.round(b), a);\n }\n\n if ( RGB ) Bytes.__proto__ = RGB;\n Bytes.prototype = Object.create( RGB && RGB.prototype );\n Bytes.prototype.constructor = Bytes;\n\n Bytes.prototype.toRGB = function toRGB () {\n return new RGB(this.r / 255, this.g / 255, this.b / 255, this.a);\n };\n\n Bytes.prototype.toHSV = function toHSV () {\n return this.toRGB().toHSV();\n };\n\n Bytes.prototype.toHSL = function toHSL () {\n return this.toRGB().toHSL();\n };\n\n Bytes.prototype.toHex = function toHex (options) {\n var value = hex(this.r, 2) + hex(this.g, 2) + hex(this.b, 2);\n\n if (options && options.alpha) {\n value += hex(Math.round(this.a * 255), 2);\n }\n\n return value;\n };\n\n Bytes.prototype.toBytes = function toBytes () {\n return this;\n };\n\n return Bytes;\n}(RGB));\n\nfunction hex(n, width, pad) {\n if ( pad === void 0 ) pad = \"0\";\n\n var result = n.toString(16);\n while (width > result.length) {\n result = pad + result;\n }\n\n return result;\n}\n\nvar HSV = (function (BaseColor) {\n function HSV(h, s, v, a) {\n BaseColor.call(this);\n\n this.h = h;\n this.s = s;\n this.v = v;\n this.a = a;\n }\n\n if ( BaseColor ) HSV.__proto__ = BaseColor;\n HSV.prototype = Object.create( BaseColor && BaseColor.prototype );\n HSV.prototype.constructor = HSV;\n\n HSV.prototype.toRGB = function toRGB () {\n var ref = this;\n var h = ref.h;\n var s = ref.s;\n var v = ref.v;\n var r, g, b;\n\n if (s === 0) {\n r = g = b = v;\n } else {\n h /= 60;\n\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - s * f);\n var t = v * (1 - s * (1 - f));\n\n switch (i) {\n case 0: r = v; g = t; b = p; break;\n case 1: r = q; g = v; b = p; break;\n case 2: r = p; g = v; b = t; break;\n case 3: r = p; g = q; b = v; break;\n case 4: r = t; g = p; b = v; break;\n default: r = v; g = p; b = q; break;\n }\n }\n\n return new RGB(r, g, b, this.a);\n };\n\n HSV.prototype.toHSL = function toHSL () {\n return this.toRGB().toHSL();\n };\n\n HSV.prototype.toBytes = function toBytes () {\n return this.toRGB().toBytes();\n };\n\n return HSV;\n}(BaseColor));\n\nvar HSL = (function (BaseColor) {\n function HSL(h, s, l, a) {\n BaseColor.call(this);\n\n this.h = h;\n this.s = s;\n this.l = l;\n this.a = a;\n }\n\n if ( BaseColor ) HSL.__proto__ = BaseColor;\n HSL.prototype = Object.create( BaseColor && BaseColor.prototype );\n HSL.prototype.constructor = HSL;\n\n HSL.prototype.toRGB = function toRGB () {\n var h = this.h / 360;\n var s = this.s / 100;\n var l = this.l / 100;\n var r, g, b;\n\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return new RGB(r, g, b, this.a);\n };\n\n HSL.prototype.toHSV = function toHSV () {\n return this.toRGB().toHSV();\n };\n\n HSL.prototype.toBytes = function toBytes () {\n return this.toRGB().toBytes();\n };\n\n return HSL;\n}(BaseColor));\n\nfunction hue2rgb(p, q, s) {\n var t = s;\n\n if (t < 0) {\n t += 1;\n }\n\n if (t > 1) {\n t -= 1;\n }\n\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n\n if (t < 1 / 2) {\n return q;\n }\n\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n\n return p;\n}\n\nfunction alphaFromHex(a) {\n return parseFloat(parseFloat(parseInt(a, 16) / 255 ).toFixed(3));\n}\n\nexport { RGB, Bytes, HSV, HSL };\n\nexport default function parseColor(value, safe) {\n var m, ret;\n\n if (value == null || value === \"none\") {\n return null;\n }\n\n if (value instanceof BaseColor) {\n return value;\n }\n\n var color = value.toLowerCase();\n if ((m = matchNamedColor(color))) {\n if (m[1] === \"transparent\") {\n color = new RGB(1, 1, 1, 0);\n } else {\n color = parseColor(namedColors[m[1]], safe);\n }\n color.match = [ m[1] ];\n return color;\n }\n if ((m = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\\b/i.exec(color))) {\n ret = new Bytes(parseInt(m[1], 16),\n parseInt(m[2], 16),\n parseInt(m[3], 16), 1);\n } else if ((m = /^#?([0-9a-f])([0-9a-f])([0-9a-f])\\b/i.exec(color))) {\n ret = new Bytes(parseInt(m[1] + m[1], 16),\n parseInt(m[2] + m[2], 16),\n parseInt(m[3] + m[3], 16), 1);\n } else if ((m = /^#?([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])\\b/i.exec(color))) { // Parse 4 digit hex color\n ret = new Bytes(parseInt(m[1] + m[1], 16),\n parseInt(m[2] + m[2], 16),\n parseInt(m[3] + m[3], 16),\n alphaFromHex(m[4] + m[4]));\n } else if ((m = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})\\b/i.exec(color))) { // Parse 8 digit hex color\n ret = new Bytes(parseInt(m[1], 16),\n parseInt(m[2], 16),\n parseInt(m[3], 16),\n alphaFromHex(m[4]));\n } else if ((m = /^rgb\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)/.exec(color))) {\n ret = new Bytes(parseInt(m[1], 10),\n parseInt(m[2], 10),\n parseInt(m[3], 10), 1);\n } else if ((m = /^rgba\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9.]+)\\s*\\)/.exec(color))) {\n ret = new Bytes(parseInt(m[1], 10),\n parseInt(m[2], 10),\n parseInt(m[3], 10), parseFloat(m[4]));\n } else if ((m = /^rgb\\(\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*\\)/.exec(color))) {\n ret = new RGB(parseFloat(m[1]) / 100,\n parseFloat(m[2]) / 100,\n parseFloat(m[3]) / 100, 1);\n } else if ((m = /^rgba\\(\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9]*\\.?[0-9]+)%\\s*,\\s*([0-9.]+)\\s*\\)/.exec(color))) {\n ret = new RGB(parseFloat(m[1]) / 100,\n parseFloat(m[2]) / 100,\n parseFloat(m[3]) / 100, parseFloat(m[4]));\n }\n\n if (ret) {\n ret.match = m;\n } else if (!safe) {\n throw new Error(\"Cannot parse color: \" + color);\n }\n\n return ret;\n}\n","/* eslint-disable no-console */\n\nexport default function logToConsole(message) {\n var console = window.console;\n\n if (typeof(console) != \"undefined\" && console.log) {\n console.log(message);\n }\n}","function matchUserAgent(userAgent) {\n var browserRxs = {\n edge: /(edge)[ \\/]([\\w.]+)/i,\n webkit: /(chrome)[ \\/]([\\w.]+)/i,\n safari: /(webkit)[ \\/]([\\w.]+)/i,\n opera: /(opera)(?:.*version|)[ \\/]([\\w.]+)/i,\n msie: /(msie\\s|trident.*? rv:)([\\w.]+)/i,\n mozilla: /(mozilla)(?:.*? rv:([\\w.]+))/i\n };\n\n var browser = {};\n\n for (var agent in browserRxs) {\n if (browserRxs.hasOwnProperty(agent)) {\n var match = userAgent.match(browserRxs[agent]);\n if (match) {\n browser[agent] = true;\n browser[match[1].toLowerCase().split(\" \")[0].split(\"/\")[0]] = true;\n browser.version = parseInt(document.documentMode || match[2], 10);\n\n break;\n }\n }\n }\n\n return browser;\n}\n\nvar browser = null;\n\nvar support = {\n get browser() {\n if (typeof window === 'undefined' || browser) {\n return browser;\n }\n\n browser = matchUserAgent(window.navigator.userAgent);\n return browser;\n }\n};\n\nexport default support;\n","import now from '../util/now';\n\nexport default function throttle(fn, delay) {\n var lastExecTime = 0;\n var timeout;\n\n if (!delay || delay <= 0) {\n return fn;\n }\n\n var throttled = function() {\n var elapsed = now() - lastExecTime;\n var args = arguments;\n\n var exec = function() {\n fn.apply(null, args);\n lastExecTime = now();\n };\n\n // first execution\n if (!lastExecTime) {\n return exec();\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n if (elapsed > delay) {\n exec();\n } else {\n timeout = setTimeout(exec, delay - elapsed);\n }\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n };\n\n return throttled;\n}\n","import { Class } from '../common';\n\nvar BaseNode = (function (Class) {\n function BaseNode(srcElement) {\n Class.call(this);\n\n this.childNodes = [];\n this.parent = null;\n\n if (srcElement) {\n this.srcElement = srcElement;\n this.observe();\n }\n }\n\n if ( Class ) BaseNode.__proto__ = Class;\n BaseNode.prototype = Object.create( Class && Class.prototype );\n BaseNode.prototype.constructor = BaseNode;\n\n BaseNode.prototype.destroy = function destroy () {\n var this$1 = this;\n\n if (this.srcElement) {\n this.srcElement.removeObserver(this);\n }\n\n var children = this.childNodes;\n for (var i = 0; i < children.length; i++) {\n this$1.childNodes[i].destroy();\n }\n\n this.parent = null;\n };\n\n BaseNode.prototype.load = function load () {};\n\n BaseNode.prototype.observe = function observe () {\n if (this.srcElement) {\n this.srcElement.addObserver(this);\n }\n };\n\n BaseNode.prototype.append = function append (node) {\n this.childNodes.push(node);\n node.parent = this;\n };\n\n BaseNode.prototype.insertAt = function insertAt (node, pos) {\n this.childNodes.splice(pos, 0, node);\n node.parent = this;\n };\n\n BaseNode.prototype.remove = function remove (index, count) {\n var this$1 = this;\n\n var end = index + count;\n for (var i = index; i < end; i++) {\n this$1.childNodes[i].removeSelf();\n }\n this.childNodes.splice(index, count);\n };\n\n BaseNode.prototype.removeSelf = function removeSelf () {\n this.clear();\n this.destroy();\n };\n\n BaseNode.prototype.clear = function clear () {\n this.remove(0, this.childNodes.length);\n };\n\n BaseNode.prototype.invalidate = function invalidate () {\n if (this.parent) {\n this.parent.invalidate();\n }\n };\n\n BaseNode.prototype.geometryChange = function geometryChange () {\n this.invalidate();\n };\n\n BaseNode.prototype.optionsChange = function optionsChange () {\n this.invalidate();\n };\n\n BaseNode.prototype.childrenChange = function childrenChange (e) {\n if (e.action === \"add\") {\n this.load(e.items, e.index);\n } else if (e.action === \"remove\") {\n this.remove(e.index, e.items.length);\n }\n\n this.invalidate();\n };\n\n return BaseNode;\n}(Class));\n\nexport default BaseNode;","var DASH_ARRAYS = {\n dot: [ 1.5, 3.5 ],\n dash: [ 4, 3.5 ],\n longdash: [ 8, 3.5 ],\n dashdot: [ 3.5, 3.5, 1.5, 3.5 ],\n longdashdot: [ 8, 3.5, 1.5, 3.5 ],\n longdashdotdot: [ 8, 3.5, 1.5, 3.5, 1.5, 3.5 ]\n};\n\nvar SOLID = \"solid\";\nvar BUTT = \"butt\";\n\nexport { DASH_ARRAYS, SOLID, BUTT };","import { Class } from '../common';\n\nvar HasObservers = (function (Class) {\n function HasObservers () {\n Class.apply(this, arguments);\n }\n\n if ( Class ) HasObservers.__proto__ = Class;\n HasObservers.prototype = Object.create( Class && Class.prototype );\n HasObservers.prototype.constructor = HasObservers;\n\n HasObservers.prototype.observers = function observers () {\n this._observers = this._observers || [];\n return this._observers;\n };\n\n HasObservers.prototype.addObserver = function addObserver (element) {\n if (!this._observers) {\n this._observers = [ element ];\n } else {\n this._observers.push(element);\n }\n return this;\n };\n\n HasObservers.prototype.removeObserver = function removeObserver (element) {\n var observers = this.observers();\n var index = observers.indexOf(element);\n if (index !== -1) {\n observers.splice(index, 1);\n }\n return this;\n };\n\n HasObservers.prototype.trigger = function trigger (methodName, event) {\n var observers = this._observers;\n\n if (observers && !this._suspended) {\n for (var idx = 0; idx < observers.length; idx++) {\n var observer = observers[idx];\n if (observer[methodName]) {\n observer[methodName](event);\n }\n }\n }\n return this;\n };\n\n HasObservers.prototype.optionsChange = function optionsChange (e) {\n if ( e === void 0 ) e = {};\n\n e.element = this;\n this.trigger(\"optionsChange\", e);\n };\n\n HasObservers.prototype.geometryChange = function geometryChange () {\n this.trigger(\"geometryChange\", {\n element: this\n });\n };\n\n HasObservers.prototype.suspend = function suspend () {\n this._suspended = (this._suspended || 0) + 1;\n return this;\n };\n\n HasObservers.prototype.resume = function resume () {\n this._suspended = Math.max((this._suspended || 0) - 1, 0);\n return this;\n };\n\n HasObservers.prototype._observerField = function _observerField (field, value) {\n if (this[field]) {\n this[field].removeObserver(this);\n }\n this[field] = value;\n value.addObserver(this);\n };\n\n return HasObservers;\n}(Class));\n\nexport default HasObservers;\n\n","import { Class } from '../common';\nimport HasObservers from './has-observers';\nimport { defined } from '../util';\n\n\nvar toString = {}.toString;\n\nvar OptionsStore = (function (HasObservers) {\n function OptionsStore(options, prefix) {\n var this$1 = this;\n if ( prefix === void 0 ) prefix = \"\";\n\n HasObservers.call(this);\n\n this.prefix = prefix;\n\n for (var field in options) {\n var member = options[field];\n member = this$1._wrap(member, field);\n this$1[field] = member;\n }\n }\n\n if ( HasObservers ) OptionsStore.__proto__ = HasObservers;\n OptionsStore.prototype = Object.create( HasObservers && HasObservers.prototype );\n OptionsStore.prototype.constructor = OptionsStore;\n\n OptionsStore.prototype.get = function get (field) {\n var parts = field.split(\".\");\n var result = this;\n\n while (parts.length && result) {\n var part = parts.shift();\n result = result[part];\n }\n\n return result;\n };\n\n OptionsStore.prototype.set = function set (field, value) {\n var current = this.get(field);\n\n if (current !== value) {\n this._set(field, this._wrap(value, field));\n this.optionsChange({\n field: this.prefix + field,\n value: value\n });\n }\n };\n\n OptionsStore.prototype._set = function _set (field, value) {\n var this$1 = this;\n\n var composite = field.indexOf(\".\") >= 0;\n var parentObj = this;\n var fieldName = field;\n\n if (composite) {\n var parts = fieldName.split(\".\");\n var prefix = this.prefix;\n\n while (parts.length > 1) {\n fieldName = parts.shift();\n prefix += fieldName + \".\";\n\n var obj = parentObj[fieldName];\n\n if (!obj) {\n obj = new OptionsStore({}, prefix);\n obj.addObserver(this$1);\n parentObj[fieldName] = obj;\n }\n parentObj = obj;\n }\n fieldName = parts[0];\n }\n\n parentObj._clear(fieldName);\n parentObj[fieldName] = value;\n };\n\n OptionsStore.prototype._clear = function _clear (field) {\n var current = this[field];\n if (current && current.removeObserver) {\n current.removeObserver(this);\n }\n };\n\n OptionsStore.prototype._wrap = function _wrap (object, field) {\n var type = toString.call(object);\n var wrapped = object;\n\n if (wrapped !== null && defined(wrapped) && type === \"[object Object]\") {\n if (!(object instanceof OptionsStore) && !(object instanceof Class)) {\n wrapped = new OptionsStore(wrapped, this.prefix + field + \".\");\n }\n\n wrapped.addObserver(this);\n }\n\n return wrapped;\n };\n\n return OptionsStore;\n}(HasObservers));\n\nexport default OptionsStore;\n","import Class from './class';\n\nvar Observable = (function (Class) {\n function Observable() {\n Class.call(this);\n\n this._events = {};\n }\n\n if ( Class ) Observable.__proto__ = Class;\n Observable.prototype = Object.create( Class && Class.prototype );\n Observable.prototype.constructor = Observable;\n\n Observable.prototype.bind = function bind (eventName, handlers, one) {\n var arguments$1 = arguments;\n var this$1 = this;\n\n var eventNames = getArray(eventName);\n var handlersIsFunction = isFunction(handlers);\n var length = eventNames.length;\n\n if (handlers === undefined) {\n for (var field in eventName) {\n this$1.bind(field, eventName[field]);\n }\n return this;\n }\n\n var loop = function ( idx ) {\n var eventName$1 = eventNames[idx];\n\n var handler = handlersIsFunction ? handlers : handlers[eventName$1];\n\n if (handler) {\n if (one) {\n var original = handler;\n handler = function () { // eslint-disable-line no-loop-func\n this$1.unbind(eventName$1, handler);\n original.apply(this$1, arguments$1);\n };\n handler.original = original;\n }\n var events = this$1._events[eventName$1] = this$1._events[eventName$1] || [];\n events.push(handler);\n }\n };\n\n for (var idx = 0; idx < length; idx++) loop( idx );\n\n return this;\n };\n\n Observable.prototype.one = function one (eventNames, handlers) {\n return this.bind(eventNames, handlers, true);\n };\n\n Observable.prototype.first = function first (eventName, handlers) {\n var this$1 = this;\n\n var eventNames = getArray(eventName);\n var handlersIsFunction = isFunction(handlers);\n\n for (var idx = 0, length = eventNames.length; idx < length; idx++) {\n var eventName$1 = eventNames[idx];\n\n var handler = handlersIsFunction ? handlers : handlers[eventName$1];\n\n if (handler) {\n var events = this$1._events[eventName$1] = this$1._events[eventName$1] || [];\n events.unshift(handler);\n }\n }\n\n return this;\n };\n\n Observable.prototype.trigger = function trigger (eventName, e) {\n var this$1 = this;\n if ( e === void 0 ) e = {};\n\n var events = this._events[eventName];\n\n if (events) {\n var length = events.length;\n\n e.sender = this;\n e._defaultPrevented = false;\n e.preventDefault = preventDefault;\n e.isDefaultPrevented = isDefaultPrevented;\n\n events = events.slice();\n\n for (var idx = 0; idx < length; idx++) {\n events[idx].call(this$1, e);\n }\n\n return e._defaultPrevented === true;\n }\n\n return false;\n };\n\n Observable.prototype.unbind = function unbind (eventName, handler) {\n var events = this._events[eventName];\n\n if (eventName === undefined) {\n this._events = {};\n } else if (events) {\n if (handler) {\n for (var idx = events.length - 1; idx >= 0; idx--) {\n if (events[idx] === handler || events[idx].original === handler) {\n events.splice(idx, 1);\n }\n }\n } else {\n this._events[eventName] = [];\n }\n }\n\n return this;\n };\n\n return Observable;\n}(Class));\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction getArray(value) {\n return typeof value === \"string\" ? [ value ] : value;\n}\n\nfunction preventDefault() {\n this._defaultPrevented = true;\n}\n\nfunction isDefaultPrevented() {\n return this._defaultPrevented === true;\n}\n\nexport default Observable;","import Group from '../shapes/group';\nimport Point from '../geometry/point';\nimport { Observable } from '../common';\nimport { eventElement, eventCoordinates, elementPadding, elementScale, elementSize, elementOffset } from '../util';\n\nvar events = [\n \"click\",\n \"mouseenter\",\n \"mouseleave\",\n \"mousemove\",\n \"resize\"\n];\n\nvar Surface = (function (Observable) {\n function Surface(element, options) {\n Observable.call(this);\n\n this.options = Object.assign({}, options);\n this.element = element;\n this.element._kendoExportVisual = this.exportVisual.bind(this);\n\n this._click = this._handler(\"click\");\n this._mouseenter = this._handler(\"mouseenter\");\n this._mouseleave = this._handler(\"mouseleave\");\n this._mousemove = this._handler(\"mousemove\");\n\n this._visual = new Group();\n\n elementSize(element, this.options);\n\n this.bind(events, this.options);\n\n this._enableTracking();\n }\n\n if ( Observable ) Surface.__proto__ = Observable;\n Surface.prototype = Object.create( Observable && Observable.prototype );\n Surface.prototype.constructor = Surface;\n\n Surface.prototype.draw = function draw (element) {\n this._visual.children.push(element);\n };\n\n Surface.prototype.clear = function clear () {\n this._visual.children = [];\n };\n\n Surface.prototype.destroy = function destroy () {\n this._visual = null;\n this.element._kendoExportVisual = null;\n this.unbind();\n };\n\n Surface.prototype.eventTarget = function eventTarget (e) {\n var this$1 = this;\n\n var domNode = eventElement(e);\n var node;\n\n while (!node && domNode) {\n node = domNode._kendoNode;\n if (domNode === this$1.element) {\n break;\n }\n\n domNode = domNode.parentElement;\n }\n\n if (node) {\n return node.srcElement;\n }\n };\n\n Surface.prototype.exportVisual = function exportVisual () {\n return this._visual;\n };\n\n Surface.prototype.getSize = function getSize () {\n return elementSize(this.element);\n };\n\n Surface.prototype.currentSize = function currentSize (size) {\n if (size) {\n this._size = size;\n } else {\n return this._size;\n }\n };\n\n Surface.prototype.setSize = function setSize (size) {\n elementSize(this.element, size);\n\n this.currentSize(size);\n this._resize();\n };\n\n Surface.prototype.resize = function resize (force) {\n var size = this.getSize();\n var currentSize = this.currentSize();\n\n if (force || (size.width > 0 || size.height > 0) && (!currentSize || size.width !== currentSize.width || size.height !== currentSize.height)) {\n this.currentSize(size);\n this._resize(size, force);\n this.trigger(\"resize\", size);\n }\n };\n\n Surface.prototype.size = function size (value) {\n if (!value) {\n return this.getSize();\n }\n\n this.setSize(value);\n };\n\n Surface.prototype.suspendTracking = function suspendTracking () {\n this._suspendedTracking = true;\n };\n\n Surface.prototype.resumeTracking = function resumeTracking () {\n this._suspendedTracking = false;\n };\n\n Surface.prototype._enableTracking = function _enableTracking () {};\n\n Surface.prototype._resize = function _resize () {};\n\n Surface.prototype._handler = function _handler (eventName) {\n var this$1 = this;\n\n return function (e) {\n var node = this$1.eventTarget(e);\n if (node && !this$1._suspendedTracking) {\n this$1.trigger(eventName, {\n element: node,\n originalEvent: e,\n type: eventName\n });\n }\n };\n };\n\n Surface.prototype._elementOffset = function _elementOffset () {\n var element = this.element;\n var padding = elementPadding(element);\n var ref = elementOffset(element);\n var left = ref.left;\n var top = ref.top;\n\n return {\n left: left + padding.left,\n top: top + padding.top\n };\n };\n\n Surface.prototype._surfacePoint = function _surfacePoint (e) {\n var offset = this._elementOffset();\n var coord = eventCoordinates(e);\n var x = coord.x - offset.left;\n var y = coord.y - offset.top;\n\n var inverseTransform = elementScale(this.element).invert();\n var point = new Point(\n x,\n y\n ).transform(inverseTransform);\n\n return point;\n };\n\n return Surface;\n}(Observable));\n\nexport default Surface;\n","import close from './close';\n\nexport default function closeOrLess(a, b, tolerance) {\n return a < b || close(a, b, tolerance);\n}","import Point from '../point';\n\nexport default function lineIntersection(p0, p1, p2, p3) {\n var s1x = p1.x - p0.x;\n var s2x = p3.x - p2.x;\n var s1y = p1.y - p0.y;\n var s2y = p3.y - p2.y;\n var nx = p0.x - p2.x;\n var ny = p0.y - p2.y;\n var d = s1x * s2y - s2x * s1y;\n var s = (s1x * ny - s1y * nx) / d;\n var t = (s2x * ny - s2y * nx) / d;\n\n if (s >= 0 && s <= 1 && t >= 0 && t <= 1) {\n return new Point(p0.x + t * s1x, p0.y + t * s1y);\n }\n}","import HasObservers from '../core/has-observers';\nimport { deg, rad, round } from '../util';\nimport withAccessors from '../mixins/with-accessors';\n\nimport closeOrLess from './math/close-or-less';\nimport lineIntersection from './math/line-intersection';\nimport ellipseExtremeAngles from './math/ellipse-extreme-angles';\n\nimport { PRECISION } from './constants';\nimport Point from './point';\nimport Rect from './rect';\nimport transform from './transform';\n\n\nvar MAX_INTERVAL = 45;\nvar pow = Math.pow;\nvar accessors = [ \"radiusX\", \"radiusY\", \"startAngle\", \"endAngle\", \"anticlockwise\" ];\n\nvar Arc = (function (superclass) {\n function Arc(center, options) {\n if ( center === void 0 ) center = new Point();\n if ( options === void 0 ) options = {};\n\n superclass.call(this);\n\n this.setCenter(center);\n\n this.radiusX = options.radiusX;\n this.radiusY = options.radiusY || options.radiusX;\n this.startAngle = options.startAngle;\n this.endAngle = options.endAngle;\n this.anticlockwise = options.anticlockwise || false;\n this.xRotation = options.xRotation;\n }\n\n if ( superclass ) Arc.__proto__ = superclass;\n Arc.prototype = Object.create( superclass && superclass.prototype );\n Arc.prototype.constructor = Arc;\n\n Arc.prototype.clone = function clone () {\n return new Arc(this.center, {\n radiusX: this.radiusX,\n radiusY: this.radiusY,\n startAngle: this.startAngle,\n endAngle: this.endAngle,\n anticlockwise: this.anticlockwise\n });\n };\n\n Arc.prototype.setCenter = function setCenter (value) {\n this._observerField(\"center\", Point.create(value));\n this.geometryChange();\n return this;\n };\n\n Arc.prototype.getCenter = function getCenter () {\n return this.center;\n };\n\n Arc.prototype.pointAt = function pointAt (angle) {\n var center = this.center;\n var radian = rad(angle);\n\n return new Point(\n center.x + this.radiusX * Math.cos(radian),\n center.y + this.radiusY * Math.sin(radian)\n );\n };\n\n Arc.prototype.curvePoints = function curvePoints () {\n var this$1 = this;\n\n var startAngle = this.startAngle;\n var dir = this.anticlockwise ? -1 : 1;\n var curvePoints = [ this.pointAt(startAngle) ];\n var interval = this._arcInterval();\n var intervalAngle = interval.endAngle - interval.startAngle;\n var subIntervalsCount = Math.ceil(intervalAngle / MAX_INTERVAL);\n var subIntervalAngle = intervalAngle / subIntervalsCount;\n var currentAngle = startAngle;\n var transformation;\n if (this.xRotation) {\n transformation = transform().rotate(this.xRotation, this.center);\n }\n\n for (var i = 1; i <= subIntervalsCount; i++) {\n var nextAngle = currentAngle + dir * subIntervalAngle;\n var points = this$1._intervalCurvePoints(currentAngle, nextAngle, transformation);\n\n curvePoints.push(points.cp1, points.cp2, points.p2);\n currentAngle = nextAngle;\n }\n\n return curvePoints;\n };\n\n Arc.prototype.bbox = function bbox (matrix) {\n var this$1 = this;\n\n var interval = this._arcInterval();\n var startAngle = interval.startAngle;\n var endAngle = interval.endAngle;\n var extremeAngles = ellipseExtremeAngles(this.center, this.radiusX, this.radiusY, matrix);\n var extremeX = deg(extremeAngles.x);\n var extremeY = deg(extremeAngles.y);\n var endPoint = this.pointAt(endAngle).transformCopy(matrix);\n var currentAngleX = bboxStartAngle(extremeX, startAngle);\n var currentAngleY = bboxStartAngle(extremeY, startAngle);\n var currentPoint = this.pointAt(startAngle).transformCopy(matrix);\n var minPoint = Point.min(currentPoint, endPoint);\n var maxPoint = Point.max(currentPoint, endPoint);\n\n while (currentAngleX < endAngle || currentAngleY < endAngle) {\n var currentPointX = (void 0);\n if (currentAngleX < endAngle) {\n currentPointX = this$1.pointAt(currentAngleX).transformCopy(matrix);\n currentAngleX += 90;\n }\n\n var currentPointY = (void 0);\n if (currentAngleY < endAngle) {\n currentPointY = this$1.pointAt(currentAngleY).transformCopy(matrix);\n currentAngleY += 90;\n }\n\n currentPoint = new Point(currentPointX.x, currentPointY.y);\n minPoint = Point.min(minPoint, currentPoint);\n maxPoint = Point.max(maxPoint, currentPoint);\n }\n\n return Rect.fromPoints(minPoint, maxPoint);\n };\n\n Arc.prototype._arcInterval = function _arcInterval () {\n var ref = this;\n var startAngle = ref.startAngle;\n var endAngle = ref.endAngle;\n var anticlockwise = ref.anticlockwise;\n\n if (anticlockwise) {\n var oldStart = startAngle;\n startAngle = endAngle;\n endAngle = oldStart;\n }\n\n if (startAngle > endAngle || (anticlockwise && startAngle === endAngle)) {\n endAngle += 360;\n }\n\n return {\n startAngle: startAngle,\n endAngle: endAngle\n };\n };\n\n Arc.prototype._intervalCurvePoints = function _intervalCurvePoints (startAngle, endAngle, transformation) {\n var p1 = this.pointAt(startAngle);\n var p2 = this.pointAt(endAngle);\n var p1Derivative = this._derivativeAt(startAngle);\n var p2Derivative = this._derivativeAt(endAngle);\n var t = (rad(endAngle) - rad(startAngle)) / 3;\n var cp1 = new Point(p1.x + t * p1Derivative.x, p1.y + t * p1Derivative.y);\n var cp2 = new Point(p2.x - t * p2Derivative.x, p2.y - t * p2Derivative.y);\n if (transformation) {\n p1.transform(transformation);\n p2.transform(transformation);\n cp1.transform(transformation);\n cp2.transform(transformation);\n }\n\n return {\n p1: p1,\n cp1: cp1,\n cp2: cp2,\n p2: p2\n };\n };\n\n Arc.prototype._derivativeAt = function _derivativeAt (angle) {\n var radian = rad(angle);\n\n return new Point(-this.radiusX * Math.sin(radian), this.radiusY * Math.cos(radian));\n };\n\n Arc.prototype.containsPoint = function containsPoint (point) {\n var interval = this._arcInterval();\n var intervalAngle = interval.endAngle - interval.startAngle;\n var ref = this;\n var center = ref.center;\n var radiusX = ref.radiusX;\n var radiusY = ref.radiusY;\n var distance = center.distanceTo(point);\n var angleRad = Math.atan2(point.y - center.y, point.x - center.x);\n var pointRadius = (radiusX * radiusY) /\n Math.sqrt(pow(radiusX, 2) * pow(Math.sin(angleRad), 2) + pow(radiusY, 2) * pow(Math.cos(angleRad), 2));\n var startPoint = this.pointAt(this.startAngle).round(PRECISION);\n var endPoint = this.pointAt(this.endAngle).round(PRECISION);\n var intersection = lineIntersection(center, point.round(PRECISION), startPoint, endPoint);\n var containsPoint;\n\n if (intervalAngle < 180) {\n containsPoint = intersection && closeOrLess(center.distanceTo(intersection), distance) && closeOrLess(distance, pointRadius);\n } else {\n var angle = calculateAngle(center.x, center.y, radiusX, radiusY, point.x, point.y);\n if (angle !== 360) {\n angle = (360 + angle) % 360;\n }\n\n var inAngleRange = interval.startAngle <= angle && angle <= interval.endAngle;\n containsPoint = (inAngleRange && closeOrLess(distance, pointRadius)) || (!inAngleRange && (!intersection || intersection.equals(point)));\n }\n return containsPoint;\n };\n\n Arc.prototype._isOnPath = function _isOnPath (point, width) {\n var interval = this._arcInterval();\n var center = this.center;\n var angle = calculateAngle(center.x, center.y, this.radiusX, this.radiusY, point.x, point.y);\n if (angle !== 360) {\n angle = (360 + angle) % 360;\n }\n\n var inAngleRange = interval.startAngle <= angle && angle <= interval.endAngle;\n\n return inAngleRange && this.pointAt(angle).distanceTo(point) <= width;\n };\n\n Arc.fromPoints = function fromPoints (start, end, rx, ry, largeArc, swipe, rotation) {// eslint-disable-line max-params\n var arcParameters = normalizeArcParameters({\n x1: start.x,\n y1: start.y,\n x2: end.x,\n y2: end.y,\n rx: rx,\n ry: ry,\n largeArc: largeArc,\n swipe: swipe,\n rotation: rotation\n });\n\n return new Arc(arcParameters.center, {\n startAngle: arcParameters.startAngle,\n endAngle: arcParameters.endAngle,\n radiusX: arcParameters.radiusX,\n radiusY: arcParameters.radiusY,\n xRotation: arcParameters.xRotation,\n anticlockwise: swipe === 0\n });\n };\n\n return Arc;\n}(withAccessors(HasObservers, accessors)));\n\nfunction calculateAngle(cx, cy, rx, ry, x, y) {\n var cos = round((x - cx) / rx, 3);\n var sin = round((y - cy) / ry, 3);\n\n return round(deg(Math.atan2(sin, cos)));\n}\n\nfunction normalizeArcParameters(parameters) {\n var x1 = parameters.x1;\n var y1 = parameters.y1;\n var x2 = parameters.x2;\n var y2 = parameters.y2;\n var rx = parameters.rx;\n var ry = parameters.ry;\n var largeArc = parameters.largeArc;\n var swipe = parameters.swipe;\n var rotation = parameters.rotation; if ( rotation === void 0 ) rotation = 0;\n\n var radians = rad(rotation);\n var cosine = Math.cos(radians);\n var sine = Math.sin(radians);\n\n var xT = cosine * (x1 - x2) / 2 + sine * (y1 - y2) / 2;\n var yT = -sine * (x1 - x2) / 2 + cosine * (y1 - y2) / 2;\n\n var sign = largeArc !== swipe ? 1 : -1;\n\n var xt2 = Math.pow(xT, 2);\n var yt2 = Math.pow(yT, 2);\n var rx2 = Math.pow(rx, 2);\n var ry2 = Math.pow(ry, 2);\n\n var delta = xt2 / rx2 + yt2 / ry2;\n\n if (delta > 1) {\n delta = Math.sqrt(xt2 / rx2 + yt2 / ry2);\n rx = delta * rx;\n rx2 = Math.pow(rx, 2);\n\n ry = delta * ry;\n ry2 = Math.pow(ry, 2);\n }\n\n var constT = sign * Math.sqrt((rx2 * ry2 - rx2 * yt2 - ry2 * xt2) / (rx2 * yt2 + ry2 * xt2));\n // due to rounding errors the value could become NaN even after radii correction\n if (isNaN(constT)) {\n constT = 0;\n }\n\n var cxT = constT * (rx * yT) / ry;\n var cyT = - constT * (ry * xT) / rx;\n\n var cx = cosine * cxT - sine * cyT + (x1 + x2) / 2;\n var cy = sine * cxT + cosine * cyT + (y1 + y2) / 2;\n\n\n var uX = (xT - cxT) / rx;\n var uY = (yT - cyT) / ry;\n var vX = -(xT + cxT) / rx;\n var vY = -(yT + cyT) / ry;\n\n var startAngle = (uY >= 0 ? 1 : -1) * deg(Math.acos(uX / Math.sqrt(uX * uX + uY * uY)));\n\n var angleCosine = round((uX * vX + uY * vY) / (Math.sqrt(uX * uX + uY * uY) * Math.sqrt(vX * vX + vY * vY)), 10);\n var angle = (uX * vY - uY * vX >= 0 ? 1 : -1) * deg(Math.acos(angleCosine));\n\n if (!swipe && angle > 0) {\n angle -= 360;\n }\n\n if (swipe && angle < 0) {\n angle += 360;\n }\n var endAngle = startAngle + angle;\n var signEndAngle = endAngle >= 0 ? 1 : -1;\n endAngle = (Math.abs(endAngle) % 360) * signEndAngle;\n\n return {\n center: new Point(cx, cy),\n startAngle: startAngle,\n endAngle: endAngle,\n radiusX: rx,\n radiusY: ry,\n xRotation: rotation\n };\n}\n\nfunction bboxStartAngle(angle, start) {\n var startAngle = angle;\n\n while (startAngle < start) {\n startAngle += 90;\n }\n\n return startAngle;\n}\n\nexport default Arc;\n","import withAccessors from '../mixins/with-accessors';\nimport Point from './point';\nimport Rect from './rect';\nimport ellipseExtremeAngles from './math/ellipse-extreme-angles';\nimport HasObservers from '../core/has-observers';\nimport { rad } from '../util';\n\n\nvar PI_DIV_2 = Math.PI / 2;\n\nvar Circle = (function (superclass) {\n function Circle(center, radius) {\n if ( center === void 0 ) center = new Point();\n if ( radius === void 0 ) radius = 0;\n\n superclass.call(this);\n\n this.setCenter(center);\n this.setRadius(radius);\n }\n\n if ( superclass ) Circle.__proto__ = superclass;\n Circle.prototype = Object.create( superclass && superclass.prototype );\n Circle.prototype.constructor = Circle;\n\n Circle.prototype.setCenter = function setCenter (value) {\n this._observerField(\"center\", Point.create(value));\n this.geometryChange();\n return this;\n };\n\n Circle.prototype.getCenter = function getCenter () {\n return this.center;\n };\n\n Circle.prototype.equals = function equals (other) {\n return other &&\n other.center.equals(this.center) &&\n other.radius === this.radius;\n };\n\n Circle.prototype.clone = function clone () {\n return new Circle(this.center.clone(), this.radius);\n };\n\n Circle.prototype.pointAt = function pointAt (angle) {\n return this._pointAt(rad(angle));\n };\n\n Circle.prototype.bbox = function bbox (matrix) {\n var this$1 = this;\n\n var extremeAngles = ellipseExtremeAngles(this.center, this.radius, this.radius, matrix);\n var minPoint = Point.maxPoint();\n var maxPoint = Point.minPoint();\n\n for (var i = 0; i < 4; i++) {\n var currentPointX = this$1._pointAt(extremeAngles.x + i * PI_DIV_2).transformCopy(matrix);\n var currentPointY = this$1._pointAt(extremeAngles.y + i * PI_DIV_2).transformCopy(matrix);\n var currentPoint = new Point(currentPointX.x, currentPointY.y);\n\n minPoint = Point.min(minPoint, currentPoint);\n maxPoint = Point.max(maxPoint, currentPoint);\n }\n\n return Rect.fromPoints(minPoint, maxPoint);\n };\n\n Circle.prototype._pointAt = function _pointAt (angle) {\n var ref = this;\n var center = ref.center;\n var radius = ref.radius;\n\n return new Point(\n center.x + radius * Math.cos(angle),\n center.y + radius * Math.sin(angle)\n );\n };\n\n Circle.prototype.containsPoint = function containsPoint (point) {\n var ref = this;\n var center = ref.center;\n var radius = ref.radius;\n var inCircle = Math.pow(point.x - center.x, 2) +\n Math.pow(point.y - center.y, 2) <= Math.pow(radius, 2);\n return inCircle;\n };\n\n Circle.prototype._isOnPath = function _isOnPath (point, width) {\n var ref = this;\n var center = ref.center;\n var radius = ref.radius;\n var pointDistance = center.distanceTo(point);\n\n return radius - width <= pointDistance && pointDistance <= radius + width;\n };\n\n return Circle;\n}(withAccessors(HasObservers, [ \"radius\" ])));\n\nexport default Circle;\n","var PRECISION = 10;\n\nexport { PRECISION };","import { PRECISION } from '../constants';\n\nimport { round } from '../../util';\n\nexport default function close(a, b, tolerance) {\n if ( tolerance === void 0 ) tolerance = PRECISION;\n\n return round(Math.abs(a - b), tolerance) === 0;\n}","export default function ellipseExtremeAngles(center, rx, ry, matrix) {\n var extremeX = 0;\n var extremeY = 0;\n\n if (matrix) {\n extremeX = Math.atan2(matrix.c * ry, matrix.a * rx);\n if (matrix.b !== 0) {\n extremeY = Math.atan2(matrix.d * ry, matrix.b * rx);\n }\n }\n\n return {\n x: extremeX,\n y: extremeY\n };\n}","export default function lineIntersectionsCount(a, b, point) {\n var intersects;\n if (a.x !== b.x) {\n var minX = Math.min(a.x, b.x);\n var maxX = Math.max(a.x, b.x);\n var minY = Math.min(a.y, b.y);\n var maxY = Math.max(a.y, b.y);\n var inRange = minX <= point.x && point.x < maxX;\n\n if (minY === maxY) {\n intersects = point.y <= minY && inRange;\n } else {\n intersects = inRange && (((maxY - minY) * ((a.x - b.x) * (a.y - b.y) > 0 ? point.x - minX : maxX - point.x)) / (maxX - minX) + minY - point.y) >= 0;\n }\n }\n\n return intersects ? 1 : 0;\n}","import { Class } from '../common';\nimport defined from '../util/defined';\nimport rad from '../util/rad';\nimport round from '../util/round';\n\nvar Matrix = (function (Class) {\n function Matrix(a, b, c, d, e, f) {\n if ( a === void 0 ) a = 0;\n if ( b === void 0 ) b = 0;\n if ( c === void 0 ) c = 0;\n if ( d === void 0 ) d = 0;\n if ( e === void 0 ) e = 0;\n if ( f === void 0 ) f = 0;\n\n Class.call(this);\n\n this.a = a;\n this.b = b;\n this.c = c;\n this.d = d;\n this.e = e;\n this.f = f;\n }\n\n if ( Class ) Matrix.__proto__ = Class;\n Matrix.prototype = Object.create( Class && Class.prototype );\n Matrix.prototype.constructor = Matrix;\n\n Matrix.prototype.multiplyCopy = function multiplyCopy (matrix) {\n return new Matrix(\n this.a * matrix.a + this.c * matrix.b,\n this.b * matrix.a + this.d * matrix.b,\n this.a * matrix.c + this.c * matrix.d,\n this.b * matrix.c + this.d * matrix.d,\n this.a * matrix.e + this.c * matrix.f + this.e,\n this.b * matrix.e + this.d * matrix.f + this.f\n );\n };\n\n Matrix.prototype.invert = function invert () {\n var ref = this;\n var a = ref.a;\n var b = ref.b;\n var d = ref.c;\n var e = ref.d;\n var g = ref.e;\n var h = ref.f;\n var det = a * e - b * d;\n\n if (det === 0) {\n return null;\n }\n\n return new Matrix(e / det, -b / det, -d / det, a / det,\n (d * h - e * g) / det, (b * g - a * h) / det);\n };\n\n Matrix.prototype.clone = function clone () {\n return new Matrix(this.a, this.b, this.c, this.d, this.e, this.f);\n };\n\n Matrix.prototype.equals = function equals (other) {\n if (!other) {\n return false;\n }\n\n return this.a === other.a && this.b === other.b &&\n this.c === other.c && this.d === other.d &&\n this.e === other.e && this.f === other.f;\n };\n\n Matrix.prototype.round = function round$1 (precision) {\n this.a = round(this.a, precision);\n this.b = round(this.b, precision);\n this.c = round(this.c, precision);\n this.d = round(this.d, precision);\n this.e = round(this.e, precision);\n this.f = round(this.f, precision);\n\n return this;\n };\n\n Matrix.prototype.toArray = function toArray (precision) {\n var result = [ this.a, this.b, this.c, this.d, this.e, this.f ];\n\n if (defined(precision)) {\n for (var i = 0; i < result.length; i++) {\n result[i] = round(result[i], precision);\n }\n }\n\n return result;\n };\n\n Matrix.prototype.toString = function toString (precision, separator) {\n if ( separator === void 0 ) separator = \",\";\n\n return this.toArray(precision).join(separator);\n };\n\n Matrix.translate = function translate (x, y) {\n return new Matrix(1, 0, 0, 1, x, y);\n };\n\n Matrix.unit = function unit () {\n return new Matrix(1, 0, 0, 1, 0, 0);\n };\n\n Matrix.rotate = function rotate (angle, x, y) {\n var matrix = new Matrix();\n matrix.a = Math.cos(rad(angle));\n matrix.b = Math.sin(rad(angle));\n matrix.c = -matrix.b;\n matrix.d = matrix.a;\n matrix.e = (x - x * matrix.a + y * matrix.b) || 0;\n matrix.f = (y - y * matrix.a - x * matrix.b) || 0;\n\n return matrix;\n };\n\n Matrix.scale = function scale (scaleX, scaleY) {\n return new Matrix(scaleX, 0, 0, scaleY, 0, 0);\n };\n\n return Matrix;\n}(Class));\n\nMatrix.IDENTITY = Matrix.unit();\n\nexport default Matrix;\n","import withAccessors from '../mixins/with-accessors';\nimport HasObservers from '../core/has-observers';\nimport { defined, MIN_NUM, MAX_NUM, round } from '../util';\nimport Matrix from './matrix';\nimport toMatrix from './to-matrix';\n\n\nvar Point = (function (superclass) {\n function Point(x, y) {\n superclass.call(this);\n\n this.x = x || 0;\n this.y = y || 0;\n }\n\n if ( superclass ) Point.__proto__ = superclass;\n Point.prototype = Object.create( superclass && superclass.prototype );\n Point.prototype.constructor = Point;\n\n var staticAccessors = { ZERO: { configurable: true } };\n\n Point.prototype.equals = function equals (other) {\n return other && other.x === this.x && other.y === this.y;\n };\n\n Point.prototype.clone = function clone () {\n return new Point(this.x, this.y);\n };\n\n Point.prototype.rotate = function rotate (angle, origin) {\n var originPoint = Point.create(origin) || Point.ZERO;\n\n return this.transform(Matrix.rotate(angle, originPoint.x, originPoint.y));\n };\n\n Point.prototype.translate = function translate (x, y) {\n this.x += x;\n this.y += y;\n\n this.geometryChange();\n\n return this;\n };\n\n Point.prototype.translateWith = function translateWith (point) {\n return this.translate(point.x, point.y);\n };\n\n Point.prototype.move = function move (x, y) {\n this.x = this.y = 0;\n return this.translate(x, y);\n };\n\n Point.prototype.scale = function scale (scaleX, scaleY) {\n if ( scaleY === void 0 ) scaleY = scaleX;\n\n this.x *= scaleX;\n this.y *= scaleY;\n\n this.geometryChange();\n\n return this;\n };\n\n Point.prototype.scaleCopy = function scaleCopy (scaleX, scaleY) {\n return this.clone().scale(scaleX, scaleY);\n };\n\n Point.prototype.transform = function transform (transformation) {\n var matrix = toMatrix(transformation);\n var ref = this;\n var x = ref.x;\n var y = ref.y;\n\n this.x = matrix.a * x + matrix.c * y + matrix.e;\n this.y = matrix.b * x + matrix.d * y + matrix.f;\n\n this.geometryChange();\n\n return this;\n };\n\n Point.prototype.transformCopy = function transformCopy (transformation) {\n var point = this.clone();\n\n if (transformation) {\n point.transform(transformation);\n }\n\n return point;\n };\n\n Point.prototype.distanceTo = function distanceTo (point) {\n var dx = this.x - point.x;\n var dy = this.y - point.y;\n\n return Math.sqrt(dx * dx + dy * dy);\n };\n\n Point.prototype.round = function round$1 (digits) {\n this.x = round(this.x, digits);\n this.y = round(this.y, digits);\n\n this.geometryChange();\n\n return this;\n };\n\n Point.prototype.toArray = function toArray (digits) {\n var doRound = defined(digits);\n var x = doRound ? round(this.x, digits) : this.x;\n var y = doRound ? round(this.y, digits) : this.y;\n\n return [ x, y ];\n };\n\n Point.prototype.toString = function toString (digits, separator) {\n if ( separator === void 0 ) separator = \" \";\n\n var ref = this;\n var x = ref.x;\n var y = ref.y;\n\n if (defined(digits)) {\n x = round(x, digits);\n y = round(y, digits);\n }\n\n return x + separator + y;\n };\n\n Point.create = function create (arg0, arg1) {\n if (defined(arg0)) {\n if (arg0 instanceof Point) {\n return arg0;\n } else if (arguments.length === 1 && arg0.length === 2) {\n return new Point(arg0[0], arg0[1]);\n }\n\n return new Point(arg0, arg1);\n }\n };\n\n Point.min = function min () {\n var arguments$1 = arguments;\n\n var minX = MAX_NUM;\n var minY = MAX_NUM;\n\n for (var i = 0; i < arguments.length; i++) {\n var point = arguments$1[i];\n minX = Math.min(point.x, minX);\n minY = Math.min(point.y, minY);\n }\n\n return new Point(minX, minY);\n };\n\n Point.max = function max () {\n var arguments$1 = arguments;\n\n var maxX = MIN_NUM;\n var maxY = MIN_NUM;\n\n for (var i = 0; i < arguments.length; i++) {\n var point = arguments$1[i];\n maxX = Math.max(point.x, maxX);\n maxY = Math.max(point.y, maxY);\n }\n\n return new Point(maxX, maxY);\n };\n\n Point.minPoint = function minPoint () {\n return new Point(MIN_NUM, MIN_NUM);\n };\n\n Point.maxPoint = function maxPoint () {\n return new Point(MAX_NUM, MAX_NUM);\n };\n\n staticAccessors.ZERO.get = function () {\n return new Point(0, 0);\n };\n\n Object.defineProperties( Point, staticAccessors );\n\n return Point;\n}(withAccessors(HasObservers, [ \"x\", \"y\" ])));\n\nexport default Point;\n","import HasObservers from '../core/has-observers';\nimport Point from './point';\nimport Size from './size';\n\nvar Rect = (function (HasObservers) {\n function Rect(origin, size, cornerRadius) {\n if ( origin === void 0 ) origin = new Point();\n if ( size === void 0 ) size = new Size();\n if ( cornerRadius === void 0 ) cornerRadius = 0;\n\n HasObservers.call(this);\n\n this.setOrigin(origin);\n this.setSize(size);\n this.setCornerRadius(cornerRadius);\n }\n\n if ( HasObservers ) Rect.__proto__ = HasObservers;\n Rect.prototype = Object.create( HasObservers && HasObservers.prototype );\n Rect.prototype.constructor = Rect;\n\n Rect.prototype.clone = function clone () {\n return new Rect(\n this.origin.clone(),\n this.size.clone()\n );\n };\n\n Rect.prototype.equals = function equals (other) {\n return other &&\n other.origin.equals(this.origin) &&\n other.size.equals(this.size);\n };\n\n Rect.prototype.setOrigin = function setOrigin (value) {\n this._observerField(\"origin\", Point.create(value));\n this.geometryChange();\n return this;\n };\n\n Rect.prototype.getOrigin = function getOrigin () {\n return this.origin;\n };\n\n Rect.prototype.setCornerRadius = function setCornerRadius (radius) {\n this.cornerRadius = Array.isArray(radius) ? radius : [ radius, radius ];\n\n this.geometryChange();\n return this;\n };\n\n Rect.prototype.getCornerRadius = function getCornerRadius () {\n return this.cornerRadius;\n };\n\n Rect.prototype.setSize = function setSize (value) {\n this._observerField(\"size\", Size.create(value));\n this.geometryChange();\n return this;\n };\n\n Rect.prototype.getSize = function getSize () {\n return this.size;\n };\n\n Rect.prototype.width = function width () {\n return this.size.width;\n };\n\n Rect.prototype.height = function height () {\n return this.size.height;\n };\n\n Rect.prototype.topLeft = function topLeft () {\n return this.origin.clone();\n };\n\n Rect.prototype.bottomRight = function bottomRight () {\n return this.origin.clone().translate(this.width(), this.height());\n };\n\n Rect.prototype.topRight = function topRight () {\n return this.origin.clone().translate(this.width(), 0);\n };\n\n Rect.prototype.bottomLeft = function bottomLeft () {\n return this.origin.clone().translate(0, this.height());\n };\n\n Rect.prototype.center = function center () {\n return this.origin.clone().translate(this.width() / 2, this.height() / 2);\n };\n\n Rect.prototype.bbox = function bbox (matrix) {\n var tl = this.topLeft().transformCopy(matrix);\n var tr = this.topRight().transformCopy(matrix);\n var br = this.bottomRight().transformCopy(matrix);\n var bl = this.bottomLeft().transformCopy(matrix);\n\n return Rect.fromPoints(tl, tr, br, bl);\n };\n\n Rect.prototype.transformCopy = function transformCopy (m) {\n return Rect.fromPoints(\n this.topLeft().transform(m),\n this.bottomRight().transform(m)\n );\n };\n\n Rect.prototype.expand = function expand (x, y) {\n if ( y === void 0 ) y = x;\n\n\n this.size.width += 2 * x;\n this.size.height += 2 * y;\n\n this.origin.translate(-x, -y);\n\n return this;\n };\n\n Rect.prototype.expandCopy = function expandCopy (x, y) {\n return this.clone().expand(x, y);\n };\n\n Rect.prototype.containsPoint = function containsPoint (point) {\n var origin = this.origin;\n var bottomRight = this.bottomRight();\n return !(point.x < origin.x || point.y < origin.y || bottomRight.x < point.x || bottomRight.y < point.y);\n };\n\n Rect.prototype._isOnPath = function _isOnPath (point, width) {\n var rectOuter = this.expandCopy(width, width);\n var rectInner = this.expandCopy(-width, -width);\n\n return rectOuter.containsPoint(point) && !rectInner.containsPoint(point);\n };\n\n Rect.fromPoints = function fromPoints () {\n var topLeft = Point.min.apply(null, arguments);\n var bottomRight = Point.max.apply(null, arguments);\n var size = new Size(\n bottomRight.x - topLeft.x,\n bottomRight.y - topLeft.y\n );\n\n return new Rect(topLeft, size);\n };\n\n Rect.union = function union (a, b) {\n return Rect.fromPoints(\n Point.min(a.topLeft(), b.topLeft()),\n Point.max(a.bottomRight(), b.bottomRight())\n );\n };\n\n Rect.intersect = function intersect (a, b) {\n var rect1 = {\n left: a.topLeft().x,\n top: a.topLeft().y,\n right: a.bottomRight().x,\n bottom: a.bottomRight().y\n };\n\n var rect2 = {\n left: b.topLeft().x,\n top: b.topLeft().y,\n right: b.bottomRight().x,\n bottom: b.bottomRight().y\n };\n\n if (rect1.left <= rect2.right &&\n rect2.left <= rect1.right &&\n rect1.top <= rect2.bottom &&\n rect2.top <= rect1.bottom) {\n return Rect.fromPoints(\n new Point(Math.max(rect1.left, rect2.left), Math.max(rect1.top, rect2.top)),\n new Point(Math.min(rect1.right, rect2.right), Math.min(rect1.bottom, rect2.bottom))\n );\n }\n };\n\n return Rect;\n}(HasObservers));\n\nexport default Rect;\n","import { deg } from '../../util';\nimport transform from '../transform';\n\nexport default function isOutOfEndPoint(endPoint, controlPoint, point) {\n var angle = deg(Math.atan2(controlPoint.y - endPoint.y, controlPoint.x - endPoint.x));\n var rotatedPoint = point.transformCopy(transform().rotate(-angle, endPoint));\n\n return rotatedPoint.x < endPoint.x;\n}","export default function calculateCurveAt(t, field, points) {\n var t1 = 1 - t;\n return Math.pow(t1, 3) * points[0][field] +\n 3 * Math.pow(t1, 2) * t * points[1][field] +\n 3 * Math.pow(t, 2) * t1 * points[2][field] +\n Math.pow(t, 3) * points[3][field];\n}","export default function toCubicPolynomial(points, field) {\n return [ -points[0][field] + 3 * points[1][field] - 3 * points[2][field] + points[3][field],\n 3 * (points[0][field] - 2 * points[1][field] + points[2][field]),\n 3 * (-points[0][field] + points[1][field]),\n points[0][field]\n ];\n}","import { PRECISION } from '../constants';\nimport { Class } from '../../common';\nimport { round } from '../../util';\n\nvar ComplexNumber = (function (Class) {\n function ComplexNumber(real, img) {\n if ( real === void 0 ) real = 0;\n if ( img === void 0 ) img = 0;\n\n Class.call(this);\n\n this.real = real;\n this.img = img;\n }\n\n if ( Class ) ComplexNumber.__proto__ = Class;\n ComplexNumber.prototype = Object.create( Class && Class.prototype );\n ComplexNumber.prototype.constructor = ComplexNumber;\n\n ComplexNumber.prototype.add = function add (cNumber) {\n return new ComplexNumber(round(this.real + cNumber.real, PRECISION), round(this.img + cNumber.img, PRECISION));\n };\n\n ComplexNumber.prototype.addConstant = function addConstant (value) {\n return new ComplexNumber(this.real + value, this.img);\n };\n\n ComplexNumber.prototype.negate = function negate () {\n return new ComplexNumber(-this.real, -this.img);\n };\n\n ComplexNumber.prototype.multiply = function multiply (cNumber) {\n return new ComplexNumber(this.real * cNumber.real - this.img * cNumber.img,\n this.real * cNumber.img + this.img * cNumber.real);\n };\n\n ComplexNumber.prototype.multiplyConstant = function multiplyConstant (value) {\n return new ComplexNumber(this.real * value, this.img * value);\n };\n\n ComplexNumber.prototype.nthRoot = function nthRoot (n) {\n var rad = Math.atan2(this.img, this.real);\n var r = Math.sqrt(Math.pow(this.img, 2) + Math.pow(this.real, 2));\n var nthR = Math.pow(r, 1 / n);\n\n return new ComplexNumber(nthR * Math.cos(rad / n), nthR * Math.sin(rad / n)); //Moivre's formula\n };\n\n ComplexNumber.prototype.equals = function equals (cNumber) {\n return this.real === cNumber.real && this.img === cNumber.img;\n };\n\n ComplexNumber.prototype.isReal = function isReal () {\n return this.img === 0;\n };\n\n return ComplexNumber;\n}(Class));\n\nexport default ComplexNumber;","import ComplexNumber from './complex-number';\nimport { PRECISION } from '../constants';\nimport { round } from '../../util';\n\nfunction numberSign(x) {\n return x < 0 ? -1 : 1;\n}\n\nfunction solveQuadraticEquation(a, b, c) {\n var squareRoot = Math.sqrt(Math.pow(b, 2) - 4 * a * c);\n return [\n (-b + squareRoot) / (2 * a),\n (-b - squareRoot) / (2 * a)\n ];\n}\n\n//Cardano's formula\nexport default function solveCubicEquation(a, b, c, d) {\n if (a === 0) {\n return solveQuadraticEquation(b, c, d);\n }\n\n var p = (3 * a * c - Math.pow(b, 2)) / (3 * Math.pow(a, 2));\n var q = (2 * Math.pow(b, 3) - 9 * a * b * c + 27 * Math.pow(a, 2) * d) / (27 * Math.pow(a, 3));\n var Q = Math.pow(p / 3, 3) + Math.pow(q / 2, 2);\n var i = new ComplexNumber(0,1);\n var b3a = -b / (3 * a);\n var x1, x2, y1, y2, y3, z1, z2;\n\n if (Q < 0) {\n x1 = new ComplexNumber(-q / 2, Math.sqrt(-Q)).nthRoot(3);\n x2 = new ComplexNumber(-q / 2, - Math.sqrt(-Q)).nthRoot(3);\n } else {\n x1 = -q / 2 + Math.sqrt(Q);\n x1 = new ComplexNumber(numberSign(x1) * Math.pow(Math.abs(x1), 1 / 3));\n x2 = -q / 2 - Math.sqrt(Q);\n x2 = new ComplexNumber(numberSign(x2) * Math.pow(Math.abs(x2), 1 / 3));\n }\n\n y1 = x1.add(x2);\n\n z1 = x1.add(x2).multiplyConstant(-1 / 2);\n z2 = x1.add(x2.negate()).multiplyConstant(Math.sqrt(3) / 2);\n\n y2 = z1.add(i.multiply(z2));\n y3 = z1.add(i.negate().multiply(z2));\n\n var result = [];\n\n if (y1.isReal()) {\n result.push(round(y1.real + b3a, PRECISION));\n }\n if (y2.isReal()) {\n result.push(round(y2.real + b3a, PRECISION));\n }\n if (y3.isReal()) {\n result.push(round(y3.real + b3a, PRECISION));\n }\n\n return result;\n}","import toCubicPolynomial from './to-cubic-polynomial';\nimport solveCubicEquation from './solve-cubic-equation';\nimport calculateCurveAt from './calculate-curve-at';\n\nexport default function hasRootsInRange(points, point, field, rootField, range) {\n var polynomial = toCubicPolynomial(points, rootField);\n var roots = solveCubicEquation(polynomial[0], polynomial[1], polynomial[2], polynomial[3] - point[rootField]);\n var intersection;\n\n for (var idx = 0; idx < roots.length; idx++) {\n if (0 <= roots[idx] && roots[idx] <= 1) {\n intersection = calculateCurveAt(roots[idx], field, points);\n if (Math.abs(intersection - point[field]) <= range) {\n return true;\n }\n }\n }\n}","import toCubicPolynomial from './to-cubic-polynomial';\nimport solveCubicEquation from './solve-cubic-equation';\nimport calculateCurveAt from './calculate-curve-at';\nimport close from './close';\n\nexport default function curveIntersectionsCount(points, point, bbox) {\n var polynomial = toCubicPolynomial(points, \"x\");\n var roots = solveCubicEquation(polynomial[0], polynomial[1], polynomial[2], polynomial[3] - point.x);\n var rayIntersection, intersectsRay;\n var count = 0;\n for (var i = 0; i < roots.length; i++) {\n rayIntersection = calculateCurveAt(roots[i], \"y\", points);\n intersectsRay = close(rayIntersection, point.y) || rayIntersection > point.y;\n if (intersectsRay && (((roots[i] === 0 || roots[i] === 1) && bbox.bottomRight().x > point.x) || (0 < roots[i] && roots[i] < 1))) {\n count++;\n }\n }\n\n return count;\n}","import HasObservers from '../core/has-observers';\nimport Rect from './rect';\nimport Point from './point';\nimport transform from './transform';\nimport { deg, MIN_NUM, MAX_NUM } from '../util';\nimport isOutOfEndPoint from './math/is-out-of-end-point';\nimport calculateCurveAt from './math/calculate-curve-at';\nimport hasRootsInRange from './math/has-roots-in-range';\nimport curveIntersectionsCount from './math/curve-intersections-count';\nimport lineIntersectionsCount from './math/line-intersections-count';\nimport withPoints from '../mixins/with-points';\n\n\nvar points = [ \"anchor\", \"controlIn\", \"controlOut\" ];\n\nvar Segment = (function (superclass) {\n function Segment(anchor, controlIn, controlOut) {\n superclass.call(this);\n\n this.anchor(anchor || new Point());\n this.controlIn(controlIn);\n this.controlOut(controlOut);\n }\n\n if ( superclass ) Segment.__proto__ = superclass;\n Segment.prototype = Object.create( superclass && superclass.prototype );\n Segment.prototype.constructor = Segment;\n\n Segment.prototype.bboxTo = function bboxTo (toSegment, matrix) {\n var segmentAnchor = this.anchor().transformCopy(matrix);\n var toSegmentAnchor = toSegment.anchor().transformCopy(matrix);\n var rect;\n\n if (this.controlOut() && toSegment.controlIn()) {\n rect = this._curveBoundingBox(\n segmentAnchor, this.controlOut().transformCopy(matrix),\n toSegment.controlIn().transformCopy(matrix), toSegmentAnchor\n );\n } else {\n rect = this._lineBoundingBox(segmentAnchor, toSegmentAnchor);\n }\n\n return rect;\n };\n\n Segment.prototype._lineBoundingBox = function _lineBoundingBox (p1, p2) {\n return Rect.fromPoints(p1, p2);\n };\n\n Segment.prototype._curveBoundingBox = function _curveBoundingBox (p1, cp1, cp2, p2) {\n var points = [ p1, cp1, cp2, p2 ];\n var extremesX = this._curveExtremesFor(points, \"x\");\n var extremesY = this._curveExtremesFor(points, \"y\");\n var xLimits = arrayLimits([ extremesX.min, extremesX.max, p1.x, p2.x ]);\n var yLimits = arrayLimits([ extremesY.min, extremesY.max, p1.y, p2.y ]);\n\n return Rect.fromPoints(new Point(xLimits.min, yLimits.min), new Point(xLimits.max, yLimits.max));\n };\n\n Segment.prototype._curveExtremesFor = function _curveExtremesFor (points, field) {\n var extremes = this._curveExtremes(\n points[0][field], points[1][field],\n points[2][field], points[3][field]\n );\n\n return {\n min: calculateCurveAt(extremes.min, field, points),\n max: calculateCurveAt(extremes.max, field, points)\n };\n };\n\n Segment.prototype._curveExtremes = function _curveExtremes (x1, x2, x3, x4) {\n var a = x1 - 3 * x2 + 3 * x3 - x4;\n var b = - 2 * (x1 - 2 * x2 + x3);\n var c = x1 - x2;\n var sqrt = Math.sqrt(b * b - 4 * a * c);\n var t1 = 0;\n var t2 = 1;\n\n if (a === 0) {\n if (b !== 0) {\n t1 = t2 = -c / b;\n }\n } else if (!isNaN(sqrt)) {\n t1 = (- b + sqrt) / (2 * a);\n t2 = (- b - sqrt) / (2 * a);\n }\n\n var min = Math.max(Math.min(t1, t2), 0);\n if (min < 0 || min > 1) {\n min = 0;\n }\n\n var max = Math.min(Math.max(t1, t2), 1);\n if (max > 1 || max < 0) {\n max = 1;\n }\n\n return {\n min: min,\n max: max\n };\n };\n\n Segment.prototype._intersectionsTo = function _intersectionsTo (segment, point) {\n var intersectionsCount;\n if (this.controlOut() && segment.controlIn()) {\n intersectionsCount = curveIntersectionsCount([ this.anchor(), this.controlOut(), segment.controlIn(), segment.anchor() ], point, this.bboxTo(segment));\n } else {\n intersectionsCount = lineIntersectionsCount(this.anchor(), segment.anchor(), point);\n }\n return intersectionsCount;\n };\n\n Segment.prototype._isOnCurveTo = function _isOnCurveTo (segment, point, width, endSegment) {\n var bbox = this.bboxTo(segment).expand(width, width);\n if (bbox.containsPoint(point)) {\n var p1 = this.anchor();\n var p2 = this.controlOut();\n var p3 = segment.controlIn();\n var p4 = segment.anchor();\n\n if (endSegment === \"start\" && p1.distanceTo(point) <= width) {\n return !isOutOfEndPoint(p1, p2, point);\n } else if (endSegment === \"end\" && p4.distanceTo(point) <= width) {\n return !isOutOfEndPoint(p4, p3, point);\n }\n\n //the approach is not entirely correct but is close and the alternatives are solving a 6th degree polynomial or testing the segment points\n var points = [ p1, p2, p3, p4 ];\n if (hasRootsInRange(points, point, \"x\", \"y\", width) || hasRootsInRange(points, point, \"y\", \"x\", width)) {\n return true;\n }\n var rotation = transform().rotate(45, point);\n var rotatedPoints = [ p1.transformCopy(rotation), p2.transformCopy(rotation), p3.transformCopy(rotation), p4.transformCopy(rotation) ];\n return hasRootsInRange(rotatedPoints, point, \"x\", \"y\", width) || hasRootsInRange(rotatedPoints, point, \"y\", \"x\", width);\n }\n };\n\n Segment.prototype._isOnLineTo = function _isOnLineTo (segment, point, width) {\n var p1 = this.anchor();\n var p2 = segment.anchor();\n var angle = deg(Math.atan2(p2.y - p1.y, p2.x - p1.x));\n var rect = new Rect([ p1.x, p1.y - width / 2 ], [ p1.distanceTo(p2), width ]);\n return rect.containsPoint(point.transformCopy(transform().rotate(-angle, p1)));\n };\n\n Segment.prototype._isOnPathTo = function _isOnPathTo (segment, point, width, endSegment) {\n var isOnPath;\n if (this.controlOut() && segment.controlIn()) {\n isOnPath = this._isOnCurveTo(segment, point, width / 2, endSegment);\n } else {\n isOnPath = this._isOnLineTo(segment, point, width);\n }\n return isOnPath;\n };\n\n return Segment;\n}(withPoints(HasObservers, points)));\n\nfunction arrayLimits(arr) {\n var length = arr.length;\n var min = MAX_NUM;\n var max = MIN_NUM;\n\n for (var i = 0; i < length; i ++) {\n max = Math.max(max, arr[i]);\n min = Math.min(min, arr[i]);\n }\n\n return {\n min: min,\n max: max\n };\n}\n\nexport default Segment;\n","import HasObservers from '../core/has-observers';\nimport withAccessors from '../mixins/with-accessors';\nimport { defined, round } from '../util';\n\n\nvar Size = (function (superclass) {\n function Size(width, height) {\n superclass.call(this);\n\n this.width = width || 0;\n this.height = height || 0;\n }\n\n if ( superclass ) Size.__proto__ = superclass;\n Size.prototype = Object.create( superclass && superclass.prototype );\n Size.prototype.constructor = Size;\n\n var staticAccessors = { ZERO: { configurable: true } };\n\n Size.prototype.equals = function equals (other) {\n return other && other.width === this.width && other.height === this.height;\n };\n\n Size.prototype.clone = function clone () {\n return new Size(this.width, this.height);\n };\n\n Size.prototype.toArray = function toArray (digits) {\n var doRound = defined(digits);\n var width = doRound ? round(this.width, digits) : this.width;\n var height = doRound ? round(this.height, digits) : this.height;\n\n return [ width, height ];\n };\n\n Size.create = function create (arg0, arg1) {\n if (defined(arg0)) {\n if (arg0 instanceof Size) {\n return arg0;\n } else if (arguments.length === 1 && arg0.length === 2) {\n return new Size(arg0[0], arg0[1]);\n }\n\n return new Size(arg0, arg1);\n }\n };\n\n staticAccessors.ZERO.get = function () {\n return new Size(0, 0);\n };\n\n Object.defineProperties( Size, staticAccessors );\n\n return Size;\n}(withAccessors(HasObservers, [ \"width\", \"height\" ])));\n\nexport default Size;\n","export default function toMatrix(transformation) {\n if (transformation && typeof transformation.matrix === \"function\") {\n return transformation.matrix();\n }\n\n return transformation;\n}","import HasObservers from '../core/has-observers';\nimport toMatrix from './to-matrix';\nimport Matrix from './matrix';\nimport Point from './point';\n\nvar Transformation = (function (HasObservers) {\n function Transformation(matrix) {\n if ( matrix === void 0 ) matrix = Matrix.unit();\n\n HasObservers.call(this);\n\n this._matrix = matrix;\n }\n\n if ( HasObservers ) Transformation.__proto__ = HasObservers;\n Transformation.prototype = Object.create( HasObservers && HasObservers.prototype );\n Transformation.prototype.constructor = Transformation;\n\n Transformation.prototype.clone = function clone () {\n return new Transformation(\n this._matrix.clone()\n );\n };\n\n Transformation.prototype.equals = function equals (other) {\n return other &&\n other._matrix.equals(this._matrix);\n };\n\n Transformation.prototype.translate = function translate (x, y) {\n this._matrix = this._matrix.multiplyCopy(Matrix.translate(x, y));\n\n this._optionsChange();\n return this;\n };\n\n Transformation.prototype.scale = function scale (scaleX, scaleY, origin) {\n if ( scaleY === void 0 ) scaleY = scaleX;\n if ( origin === void 0 ) origin = null;\n\n var originPoint = origin;\n\n if (originPoint) {\n originPoint = Point.create(originPoint);\n this._matrix = this._matrix.multiplyCopy(Matrix.translate(originPoint.x, originPoint.y));\n }\n\n this._matrix = this._matrix.multiplyCopy(Matrix.scale(scaleX, scaleY));\n\n if (originPoint) {\n this._matrix = this._matrix.multiplyCopy(Matrix.translate(-originPoint.x, -originPoint.y));\n }\n\n this._optionsChange();\n return this;\n };\n\n Transformation.prototype.rotate = function rotate (angle, origin) {\n var originPoint = Point.create(origin) || Point.ZERO;\n\n this._matrix = this._matrix.multiplyCopy(Matrix.rotate(angle, originPoint.x, originPoint.y));\n\n this._optionsChange();\n return this;\n };\n\n Transformation.prototype.multiply = function multiply (transformation) {\n var matrix = toMatrix(transformation);\n\n this._matrix = this._matrix.multiplyCopy(matrix);\n\n this._optionsChange();\n return this;\n };\n\n Transformation.prototype.matrix = function matrix (value) {\n if (value) {\n this._matrix = value;\n this._optionsChange();\n return this;\n }\n\n return this._matrix;\n };\n\n Transformation.prototype._optionsChange = function _optionsChange () {\n this.optionsChange({\n field: \"transform\",\n value: this\n });\n };\n\n return Transformation;\n}(HasObservers));\n\nexport default Transformation;\n","import Transformation from './transformation';\n\nexport default function transform(matrix) {\n if (matrix === null) {\n return null;\n }\n\n if (matrix instanceof Transformation) {\n return matrix;\n }\n\n return new Transformation(matrix);\n}","import ElementsArray from '../shapes/elements-array';\n\nvar StopsArray = (function (ElementsArray) {\n function StopsArray () {\n ElementsArray.apply(this, arguments);\n }\n\n if ( ElementsArray ) StopsArray.__proto__ = ElementsArray;\n StopsArray.prototype = Object.create( ElementsArray && ElementsArray.prototype );\n StopsArray.prototype.constructor = StopsArray;\n\n StopsArray.prototype._change = function _change () {\n this.optionsChange({\n field: \"stops\"\n });\n };\n\n return StopsArray;\n}(ElementsArray));\n\nexport default StopsArray;","import { defined } from '../util';\n\nfunction optionsAccessor(name) {\n return function(value) {\n if (defined(value)) {\n this.options.set(name, value);\n return this;\n }\n\n return this.options.get(name);\n };\n}\n\nfunction defineOptionsAccessors(fn, names) {\n for (var i = 0; i < names.length; i++) {\n fn[names[i]] = optionsAccessor(names[i]);\n }\n}\n\nvar withOptions = function (TBase, names) {\n var result = (function (TBase) {\n function result () {\n TBase.apply(this, arguments);\n }if ( TBase ) result.__proto__ = TBase;\n result.prototype = Object.create( TBase && TBase.prototype );\n result.prototype.constructor = result;\n\n \n\n return result;\n }(TBase));\n defineOptionsAccessors(result.prototype, names);\n\n return result;\n};\n\nexport default withOptions;\n","import OptionsStore from '../core/options-store';\nimport withOptions from '../mixins/with-options';\nimport HasObservers from '../core/has-observers';\nimport { defined } from '../util';\n\n\nvar options = [ \"offset\", \"color\", \"opacity\" ];\n\nvar GradientStop = (function (superclass) {\n function GradientStop(offset, color, opacity) {\n superclass.call(this);\n\n this.options = new OptionsStore({\n offset: offset,\n color: color,\n opacity: defined(opacity) ? opacity : 1\n });\n\n this.options.addObserver(this);\n }\n\n if ( superclass ) GradientStop.__proto__ = superclass;\n GradientStop.prototype = Object.create( superclass && superclass.prototype );\n GradientStop.prototype.constructor = GradientStop;\n\n GradientStop.create = function create (arg) {\n if (defined(arg)) {\n var stop;\n if (arg instanceof GradientStop) {\n stop = arg;\n } else if (arg.length > 1) {\n stop = new GradientStop(arg[0], arg[1], arg[2]);\n } else {\n stop = new GradientStop(arg.offset, arg.color, arg.opacity);\n }\n\n return stop;\n }\n };\n\n return GradientStop;\n}(withOptions(HasObservers, options)));\n\nexport default GradientStop;\n","import StopsArray from './stops-array';\nimport GradientStop from './gradient-stop';\nimport HasObservers from '../core/has-observers';\nimport { defined, definitionId } from '../util';\n\nvar Gradient = (function (HasObservers) {\n function Gradient(options) {\n if ( options === void 0 ) options = {};\n\n HasObservers.call(this);\n\n this.stops = new StopsArray(this._createStops(options.stops));\n this.stops.addObserver(this);\n this._userSpace = options.userSpace;\n this.id = definitionId();\n }\n\n if ( HasObservers ) Gradient.__proto__ = HasObservers;\n Gradient.prototype = Object.create( HasObservers && HasObservers.prototype );\n Gradient.prototype.constructor = Gradient;\n\n var prototypeAccessors = { nodeType: { configurable: true } };\n\n prototypeAccessors.nodeType.get = function () {\n return \"Gradient\";\n };\n\n Gradient.prototype.userSpace = function userSpace (value) {\n if (defined(value)) {\n this._userSpace = value;\n this.optionsChange();\n return this;\n }\n\n return this._userSpace;\n };\n\n Gradient.prototype._createStops = function _createStops (stops) {\n if ( stops === void 0 ) stops = [];\n\n var result = [];\n for (var idx = 0; idx < stops.length; idx++) {\n result.push(GradientStop.create(stops[idx]));\n }\n\n return result;\n };\n\n Gradient.prototype.addStop = function addStop (offset, color, opacity) {\n this.stops.push(new GradientStop(offset, color, opacity));\n };\n\n Gradient.prototype.removeStop = function removeStop (stop) {\n var index = this.stops.indexOf(stop);\n if (index >= 0) {\n this.stops.splice(index, 1);\n }\n };\n\n Gradient.prototype.optionsChange = function optionsChange (e) {\n this.trigger(\"optionsChange\", {\n field: \"gradient\" + (e ? \".\" + e.field : \"\"),\n value: this\n });\n };\n\n Gradient.prototype.geometryChange = function geometryChange () {\n this.optionsChange();\n };\n\n Object.defineProperties( Gradient.prototype, prototypeAccessors );\n\n return Gradient;\n}(HasObservers));\n\nexport default Gradient;\n","import withPoints from '../mixins/with-points';\nimport Point from '../geometry/point';\nimport Gradient from './gradient';\n\n\nvar points = [ \"start\", \"end\" ];\n\nvar LinearGradient = (function (superclass) {\n function LinearGradient(options) {\n if ( options === void 0 ) options = {};\n\n superclass.call(this, options);\n\n this.start(options.start || new Point());\n this.end(options.end || new Point(1, 0));\n }\n\n if ( superclass ) LinearGradient.__proto__ = superclass;\n LinearGradient.prototype = Object.create( superclass && superclass.prototype );\n LinearGradient.prototype.constructor = LinearGradient;\n\n return LinearGradient;\n}(withPoints(Gradient, points)));\n\nexport default LinearGradient;\n","import withPoints from '../mixins/with-points';\nimport Point from '../geometry/point';\nimport Gradient from './gradient';\nimport { defined } from '../util';\n\n\nvar RadialGradient = (function (superclass) {\n function RadialGradient(options) {\n if ( options === void 0 ) options = {};\n\n superclass.call(this, options);\n\n this.center(options.center || new Point());\n this._radius = defined(options.radius) ? options.radius : 1;\n this._fallbackFill = options.fallbackFill;\n }\n\n if ( superclass ) RadialGradient.__proto__ = superclass;\n RadialGradient.prototype = Object.create( superclass && superclass.prototype );\n RadialGradient.prototype.constructor = RadialGradient;\n\n RadialGradient.prototype.radius = function radius (value) {\n if (defined(value)) {\n this._radius = value;\n this.geometryChange();\n return this;\n }\n\n return this._radius;\n };\n\n RadialGradient.prototype.fallbackFill = function fallbackFill (value) {\n if (defined(value)) {\n this._fallbackFill = value;\n this.optionsChange();\n return this;\n }\n\n return this._fallbackFill;\n };\n\n return RadialGradient;\n}(withPoints(Gradient, [ \"center\" ])));\n\nexport default RadialGradient;\n","import Matrix from '../geometry/matrix';\nimport toMatrix from '../geometry/to-matrix';\n\nvar IDENTITY_MATRIX_HASH = Matrix.IDENTITY.toString();\n\nvar measurable = function (TBase) { return (\n (function (TBase) {\n function anonymous () {\n TBase.apply(this, arguments);\n }\n\n if ( TBase ) anonymous.__proto__ = TBase;\n anonymous.prototype = Object.create( TBase && TBase.prototype );\n anonymous.prototype.constructor = anonymous;\n\n anonymous.prototype.bbox = function bbox (transformation) {\n var combinedMatrix = toMatrix(this.currentTransform(transformation));\n var matrixHash = combinedMatrix ? combinedMatrix.toString() : IDENTITY_MATRIX_HASH;\n var bbox;\n\n if (this._bboxCache && this._matrixHash === matrixHash) {\n bbox = this._bboxCache.clone();\n } else {\n bbox = this._bbox(combinedMatrix);\n this._bboxCache = bbox ? bbox.clone() : null;\n this._matrixHash = matrixHash;\n }\n\n var strokeWidth = this.options.get(\"stroke.width\");\n if (strokeWidth && bbox) {\n bbox.expand(strokeWidth / 2);\n }\n\n return bbox;\n };\n\n anonymous.prototype.geometryChange = function geometryChange () {\n delete this._bboxCache;\n this.trigger(\"geometryChange\", {\n element: this\n });\n };\n\n return anonymous;\n }(TBase))\n); };\n\nexport default measurable;","import { defined } from '../util';\n\nvar GRADIENT = \"Gradient\";\n\nvar paintable = function (TBase) { return (\n (function (TBase) {\n function anonymous () {\n TBase.apply(this, arguments);\n }\n\n if ( TBase ) anonymous.__proto__ = TBase;\n anonymous.prototype = Object.create( TBase && TBase.prototype );\n anonymous.prototype.constructor = anonymous;\n\n anonymous.prototype.fill = function fill (color, opacity) {\n var options = this.options;\n\n if (defined(color)) {\n if (color && color.nodeType !== GRADIENT) {\n var newFill = {\n color: color\n };\n if (defined(opacity)) {\n newFill.opacity = opacity;\n }\n options.set(\"fill\", newFill);\n } else {\n options.set(\"fill\", color);\n }\n\n return this;\n }\n\n return options.get(\"fill\");\n };\n\n anonymous.prototype.stroke = function stroke (color, width, opacity) {\n if (defined(color)) {\n this.options.set(\"stroke.color\", color);\n\n if (defined(width)) {\n this.options.set(\"stroke.width\", width);\n }\n\n if (defined(opacity)) {\n this.options.set(\"stroke.opacity\", opacity);\n }\n\n return this;\n }\n\n return this.options.get(\"stroke\");\n };\n\n return anonymous;\n }(TBase))\n); };\n\nexport default paintable;\n","var traversable = function (TBase, childrenField) { return (\n (function (TBase) {\n function anonymous () {\n TBase.apply(this, arguments);\n }\n\n if ( TBase ) anonymous.__proto__ = TBase;\n anonymous.prototype = Object.create( TBase && TBase.prototype );\n anonymous.prototype.constructor = anonymous;\n\n anonymous.prototype.traverse = function traverse (callback) {\n var children = this[childrenField];\n\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n\n if (child.traverse) {\n child.traverse(callback);\n } else {\n callback(child);\n }\n }\n\n return this;\n };\n\n return anonymous;\n }(TBase))\n); };\n\nexport default traversable;\n","function setAccessor(field) {\n return function(value) {\n if (this[field] !== value) {\n this[field] = value;\n this.geometryChange();\n }\n\n return this;\n };\n}\n\nfunction getAccessor(field) {\n return function() {\n return this[field];\n };\n}\n\nfunction defineAccessors(fn, fields) {\n for (var i = 0; i < fields.length; i++) {\n var name = fields[i];\n var capitalized = name.charAt(0).toUpperCase() +\n name.substring(1, name.length);\n\n fn[\"set\" + capitalized] = setAccessor(name);\n fn[\"get\" + capitalized] = getAccessor(name);\n }\n}\n\nvar withAccessors = function (TBase, names) {\n var result = (function (TBase) {\n function result () {\n TBase.apply(this, arguments);\n }if ( TBase ) result.__proto__ = TBase;\n result.prototype = Object.create( TBase && TBase.prototype );\n result.prototype.constructor = result;\n\n \n\n return result;\n }(TBase));\n defineAccessors(result.prototype, names);\n\n return result;\n};\n\nexport default withAccessors;\n","import { defined } from '../util';\n\nfunction geometryAccessor(name) {\n var fieldName = \"_\" + name;\n return function(value) {\n if (defined(value)) {\n this._observerField(fieldName, value);\n this.geometryChange();\n return this;\n }\n\n return this[fieldName];\n };\n}\n\nfunction defineGeometryAccessors(fn, names) {\n for (var i = 0; i < names.length; i++) {\n fn[names[i]] = geometryAccessor(names[i]);\n }\n}\n\nvar withGeometry = function (TBase, names) {\n if ( names === void 0 ) names = [ \"geometry\" ];\n\n var result = (function (TBase) {\n function result () {\n TBase.apply(this, arguments);\n }if ( TBase ) result.__proto__ = TBase;\n result.prototype = Object.create( TBase && TBase.prototype );\n result.prototype.constructor = result;\n\n \n\n return result;\n }(TBase));\n defineGeometryAccessors(result.prototype, names);\n\n return result;\n};\n\nexport default withGeometry;\n","import { defined } from '../util';\nimport Point from '../geometry/point';\n\nfunction pointAccessor(name) {\n var fieldName = \"_\" + name;\n return function(value) {\n if (defined(value)) {\n this._observerField(fieldName, Point.create(value));\n this.geometryChange();\n return this;\n }\n\n return this[fieldName];\n };\n}\n\nfunction definePointAccessors(fn, names) {\n for (var i = 0; i < names.length; i++) {\n fn[names[i]] = pointAccessor(names[i]);\n }\n}\n\nvar withPoints = function (TBase, names) {\n var result = (function (TBase) {\n function result () {\n TBase.apply(this, arguments);\n }if ( TBase ) result.__proto__ = TBase;\n result.prototype = Object.create( TBase && TBase.prototype );\n result.prototype.constructor = result;\n\n \n\n return result;\n }(TBase));\n definePointAccessors(result.prototype, names);\n\n return result;\n};\n\nexport default withPoints;\n","import GeometryCircle from '../geometry/circle';\nimport paintable from '../mixins/paintable';\nimport measurable from '../mixins/measurable';\nimport withGeometry from '../mixins/with-geometry';\nimport Element from './element';\nimport { defined } from '../util';\n\nvar DEFAULT_STROKE = \"#000\";\n\nvar Circle = (function (superclass) {\n function Circle(geometry, options) {\n if ( geometry === void 0 ) geometry = new GeometryCircle();\n if ( options === void 0 ) options = {};\n\n superclass.call(this, options);\n\n this.geometry(geometry);\n\n if (!defined(this.options.stroke)) {\n this.stroke(DEFAULT_STROKE);\n }\n }\n\n if ( superclass ) Circle.__proto__ = superclass;\n Circle.prototype = Object.create( superclass && superclass.prototype );\n Circle.prototype.constructor = Circle;\n\n var prototypeAccessors = { nodeType: { configurable: true } };\n\n prototypeAccessors.nodeType.get = function () {\n return \"Circle\";\n };\n\n Circle.prototype.rawBBox = function rawBBox () {\n return this._geometry.bbox();\n };\n\n Circle.prototype._bbox = function _bbox (matrix) {\n return this._geometry.bbox(matrix);\n };\n\n Circle.prototype._containsPoint = function _containsPoint (point) {\n return this.geometry().containsPoint(point);\n };\n\n Circle.prototype._isOnPath = function _isOnPath (point) {\n return this.geometry()._isOnPath(point, this.options.stroke.width / 2);\n };\n\n Object.defineProperties( Circle.prototype, prototypeAccessors );\n\n return Circle;\n}(paintable(measurable(withGeometry(Element)))));\n\nexport default Circle;\n","import OptionsStore from '../core/options-store';\nimport Rect from '../geometry/rect';\nimport Matrix from '../geometry/matrix';\nimport createTransform from '../geometry/transform';\nimport toMatrix from '../geometry/to-matrix';\nimport HasObservers from '../core/has-observers';\nimport { defined, definitionId, isTransparent, valueOrDefault } from '../util';\n\nvar Element = (function (HasObservers) {\n function Element(options) {\n HasObservers.call(this);\n\n this._initOptions(options);\n }\n\n if ( HasObservers ) Element.__proto__ = HasObservers;\n Element.prototype = Object.create( HasObservers && HasObservers.prototype );\n Element.prototype.constructor = Element;\n\n var prototypeAccessors = { nodeType: { configurable: true } };\n\n prototypeAccessors.nodeType.get = function () {\n return \"Rect\";\n };\n\n Element.prototype._initOptions = function _initOptions (options) {\n if ( options === void 0 ) options = {};\n\n var clip = options.clip;\n var transform = options.transform;\n\n if (transform) {\n options.transform = createTransform(transform);\n }\n\n if (clip && !clip.id) {\n clip.id = definitionId();\n }\n\n this.options = new OptionsStore(options);\n this.options.addObserver(this);\n };\n\n Element.prototype.transform = function transform (value) {\n if (defined(value)) {\n this.options.set(\"transform\", createTransform(value));\n } else {\n return this.options.get(\"transform\");\n }\n };\n\n Element.prototype.parentTransform = function parentTransform () {\n var element = this;\n var parentMatrix;\n\n while (element.parent) {\n element = element.parent;\n var transformation = element.transform();\n if (transformation) {\n parentMatrix = transformation.matrix().multiplyCopy(parentMatrix || Matrix.unit());\n }\n }\n\n if (parentMatrix) {\n return createTransform(parentMatrix);\n }\n };\n\n Element.prototype.currentTransform = function currentTransform (parentTransform) {\n if ( parentTransform === void 0 ) parentTransform = this.parentTransform();\n\n var elementTransform = this.transform();\n var elementMatrix = toMatrix(elementTransform);\n\n var parentMatrix = toMatrix(parentTransform);\n var combinedMatrix;\n\n if (elementMatrix && parentMatrix) {\n combinedMatrix = parentMatrix.multiplyCopy(elementMatrix);\n } else {\n combinedMatrix = elementMatrix || parentMatrix;\n }\n\n if (combinedMatrix) {\n return createTransform(combinedMatrix);\n }\n };\n\n Element.prototype.visible = function visible (value) {\n if (defined(value)) {\n this.options.set(\"visible\", value);\n return this;\n }\n\n return this.options.get(\"visible\") !== false;\n };\n\n Element.prototype.clip = function clip (value) {\n var options = this.options;\n if (defined(value)) {\n if (value && !value.id) {\n value.id = definitionId();\n }\n options.set(\"clip\", value);\n return this;\n }\n\n return options.get(\"clip\");\n };\n\n Element.prototype.opacity = function opacity (value) {\n if (defined(value)) {\n this.options.set(\"opacity\", value);\n return this;\n }\n\n return valueOrDefault(this.options.get(\"opacity\"), 1);\n };\n\n Element.prototype.clippedBBox = function clippedBBox (transformation) {\n var bbox = this._clippedBBox(transformation);\n if (bbox) {\n var clip = this.clip();\n return clip ? Rect.intersect(bbox, clip.bbox(transformation)) : bbox;\n }\n };\n\n Element.prototype.containsPoint = function containsPoint (point, parentTransform) {\n if (this.visible()) {\n var transform = this.currentTransform(parentTransform);\n var transformedPoint = point;\n if (transform) {\n transformedPoint = point.transformCopy(transform.matrix().invert());\n }\n return (this._hasFill() && this._containsPoint(transformedPoint)) || (this._isOnPath && this._hasStroke() && this._isOnPath(transformedPoint));\n }\n return false;\n };\n\n Element.prototype._hasFill = function _hasFill () {\n var fill = this.options.fill;\n return fill && !isTransparent(fill.color);\n };\n\n Element.prototype._hasStroke = function _hasStroke () {\n var stroke = this.options.stroke;\n return stroke && stroke.width > 0 && !isTransparent(stroke.color);\n };\n\n Element.prototype._clippedBBox = function _clippedBBox (transformation) {\n return this.bbox(transformation);\n };\n\n Object.defineProperties( Element.prototype, prototypeAccessors );\n\n return Element;\n}(HasObservers));\n\nexport default Element;\n","import HasObservers from '../core/has-observers';\n\nvar push = [].push;\nvar pop = [].pop;\nvar splice = [].splice;\nvar shift = [].shift;\nvar slice = [].slice;\nvar unshift = [].unshift;\n\nvar ElementsArray = (function (HasObservers) {\n function ElementsArray(array) {\n if ( array === void 0 ) array = [];\n\n HasObservers.call(this);\n\n this.length = 0;\n this._splice(0, array.length, array);\n }\n\n if ( HasObservers ) ElementsArray.__proto__ = HasObservers;\n ElementsArray.prototype = Object.create( HasObservers && HasObservers.prototype );\n ElementsArray.prototype.constructor = ElementsArray;\n\n ElementsArray.prototype.elements = function elements (value) {\n if (value) {\n this._splice(0, this.length, value);\n\n this._change();\n return this;\n }\n\n return this.slice(0);\n };\n\n ElementsArray.prototype.push = function push$1 () {\n var elements = arguments;\n var result = push.apply(this, elements);\n\n this._add(elements);\n\n return result;\n };\n\n ElementsArray.prototype.slice = function slice$1 () {\n return slice.call(this);\n };\n\n ElementsArray.prototype.pop = function pop$1 () {\n var length = this.length;\n var result = pop.apply(this);\n\n if (length) {\n this._remove([ result ]);\n }\n\n return result;\n };\n\n ElementsArray.prototype.splice = function splice (index, howMany) {\n var elements = slice.call(arguments, 2);\n var result = this._splice(index, howMany, elements);\n\n this._change();\n\n return result;\n };\n\n ElementsArray.prototype.shift = function shift$1 () {\n var length = this.length;\n var result = shift.apply(this);\n\n if (length) {\n this._remove([ result ]);\n }\n\n return result;\n };\n\n ElementsArray.prototype.unshift = function unshift$1 () {\n var elements = arguments;\n var result = unshift.apply(this, elements);\n\n this._add(elements);\n\n return result;\n };\n\n ElementsArray.prototype.indexOf = function indexOf (element) {\n var this$1 = this;\n\n var length = this.length;\n\n for (var idx = 0; idx < length; idx++) {\n if (this$1[idx] === element) {\n return idx;\n }\n }\n return -1;\n };\n\n ElementsArray.prototype._splice = function _splice (index, howMany, elements) {\n var result = splice.apply(this, [ index, howMany ].concat(elements));\n\n this._clearObserver(result);\n this._setObserver(elements);\n\n return result;\n };\n\n ElementsArray.prototype._add = function _add (elements) {\n this._setObserver(elements);\n this._change();\n };\n\n ElementsArray.prototype._remove = function _remove (elements) {\n this._clearObserver(elements);\n this._change();\n };\n\n ElementsArray.prototype._setObserver = function _setObserver (elements) {\n var this$1 = this;\n\n for (var idx = 0; idx < elements.length; idx++) {\n elements[idx].addObserver(this$1);\n }\n };\n\n ElementsArray.prototype._clearObserver = function _clearObserver (elements) {\n var this$1 = this;\n\n for (var idx = 0; idx < elements.length; idx++) {\n elements[idx].removeObserver(this$1);\n }\n };\n\n ElementsArray.prototype._change = function _change () {};\n\n return ElementsArray;\n}(HasObservers));\n\nexport default ElementsArray;\n","import Element from './element';\nimport traversable from '../mixins/traversable';\nimport { append } from '../util';\nimport elementsBoundingBox from './utils/elements-bounding-box';\nimport elementsClippedBoundingBox from './utils/elements-clippend-bounding-box';\n\n\nvar Group = (function (superclass) {\n function Group(options) {\n superclass.call(this, options);\n this.children = [];\n }\n\n if ( superclass ) Group.__proto__ = superclass;\n Group.prototype = Object.create( superclass && superclass.prototype );\n Group.prototype.constructor = Group;\n\n var prototypeAccessors = { nodeType: { configurable: true } };\n\n prototypeAccessors.nodeType.get = function () {\n return \"Group\";\n };\n\n Group.prototype.childrenChange = function childrenChange (action, items, index) {\n this.trigger(\"childrenChange\",{\n action: action,\n items: items,\n index: index\n });\n };\n\n Group.prototype.append = function append$1 () {\n append(this.children, arguments);\n this._reparent(arguments, this);\n\n this.childrenChange(\"add\", arguments);\n\n return this;\n };\n\n Group.prototype.insert = function insert (index, element) {\n this.children.splice(index, 0, element);\n element.parent = this;\n\n this.childrenChange(\"add\", [ element ], index);\n\n return this;\n };\n\n Group.prototype.insertAt = function insertAt (element, index) {\n return this.insert(index, element);\n };\n\n Group.prototype.remove = function remove (element) {\n var index = this.children.indexOf(element);\n if (index >= 0) {\n this.children.splice(index, 1);\n element.parent = null;\n this.childrenChange(\"remove\", [ element ], index);\n }\n\n return this;\n };\n\n Group.prototype.removeAt = function removeAt (index) {\n if (0 <= index && index < this.children.length) {\n var element = this.children[index];\n this.children.splice(index, 1);\n element.parent = null;\n this.childrenChange(\"remove\", [ element ], index);\n }\n\n return this;\n };\n\n Group.prototype.clear = function clear () {\n var items = this.children;\n this.children = [];\n this._reparent(items, null);\n\n this.childrenChange(\"remove\", items, 0);\n\n return this;\n };\n\n Group.prototype.bbox = function bbox (transformation) {\n return elementsBoundingBox(this.children, true, this.currentTransform(transformation));\n };\n\n Group.prototype.rawBBox = function rawBBox () {\n return elementsBoundingBox(this.children, false);\n };\n\n Group.prototype._clippedBBox = function _clippedBBox (transformation) {\n return elementsClippedBoundingBox(this.children, this.currentTransform(transformation));\n };\n\n Group.prototype.currentTransform = function currentTransform (transformation) {\n return Element.prototype.currentTransform.call(this, transformation) || null;\n };\n\n Group.prototype.containsPoint = function containsPoint (point, parentTransform) {\n if (this.visible()) {\n var children = this.children;\n var transform = this.currentTransform(parentTransform);\n for (var idx = 0; idx < children.length; idx++) {\n if (children[idx].containsPoint(point, transform)) {\n return true;\n }\n }\n }\n return false;\n };\n\n Group.prototype._reparent = function _reparent (elements, newParent) {\n var this$1 = this;\n\n for (var i = 0; i < elements.length; i++) {\n var child = elements[i];\n var parent = child.parent;\n if (parent && parent !== this$1 && parent.remove) {\n parent.remove(child);\n }\n\n child.parent = newParent;\n }\n };\n\n Object.defineProperties( Group.prototype, prototypeAccessors );\n\n return Group;\n}(traversable(Element, \"children\")));\n\nexport default Group;","import withGeometry from '../mixins/with-geometry';\nimport Element from './element';\nimport Rect from '../geometry/rect';\nimport toMatrix from '../geometry/to-matrix';\nimport { defined } from '../util';\n\n\nvar Image = (function (superclass) {\n function Image(src, rect, options) {\n if ( rect === void 0 ) rect = new Rect();\n if ( options === void 0 ) options = {};\n\n superclass.call(this, options);\n\n this.src(src);\n this.rect(rect);\n }\n\n if ( superclass ) Image.__proto__ = superclass;\n Image.prototype = Object.create( superclass && superclass.prototype );\n Image.prototype.constructor = Image;\n\n var prototypeAccessors = { nodeType: { configurable: true } };\n\n prototypeAccessors.nodeType.get = function () {\n return \"Image\";\n };\n\n Image.prototype.src = function src (value) {\n if (defined(value)) {\n this.options.set(\"src\", value);\n return this;\n }\n\n return this.options.get(\"src\");\n };\n\n Image.prototype.bbox = function bbox (transformation) {\n var combinedMatrix = toMatrix(this.currentTransform(transformation));\n return this._rect.bbox(combinedMatrix);\n };\n\n Image.prototype.rawBBox = function rawBBox () {\n return this._rect.bbox();\n };\n\n Image.prototype._containsPoint = function _containsPoint (point) {\n return this._rect.containsPoint(point);\n };\n\n Image.prototype._hasFill = function _hasFill () {\n return this.src();\n };\n\n Object.defineProperties( Image.prototype, prototypeAccessors );\n\n return Image;\n}(withGeometry(Element, [ \"rect\" ])));\n\nexport default Image;","import ElementsArray from './elements-array';\n\nvar GeometryElementsArray = (function (ElementsArray) {\n function GeometryElementsArray () {\n ElementsArray.apply(this, arguments);\n }\n\n if ( ElementsArray ) GeometryElementsArray.__proto__ = ElementsArray;\n GeometryElementsArray.prototype = Object.create( ElementsArray && ElementsArray.prototype );\n GeometryElementsArray.prototype.constructor = GeometryElementsArray;\n\n GeometryElementsArray.prototype._change = function _change () {\n this.geometryChange();\n };\n\n return GeometryElementsArray;\n}(ElementsArray));\n\nexport default GeometryElementsArray;","import { Point, Segment } from '../../geometry';\nimport { last, round } from '../../util';\n\nvar WEIGHT = 0.333;\nvar EXTREMUM_ALLOWED_DEVIATION = 0.01;\nvar X = \"x\";\nvar Y = \"y\";\n\nexport function pointsToCurve(pointsIn, closed) {\n var points = pointsIn.slice(0);\n var segments = [];\n var length = points.length;\n\n if (length > 2) {\n removeDuplicates(0, points);\n length = points.length;\n }\n\n if (length < 2 || (length === 2 && points[0].equals(points[1]))) {\n return segments;\n }\n\n var p0 = points[0];\n var p1 = points[1];\n var p2 = points[2];\n\n segments.push(new Segment(p0));\n\n while (p0.equals(points[length - 1])) {\n closed = true;\n points.pop();\n length--;\n }\n\n if (length === 2) {\n var tangent = getTangent(p0,p1, X, Y);\n\n last(segments).controlOut(\n firstControlPoint(tangent, p0, p1, X, Y)\n );\n\n segments.push(new Segment(\n p1,\n secondControlPoint(tangent, p0, p1, X, Y)\n ));\n\n return segments;\n }\n\n var initialControlPoint, lastControlPoint;\n\n if (closed) {\n p0 = points[length - 1]; p1 = points[0]; p2 = points[1];\n var controlPoints = getControlPoints(p0, p1, p2);\n initialControlPoint = controlPoints[1];\n lastControlPoint = controlPoints[0];\n } else {\n var tangent$1 = getTangent(p0, p1, X,Y);\n initialControlPoint = firstControlPoint(tangent$1, p0, p1, X, Y);\n }\n\n var cp0 = initialControlPoint;\n for (var idx = 0; idx <= length - 3; idx++) {\n removeDuplicates(idx, points);\n length = points.length;\n if (idx + 3 <= length) {\n p0 = points[idx]; p1 = points[idx + 1]; p2 = points[idx + 2];\n var controlPoints$1 = getControlPoints(p0,p1,p2);\n\n last(segments).controlOut(cp0);\n cp0 = controlPoints$1[1];\n\n var cp1 = controlPoints$1[0];\n segments.push(new Segment(p1, cp1));\n }\n }\n\n if (closed) {\n p0 = points[length - 2]; p1 = points[length - 1]; p2 = points[0];\n var controlPoints$2 = getControlPoints(p0, p1, p2);\n\n last(segments).controlOut(cp0);\n segments.push(new Segment(\n p1,\n controlPoints$2[0]\n ));\n\n last(segments).controlOut(controlPoints$2[1]);\n segments.push(new Segment(\n p2,\n lastControlPoint\n ));\n } else {\n var tangent$2 = getTangent(p1, p2, X, Y);\n\n last(segments).controlOut(cp0);\n segments.push(new Segment(\n p2,\n secondControlPoint(tangent$2, p1, p2, X, Y)\n ));\n }\n\n return segments;\n}\n\nexport function pointsToClosedCurve(pointsIn) {\n return pointsToCurve(pointsIn, true);\n}\n\nexport function removeDuplicates(idx, points) {\n while (points[idx + 1] && (points[idx].equals(points[idx + 1]) || points[idx + 1].equals(points[idx + 2]))) {\n points.splice(idx + 1, 1);\n }\n}\n\nexport function invertAxis(p0, p1, p2) {\n var invertAxis = false;\n\n if (p0.x === p1.x) {\n invertAxis = true;\n } else if (p1.x === p2.x) {\n if ((p1.y < p2.y && p0.y <= p1.y) || (p2.y < p1.y && p1.y <= p0.y)) {\n invertAxis = true;\n }\n } else {\n var fn = lineFunction(p0,p1);\n var y2 = calculateFunction(fn, p2.x);\n if (!(p0.y <= p1.y && p2.y <= y2) &&\n !(p1.y <= p0.y && p2.y >= y2)) {\n invertAxis = true;\n }\n }\n\n return invertAxis;\n}\n\nexport function isLine(p0, p1, p2) {\n var fn = lineFunction(p0, p1);\n var y2 = calculateFunction(fn, p2.x);\n\n return (p0.x === p1.x && p1.x === p2.x) || round(y2, 1) === round(p2.y, 1);\n}\n\nexport function lineFunction(p1, p2) {\n var a = (p2.y - p1.y) / (p2.x - p1.x);\n var b = p1.y - a * p1.x;\n\n return [ b, a ];\n}\n\nexport function getControlPoints(p0, p1, p2) {\n var xField = X;\n var yField = Y;\n var restrict = false;\n var switchOrientation = false;\n var tangent;\n\n if (isLine(p0, p1, p2)) {\n tangent = getTangent(p0, p1, X, Y);\n } else {\n var monotonic = {\n x: isMonotonicByField(p0, p1, p2, X),\n y: isMonotonicByField(p0, p1, p2, Y)\n };\n\n if (monotonic.x && monotonic.y) {\n tangent = getTangent(p0, p2, X, Y);\n restrict = true;\n } else {\n if (invertAxis(p0, p1, p2)) {\n xField = Y;\n yField = X;\n }\n\n if (monotonic[xField]) {\n tangent = 0;\n } else {\n var sign;\n if ((p2[yField] < p0[yField] && p0[yField] <= p1[yField]) ||\n (p0[yField] < p2[yField] && p1[yField] <= p0[yField])) {\n sign = numberSign((p2[yField] - p0[yField]) * (p1[xField] - p0[xField]));\n } else {\n sign = -numberSign((p2[xField] - p0[xField]) * (p1[yField] - p0[yField]));\n }\n\n tangent = EXTREMUM_ALLOWED_DEVIATION * sign;\n switchOrientation = true;\n }\n }\n }\n\n var secondCP = secondControlPoint(tangent, p0, p1, xField, yField);\n\n if (switchOrientation) {\n var oldXField = xField;\n xField = yField;\n yField = oldXField;\n }\n\n var firstCP = firstControlPoint(tangent, p1, p2, xField, yField);\n\n if (restrict) {\n restrictControlPoint(p0, p1, secondCP, tangent);\n restrictControlPoint(p1, p2, firstCP, tangent);\n }\n\n return [ secondCP, firstCP ];\n}\n\nexport function restrictControlPoint(p1, p2, cp, tangent) {\n if (p1.y < p2.y) {\n if (p2.y < cp.y) {\n cp.x = p1.x + (p2.y - p1.y) / tangent;\n cp.y = p2.y;\n } else if (cp.y < p1.y) {\n cp.x = p2.x - (p2.y - p1.y) / tangent;\n cp.y = p1.y;\n }\n } else {\n if (cp.y < p2.y) {\n cp.x = p1.x - (p1.y - p2.y) / tangent;\n cp.y = p2.y;\n } else if (p1.y < cp.y) {\n cp.x = p2.x + (p1.y - p2.y) / tangent;\n cp.y = p1.y;\n }\n }\n}\n\nexport function getTangent(p0, p1, xField, yField) {\n var x = p1[xField] - p0[xField];\n var y = p1[yField] - p0[yField];\n var tangent;\n\n if (x === 0) {\n tangent = 0;\n } else {\n tangent = y / x;\n }\n\n return tangent;\n}\n\nexport function isMonotonicByField(p0, p1, p2, field) {\n return (p2[field] > p1[field] && p1[field] > p0[field]) ||\n (p2[field] < p1[field] && p1[field] < p0[field]);\n}\n\nexport function firstControlPoint(tangent, p0, p3, xField, yField) {\n var t1 = p0[xField];\n var t2 = p3[xField];\n var distance = (t2 - t1) * WEIGHT;\n\n return point(t1 + distance, p0[yField] + distance * tangent, xField, yField);\n}\n\nexport function secondControlPoint(tangent, p0, p3, xField, yField) {\n var t1 = p0[xField];\n var t2 = p3[xField];\n var distance = (t2 - t1) * WEIGHT;\n\n return point(t2 - distance, p3[yField] - distance * tangent, xField, yField);\n}\n\nexport function point(xValue, yValue, xField, yField) {\n var controlPoint = new Point();\n controlPoint[xField] = xValue;\n controlPoint[yField] = yValue;\n\n return controlPoint;\n}\n\nexport function calculateFunction(fn, x) {\n var length = fn.length;\n var result = 0;\n\n for (var i = 0; i < length; i++) {\n result += Math.pow(x,i) * fn[i];\n }\n return result;\n}\n\nexport function numberSign(value) {\n return value <= 0 ? -1 : 1;\n}\n","import Point from '../geometry/point';\nimport { last } from '../util';\n\nvar ShapeMap = {\n l: function(path, options) {\n var parameters = options.parameters;\n var position = options.position;\n\n for (var i = 0; i < parameters.length; i += 2) {\n var point = new Point(parameters[i], parameters[i + 1]);\n\n if (options.isRelative) {\n point.translateWith(position);\n }\n\n path.lineTo(point.x, point.y);\n\n position.x = point.x;\n position.y = point.y;\n }\n },\n\n c: function(path, options) {\n var parameters = options.parameters;\n var position = options.position;\n\n for (var i = 0; i < parameters.length; i += 6) {\n var controlOut = new Point(parameters[i], parameters[i + 1]);\n var controlIn = new Point(parameters[i + 2], parameters[i + 3]);\n var point = new Point(parameters[i + 4], parameters[i + 5]);\n if (options.isRelative) {\n controlIn.translateWith(position);\n controlOut.translateWith(position);\n point.translateWith(position);\n }\n\n path.curveTo(controlOut, controlIn, point);\n\n position.x = point.x;\n position.y = point.y;\n }\n },\n\n v: function(path, options) {\n var value = options.isRelative ? 0 : options.position.x;\n\n toLineParamaters(options.parameters, true, value);\n this.l(path, options);\n },\n\n h: function(path, options) {\n var value = options.isRelative ? 0 : options.position.y;\n\n toLineParamaters(options.parameters, false, value);\n this.l(path, options);\n },\n\n a: function(path, options) {\n var parameters = options.parameters;\n var position = options.position;\n\n for (var i = 0; i < parameters.length; i += 7) {\n var radiusX = parameters[i];\n var radiusY = parameters[i + 1];\n var rotation = parameters[i + 2];\n var largeArc = parameters[i + 3];\n var swipe = parameters[i + 4];\n var endPoint = new Point(parameters[i + 5], parameters[i + 6]);\n\n if (options.isRelative) {\n endPoint.translateWith(position);\n }\n if (position.x !== endPoint.x || position.y !== endPoint.y) {\n path.arcTo(endPoint, radiusX, radiusY, largeArc, swipe, rotation);\n\n position.x = endPoint.x;\n position.y = endPoint.y;\n }\n }\n },\n\n s: function(path, options) {\n var parameters = options.parameters;\n var position = options.position;\n var previousCommand = options.previousCommand;\n var lastControlIn;\n\n if (previousCommand === \"s\" || previousCommand === \"c\") {\n lastControlIn = last(last(path.paths).segments).controlIn();\n }\n\n for (var i = 0; i < parameters.length; i += 4) {\n var controlIn = new Point(parameters[i], parameters[i + 1]);\n var endPoint = new Point(parameters[i + 2], parameters[i + 3]);\n var controlOut = (void 0);\n\n if (options.isRelative) {\n controlIn.translateWith(position);\n endPoint.translateWith(position);\n }\n\n if (lastControlIn) {\n controlOut = reflectionPoint(lastControlIn, position);\n } else {\n controlOut = position.clone();\n }\n\n lastControlIn = controlIn;\n\n path.curveTo(controlOut, controlIn, endPoint);\n\n position.x = endPoint.x;\n position.y = endPoint.y;\n }\n },\n\n q: function(path, options) {\n var parameters = options.parameters;\n var position = options.position;\n\n for (var i = 0; i < parameters.length; i += 4) {\n var controlPoint = new Point(parameters[i], parameters[i + 1]);\n var endPoint = new Point(parameters[i + 2], parameters[i + 3]);\n\n if (options.isRelative) {\n controlPoint.translateWith(position);\n endPoint.translateWith(position);\n }\n\n var cubicControlPoints = quadraticToCubicControlPoints(position, controlPoint, endPoint);\n\n path.curveTo(cubicControlPoints.controlOut, cubicControlPoints.controlIn, endPoint);\n\n position.x = endPoint.x;\n position.y = endPoint.y;\n }\n },\n\n t: function(path, options) {\n var parameters = options.parameters;\n var position = options.position;\n var previousCommand = options.previousCommand;\n var controlPoint;\n\n if (previousCommand === \"q\" || previousCommand === \"t\") {\n var lastSegment = last(last(path.paths).segments);\n controlPoint = lastSegment.controlIn().clone()\n .translateWith(position.scaleCopy(-1 / 3))\n .scale(3 / 2);\n }\n\n for (var i = 0; i < parameters.length; i += 2) {\n var endPoint = new Point(parameters[i], parameters[i + 1]);\n if (options.isRelative) {\n endPoint.translateWith(position);\n }\n\n if (controlPoint) {\n controlPoint = reflectionPoint(controlPoint, position);\n } else {\n controlPoint = position.clone();\n }\n\n var cubicControlPoints = quadraticToCubicControlPoints(position, controlPoint, endPoint);\n\n path.curveTo(cubicControlPoints.controlOut, cubicControlPoints.controlIn, endPoint);\n\n position.x = endPoint.x;\n position.y = endPoint.y;\n }\n }\n};\n\nfunction toLineParamaters(parameters, isVertical, value) {\n var insertPosition = isVertical ? 0 : 1;\n\n for (var i = 0; i < parameters.length; i += 2) {\n parameters.splice(i + insertPosition, 0, value);\n }\n}\n\nfunction reflectionPoint(point, center) {\n if (point && center) {\n return center.scaleCopy(2).translate(-point.x, -point.y);\n }\n}\n\nvar third = 1 / 3;\n\nfunction quadraticToCubicControlPoints(position, controlPoint, endPoint) {\n var scaledPoint = controlPoint.clone().scale(2 / 3);\n return {\n controlOut: scaledPoint.clone().translateWith(position.scaleCopy(third)),\n controlIn: scaledPoint.translateWith(endPoint.scaleCopy(third))\n };\n}\n\nexport default ShapeMap;","import Point from '../geometry/point';\nimport ShapeMap from './shape-map';\n\nvar SEGMENT_REGEX = /([a-df-z]{1})([^a-df-z]*)(z)?/gi;\nvar SPLIT_REGEX = /[,\\s]?([+\\-]?(?:\\d*\\.\\d+|\\d+)(?:[eE][+\\-]?\\d+)?)/g;\nvar MOVE = \"m\";\nvar CLOSE = \"z\";\n\nfunction parseParameters(str) {\n var parameters = [];\n str.replace(SPLIT_REGEX, function(match, number) {\n parameters.push(parseFloat(number));\n });\n return parameters;\n}\n\nfunction parsePath(pathInstance, str) {\n var position = new Point();\n var previousCommand;\n\n str.replace(SEGMENT_REGEX, function (match, element, params, closePath) {\n var command = element.toLowerCase();\n var isRelative = command === element;\n var parameters = parseParameters(params.trim());\n\n if (command === MOVE) {\n if (isRelative) {\n position.x += parameters[0];\n position.y += parameters[1];\n } else {\n position.x = parameters[0];\n position.y = parameters[1];\n }\n\n pathInstance.moveTo(position.x, position.y);\n\n if (parameters.length > 2) {\n command = \"l\";\n parameters.splice(0, 2);\n }\n }\n\n if (ShapeMap[command]) {\n ShapeMap[command](\n pathInstance, {\n parameters: parameters,\n position: position,\n isRelative: isRelative,\n previousCommand: previousCommand\n }\n );\n\n if (closePath && closePath.toLowerCase() === CLOSE) {\n pathInstance.close();\n }\n } else if (command !== MOVE) {\n throw new Error(\"Error while parsing SVG path. Unsupported command: \" + command);\n }\n\n previousCommand = command;\n });\n\n return pathInstance;\n}\n\nexport default parsePath;\n\n","import GeometryElementsArray from './geometry-elements-array';\nimport Element from './element';\nimport { pointsToCurve } from './utils/points-to-curve';\nimport paintable from '../mixins/paintable';\nimport measurable from '../mixins/measurable';\nimport Arc from '../geometry/arc';\nimport Rect from '../geometry/rect';\nimport Segment from '../geometry/segment';\nimport Point from '../geometry/point';\nimport Size from '../geometry/size';\nimport lineIntersectionsCount from '../geometry/math/line-intersections-count';\nimport { defined, last, rad } from '../util';\nimport parsePath from '../parsing/parse-path';\nimport elementsBoundingBox from './utils/elements-bounding-box';\nimport elementsClippedBoundingBox from './utils/elements-clippend-bounding-box';\nimport limitValue from '../util/limit-value';\n\nvar SPACE = ' ';\nvar printPoints = function (precision) { return function () {\n var points = [], len = arguments.length;\n while ( len-- ) points[ len ] = arguments[ len ];\n\n return points.map(function (p) { return p.toString(precision); }).join(SPACE);\n; } };\nvar segmentType = function (segmentStart, segmentEnd) { return segmentStart.controlOut() && segmentEnd.controlIn() ? 'C' : 'L'; };\n\nexport var Path = (function (superclass) {\n function Path(options) {\n superclass.call(this, options);\n this.segments = new GeometryElementsArray();\n this.segments.addObserver(this);\n\n if (!defined(this.options.stroke)) {\n this.stroke('#000');\n\n if (!defined(this.options.stroke.lineJoin)) {\n this.options.set('stroke.lineJoin', 'miter');\n }\n }\n }\n\n if ( superclass ) Path.__proto__ = superclass;\n Path.prototype = Object.create( superclass && superclass.prototype );\n Path.prototype.constructor = Path;\n\n var prototypeAccessors = { nodeType: { configurable: true } };\n\n prototypeAccessors.nodeType.get = function () {\n return 'Path';\n };\n\n Path.prototype.moveTo = function moveTo (x, y) {\n this.suspend();\n this.segments.elements([]);\n this.resume();\n\n this.lineTo(x, y);\n\n return this;\n };\n\n Path.prototype.lineTo = function lineTo (x, y) {\n var point = defined(y) ? new Point(x, y) : x;\n var segment = new Segment(point);\n\n this.segments.push(segment);\n\n return this;\n };\n\n Path.prototype.curveTo = function curveTo (controlOut, controlIn, point) {\n if (this.segments.length > 0) {\n var lastSegment = last(this.segments);\n var segment = new Segment(point, controlIn);\n this.suspend();\n lastSegment.controlOut(controlOut);\n this.resume();\n\n this.segments.push(segment);\n }\n\n return this;\n };\n\n Path.prototype.arc = function arc (startAngle, endAngle, radiusX, radiusY, anticlockwise) {\n if (this.segments.length > 0) {\n var lastSegment = last(this.segments);\n var anchor = lastSegment.anchor();\n var start = rad(startAngle);\n var center = new Point(anchor.x - radiusX * Math.cos(start),\n anchor.y - radiusY * Math.sin(start));\n var arc = new Arc(center, {\n startAngle: startAngle,\n endAngle: endAngle,\n radiusX: radiusX,\n radiusY: radiusY,\n anticlockwise: anticlockwise\n });\n\n this._addArcSegments(arc);\n }\n\n return this;\n };\n\n Path.prototype.arcTo = function arcTo (end, rx, ry, largeArc, swipe, rotation) {\n if (this.segments.length > 0) {\n var lastSegment = last(this.segments);\n var anchor = lastSegment.anchor();\n var arc = Arc.fromPoints(anchor, Point.create(end), rx, ry, largeArc, swipe, rotation);\n\n this._addArcSegments(arc);\n }\n return this;\n };\n\n Path.prototype._addArcSegments = function _addArcSegments (arc) {\n var this$1 = this;\n\n this.suspend();\n\n var curvePoints = arc.curvePoints();\n\n for (var i = 1; i < curvePoints.length; i += 3) {\n this$1.curveTo(curvePoints[i], curvePoints[i + 1], curvePoints[i + 2]);\n }\n\n this.resume();\n this.geometryChange();\n };\n\n Path.prototype.close = function close () {\n this.options.closed = true;\n this.geometryChange();\n\n return this;\n };\n\n Path.prototype.rawBBox = function rawBBox () {\n return this._bbox();\n };\n\n Path.prototype.toString = function toString (digits) {\n var output = '';\n\n var segments = this.segments;\n var length = segments.length;\n if (length > 0) {\n var parts = [];\n var print = printPoints(digits);\n var currentType;\n\n for (var i = 1; i < length; i++) {\n var type = segmentType(segments[i - 1], segments[i]);\n if (type !== currentType) {\n currentType = type;\n parts.push(type);\n }\n\n if (type === 'L') {\n parts.push(print(segments[i].anchor()));\n } else {\n parts.push(print(\n segments[i - 1].controlOut(), segments[i].controlIn(), segments[i].anchor()\n ));\n }\n }\n\n output = 'M' + print(segments[0].anchor()) + SPACE + parts.join(SPACE);\n if (this.options.closed) {\n output += 'Z';\n }\n }\n\n return output;\n };\n\n Path.prototype._containsPoint = function _containsPoint (point) {\n var segments = this.segments;\n var length = segments.length;\n var intersectionsCount = 0;\n var previous, current;\n\n for (var idx = 1; idx < length; idx++) {\n previous = segments[idx - 1];\n current = segments[idx];\n intersectionsCount += previous._intersectionsTo(current, point);\n }\n\n if (this.options.closed || !segments[0].anchor().equals(segments[length - 1].anchor())) {\n intersectionsCount += lineIntersectionsCount(segments[0].anchor(), segments[length - 1].anchor(), point);\n }\n\n return intersectionsCount % 2 !== 0;\n };\n\n Path.prototype._isOnPath = function _isOnPath (point, width) {\n var segments = this.segments;\n var length = segments.length;\n var pathWidth = width || this.options.stroke.width;\n\n if (length > 1) {\n if (segments[0]._isOnPathTo(segments[1], point, pathWidth, 'start')) {\n return true;\n }\n\n for (var idx = 2; idx <= length - 2; idx++) {\n if (segments[idx - 1]._isOnPathTo(segments[idx], point, pathWidth)) {\n return true;\n }\n }\n\n if (segments[length - 2]._isOnPathTo(segments[length - 1], point, pathWidth, 'end')) {\n return true;\n }\n }\n return false;\n };\n\n Path.prototype._bbox = function _bbox (matrix) {\n var segments = this.segments;\n var length = segments.length;\n var boundingBox;\n\n if (length === 1) {\n var anchor = segments[0].anchor().transformCopy(matrix);\n boundingBox = new Rect(anchor, Size.ZERO);\n } else if (length > 0) {\n for (var i = 1; i < length; i++) {\n var segmentBox = segments[i - 1].bboxTo(segments[i], matrix);\n if (boundingBox) {\n boundingBox = Rect.union(boundingBox, segmentBox);\n } else {\n boundingBox = segmentBox;\n }\n }\n }\n\n return boundingBox;\n };\n\n Path.parse = function parse (str, options) {\n return MultiPath.parse(str, options);\n };\n\n Path.fromRect = function fromRect (rect, options) {\n var path = new Path(options);\n var ref = rect.cornerRadius;\n var rx = ref[0];\n var ry = ref[1];\n\n if (rx === 0 && ry === 0) {\n path.moveTo(rect.topLeft())\n .lineTo(rect.topRight())\n .lineTo(rect.bottomRight())\n .lineTo(rect.bottomLeft())\n .close();\n } else {\n var origin = rect.origin;\n var x = origin.x;\n var y = origin.y;\n var width = rect.width();\n var height = rect.height();\n rx = limitValue(rx, 0, width / 2);\n ry = limitValue(ry, 0, height / 2);\n\n path.moveTo(x + rx, y)\n .lineTo(x + width - rx, y)\n .arcTo([ x + width, y + ry ], rx, ry, false)\n .lineTo(x + width, y + height - ry)\n .arcTo([ x + width - rx, y + height ], rx, ry, false)\n .lineTo(x + rx, y + height)\n .arcTo([ x, y + height - ry ], rx, ry, false)\n .lineTo(x, y + ry)\n .arcTo([ x + rx, y ], rx, ry, false);\n }\n\n return path;\n };\n\n Path.fromPoints = function fromPoints (points, options) {\n if (points) {\n var path = new Path(options);\n\n for (var i = 0; i < points.length; i++) {\n var point = Point.create(points[i]);\n if (point) {\n if (i === 0) {\n path.moveTo(point);\n } else {\n path.lineTo(point);\n }\n }\n }\n\n return path;\n }\n };\n\n Path.curveFromPoints = function curveFromPoints (points, options) {\n if (points) {\n var segments = pointsToCurve(points);\n var path = new Path(options);\n path.segments.push.apply(path.segments, segments);\n\n return path;\n }\n };\n\n Path.fromArc = function fromArc (arc, options) {\n var path = new Path(options);\n var startAngle = arc.startAngle;\n var start = arc.pointAt(startAngle);\n path.moveTo(start.x, start.y);\n path.arc(startAngle, arc.endAngle, arc.radiusX, arc.radiusY, arc.anticlockwise);\n return path;\n };\n\n Object.defineProperties( Path.prototype, prototypeAccessors );\n\n return Path;\n}(paintable(measurable(Element))));\n\nexport var MultiPath = (function (superclass) {\n function MultiPath(options) {\n superclass.call(this, options);\n this.paths = new GeometryElementsArray();\n this.paths.addObserver(this);\n\n if (!defined(this.options.stroke)) {\n this.stroke('#000');\n }\n }\n\n if ( superclass ) MultiPath.__proto__ = superclass;\n MultiPath.prototype = Object.create( superclass && superclass.prototype );\n MultiPath.prototype.constructor = MultiPath;\n\n var prototypeAccessors$1 = { nodeType: { configurable: true } };\n\n MultiPath.parse = function parse (str, options) {\n var instance = new MultiPath(options);\n return parsePath(instance, str);\n };\n\n MultiPath.prototype.toString = function toString (digits) {\n var paths = this.paths;\n var output = '';\n\n if (paths.length > 0) {\n var result = [];\n\n for (var i = 0; i < paths.length; i++) {\n result.push(paths[i].toString(digits));\n }\n\n output = result.join(SPACE);\n }\n\n return output;\n };\n\n prototypeAccessors$1.nodeType.get = function () {\n return 'MultiPath';\n };\n\n MultiPath.prototype.moveTo = function moveTo (x, y) {\n var path = new Path();\n path.moveTo(x, y);\n\n this.paths.push(path);\n\n return this;\n };\n\n MultiPath.prototype.lineTo = function lineTo (x, y) {\n if (this.paths.length > 0) {\n last(this.paths).lineTo(x, y);\n }\n\n return this;\n };\n\n MultiPath.prototype.curveTo = function curveTo (controlOut, controlIn, point) {\n if (this.paths.length > 0) {\n last(this.paths).curveTo(controlOut, controlIn, point);\n }\n\n return this;\n };\n\n MultiPath.prototype.arc = function arc (startAngle, endAngle, radiusX, radiusY, anticlockwise) {\n if (this.paths.length > 0) {\n last(this.paths).arc(startAngle, endAngle, radiusX, radiusY, anticlockwise);\n }\n\n return this;\n };\n\n MultiPath.prototype.arcTo = function arcTo (end, rx, ry, largeArc, swipe, rotation) {\n if (this.paths.length > 0) {\n last(this.paths).arcTo(end, rx, ry, largeArc, swipe, rotation);\n }\n\n return this;\n };\n\n MultiPath.prototype.close = function close () {\n if (this.paths.length > 0) {\n last(this.paths).close();\n }\n\n return this;\n };\n\n MultiPath.prototype._bbox = function _bbox (matrix) {\n return elementsBoundingBox(this.paths, true, matrix);\n };\n\n MultiPath.prototype.rawBBox = function rawBBox () {\n return elementsBoundingBox(this.paths, false);\n };\n\n MultiPath.prototype._containsPoint = function _containsPoint (point) {\n var paths = this.paths;\n\n for (var idx = 0; idx < paths.length; idx++) {\n if (paths[idx]._containsPoint(point)) {\n return true;\n }\n }\n return false;\n };\n\n MultiPath.prototype._isOnPath = function _isOnPath (point) {\n var paths = this.paths;\n var width = this.options.stroke.width;\n\n for (var idx = 0; idx < paths.length; idx++) {\n if (paths[idx]._isOnPath(point, width)) {\n return true;\n }\n }\n return false;\n };\n\n MultiPath.prototype._clippedBBox = function _clippedBBox (transformation) {\n return elementsClippedBoundingBox(this.paths, this.currentTransform(transformation));\n };\n\n Object.defineProperties( MultiPath.prototype, prototypeAccessors$1 );\n\n return MultiPath;\n}(paintable(measurable(Element))));\n\n","import Element from './element';\nimport Point from '../geometry/point';\nimport Rect from '../geometry/rect';\nimport toMatrix from '../geometry/to-matrix';\nimport paintable from '../mixins/paintable';\nimport withPoints from '../mixins/with-points';\nimport { defined, measureText } from '../util';\n\n\nvar DEFAULT_FONT = \"12px sans-serif\";\nvar DEFAULT_FILL = \"#000\";\n\nvar Text = (function (superclass) {\n function Text(content, position, options) {\n if ( position === void 0 ) position = new Point();\n if ( options === void 0 ) options = {};\n\n superclass.call(this, options);\n\n this.content(content);\n this.position(position);\n\n if (!this.options.font) {\n this.options.font = DEFAULT_FONT;\n }\n\n if (!defined(this.options.fill)) {\n this.fill(DEFAULT_FILL);\n }\n }\n\n if ( superclass ) Text.__proto__ = superclass;\n Text.prototype = Object.create( superclass && superclass.prototype );\n Text.prototype.constructor = Text;\n\n var prototypeAccessors = { nodeType: { configurable: true } };\n\n prototypeAccessors.nodeType.get = function () {\n return \"Text\";\n };\n\n Text.prototype.content = function content (value) {\n if (defined(value)) {\n this.options.set(\"content\", value);\n return this;\n }\n\n return this.options.get(\"content\");\n };\n\n Text.prototype.measure = function measure () {\n var metrics = measureText(this.content(), {\n font: this.options.get(\"font\")\n });\n\n return metrics;\n };\n\n Text.prototype.rect = function rect () {\n var size = this.measure();\n var pos = this.position().clone();\n return new Rect(pos, [ size.width, size.height ]);\n };\n\n Text.prototype.bbox = function bbox (transformation) {\n var combinedMatrix = toMatrix(this.currentTransform(transformation));\n return this.rect().bbox(combinedMatrix);\n };\n\n Text.prototype.rawBBox = function rawBBox () {\n return this.rect().bbox();\n };\n\n Text.prototype._containsPoint = function _containsPoint (point) {\n return this.rect().containsPoint(point);\n };\n\n Object.defineProperties( Text.prototype, prototypeAccessors );\n\n return Text;\n}(paintable(withPoints(Element, [ \"position\" ]))));\n\nexport default Text;\n","import Rect from '../../geometry/rect';\n\nexport default function elementsBoundingBox(elements, applyTransform, transformation) {\n var boundingBox;\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n if (element.visible()) {\n var elementBoundingBox = applyTransform ? element.bbox(transformation) : element.rawBBox();\n if (elementBoundingBox) {\n if (boundingBox) {\n boundingBox = Rect.union(boundingBox, elementBoundingBox);\n } else {\n boundingBox = elementBoundingBox;\n }\n }\n }\n }\n\n return boundingBox;\n}\n\n","import Rect from '../../geometry/rect';\n\nexport default function elementsClippedBoundingBox(elements, transformation) {\n var boundingBox;\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n if (element.visible()) {\n var elementBoundingBox = element.clippedBBox(transformation);\n if (elementBoundingBox) {\n if (boundingBox) {\n boundingBox = Rect.union(boundingBox, elementBoundingBox);\n } else {\n boundingBox = elementBoundingBox;\n }\n }\n }\n }\n\n return boundingBox;\n}","import { defined } from '../../util';\n\nexport default function renderAttr(name, value) {\n return (defined(value) && value !== null) ? (\" \" + name + \"=\\\"\" + value + \"\\\" \") : \"\";\n}","import renderAttr from './render-attribute';\n\nexport default function renderAllAttr(attrs) {\n var output = \"\";\n for (var i = 0; i < attrs.length; i++) {\n output += renderAttr(attrs[i][0], attrs[i][1]);\n }\n\n return output;\n}","import { defined } from '../../util';\n\nexport default function renderStyle(attrs) {\n var output = \"\";\n for (var i = 0; i < attrs.length; i++) {\n var value = attrs[i][1];\n if (defined(value)) {\n output += attrs[i][0] + \":\" + value + \";\";\n }\n }\n\n if (output !== \"\") {\n return output;\n }\n}","var NODE_MAP = {};\n\nexport default NODE_MAP;","var SVG_NS = \"http://www.w3.org/2000/svg\";\nvar NONE = \"none\";\nvar POINT_DIGITS = 3;\n\nexport { SVG_NS, NONE, POINT_DIGITS };","import { SVG_NS } from '../constants';\n\nvar applyStyle = function (styleString, element) { return styleString.split(';').filter(function (s) { return s !== ''; }).forEach(function (s) {\n var parts = s.split(':');\n element.style[parts[0].trim()] = parts[1].trim();\n }); };\n\nvar styleAttr = 'data-style';\nvar replaceStyleAttr = function (html) { return html.replace(/\\sstyle=/g, ' ' + styleAttr + '='); };\nvar restoreStyleAttr = function (container) {\n Array.from(container.querySelectorAll('[' + styleAttr +']')).forEach(function (element) {\n var styleString = element.getAttribute(styleAttr);\n element.removeAttribute(styleAttr);\n applyStyle(styleString, element);\n });\n};\n\nvar renderSVG = function(container, svg) {\n container.innerHTML = replaceStyleAttr(svg);\n restoreStyleAttr(container);\n};\n\nif (typeof document !== \"undefined\") {\n var testFragment = \"\";\n var testContainer = document.createElement(\"div\");\n var hasParser = typeof DOMParser !== \"undefined\";\n\n testContainer.innerHTML = testFragment;\n\n if (hasParser && testContainer.firstChild.namespaceURI !== SVG_NS) {\n renderSVG = function(container, svg) {\n var parser = new DOMParser();\n var chartDoc = parser.parseFromString(replaceStyleAttr(svg), \"text/xml\");\n restoreStyleAttr(chartDoc);\n var importedDoc = document.adoptNode(chartDoc.documentElement);\n\n container.innerHTML = \"\";\n container.appendChild(importedDoc);\n };\n }\n}\n\nexport default renderSVG;\n","import BaseNode from '../core/base-node';\nimport renderAllAttr from './utils/render-all-attributes';\nimport renderAttr from './utils/render-attribute';\nimport renderStyle from './utils/render-style';\nimport NODE_MAP from './node-map';\nimport renderSVG from './utils/render-svg';\nimport { SVG_NS, NONE } from './constants';\nimport { support } from '../common';\nimport { defined } from '../util';\n\nvar TRANSFORM = \"transform\";\nvar DefinitionMap = {\n clip: \"clip-path\",\n fill: \"fill\"\n};\n\nfunction isDefinition(type, value) {\n return type === \"clip\" || (type === \"fill\" && (!value || value.nodeType === \"Gradient\"));\n}\n\nfunction baseUrl() {\n var base = document.getElementsByTagName(\"base\")[0];\n var href = document.location.href;\n var url = \"\";\n\n if (base && !(support.browser || {}).msie) {\n var hashIndex = href.indexOf(\"#\");\n if (hashIndex !== -1) {\n href = href.substring(0, hashIndex);\n }\n\n url = href;\n }\n\n return url;\n}\n\nvar Node = (function (BaseNode) {\n function Node(srcElement, options) {\n BaseNode.call(this, srcElement);\n this.definitions = {};\n\n this.options = options;\n }\n\n if ( BaseNode ) Node.__proto__ = BaseNode;\n Node.prototype = Object.create( BaseNode && BaseNode.prototype );\n Node.prototype.constructor = Node;\n\n Node.prototype.destroy = function destroy () {\n if (this.element) {\n this.element._kendoNode = null;\n this.element = null;\n }\n\n this.clearDefinitions();\n BaseNode.prototype.destroy.call(this);\n };\n\n Node.prototype.load = function load (elements, pos) {\n var this$1 = this;\n\n for (var i = 0; i < elements.length; i++) {\n var srcElement = elements[i];\n var children = srcElement.children;\n\n var childNode = new NODE_MAP[srcElement.nodeType](srcElement, this$1.options);\n\n if (defined(pos)) {\n this$1.insertAt(childNode, pos);\n } else {\n this$1.append(childNode);\n }\n\n childNode.createDefinitions();\n\n if (children && children.length > 0) {\n childNode.load(children);\n }\n\n var element = this$1.element;\n if (element) {\n childNode.attachTo(element, pos);\n }\n }\n };\n\n Node.prototype.root = function root () {\n var root = this;\n\n while (root.parent) {\n root = root.parent;\n }\n\n return root;\n };\n\n Node.prototype.attachTo = function attachTo (domElement, pos) {\n var container = document.createElement(\"div\");\n renderSVG(container,\n \"\" +\n this.render() +\n \"\"\n );\n\n var element = container.firstChild.firstChild;\n if (element) {\n if (defined(pos)) {\n domElement.insertBefore(element, domElement.childNodes[pos] || null);\n } else {\n domElement.appendChild(element);\n }\n this.setElement(element);\n }\n };\n\n Node.prototype.setElement = function setElement (element) {\n if (this.element) {\n this.element._kendoNode = null;\n }\n\n this.element = element;\n this.element._kendoNode = this;\n\n var nodes = this.childNodes;\n for (var i = 0; i < nodes.length; i++) {\n var childElement = element.childNodes[i];\n nodes[i].setElement(childElement);\n }\n };\n\n Node.prototype.clear = function clear () {\n this.clearDefinitions();\n\n if (this.element) {\n this.element.innerHTML = \"\";\n }\n\n var children = this.childNodes;\n for (var i = 0; i < children.length; i++) {\n children[i].destroy();\n }\n\n this.childNodes = [];\n };\n\n Node.prototype.removeSelf = function removeSelf () {\n if (this.element) {\n var parentNode = this.element.parentNode;\n if (parentNode) {\n parentNode.removeChild(this.element);\n }\n this.element = null;\n }\n\n BaseNode.prototype.removeSelf.call(this);\n };\n\n Node.prototype.template = function template () {\n return this.renderChildren();\n };\n\n Node.prototype.render = function render () {\n return this.template();\n };\n\n Node.prototype.renderChildren = function renderChildren () {\n var nodes = this.childNodes;\n var output = \"\";\n\n for (var i = 0; i < nodes.length; i++) {\n output += nodes[i].render();\n }\n\n return output;\n };\n\n Node.prototype.optionsChange = function optionsChange (e) {\n var field = e.field;\n var value = e.value;\n\n if (field === \"visible\") {\n this.css(\"display\", value ? \"\" : NONE);\n } else if (DefinitionMap[field] && isDefinition(field, value)) {\n this.updateDefinition(field, value);\n } else if (field === \"opacity\") {\n this.attr(\"opacity\", value);\n } else if (field === \"cursor\") {\n this.css(\"cursor\", value);\n } else if (field === \"id\") {\n if (value) {\n this.attr(\"id\", value);\n } else {\n this.removeAttr(\"id\");\n }\n }\n\n BaseNode.prototype.optionsChange.call(this, e);\n };\n\n Node.prototype.attr = function attr (name, value) {\n if (this.element) {\n this.element.setAttribute(name, value);\n }\n };\n\n Node.prototype.allAttr = function allAttr (attrs) {\n var this$1 = this;\n\n for (var i = 0; i < attrs.length; i++) {\n this$1.attr(attrs[i][0], attrs[i][1]);\n }\n };\n\n Node.prototype.css = function css (name, value) {\n if (this.element) {\n this.element.style[name] = value;\n }\n };\n\n Node.prototype.allCss = function allCss (styles) {\n var this$1 = this;\n\n for (var i = 0; i < styles.length; i++) {\n this$1.css(styles[i][0], styles[i][1]);\n }\n };\n\n Node.prototype.removeAttr = function removeAttr (name) {\n if (this.element) {\n this.element.removeAttribute(name);\n }\n };\n\n Node.prototype.mapTransform = function mapTransform (transform) {\n var attrs = [];\n if (transform) {\n attrs.push([\n TRANSFORM,\n \"matrix(\" + transform.matrix().toString(6) + \")\"\n ]);\n }\n\n return attrs;\n };\n\n Node.prototype.renderTransform = function renderTransform () {\n return renderAllAttr(\n this.mapTransform(this.srcElement.transform())\n );\n };\n\n Node.prototype.transformChange = function transformChange (value) {\n if (value) {\n this.allAttr(this.mapTransform(value));\n } else {\n this.removeAttr(TRANSFORM);\n }\n };\n\n Node.prototype.mapStyle = function mapStyle () {\n var options = this.srcElement.options;\n var style = [ [ \"cursor\", options.cursor ] ];\n\n if (options.visible === false) {\n style.push([ \"display\", NONE ]);\n }\n\n return style;\n };\n\n Node.prototype.renderStyle = function renderStyle$1 () {\n return renderAttr(\"style\", renderStyle(this.mapStyle(true)));\n };\n\n Node.prototype.renderOpacity = function renderOpacity () {\n return renderAttr(\"opacity\", this.srcElement.options.opacity);\n };\n\n Node.prototype.renderId = function renderId () {\n return renderAttr(\"id\", this.srcElement.options.id);\n };\n\n Node.prototype.createDefinitions = function createDefinitions () {\n var srcElement = this.srcElement;\n var definitions = this.definitions;\n if (srcElement) {\n var options = srcElement.options;\n var hasDefinitions;\n\n for (var field in DefinitionMap) {\n var definition = options.get(field);\n if (definition && isDefinition(field, definition)) {\n definitions[field] = definition;\n hasDefinitions = true;\n }\n }\n if (hasDefinitions) {\n this.definitionChange({\n action: \"add\",\n definitions: definitions\n });\n }\n }\n };\n\n Node.prototype.definitionChange = function definitionChange (e) {\n if (this.parent) {\n this.parent.definitionChange(e);\n }\n };\n\n Node.prototype.updateDefinition = function updateDefinition (type, value) {\n var definitions = this.definitions;\n var current = definitions[type];\n var attr = DefinitionMap[type];\n var definition = {};\n if (current) {\n definition[type] = current;\n this.definitionChange({\n action: \"remove\",\n definitions: definition\n });\n delete definitions[type];\n }\n\n if (!value) {\n if (current) {\n this.removeAttr(attr);\n }\n } else {\n definition[type] = value;\n this.definitionChange({\n action: \"add\",\n definitions: definition\n });\n definitions[type] = value;\n this.attr(attr, this.refUrl(value.id));\n }\n };\n\n Node.prototype.clearDefinitions = function clearDefinitions () {\n var definitions = this.definitions;\n\n this.definitionChange({\n action: \"remove\",\n definitions: definitions\n });\n this.definitions = {};\n };\n\n Node.prototype.renderDefinitions = function renderDefinitions () {\n return renderAllAttr(this.mapDefinitions());\n };\n\n Node.prototype.mapDefinitions = function mapDefinitions () {\n var this$1 = this;\n\n var definitions = this.definitions;\n var attrs = [];\n\n for (var field in definitions) {\n attrs.push([ DefinitionMap[field], this$1.refUrl(definitions[field].id) ]);\n }\n\n return attrs;\n };\n\n Node.prototype.refUrl = function refUrl (id) {\n var skipBaseHref = (this.options || {}).skipBaseHref;\n var baseHref = this.baseUrl().replace(/'/g, \"\\\\'\");\n var base = skipBaseHref ? '' : baseHref;\n return (\"url(\" + base + \"#\" + id + \")\");\n };\n\n Node.prototype.baseUrl = function baseUrl$1 () {\n return baseUrl();\n };\n\n return Node;\n}(BaseNode));\n\nexport default Node;\n","import Node from './node';\nimport renderAttr from './utils/render-attribute';\n\nvar GradientStopNode = (function (Node) {\n function GradientStopNode () {\n Node.apply(this, arguments);\n }\n\n if ( Node ) GradientStopNode.__proto__ = Node;\n GradientStopNode.prototype = Object.create( Node && Node.prototype );\n GradientStopNode.prototype.constructor = GradientStopNode;\n\n GradientStopNode.prototype.template = function template () {\n return (\"\");\n };\n\n GradientStopNode.prototype.renderOffset = function renderOffset () {\n return renderAttr(\"offset\", this.srcElement.offset());\n };\n\n GradientStopNode.prototype.mapStyle = function mapStyle () {\n var srcElement = this.srcElement;\n return [\n [ \"stop-color\", srcElement.color() ],\n [ \"stop-opacity\", srcElement.opacity() ]\n ];\n };\n\n GradientStopNode.prototype.optionsChange = function optionsChange (e) {\n if (e.field === \"offset\") {\n this.attr(e.field, e.value);\n } else if (e.field === \"color\" || e.field === \"opacity\") {\n this.css(\"stop-\" + e.field, e.value);\n }\n };\n\n return GradientStopNode;\n}(Node));\n\nexport default GradientStopNode;","import GradientStopNode from './gradient-stop-node';\nimport BaseNode from '../core/base-node';\nimport Node from './node';\nimport renderAllAttr from './utils/render-all-attributes';\n\nvar GradientNode = (function (Node) {\n function GradientNode(srcElement) {\n Node.call(this, srcElement);\n\n this.id = srcElement.id;\n\n this.loadStops();\n }\n\n if ( Node ) GradientNode.__proto__ = Node;\n GradientNode.prototype = Object.create( Node && Node.prototype );\n GradientNode.prototype.constructor = GradientNode;\n\n GradientNode.prototype.loadStops = function loadStops () {\n var this$1 = this;\n\n var stops = this.srcElement.stops;\n var element = this.element;\n\n for (var idx = 0; idx < stops.length; idx++) {\n var stopNode = new GradientStopNode(stops[idx]);\n this$1.append(stopNode);\n if (element) {\n stopNode.attachTo(element);\n }\n }\n };\n\n GradientNode.prototype.optionsChange = function optionsChange (e) {\n if (e.field === \"gradient.stops\") {\n BaseNode.prototype.clear.call(this);\n this.loadStops();\n } else if (e.field === \"gradient\") {\n this.allAttr(this.mapCoordinates());\n }\n };\n\n GradientNode.prototype.renderCoordinates = function renderCoordinates () {\n return renderAllAttr(this.mapCoordinates());\n };\n\n GradientNode.prototype.mapSpace = function mapSpace () {\n return [ \"gradientUnits\", this.srcElement.userSpace() ? \"userSpaceOnUse\" : \"objectBoundingBox\" ];\n };\n\n return GradientNode;\n}(Node));\n\nexport default GradientNode;","import GradientNode from './gradient-node';\n\nvar LinearGradientNode = (function (GradientNode) {\n function LinearGradientNode () {\n GradientNode.apply(this, arguments);\n }\n\n if ( GradientNode ) LinearGradientNode.__proto__ = GradientNode;\n LinearGradientNode.prototype = Object.create( GradientNode && GradientNode.prototype );\n LinearGradientNode.prototype.constructor = LinearGradientNode;\n\n LinearGradientNode.prototype.template = function template () {\n return (\"\" + (this.renderChildren()) + \"\");\n };\n\n LinearGradientNode.prototype.mapCoordinates = function mapCoordinates () {\n var srcElement = this.srcElement;\n var start = srcElement.start();\n var end = srcElement.end();\n var attrs = [\n [ \"x1\", start.x ],\n [ \"y1\", start.y ],\n [ \"x2\", end.x ],\n [ \"y2\", end.y ],\n this.mapSpace()\n ];\n\n return attrs;\n };\n\n return LinearGradientNode;\n}(GradientNode));\n\nexport default LinearGradientNode;","import GradientNode from './gradient-node';\n\nvar RadialGradientNode = (function (GradientNode) {\n function RadialGradientNode () {\n GradientNode.apply(this, arguments);\n }\n\n if ( GradientNode ) RadialGradientNode.__proto__ = GradientNode;\n RadialGradientNode.prototype = Object.create( GradientNode && GradientNode.prototype );\n RadialGradientNode.prototype.constructor = RadialGradientNode;\n\n RadialGradientNode.prototype.template = function template () {\n return (\"\" + (this.renderChildren()) + \"\");\n };\n\n RadialGradientNode.prototype.mapCoordinates = function mapCoordinates () {\n var srcElement = this.srcElement;\n var center = srcElement.center();\n var radius = srcElement.radius();\n var attrs = [\n [ \"cx\", center.x ],\n [ \"cy\", center.y ],\n [ \"r\", radius ],\n this.mapSpace()\n ];\n return attrs;\n };\n\n return RadialGradientNode;\n}(GradientNode));\n\nexport default RadialGradientNode;","import Node from './node';\n\nvar ClipNode = (function (Node) {\n function ClipNode(srcElement) {\n Node.call(this);\n\n this.srcElement = srcElement;\n this.id = srcElement.id;\n\n this.load([ srcElement ]);\n }\n\n if ( Node ) ClipNode.__proto__ = Node;\n ClipNode.prototype = Object.create( Node && Node.prototype );\n ClipNode.prototype.constructor = ClipNode;\n\n ClipNode.prototype.template = function template () {\n return (\"\" + (this.renderChildren()) + \"\");\n };\n\n return ClipNode;\n}(Node));\n\nexport default ClipNode;","import LinearGradient from '../gradients/linear-gradient';\nimport RadialGradient from '../gradients/radial-gradient';\nimport LinearGradientNode from './linear-gradient-node';\nimport RadialGradientNode from './radial-gradient-node';\nimport Node from './node';\nimport ClipNode from './clip-node';\n\nvar DefinitionNode = (function (Node) {\n function DefinitionNode() {\n Node.call(this);\n this.definitionMap = {};\n }\n\n if ( Node ) DefinitionNode.__proto__ = Node;\n DefinitionNode.prototype = Object.create( Node && Node.prototype );\n DefinitionNode.prototype.constructor = DefinitionNode;\n\n DefinitionNode.prototype.attachTo = function attachTo (domElement) {\n this.element = domElement;\n };\n\n DefinitionNode.prototype.template = function template () {\n return (\"\" + (this.renderChildren()) + \"\");\n };\n\n DefinitionNode.prototype.definitionChange = function definitionChange (e) {\n var definitions = e.definitions;\n var action = e.action;\n\n if (action === \"add\") {\n this.addDefinitions(definitions);\n } else if (action === \"remove\") {\n this.removeDefinitions(definitions);\n }\n };\n\n DefinitionNode.prototype.createDefinition = function createDefinition (type, item) {\n var nodeType;\n if (type === \"clip\") {\n nodeType = ClipNode;\n } else if (type === \"fill\") {\n if (item instanceof LinearGradient) {\n nodeType = LinearGradientNode;\n } else if (item instanceof RadialGradient) {\n nodeType = RadialGradientNode;\n }\n }\n return new nodeType(item);\n };\n\n DefinitionNode.prototype.addDefinitions = function addDefinitions (definitions) {\n var this$1 = this;\n\n for (var field in definitions) {\n this$1.addDefinition(field, definitions[field]);\n }\n };\n\n DefinitionNode.prototype.addDefinition = function addDefinition (type, srcElement) {\n var ref = this;\n var element = ref.element;\n var definitionMap = ref.definitionMap;\n var id = srcElement.id;\n var mapItem = definitionMap[id];\n if (!mapItem) {\n var node = this.createDefinition(type, srcElement);\n definitionMap[id] = {\n element: node,\n count: 1\n };\n this.append(node);\n if (element) {\n node.attachTo(this.element);\n }\n } else {\n mapItem.count++;\n }\n };\n\n DefinitionNode.prototype.removeDefinitions = function removeDefinitions (definitions) {\n var this$1 = this;\n\n for (var field in definitions) {\n this$1.removeDefinition(definitions[field]);\n }\n };\n\n DefinitionNode.prototype.removeDefinition = function removeDefinition (srcElement) {\n var definitionMap = this.definitionMap;\n var id = srcElement.id;\n var mapItem = definitionMap[id];\n\n if (mapItem) {\n mapItem.count--;\n if (mapItem.count === 0) {\n this.remove(this.childNodes.indexOf(mapItem.element), 1);\n delete definitionMap[id];\n }\n }\n };\n\n return DefinitionNode;\n}(Node));\n\nexport default DefinitionNode;","import BaseNode from '../core/base-node';\nimport Node from './node';\nimport DefinitionNode from './definition-node';\n\nvar RootNode = (function (Node) {\n function RootNode(options) {\n Node.call(this);\n this.options = options;\n this.defs = new DefinitionNode();\n }\n\n if ( Node ) RootNode.__proto__ = Node;\n RootNode.prototype = Object.create( Node && Node.prototype );\n RootNode.prototype.constructor = RootNode;\n\n RootNode.prototype.attachTo = function attachTo (domElement) {\n this.element = domElement;\n this.defs.attachTo(domElement.firstElementChild);\n };\n\n RootNode.prototype.clear = function clear () {\n BaseNode.prototype.clear.call(this);\n };\n\n RootNode.prototype.template = function template () {\n return this.defs.render() + this.renderChildren();\n };\n\n RootNode.prototype.definitionChange = function definitionChange (e) {\n this.defs.definitionChange(e);\n };\n\n return RootNode;\n}(Node));\n\nexport default RootNode;","import Node from './node';\nimport { defined, isTransparent } from '../util';\nimport { DASH_ARRAYS, SOLID, BUTT } from '../core/constants';\nimport { NONE, POINT_DIGITS } from './constants';\nimport renderAllAttr from './utils/render-all-attributes';\nimport renderAttr from './utils/render-attribute';\n\nvar ATTRIBUTE_MAP = {\n \"fill.opacity\": \"fill-opacity\",\n \"stroke.color\": \"stroke\",\n \"stroke.width\": \"stroke-width\",\n \"stroke.opacity\": \"stroke-opacity\"\n};\n\nvar PathNode = (function (Node) {\n function PathNode () {\n Node.apply(this, arguments);\n }\n\n if ( Node ) PathNode.__proto__ = Node;\n PathNode.prototype = Object.create( Node && Node.prototype );\n PathNode.prototype.constructor = PathNode;\n\n PathNode.prototype.geometryChange = function geometryChange () {\n this.attr(\"d\", this.renderData());\n this.invalidate();\n };\n\n PathNode.prototype.optionsChange = function optionsChange (e) {\n switch (e.field) {\n case \"fill\":\n if (e.value) {\n this.allAttr(this.mapFill(e.value));\n } else {\n this.removeAttr(\"fill\");\n }\n break;\n\n case \"fill.color\":\n this.allAttr(this.mapFill({ color: e.value }));\n break;\n\n case \"stroke\":\n if (e.value) {\n this.allAttr(this.mapStroke(e.value));\n } else {\n this.removeAttr(\"stroke\");\n }\n break;\n\n case \"transform\":\n this.transformChange(e.value);\n break;\n\n default:\n var name = ATTRIBUTE_MAP[e.field];\n if (name) {\n this.attr(name, e.value);\n }\n break;\n }\n\n Node.prototype.optionsChange.call(this, e);\n };\n\n PathNode.prototype.content = function content () {\n if (this.element) {\n this.element.textContent = this.srcElement.content();\n }\n };\n\n PathNode.prototype.renderData = function renderData () {\n return this.srcElement.toString(POINT_DIGITS) || undefined;\n };\n\n PathNode.prototype.mapStroke = function mapStroke (stroke) {\n var attrs = [];\n\n if (stroke && !isTransparent(stroke.color)) {\n attrs.push([ \"stroke\", stroke.color ]);\n attrs.push([ \"stroke-width\", stroke.width ]);\n attrs.push([ \"stroke-linecap\", this.renderLinecap(stroke) ]);\n attrs.push([ \"stroke-linejoin\", stroke.lineJoin ]);\n\n if (defined(stroke.opacity)) {\n attrs.push([ \"stroke-opacity\", stroke.opacity ]);\n }\n\n if (defined(stroke.dashType)) {\n attrs.push([ \"stroke-dasharray\", this.renderDashType(stroke) ]);\n }\n } else {\n attrs.push([ \"stroke\", NONE ]);\n }\n\n return attrs;\n };\n\n PathNode.prototype.renderStroke = function renderStroke () {\n return renderAllAttr(\n this.mapStroke(this.srcElement.options.stroke)\n );\n };\n\n PathNode.prototype.renderDashType = function renderDashType (stroke) {\n var dashType = stroke.dashType;\n var width = stroke.width; if ( width === void 0 ) width = 1;\n\n if (dashType && dashType !== SOLID) {\n var dashArray = DASH_ARRAYS[dashType.toLowerCase()];\n var result = [];\n\n for (var i = 0; i < dashArray.length; i++) {\n result.push(dashArray[i] * width);\n }\n\n return result.join(\" \");\n }\n };\n\n PathNode.prototype.renderLinecap = function renderLinecap (stroke) {\n var dashType = stroke.dashType;\n var lineCap = stroke.lineCap;\n\n return (dashType && dashType !== \"solid\") ? BUTT : lineCap;\n };\n\n PathNode.prototype.mapFill = function mapFill (fill) {\n var attrs = [];\n if (!(fill && fill.nodeType === \"Gradient\")) {\n if (fill && !isTransparent(fill.color)) {\n attrs.push([ \"fill\", fill.color ]);\n\n if (defined(fill.opacity)) {\n attrs.push([ \"fill-opacity\", fill.opacity ]);\n }\n } else {\n attrs.push([ \"fill\", NONE ]);\n }\n }\n\n return attrs;\n };\n\n PathNode.prototype.renderFill = function renderFill () {\n return renderAllAttr(\n this.mapFill(this.srcElement.options.fill)\n );\n };\n\n PathNode.prototype.template = function template () {\n return \"\";\n };\n\n return PathNode;\n}(Node));\n\nexport default PathNode;\n","import { POINT_DIGITS } from './constants';\nimport PathNode from './path-node';\n\nvar ArcNode = (function (PathNode) {\n function ArcNode () {\n PathNode.apply(this, arguments);\n }\n\n if ( PathNode ) ArcNode.__proto__ = PathNode;\n ArcNode.prototype = Object.create( PathNode && PathNode.prototype );\n ArcNode.prototype.constructor = ArcNode;\n\n ArcNode.prototype.renderData = function renderData () {\n return this.srcElement.toPath().toString(POINT_DIGITS);\n };\n\n return ArcNode;\n}(PathNode));\n\nexport default ArcNode;\n","import PathNode from './path-node';\n\nvar CircleNode = (function (PathNode) {\n function CircleNode () {\n PathNode.apply(this, arguments);\n }\n\n if ( PathNode ) CircleNode.__proto__ = PathNode;\n CircleNode.prototype = Object.create( PathNode && PathNode.prototype );\n CircleNode.prototype.constructor = CircleNode;\n\n CircleNode.prototype.geometryChange = function geometryChange () {\n var center = this.center();\n this.attr(\"cx\", center.x);\n this.attr(\"cy\", center.y);\n this.attr(\"r\", this.radius());\n this.invalidate();\n };\n\n CircleNode.prototype.center = function center () {\n return this.srcElement.geometry().center;\n };\n\n CircleNode.prototype.radius = function radius () {\n return this.srcElement.geometry().radius;\n };\n\n CircleNode.prototype.template = function template () {\n return \"\";\n };\n\n return CircleNode;\n}(PathNode));\n\nexport default CircleNode;\n","import Node from './node';\n\nvar GroupNode = (function (Node) {\n function GroupNode () {\n Node.apply(this, arguments);\n }\n\n if ( Node ) GroupNode.__proto__ = Node;\n GroupNode.prototype = Object.create( Node && Node.prototype );\n GroupNode.prototype.constructor = GroupNode;\n\n GroupNode.prototype.template = function template () {\n return (\"\" + (this.renderChildren()) + \"\");\n };\n\n GroupNode.prototype.optionsChange = function optionsChange (e) {\n if (e.field === \"transform\") {\n this.transformChange(e.value);\n }\n\n Node.prototype.optionsChange.call(this, e);\n };\n\n return GroupNode;\n}(Node));\n\nexport default GroupNode;\n","var ampRegExp = /&/g;\nvar ltRegExp = //g;\n\nexport default function htmlEncode(value) {\n return String(value).replace(ampRegExp, \"&\").replace(ltRegExp, \"<\").replace(gtRegExp, \">\").replace(quoteRegExp, \""\").replace(aposRegExp, \"'\");\n}","import PathNode from './path-node';\nimport renderAllAttr from './utils/render-all-attributes';\nimport { htmlEncode } from '../common';\n\nvar ImageNode = (function (PathNode) {\n function ImageNode () {\n PathNode.apply(this, arguments);\n }\n\n if ( PathNode ) ImageNode.__proto__ = PathNode;\n ImageNode.prototype = Object.create( PathNode && PathNode.prototype );\n ImageNode.prototype.constructor = ImageNode;\n\n ImageNode.prototype.geometryChange = function geometryChange () {\n this.allAttr(this.mapPosition());\n this.invalidate();\n };\n\n ImageNode.prototype.optionsChange = function optionsChange (e) {\n if (e.field === \"src\") {\n this.allAttr(this.mapSource());\n }\n\n PathNode.prototype.optionsChange.call(this, e);\n };\n\n ImageNode.prototype.mapPosition = function mapPosition () {\n var rect = this.srcElement.rect();\n var tl = rect.topLeft();\n\n return [\n [ \"x\", tl.x ],\n [ \"y\", tl.y ],\n [ \"width\", rect.width() + \"px\" ],\n [ \"height\", rect.height() + \"px\" ]\n ];\n };\n\n ImageNode.prototype.renderPosition = function renderPosition () {\n return renderAllAttr(this.mapPosition());\n };\n\n ImageNode.prototype.mapSource = function mapSource (encode) {\n var src = this.srcElement.src();\n\n if (encode) {\n src = htmlEncode(src);\n }\n\n return [ [ \"xlink:href\", src ] ];\n };\n\n ImageNode.prototype.renderSource = function renderSource () {\n return renderAllAttr(this.mapSource(true));\n };\n\n ImageNode.prototype.template = function template () {\n return \"\" +\n \"\";\n };\n\n return ImageNode;\n}(PathNode));\n\nexport default ImageNode;\n","import { POINT_DIGITS } from './constants';\nimport PathNode from './path-node';\n\nvar MultiPathNode = (function (PathNode) {\n function MultiPathNode () {\n PathNode.apply(this, arguments);\n }\n\n if ( PathNode ) MultiPathNode.__proto__ = PathNode;\n MultiPathNode.prototype = Object.create( PathNode && PathNode.prototype );\n MultiPathNode.prototype.constructor = MultiPathNode;\n\n MultiPathNode.prototype.renderData = function renderData () {\n return this.srcElement.toString(POINT_DIGITS) || 'undefined';\n };\n\n return MultiPathNode;\n}(PathNode));\n\nexport default MultiPathNode;\n","import PathNode from './path-node';\n\nvar RectNode = (function (PathNode) {\n function RectNode () {\n PathNode.apply(this, arguments);\n }\n\n if ( PathNode ) RectNode.__proto__ = PathNode;\n RectNode.prototype = Object.create( PathNode && PathNode.prototype );\n RectNode.prototype.constructor = RectNode;\n\n RectNode.prototype.geometryChange = function geometryChange () {\n var geometry = this.srcElement.geometry();\n this.attr(\"x\", geometry.origin.x);\n this.attr(\"y\", geometry.origin.y);\n this.attr(\"width\", geometry.size.width);\n this.attr(\"height\", geometry.size.height);\n this.attr(\"rx\", geometry.cornerRadius[0]);\n this.attr(\"ry\", geometry.cornerRadius[1]);\n this.invalidate();\n };\n\n RectNode.prototype.size = function size () {\n return this.srcElement.geometry().size;\n };\n\n RectNode.prototype.origin = function origin () {\n return this.srcElement.geometry().origin;\n };\n\n RectNode.prototype.rx = function rx () {\n return this.srcElement.geometry().cornerRadius[0];\n };\n\n RectNode.prototype.ry = function ry () {\n return this.srcElement.geometry().cornerRadius[1];\n };\n\n RectNode.prototype.template = function template () {\n return \"\";\n };\n\n return RectNode;\n}(PathNode));\n\nexport default RectNode;\n","import PathNode from './path-node';\nimport renderStyle from './utils/render-style';\nimport renderAttr from './utils/render-attribute';\nimport { htmlEncode, support } from '../common';\nimport { normalizeText } from '../text-metrics';\n\nvar ENTITY_REGEX = /&(?:[a-zA-Z]+|#\\d+);/g;\n\nfunction decodeEntities(text) {\n if (!text || typeof text !== \"string\" || !ENTITY_REGEX.test(text)) {\n return text;\n }\n\n var element = decodeEntities._element;\n ENTITY_REGEX.lastIndex = 0;\n\n return text.replace(ENTITY_REGEX, function (match) {\n element.innerHTML = match;\n\n return element.textContent || element.innerText;\n });\n}\n\nif (typeof document !== \"undefined\") {\n decodeEntities._element = document.createElement(\"span\");\n}\n\nvar TextNode = (function (PathNode) {\n function TextNode () {\n PathNode.apply(this, arguments);\n }\n\n if ( PathNode ) TextNode.__proto__ = PathNode;\n TextNode.prototype = Object.create( PathNode && PathNode.prototype );\n TextNode.prototype.constructor = TextNode;\n\n TextNode.prototype.geometryChange = function geometryChange () {\n var pos = this.pos();\n this.attr(\"x\", pos.x);\n this.attr(\"y\", pos.y);\n this.invalidate();\n };\n\n TextNode.prototype.optionsChange = function optionsChange (e) {\n if (e.field === \"font\") {\n this.attr(\"style\", renderStyle(this.mapStyle()));\n this.geometryChange();\n } else if (e.field === \"content\") {\n PathNode.prototype.content.call(this, this.srcElement.content());\n }\n\n PathNode.prototype.optionsChange.call(this, e);\n };\n\n TextNode.prototype.mapStyle = function mapStyle (encode) {\n var style = PathNode.prototype.mapStyle.call(this, encode);\n var font = this.srcElement.options.font;\n\n if (encode) {\n font = htmlEncode(font);\n }\n\n style.push([ \"font\", font ], [ \"white-space\", \"pre\" ]);\n\n return style;\n };\n\n TextNode.prototype.pos = function pos () {\n var pos = this.srcElement.position();\n var size = this.srcElement.measure();\n return pos.clone().setY(pos.y + size.baseline);\n };\n\n TextNode.prototype.renderContent = function renderContent () {\n var content = this.srcElement.content();\n content = decodeEntities(content);\n content = htmlEncode(content);\n\n return normalizeText(content);\n };\n\n TextNode.prototype.renderTextAnchor = function renderTextAnchor () {\n var anchor;\n\n if ((this.options || {}).rtl && !(support.browser.msie || support.browser.edge)) {\n anchor = 'end';\n }\n\n return renderAttr(\"text-anchor\", anchor);\n };\n\n TextNode.prototype.template = function template () {\n return \"\" + (this.renderContent()) + \"\";\n };\n\n return TextNode;\n}(PathNode));\n\nexport default TextNode;\n","import BaseSurface from '../core/surface';\nimport RootNode from './root-node';\nimport Group from '../shapes/group';\nimport transform from '../geometry/transform';\nimport renderSVG from './utils/render-svg';\nimport { SVG_NS } from './constants';\nimport { bindEvents, unbindEvents, elementStyles } from '../util';\n\nimport ArcNode from './arc-node';\nimport CircleNode from './circle-node';\nimport GroupNode from './group-node';\nimport ImageNode from './image-node';\nimport MultiPathNode from './multi-path-node';\nimport PathNode from './path-node';\nimport RectNode from './rect-node';\nimport TextNode from './text-node';\nimport NODE_MAP from './node-map';\n\nNODE_MAP.Arc = ArcNode;\nNODE_MAP.Circle = CircleNode;\nNODE_MAP.Group = GroupNode;\nNODE_MAP.Image = ImageNode;\nNODE_MAP.MultiPath = MultiPathNode;\nNODE_MAP.Path = PathNode;\nNODE_MAP.Rect = RectNode;\nNODE_MAP.Text = TextNode;\n\nvar RTL = 'rtl';\n\nfunction alignToScreen(element) {\n var ctm;\n\n try {\n ctm = element.getScreenCTM ? element.getScreenCTM() : null;\n } catch (e) { } // eslint-disable-line no-empty\n\n if (ctm) {\n var left = - ctm.e % 1;\n var top = - ctm.f % 1;\n var style = element.style;\n\n if (left !== 0 || top !== 0) {\n style.left = left + \"px\";\n style.top = top + \"px\";\n }\n }\n}\n\nvar Surface = (function (BaseSurface) {\n function Surface(element, options) {\n BaseSurface.call(this, element, options);\n\n this._root = new RootNode(Object.assign({\n rtl: elementStyles(element, 'direction').direction === RTL\n }, this.options));\n\n renderSVG(this.element, this._template(''));\n\n this._rootElement = this.element.firstElementChild;\n this._rootElement.style.width = '100%';\n this._rootElement.style.height = '100%';\n this._rootElement.style.overflow = 'hidden';\n\n alignToScreen(this._rootElement);\n\n this._root.attachTo(this._rootElement);\n\n bindEvents(this.element, {\n click: this._click,\n mouseover: this._mouseenter,\n mouseout: this._mouseleave,\n mousemove: this._mousemove\n });\n\n this.resize();\n }\n\n if ( BaseSurface ) Surface.__proto__ = BaseSurface;\n Surface.prototype = Object.create( BaseSurface && BaseSurface.prototype );\n Surface.prototype.constructor = Surface;\n\n var prototypeAccessors = { type: { configurable: true } };\n\n prototypeAccessors.type.get = function () {\n return \"svg\";\n };\n\n Surface.prototype.destroy = function destroy () {\n if (this._root) {\n this._root.destroy();\n this._root = null;\n this._rootElement = null;\n unbindEvents(this.element, {\n click: this._click,\n mouseover: this._mouseenter,\n mouseout: this._mouseleave,\n mousemove: this._mousemove\n });\n }\n\n BaseSurface.prototype.destroy.call(this);\n };\n\n Surface.prototype.translate = function translate (offset) {\n var viewBox = (Math.round(offset.x)) + \" \" + (Math.round(offset.y)) + \" \" + (this._size.width) + \" \" + (this._size.height);\n\n this._offset = offset;\n this._rootElement.setAttribute(\"viewBox\", viewBox);\n };\n\n Surface.prototype.draw = function draw (element) {\n BaseSurface.prototype.draw.call(this, element);\n this._root.load([ element ]);\n };\n\n Surface.prototype.clear = function clear () {\n BaseSurface.prototype.clear.call(this);\n this._root.clear();\n };\n\n Surface.prototype.svg = function svg () {\n return \"\" + this._template();\n };\n\n Surface.prototype.exportVisual = function exportVisual () {\n var ref = this;\n var visual = ref._visual;\n var offset = ref._offset;\n\n if (offset) {\n var wrap = new Group();\n wrap.children.push(visual);\n\n wrap.transform(\n transform().translate(-offset.x, -offset.y)\n );\n\n visual = wrap;\n }\n\n return visual;\n };\n\n Surface.prototype._resize = function _resize () {\n if (this._offset) {\n this.translate(this._offset);\n }\n };\n\n Surface.prototype._template = function _template (svgStyles) {\n var styles = typeof svgStyles === 'string' ? svgStyles :\n \"style='width: 100%; height: 100%; overflow: hidden;' \";\n return (\"\" + (this._root.render()) + \"\");\n };\n\n Object.defineProperties( Surface.prototype, prototypeAccessors );\n\n return Surface;\n}(BaseSurface));\n\nexport default Surface;\n","import { Class, logToConsole } from './common';\nimport SVGSurface from './svg/surface';\nimport CanvasSurface from './canvas/surface';\n\nvar instance;\nvar support;\n\nvar hasDocument = function () { return typeof document !== \"undefined\"; };\n\nvar supportsCanvas = function () { return hasDocument() &&\n document.createElement(\"canvas\").getContext; };\n\nvar supportsSVG = function () { return hasDocument() &&\n document.implementation.hasFeature(\"http://www.w3.org/TR/SVG11/feature#BasicStructure\", \"1.1\"); };\n\nvar SurfaceFactory = (function (Class) {\n function SurfaceFactory() {\n Class.call(this);\n\n this._items = [ {\n name: \"svg\",\n type: SVGSurface\n }, {\n name: \"canvas\",\n type: CanvasSurface\n } ];\n }\n\n if ( Class ) SurfaceFactory.__proto__ = Class;\n SurfaceFactory.prototype = Object.create( Class && Class.prototype );\n SurfaceFactory.prototype.constructor = SurfaceFactory;\n\n var staticAccessors = { support: { configurable: true },current: { configurable: true } };\n\n staticAccessors.support.get = function () {\n if (!support) {\n support = {\n canvas: supportsCanvas(),\n svg: supportsSVG()\n };\n }\n\n return support;\n };\n\n staticAccessors.current.get = function () {\n if (!instance) {\n instance = new SurfaceFactory();\n }\n\n return instance;\n };\n\n SurfaceFactory.prototype.create = function create (element, options) {\n var items = this._items;\n var match = items[0];\n\n if (options && options.type) {\n var preferred = options.type.toLowerCase();\n for (var i = 0; i < items.length; i++) {\n if (items[i].name === preferred) {\n match = items[i];\n break;\n }\n }\n }\n\n if (match) {\n return new match.type(element, options);\n }\n\n logToConsole(\n \"Warning: Unable to create Kendo UI Drawing Surface. Possible causes:\\n\" +\n \"- The browser does not support SVG and Canvas. User agent: \" + (navigator.userAgent));\n };\n\n Object.defineProperties( SurfaceFactory, staticAccessors );\n\n return SurfaceFactory;\n}(Class));\n\nexport default SurfaceFactory;\n\n","import BaseSurface from './core/surface';\nimport SurfaceFactory from './surface-factory';\n\nvar Surface = (function (BaseSurface) {\n function Surface () {\n BaseSurface.apply(this, arguments);\n }\n\n if ( BaseSurface ) Surface.__proto__ = BaseSurface;\n Surface.prototype = Object.create( BaseSurface && BaseSurface.prototype );\n Surface.prototype.constructor = Surface;\n\n var staticAccessors = { support: { configurable: true } };\n\n staticAccessors.support.get = function () {\n return SurfaceFactory.support;\n };\n\n Surface.create = function create (element, options) {\n return SurfaceFactory.current.create(element, options);\n };\n\n Object.defineProperties( Surface, staticAccessors );\n\n return Surface;\n}(BaseSurface));\n\nexport default Surface;\n\n","import { Class } from '../common';\n\nvar LRUCache = (function (Class) {\n function LRUCache(size) {\n Class.call(this);\n\n this._size = size;\n this._length = 0;\n this._map = {};\n }\n\n if ( Class ) LRUCache.__proto__ = Class;\n LRUCache.prototype = Object.create( Class && Class.prototype );\n LRUCache.prototype.constructor = LRUCache;\n\n LRUCache.prototype.put = function put (key, value) {\n var map = this._map;\n var entry = { key: key, value: value };\n\n map[key] = entry;\n\n if (!this._head) {\n this._head = this._tail = entry;\n } else {\n this._tail.newer = entry;\n entry.older = this._tail;\n this._tail = entry;\n }\n\n if (this._length >= this._size) {\n map[this._head.key] = null;\n this._head = this._head.newer;\n this._head.older = null;\n } else {\n this._length++;\n }\n };\n\n LRUCache.prototype.get = function get (key) {\n var entry = this._map[key];\n\n if (entry) {\n if (entry === this._head && entry !== this._tail) {\n this._head = entry.newer;\n this._head.older = null;\n }\n\n if (entry !== this._tail) {\n if (entry.older) {\n entry.older.newer = entry.newer;\n entry.newer.older = entry.older;\n }\n\n entry.older = this._tail;\n entry.newer = null;\n\n this._tail.newer = entry;\n this._tail = entry;\n }\n\n return entry.value;\n }\n };\n\n return LRUCache;\n}(Class));\n\nexport default LRUCache;","import TextMetrics from './text-metrics';\n\nexport default function measureText(text, style, measureBox) {\n return TextMetrics.current.measure(text, style, measureBox);\n}\n","import LRUCache from './lru-cache';\nimport { Class } from '../common';\nimport { objectKey, hashKey, normalizeText } from './util';\n\nfunction zeroSize() {\n return { width: 0, height: 0, baseline: 0 };\n}\n\nvar DEFAULT_OPTIONS = {\n baselineMarkerSize: 1\n};\n\nvar defaultMeasureBox;\n\nif (typeof document !== \"undefined\") {\n defaultMeasureBox = document.createElement(\"div\");\n defaultMeasureBox.style.cssText = \"position: absolute !important; top: -4000px !important; width: auto !important; height: auto !important;\" +\n \"padding: 0 !important; margin: 0 !important; border: 0 !important;\" +\n \"line-height: normal !important; visibility: hidden !important; white-space: pre!important;\";\n}\n\nvar TextMetrics = (function (Class) {\n function TextMetrics(options) {\n Class.call(this);\n\n this._cache = new LRUCache(1000);\n this.options = Object.assign({}, DEFAULT_OPTIONS, options);\n }\n\n if ( Class ) TextMetrics.__proto__ = Class;\n TextMetrics.prototype = Object.create( Class && Class.prototype );\n TextMetrics.prototype.constructor = TextMetrics;\n\n TextMetrics.prototype.measure = function measure (text, style, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof text === 'undefined' || text === null) {\n return zeroSize();\n }\n\n var styleKey = objectKey(style);\n var cacheKey = hashKey(text + styleKey);\n var cachedResult = this._cache.get(cacheKey);\n\n if (cachedResult) {\n return cachedResult;\n }\n\n var size = zeroSize();\n var measureBox = options.box || defaultMeasureBox;\n var baselineMarker = this._baselineMarker().cloneNode(false);\n\n for (var key in style) {\n var value = style[key];\n if (typeof value !== \"undefined\") {\n measureBox.style[key] = value;\n }\n }\n\n var textStr = options.normalizeText !== false ? normalizeText(text) : String(text);\n\n measureBox.textContent = textStr;\n measureBox.appendChild(baselineMarker);\n document.body.appendChild(measureBox);\n\n if (textStr.length) {\n size.width = measureBox.offsetWidth - this.options.baselineMarkerSize;\n size.height = measureBox.offsetHeight;\n size.baseline = baselineMarker.offsetTop + this.options.baselineMarkerSize;\n }\n\n if (size.width > 0 && size.height > 0) {\n this._cache.put(cacheKey, size);\n }\n\n measureBox.parentNode.removeChild(measureBox);\n\n return size;\n };\n\n TextMetrics.prototype._baselineMarker = function _baselineMarker () {\n var marker = document.createElement(\"div\");\n marker.style.cssText = \"display: inline-block; vertical-align: baseline;width: \" +\n this.options.baselineMarkerSize + \"px; height: \" + this.options.baselineMarkerSize + \"px;overflow: hidden;\";\n\n return marker;\n };\n\n return TextMetrics;\n}(Class));\n\nTextMetrics.current = new TextMetrics();\n\nexport default TextMetrics;\n","var REPLACE_REGEX = /\\r?\\n|\\r|\\t/g;\nvar SPACE = ' ';\n\nfunction normalizeText(text) {\n return String(text).replace(REPLACE_REGEX, SPACE);\n}\n\nfunction objectKey(object) {\n var parts = [];\n for (var key in object) {\n parts.push(key + object[key]);\n }\n\n return parts.sort().join(\"\");\n}\n\n// Computes FNV-1 hash\n// See http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function\nfunction hashKey(str) {\n // 32-bit FNV-1 offset basis\n // See http://isthe.com/chongo/tech/comp/fnv/#FNV-param\n var hash = 0x811C9DC5;\n\n for (var i = 0; i < str.length; ++i) {\n hash += (hash << 1) + (hash << 4) + (hash << 7) + (hash << 8) + (hash << 24);\n hash ^= str.charCodeAt(i);\n }\n\n return hash >>> 0;\n}\n\nexport { objectKey, hashKey, normalizeText };","export default function append(first, second) {\n first.push.apply(first, second);\n return first;\n}","/* eslint-disable key-spacing,no-multi-spaces,no-param-reassign */\n\nvar literals = {\n 1 : \"i\", 10 : \"x\", 100 : \"c\",\n 2 : \"ii\", 20 : \"xx\", 200 : \"cc\",\n 3 : \"iii\", 30 : \"xxx\", 300 : \"ccc\",\n 4 : \"iv\", 40 : \"xl\", 400 : \"cd\",\n 5 : \"v\", 50 : \"l\", 500 : \"d\",\n 6 : \"vi\", 60 : \"lx\", 600 : \"dc\",\n 7 : \"vii\", 70 : \"lxx\", 700 : \"dcc\",\n 8 : \"viii\", 80 : \"lxxx\", 800 : \"dccc\",\n 9 : \"ix\", 90 : \"xc\", 900 : \"cm\",\n 1000 : \"m\"\n};\n\nexport default function arabicToRoman(n) {\n var values = [ 1000,\n 900 , 800, 700, 600, 500, 400, 300, 200, 100,\n 90 , 80 , 70 , 60 , 50 , 40 , 30 , 20 , 10 ,\n 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 ];\n\n var roman = \"\";\n while (n > 0) {\n if (n < values[0]) {\n values.shift();\n } else {\n roman += literals[values[0]];\n n -= values[0];\n }\n }\n return roman;\n}\n","export default function bindEvents(element, events) {\n for (var eventName in events) {\n var eventNames = eventName.trim().split(\" \");\n for (var idx = 0; idx < eventNames.length; idx++) {\n element.addEventListener(eventNames[idx], events[eventName], false);\n }\n }\n}","var DEG_TO_RAD = Math.PI / 180;\nvar MAX_NUM = Number.MAX_VALUE;\nvar MIN_NUM = -Number.MAX_VALUE;\n\nexport { DEG_TO_RAD, MAX_NUM, MIN_NUM };","export default function createPromise() {\n var resolveFn, rejectFn;\n var promise = new Promise(function (resolve, reject) {\n resolveFn = function (data) {\n promise._state = \"resolved\";\n resolve(data);\n return promise;\n };\n rejectFn = function (data) {\n promise._state = \"rejected\";\n reject(data);\n\n return promise;\n };\n });\n promise._state = \"pending\";\n promise.resolve = resolveFn;\n promise.reject = rejectFn;\n promise.state = function () { return promise._state; };\n\n return promise;\n}\n","var UNDEFINED = \"undefined\";\n\nexport default function defined(value) {\n return typeof value !== UNDEFINED;\n}","var defId = 1;\n\nexport default function definitionId() {\n return \"kdef\" + defId++;\n}","import { DEG_TO_RAD } from './constants';\n\nexport default function deg(radians) {\n return radians / DEG_TO_RAD;\n}","export default function elementOffset(element) {\n var box = element.getBoundingClientRect();\n\n var documentElement = document.documentElement;\n\n return {\n top: box.top + (window.pageYOffset || documentElement.scrollTop) - (documentElement.clientTop || 0),\n left: box.left + (window.pageXOffset || documentElement.scrollLeft) - (documentElement.clientLeft || 0)\n };\n}","import { default as elementStyles } from './element-styles';\n\nexport default function elementPadding(element) {\n var ref = elementStyles(element, [ \"paddingLeft\", \"paddingTop\" ]);\n var paddingLeft = ref.paddingLeft;\n var paddingTop = ref.paddingTop;\n return {\n top: parseFloat(paddingTop),\n left: parseFloat(paddingLeft)\n };\n}\n","import Matrix from '../geometry/matrix';\n\nvar matrixRegexp = /matrix\\((.*)\\)/;\n\nfunction parseMatrix(matrixString) {\n var match = matrixString.match(matrixRegexp);\n if (match === null || match.length !== 2) {\n return Matrix.unit();\n }\n\n var members = match[1].split(',').map(function (x) { return parseFloat(x); });\n return new (Function.prototype.bind.apply( Matrix, [ null ].concat( members) ));\n}\n\nfunction transformMatrix(element) {\n var transform = getComputedStyle(element).transform;\n\n if (transform === 'none') {\n return Matrix.unit();\n }\n\n return parseMatrix(transform);\n}\n\nexport default function elementScale(element) {\n if (!element) {\n return Matrix.unit();\n }\n\n var matrix = transformMatrix(element);\n var parent = element.parentElement;\n while (parent) {\n var parentMatrix = transformMatrix(parent);\n matrix = matrix.multiplyCopy(parentMatrix);\n parent = parent.parentElement;\n }\n\n matrix.b = matrix.c = matrix.e = matrix.f = 0;\n return matrix;\n}\n","import elementStyles from './element-styles';\nimport defined from './defined';\n\nfunction getPixels(value) {\n if (isNaN(value)) {\n return value;\n }\n return value + \"px\";\n}\n\nexport default function elementSize(element, size) {\n if (size) {\n var width = size.width;\n var height = size.height;\n\n if (defined(width)) {\n element.style.width = getPixels(width);\n }\n\n if (defined(height)) {\n element.style.height = getPixels(height);\n }\n\n } else {\n var size$1 = elementStyles(element, [ 'width', 'height' ]);\n\n return {\n width: parseInt(size$1.width, 10),\n height: parseInt(size$1.height, 10)\n };\n }\n}","export default function elementStyles(element, styles) {\n var result = {};\n var style = window.getComputedStyle(element) || {};\n var stylesArray = Array.isArray(styles) ? styles : [ styles ];\n\n for (var idx = 0; idx < stylesArray.length; idx++) {\n var field = stylesArray[idx];\n result[field] = style[field];\n }\n\n return result;\n}","import { encodeUTF8 } from './encode-utf';\n\nvar KEY_STR = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\nexport default function encodeBase64(input) {\n var output = \"\";\n var i = 0;\n\n var utfInput = encodeUTF8(input);\n\n while (i < utfInput.length) {\n var chr1 = utfInput.charCodeAt(i++);\n var chr2 = utfInput.charCodeAt(i++);\n var chr3 = utfInput.charCodeAt(i++);\n\n var enc1 = chr1 >> 2;\n var enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n var enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n var enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n } else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output +\n KEY_STR.charAt(enc1) + KEY_STR.charAt(enc2) +\n KEY_STR.charAt(enc3) + KEY_STR.charAt(enc4);\n }\n\n return output;\n}","var fromCharCode = String.fromCharCode;\n\nexport var BOM = '\\xfe\\xff';\n\n// Encodes a string as UTF-8\nexport function encodeUTF8(input) {\n var output = \"\";\n\n for (var i = 0; i < input.length; i++) {\n var code = input.charCodeAt(i);\n\n if (0xD800 <= code && code <= 0xDBFF) {\n var hi = code;\n var low = input.charCodeAt(++i);\n\n if (!isNaN(low)) {\n // Combine high and low surrogate\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\n code = (hi - 0xD800) * 0x400 +\n (low - 0xDC00) + 0x10000;\n }\n }\n\n if (code < 0x80) {\n // One byte\n output += fromCharCode(code);\n } else if (code < 0x800) {\n // Two bytes\n output += fromCharCode(0xC0 | (code >>> 6));\n output += fromCharCode(0x80 | (code & 0x3f));\n } else if (code < 0x10000) {\n // Three bytes\n output += fromCharCode(0xE0 | (code >>> 12));\n output += fromCharCode(0x80 | (code >>> 6 & 0x3f));\n output += fromCharCode(0x80 | (code & 0x3f));\n } else if (code < 0x10FFFF) {\n // Four bytes\n output += fromCharCode(0xF0 | (code >>> 18));\n output += fromCharCode(0x80 | (code >>> 12 & 0x3f));\n output += fromCharCode(0x80 | (code >>> 6 & 0x3f));\n output += fromCharCode(0x80 | (code & 0x3f));\n }\n }\n\n return output;\n}\n\nfunction encodeUnit(codeUnit) {\n return fromCharCode(codeUnit >> 8) + fromCharCode(codeUnit & 0x00ff);\n}\n\n// Encodes a string as UTF-16 big-endian\nexport function encodeUTF16BE(input) {\n var output = '';\n\n for (var i = 0; i < input.length; i++) {\n var c = input.charCodeAt(i);\n\n if (c < 0xFFFF) {\n output += encodeUnit(c);\n } else {\n var lead = ((c - 0x10000) >> 10) + 0xD800;\n var trail = ((c - 0x10000) & 0x3FF) + 0xDC00;\n output += encodeUnit(lead);\n output += encodeUnit(trail);\n }\n }\n\n return output;\n}\n","import defined from './defined';\n\nexport default function eventCoordinates(e) {\n if (defined((e.x || {}).location)) {\n return {\n x: e.x.location,\n y: e.y.location\n };\n }\n\n return {\n x: e.pageX || e.clientX || 0,\n y: e.pageY || e.clientY || 0\n };\n}","export default function eventElement(e) {\n if ( e === void 0 ) e = {};\n\n return e.touch ? e.touch.initialTouch : e.target;\n}","import defined from './defined';\n\nexport default function isTransparent(color) {\n return color === \"\" || color === null || color === \"none\" || color === \"transparent\" || !defined(color);\n}","export default function last(array) {\n if (array) {\n return array[array.length - 1];\n }\n}","export default function limitValue(value, min, max) {\n return Math.max(Math.min(value, max), min);\n}","/* eslint-disable no-multi-spaces, key-spacing, indent, camelcase, space-before-blocks, eqeqeq, brace-style */\n/* eslint-disable space-infix-ops, space-before-function-paren, array-bracket-spacing, object-curly-spacing */\n/* eslint-disable no-nested-ternary, max-params, default-case, no-else-return, no-empty */\n/* eslint-disable no-param-reassign, no-var, block-scoped-var */\n\n// mergeSort is stable.\nexport default function mergeSort(a, cmp) {\n if (a.length < 2) {\n return a.slice();\n }\n function merge(a, b) {\n var r = [], ai = 0, bi = 0, i = 0;\n while (ai < a.length && bi < b.length) {\n if (cmp(a[ai], b[bi]) <= 0) {\n r[i++] = a[ai++];\n } else {\n r[i++] = b[bi++];\n }\n }\n if (ai < a.length) {\n r.push.apply(r, a.slice(ai));\n }\n if (bi < b.length) {\n r.push.apply(r, b.slice(bi));\n }\n return r;\n }\n return (function sort(a) {\n if (a.length <= 1) {\n return a;\n }\n var m = Math.floor(a.length / 2);\n var left = a.slice(0, m);\n var right = a.slice(m);\n left = sort(left);\n right = sort(right);\n return merge(left, right);\n })(a);\n}","var now = Date.now || function() {\n return new Date().getTime();\n};\n\nexport default now;\n","export default function promiseAll(promises) {\n return Promise.all(promises);\n}","import { DEG_TO_RAD } from './constants';\n\nexport default function rad(degrees) {\n return degrees * DEG_TO_RAD;\n}\n","function pow(p) {\n if (p) {\n return Math.pow(10, p);\n }\n\n return 1;\n}\n\nexport default function round(value, precision) {\n var power = pow(precision);\n return Math.round(value * power) / power;\n}","export default function unbindEvents(element, events) {\n if ( events === void 0 ) events = {};\n\n for (var name in events) {\n var eventNames = name.trim().split(\" \");\n for (var idx = 0; idx < eventNames.length; idx++) {\n element.removeEventListener(eventNames[idx], events[name], false);\n }\n }\n}","import defined from './defined';\n\nexport default function valueOrDefault(value, defaultValue) {\n return defined(value) ? value : defaultValue;\n}","export function saveAs(data, fileName, options) {\n if ( options === void 0 ) options = {};\n\n var save = postToProxy;\n\n if (options.forceProxy && !options.proxyURL) {\n throw new Error('No proxyURL is set, but forceProxy is true');\n }\n\n if (!options.forceProxy) {\n if (canDownload()) {\n save = saveAsDataURI;\n }\n\n if (navigator.msSaveBlob) {\n save = saveAsBlob;\n }\n }\n\n save(data, fileName, options);\n}\n\nvar anchor = function () { return document.createElement('a'); };\nvar canDownload = function () { return 'download' in anchor(); };\n\nfunction saveAsBlob(data, fileName) {\n var blob = data; // could be a Blob object\n\n if (typeof data === 'string') {\n var parts = data.split(';base64,');\n var contentType = parts[0];\n var base64 = atob(parts[1]);\n var array = new Uint8Array(base64.length);\n\n for (var idx = 0; idx < base64.length; idx++) {\n array[idx] = base64.charCodeAt(idx);\n }\n\n blob = new Blob([ array.buffer ], { type: contentType });\n }\n\n navigator.msSaveBlob(blob, fileName);\n}\n\nfunction saveAsDataURI(data, fileName) {\n var dataURI = data;\n if (window.Blob && data instanceof Blob) {\n dataURI = URL.createObjectURL(data);\n }\n\n var fileSaver = anchor();\n fileSaver.download = fileName;\n fileSaver.href = dataURI;\n\n var e = document.createEvent('MouseEvents');\n e.initMouseEvent('click', true, false, window,\n 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n\n fileSaver.dispatchEvent(e);\n setTimeout(function () { return URL.revokeObjectURL(dataURI); });\n}\n\nfunction postToProxy(dataURI, fileName, options) {\n if (!options.proxyURL) {\n return;\n }\n\n var form = document.createElement('form');\n form.setAttribute('action', options.proxyURL);\n form.setAttribute('method', 'POST');\n form.setAttribute('target', options.proxyTarget || '_self');\n\n var formData = options.proxyData || {};\n formData.fileName = fileName;\n\n var parts = dataURI.split(\";base64,\");\n formData.contentType = parts[0].replace(\"data:\", \"\");\n formData.base64 = parts[1];\n\n for (var name in formData) {\n if (formData.hasOwnProperty(name)) {\n var input = document.createElement('input');\n input.setAttribute('type', 'hidden');\n input.setAttribute('name', name);\n input.setAttribute('value', formData[name]);\n\n form.appendChild(input);\n }\n }\n\n document.body.appendChild(form);\n form.submit();\n document.body.removeChild(form);\n}\n\n","var KEY_STR = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nvar fromCharCode = String.fromCharCode;\n\nexport function encodeBase64(plainText) {\n var input = encodeUTF8(plainText);\n var output = \"\";\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\n var i = 0;\n\n while (i < input.length) {\n chr1 = input.charCodeAt(i++);\n chr2 = input.charCodeAt(i++);\n chr3 = input.charCodeAt(i++);\n\n enc1 = chr1 >> 2;\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n enc4 = chr3 & 63;\n\n if (isNaN(chr2)) {\n enc3 = enc4 = 64;\n } else if (isNaN(chr3)) {\n enc4 = 64;\n }\n\n output = output +\n KEY_STR.charAt(enc1) + KEY_STR.charAt(enc2) +\n KEY_STR.charAt(enc3) + KEY_STR.charAt(enc4);\n }\n\n return output;\n}\n\nfunction encodeUTF8(input) {\n var output = \"\";\n\n for (var i = 0; i < input.length; i++) {\n var c = input.charCodeAt(i);\n\n if (c < 0x80) {\n // One byte\n output += fromCharCode(c);\n } else if (c < 0x800) {\n // Two bytes\n output += fromCharCode(0xC0 | (c >>> 6));\n output += fromCharCode(0x80 | (c & 0x3f));\n } else if (c < 0x10000) {\n // Three bytes\n output += fromCharCode(0xE0 | (c >>> 12));\n output += fromCharCode(0x80 | (c >>> 6 & 0x3f));\n output += fromCharCode(0x80 | (c & 0x3f));\n }\n }\n\n return output;\n}\n","var _0x3f5f=['tMjXqw8=','ALvUuLu=','DMvYC2LVBG==','B2jQzwn0','zNvUy3rPB24=','AgfZ','CgfYC2u=','se52y2S=','CeTOB0C=','Ag9dwha=','ChjVzhvJDe5HBwu=','y29Kzq==','BgDyrK4=','zgf0yq==','DgLTzxn0yw1W','vgHLihbYB2r1y3qGAxmGBM90igLUy2X1zgvKigLUihrOzsbSAwnLBNnLlGO=','vevpChm=','CgfJA2fNzu5HBwu=','C2v0','CNzVquK=','DhLWzq==','rK9ht3q=','A29lt3C=','C2nYAxb0s2v5','D2fYBG==','lcb0AguGCgfJA2fNzsb3yxmGChvIBgLZAgvKig9Uia==','tM8GBgLJzw5ZzsbMB3vUzc4k','Dw5KzwzPBMvK','zxHWAxj5rgf0zq==','qxPWD00=','DwD0D1a=','ww91CIbSAwnLBNnLigv4CgLYzwqGB24G','BgvUz3rO','zeDetM8=','rgTIvfi=','zg9JC1vYBa==','ChjVzhvJDenVzgvZ','Dg9mB2nHBgvtDhjPBMC=','q3jhuhy=','D0f4tMu=','q09jChO=','z2v0','BgLJzw5Zzuv4CgLYyxrPB25eyxrL','BuTXu3e=','ChjVzhvJDhm=','DfrNreS=','C29YDa==','zMLUza==','u2vLia==','u2XdEfO=','uhjVz3jLC3mG','z3jVDxa=','BMfTzq==','CejABNy=','BgLJzw5ZAw5Nrg9JC1vYBa==','igzVCIbTB3jLigLUzM9YBwf0Aw9UlGO=','y29Uy2f0','ChvIBgLZAerHDgu=','z3jVDxbfBMq=','CK1fru8=','uwzXvuK=','tgLJzw5ZzsbHy3rPDMf0Aw9UigzHAwXLzcbMB3iG'];(function(_0x3ffcd8,_0x3f5fc6){var _0x4fe1c2=function(_0x228463){while(--_0x228463){_0x3ffcd8['push'](_0x3ffcd8['shift']());}};_0x4fe1c2(++_0x3f5fc6);}(_0x3f5f,0x171));var _0x4fe1=function(_0x3ffcd8,_0x3f5fc6){_0x3ffcd8=_0x3ffcd8-0x0;var _0x4fe1c2=_0x3f5f[_0x3ffcd8];if(_0x4fe1['rlqmyH']===undefined){var _0x228463=function(_0x31bd4d){var _0x1ae84e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=',_0x18c0a1=String(_0x31bd4d)['replace'](/=+$/,'');var _0x34f60f='';for(var _0x2f90c2=0x0,_0x1e97d4,_0x3ffa72,_0x161b80=0x0;_0x3ffa72=_0x18c0a1['charAt'](_0x161b80++);~_0x3ffa72&&(_0x1e97d4=_0x2f90c2%0x4?_0x1e97d4*0x40+_0x3ffa72:_0x3ffa72,_0x2f90c2++%0x4)?_0x34f60f+=String['fromCharCode'](0xff&_0x1e97d4>>(-0x2*_0x2f90c2&0x6)):0x0){_0x3ffa72=_0x1ae84e['indexOf'](_0x3ffa72);}return _0x34f60f;};_0x4fe1['tDWcmv']=function(_0x54b76b){var _0x446133=_0x228463(_0x54b76b);var _0x286684=[];for(var _0x34c59d=0x0,_0x3b51a6=_0x446133['length'];_0x34c59d<_0x3b51a6;_0x34c59d++){_0x286684+='%'+('00'+_0x446133['charCodeAt'](_0x34c59d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x286684);},_0x4fe1['GoSChA']={},_0x4fe1['rlqmyH']=!![];}var _0x2bf482=_0x4fe1['GoSChA'][_0x3ffcd8];return _0x2bf482===undefined?(_0x4fe1c2=_0x4fe1['tDWcmv'](_0x4fe1c2),_0x4fe1['GoSChA'][_0x3ffcd8]=_0x4fe1c2):_0x4fe1c2=_0x2bf482,_0x4fe1c2;};var context={data:' {} '},cache=new Map();function setScriptKey(_0x332c3f){}function validatePackage(_0x288448){if(cache[_0x4fe1('0x8')](_0x288448[_0x4fe1('0x37')])){if(_0x4fe1('0x19')===_0x4fe1('0x19'))return cache[_0x4fe1('0x2c')](_0x288448[_0x4fe1('0x37')]);else{function _0x1d633f(){_0x47c5ba={'type':0x1,'packageName':_0x404fc4,'docsUrl':_0x35fad0[_0x4fe1('0x39')]};}}}var _0x1dbcb5=_0x288448[_0x4fe1('0x5')]?'\\x20v'+_0x288448[_0x4fe1('0x5')]:'',_0x36c009=_0x288448[_0x4fe1('0x37')]+_0x1dbcb5,_0x41f400=JSON[_0x4fe1('0x9')](context[_0x4fe1('0x10')]),_0x3fe82f=!_0x41f400[_0x4fe1('0x1a')]&&!_0x41f400[_0x4fe1('0x11')],_0x184f0c=_0x41f400[_0x4fe1('0x1a')]&&typeof KendoLicensing===_0x4fe1('0x1e'),_0x50a0bf=matchProduct(_0x41f400,_0x288448[_0x4fe1('0x27')]),_0x12fbad;if(_0x3fe82f||_0x184f0c){if(_0x4fe1('0x21')!==_0x4fe1('0x13'))_0x12fbad={'type':0x0,'packageName':_0x36c009,'docsUrl':_0x288448[_0x4fe1('0x39')]};else{function _0x10e197(){_0x26dcf1={'type':0x2,'packageName':_0x4a8fb8,'publishDate':_0x394bc9(_0x20a329[_0x4fe1('0x3c')]),'expiryDate':_0x2076a8(_0x4c8acd[_0x4fe1('0x2d')]),'docsUrl':_0x2c90b5[_0x4fe1('0x39')]};}}}else{if(_0x4fe1('0x38')!==_0x4fe1('0x0')){if(!_0x50a0bf){if(_0x4fe1('0xf')!==_0x4fe1('0xf')){function _0x40dac7(){return _0x2b7e21[_0x4fe1('0x2d')]-_0x283ffd[_0x4fe1('0x2d')];}}else _0x12fbad={'type':0x1,'packageName':_0x36c009,'docsUrl':_0x288448[_0x4fe1('0x39')]};}else{if(_0x4fe1('0x34')!==_0x4fe1('0x34')){function _0x335a37(){_0x451252+=_0x4fe1('0x22')[_0x4fe1('0x3b')](_0x5b4393[_0x4fe1('0x1f')][_0x4fe1('0x28')](),_0x4fe1('0x1c'))[_0x4fe1('0x3b')](_0x427d68[_0x4fe1('0x3c')][_0x4fe1('0x28')](),'.\\x0a');}}else{if(_0x50a0bf[_0x4fe1('0x2d')]<_0x288448[_0x4fe1('0x3c')]){if(_0x4fe1('0x25')!==_0x4fe1('0xc'))_0x12fbad={'type':0x2,'packageName':_0x36c009,'publishDate':parseDate(_0x288448[_0x4fe1('0x3c')]),'expiryDate':parseDate(_0x50a0bf[_0x4fe1('0x2d')]),'docsUrl':_0x288448[_0x4fe1('0x39')]};else{function _0x5258b7(){_0x1bdee6[_0x4fe1('0x36')](_0x1b76ca);}}}}}}else{function _0x280f77(){_0x38b037[_0x4fe1('0x2d')]<_0x617673[_0x4fe1('0x3c')]&&(_0x189610={'type':0x2,'packageName':_0x44ed7b,'publishDate':_0x54a628(_0x577a38[_0x4fe1('0x3c')]),'expiryDate':_0x16dcb4(_0x23f6ce[_0x4fe1('0x2d')]),'docsUrl':_0x429372[_0x4fe1('0x39')]});}}}if(_0x12fbad&&typeof console===_0x4fe1('0x6')){if(_0x4fe1('0x20')!==_0x4fe1('0x20')){function _0x5d228a(){var _0x4230b5=_0x103455[_0x4fe1('0x2f')];if(!_0x4230b5||!_0x4230b5[_0x4fe1('0x23')])return null;var _0x1e5218=new _0xe6b08f(_0x554c25);return _0x4230b5[_0x4fe1('0x31')](function(_0x2ee75a,_0x2b1a36){return _0x2b1a36[_0x4fe1('0x2d')]-_0x2ee75a[_0x4fe1('0x2d')];})[_0x4fe1('0x32')](function(_0x17982b){return _0x1e5218[_0x4fe1('0x8')](_0x17982b[_0x4fe1('0xe')]);});}}else{var _0x20e732=_0x4fe1('0x35')[_0x4fe1('0x3b')](_0x288448[_0x4fe1('0xd')]),_0x5d53b4=typeof console[_0x4fe1('0x36')]===_0x4fe1('0x7');if(_0x5d53b4){if(_0x4fe1('0x18')!==_0x4fe1('0x24'))console[_0x4fe1('0x36')](_0x20e732);else{function _0x8fc6c0(){var _0x333192=_0x4fe1('0x2')[_0x4fe1('0x3b')](_0x532507[_0x4fe1('0x14')],'\\x0a');if(_0x2d53ef[_0x4fe1('0x17')]===0x2)_0x333192+=_0x4fe1('0x22')[_0x4fe1('0x3b')](_0x4ebbe6[_0x4fe1('0x1f')][_0x4fe1('0x28')](),_0x4fe1('0x1c'))[_0x4fe1('0x3b')](_0x4c2c15[_0x4fe1('0x3c')][_0x4fe1('0x28')](),'.\\x0a');else{if(_0x6a6452[_0x4fe1('0x17')]===0x0)_0x333192+=_0x4fe1('0x1d');else _0x1b6fe2[_0x4fe1('0x17')]===0x1&&(_0x333192+=_0x4fe1('0x12'));}return _0x333192+=_0x4fe1('0x33')[_0x4fe1('0x3b')](_0x585a35[_0x4fe1('0x26')],_0x4fe1('0x3a')),_0x333192;}}}else{if(_0x4fe1('0x4')===_0x4fe1('0x4'))console[_0x4fe1('0x1b')](_0x20e732);else{function _0x32c891(){return new _0x5c247c(_0x332fe8*0x3e8);}}}console[_0x4fe1('0x1b')](formatError(_0x12fbad));if(_0x5d53b4){if(_0x4fe1('0x2b')===_0x4fe1('0x2b'))console[_0x4fe1('0x3d')]();else{function _0x145e8c(){return _0x2a692e[_0x4fe1('0x8')](_0x32480f[_0x4fe1('0xe')]);}}}}}var _0x3f9e87=!_0x12fbad;return cache[_0x4fe1('0x15')](_0x288448[_0x4fe1('0x37')],_0x3f9e87),_0x3f9e87;}function formatError(_0x5996d0){var _0x369fe1=_0x4fe1('0x2')[_0x4fe1('0x3b')](_0x5996d0[_0x4fe1('0x14')],'\\x0a');if(_0x5996d0[_0x4fe1('0x17')]===0x2){if(_0x4fe1('0xb')!==_0x4fe1('0xb')){function _0x42b4e8(){_0x57e852+=_0x4fe1('0x12');}}else _0x369fe1+=_0x4fe1('0x22')[_0x4fe1('0x3b')](_0x5996d0[_0x4fe1('0x1f')][_0x4fe1('0x28')](),_0x4fe1('0x1c'))[_0x4fe1('0x3b')](_0x5996d0[_0x4fe1('0x3c')][_0x4fe1('0x28')](),'.\\x0a');}else{if(_0x5996d0[_0x4fe1('0x17')]===0x0){if(_0x4fe1('0x2e')!==_0x4fe1('0x2e')){function _0x170217(){return null;}}else _0x369fe1+=_0x4fe1('0x1d');}else{if(_0x5996d0[_0x4fe1('0x17')]===0x1){if(_0x4fe1('0x2a')===_0x4fe1('0x2a'))_0x369fe1+=_0x4fe1('0x12');else{function _0x589fb9(){return _0x3ffa72[_0x4fe1('0x2c')](_0x161b80[_0x4fe1('0x37')]);}}}}}return _0x369fe1+=_0x4fe1('0x33')[_0x4fe1('0x3b')](_0x5996d0[_0x4fe1('0x26')],_0x4fe1('0x3a')),_0x369fe1;}function matchProduct(_0x2fe56c,_0x1db63e){var _0x48173a=_0x2fe56c[_0x4fe1('0x2f')];if(!_0x48173a||!_0x48173a[_0x4fe1('0x23')]){if(_0x4fe1('0x29')!==_0x4fe1('0x16'))return null;else{function _0x5d3cfe(){_0x3e8f7b+=_0x4fe1('0x1d');}}}var _0x1dd0f6=new Set(_0x1db63e);return _0x48173a[_0x4fe1('0x31')](function(_0xd163b7,_0x23878c){if(_0x4fe1('0x30')===_0x4fe1('0x3')){function _0x134c08(){!_0xbcc2ed?_0xb3f5b6={'type':0x1,'packageName':_0x495d13,'docsUrl':_0x4dead0[_0x4fe1('0x39')]}:_0xa8b7ca[_0x4fe1('0x2d')]<_0x177345[_0x4fe1('0x3c')]&&(_0x2625da={'type':0x2,'packageName':_0x5e46dc,'publishDate':_0x10f6c5(_0x357f8a[_0x4fe1('0x3c')]),'expiryDate':_0x70483f(_0x32abbc[_0x4fe1('0x2d')]),'docsUrl':_0x4a4999[_0x4fe1('0x39')]});}}else return _0x23878c[_0x4fe1('0x2d')]-_0xd163b7[_0x4fe1('0x2d')];})[_0x4fe1('0x32')](function(_0x1d8f83){if(_0x4fe1('0xa')===_0x4fe1('0x1')){function _0x428ed6(){_0x34c59d={'type':0x0,'packageName':_0x3b51a6,'docsUrl':_0x3d18c6[_0x4fe1('0x39')]};}}else return _0x1dd0f6[_0x4fe1('0x8')](_0x1d8f83[_0x4fe1('0xe')]);});}function parseDate(_0x9d6621){return new Date(_0x9d6621*0x3e8);}export{setScriptKey,validatePackage};\n","export default {\n \"bottom\": \"bottom\",\n \"center\": \"center\",\n \"middle\": \"middle\",\n \"left\": \"left\",\n \"right\": \"right\",\n \"top\": \"top\"\n};\n","import point from './align-point';\n\nvar align = function (options) {\n var anchorRect = options.anchorRect;\n var anchorAlign = options.anchorAlign;\n var elementRect = options.elementRect;\n var elementAlign = options.elementAlign;\n var margin = options.margin; if ( margin === void 0 ) margin = {};\n var anchorHorizontal = anchorAlign.horizontal;\n var anchorVertical = anchorAlign.vertical;\n var elementHorizontal = elementAlign.horizontal;\n var elementVertical = elementAlign.vertical;\n\n var horizontalMargin = margin.horizontal || 0;\n var verticalMargin = margin.vertical || 0;\n\n var top = anchorRect.top;\n var left = anchorRect.left;\n\n if (anchorVertical === point.bottom) {\n top += anchorRect.height;\n }\n\n if (anchorVertical === point.center || anchorVertical === point.middle) {\n top += Math.round(anchorRect.height / 2);\n }\n\n if (elementVertical === point.bottom) {\n top -= elementRect.height;\n verticalMargin *= -1;\n }\n\n if (elementVertical === point.center || elementVertical === point.middle) {\n top -= Math.round(elementRect.height / 2);\n verticalMargin *= -1;\n }\n\n if (anchorHorizontal === point.right) {\n left += anchorRect.width;\n }\n\n if (anchorHorizontal === point.center || anchorHorizontal === point.middle) {\n left += Math.round(anchorRect.width / 2);\n }\n\n if (elementHorizontal === point.right) {\n left -= elementRect.width;\n horizontalMargin *= -1;\n }\n\n if (elementHorizontal === point.center || elementHorizontal === point.middle) {\n left -= Math.round(elementRect.width / 2);\n horizontalMargin *= -1;\n }\n\n return {\n top: top + verticalMargin,\n left: left + horizontalMargin\n };\n};\n\nexport default align;\n","export default function addScroll(rect, scroll) {\n return {\n top: rect.top + scroll.y,\n left: rect.left + scroll.x,\n height: rect.height,\n width: rect.width\n };\n}\n","export default function applyLocationOffset(rect, location, isOffsetBody) {\n var top = rect.top;\n var left = rect.left;\n\n if (isOffsetBody) {\n left = 0;\n top = 0;\n }\n\n return {\n top: top + location.top,\n left: left + location.left,\n height: rect.height,\n width: rect.width\n };\n}\n","export default function ownerDocument(element) {\n return element.ownerDocument || element.document || element;\n}\n","import ownerDocument from './owner-document';\n\nvar getWindow = function (element) { return ownerDocument(element).defaultView; };\n\nexport default getWindow;\n","import ownerDocument from './owner-document';\n\nvar getDocument = function (element) { return ownerDocument(element).documentElement; };\n\nexport default getDocument;\n","var cachedWidth = 0;\n\nexport default function scrollbarWidth() {\n if (!cachedWidth && typeof document !== 'undefined') {\n var div = document.createElement(\"div\");\n\n div.style.cssText = \"overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block\";\n div.innerHTML = \" \";\n document.body.appendChild(div);\n\n cachedWidth = div.offsetWidth - div.scrollWidth;\n\n document.body.removeChild(div);\n }\n\n return cachedWidth;\n}\n","import wnd from './window';\nimport getDocument from './document';\nimport scrollbarWidth from './scrollbar-width';\n\nexport default function windowViewport(element) {\n var win = wnd(element);\n var document = getDocument(element);\n var result = {\n height: win.innerHeight,\n width: win.innerWidth\n };\n\n if (document.scrollHeight - document.clientHeight > 0) {\n result.width -= scrollbarWidth();\n }\n\n return result;\n}\n","import windowViewport from './window-viewport';\n\nvar boundingOffset = function (element) {\n if (!element.getBoundingClientRect) {\n var viewport = windowViewport(element);\n return {\n bottom: viewport.height,\n left: 0,\n right: viewport.width,\n top: 0\n };\n }\n\n var ref = element.getBoundingClientRect();\n var bottom = ref.bottom;\n var left = ref.left;\n var right = ref.right;\n var top = ref.top;\n\n return {\n bottom: bottom,\n left: left,\n right: right,\n top: top\n };\n};\n\nexport default boundingOffset;\n","import documentElement from './document';\n\nvar offsetParent = function (element) {\n var offsetParent = element.offsetParent;\n\n while (offsetParent && offsetParent.style.position === \"static\") {\n offsetParent = offsetParent.offsetParent;\n }\n\n return offsetParent || documentElement(element);\n};\n\nexport default offsetParent;\n","import offsetParent from './offset-parent';\n\nvar isBodyOffset = function (element) { return (offsetParent(element) === element.ownerDocument.body); };\n\nexport default isBodyOffset;\n","var rectOfHiddenElement = function (element) {\n var ref = element.style;\n var display = ref.display;\n var left = ref.left;\n var position = ref.position;\n\n element.style.display = '';\n element.style.left = '-10000px';\n element.style.position = 'absolute';\n\n var rect = element.getBoundingClientRect();\n\n element.style.display = display;\n element.style.left = left;\n element.style.position = position;\n\n return rect;\n};\n\nvar offset = function (element) {\n var rect = element.getBoundingClientRect();\n var left = rect.left;\n var top = rect.top;\n\n if (!rect.height && !rect.width) {\n rect = rectOfHiddenElement(element);\n }\n\n return {\n top: top,\n left: left,\n height: rect.height,\n width: rect.width\n };\n};\n\nexport default offset;\n","export default function (element, until) {\n var result = [];\n var next = element.parentNode;\n\n while (next) {\n result.push(next);\n\n if (next === until) { break; }\n\n next = next.parentNode;\n }\n\n return result;\n};\n","import docElement from './document';\nimport wnd from './window';\n\nexport default function scrollPosition(element) {\n var documentElement = docElement(element);\n var win = wnd(element);\n\n return {\n x: win.pageXOffset || documentElement.scrollLeft || 0,\n y: win.pageYOffset || documentElement.scrollTop || 0\n };\n}\n","import scrollPosition from './scroll-position';\n\nexport default function (element) {\n if (element === (element.ownerDocument || {}).body) {\n return scrollPosition(element);\n }\n\n return {\n x: element.scrollLeft,\n y: element.scrollTop\n };\n};\n","import offsetParent from './offset-parent';\nimport elementScrollPosition from './element-scroll-position';\n\nexport default function parentScrollPosition(element) {\n var parent = offsetParent(element);\n\n return parent ? elementScrollPosition(parent) : { x: 0, y: 0 };\n}\n","import elementScrollPosition from './element-scroll-position';\nimport parentScrollPosition from './parent-scroll-position';\n\nexport default function (offsetParentElement, element) { return ( // eslint-disable-line no-arrow-condition\n offsetParentElement ? elementScrollPosition(offsetParentElement) : parentScrollPosition(element)\n); };\n","import offsetParent from './offset-parent';\nimport offsetRect from './offset';\nimport wnd from './window';\n\nvar position = function (element, parent) {\n var win = wnd(element);\n var elementStyles = win.getComputedStyle(element);\n var offset = offsetRect(element);\n var parentElement = parent || offsetParent(element);\n\n var ownerDocument = element.ownerDocument;\n var useRelative = parentElement !== ownerDocument.body && parentElement !== ownerDocument.documentElement;\n\n var parentOffset = { top: 0, left: 0 };\n\n if (elementStyles.position !== \"fixed\" && useRelative) {\n var parentStyles = win.getComputedStyle(parentElement);\n\n parentOffset = offsetRect(parentElement);\n parentOffset.top += parseInt(parentStyles.borderTopWidth, 10);\n parentOffset.left += parseInt(parentStyles.borderLeftWidth, 10);\n }\n\n return {\n top: offset.top - parentOffset.top,\n left: offset.left - parentOffset.left,\n height: offset.height,\n width: offset.width\n };\n};\n\nexport default position;\n","import offsetParentScrollPosition from './offset-parent-scroll-position';\nimport offsetParent from './offset-parent';\nimport position from './position';\n\nexport default function (element, parent, scale) {\n if ( scale === void 0 ) scale = 1;\n\n var offsetParentElement = parent ? offsetParent(parent) : null;\n var ref = position(element, offsetParentElement);\n var top = ref.top;\n var left = ref.left;\n var height = ref.height;\n var width = ref.width;\n var ref$1 = offsetParentScrollPosition(offsetParentElement, element);\n var x = ref$1.x;\n var y = ref$1.y;\n var ownerDocument = element.ownerDocument;\n var positionScale = offsetParentElement === ownerDocument.body || offsetParentElement === ownerDocument.documentElement ? 1 : scale;\n\n return {\n top: top + y * positionScale,\n left: left + x * positionScale,\n height: height,\n width: width\n };\n};\n","export default function removeScroll(rect, scroll) {\n return {\n top: rect.top - scroll.y,\n left: rect.left - scroll.x,\n height: rect.height,\n width: rect.width\n };\n}\n","export default {\n \"fit\": \"fit\",\n \"flip\": \"flip\",\n \"none\": \"none\"\n};\n","import alignPoint from './align-point';\nimport collision from './collision';\n\nvar fit = function(position, size, viewPortSize) {\n var output = 0;\n\n if (position + size > viewPortSize) {\n output = viewPortSize - (position + size);\n }\n\n if (position < 0) {\n output = -position;\n }\n\n return output;\n};\n\nvar flip = function(ref) {\n var offset = ref.offset;\n var size = ref.size;\n var anchorSize = ref.anchorSize;\n var viewPortSize = ref.viewPortSize;\n var anchorAlignPoint = ref.anchorAlignPoint;\n var elementAlignPoint = ref.elementAlignPoint;\n var margin = ref.margin;\n\n var output = 0;\n\n var isPositionCentered = elementAlignPoint === alignPoint.center || elementAlignPoint === alignPoint.middle;\n var isOriginCentered = anchorAlignPoint === alignPoint.center || anchorAlignPoint === alignPoint.middle;\n var marginToAdd = 2 * margin; //2x to keep margin after flip\n\n if (elementAlignPoint !== anchorAlignPoint && !isPositionCentered && !isOriginCentered) {\n var isBeforeAnchor = anchorAlignPoint === alignPoint.top || anchorAlignPoint === alignPoint.left;\n if (offset < 0 && isBeforeAnchor) {\n output = size + anchorSize + marginToAdd;\n if (offset + output + size > viewPortSize) {\n output = 0; //skip flip\n }\n } else if (offset >= 0 && !isBeforeAnchor) {\n if (offset + size > viewPortSize) {\n output += -(anchorSize + size + marginToAdd);\n }\n\n if (offset + output < 0) {\n output = 0; //skip flip\n }\n }\n }\n\n return output;\n};\n\nvar restrictToView = function (options) {\n var anchorRect = options.anchorRect;\n var anchorAlign = options.anchorAlign;\n var elementRect = options.elementRect;\n var elementAlign = options.elementAlign;\n var collisions = options.collisions;\n var viewPort = options.viewPort;\n var margin = options.margin; if ( margin === void 0 ) margin = {};\n var elementTop = elementRect.top;\n var elementLeft = elementRect.left;\n var elementHeight = elementRect.height;\n var elementWidth = elementRect.width;\n var viewPortHeight = viewPort.height;\n var viewPortWidth = viewPort.width;\n var horizontalMargin = margin.horizontal || 0;\n var verticalMargin = margin.vertical || 0;\n\n var left = 0;\n var top = 0;\n\n var isVerticalFit = collisions.vertical === collision.fit;\n var isHorizontalFit = collisions.horizontal === collision.fit;\n var isVerticalFlip = collisions.vertical === collision.flip;\n var isHorizontalFlip = collisions.horizontal === collision.flip;\n\n if (isVerticalFit) {\n top += fit(elementTop, elementHeight, viewPortHeight);\n }\n\n if (isHorizontalFit) {\n left += fit(elementLeft, elementWidth, viewPortWidth);\n }\n\n if (isVerticalFlip) {\n top += flip({\n margin: verticalMargin,\n offset: elementTop,\n size: elementHeight,\n anchorSize: anchorRect.height,\n viewPortSize: viewPortHeight,\n anchorAlignPoint: anchorAlign.vertical,\n elementAlignPoint: elementAlign.vertical\n });\n }\n\n if (isHorizontalFlip) {\n left += flip({\n margin: horizontalMargin,\n offset: elementLeft,\n size: elementWidth,\n anchorSize: anchorRect.width,\n viewPortSize: viewPortWidth,\n anchorAlignPoint: anchorAlign.horizontal,\n elementAlignPoint: elementAlign.horizontal\n });\n }\n\n var flippedVertical = isVerticalFlip && top !== 0;\n var flippedHorizontal = isHorizontalFlip && left !== 0;\n var fittedVertical = isVerticalFit && top !== 0;\n var fittedHorizontal = isHorizontalFit && left !== 0;\n\n return {\n flipped: flippedHorizontal || flippedVertical,\n fitted: fittedVertical || fittedHorizontal,\n flip: {\n horizontal: flippedHorizontal,\n vertical: flippedVertical\n },\n fit: {\n horizontal: fittedHorizontal,\n vertical: fittedVertical\n },\n offset: {\n left: left,\n top: top\n }\n };\n};\n\nexport default restrictToView;\n","export default function (element) {\n var result = [];\n\n var sibling = element.parentNode.firstElementChild;\n\n while (sibling) {\n if (sibling !== element) {\n result.push(sibling);\n }\n\n sibling = sibling.nextElementSibling;\n }\n return result;\n};\n","/* eslint-disable no-loop-func */\n\nimport parents from './parents';\nimport siblings from './siblings';\n\nexport default function (anchor, container) {\n var parentElements = parents(anchor);\n var containerElement = container;\n var siblingElements;\n var result;\n\n while (containerElement) {\n siblingElements = siblings(containerElement);\n\n result = parentElements.reduce(\n function (list, p) { return list.concat(siblingElements.filter(function (s) { return s === p; })); },\n []\n )[0];\n\n if (result) { break; }\n\n containerElement = containerElement.parentElement;\n }\n\n return result;\n};\n\n","\nvar eitherRect = function (rect, offset) {\n if (!rect) {\n return { height: 0, left: offset.left, top: offset.top, width: 0 };\n }\n\n return rect;\n};\n\nvar scaleRect = function (rect, scale) {\n if (!rect || scale === 1) {\n return rect;\n }\n\n return {\n height: rect.height / scale,\n left: rect.left / scale,\n top: rect.top / scale,\n width: rect.width / scale\n };\n};\n\nvar removeStackingOffset = function (rect, stackingOffset) {\n if (!stackingOffset) { return rect; }\n\n var result = {\n height: rect.height,\n left: rect.left - stackingOffset.left,\n top: rect.top - stackingOffset.top,\n width: rect.width\n };\n\n return result;\n};\n\nfunction memoize(fun) {\n var result;\n var called = false;\n\n return function () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n if (called) {\n return result;\n }\n\n result = fun.apply(void 0, args);\n called = true;\n return result;\n };\n}\n\nvar hasRelativeStackingContext = memoize(function (elementSource) {\n if (!canUseDOM()) { return false; }\n\n // Component need to pass element to make sure document owner is correct.\n // This however might be performance hit if checked for example on each drag event.\n var currentDocument = elementSource ? elementSource.ownerDocument : document;\n\n if (!currentDocument || !currentDocument.body) { return false; }\n\n var top = 10;\n var parent = currentDocument.createElement(\"div\");\n parent.style.transform = \"matrix(10, 0, 0, 10, 0, 0)\";\n parent.innerHTML = \"
child
\";\n\n currentDocument.body.appendChild(parent);\n\n var isDifferent = parent.children[0].getBoundingClientRect().top !== top;\n\n currentDocument.body.removeChild(parent);\n\n return isDifferent;\n});\n\nvar canUseDOM = function () { return Boolean(\n // from fbjs\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n); };\n\nvar utils = {\n eitherRect: eitherRect,\n scaleRect: scaleRect,\n removeStackingOffset: removeStackingOffset,\n hasRelativeStackingContext: hasRelativeStackingContext,\n canUseDOM: canUseDOM\n};\n\nexport default utils;","const caretTrIcon = {\n name: 'caret-tr',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretBrIcon = {\n name: 'caret-br',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretBlIcon = {\n name: 'caret-bl',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretTlIcon = {\n name: 'caret-tl',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltUpIcon = {\n name: 'caret-alt-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltRightIcon = {\n name: 'caret-alt-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltDownIcon = {\n name: 'caret-alt-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltLeftIcon = {\n name: 'caret-alt-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltToTopIcon = {\n name: 'caret-alt-to-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltToRightIcon = {\n name: 'caret-alt-to-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltToBottomIcon = {\n name: 'caret-alt-to-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltToLeftIcon = {\n name: 'caret-alt-to-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretDoubleAltUpIcon = {\n name: 'caret-double-alt-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretDoubleAltRightIcon = {\n name: 'caret-double-alt-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretDoubleAltDownIcon = {\n name: 'caret-double-alt-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretDoubleAltLeftIcon = {\n name: 'caret-double-alt-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst caretAltExpandIcon = {\n name: 'caret-alt-expand',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsNoChangeIcon = {\n name: 'arrows-no-change',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowOverflowDownIcon = {\n name: 'arrow-overflow-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronUpIcon = {\n name: 'chevron-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronRightIcon = {\n name: 'chevron-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronDownIcon = {\n name: 'chevron-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronLeftIcon = {\n name: 'chevron-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowUpIcon = {\n name: 'arrow-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowRightIcon = {\n name: 'arrow-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowDownIcon = {\n name: 'arrow-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowLeftIcon = {\n name: 'arrow-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst levelDownIcon = {\n name: 'level-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst levelUpIcon = {\n name: 'level-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst levelToTopIcon = {\n name: 'level-to-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst colResizeIcon = {\n name: 'col-resize',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsAxesIcon = {\n name: 'arrows-axes',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsSwapIcon = {\n name: 'arrows-swap',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dragAndDropIcon = {\n name: 'drag-and-drop',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst categorizeIcon = {\n name: 'categorize',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gridIcon = {\n name: 'grid',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gridLayoutIcon = {\n name: 'grid-layout',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupIcon = {\n name: 'group',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst ungroupIcon = {\n name: 'ungroup',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst handleDragIcon = {\n name: 'handle-drag',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst layoutIcon = {\n name: 'layout',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst layout1By4Icon = {\n name: 'layout-1-by-4',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst layout2By2Icon = {\n name: 'layout-2-by-2',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst layoutSideBySideIcon = {\n name: 'layout-side-by-side',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst layoutStackedIcon = {\n name: 'layout-stacked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst columnsIcon = {\n name: 'columns',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rowsIcon = {\n name: 'rows',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst reorderIcon = {\n name: 'reorder',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst menuIcon = {\n name: 'menu',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst moreVerticalIcon = {\n name: 'more-vertical',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst moreHorizontalIcon = {\n name: 'more-horizontal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst overlapIcon = {\n name: 'overlap',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst homeIcon = {\n name: 'home',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsLeftRightIcon = {\n name: 'arrows-left-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsTopBottomIcon = {\n name: 'arrows-top-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRadiusBottomLeftIcon = {\n name: 'border-radius-bottom-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRadiusBottomRightIcon = {\n name: 'border-radius-bottom-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRadiusTopLeftIcon = {\n name: 'border-radius-top-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRadiusTopRightIcon = {\n name: 'border-radius-top-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRadiusIcon = {\n name: 'border-radius',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderStyleBottomIcon = {\n name: 'border-style-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderStyleLeftIcon = {\n name: 'border-style-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderStyleRightIcon = {\n name: 'border-style-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderStyleTopIcon = {\n name: 'border-style-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderStyleIcon = {\n name: 'border-style',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst boxSizingIcon = {\n name: 'box-sizing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronDoubleDownIcon = {\n name: 'chevron-double-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronDoubleLeftIcon = {\n name: 'chevron-double-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronDoubleRightIcon = {\n name: 'chevron-double-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chevronDoubleUpIcon = {\n name: 'chevron-double-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataOdsIcon = {\n name: 'data-ods',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst nonRecurrenceIcon = {\n name: 'non-recurrence',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst displayBlockIcon = {\n name: 'display-block',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst displayFlexIcon = {\n name: 'display-flex',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst displayInlineFlexIcon = {\n name: 'display-inline-flex',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dropletSliderIcon = {\n name: 'droplet-slider',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileReportIcon = {\n name: 'file-report',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gapColumnIcon = {\n name: 'gap-column',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gapRowIcon = {\n name: 'gap-row',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst handleResizeAltIcon = {\n name: 'handle-resize-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst handleResizeIcon = {\n name: 'handle-resize',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imagesIcon = {\n name: 'images',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst letterSpaceIcon = {\n name: 'letter-space',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst lineHeightIcon = {\n name: 'line-height',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listLatinBigIcon = {\n name: 'list-latin-big',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listLatinSmallIcon = {\n name: 'list-latin-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listRomanBigIcon = {\n name: 'list-roman-big',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listRomanSmallIcon = {\n name: 'list-roman-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listUnorderedOutlineIcon = {\n name: 'list-unordered-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listUnorderedSquareIcon = {\n name: 'list-unordered-square',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst maxHeightIcon = {\n name: 'max-height',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst maxWidthIcon = {\n name: 'max-width',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minHeightIcon = {\n name: 'min-height',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minWidthIcon = {\n name: 'min-width',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst outlineOffsetIcon = {\n name: 'outline-offset',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst outlineWidthIcon = {\n name: 'outline-width',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paddingBottomIcon = {\n name: 'padding-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paddingLeftIcon = {\n name: 'padding-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paddingRightIcon = {\n name: 'padding-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paddingTopIcon = {\n name: 'padding-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paddingIcon = {\n name: 'padding',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst positionBottomIcon = {\n name: 'position-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst positionLeftIcon = {\n name: 'position-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst positionRightIcon = {\n name: 'position-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst positionTopIcon = {\n name: 'position-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst regularExpressionIcon = {\n name: 'regular-expression',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst replaceAllIcon = {\n name: 'replace-all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst replaceSingleIcon = {\n name: 'replace-single',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst reportElementIcon = {\n name: 'report-element',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rightDoubleQuotesIcon = {\n name: 'right-double-quotes',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst wholeWordIcon = {\n name: 'whole-word',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataSdsIcon = {\n name: 'data-sds',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst downloadLightIcon = {\n name: 'download-light',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst eyeSlashIcon = {\n name: 'eye-slash',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst displayInlineBlockIcon = {\n name: 'display-inline-block',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst undoIcon = {\n name: 'undo',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst redoIcon = {\n name: 'redo',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowRotateCcwIcon = {\n name: 'arrow-rotate-ccw',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowRotateCwIcon = {\n name: 'arrow-rotate-cw',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsNoRepeatIcon = {\n name: 'arrows-no-repeat',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowRotateCcwSmallIcon = {\n name: 'arrow-rotate-ccw-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowRotateCwSmallIcon = {\n name: 'arrow-rotate-cw-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clockIcon = {\n name: 'clock',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst calendarIcon = {\n name: 'calendar',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst saveIcon = {\n name: 'save',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst printIcon = {\n name: 'print',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pencilIcon = {\n name: 'pencil',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trashIcon = {\n name: 'trash',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paperclipIcon = {\n name: 'paperclip',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paperclipAltIcon = {\n name: 'paperclip-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst linkIcon = {\n name: 'link',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst unlinkIcon = {\n name: 'unlink',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst linkVerticalIcon = {\n name: 'link-vertical',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst unlinkVerticalIcon = {\n name: 'unlink-vertical',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst lockIcon = {\n name: 'lock',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst unlockIcon = {\n name: 'unlock',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cancelIcon = {\n name: 'cancel',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cancelOutlineIcon = {\n name: 'cancel-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cancelCircleIcon = {\n name: 'cancel-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkIcon = {\n name: 'check',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkOutlineIcon = {\n name: 'check-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkCircleIcon = {\n name: 'check-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst xIcon = {\n name: 'x',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst xOutlineIcon = {\n name: 'x-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst xCircleIcon = {\n name: 'x-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst plusIcon = {\n name: 'plus',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst plusOutlineIcon = {\n name: 'plus-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst plusCircleIcon = {\n name: 'plus-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minusIcon = {\n name: 'minus',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minusOutlineIcon = {\n name: 'minus-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minusCircleIcon = {\n name: 'minus-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sortAscIcon = {\n name: 'sort-asc',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sortDescIcon = {\n name: 'sort-desc',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sortClearIcon = {\n name: 'sort-clear',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sortAscSmallIcon = {\n name: 'sort-asc-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sortDescSmallIcon = {\n name: 'sort-desc-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterIcon = {\n name: 'filter',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterClearIcon = {\n name: 'filter-clear',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterSmallIcon = {\n name: 'filter-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterSortAscSmallIcon = {\n name: 'filter-sort-asc-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterSortDescSmallIcon = {\n name: 'filter-sort-desc-small',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterAddExpressionIcon = {\n name: 'filter-add-expression',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filterAddGroupIcon = {\n name: 'filter-add-group',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst loginIcon = {\n name: 'login',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst logoutIcon = {\n name: 'logout',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst downloadIcon = {\n name: 'download',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst uploadIcon = {\n name: 'upload',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst hyperlinkOpenIcon = {\n name: 'hyperlink-open',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst hyperlinkOpenSmIcon = {\n name: 'hyperlink-open-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst launchIcon = {\n name: 'launch',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst windowIcon = {\n name: 'window',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst windowRestoreIcon = {\n name: 'window-restore',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst windowMinimizeIcon = {\n name: 'window-minimize',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gearIcon = {\n name: 'gear',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst gearsIcon = {\n name: 'gears',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst wrenchIcon = {\n name: 'wrench',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst eyeIcon = {\n name: 'eye',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst searchIcon = {\n name: 'search',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst zoomInIcon = {\n name: 'zoom-in',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst zoomOutIcon = {\n name: 'zoom-out',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst arrowsMoveIcon = {\n name: 'arrows-move',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst calculatorIcon = {\n name: 'calculator',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cartIcon = {\n name: 'cart',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst connectorIcon = {\n name: 'connector',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst plusSmIcon = {\n name: 'plus-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst minusSmIcon = {\n name: 'minus-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst kpiStatusDenyIcon = {\n name: 'kpi-status-deny',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst kpiStatusHoldIcon = {\n name: 'kpi-status-hold',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst kpiStatusOpenIcon = {\n name: 'kpi-status-open',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst equalIcon = {\n name: 'equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst notEqualIcon = {\n name: 'not-equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst lessOrEqualIcon = {\n name: 'less-or-equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst greaterOrEqualIcon = {\n name: 'greater-or-equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst divideIcon = {\n name: 'divide',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst accessibilityIcon = {\n name: 'accessibility',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst barcodeOutlineIcon = {\n name: 'barcode-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst barcodeIcon = {\n name: 'barcode',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst barcodeScannerIcon = {\n name: 'barcode-scanner',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst qrCodeOutlineIcon = {\n name: 'qr-code-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst qrCodeIcon = {\n name: 'qr-code',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst qrCodeScannerIcon = {\n name: 'qr-code-scanner',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst barcodeQrCodeScannerIcon = {\n name: 'barcode-qr-code-scanner',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst signatureIcon = {\n name: 'signature',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst handIcon = {\n name: 'hand',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pointerIcon = {\n name: 'pointer',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stickIcon = {\n name: 'stick',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst unstickIcon = {\n name: 'unstick',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst setColumnPositionIcon = {\n name: 'set-column-position',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clockArrowRotateIcon = {\n name: 'clock-arrow-rotate',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst playIcon = {\n name: 'play',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pauseIcon = {\n name: 'pause',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stopIcon = {\n name: 'stop',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rewindIcon = {\n name: 'rewind',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst forwardIcon = {\n name: 'forward',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst volumeDownIcon = {\n name: 'volume-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst volumeUpIcon = {\n name: 'volume-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst volumeMuteIcon = {\n name: 'volume-mute',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst hdIcon = {\n name: 'hd',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst closedCaptionsIcon = {\n name: 'closed-captions',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst playlistIcon = {\n name: 'playlist',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst musicNotesIcon = {\n name: 'music-notes',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst playSmIcon = {\n name: 'play-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pauseSmIcon = {\n name: 'pause-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stopSmIcon = {\n name: 'stop-sm',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst heartOutlineIcon = {\n name: 'heart-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst heartIcon = {\n name: 'heart',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst starOutlineIcon = {\n name: 'star-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst starIcon = {\n name: 'star',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkboxIcon = {\n name: 'checkbox',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkboxCheckedIcon = {\n name: 'checkbox-checked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkboxIndeterminateIcon = {\n name: 'checkbox-indeterminate',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst checkboxNullIcon = {\n name: 'checkbox-null',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst circleIcon = {\n name: 'circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst radiobuttonIcon = {\n name: 'radiobutton',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst radiobuttonCheckedIcon = {\n name: 'radiobutton-checked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bellIcon = {\n name: 'bell',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst infoCircleIcon = {\n name: 'info-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst questionCircleIcon = {\n name: 'question-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst exclamationCircleIcon = {\n name: 'exclamation-circle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cameraIcon = {\n name: 'camera',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageIcon = {\n name: 'image',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageExportIcon = {\n name: 'image-export',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst zoomActualSizeIcon = {\n name: 'zoom-actual-size',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst zoomBestFitIcon = {\n name: 'zoom-best-fit',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageResizeIcon = {\n name: 'image-resize',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cropIcon = {\n name: 'crop',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst mirrorIcon = {\n name: 'mirror',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst flipHorizontalIcon = {\n name: 'flip-horizontal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst flipVerticalIcon = {\n name: 'flip-vertical',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rotateIcon = {\n name: 'rotate',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rotateRightIcon = {\n name: 'rotate-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rotateLeftIcon = {\n name: 'rotate-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst brushIcon = {\n name: 'brush',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paletteIcon = {\n name: 'palette',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dropletIcon = {\n name: 'droplet',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst shapeLineIcon = {\n name: 'shape-line',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst brightnessContrastIcon = {\n name: 'brightness-contrast',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst slidersIcon = {\n name: 'sliders',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst invertColorsIcon = {\n name: 'invert-colors',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst transparencyIcon = {\n name: 'transparency',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst grayscaleIcon = {\n name: 'grayscale',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst blurIcon = {\n name: 'blur',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sharpenIcon = {\n name: 'sharpen',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst shapesIcon = {\n name: 'shapes',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst roundCornersIcon = {\n name: 'round-corners',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bringToFrontIcon = {\n name: 'bring-to-front',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bringToBackIcon = {\n name: 'bring-to-back',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bringForwardIcon = {\n name: 'bring-forward',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bringBackwardIcon = {\n name: 'bring-backward',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfStartIcon = {\n name: 'align-self-start',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfCenterIcon = {\n name: 'align-self-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfEndIcon = {\n name: 'align-self-end',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfStartAltIcon = {\n name: 'align-self-start-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfCenterAltIcon = {\n name: 'align-self-center-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfEndAltIcon = {\n name: 'align-self-end-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbnailsUpIcon = {\n name: 'thumbnails-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbnailsRightIcon = {\n name: 'thumbnails-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbnailsDownIcon = {\n name: 'thumbnails-down',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst thumbnailsLeftIcon = {\n name: 'thumbnails-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fullscreenIcon = {\n name: 'fullscreen',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fullscreenExitIcon = {\n name: 'fullscreen-exit',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dropletSlashIcon = {\n name: 'droplet-slash',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst photosIcon = {\n name: 'photos',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignToGridIcon = {\n name: 'align-to-grid',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sizeToGridIcon = {\n name: 'size-to-grid',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst makeSameSizeIcon = {\n name: 'make-same-size',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst makeSameWidthIcon = {\n name: 'make-same-width',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst makeSameHeightIcon = {\n name: 'make-same-height',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst makeHorizontalSpacingEqualIcon = {\n name: 'make-horizontal-spacing-equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst increaseHorizontalSpacingIcon = {\n name: 'increase-horizontal-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst decreaseHorizontalSpacingIcon = {\n name: 'decrease-horizontal-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst removeHorizontalSpacingIcon = {\n name: 'remove-horizontal-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst makeVerticalSpacingEqualIcon = {\n name: 'make-vertical-spacing-equal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst increaseVerticalSpacingIcon = {\n name: 'increase-vertical-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst decreaseVerticalSpacingIcon = {\n name: 'decrease-vertical-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst removeVerticalSpacingIcon = {\n name: 'remove-vertical-spacing',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst eyedropperIcon = {\n name: 'eyedropper',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst snapGridIcon = {\n name: 'snap-grid',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst snapToGridlinesIcon = {\n name: 'snap-to-gridlines',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst snapToSnaplinesIcon = {\n name: 'snap-to-snaplines',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dimensionsIcon = {\n name: 'dimensions',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfStretchIcon = {\n name: 'align-self-stretch',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignSelfStretchAltIcon = {\n name: 'align-self-stretch-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsStartIcon = {\n name: 'align-items-start',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsCenterIcon = {\n name: 'align-items-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsEndIcon = {\n name: 'align-items-end',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsStretchIcon = {\n name: 'align-items-stretch',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsBaselineIcon = {\n name: 'align-items-baseline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsStartAltIcon = {\n name: 'align-items-start-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsCenterAltIcon = {\n name: 'align-items-center-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsEndAltIcon = {\n name: 'align-items-end-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsStretchAltIcon = {\n name: 'align-items-stretch-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignItemsBaselineAltIcon = {\n name: 'align-items-baseline-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentStartIcon = {\n name: 'justify-content-start',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentCenterIcon = {\n name: 'justify-content-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentEndIcon = {\n name: 'justify-content-end',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentBetweenIcon = {\n name: 'justify-content-between',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentAroundIcon = {\n name: 'justify-content-around',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentStartAltIcon = {\n name: 'justify-content-start-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentCenterAltIcon = {\n name: 'justify-content-center-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentEndAltIcon = {\n name: 'justify-content-end-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentBetweenAltIcon = {\n name: 'justify-content-between-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst justifyContentAroundAltIcon = {\n name: 'justify-content-around-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileWrenchIcon = {\n name: 'file-wrench',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst boldIcon = {\n name: 'bold',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst italicIcon = {\n name: 'italic',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst underlineIcon = {\n name: 'underline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fontFamilyIcon = {\n name: 'font-family',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst foregroundColorIcon = {\n name: 'foreground-color',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst convertLowercaseIcon = {\n name: 'convert-lowercase',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst convertUppercaseIcon = {\n name: 'convert-uppercase',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst strikethroughIcon = {\n name: 'strikethrough',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst subscriptIcon = {\n name: 'subscript',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst supscriptIcon = {\n name: 'supscript',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst divIcon = {\n name: 'div',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst allIcon = {\n name: 'all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h1Icon = {\n name: 'h1',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h2Icon = {\n name: 'h2',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h3Icon = {\n name: 'h3',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h4Icon = {\n name: 'h4',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h5Icon = {\n name: 'h5',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst h6Icon = {\n name: 'h6',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listOrderedIcon = {\n name: 'list-ordered',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listUnorderedIcon = {\n name: 'list-unordered',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst indentIcon = {\n name: 'indent',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst outdentIcon = {\n name: 'outdent',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst insertTopIcon = {\n name: 'insert-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst insertMiddleIcon = {\n name: 'insert-middle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst insertBottomIcon = {\n name: 'insert-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignTopIcon = {\n name: 'align-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignMiddleIcon = {\n name: 'align-middle',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignBottomIcon = {\n name: 'align-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignLeftIcon = {\n name: 'align-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignCenterIcon = {\n name: 'align-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignRightIcon = {\n name: 'align-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignJustifyIcon = {\n name: 'align-justify',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst alignRemoveIcon = {\n name: 'align-remove',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textWrapIcon = {\n name: 'text-wrap',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst horizontalRuleIcon = {\n name: 'horizontal-rule',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignTopLeftIcon = {\n name: 'table-align-top-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignTopCenterIcon = {\n name: 'table-align-top-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignTopRightIcon = {\n name: 'table-align-top-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignMiddleLeftIcon = {\n name: 'table-align-middle-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignMiddleCenterIcon = {\n name: 'table-align-middle-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignMiddleRightIcon = {\n name: 'table-align-middle-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignBottomLeftIcon = {\n name: 'table-align-bottom-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignBottomCenterIcon = {\n name: 'table-align-bottom-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignBottomRightIcon = {\n name: 'table-align-bottom-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAlignRemoveIcon = {\n name: 'table-align-remove',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersAllIcon = {\n name: 'borders-all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersOutsideIcon = {\n name: 'borders-outside',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersInsideIcon = {\n name: 'borders-inside',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersInsideHorizontalIcon = {\n name: 'borders-inside-horizontal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersInsideVerticalIcon = {\n name: 'borders-inside-vertical',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderTopIcon = {\n name: 'border-top',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderBottomIcon = {\n name: 'border-bottom',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderLeftIcon = {\n name: 'border-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst borderRightIcon = {\n name: 'border-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersNoneIcon = {\n name: 'borders-none',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bordersShowHideIcon = {\n name: 'borders-show-hide',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst formIcon = {\n name: 'form',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst formElementIcon = {\n name: 'form-element',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst codeSnippetIcon = {\n name: 'code-snippet',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst selectAllIcon = {\n name: 'select-all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst buttonIcon = {\n name: 'button',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst selectBoxIcon = {\n name: 'select-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst calendarDateIcon = {\n name: 'calendar-date',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupBoxIcon = {\n name: 'group-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textareaIcon = {\n name: 'textarea',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textboxIcon = {\n name: 'textbox',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst textboxHiddenIcon = {\n name: 'textbox-hidden',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst passwordIcon = {\n name: 'password',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paragraphAddIcon = {\n name: 'paragraph-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst editToolsIcon = {\n name: 'edit-tools',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst templateManagerIcon = {\n name: 'template-manager',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst changeManuallyIcon = {\n name: 'change-manually',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesIcon = {\n name: 'track-changes',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesEnableIcon = {\n name: 'track-changes-enable',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesAcceptIcon = {\n name: 'track-changes-accept',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesAcceptAllIcon = {\n name: 'track-changes-accept-all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesRejectIcon = {\n name: 'track-changes-reject',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst trackChangesRejectAllIcon = {\n name: 'track-changes-reject-all',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst documentManagerIcon = {\n name: 'document-manager',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst customIconIcon = {\n name: 'custom-icon',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bookIcon = {\n name: 'book',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageAddIcon = {\n name: 'image-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageEditIcon = {\n name: 'image-edit',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageMapEditorIcon = {\n name: 'image-map-editor',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst commentIcon = {\n name: 'comment',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst commentRemoveIcon = {\n name: 'comment-remove',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst commentsRemoveIcon = {\n name: 'comments-remove',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst silverlightIcon = {\n name: 'silverlight',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst mediaManagerIcon = {\n name: 'media-manager',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst videoExternalIcon = {\n name: 'video-external',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst flashManagerIcon = {\n name: 'flash-manager',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst binocularsIcon = {\n name: 'binoculars',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst copyIcon = {\n name: 'copy',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cutIcon = {\n name: 'cut',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardIcon = {\n name: 'clipboard',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardCodeIcon = {\n name: 'clipboard-code',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardWordIcon = {\n name: 'clipboard-word',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardWordAltIcon = {\n name: 'clipboard-word-alt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardHtmlIcon = {\n name: 'clipboard-html',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardMarkdownIcon = {\n name: 'clipboard-markdown',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clipboardTextIcon = {\n name: 'clipboard-text',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst applyFormatIcon = {\n name: 'apply-format',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst clearCssIcon = {\n name: 'clear-css',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst copyFormatIcon = {\n name: 'copy-format',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stripAllFormattingIcon = {\n name: 'strip-all-formatting',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stripCssFormatIcon = {\n name: 'strip-css-format',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stripFontElementsIcon = {\n name: 'strip-font-elements',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stripSpanElementsIcon = {\n name: 'strip-span-elements',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stripWordFormattingIcon = {\n name: 'strip-word-formatting',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst formatCodeBlockIcon = {\n name: 'format-code-block',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst buildingBlocksIcon = {\n name: 'building-blocks',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst puzzlePieceIcon = {\n name: 'puzzle-piece',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst linkAddIcon = {\n name: 'link-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst globeLinkIcon = {\n name: 'globe-link',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst globeUnlinkIcon = {\n name: 'globe-unlink',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst envelopLinkIcon = {\n name: 'envelop-link',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst anchorIcon = {\n name: 'anchor',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableAddIcon = {\n name: 'table-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableIcon = {\n name: 'table',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tablePropertiesIcon = {\n name: 'table-properties',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableCellIcon = {\n name: 'table-cell',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableCellPropertiesIcon = {\n name: 'table-cell-properties',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableColumnInsertLeftIcon = {\n name: 'table-column-insert-left',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableColumnInsertRightIcon = {\n name: 'table-column-insert-right',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableRowInsertAboveIcon = {\n name: 'table-row-insert-above',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableRowInsertBelowIcon = {\n name: 'table-row-insert-below',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableColumnDeleteIcon = {\n name: 'table-column-delete',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableRowDeleteIcon = {\n name: 'table-row-delete',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableCellDeleteIcon = {\n name: 'table-cell-delete',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableDeleteIcon = {\n name: 'table-delete',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cellsMergeIcon = {\n name: 'cells-merge',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cellsMergeHorizontallyIcon = {\n name: 'cells-merge-horizontally',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cellsMergeVerticallyIcon = {\n name: 'cells-merge-vertically',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cellSplitHorizontallyIcon = {\n name: 'cell-split-horizontally',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cellSplitVerticallyIcon = {\n name: 'cell-split-vertically',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableUnmergeIcon = {\n name: 'table-unmerge',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst paneFreezeIcon = {\n name: 'pane-freeze',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rowFreezeIcon = {\n name: 'row-freeze',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst columnFreezeIcon = {\n name: 'column-freeze',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst toolbarFloatIcon = {\n name: 'toolbar-float',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst spellCheckerIcon = {\n name: 'spell-checker',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst validationXhtmlIcon = {\n name: 'validation-xhtml',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst validationDataIcon = {\n name: 'validation-data',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst toggleFullScreenModeIcon = {\n name: 'toggle-full-screen-mode',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst formulaFxIcon = {\n name: 'formula-fx',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst sumIcon = {\n name: 'sum',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst symbolIcon = {\n name: 'symbol',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dollarIcon = {\n name: 'dollar',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst percentIcon = {\n name: 'percent',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst customFormatIcon = {\n name: 'custom-format',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst decimalIncreaseIcon = {\n name: 'decimal-increase',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst decimalDecreaseIcon = {\n name: 'decimal-decrease',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fontSizeIcon = {\n name: 'font-size',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst imageAbsolutePositionIcon = {\n name: 'image-absolute-position',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableWizardIcon = {\n name: 'table-wizard',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst crosstabIcon = {\n name: 'crosstab',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst crosstabWizardIcon = {\n name: 'crosstab-wizard',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableBodyIcon = {\n name: 'table-body',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableColumnGroupsIcon = {\n name: 'table-column-groups',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableCornerIcon = {\n name: 'table-corner',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tableRowGroupsIcon = {\n name: 'table-row-groups',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst globeOutlineIcon = {\n name: 'globe-outline',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst globeIcon = {\n name: 'globe',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst mapMarkerIcon = {\n name: 'map-marker',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst mapMarkerTargetIcon = {\n name: 'map-marker-target',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pinIcon = {\n name: 'pin',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst unpinIcon = {\n name: 'unpin',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst shareIcon = {\n name: 'share',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst userIcon = {\n name: 'user',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst inboxIcon = {\n name: 'inbox',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bloggerIcon = {\n name: 'blogger',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst bloggerBoxIcon = {\n name: 'blogger-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst deliciousIcon = {\n name: 'delicious',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst deliciousBoxIcon = {\n name: 'delicious-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst diggIcon = {\n name: 'digg',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst diggBoxIcon = {\n name: 'digg-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst envelopIcon = {\n name: 'envelop',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst envelopBoxIcon = {\n name: 'envelop-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst facebookIcon = {\n name: 'facebook',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst facebookBoxIcon = {\n name: 'facebook-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst googleIcon = {\n name: 'google',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst googleBoxIcon = {\n name: 'google-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst googlePlusIcon = {\n name: 'google-plus',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst googlePlusBoxIcon = {\n name: 'google-plus-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst linkedinIcon = {\n name: 'linkedin',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst linkedinBoxIcon = {\n name: 'linkedin-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst myspaceIcon = {\n name: 'myspace',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst myspaceBoxIcon = {\n name: 'myspace-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pinterestIcon = {\n name: 'pinterest',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pinterestBoxIcon = {\n name: 'pinterest-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst redditIcon = {\n name: 'reddit',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst redditBoxIcon = {\n name: 'reddit-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stumbleUponIcon = {\n name: 'stumble-upon',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst stumbleUponBoxIcon = {\n name: 'stumble-upon-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tellAFriendIcon = {\n name: 'tell-a-friend',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tellAFriendBoxIcon = {\n name: 'tell-a-friend-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tumblrIcon = {\n name: 'tumblr',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tumblrBoxIcon = {\n name: 'tumblr-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst twitterIcon = {\n name: 'twitter',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst twitterBoxIcon = {\n name: 'twitter-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst yammerIcon = {\n name: 'yammer',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst yammerBoxIcon = {\n name: 'yammer-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst behanceIcon = {\n name: 'behance',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst behanceBoxIcon = {\n name: 'behance-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dribbbleIcon = {\n name: 'dribbble',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dribbbleBoxIcon = {\n name: 'dribbble-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rssIcon = {\n name: 'rss',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst rssBoxIcon = {\n name: 'rss-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst vimeoIcon = {\n name: 'vimeo',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst vimeoBoxIcon = {\n name: 'vimeo-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst youtubeIcon = {\n name: 'youtube',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst youtubeBoxIcon = {\n name: 'youtube-box',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst folderIcon = {\n name: 'folder',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst folderOpenIcon = {\n name: 'folder-open',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst folderAddIcon = {\n name: 'folder-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst folderUpIcon = {\n name: 'folder-up',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst folderMoreIcon = {\n name: 'folder-more',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst aggregateFieldsIcon = {\n name: 'aggregate-fields',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileIcon = {\n name: 'file',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileAddIcon = {\n name: 'file-add',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileTxtIcon = {\n name: 'file-txt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileCsvIcon = {\n name: 'file-csv',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileExcelIcon = {\n name: 'file-excel',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileWordIcon = {\n name: 'file-word',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileMdbIcon = {\n name: 'file-mdb',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filePptIcon = {\n name: 'file-ppt',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filePdfIcon = {\n name: 'file-pdf',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filePsdIcon = {\n name: 'file-psd',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileFlashIcon = {\n name: 'file-flash',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileConfigIcon = {\n name: 'file-config',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileAscxIcon = {\n name: 'file-ascx',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileBacIcon = {\n name: 'file-bac',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileZipIcon = {\n name: 'file-zip',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filmIcon = {\n name: 'film',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst css3Icon = {\n name: 'css3',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst html5Icon = {\n name: 'html5',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst codeIcon = {\n name: 'code',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cssIcon = {\n name: 'css',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst jsIcon = {\n name: 'js',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst exeIcon = {\n name: 'exe',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst csprojIcon = {\n name: 'csproj',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst vbprojIcon = {\n name: 'vbproj',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst csIcon = {\n name: 'cs',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst vbIcon = {\n name: 'vb',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst slnIcon = {\n name: 'sln',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst cloudIcon = {\n name: 'cloud',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileHorizontalIcon = {\n name: 'file-horizontal',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst subreportIcon = {\n name: 'subreport',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataIcon = {\n name: 'data',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileHeaderIcon = {\n name: 'file-header',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileFooterIcon = {\n name: 'file-footer',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupHeaderSectionIcon = {\n name: 'group-header-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupFooterSectionIcon = {\n name: 'group-footer-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pageHeaderSectionIcon = {\n name: 'page-header-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst pageFooterSectionIcon = {\n name: 'page-footer-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst detailSectionIcon = {\n name: 'detail-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tocSectionIcon = {\n name: 'toc-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupSectionIcon = {\n name: 'group-section',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parametersIcon = {\n name: 'parameters',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataCsvIcon = {\n name: 'data-csv',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataJsonIcon = {\n name: 'data-json',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataSqlIcon = {\n name: 'data-sql',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataWebIcon = {\n name: 'data-web',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst groupCollectionIcon = {\n name: 'group-collection',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parameterBooleanIcon = {\n name: 'parameter-boolean',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parameterDateTimeIcon = {\n name: 'parameter-date-time',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parameterFloatIcon = {\n name: 'parameter-float',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parameterIntegerIcon = {\n name: 'parameter-integer',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parameterStringIcon = {\n name: 'parameter-string',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tocSectionLevelIcon = {\n name: 'toc-section-level',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst inheritedIcon = {\n name: 'inherited',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileVideoIcon = {\n name: 'file-video',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileAudioIcon = {\n name: 'file-audio',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileImageIcon = {\n name: 'file-image',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filePresentationIcon = {\n name: 'file-presentation',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileDataIcon = {\n name: 'file-data',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileDiscImageIcon = {\n name: 'file-disc-image',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileProgrammingIcon = {\n name: 'file-programming',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parametersByteArrayIcon = {\n name: 'parameters-byte-array',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst parametersUnknownIcon = {\n name: 'parameters-unknown',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileErrorIcon = {\n name: 'file-error',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst filesErrorIcon = {\n name: 'files-error',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst dataRestIcon = {\n name: 'data-rest',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst fileTypescriptIcon = {\n name: 'file-typescript',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tablePositionStartIcon = {\n name: 'table-position-start',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tablePositionCenterIcon = {\n name: 'table-position-center',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst tablePositionEndIcon = {\n name: 'table-position-end',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listRomanUpperIcon = {\n name: 'list-roman-upper',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst listRomanLowerIcon = {\n name: 'list-roman-lower',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst importIcon = {\n name: 'import',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst exportIcon = {\n name: 'export',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst graphIcon = {\n name: 'graph',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartColumnClusteredIcon = {\n name: 'chart-column-clustered',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartColumnStackedIcon = {\n name: 'chart-column-stacked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartColumnStacked100Icon = {\n name: 'chart-column-stacked100',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartColumnRangeIcon = {\n name: 'chart-column-range',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartBarClusteredIcon = {\n name: 'chart-bar-clustered',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartBarStackedIcon = {\n name: 'chart-bar-stacked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartBarStacked100Icon = {\n name: 'chart-bar-stacked100',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartBarRangeIcon = {\n name: 'chart-bar-range',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartAreaClusteredIcon = {\n name: 'chart-area-clustered',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartAreaStackedIcon = {\n name: 'chart-area-stacked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartAreaStacked100Icon = {\n name: 'chart-area-stacked100',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartAreaRangeIcon = {\n name: 'chart-area-range',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineIcon = {\n name: 'chart-line',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineStackedIcon = {\n name: 'chart-line-stacked',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineStacked100Icon = {\n name: 'chart-line-stacked100',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineMarkersIcon = {\n name: 'chart-line-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineStackedMarkersIcon = {\n name: 'chart-line-stacked-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartLineStacked100MarkersIcon = {\n name: 'chart-line-stacked100-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartPieIcon = {\n name: 'chart-pie',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartDoughnutIcon = {\n name: 'chart-doughnut',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartScatterIcon = {\n name: 'chart-scatter',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartScatterSmoothLinesMarkersIcon = {\n name: 'chart-scatter-smooth-lines-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartScatterSmoothLinesIcon = {\n name: 'chart-scatter-smooth-lines',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartScatterStraightLinesMarkersIcon = {\n name: 'chart-scatter-straight-lines-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartScatterStraightLinesIcon = {\n name: 'chart-scatter-straight-lines',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartBubbleIcon = {\n name: 'chart-bubble',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartCandlestickIcon = {\n name: 'chart-candlestick',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartOhlcIcon = {\n name: 'chart-ohlc',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartRadarIcon = {\n name: 'chart-radar',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartRadarMarkersIcon = {\n name: 'chart-radar-markers',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartRadarFilledIcon = {\n name: 'chart-radar-filled',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartRoseIcon = {\n name: 'chart-rose',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nconst chartChoroplethIcon = {\n name: 'chart-choropleth',\n content: '',\n viewBox: '0 0 512 512'\n};\n\nexport { accessibilityIcon, aggregateFieldsIcon, alignBottomIcon, alignCenterIcon, alignItemsBaselineAltIcon, alignItemsBaselineIcon, alignItemsCenterAltIcon, alignItemsCenterIcon, alignItemsEndAltIcon, alignItemsEndIcon, alignItemsStartAltIcon, alignItemsStartIcon, alignItemsStretchAltIcon, alignItemsStretchIcon, alignJustifyIcon, alignLeftIcon, alignMiddleIcon, alignRemoveIcon, alignRightIcon, alignSelfCenterAltIcon, alignSelfCenterIcon, alignSelfEndAltIcon, alignSelfEndIcon, alignSelfStartAltIcon, alignSelfStartIcon, alignSelfStretchAltIcon, alignSelfStretchIcon, alignToGridIcon, alignTopIcon, allIcon, anchorIcon, applyFormatIcon, arrowDownIcon, arrowLeftIcon, arrowOverflowDownIcon, arrowRightIcon, arrowRotateCcwIcon, arrowRotateCcwSmallIcon, arrowRotateCwIcon, arrowRotateCwSmallIcon, arrowUpIcon, arrowsAxesIcon, arrowsLeftRightIcon, arrowsMoveIcon, arrowsNoChangeIcon, arrowsNoRepeatIcon, arrowsSwapIcon, arrowsTopBottomIcon, barcodeIcon, barcodeOutlineIcon, barcodeQrCodeScannerIcon, barcodeScannerIcon, behanceBoxIcon, behanceIcon, bellIcon, binocularsIcon, bloggerBoxIcon, bloggerIcon, blurIcon, boldIcon, bookIcon, borderBottomIcon, borderLeftIcon, borderRadiusBottomLeftIcon, borderRadiusBottomRightIcon, borderRadiusIcon, borderRadiusTopLeftIcon, borderRadiusTopRightIcon, borderRightIcon, borderStyleBottomIcon, borderStyleIcon, borderStyleLeftIcon, borderStyleRightIcon, borderStyleTopIcon, borderTopIcon, bordersAllIcon, bordersInsideHorizontalIcon, bordersInsideIcon, bordersInsideVerticalIcon, bordersNoneIcon, bordersOutsideIcon, bordersShowHideIcon, boxSizingIcon, brightnessContrastIcon, bringBackwardIcon, bringForwardIcon, bringToBackIcon, bringToFrontIcon, brushIcon, buildingBlocksIcon, buttonIcon, calculatorIcon, calendarDateIcon, calendarIcon, cameraIcon, cancelCircleIcon, cancelIcon, cancelOutlineIcon, caretAltDownIcon, caretAltExpandIcon, caretAltLeftIcon, caretAltRightIcon, caretAltToBottomIcon, caretAltToLeftIcon, caretAltToRightIcon, caretAltToTopIcon, caretAltUpIcon, caretBlIcon, caretBrIcon, caretDoubleAltDownIcon, caretDoubleAltLeftIcon, caretDoubleAltRightIcon, caretDoubleAltUpIcon, caretTlIcon, caretTrIcon, cartIcon, categorizeIcon, cellSplitHorizontallyIcon, cellSplitVerticallyIcon, cellsMergeHorizontallyIcon, cellsMergeIcon, cellsMergeVerticallyIcon, changeManuallyIcon, chartAreaClusteredIcon, chartAreaRangeIcon, chartAreaStacked100Icon, chartAreaStackedIcon, chartBarClusteredIcon, chartBarRangeIcon, chartBarStacked100Icon, chartBarStackedIcon, chartBubbleIcon, chartCandlestickIcon, chartChoroplethIcon, chartColumnClusteredIcon, chartColumnRangeIcon, chartColumnStacked100Icon, chartColumnStackedIcon, chartDoughnutIcon, chartLineIcon, chartLineMarkersIcon, chartLineStacked100Icon, chartLineStacked100MarkersIcon, chartLineStackedIcon, chartLineStackedMarkersIcon, chartOhlcIcon, chartPieIcon, chartRadarFilledIcon, chartRadarIcon, chartRadarMarkersIcon, chartRoseIcon, chartScatterIcon, chartScatterSmoothLinesIcon, chartScatterSmoothLinesMarkersIcon, chartScatterStraightLinesIcon, chartScatterStraightLinesMarkersIcon, checkCircleIcon, checkIcon, checkOutlineIcon, checkboxCheckedIcon, checkboxIcon, checkboxIndeterminateIcon, checkboxNullIcon, chevronDoubleDownIcon, chevronDoubleLeftIcon, chevronDoubleRightIcon, chevronDoubleUpIcon, chevronDownIcon, chevronLeftIcon, chevronRightIcon, chevronUpIcon, circleIcon, clearCssIcon, clipboardCodeIcon, clipboardHtmlIcon, clipboardIcon, clipboardMarkdownIcon, clipboardTextIcon, clipboardWordAltIcon, clipboardWordIcon, clockArrowRotateIcon, clockIcon, closedCaptionsIcon, cloudIcon, codeIcon, codeSnippetIcon, colResizeIcon, columnFreezeIcon, columnsIcon, commentIcon, commentRemoveIcon, commentsRemoveIcon, connectorIcon, convertLowercaseIcon, convertUppercaseIcon, copyFormatIcon, copyIcon, cropIcon, crosstabIcon, crosstabWizardIcon, csIcon, csprojIcon, css3Icon, cssIcon, customFormatIcon, customIconIcon, cutIcon, dataCsvIcon, dataIcon, dataJsonIcon, dataOdsIcon, dataRestIcon, dataSdsIcon, dataSqlIcon, dataWebIcon, decimalDecreaseIcon, decimalIncreaseIcon, decreaseHorizontalSpacingIcon, decreaseVerticalSpacingIcon, deliciousBoxIcon, deliciousIcon, detailSectionIcon, diggBoxIcon, diggIcon, dimensionsIcon, displayBlockIcon, displayFlexIcon, displayInlineBlockIcon, displayInlineFlexIcon, divIcon, divideIcon, documentManagerIcon, dollarIcon, downloadIcon, downloadLightIcon, dragAndDropIcon, dribbbleBoxIcon, dribbbleIcon, dropletIcon, dropletSlashIcon, dropletSliderIcon, editToolsIcon, envelopBoxIcon, envelopIcon, envelopLinkIcon, equalIcon, exclamationCircleIcon, exeIcon, exportIcon, eyeIcon, eyeSlashIcon, eyedropperIcon, facebookBoxIcon, facebookIcon, fileAddIcon, fileAscxIcon, fileAudioIcon, fileBacIcon, fileConfigIcon, fileCsvIcon, fileDataIcon, fileDiscImageIcon, fileErrorIcon, fileExcelIcon, fileFlashIcon, fileFooterIcon, fileHeaderIcon, fileHorizontalIcon, fileIcon, fileImageIcon, fileMdbIcon, filePdfIcon, filePptIcon, filePresentationIcon, fileProgrammingIcon, filePsdIcon, fileReportIcon, fileTxtIcon, fileTypescriptIcon, fileVideoIcon, fileWordIcon, fileWrenchIcon, fileZipIcon, filesErrorIcon, filmIcon, filterAddExpressionIcon, filterAddGroupIcon, filterClearIcon, filterIcon, filterSmallIcon, filterSortAscSmallIcon, filterSortDescSmallIcon, flashManagerIcon, flipHorizontalIcon, flipVerticalIcon, folderAddIcon, folderIcon, folderMoreIcon, folderOpenIcon, folderUpIcon, fontFamilyIcon, fontSizeIcon, foregroundColorIcon, formElementIcon, formIcon, formatCodeBlockIcon, formulaFxIcon, forwardIcon, fullscreenExitIcon, fullscreenIcon, gapColumnIcon, gapRowIcon, gearIcon, gearsIcon, globeIcon, globeLinkIcon, globeOutlineIcon, globeUnlinkIcon, googleBoxIcon, googleIcon, googlePlusBoxIcon, googlePlusIcon, graphIcon, grayscaleIcon, greaterOrEqualIcon, gridIcon, gridLayoutIcon, groupBoxIcon, groupCollectionIcon, groupFooterSectionIcon, groupHeaderSectionIcon, groupIcon, groupSectionIcon, h1Icon, h2Icon, h3Icon, h4Icon, h5Icon, h6Icon, handIcon, handleDragIcon, handleResizeAltIcon, handleResizeIcon, hdIcon, heartIcon, heartOutlineIcon, homeIcon, horizontalRuleIcon, html5Icon, hyperlinkOpenIcon, hyperlinkOpenSmIcon, imageAbsolutePositionIcon, imageAddIcon, imageEditIcon, imageExportIcon, imageIcon, imageMapEditorIcon, imageResizeIcon, imagesIcon, importIcon, inboxIcon, increaseHorizontalSpacingIcon, increaseVerticalSpacingIcon, indentIcon, infoCircleIcon, inheritedIcon, insertBottomIcon, insertMiddleIcon, insertTopIcon, invertColorsIcon, italicIcon, jsIcon, justifyContentAroundAltIcon, justifyContentAroundIcon, justifyContentBetweenAltIcon, justifyContentBetweenIcon, justifyContentCenterAltIcon, justifyContentCenterIcon, justifyContentEndAltIcon, justifyContentEndIcon, justifyContentStartAltIcon, justifyContentStartIcon, kpiStatusDenyIcon, kpiStatusHoldIcon, kpiStatusOpenIcon, launchIcon, layout1By4Icon, layout2By2Icon, layoutIcon, layoutSideBySideIcon, layoutStackedIcon, lessOrEqualIcon, letterSpaceIcon, levelDownIcon, levelToTopIcon, levelUpIcon, lineHeightIcon, linkAddIcon, linkIcon, linkVerticalIcon, linkedinBoxIcon, linkedinIcon, listLatinBigIcon, listLatinSmallIcon, listOrderedIcon, listRomanBigIcon, listRomanLowerIcon, listRomanSmallIcon, listRomanUpperIcon, listUnorderedIcon, listUnorderedOutlineIcon, listUnorderedSquareIcon, lockIcon, loginIcon, logoutIcon, makeHorizontalSpacingEqualIcon, makeSameHeightIcon, makeSameSizeIcon, makeSameWidthIcon, makeVerticalSpacingEqualIcon, mapMarkerIcon, mapMarkerTargetIcon, maxHeightIcon, maxWidthIcon, mediaManagerIcon, menuIcon, minHeightIcon, minWidthIcon, minusCircleIcon, minusIcon, minusOutlineIcon, minusSmIcon, mirrorIcon, moreHorizontalIcon, moreVerticalIcon, musicNotesIcon, myspaceBoxIcon, myspaceIcon, nonRecurrenceIcon, notEqualIcon, outdentIcon, outlineOffsetIcon, outlineWidthIcon, overlapIcon, paddingBottomIcon, paddingIcon, paddingLeftIcon, paddingRightIcon, paddingTopIcon, pageFooterSectionIcon, pageHeaderSectionIcon, paletteIcon, paneFreezeIcon, paperclipAltIcon, paperclipIcon, paragraphAddIcon, parameterBooleanIcon, parameterDateTimeIcon, parameterFloatIcon, parameterIntegerIcon, parameterStringIcon, parametersByteArrayIcon, parametersIcon, parametersUnknownIcon, passwordIcon, pauseIcon, pauseSmIcon, pencilIcon, percentIcon, photosIcon, pinIcon, pinterestBoxIcon, pinterestIcon, playIcon, playSmIcon, playlistIcon, plusCircleIcon, plusIcon, plusOutlineIcon, plusSmIcon, pointerIcon, positionBottomIcon, positionLeftIcon, positionRightIcon, positionTopIcon, printIcon, puzzlePieceIcon, qrCodeIcon, qrCodeOutlineIcon, qrCodeScannerIcon, questionCircleIcon, radiobuttonCheckedIcon, radiobuttonIcon, redditBoxIcon, redditIcon, redoIcon, regularExpressionIcon, removeHorizontalSpacingIcon, removeVerticalSpacingIcon, reorderIcon, replaceAllIcon, replaceSingleIcon, reportElementIcon, rewindIcon, rightDoubleQuotesIcon, rotateIcon, rotateLeftIcon, rotateRightIcon, roundCornersIcon, rowFreezeIcon, rowsIcon, rssBoxIcon, rssIcon, saveIcon, searchIcon, selectAllIcon, selectBoxIcon, setColumnPositionIcon, shapeLineIcon, shapesIcon, shareIcon, sharpenIcon, signatureIcon, silverlightIcon, sizeToGridIcon, slidersIcon, slnIcon, snapGridIcon, snapToGridlinesIcon, snapToSnaplinesIcon, sortAscIcon, sortAscSmallIcon, sortClearIcon, sortDescIcon, sortDescSmallIcon, spellCheckerIcon, starIcon, starOutlineIcon, stickIcon, stopIcon, stopSmIcon, strikethroughIcon, stripAllFormattingIcon, stripCssFormatIcon, stripFontElementsIcon, stripSpanElementsIcon, stripWordFormattingIcon, stumbleUponBoxIcon, stumbleUponIcon, subreportIcon, subscriptIcon, sumIcon, supscriptIcon, symbolIcon, tableAddIcon, tableAlignBottomCenterIcon, tableAlignBottomLeftIcon, tableAlignBottomRightIcon, tableAlignMiddleCenterIcon, tableAlignMiddleLeftIcon, tableAlignMiddleRightIcon, tableAlignRemoveIcon, tableAlignTopCenterIcon, tableAlignTopLeftIcon, tableAlignTopRightIcon, tableBodyIcon, tableCellDeleteIcon, tableCellIcon, tableCellPropertiesIcon, tableColumnDeleteIcon, tableColumnGroupsIcon, tableColumnInsertLeftIcon, tableColumnInsertRightIcon, tableCornerIcon, tableDeleteIcon, tableIcon, tablePositionCenterIcon, tablePositionEndIcon, tablePositionStartIcon, tablePropertiesIcon, tableRowDeleteIcon, tableRowGroupsIcon, tableRowInsertAboveIcon, tableRowInsertBelowIcon, tableUnmergeIcon, tableWizardIcon, tellAFriendBoxIcon, tellAFriendIcon, templateManagerIcon, textWrapIcon, textareaIcon, textboxHiddenIcon, textboxIcon, thumbnailsDownIcon, thumbnailsLeftIcon, thumbnailsRightIcon, thumbnailsUpIcon, tocSectionIcon, tocSectionLevelIcon, toggleFullScreenModeIcon, toolbarFloatIcon, trackChangesAcceptAllIcon, trackChangesAcceptIcon, trackChangesEnableIcon, trackChangesIcon, trackChangesRejectAllIcon, trackChangesRejectIcon, transparencyIcon, trashIcon, tumblrBoxIcon, tumblrIcon, twitterBoxIcon, twitterIcon, underlineIcon, undoIcon, ungroupIcon, unlinkIcon, unlinkVerticalIcon, unlockIcon, unpinIcon, unstickIcon, uploadIcon, userIcon, validationDataIcon, validationXhtmlIcon, vbIcon, vbprojIcon, videoExternalIcon, vimeoBoxIcon, vimeoIcon, volumeDownIcon, volumeMuteIcon, volumeUpIcon, wholeWordIcon, windowIcon, windowMinimizeIcon, windowRestoreIcon, wrenchIcon, xCircleIcon, xIcon, xOutlineIcon, yammerBoxIcon, yammerIcon, youtubeBoxIcon, youtubeIcon, zoomActualSizeIcon, zoomBestFitIcon, zoomInIcon, zoomOutIcon };\n","/**\n * @hidden\n */\nvar outerHeight = function (element) {\n if (!element) {\n return 0;\n }\n var wnd = element.ownerDocument.defaultView;\n var computedStyles = wnd.getComputedStyle(element);\n var marginTop = parseFloat(computedStyles.marginTop);\n var marginBottom = parseFloat(computedStyles.marginBottom);\n return element.offsetHeight + marginTop + marginBottom;\n};\n/**\n * @hidden\n */\nvar outerWidth = function (element) {\n if (!element) {\n return 0;\n }\n var wnd = element.ownerDocument.defaultView;\n var computedStyles = wnd.getComputedStyle(element);\n var marginLeft = parseFloat(computedStyles.marginLeft);\n var marginRight = parseFloat(computedStyles.marginRight);\n return element.offsetWidth + marginLeft + marginRight;\n};\n/**\n * @hidden\n */\nvar styles = {\n 'animation-container': 'k-animation-container',\n 'animation-container-relative': 'k-animation-container-relative',\n 'animation-container-fixed': 'k-animation-container-fixed',\n 'push-right-enter': 'k-push-right-enter',\n 'push-right-appear': 'k-push-right-appear',\n 'push-right-enter-active': 'k-push-right-enter-active',\n 'push-right-appear-active': 'k-push-right-appear-active',\n 'push-right-exit': 'k-push-right-exit',\n 'push-right-exit-active': 'k-push-right-exit-active',\n 'push-left-enter': 'k-push-left-enter',\n 'push-left-appear': 'k-push-left-appear',\n 'push-left-enter-active': 'k-push-left-enter-active',\n 'push-left-appear-active': 'k-push-left-appear-active',\n 'push-left-exit': 'k-push-left-exit',\n 'push-left-exit-active': 'k-push-left-exit-active',\n 'push-down-enter': 'k-push-down-enter',\n 'push-down-appear': 'k-push-down-appear',\n 'push-down-enter-active': 'k-push-down-enter-active',\n 'push-down-appear-active': 'k-push-down-appear-active',\n 'push-down-exit': 'k-push-down-exit',\n 'push-down-exit-active': 'k-push-down-exit-active',\n 'push-up-enter': 'k-push-up-enter',\n 'push-up-appear': 'k-push-up-appear',\n 'push-up-enter-active': 'k-push-up-enter-active',\n 'push-up-appear-active': 'k-push-up-appear-active',\n 'push-up-exit': 'k-push-up-exit',\n 'push-up-exit-active': 'k-push-up-exit-active',\n 'expand': 'k-expand',\n 'expand-vertical-enter': 'k-expand-vertical-enter',\n 'expand-vertical-appear': 'k-expand-vertical-appear',\n 'expand-vertical-enter-active': 'k-expand-vertical-enter-active',\n 'expand-vertical-appear-active': 'k-expand-vertical-appear-active',\n 'expand-vertical-exit': 'k-expand-vertical-exit',\n 'expand-vertical-exit-active': 'k-expand-vertical-exit-active',\n 'expand-horizontal-enter': 'k-expand-horizontal-enter',\n 'expand-horizontal-appear': 'k-expand-horizontal-appear',\n 'expand-horizontal-enter-active': 'k-expand-horizontal-enter-active',\n 'expand-horizontal-appear-active': 'k-expand-horizontal-appear-active',\n 'expand-horizontal-exit': 'k-expand-horizontal-exit',\n 'expand-horizontal-exit-active': 'k-expand-horizontal-exit-active',\n 'child-animation-container': 'k-child-animation-container',\n 'fade-enter': 'k-fade-enter',\n 'fade-appear': 'k-fade-appear',\n 'fade-enter-active': 'k-fade-enter-active',\n 'fade-appear-active': 'k-fade-appear-active',\n 'fade-exit': 'k-fade-exit',\n 'fade-exit-active': 'k-fade-exit-active',\n 'zoom-in-enter': 'k-zoom-in-enter',\n 'zoom-in-appear': 'k-zoom-in-appear',\n 'zoom-in-enter-active': 'k-zoom-in-enter-active',\n 'zoom-in-appear-active': 'k-zoom-in-appear-active',\n 'zoom-in-exit': 'k-zoom-in-exit',\n 'zoom-in-exit-active': 'k-zoom-in-exit-active',\n 'zoom-out-enter': 'k-zoom-out-enter',\n 'zoom-out-appear': 'k-zoom-out-appear',\n 'zoom-out-enter-active': 'k-zoom-out-enter-active',\n 'zoom-out-appear-active': 'k-zoom-out-appear-active',\n 'zoom-out-exit': 'k-zoom-out-exit',\n 'zoom-out-exit-active': 'k-zoom-out-exit-active',\n 'slide-in-appear': 'k-slide-in-appear',\n 'centered': 'k-centered',\n 'slide-in-appear-active': 'k-slide-in-appear-active',\n 'slide-down-enter': 'k-slide-down-enter',\n 'slide-down-appear': 'k-slide-down-appear',\n 'slide-down-enter-active': 'k-slide-down-enter-active',\n 'slide-down-appear-active': 'k-slide-down-appear-active',\n 'slide-down-exit': 'k-slide-down-exit',\n 'slide-down-exit-active': 'k-slide-down-exit-active',\n 'slide-up-enter': 'k-slide-up-enter',\n 'slide-up-appear': 'k-slide-up-appear',\n 'slide-up-enter-active': 'k-slide-up-enter-active',\n 'slide-up-appear-active': 'k-slide-up-appear-active',\n 'slide-up-exit': 'k-slide-up-exit',\n 'slide-up-exit-active': 'k-slide-up-exit-active',\n 'slide-right-enter': 'k-slide-right-enter',\n 'slide-right-appear': 'k-slide-right-appear',\n 'slide-right-enter-active': 'k-slide-right-enter-active',\n 'slide-right-appear-active': 'k-slide-right-appear-active',\n 'slide-right-exit': 'k-slide-right-exit',\n 'slide-right-exit-active': 'k-slide-right-exit-active',\n 'slide-left-enter': 'k-slide-left-enter',\n 'slide-left-appear': 'k-slide-left-appear',\n 'slide-left-enter-active': 'k-slide-left-enter-active',\n 'slide-left-appear-active': 'k-slide-left-appear-active',\n 'slide-left-exit': 'k-slide-left-exit',\n 'slide-left-exit-active': 'k-slide-left-exit-active',\n 'reveal-vertical-enter': 'k-reveal-vertical-enter',\n 'reveal-vertical-appear': 'k-reveal-vertical-appear',\n 'reveal-vertical-enter-active': 'k-reveal-vertical-enter-active',\n 'reveal-vertical-appear-active': 'k-reveal-vertical-appear-active',\n 'reveal-vertical-exit': 'k-reveal-vertical-exit',\n 'reveal-vertical-exit-active': 'k-reveal-vertical-exit-active',\n 'reveal-horizontal-enter': 'k-reveal-horizontal-enter',\n 'reveal-horizontal-appear': 'k-reveal-horizontal-appear',\n 'reveal-horizontal-enter-active': 'k-reveal-horizontal-enter-active',\n 'reveal-horizontal-appear-active': 'k-reveal-horizontal-appear-active',\n 'reveal-horizontal-exit': 'k-reveal-horizontal-exit',\n 'reveal-horizontal-exit-active': 'k-reveal-horizontal-exit-active'\n};\n/**\n * @hidden\n */\nexport default {\n outerHeight: outerHeight,\n outerWidth: outerWidth,\n styles: styles\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar Transition = allVue.Transition;\nimport util from './util';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar AnimationChildVue2 = {\n props: {\n in: Boolean,\n transitionName: {\n type: String,\n required: true\n },\n transitionStyle: Object,\n componentChildClassName: [Array],\n className: String,\n appear: {\n type: Boolean,\n default: true\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: Number,\n transitionExitDuration: Number,\n mountOnEnter: Boolean,\n unmountOnExit: Boolean,\n animationEnteringStyle: Object,\n animationEnteredStyle: Object,\n animationExitingStyle: Object,\n animationExitedStyle: Object\n },\n created: function created() {\n this.animationStep = '';\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var elementRef = ref(null);\n return {\n v3: v3,\n elementRef: elementRef\n };\n },\n mounted: function mounted() {\n this._element = this.v3 ? this.elementRef || null : this.$refs.element || null;\n },\n computed: {\n element: {\n get: function get() {\n return this._element;\n }\n }\n },\n methods: {\n onBeforeEnter: function onBeforeEnter(e) {\n this.$emit('beforeenter', {\n animatedElement: e,\n target: this\n });\n },\n onEnter: function onEnter(e) {\n this.animationStep = 'entering';\n this.$emit('entering', {\n animatedElement: e,\n target: this\n });\n },\n onAfterEnter: function onAfterEnter(e) {\n this.animationStep = 'entered';\n this.$emit('entered', {\n animatedElement: e,\n target: this\n });\n },\n onBeforeLeave: function onBeforeLeave(e) {\n this.$emit('exit', {\n animatedElement: e,\n target: this\n });\n },\n onLeave: function onLeave(e) {\n this.animationStep = 'exiting';\n this.$emit('exiting', {\n animatedElement: e,\n target: this\n });\n },\n onAfterLeave: function onAfterLeave(e) {\n this.animationStep = 'exited';\n this.$emit('exited', {\n animatedElement: e,\n target: this\n });\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n appear = _a.appear,\n enter = _a.enter,\n exit = _a.exit,\n transitionName = _a.transitionName,\n transitionEnterDuration = _a.transitionEnterDuration,\n transitionExitDuration = _a.transitionExitDuration,\n className = _a.className,\n componentChildClassName = _a.componentChildClassName,\n mountOnEnter = _a.mountOnEnter,\n unmountOnExit = _a.unmountOnExit,\n animationEnteringStyle = _a.animationEnteringStyle,\n animationEnteredStyle = _a.animationEnteredStyle,\n animationExitingStyle = _a.animationExitingStyle,\n animationExitedStyle = _a.animationExitedStyle,\n other = __rest(_a, [\"appear\", \"enter\", \"exit\", \"transitionName\", \"transitionEnterDuration\", \"transitionExitDuration\", \"className\", \"componentChildClassName\", \"mountOnEnter\", \"unmountOnExit\", \"animationEnteringStyle\", \"animationEnteredStyle\", \"animationExitingStyle\", \"animationExitedStyle\"]);\n var defaultSlot = getDefaultSlots(this);\n var hasChildren = this.v3 ? appear : !!defaultSlot;\n var transitionTag = this.v3 ? Transition : 'transition';\n var childAnimationContainerClassNames = [componentChildClassName, styles['child-animation-container']];\n var enterDuration = enter ? transitionEnterDuration : 0;\n var exitDuration = exit ? transitionExitDuration : 0;\n var defaultStyle = __assign({\n transitionDelay: '0ms',\n transitionDuration: hasChildren ? \"\".concat(enterDuration, \"ms\") : \"\".concat(exitDuration, \"ms\")\n }, this.$props.transitionStyle);\n var animationStyle = {\n entering: __assign({\n transitionDuration: \"\".concat(enterDuration, \"ms\")\n }, animationEnteringStyle),\n entered: __assign({}, animationEnteredStyle),\n exiting: __assign({\n transitionDuration: \"\".concat(exitDuration, \"ms\")\n }, animationExitingStyle),\n exited: __assign({}, animationExitedStyle)\n };\n var childElementStyles = [defaultStyle, animationStyle[this.animationStep]];\n var duration = {\n enter: enterDuration,\n leave: exitDuration\n };\n var rendererChildren = [hasChildren ? h('div', {\n style: childElementStyles,\n 'class': childAnimationContainerClassNames,\n ref: this.v3 ? function (el) {\n _this.elementRef = el;\n } : 'element'\n }, [defaultSlot]) : null];\n return h(transitionTag, {\n duration: duration,\n attrs: this.v3 ? null : {\n duration: duration,\n name: transitionName,\n appear: appear,\n appearClass: styles[\"\".concat(transitionName, \"-appear\")] || \"\".concat(transitionName, \"-appear\"),\n appearToClass: styles[\"\".concat(transitionName, \"-appear-active\")] || \"\".concat(transitionName, \"-appear-active\"),\n enterClass: styles[\"\".concat(transitionName, \"-enter\")] || \"\".concat(transitionName, \"-enter\"),\n enterToClass: styles[\"\".concat(transitionName, \"-enter-active\")] || \"\".concat(transitionName, \"-enter-active\"),\n leaveClass: styles[\"\".concat(transitionName, \"-exit\")] || \"\".concat(transitionName, \"-exit\"),\n leaveToClass: styles[\"\".concat(transitionName, \"-exit-active\")] || \"\".concat(transitionName, \"-exit-active\")\n },\n name: transitionName,\n appear: appear,\n appearFromClass: styles[\"\".concat(transitionName, \"-appear\")] || \"\".concat(transitionName, \"-appear\"),\n enterFromClass: styles[\"\".concat(transitionName, \"-enter\")] || \"\".concat(transitionName, \"-enter\"),\n leaveFromClass: styles[\"\".concat(transitionName, \"-exit\")] || \"\".concat(transitionName, \"-exit\"),\n appearToClass: styles[\"\".concat(transitionName, \"-appear-active\")] || \"\".concat(transitionName, \"-appear-active\"),\n enterToClass: styles[\"\".concat(transitionName, \"-enter-active\")] || \"\".concat(transitionName, \"-enter-active\"),\n leaveToClass: styles[\"\".concat(transitionName, \"-exit-active\")] || \"\".concat(transitionName, \"-exit-active\"),\n onBeforeEnter: this.onBeforeEnter,\n on: this.v3 ? null : {\n 'beforeEnter': this.onBeforeEnter,\n 'enter': this.onEnter,\n 'afterEnter': this.onAfterEnter,\n 'beforeLeave': this.onBeforeLeave,\n 'leave': this.onLeave,\n 'afterLeave': this.onAfterLeave\n },\n onEnter: this.onEnter,\n onAfterEnter: this.onAfterEnter,\n onBeforeLeave: this.onBeforeLeave,\n onLeave: this.onLeave,\n onAfterLeave: this.onAfterLeave\n }, this.v3 ? function () {\n return rendererChildren;\n } : rendererChildren);\n }\n};\n/**\n * @hidden\n */\nvar AnimationChild = AnimationChildVue2;\nexport { AnimationChild, AnimationChildVue2 };","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-animation',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052160,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { AnimationChild } from './AnimationChild';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar AnimationVue2 = {\n props: {\n childFactory: Object,\n className: String,\n tag: String,\n id: String,\n animationEnteringStyle: Object,\n animationExitingStyle: Object,\n componentChildClassName: [Array],\n transitionName: {\n type: String,\n required: true\n },\n appear: {\n type: Boolean,\n default: true\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number\n },\n transitionExitDuration: {\n type: Number\n }\n },\n methods: {\n onEntering: function onEntering(e) {\n this.$emit('entering', e);\n },\n onEnter: function onEnter(e) {\n this.$emit('enter', e);\n },\n onEntered: function onEntered(e) {\n this.$emit('entered', e);\n },\n onExit: function onExit(e) {\n this.$emit('exit', e);\n },\n onExiting: function onExiting(e) {\n this.$emit('exiting', e);\n },\n onExited: function onExited(e) {\n this.$emit('exited', e);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n id = _a.id,\n tag = _a.tag,\n role = _a.role,\n className = _a.className,\n childFactory = _a.childFactory,\n stackChildren = _a.stackChildren,\n componentChildStyle = _a.componentChildStyle,\n componentChildClassName = _a.componentChildClassName,\n other = __rest(_a, [\"id\", \"tag\", \"role\", \"className\", \"childFactory\", \"stackChildren\", \"componentChildStyle\", \"componentChildClassName\"]);\n var parentDivClass = [styles['animation-container'], styles['animation-container-relative'], className];\n return h(\"div\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n role: role\n },\n \"class\": parentDivClass,\n role: role\n }, [\n // @ts-ignore function children\n h(AnimationChild, {\n key: 'some',\n appear: this.$props.appear,\n attrs: this.v3 ? undefined : {\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionName: this.$props.transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n animationEnteringStyle: this.$props.animationEnteringStyle,\n animationExitingStyle: this.$props.animationExitingStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionName: this.$props.transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n onBeforeenter: this.onEnter,\n on: this.v3 ? undefined : {\n \"beforeenter\": this.onEnter,\n \"entering\": this.onEntering,\n \"entered\": this.onEntered,\n \"exit\": this.onExit,\n \"exiting\": this.onExiting,\n \"exited\": this.onExited\n },\n onEntering: this.onEntering,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited,\n animationEnteringStyle: this.$props.animationEnteringStyle,\n animationExitingStyle: this.$props.animationExitingStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])]);\n }\n};\n/**\n * @hidden\n */\nvar Animation = AnimationVue2;\nexport { Animation, AnimationVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar FadeVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: false\n },\n transitionEnterDuration: {\n type: Number,\n default: 500\n },\n transitionExitDuration: {\n type: Number,\n default: 500\n },\n childFactory: Object,\n className: String,\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: \"fade\",\n attrs: this.v3 ? undefined : {\n transitionName: \"fade\",\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Fade = FadeVue2;\nexport { Fade, FadeVue2 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ExpandVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'vertical'\n },\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n direction = _a.direction,\n other = __rest(_a, [\"direction\"]);\n var transitionName = \"expand-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Expand = ExpandVue2;\nexport { Expand, ExpandVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar EXITING_ANIMATION_STYLE = {\n position: 'absolute',\n top: '0',\n left: '0'\n};\n/**\n * @hidden\n */\nvar PushVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'right'\n },\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var transitionName = \"push-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Push = PushVue2;\nexport { Push, PushVue2 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar SlideVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n componentChildClassName: [Array],\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'down'\n },\n tag: String,\n id: String,\n role: String\n },\n methods: {\n onEntering: function onEntering(e) {\n this.$emit('entering', e);\n },\n onEnter: function onEnter(e) {\n this.$emit('enter', e);\n },\n onEntered: function onEntered(e) {\n this.$emit('entered', e);\n },\n onExit: function onExit(e) {\n this.$emit('exit', e);\n },\n onExiting: function onExiting(e) {\n this.$emit('exiting', e);\n },\n onExited: function onExited(e) {\n this.$emit('exited', e);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n direction = _a.direction,\n id = _a.id,\n other = __rest(_a, [\"direction\", \"id\"]);\n var transitionName = \"slide-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n transitionName: transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n transitionName: transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n onEnter: this.onEnter,\n on: this.v3 ? undefined : {\n \"enter\": this.onEnter,\n \"entering\": this.onEntering,\n \"entered\": this.onEntered,\n \"exit\": this.onExit,\n \"exiting\": this.onExiting,\n \"exited\": this.onExited\n },\n onEntering: this.onEntering,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Slide = SlideVue2;\nexport { Slide, SlideVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar EXITING_ANIMATION_STYLE = {\n position: 'absolute',\n top: '0',\n left: '0'\n};\n/**\n * @hidden\n */\nvar ZoomVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n stackChildren: {\n type: Boolean,\n default: false\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'out'\n },\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var transitionName = \"zoom-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Zoom = ZoomVue2;\nexport { Zoom, ZoomVue2 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport util from './util';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar noop = function noop() {};\n/**\n * @hidden\n */\nvar RevealVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'vertical'\n },\n tag: String,\n id: String\n },\n data: function data() {\n return {\n maxHeight: '',\n maxWidth: ''\n };\n },\n methods: {\n componentWillEnter: function componentWillEnter(event) {\n var onEnter = this.$props.onEnter;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onEnter) {\n onEnter.call(undefined, event);\n }\n });\n },\n componentIsEntering: function componentIsEntering(event) {\n var onEntering = this.$props.onEntering;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onEntering) {\n onEntering.call(undefined, event);\n }\n });\n },\n componentWillExit: function componentWillExit(event) {\n var onExit = this.$props.onExit;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onExit) {\n onExit.call(undefined, event);\n }\n });\n },\n updateContainerDimensions: function updateContainerDimensions(node, done) {\n if (done === void 0) {\n done = noop;\n }\n var content = node ? node.firstElementChild : null;\n if (content) {\n var newHeight = util.outerHeight(content);\n var newWidth = util.outerWidth(content);\n this.$data.maxHeight = newHeight;\n this.$data.maxWidth = newWidth;\n done();\n }\n }\n },\n computed: {\n animationEnteringStyle: {\n get: function get() {\n var maxOffset;\n if (this.$props.direction === 'vertical') {\n maxOffset = {\n maxHeight: this.maxHeight ? \"\".concat(this.maxHeight, \"px\") : null\n };\n } else {\n maxOffset = {\n maxWidth: this.maxWidth ? \"\".concat(this.maxWidth, \"px\") : null\n };\n }\n return {\n maxHeight: maxOffset.maxHeight,\n maxWidth: maxOffset.maxWidth\n };\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n direction = _a.direction,\n childFactory = _a.childFactory,\n other = __rest(_a, [\"direction\", \"childFactory\"]);\n var transitionName = \"reveal-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n appear: this.$props.appear,\n attrs: this.v3 ? undefined : {\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationEnteringStyle: this.animationEnteringStyle,\n transitionName: transitionName\n },\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n onEnter: this.componentWillEnter,\n on: this.v3 ? undefined : {\n \"enter\": this.componentWillEnter,\n \"entering\": this.componentIsEntering,\n \"exit\": this.componentWillExit\n },\n onEntering: this.componentIsEntering,\n onExit: this.componentWillExit,\n animationEnteringStyle: this.animationEnteringStyle,\n transitionName: transitionName\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Reveal = RevealVue2;\nexport { Reveal, RevealVue2 };","/**\n * @hidden\n */\nexport var animate = function animate(transition, offset, animationFrame) {\n if (offset === void 0) {\n offset = 0;\n }\n if (animationFrame === void 0) {\n animationFrame = 0;\n }\n var duration = transition.duration;\n var start;\n var progress;\n var skip = offset && 1 - offset;\n if (transition.onStart) {\n transition.onStart();\n }\n var frame = function frame(timestamp) {\n if (!start) {\n start = timestamp;\n }\n progress = timestamp - start + 1;\n var rate = progress / duration + skip;\n if (rate <= 1) {\n if (transition.onUpdate) {\n transition.onUpdate(rate);\n }\n animationFrame = window.requestAnimationFrame(frame);\n offset = rate;\n } else {\n if (transition.onEnd) {\n transition.onEnd(1);\n }\n offset = 0;\n }\n };\n animationFrame = window.requestAnimationFrame(frame);\n return animationFrame;\n};\n/**\n * @hidden\n */\nexport var cancelAnimation = function cancelAnimation(animationFrame) {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n};","/**\n * @hidden\n */\nexport var FOCUS_ACTION;\n(function (FOCUS_ACTION) {\n FOCUS_ACTION[\"next\"] = \"next\";\n FOCUS_ACTION[\"prev\"] = \"prev\";\n FOCUS_ACTION[\"current\"] = \"current\";\n FOCUS_ACTION[\"reset\"] = \"reset\";\n})(FOCUS_ACTION || (FOCUS_ACTION = {}));\n/**\n * @hidden\n */\nexport var focusReducer = function focusReducer(state, action) {\n var currentIndex = action.items.findIndex(function (i) {\n return i === state;\n });\n switch (action.type) {\n case FOCUS_ACTION.next:\n return currentIndex === action.items.length - 1 ? state : action.items[currentIndex + 1];\n case FOCUS_ACTION.prev:\n return currentIndex === 0 ? state : action.items[currentIndex - 1];\n case FOCUS_ACTION.current:\n return action.payload;\n case FOCUS_ACTION.reset:\n return null;\n default:\n return state;\n }\n};","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-buttons',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052263,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","/**\n * @hidden\n */\nvar styles = {\n button: 'k-button',\n 'flat': 'k-flat',\n 'outline': 'k-outline',\n 'clear': 'k-button-clear',\n 'primary': 'k-primary',\n 'state-selected': 'k-selected',\n 'button-icon': 'k-button-icon',\n 'button-icontext': 'k-button-icontext',\n 'state-disabled': 'k-disabled',\n 'group-start': 'k-group-start',\n 'group-end': 'k-group-end',\n 'button-group': 'k-button-group',\n 'button-group-stretched': 'k-button-group-stretched',\n 'ltr': 'k-ltr',\n 'rtl': 'k-rtl'\n};\nvar notInternalButton = ':not(.k-dropdownlist > .k-button):not(.k-colorpicker > .k-button)';\n/**\n * @hidden\n */\nexport var internalButtons = '.k-dropdownlist > .k-button,.k-colorpicker > .k-button';\n/**\n * @hidden\n */\nexport var toolbarButtons = [\n 'button' + notInternalButton,\n '.k-button-group > button',\n '.k-dropdownlist',\n '.k-colorpicker'\n];\n/**\n * @hidden\n */\nexport default {\n styles: styles\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getDefaultSlots, validatePackage, kendoThemeMaps, Icon } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar ButtonVue2 = {\n name: 'KendoButton',\n // @ts-ignore\n emits: {\n click: null,\n mousedown: null,\n mouseup: null,\n pointerdown: null,\n pointerup: null,\n focus: null,\n blur: null,\n keypress: null,\n keydown: null\n },\n props: {\n ariaLabel: String,\n title: String,\n dir: String,\n selected: {\n type: Boolean,\n default: undefined\n },\n togglable: {\n type: Boolean,\n default: false\n },\n icon: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n svgIcon: Object,\n iconClass: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n imageUrl: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n imageAlt: String,\n disabled: {\n type: Boolean,\n default: undefined\n },\n size: {\n type: String,\n default: 'medium'\n },\n shape: {\n type: String\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid'\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base'\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentActive = this.$props.togglable === true && this.$props.selected === true;\n this._activeTemp = undefined;\n },\n data: function data() {\n return {\n currentActive: null\n };\n },\n computed: {\n computedSelected: function computedSelected() {\n return this._activeTemp !== undefined ? this._activeTemp : this.$props.selected !== undefined ? this.$props.selected : this.currentActive;\n },\n buttonClasses: function buttonClasses() {\n var _a;\n var _b = this.$props,\n disabled = _b.disabled,\n icon = _b.icon,\n iconClass = _b.iconClass,\n imageUrl = _b.imageUrl,\n dir = _b.dir,\n size = _b.size,\n shape = _b.shape,\n rounded = _b.rounded,\n fillMode = _b.fillMode,\n themeColor = _b.themeColor;\n var hasIcon = icon !== undefined || iconClass !== undefined || imageUrl !== undefined;\n var defaultSlot = getDefaultSlots(this);\n var hasChildren = defaultSlot;\n return _a = {}, _a[styles.button] = true, _a[\"k-button-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-button-\".concat(shape)] = shape && shape !== 'rectangle', _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-icon-button'] = !hasChildren && hasIcon, _a['k-disabled'] = disabled, _a['k-selected'] = this.computedSelected, _a['k-rtl'] = dir === 'rtl', _a[\"k-button-\".concat(fillMode)] = fillMode, _a[\"k-button-\".concat(fillMode, \"-\").concat(themeColor)] = fillMode && themeColor, _a;\n }\n },\n updated: function updated() {\n if (this.$props.togglable && this.$props.selected !== undefined && this.$props.selected !== this.currentActive) {\n this.currentActive = this.$props.selected;\n }\n },\n methods: {\n focus: function focus(e) {\n this.$el.focus(e);\n },\n toggleIfApplicable: function toggleIfApplicable() {\n if (!this.disabled && this.$props.togglable && this.$props.selected === undefined) {\n var active = !this.currentActive;\n this._activeTemp = active;\n this.currentActive = active;\n this._activeTemp = undefined;\n }\n },\n handleClick: function handleClick(event) {\n this.toggleIfApplicable();\n if (!this.disabled) {\n this.$emit('click', event);\n }\n },\n handleMouseDown: function handleMouseDown(event) {\n if (!this.disabled) {\n this.$emit('mousedown', event);\n }\n },\n handlePointerDown: function handlePointerDown(event) {\n if (!this.disabled) {\n this.$emit('pointerdown', event);\n }\n },\n handleMouseUp: function handleMouseUp(event) {\n if (!this.disabled) {\n this.$emit('mouseup', event);\n }\n },\n handlePointerUp: function handlePointerUp(event) {\n if (!this.disabled) {\n this.$emit('pointerup', event);\n }\n },\n handleFocus: function handleFocus(event) {\n if (!this.disabled) {\n this.$emit('focus', event);\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.disabled) {\n this.$emit('blur', event);\n }\n },\n handleKeypress: function handleKeypress(event) {\n if (!this.disabled) {\n this.$emit('keypress', event);\n }\n },\n handleKeydown: function handleKeydown(event) {\n if (!this.disabled) {\n this.$emit('keydown', event);\n }\n },\n handleContextmenu: function handleContextmenu(event) {\n if (!this.disabled) {\n this.$emit('contextmenu', event);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n togglable = _a.togglable,\n icon = _a.icon,\n svgIcon = _a.svgIcon,\n iconClass = _a.iconClass,\n imageUrl = _a.imageUrl,\n imageAlt = _a.imageAlt;\n var defaultSlot = getDefaultSlots(this);\n var iconElement = function iconElement() {\n if (imageUrl) {\n return h(\"img\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\",\n alt: imageAlt,\n src: imageUrl\n },\n \"class\": 'k-image',\n alt: imageAlt,\n src: imageUrl\n });\n } else if (icon || svgIcon) {\n var iconClasses = classNames('k-button-icon', iconClass);\n return h(Icon, {\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon\n },\n icon: svgIcon,\n \"class\": iconClasses\n });\n } else if (iconClass) {\n return h(\"span\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n },\n \"class\": iconClass\n });\n }\n return null;\n };\n return h(\"button\", {\n \"class\": this.buttonClasses,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseup\": this.handleMouseUp,\n \"pointerdown\": this.handlePointerDown,\n \"pointerup\": this.handlePointerUp,\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"keypress\": this.handleKeypress,\n \"keydown\": this.handleKeydown,\n \"contextmenu\": this.handleContextmenu\n },\n onMousedown: this.handleMouseDown,\n onMouseup: this.handleMouseUp,\n onPointerdown: this.handlePointerDown,\n onPointerup: this.handlePointerUp,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeypress: this.handleKeypress,\n onKeydown: this.handleKeydown,\n onContextmenu: this.handleContextmenu,\n title: this.title,\n attrs: this.v3 ? undefined : {\n title: this.title,\n \"aria-label\": this.ariaLabel,\n \"aria-disabled\": this.$props.disabled || undefined,\n \"aria-pressed\": togglable ? this.currentActive ? true : false : undefined\n },\n \"aria-label\": this.ariaLabel,\n \"aria-disabled\": this.$props.disabled || undefined,\n \"aria-pressed\": togglable ? this.currentActive ? true : false : undefined\n }, [iconElement.call(this), defaultSlot && h(\"span\", {\n \"class\": \"k-button-text\"\n }, [defaultSlot])]);\n }\n};\n/**\n * @hidden\n */\nvar Button = ButtonVue2;\nexport { Button, ButtonVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ButtonWrapVue2 = {\n name: 'KendoButtonWrap',\n props: {},\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return defaultSlot[0];\n }\n};\n/**\n * @hidden\n */\nvar ButtonWrap = ButtonWrapVue2;\nexport { ButtonWrap, ButtonWrapVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { ButtonWrap } from './ButtonWrap';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar ButtonGroupVue2 = {\n name: 'KendoButtonGroup',\n props: {\n disabled: {\n type: Boolean,\n default: undefined\n },\n width: String,\n dir: {\n type: String,\n default: function _default() {\n return undefined;\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var renderButton = function renderButton(child, index, isLast, isRtl) {\n var _a;\n var className = classNames((_a = {}, _a[styles['state-disabled']] = this.$props.disabled, _a[styles['group-start']] = isRtl ? isLast : index === 0, _a[styles['group-end']] = isRtl ? index === 0 : isLast, _a));\n return h(ButtonWrap, {\n class: className,\n attrs: this.v3 ? undefined : {\n 'aria-disabled': this.$props.disabled\n },\n 'aria-disabled': this.$props.disabled\n }, this.v3 ? function () {\n return [child];\n } : [child]);\n };\n var mapButtons = function mapButtons(children) {\n var _this = this;\n var count = children.length;\n var rtl = this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n return children.map(function (child, index) {\n if (_this.isValidButton(child)) {\n return renderButton.call(_this, child, index, index === count - 1, rtl);\n }\n return child;\n });\n };\n var groupClasses = classNames([styles['button-group']], (_a = {}, _a['k-disabled'] = this.$props.disabled, _a[styles['button-group-stretched']] = !!this.$props.width, _a));\n return h(\"div\", {\n style: {\n width: this.width\n },\n dir: this.$props.dir\n // Accessibility properties\n ,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir,\n role: 'group',\n \"aria-disabled\": this.$props.disabled\n },\n role: 'group',\n \"aria-disabled\": this.$props.disabled,\n \"class\": groupClasses\n }, [mapButtons.call(this, defaultSlot)]);\n },\n methods: {\n isValidButton: function isValidButton(child) {\n return child && child.tag && child.tag.toLowerCase().indexOf('button') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('button') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('kendobutton') !== -1;\n }\n }\n};\n/**\n * @hidden\n */\nvar ButtonGroup = ButtonGroupVue2;\nexport { ButtonGroup, ButtonGroupVue2 };","/**\n * @hidden\n */\nexport var DATA_ACTION;\n(function (DATA_ACTION) {\n DATA_ACTION[\"remove\"] = \"remove\";\n DATA_ACTION[\"add\"] = \"add\";\n DATA_ACTION[\"reorder\"] = \"reorder\";\n})(DATA_ACTION || (DATA_ACTION = {}));\n/**\n * @hidden\n */\nexport var dataReducer = function dataReducer(state, action) {\n switch (action.type) {\n case DATA_ACTION.add:\n // TODO v2\n break;\n case DATA_ACTION.remove:\n return state.filter(function (i) {\n return i[action.valueField] !== action.payload;\n });\n case DATA_ACTION.reorder:\n // TODO v2\n break;\n default:\n return state;\n }\n};","var __spreadArray = this && this.__spreadArray || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/**\n * @hidden\n */\nexport var SELECTION_TYPE;\n(function (SELECTION_TYPE) {\n SELECTION_TYPE[\"single\"] = \"single\";\n SELECTION_TYPE[\"multiple\"] = \"multiple\";\n SELECTION_TYPE[\"none\"] = \"none\";\n})(SELECTION_TYPE || (SELECTION_TYPE = {}));\n/**\n * @hidden\n */\nexport var SELECTION_ACTION;\n(function (SELECTION_ACTION) {\n SELECTION_ACTION[\"toggle\"] = \"toggle\";\n SELECTION_ACTION[\"remove\"] = \"remove\";\n})(SELECTION_ACTION || (SELECTION_ACTION = {}));\n/**\n * @hidden\n */\nexport var selectionReducer = function selectionReducer(state, action) {\n switch (action.selection) {\n case SELECTION_TYPE.single:\n switch (action.type) {\n case SELECTION_ACTION.toggle:\n {\n if (!Array.isArray(state) || state === null) {\n return action.payload === state ? null : action.payload;\n }\n throw new Error('State cannot be an array in single selection');\n }\n case SELECTION_ACTION.remove:\n {\n return action.payload === state ? null : state;\n }\n default:\n return state;\n }\n case SELECTION_TYPE.multiple:\n switch (action.type) {\n case SELECTION_ACTION.toggle:\n {\n if (Array.isArray(state)) {\n return state.some(function (i) {\n return i === action.payload;\n }) ? state.filter(function (i) {\n return i !== action.payload;\n }) : __spreadArray(__spreadArray([], state, true), [action.payload], false);\n }\n if (state === null) {\n return [action.payload];\n }\n throw new Error('State cannot be non-array in multiple selection');\n }\n case SELECTION_ACTION.remove:\n {\n if (Array.isArray(state)) {\n return state.some(function (i) {\n return i === action.payload;\n }) ? state.filter(function (i) {\n return i !== action.payload;\n }) : __spreadArray(__spreadArray([], state, true), [action.payload], false);\n }\n return state;\n }\n default:\n return state;\n }\n case SELECTION_TYPE.none:\n return null;\n default:\n return state;\n }\n};","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, getTabIndex, Keys, noop, validatePackage, kendoThemeMaps, setRef, getRef, templateRendering, getListeners, getTemplate, Icon, getIconName } from '@progress/kendo-vue-common';\nimport { checkIcon, xCircleIcon } from '@progress/kendo-svg-icons';\nimport { FOCUS_ACTION } from './focus-reducer';\nimport { DATA_ACTION } from './data-reducer';\nimport { SELECTION_ACTION } from './selection-reducer';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ChipVue2 = {\n name: 'KendoVueChip',\n props: {\n id: String,\n text: String,\n avatar: [String, Function, Object],\n value: [String, Object],\n dir: {\n type: String,\n default: function _default() {\n return 'ltr';\n }\n },\n removable: {\n type: Boolean,\n default: false\n },\n removeIcon: {\n type: String,\n default: function _default() {\n return 'x-circle';\n }\n },\n removeSvgIcon: {\n type: Object,\n default: function _default() {\n return xCircleIcon;\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n icon: String,\n svgIcon: Object,\n selectedIcon: {\n type: String,\n default: function _default() {\n return 'check';\n }\n },\n selectedSvgIcon: {\n type: Object,\n default: function _default() {\n return checkIcon;\n }\n },\n look: {\n type: String,\n default: function _default() {\n return 'solid';\n }\n },\n size: {\n type: String,\n default: 'medium'\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'outline', 'solid'].includes(value);\n }\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base',\n validator: function validator(value) {\n return [null, 'base', 'error', 'info', 'success', 'warning'].includes(value);\n }\n },\n dataItem: Object,\n selected: Boolean,\n ariaDescribedBy: String,\n role: {\n type: String,\n default: 'button'\n }\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'keydown': null,\n 'blur': null,\n 'focus': null,\n 'remove': null\n },\n inject: {\n kendoSelection: {\n default: {\n value: null\n }\n },\n kendoFocused: {\n default: {\n value: null\n }\n },\n kendoDataItems: {\n default: null\n },\n handleDispatchDataItems: {\n default: noop\n },\n handleDispatchSelection: {\n default: noop\n },\n handleDispatchFocus: {\n default: noop\n }\n },\n created: function created() {\n this.currentDir = undefined;\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.chip = getRef(this, 'chip');\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n },\n updated: function updated() {\n if (this.kendoFocused.value === this.$props.value && this.$el) {\n this.$el.focus();\n }\n },\n computed: {\n currentSelected: function currentSelected() {\n var _this = this;\n return this.$props.selected || (Array.isArray(this.kendoSelection.value) ? this.kendoSelection.value.some(function (i) {\n return i === _this.$props.value;\n }) : this.kendoSelection.value === this.$props.value);\n },\n chipLabelClass: function chipLabelClass() {\n return {\n 'k-chip-label': true,\n 'k-text-ellipsis': true\n };\n }\n },\n methods: {\n computedFocused: function computedFocused() {\n return this.kendoFocused.value === this.$props.value;\n },\n handleClick: function handleClick(event) {\n if (this.handleDispatchSelection) {\n this.handleDispatchSelection({\n type: SELECTION_ACTION.toggle,\n payload: this.$props.value,\n event: event\n });\n }\n this.$emit('click', {\n target: this.target,\n event: event\n });\n },\n handleRemove: function handleRemove(event) {\n event.stopPropagation();\n if (!this.$props.removable) {\n return;\n }\n if (this.handleDispatchFocus) {\n this.handleDispatchDataItems({\n type: DATA_ACTION.remove,\n payload: this.$props.value,\n event: event\n });\n this.handleDispatchFocus({\n type: FOCUS_ACTION.reset,\n payload: this.$props.value,\n event: event\n });\n this.handleDispatchSelection({\n type: SELECTION_ACTION.remove,\n payload: this.$props.value,\n event: event\n });\n }\n this.$emit('remove', {\n target: this.target,\n event: event\n });\n },\n handleKeyDown: function handleKeyDown(event) {\n switch (event.keyCode) {\n case Keys.left:\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n type: FOCUS_ACTION.prev,\n payload: this.$props.value,\n event: event\n });\n }\n break;\n case Keys.right:\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n type: FOCUS_ACTION.next,\n payload: this.$props.value,\n event: event\n });\n }\n break;\n case Keys.enter:\n if (this.handleDispatchFocus) {\n this.handleDispatchSelection({\n type: SELECTION_ACTION.toggle,\n payload: this.$props.value,\n event: event\n });\n }\n break;\n case Keys.delete:\n this.handleRemove(event);\n break;\n default:\n break;\n }\n this.$emit('keydown', {\n target: this.target,\n event: event\n });\n },\n handleFocus: function handleFocus(event) {\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n payload: this.$props.value,\n type: FOCUS_ACTION.current,\n event: event\n });\n }\n this.$emit('focus', {\n target: this.target,\n event: event\n });\n },\n handleBlur: function handleBlur(event) {\n this.$emit('blur', {\n target: this.target,\n event: event\n });\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var chipRef = ref(null);\n return {\n v3: v3,\n chipRef: chipRef\n };\n },\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var _b = this.$props,\n size = _b.size,\n rounded = _b.rounded,\n themeColor = _b.themeColor,\n fillMode = _b.fillMode,\n look = _b.look,\n avatar = _b.avatar,\n icon = _b.icon,\n svgIcon = _b.svgIcon,\n selectedIcon = _b.selectedIcon,\n selectedSvgIcon = _b.selectedSvgIcon,\n removeIcon = _b.removeIcon,\n removeSvgIcon = _b.removeSvgIcon;\n var avatarTemplate = templateRendering.call(this, avatar, getListeners.call(this));\n var avatarRender = getTemplate.call(this, {\n h: h,\n template: avatarTemplate\n });\n return h(\"div\", {\n role: this.$props.role,\n attrs: this.v3 ? undefined : {\n role: this.$props.role,\n id: this.$props.value,\n dir: this.currentDir,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"aria-pressed\": this.$props.role === 'button' ? this.currentSelected : undefined,\n \"aria-selected\": this.$props.role === 'option' ? this.currentSelected : undefined,\n \"aria-disabled\": this.$props.disabled,\n \"aria-describedby\": this.$props.ariaDescribedBy\n },\n id: this.$props.value,\n ref: setRef(this, 'chip'),\n dir: this.currentDir,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"class\": classNames('k-chip', (_a = {\n 'k-rtl': this.currentDir === 'rtl',\n 'k-disabled': this.$props.disabled,\n 'k-selected': this.currentSelected,\n 'k-focus': this.computedFocused()\n }, _a[\"k-chip-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a[\"k-chip-\".concat(fillMode)] = fillMode, _a[\"k-chip-\".concat(fillMode, \"-\").concat(themeColor)] = Boolean(fillMode && themeColor), _a['k-chip-outline'] = look === 'outline' || look === 'outlined', _a['k-chip-solid'] = look === 'solid' || look === 'filled', _a)),\n \"aria-pressed\": this.$props.role === 'button' ? this.currentSelected : undefined,\n \"aria-selected\": this.$props.role === 'option' ? this.currentSelected : undefined,\n \"aria-disabled\": this.$props.disabled,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n onFocus: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"click\": this.handleClick,\n \"keydown\": this.handleKeyDown\n },\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n onKeydown: this.handleKeyDown\n }, [this.currentSelected && (selectedIcon || selectedSvgIcon) && h(Icon, {\n name: getIconName(selectedIcon),\n attrs: this.v3 ? undefined : {\n name: getIconName(selectedIcon),\n icon: selectedSvgIcon,\n size: 'small'\n },\n icon: selectedSvgIcon,\n size: 'small'\n }), (icon || svgIcon) && h(Icon, {\n name: getIconName(icon),\n attrs: this.v3 ? undefined : {\n name: getIconName(icon),\n icon: svgIcon,\n size: 'small'\n },\n icon: svgIcon,\n size: 'small'\n }), avatar && avatarRender, h(\"span\", {\n \"class\": 'k-chip-content'\n }, [this.$props.text && h(\"span\", {\n \"aria-label\": this.$props.text,\n attrs: this.v3 ? undefined : {\n \"aria-label\": this.$props.text\n },\n \"class\": this.chipLabelClass\n }, [this.$props.text])]), this.$props.removable && h(\"span\", {\n \"class\": \"k-chip-actions\"\n }, [h(\"span\", {\n \"class\": \"k-chip-action k-chip-remove-action\"\n }, [h(Icon, {\n name: getIconName(removeIcon),\n attrs: this.v3 ? undefined : {\n name: getIconName(removeIcon),\n icon: removeSvgIcon,\n size: 'small'\n },\n icon: removeSvgIcon,\n size: 'small',\n onClick: this.handleRemove,\n on: this.v3 ? undefined : {\n \"click\": this.handleRemove\n }\n })])])]);\n }\n};\n/**\n * @hidden\n */\nvar Chip = ChipVue2;\nexport { Chip, ChipVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { getTabIndex, classNames, getListeners, templateRendering, getTemplate, validatePackage, kendoThemeMaps, setRef } from '@progress/kendo-vue-common';\nimport { selectionReducer } from './selection-reducer';\nimport { focusReducer } from './focus-reducer';\nimport { dataReducer } from './data-reducer';\nimport { Chip } from './Chip';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ChipListVue2 = {\n name: 'KendoVueChipList',\n inheritAttrs: false,\n props: {\n id: String,\n tabIndex: Number,\n dataItems: Array,\n defaultDataItems: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n value: [Object, Array, String, Number],\n defaultValue: {\n type: [Object, Array, String, Number],\n default: function _default() {\n return null;\n }\n },\n size: {\n type: String,\n default: 'medium'\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'outline', 'solid'].includes(value);\n }\n },\n selection: {\n type: String,\n default: function _default() {\n return 'none';\n }\n },\n textField: {\n type: String,\n default: function _default() {\n return 'text';\n }\n },\n valueField: {\n type: String,\n default: function _default() {\n return 'value';\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n dir: {\n type: String,\n default: function _default() {\n return 'ltr';\n }\n },\n chip: [String, Function, Object],\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n provide: function provide() {\n return {\n kendoSelection: this.currentValue,\n kendoFocused: this.currentFocused,\n kendoDataItems: this.computedDataItems,\n handleDispatchDataItems: this.handleDispatchDataItems,\n handleDispatchSelection: this.handleDispatchSelection,\n handleDispatchFocus: this.handleDispatchFocus\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentDataItems = this.$props.dataItems || this.$props.defaultDataItems;\n this.currentValue.value = this.$props.value || this.$props.defaultValue;\n },\n data: function data() {\n return {\n currentDataItems: [],\n currentDir: 'ltr',\n isRtl: false,\n currentFocused: {\n value: false\n },\n currentValue: {\n value: null\n }\n };\n },\n mounted: function mounted() {\n this.chipList = this.v3 ? this.chipListRef : this.$refs.chipList;\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n this.isRtl = this.currentDir === 'rtl';\n },\n computed: {\n computedDataItems: function computedDataItems() {\n return this.$props.dataItems || this.currentDataItems;\n },\n computedValue: function computedValue() {\n return this.$props.value || this.currentValue.value;\n },\n items: function items() {\n return this.computedDataItems.reduce(this.itemsReducer, []);\n }\n },\n methods: {\n handleDispatchSelection: function handleDispatchSelection(action) {\n var newState = selectionReducer(this.computedValue, __assign(__assign({}, action), {\n selection: this.$props.selection,\n state: this.computedValue\n }));\n this.handleChange(newState, action.event);\n this.currentValue.value = newState;\n },\n handleDispatchFocus: function handleDispatchFocus(action) {\n var newState = focusReducer(action.payload, __assign(__assign({}, action), {\n items: this.items\n }));\n this.currentFocused.value = newState;\n },\n handleDispatchDataItems: function handleDispatchDataItems(action) {\n var newState = dataReducer(this.computedDataItems, __assign(__assign({}, action), {\n state: this.computedDataItems,\n valueField: this.$props.valueField\n }));\n this.handleDataChange(newState, action.event);\n this.currentDataItems = newState;\n },\n handleChange: function handleChange(newValue, event) {\n if (this.$el) {\n this.$emit('change', {\n value: newValue,\n target: this.$el,\n event: event\n });\n }\n },\n handleDataChange: function handleDataChange(newData, event) {\n if (this.$el) {\n this.$emit('datachange', {\n value: newData,\n target: this.$el,\n event: event\n });\n }\n },\n itemsReducer: function itemsReducer(acc, current) {\n acc.push(current[this.$props.valueField || this.$props.valueField]);\n return acc;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var chipListRef = ref(null);\n return {\n v3: v3,\n chipListRef: chipListRef\n };\n },\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var size = this.$props.size;\n return h(\"div\", {\n ref: setRef(this, 'chipList'),\n role: 'listbox',\n attrs: this.v3 ? undefined : {\n role: 'listbox',\n id: this.$props.id,\n dir: this.currentDir,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-orientation\": 'horizontal',\n \"aria-multiselectable\": this.$props.selection === 'multiple' ? true : undefined\n },\n id: this.$props.id,\n dir: this.currentDir,\n style: this.$attrs.style,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"class\": classNames('k-chip-list', (_a = {}, _a[\"k-chip-list-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a['k-rtl'] = this.currentDir === 'rtl', _a['k-selection-single'] = this.$props.selection === 'single', _a['k-selection-multiple'] = this.$props.selection === 'multiple', _a['k-disabled'] = this.$props.disabled, _a)),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-orientation\": 'horizontal',\n \"aria-multiselectable\": this.$props.selection === 'multiple' ? true : undefined\n }, [this.computedDataItems.map(function (item) {\n var chipTemplate = templateRendering.call(this, this.$props.chip, getListeners.call(this));\n var chipDefaultRendering =\n // @ts-ignore function children\n h(Chip, {\n role: 'option',\n attrs: this.v3 ? undefined : {\n role: 'option',\n dataItem: item,\n text: item[this.$props.textField],\n value: item[this.$props.valueField],\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode\n },\n dataItem: item,\n key: item[this.$props.valueField],\n text: item[this.$props.textField],\n value: item[this.$props.valueField],\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode\n });\n return getTemplate.call(this, {\n h: h,\n template: chipTemplate,\n defaultRendering: chipDefaultRendering,\n additionalProps: {\n dataItem: item,\n key: item[this.$props.valueField],\n text: item[this.$props.textField],\n value: item[this.$props.valueField],\n size: this.$props.size\n }\n });\n }, this)]);\n }\n};\n/**\n * @hidden\n */\nvar ChipList = ChipListVue2;\nexport { ChipList, ChipListVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, getRef, getTabIndex, getTemplate, Icon, setRef } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar FloatingActionButtonItemVue2 = {\n name: 'KendoVueFloatingActionButtonItem',\n props: {\n disabled: Boolean,\n focused: Boolean,\n index: Number,\n icon: String,\n item: [String, Function, Object],\n dataItem: Object,\n text: String,\n tabIndex: Number,\n customProp: [String, Function, Object]\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'down': null\n },\n mounted: function mounted() {\n this.element = getRef(this, 'element');\n },\n computed: {\n itemClassNames: function itemClassNames() {\n return classNames('k-fab-item', {\n 'k-focus': this.focused,\n 'k-disabled': this.disabled\n });\n }\n },\n methods: {\n handleClick: function handleClick(event) {\n if (this.$props.index !== undefined && !this.$props.disabled) {\n this.$emit('click', event, this.$props.index);\n }\n },\n focusElement: function focusElement() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n onDown: function onDown(event) {\n this.$emit('down', event);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var elementRef = ref(null);\n return {\n v3: v3,\n elementRef: elementRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n id = _a.id,\n tabIndex = _a.tabIndex,\n dataItem = _a.dataItem;\n var text = dataItem.text,\n icon = dataItem.icon,\n svgIcon = dataItem.svgIcon;\n var item;\n var itemDefaultRendering = h(\"li\", {\n ref: setRef(this, 'element'),\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: 'menuitem',\n tabindex: getTabIndex(tabIndex, disabled),\n \"aria-disabled\": disabled,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton item\")\n },\n \"class\": this.itemClassNames,\n role: 'menuitem',\n tabindex: getTabIndex(tabIndex, disabled),\n \"aria-disabled\": disabled,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton item\"),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.onDown,\n \"pointerdown\": this.onDown\n },\n onMousedown: this.onDown,\n onPointerdown: this.onDown\n }, [text && h(\"span\", {\n \"class\": \"k-fab-item-text\"\n }, [text]), icon && h(Icon, {\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon\n },\n icon: svgIcon,\n \"class\": \"k-fab-item-icon\"\n })]);\n item = getTemplate.call(this, {\n h: h,\n template: this.$props.item,\n defaultRendering: itemDefaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n click: this.handleClick\n }\n });\n return item;\n }\n};\n/**\n * @hidden\n */\nvar FloatingActionButtonItem = FloatingActionButtonItemVue2;\nexport { FloatingActionButtonItem, FloatingActionButtonItemVue2 };","/**\n * @hidden\n */\nexport var DEFAULT_OFFSET = '16px';\n/**\n * @hidden\n */\nexport var toStringValues = function (val) {\n if (typeof val === 'number') {\n return val + 'px';\n }\n return val;\n};\n/**\n * @hidden\n */\nexport var getAnchorAlign = function (fabAlign, rtl) {\n var align = { horizontal: (rtl ? 'right' : 'left'), vertical: 'bottom' };\n if (fabAlign.horizontal === 'end') {\n align.horizontal = rtl ? 'left' : 'right';\n }\n return align;\n};\n/**\n * @hidden\n */\nexport var getPopupAlign = function (fabAlign, rtl) {\n var align = { horizontal: (rtl ? 'right' : 'left'), vertical: 'top' };\n if (fabAlign.horizontal === 'end') {\n align.horizontal = rtl ? 'left' : 'right';\n }\n return align;\n};\n/**\n * @hidden\n */\nexport var getTextDirectionClass = function (rtl, hAlign) {\n var al = hAlign === 'end' ? 'end' : 'start';\n var directions = {\n rtl: { end: 'k-text-left', start: 'k-text-right' },\n ltr: { start: 'k-text-left', end: 'k-text-right' }\n };\n return directions[rtl][al];\n};\n/**\n * @hidden\n */\nexport var position = function (ref, align, alignOffset, isRtl) {\n var horizontal = align.horizontal;\n var vertical = align.vertical;\n if (ref) {\n var xFab = alignOffset && alignOffset.x !== undefined ?\n toStringValues(alignOffset.x) :\n DEFAULT_OFFSET;\n var xCenterFab = alignOffset && alignOffset.x !== undefined ?\n \"calc(50% + \".concat(toStringValues(alignOffset.x), \")\") :\n '50%';\n var yFab = alignOffset && alignOffset.y !== undefined ?\n toStringValues(alignOffset.y) :\n DEFAULT_OFFSET;\n var yCenterFab = alignOffset && alignOffset.y !== undefined ?\n \"calc(50% + \".concat(toStringValues(alignOffset.y), \")\") :\n '50%';\n ref.style.setProperty(horizontalPosition(align, isRtl), horizontal === 'center' ? xCenterFab : xFab);\n ref.style.setProperty(verticalPosition(align), vertical === 'middle' ? yCenterFab : yFab);\n if (isRtl) {\n if ((vertical === 'top' || vertical === 'bottom') && horizontal === 'start') {\n ref.style.setProperty('left', 'unset');\n }\n if (vertical === 'middle' && horizontal === 'end') {\n ref.style.setProperty('right', 'unset');\n }\n if (vertical === 'middle' && horizontal === 'start') {\n ref.style.setProperty('left', 'unset');\n }\n }\n }\n};\nvar horizontalPosition = function (align, isRtl) {\n var horizontal = align.horizontal;\n return {\n end: isRtl ? 'left' : 'right',\n center: 'left',\n start: isRtl ? 'right' : 'left'\n }[horizontal || 'end'];\n};\nvar verticalPosition = function (align) {\n return {\n top: 'top',\n middle: 'top',\n bottom: 'bottom'\n }[align.vertical || 'bottom'];\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, guid, Keys, getTabIndex, templateRendering, getListeners, validatePackage, canUseDOM, kendoThemeMaps, setRef, getRef, Icon } from '@progress/kendo-vue-common';\nimport { FloatingActionButtonItem } from './FloatingActionButtonItem';\nimport { packageMetadata } from '../package-metadata';\nimport { position, getAnchorAlign, getPopupAlign, getTextDirectionClass } from './utils';\nimport { Popup } from '@progress/kendo-vue-popup';\n/**\n * @hidden\n */\nvar FloatingActionButtonVue2 = {\n name: 'KendoVueFloatingActionButton',\n props: {\n id: String,\n dir: String,\n tabIndex: Number,\n accessKey: String,\n disabled: Boolean,\n icon: String,\n svgIcon: Object,\n iconClass: String,\n items: [Object, Array],\n item: [String, Function, Object],\n text: String,\n alignOffset: Object,\n opened: {\n type: Boolean,\n default: undefined\n },\n align: {\n type: Object,\n default: function _default() {\n return {\n vertical: 'bottom',\n horizontal: 'end'\n };\n }\n },\n positionMode: {\n type: String,\n default: function _default() {\n return 'fixed';\n }\n },\n popupSettings: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n shape: {\n type: String,\n default: function _default() {\n return 'rectangle';\n }\n },\n rounded: {\n type: String,\n default: 'full'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'link', 'outline', 'solid'].includes(value);\n }\n },\n size: {\n type: String,\n default: function _default() {\n return 'medium';\n }\n },\n themeColor: {\n type: String,\n default: function _default() {\n return 'primary';\n }\n }\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'mousedown': null,\n 'mouseup': null,\n 'open': null,\n 'close': null,\n 'itemclick': null,\n 'focus': null,\n 'blur': null,\n 'keydown': null\n },\n data: function data() {\n return {\n currentOpened: false,\n currentFocused: false,\n focusedIndex: -1,\n currentDir: 'ltr',\n isRtl: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.element = undefined;\n this._anchor = guid();\n this.listId = guid();\n this.buttonId = guid();\n },\n mounted: function mounted() {\n this.element = this.v3 ? this.kendoAnchorRef : this.$refs[this._anchor];\n this.list = getRef(this, 'list');\n this.popup = getRef(this, 'popup');\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n this.isRtl = this.currentDir === 'rtl';\n if (this.opened !== undefined) {\n position(this.$el, this.$props.align, this.$props.alignOffset, this.isRtl);\n }\n },\n updated: function updated() {\n position(this.$el, this.$props.align, this.$props.alignOffset, this.isRtl);\n if (this.currentFocused && this.element) {\n this.element.focus();\n }\n },\n computed: {\n buttonClassNames: function buttonClassNames() {\n var _a;\n var _b = this.$props,\n size = _b.size,\n icon = _b.icon,\n shape = _b.shape,\n themeColor = _b.themeColor,\n fillMode = _b.fillMode,\n rounded = _b.rounded;\n return _a = {\n 'k-fab': true\n }, _a[\"k-fab-\".concat(shape || 'rectangle')] = shape !== null, _a[\"k-fab-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a[\"k-fab-\".concat(fillMode)] = fillMode, _a[\"k-fab-\".concat(fillMode, \"-\").concat(themeColor)] = fillMode && themeColor, _a['k-disabled'] = this.$props.disabled, _a['k-focus'] = this.currentFocused, _a[\"k-\".concat(this.$props.align.vertical, \"-\").concat(this.$props.align.horizontal)] = true, _a;\n },\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n rootClassNames: function rootClassNames() {\n return classNames({\n 'k-pos-absolute': this.$props.positionMode === 'absolute',\n 'k-pos-fixed': this.$props.positionMode === 'fixed'\n });\n }\n },\n methods: {\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, isOpen) {\n if (!this.$props.items) {\n return;\n }\n this.$emit(isOpen ? 'open' : 'close', {\n event: dispatchedEvent,\n isOpened: !isOpen\n });\n },\n handleClick: function handleClick(event) {\n if (!event.target || this.$props.disabled) {\n return;\n }\n if (!this.$props.items) {\n this.$emit('click', event, undefined);\n } else {\n var currentOpenToggled = !this.computedOpened;\n this.currentOpened = currentOpenToggled;\n this.currentFocused = true;\n this.focusedIndex = currentOpenToggled ? 0 : -1;\n this.dispatchPopupEvent(event, !this.computedOpened);\n }\n },\n handleFocus: function handleFocus(event) {\n this.currentFocused = true;\n this.focusedIndex = this.computedOpened ? 0 : -1;\n this.$emit('focus', event, undefined);\n },\n handleBlur: function handleBlur(event) {\n this.currentFocused = false;\n this.currentOpened = false;\n this.focusedIndex = -1;\n this.$emit('blur', event, undefined);\n var fireCloseEvent = this.computedOpened;\n if (fireCloseEvent) {\n this.dispatchPopupEvent(event, false);\n }\n },\n handleMouseDown: function handleMouseDown(event) {\n event.preventDefault();\n this.$emit('mousedown', event);\n },\n handleMouseUp: function handleMouseUp(event) {\n this.$emit('mouseup', event);\n },\n dispatchItemClickEvent: function dispatchItemClickEvent(dispatchedEvent, index) {\n if (!this.$props.items) {\n return;\n }\n if (!this.$props.items[index].disabled) {\n this.$emit('itemclick', dispatchedEvent, {\n itemProps: this.$props.items[index],\n itemIndex: index\n });\n }\n },\n handleItemClick: function handleItemClick(event, clickedItemIndex) {\n if (!event.target || !this.$props.items) {\n return;\n }\n this.focusedIndex = clickedItemIndex;\n this.currentOpened = false;\n this.dispatchItemClickEvent(event, clickedItemIndex);\n this.dispatchPopupEvent(event, false);\n },\n handleItemDown: function handleItemDown(event) {\n if (canUseDOM && document.activeElement === this.element) {\n event.preventDefault();\n }\n },\n handleKeyDown: function handleKeyDown(event) {\n var currIndex = this.focusedIndex;\n var maxNavIndex = this.$props.items ? this.$props.items.length - 1 : -1;\n var isAtBottom = this.$props.align.vertical === 'bottom';\n switch (event.keyCode) {\n case Keys.enter:\n case Keys.space:\n if (currIndex >= 0) {\n this.dispatchItemClickEvent(event, currIndex);\n }\n event.preventDefault();\n this.currentOpened = !this.currentOpened;\n this.focusedIndex = !this.currentOpened ? 0 : -1;\n break;\n case Keys.esc:\n event.preventDefault();\n this.currentOpened = false;\n this.focusedIndex = -1;\n break;\n case Keys.home:\n event.preventDefault();\n this.focusedIndex = 0;\n break;\n case Keys.end:\n event.preventDefault();\n this.focusedIndex = maxNavIndex;\n break;\n case Keys.down:\n case Keys.right:\n event.preventDefault();\n if (currIndex < maxNavIndex && !isAtBottom) {\n this.focusedIndex = currIndex + 1;\n }\n if (currIndex > 0 && isAtBottom) {\n this.focusedIndex = currIndex - 1;\n }\n break;\n case Keys.up:\n case Keys.left:\n event.preventDefault();\n if (currIndex > 0 && !isAtBottom) {\n this.focusedIndex = currIndex - 1;\n }\n if (currIndex < maxNavIndex && isAtBottom) {\n this.focusedIndex = currIndex + 1;\n }\n break;\n default:\n break;\n }\n this.$emit('keydown', event, undefined);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var chipRef = ref(null);\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n chipRef: chipRef,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this2 = this;\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n align = _a.align,\n disabled = _a.disabled,\n icon = _a.icon,\n svgIcon = _a.svgIcon,\n iconClass = _a.iconClass,\n id = _a.id,\n items = _a.items,\n text = _a.text,\n tabIndex = _a.tabIndex,\n accessKey = _a.accessKey,\n popupSettings = _a.popupSettings;\n var item = templateRendering.call(this, this.$props.item, getListeners.call(this));\n var fabItems = function fabItems() {\n return items && items.map(function (element, index) {\n return (\n // @ts-ignore function children\n h(FloatingActionButtonItem, {\n key: index,\n index: index,\n attrs: this.v3 ? undefined : {\n index: index,\n id: \"\".concat(this.listId, \"-\").concat(index),\n disabled: disabled || element.disabled,\n focused: this.focusedIndex === index,\n dataItem: element,\n item: item\n },\n id: \"\".concat(this.listId, \"-\").concat(index),\n disabled: disabled || element.disabled,\n focused: this.focusedIndex === index,\n dataItem: element,\n item: item,\n \"class\": classNames(element.className, getTextDirectionClass(this.currentDir || 'ltr', align.horizontal)),\n onClick: this.handleItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleItemClick,\n \"down\": this.handleItemDown\n },\n onDown: this.handleItemDown\n })\n );\n }, this);\n };\n var isIconFab = icon && !text;\n var fabWidth = this.element ? this.element.offsetWidth : 0;\n var iconWidth = 32;\n var spacing = fabWidth / 2 - iconWidth / 2;\n return h(\"div\", {\n \"class\": this.rootClassNames\n }, [h(\"button\", {\n ref: this.v3 ? function (el) {\n _this.kendoAnchorRef = el;\n } : this._anchor,\n id: id || this.buttonId,\n attrs: this.v3 ? undefined : {\n id: id || this.buttonId,\n role: items ? 'menubutton' : 'button',\n type: 'button',\n \"aria-disabled\": disabled,\n \"aria-expanded\": items ? this.computedOpened : undefined,\n \"aria-haspopup\": items ? true : false,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton\"),\n \"aria-owns\": items ? this.listId : undefined,\n \"aria-activedescendant\": this.focusedIndex >= 0 && items ? \"\".concat(this.listId, \"-\").concat(this.focusedIndex) : undefined,\n tabindex: getTabIndex(tabIndex, disabled),\n accesskey: accessKey,\n dir: this.currentDir,\n disabled: disabled\n },\n role: items ? 'menubutton' : 'button',\n type: 'button',\n \"aria-disabled\": disabled,\n \"aria-expanded\": items ? this.computedOpened : undefined,\n \"aria-haspopup\": items ? true : false,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton\"),\n \"aria-owns\": items ? this.listId : undefined,\n \"aria-activedescendant\": this.focusedIndex >= 0 && items ? \"\".concat(this.listId, \"-\").concat(this.focusedIndex) : undefined,\n tabindex: getTabIndex(tabIndex, disabled),\n accesskey: accessKey,\n dir: this.currentDir,\n disabled: disabled,\n \"class\": this.buttonClassNames,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseup\": this.handleMouseUp,\n \"focusin\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"keydown\": this.handleKeyDown\n },\n onMousedown: this.handleMouseDown,\n onMouseup: this.handleMouseUp,\n onFocusin: this.handleFocus,\n onBlur: this.handleBlur,\n onKeydown: this.handleKeyDown\n }, [icon || svgIcon ? h(Icon, {\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon\n },\n icon: svgIcon,\n \"class\": 'k-fab-icon'\n }) : iconClass ? h(Icon, {\n \"class\": iconClass\n }) : null, text && h(\"span\", {\n \"class\": \"k-fab-text\"\n }, [text])]),\n // @ts-ignore function children\n h(Popup, {\n ref: setRef(this, 'popup'),\n show: this.computedOpened,\n attrs: this.v3 ? undefined : {\n show: this.computedOpened,\n anchor: this._anchor,\n animate: popupSettings.animate,\n popupClass: classNames('k-popup-transparent k-fab-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(align, this.isRtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(align, this.isRtl)\n },\n anchor: this._anchor,\n animate: popupSettings.animate,\n popupClass: classNames('k-popup-transparent k-fab-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(align, this.isRtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(align, this.isRtl),\n style: {\n boxShadow: 'none'\n }\n }, this.v3 ? function () {\n return [h(\"ul\", {\n ref: setRef(_this2, 'list'),\n role: 'menu',\n attrs: _this2.v3 ? undefined : {\n role: 'menu',\n \"aria-labelledby\": id,\n id: _this2.listId\n },\n \"aria-labelledby\": id,\n id: _this2.listId,\n \"class\": classNames('k-fab-items', {\n 'k-fab-items-bottom': align.vertical !== 'bottom',\n 'k-fab-items-top': align.vertical === 'bottom'\n }),\n style: {\n paddingLeft: isIconFab ? spacing + 'px' : undefined,\n paddingRight: isIconFab ? spacing + 'px' : undefined\n }\n }, [fabItems.call(_this2)])];\n } : [h(\"ul\", {\n ref: setRef(_this2, 'list'),\n role: 'menu',\n attrs: _this2.v3 ? undefined : {\n role: 'menu',\n \"aria-labelledby\": id,\n id: _this2.listId\n },\n \"aria-labelledby\": id,\n id: _this2.listId,\n \"class\": classNames('k-fab-items', {\n 'k-fab-items-bottom': align.vertical !== 'bottom',\n 'k-fab-items-top': align.vertical === 'bottom'\n }),\n style: {\n paddingLeft: isIconFab ? spacing + 'px' : undefined,\n paddingRight: isIconFab ? spacing + 'px' : undefined\n }\n }, [fabItems.call(_this2)])])]);\n }\n};\n/**\n * @hidden\n */\nvar FloatingActionButton = FloatingActionButtonVue2;\nexport { FloatingActionButton, FloatingActionButtonVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getTemplate, Icon } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ButtonItemVue2 = {\n name: 'KendoButtonItem',\n // @ts-ignore\n emits: {\n click: null,\n down: null\n },\n props: {\n focused: Boolean,\n index: Number,\n item: Object,\n render: [String, Object, Function],\n dataItem: [String, Object],\n id: String,\n textField: String\n },\n computed: {\n wrapperClass: function wrapperClass() {\n return {\n 'k-item': true,\n 'k-focus': this.$props.focused\n };\n },\n innerClass: function innerClass() {\n var dataItem = this.$props.dataItem;\n return {\n 'k-link k-menu-link': true,\n 'k-selected': dataItem.selected,\n 'k-disabled': dataItem.disabled\n };\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event, this.$props.index);\n },\n onDown: function onDown(event) {\n this.$emit('down', event, this.$props.index);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n dataItem = _a.dataItem,\n id = _a.id,\n render = _a.render;\n var renderContent = function renderContent() {\n var _a = this.$props,\n textField = _a.textField,\n index = _a.index;\n var text = dataItem.text !== undefined ? dataItem.text : textField ? dataItem[textField] : dataItem;\n var itemContent = h(\"span\", {\n tabindex: -1,\n attrs: this.v3 ? undefined : {\n tabindex: -1\n },\n \"class\": this.innerClass,\n key: \"icon\"\n }, [dataItem.icon || dataItem.svgIcon ? h(Icon, {\n name: dataItem.icon,\n attrs: this.v3 ? undefined : {\n name: dataItem.icon,\n icon: dataItem.svgIcon\n },\n icon: dataItem.svgIcon,\n \"class\": dataItem.iconClass\n }) : dataItem.iconClass && h(\"span\", {\n \"class\": dataItem.iconClass,\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }), dataItem.imageUrl && h(\"img\", {\n \"class\": \"k-icon\",\n alt: \"\",\n attrs: this.v3 ? undefined : {\n alt: \"\",\n src: dataItem.imageUrl,\n role: \"presentation\"\n },\n src: dataItem.imageUrl,\n role: \"presentation\",\n key: \"image\"\n }), text && h(\"span\", {\n \"class\": \"k-menu-link-text\"\n }, [text])]);\n return getTemplate.call(this, {\n h: h,\n template: this.$props.dataItem.render || render,\n defaultRendering: itemContent,\n additionalProps: {\n item: dataItem,\n itemIndex: index,\n innerClass: this.innerClass,\n focused: this.focused\n }\n });\n };\n var item = h(\"li\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: \"menuitem\",\n \"aria-disabled\": dataItem.disabled || undefined\n },\n \"class\": this.wrapperClass,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick,\n \"mousedown\": this.onDown,\n \"pointerdown\": this.onDown\n },\n onMousedown: this.onDown,\n onPointerdown: this.onDown,\n role: \"menuitem\",\n \"aria-disabled\": dataItem.disabled || undefined\n }, [renderContent.call(this)]);\n return item;\n }\n};\n/**\n * @hidden\n */\nvar ButtonItem = ButtonItemVue2;\nexport { ButtonItem, ButtonItemVue2 };","import { Keys } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar navigate = function (focusedIndex, keyCode, altKey, total) {\n if (altKey) {\n return focusedIndex;\n }\n switch (keyCode) {\n case Keys.enter:\n case Keys.space:\n case Keys.esc:\n return -1;\n case Keys.up:\n case Keys.left:\n return Math.max(0, focusedIndex - 1);\n case Keys.down:\n case Keys.right:\n return Math.min(total - 1, focusedIndex + 1);\n default:\n return focusedIndex;\n }\n};\nexport default navigate;\n","/**\n * @hidden\n */\nexport function getAnchorAlign(isDirectionRightToLeft) {\n var align = { horizontal: 'left', vertical: 'bottom' };\n if (isDirectionRightToLeft) {\n align.horizontal = 'right';\n }\n return align;\n}\n/**\n * @hidden\n */\nexport function getPopupAlign(isDirectionRightToLeft) {\n var align = { horizontal: 'left', vertical: 'top' };\n if (isDirectionRightToLeft) {\n align.horizontal = 'right';\n }\n return align;\n}\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { Button as KendoButton } from '../Button';\nimport { classNames, guid, Keys, kendoThemeMaps, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { ButtonItem } from './ButtonItem';\nimport navigation from './utils/navigation';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { getAnchorAlign, getPopupAlign } from './utils/popup';\nimport { validatePackage, templateRendering, getListeners, canUseDOM } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar SplitButtonVue2 = {\n name: 'KendoSplitButton',\n // @ts-ignore\n emits: {\n focus: null,\n blur: null,\n buttonclick: null,\n itemclick: null,\n open: null,\n close: null\n },\n props: {\n accessKey: String,\n ariaLabel: String,\n text: String,\n items: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n textField: String,\n tabIndex: Number,\n disabled: Boolean,\n icon: String,\n svgIcon: Object,\n size: {\n type: String,\n default: 'medium'\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'link', 'outline', 'solid'].includes(value);\n }\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base',\n validator: function validator(value) {\n return [null, 'base', 'dark', 'error', 'info', 'inverse', 'inverse', 'light', 'primary', 'secondary', 'success', 'tertiary', 'warning'].includes(value);\n }\n },\n opened: {\n type: Boolean,\n default: undefined\n },\n iconClass: String,\n imageUrl: String,\n popupSettings: Object,\n itemRender: [String, Function, Object],\n item: [String, Function, Object],\n look: String,\n className: String,\n buttonClass: String,\n dir: String\n },\n data: function data() {\n return {\n focused: false,\n focusedIndex: -1,\n currentOpened: false\n };\n },\n created: function created() {\n this._blurTimeout = null;\n this._anchor = guid();\n this.mainButton = null;\n this.guid = guid();\n this.buttonsData = [];\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.mainButton = this.$refs[this._anchor];\n // If this.$props.opened is true during the initial render, the popup is not aligned.\n if (this.$props.dir === undefined && this.isRtl() || this.computedOpened) {\n this.$forceUpdate();\n }\n },\n updated: function updated() {\n if (this.focused && this.element()) {\n this.mainButton = this.$refs[this._anchor];\n this.mainButton.focus();\n }\n },\n computed: {\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n wrapperClass: function wrapperClass() {\n return {\n 'k-split-button': true,\n 'k-button-group': true,\n 'k-focus': this.focused\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this3 = this;\n var _this = this;\n var h = gh || createElement;\n this.buttonsData = this.$props.items;\n var rtl = this.isRtl();\n var dir = rtl ? 'rtl' : undefined;\n var _a = this.$props,\n tabIndex = _a.tabIndex,\n disabled = _a.disabled;\n var defaultSlot = getDefaultSlots(this);\n var renderChildItems = function renderChildItems() {\n var _a = this.$props,\n item = _a.item,\n itemRender = _a.itemRender,\n textField = _a.textField;\n return this.buttonsData.length > 0 ? this.buttonsData.map(function (dataItem, index) {\n var currentDataItem = typeof dataItem !== 'string' ? __assign(__assign({}, dataItem), {\n render: templateRendering.call(this, dataItem.render, getListeners.call(this))\n }) : dataItem;\n return (\n // @ts-ignore\n h(ButtonItem, {\n \"class\": \"k-menu-item\",\n role: \"menuitem\",\n attrs: this.v3 ? undefined : {\n role: \"menuitem\",\n dataItem: currentDataItem,\n textField: textField,\n focused: this.focusedIndex === index,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n },\n dataItem: currentDataItem,\n textField: textField,\n focused: this.focusedIndex === index,\n onClick: this.onItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.onItemClick,\n \"down\": this.onItemDown\n },\n onDown: this.onItemDown,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n key: index,\n index: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n })\n );\n }, this) : null;\n };\n var renderPopup = function renderPopup() {\n var _this2 = this;\n var _a = this.$props,\n _b = _a.popupSettings,\n popupSettings = _b === void 0 ? {} : _b,\n size = _a.size;\n return (\n // @ts-ignore function children\n h(Popup, {\n anchor: this._anchor,\n attrs: this.v3 ? undefined : {\n anchor: this._anchor,\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl)\n },\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl),\n style: rtl ? {\n direction: 'rtl'\n } : undefined\n }, this.v3 ? function () {\n return [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this2.v3 ? undefined : {\n role: \"menu\",\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n },\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n }, [renderChildItems.call(_this2)])];\n } : [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this2.v3 ? undefined : {\n role: \"menu\",\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n },\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n }, [renderChildItems.call(_this2)])])\n );\n };\n return h(\"div\", {\n \"class\": this.wrapperClass,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"focusin\": this.onFocus,\n \"focusout\": this.onBlur\n },\n onFocusin: this.onFocus,\n onFocusout: this.onBlur,\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n }\n }, [\n // @ts-ignore function children\n h(KendoButton, {\n size: this.$props.size,\n attrs: this.v3 ? undefined : {\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n dir: dir,\n id: this._anchor,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" splitbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n },\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n onClick: function onClick(event) {\n return _this.onItemClick(event, -1);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(event) {\n return _this.onItemClick(event, -1);\n }\n },\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n \"class\": this.$props.buttonClass,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n dir: dir,\n id: this._anchor,\n ref: this._anchor,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" splitbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n }, this.v3 ? function () {\n return [_this3.$props.text, defaultSlot];\n } : [_this3.$props.text, defaultSlot]),\n // @ts-ignore\n h(KendoButton, {\n \"class\": 'k-split-button-arrow',\n size: this.$props.size,\n attrs: this.v3 ? undefined : {\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n icon: \"caret-alt-down\",\n disabled: disabled || undefined,\n tabIndex: -1,\n look: this.$props.look,\n dir: dir,\n \"aria-label\": \"menu toggling button\"\n },\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n icon: \"caret-alt-down\",\n disabled: disabled || undefined,\n tabIndex: -1,\n look: this.$props.look,\n onClick: this.onSplitPartClick,\n on: this.v3 ? undefined : {\n \"click\": this.onSplitPartClick,\n \"mousedown\": this.onDownSplitPart,\n \"pointerdown\": this.onDownSplitPart\n },\n onMousedown: this.onDownSplitPart,\n onPointerdown: this.onDownSplitPart,\n dir: dir,\n \"aria-label\": \"menu toggling button\"\n }), renderPopup.call(this)]);\n },\n methods: {\n element: function element() {\n return this.mainButton;\n },\n onKeyDown: function onKeyDown(event) {\n if (event.altKey) {\n if (!this.computedOpened && event.keyCode === Keys.down) {\n this.dispatchPopupEvent(event, true);\n this.focusedIndex = 0;\n this.currentOpened = true;\n } else if (this.computedOpened && event.keyCode === Keys.up) {\n this.dispatchPopupEvent(event, false);\n this.focusedIndex = -1;\n this.currentOpened = false;\n }\n return;\n }\n var newState = undefined;\n if (event.keyCode === Keys.enter || event.keyCode === Keys.space) {\n // Prevent default because otherwise when an item is selected\n // click on the default button gets emitted which opens the popup again.\n event.preventDefault();\n this.dispatchClickEvent(event, this.focusedIndex);\n if (this.focusedIndex !== undefined && this.focusedIndex >= 0) {\n newState = {\n focusedIndex: this.computedOpened ? -1 : 0,\n currentOpened: !this.computedOpened\n };\n this.dispatchPopupEvent(event, newState.currentOpened);\n }\n } else if (this.computedOpened && event.keyCode === Keys.esc) {\n newState = {\n focusedIndex: -1,\n currentOpened: false\n };\n this.dispatchPopupEvent(event, newState.currentOpened);\n }\n if (this.computedOpened) {\n var newFocused = navigation(this.focusedIndex, event.keyCode, event.altKey, this.buttonsData.length);\n if (newFocused !== this.focusedIndex) {\n newState = newState || {};\n // @ts-ignore\n newState.focusedIndex = newFocused;\n }\n var arrowKey = event.keyCode === Keys.up || event.keyCode === Keys.down || event.keyCode === Keys.left || event.keyCode === Keys.right;\n if (!event.altKey && arrowKey) {\n // Needed to notify the parent listeners that event is handled.\n event.preventDefault();\n }\n }\n if (newState) {\n this.focusedIndex = newState.focusedIndex;\n this.focused = newState.focused;\n if (newState.currentOpened !== undefined) {\n this.currentOpened = newState.currentOpened;\n }\n }\n },\n onFocus: function onFocus(event) {\n if (!this.focused) {\n this.$emit('focus', event, this, undefined);\n this.focused = true;\n }\n this.focusedIndex = -1;\n clearTimeout(this._blurTimeout);\n },\n onItemClick: function onItemClick(event, clickedItemIndex) {\n var opened = this.computedOpened;\n if (opened) {\n this.focusedIndex = 0;\n this.currentOpened = false;\n }\n this.dispatchClickEvent(event, clickedItemIndex);\n if (opened) {\n this.dispatchPopupEvent(event, false);\n }\n },\n onBlur: function onBlur(event) {\n clearTimeout(this._blurTimeout);\n this.createBlurTimeout(event);\n },\n createBlurTimeout: function createBlurTimeout(event) {\n var _this = this;\n var that = this;\n this._blurTimeout = setTimeout(function () {\n if (canUseDOM && document.activeElement !== that.mainButton) {\n that.focused = false;\n that.focusedIndex = -1;\n that.$emit('blur', event, _this, undefined);\n var fireCloseEvent = that.computedOpened;\n if (fireCloseEvent) {\n that.currentOpened = false;\n that.dispatchPopupEvent(event, false);\n }\n }\n }, 200);\n },\n dispatchClickEvent: function dispatchClickEvent(dispatchedEvent, clickedItemIndex) {\n if (!this.isItemDisabled(clickedItemIndex)) {\n if (clickedItemIndex === -1) {\n this.$emit('buttonclick', dispatchedEvent, this, undefined);\n } else {\n this.$emit('itemclick', {\n event: dispatchedEvent,\n component: this,\n item: this.buttonsData[clickedItemIndex],\n itemIndex: clickedItemIndex\n });\n }\n }\n },\n onSplitPartClick: function onSplitPartClick(event) {\n if (this.buttonsData.length) {\n var toOpen = !this.computedOpened;\n this.dispatchPopupEvent(event, toOpen);\n this.focusedIndex = toOpen ? 0 : -1;\n this.currentOpened = toOpen;\n this.focused = true;\n }\n },\n onDownSplitPart: function onDownSplitPart(event) {\n event.preventDefault();\n if (this.element() && document.activeElement !== this.element()) {\n // @ts-ignore\n this.element().focus();\n }\n },\n onItemDown: function onItemDown(event) {\n if (document.activeElement === this.element()) {\n event.preventDefault();\n }\n },\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, open) {\n this.$emit(open ? 'open' : 'close', dispatchedEvent, this, undefined);\n },\n isItemDisabled: function isItemDisabled(index) {\n return this.buttonsData[index] ? this.buttonsData[index].disabled : this.$props.disabled;\n },\n isRtl: function isRtl() {\n return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : !!this.$el && getComputedStyle(this.$el).direction === 'rtl';\n }\n }\n};\n/**\n * @hidden\n */\nvar SplitButton = SplitButtonVue2;\nexport { SplitButton, SplitButtonVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { Button as KendoButton } from '../Button';\nimport { classNames, guid, Keys, kendoThemeMaps, getDefaultSlots } from '@progress/kendo-vue-common';\nimport navigation from './utils/navigation';\nimport { ButtonItem } from './ButtonItem';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { getAnchorAlign, getPopupAlign } from './utils/popup';\nimport { validatePackage, templateRendering, getListeners, canUseDOM } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar DropDownButtonVue2 = {\n name: 'KendoDropDownButton',\n // @ts-ignore\n emits: {\n focus: null,\n blur: null,\n itemclick: null,\n open: null,\n close: null\n },\n props: {\n accessKey: String,\n primary: Boolean,\n items: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n ariaLabel: String,\n text: String,\n textField: String,\n tabIndex: Number,\n disabled: Boolean,\n icon: String,\n svgIcon: Object,\n iconClass: String,\n imageUrl: String,\n popupSettings: Object,\n itemRender: [String, Object, Function],\n item: Function,\n size: {\n type: String,\n default: 'medium'\n },\n shape: {\n type: String,\n default: 'rectangle',\n validator: function validator(value) {\n return [null, 'rectangle', 'square'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'link', 'outline', 'solid'].includes(value);\n }\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base',\n validator: function validator(value) {\n return [null, 'base', 'dark', 'error', 'info', 'inverse', 'inverse', 'light', 'primary', 'secondary', 'success', 'tertiary', 'warning'].includes(value);\n }\n },\n opened: {\n type: Boolean,\n default: undefined\n },\n look: {\n type: String,\n validator: function validator(value) {\n return ['default', 'flat', 'outline'].includes(value);\n }\n },\n buttonClass: String,\n dir: String\n },\n created: function created() {\n this._blurTimeout = null;\n this._anchor = guid();\n this.wrapper = null;\n this.mainButton = null;\n this.guid = guid();\n this.buttonsData = [];\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.mainButton = this.$refs[this._anchor];\n // If this.$props.opened is true during the initial render, the popup is not aligned.\n if (this.$props.dir === undefined && this.isRtl() || this.computedOpened) {\n this.$forceUpdate();\n }\n },\n updated: function updated() {\n if (this.focused && this.element()) {\n this.mainButton = this.$refs[this._anchor];\n this.mainButton.focus();\n }\n },\n data: function data() {\n return {\n currentOpened: false,\n focused: false,\n focusedIndex: -1\n };\n },\n computed: {\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n wrapperClass: function wrapperClass() {\n return {\n 'k-dropdown-button': true,\n 'k-focus': this.focused\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this2 = this;\n var h = gh || createElement;\n var rtl = this.isRtl();\n var dir = rtl ? 'rtl' : undefined;\n var _a = this.$props,\n tabIndex = _a.tabIndex,\n disabled = _a.disabled;\n var defaultSlot = getDefaultSlots(this);\n this.buttonsData = this.$props.items;\n var renderChildItems = function renderChildItems() {\n var _a = this.$props,\n item = _a.item,\n itemRender = _a.itemRender,\n textField = _a.textField;\n return this.buttonsData.length > 0 ? this.buttonsData.map(function (dataItem, index) {\n var currentDataItem = typeof dataItem !== 'string' ? __assign(__assign({}, dataItem), {\n render: templateRendering.call(this, dataItem.render, getListeners.call(this))\n }) : dataItem;\n return (\n // @ts-ignore\n h(ButtonItem, {\n \"class\": \"k-menu-item\",\n dataItem: currentDataItem,\n attrs: this.v3 ? undefined : {\n dataItem: currentDataItem,\n textField: textField,\n focused: this.focusedIndex === index,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n },\n textField: textField,\n focused: this.focusedIndex === index,\n onClick: this.onItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.onItemClick,\n \"down\": this.onItemDown\n },\n onDown: this.onItemDown,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n key: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n })\n );\n }, this) : null;\n };\n var renderPopup = function renderPopup() {\n var _this = this;\n var _a = this.$props,\n _b = _a.popupSettings,\n popupSettings = _b === void 0 ? {} : _b,\n size = _a.size;\n return (\n // @ts-ignore function children\n h(Popup, {\n anchor: this._anchor,\n attrs: this.v3 ? undefined : {\n anchor: this._anchor,\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl)\n },\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl),\n style: rtl ? {\n direction: 'rtl'\n } : undefined\n }, this.v3 ? function () {\n return [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this.v3 ? undefined : {\n role: \"menu\",\n id: _this.guid\n },\n id: _this.guid\n }, [renderChildItems.call(_this)])];\n } : [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this.v3 ? undefined : {\n role: \"menu\",\n id: _this.guid\n },\n id: _this.guid\n }, [renderChildItems.call(_this)])])\n );\n };\n return h(\"div\", {\n \"class\": this.wrapperClass,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"focusin\": this.onFocus,\n \"focusout\": this.onBlur\n },\n onFocusin: this.onFocus,\n onFocusout: this.onBlur,\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n }\n }, [\n // @ts-ignore function children\n h(KendoButton, {\n size: this.$props.size,\n attrs: this.v3 ? undefined : {\n size: this.$props.size,\n shape: this.$props.shape,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n primary: this.$props.primary,\n dir: dir,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" dropdownbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n },\n shape: this.$props.shape,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n onClick: this.onClickMainButton,\n on: this.v3 ? undefined : {\n \"click\": this.onClickMainButton,\n \"mousedown\": this.mouseDown\n },\n onMousedown: this.mouseDown,\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n \"class\": this.$props.buttonClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n primary: this.$props.primary,\n dir: dir,\n ref: this._anchor,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" dropdownbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n }, this.v3 ? function () {\n return [_this2.$props.text, defaultSlot];\n } : [_this2.$props.text, defaultSlot]), renderPopup.call(this)]);\n },\n methods: {\n element: function element() {\n return this.mainButton;\n },\n onKeyDown: function onKeyDown(event) {\n if (event.altKey) {\n if (!this.computedOpened && event.keyCode === Keys.down) {\n this.dispatchPopupEvent(event, true);\n this.focusedIndex = 0;\n this.currentOpened = true;\n } else if (this.computedOpened && event.keyCode === Keys.up) {\n this.dispatchPopupEvent(event, false);\n this.focusedIndex = -1;\n this.currentOpened = false;\n }\n return;\n }\n if (event.keyCode === Keys.enter || event.keyCode === Keys.space) {\n if (this.focusedIndex !== undefined && this.focusedIndex >= 0) {\n this.dispatchClickEvent(event, this.focusedIndex);\n }\n // Prevent default because otherwise when an item is selected\n // click on the default button gets emitted which opens the popup again.\n event.preventDefault();\n this.focusedIndex = this.computedOpened ? -1 : 0, this.currentOpened = !this.computedOpened;\n this.dispatchPopupEvent(event, this.currentOpened);\n } else if (this.computedOpened && event.keyCode === Keys.esc) {\n this.focusedIndex = -1;\n this.currentOpened = false;\n this.dispatchPopupEvent(event, this.currentOpened);\n }\n if (this.computedOpened) {\n var newFocused = navigation(this.focusedIndex, event.keyCode, event.altKey, this.buttonsData.length);\n this.focusedIndex = newFocused;\n var arrowKey = event.keyCode === Keys.up || event.keyCode === Keys.down || event.keyCode === Keys.left || event.keyCode === Keys.right;\n if (!event.altKey && arrowKey) {\n // Needed to notify the parent listeners that event is handled.\n event.preventDefault();\n }\n }\n },\n onFocus: function onFocus(event) {\n if (!this.focused) {\n this.focused = true;\n this.$emit('focus', event, this, undefined);\n }\n this.focusedIndex = this.computedOpened ? 0 : -1;\n clearTimeout(this._blurTimeout);\n },\n onBlur: function onBlur(event) {\n clearTimeout(this._blurTimeout);\n this.createBlurTimeout(event);\n },\n createBlurTimeout: function createBlurTimeout(event) {\n var that = this;\n this._blurTimeout = setTimeout(function () {\n if (canUseDOM && document.activeElement !== that.$el) {\n that.focused = false;\n that.focusedIndex = -1;\n that.$emit('blur', event, that, undefined);\n var fireCloseEvent = that.computedOpened;\n if (fireCloseEvent) {\n that.currentOpened = false;\n that.dispatchPopupEvent(event, false);\n }\n }\n }, 200);\n },\n onItemClick: function onItemClick(event, clickedItemIndex) {\n this.focusedIndex = -1;\n this.currentOpened = false;\n this.dispatchClickEvent(event, clickedItemIndex);\n this.dispatchPopupEvent(event, false);\n },\n onItemDown: function onItemDown(event) {\n if (document.activeElement === this.element()) {\n event.preventDefault();\n }\n },\n mouseDown: function mouseDown(event) {\n event.preventDefault();\n },\n dispatchClickEvent: function dispatchClickEvent(dispatchedEvent, index) {\n if (!this.isItemDisabled(index)) {\n this.$emit('itemclick', {\n event: dispatchedEvent,\n item: this.buttonsData[index],\n itemIndex: index\n });\n }\n },\n onClickMainButton: function onClickMainButton(event) {\n if (!this.buttonsData.length) {\n return;\n }\n var toOpen = !this.computedOpened;\n this.currentOpened = toOpen;\n this.focused = true;\n this.focusedIndex = toOpen ? 0 : -1;\n this.dispatchPopupEvent(event, toOpen);\n },\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, open) {\n this.$emit(open ? 'open' : 'close', dispatchedEvent, this, undefined);\n },\n isItemDisabled: function isItemDisabled(index) {\n return this.buttonsData[index] ? this.buttonsData[index].disabled : this.$props.disabled;\n },\n isRtl: function isRtl() {\n return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : !!this.$el && getComputedStyle(this.$el).direction === 'rtl';\n }\n }\n};\n/**\n * @hidden\n */\nvar DropDownButton = DropDownButtonVue2;\nexport { DropDownButton, DropDownButtonVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Keys, validatePackage, getDefaultSlots, kendoThemeMaps } from '@progress/kendo-vue-common';\nimport { toolbarButtons, internalButtons } from './../util';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ToolbarVue2 = {\n name: 'KendoToolbar',\n props: {\n tabIndex: {\n type: Number,\n default: 0\n },\n dir: String,\n keyboardNavigation: {\n type: Boolean,\n default: true\n },\n buttons: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n ariaLabel: String\n },\n created: function created() {\n this.offsetHeight = 0;\n this.offsetWidth = 0;\n this.currentButtons = [];\n this.focusedSelector = this.selectors.map(function (s) {\n return s + ':focus';\n }).join(',');\n validatePackage(packageMetadata);\n },\n computed: {\n selectors: function selectors() {\n return this.$props.buttons || toolbarButtons;\n },\n wrapperClass: function wrapperClass() {\n var _a;\n var size = this.$props.size;\n return _a = {\n 'k-toolbar': true\n }, _a[\"k-toolbar-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a;\n }\n },\n mounted: function mounted() {\n window.addEventListener('resize', this.onWindowResize);\n var element = this.$el;\n if (element) {\n this.offsetWidth = element.offsetWidth;\n this.offsetHeight = element.offsetHeight;\n if (this.$props.keyboardNavigation !== false) {\n this.currentButtons = this.getCurrentButtons();\n this.setTabIndex(0);\n }\n }\n },\n updated: function updated() {\n var element = this.$el;\n if (!element || this.$props.keyboardNavigation === false) {\n return;\n }\n this.currentButtons = this.getCurrentButtons();\n this.setTabIndex(this.focusedIndex());\n },\n destroyed: !!isV3 ? undefined : function () {\n window.removeEventListener('resize', this.onWindowResize);\n this.currentButtons.length = 0;\n },\n // @ts-ignore\n unmounted: function unmounted() {\n window.removeEventListener('resize', this.onWindowResize);\n this.currentButtons.length = 0;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": this.wrapperClass,\n role: \"toolbar\",\n attrs: this.v3 ? undefined : {\n role: \"toolbar\",\n dir: this.$props.dir,\n \"aria-label\": this.$props.ariaLabel\n },\n dir: this.$props.dir,\n \"aria-label\": this.$props.ariaLabel,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown\n }\n }, [defaultSlot]);\n },\n methods: {\n getCurrentButtons: function getCurrentButtons() {\n return this.$el && this.$el.querySelectorAll ? Array.from(this.$el.querySelectorAll(this.selectors.join(','))) : [];\n },\n getInternalButtons: function getInternalButtons() {\n return this.$el && this.$el.querySelectorAll ? Array.from(this.$el.querySelectorAll(internalButtons)) : [];\n },\n focusedIndex: function focusedIndex() {\n var focused = this.$el && this.$el.querySelector && this.$el.querySelector(this.focusedSelector);\n return Math.max(0, this.currentButtons.findIndex(function (e) {\n return e === focused;\n }));\n },\n setTabIndex: function setTabIndex(focusedIndex) {\n var tabIndex = this.$props.tabIndex;\n this.currentButtons.forEach(function (button, index) {\n button.tabIndex = index === focusedIndex ? tabIndex : -1;\n });\n this.getInternalButtons().forEach(function (button) {\n button.tabIndex = -1;\n });\n },\n onKeyDown: function onKeyDown(event) {\n if (this.$props.keyboardNavigation === false) {\n return;\n }\n var target = event.target;\n var arrowKey = event.keyCode === Keys.left || event.keyCode === Keys.right;\n if (!arrowKey || event.defaultPrevented || this.currentButtons.findIndex(function (b) {\n return b === target;\n }) === -1) {\n return;\n }\n var focusedIndex = this.focusedIndex();\n if (event.keyCode === Keys.left) {\n this.focusButton(focusedIndex, focusedIndex - 1);\n } else {\n this.focusButton(focusedIndex, focusedIndex + 1);\n }\n },\n focusButton: function focusButton(prevIndex, index) {\n var tabIndex = this.$props.tabIndex;\n var button = this.currentButtons[index];\n if (button) {\n button.tabIndex = tabIndex;\n button.focus();\n var prevButton = this.currentButtons[prevIndex];\n if (prevButton) {\n prevButton.tabIndex = -1;\n }\n }\n },\n onWindowResize: function onWindowResize(event) {\n var element = this.$el;\n if (!element) {\n return;\n }\n var offsetWidth = element.offsetWidth;\n var offsetHeight = element.offsetHeight;\n if (this.offsetWidth !== offsetWidth || this.offsetHeight !== offsetHeight) {\n this.offsetWidth = offsetWidth;\n this.offsetHeight = offsetHeight;\n var newSizes = {\n offsetWidth: this.offsetWidth,\n offsetHeight: this.offsetHeight\n };\n this.$emit('resize', __assign(__assign({\n target: this\n }, newSizes), {\n nativeEvent: event\n }));\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar Toolbar = ToolbarVue2;\nexport { Toolbar, ToolbarVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ToolbarItemVue2 = {\n name: 'KendoToolbarItem',\n methods: {\n element: function element() {\n return this.$el;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-toolbar-item'\n }, [defaultSlot]);\n }\n};\n/**\n * @hidden\n */\nvar ToolbarItem = ToolbarItemVue2;\nexport { ToolbarItem, ToolbarItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nvar ToolbarSeparatorVue2 = {\n name: 'KendoToolbarItem',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"div\", {\n \"class\": \"k-separator\"\n });\n }\n};\n/**\n * Represents the [Kendo UI for Vue ToolbarSeparator component]({% slug overview_toolbar %}). A separator element for the sub-elements of the Toolbar.\n *\n * ```jsx\n * \n * ```\n */\nvar ToolbarSeparator = ToolbarSeparatorVue2;\nexport { ToolbarSeparator, ToolbarSeparatorVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nvar ToolbarSpacerVue2 = {\n name: 'KendoToolbarItem',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"span\", {\n \"class\": \"k-spacer\"\n });\n }\n};\n/**\n * Represents the [Kendo UI for Vue ToolbarSpacer component]({% slug overview_toolbar %}). A spacer element for the sub-elements of the Toolbar.\n *\n * ```jsx\n * \n * ```\n */\nvar ToolbarSpacer = ToolbarSpacerVue2;\nexport { ToolbarSpacer, ToolbarSpacerVue2 };","export var ARC = \"arc\";\nexport var AXIS_LABEL_CLICK = \"axisLabelClick\";\nexport var BLACK = \"#000\";\nexport var BOTTOM = \"bottom\";\nexport var CENTER = \"center\";\nexport var CIRCLE = \"circle\";\nexport var COORD_PRECISION = 3;\nexport var CROSS = \"cross\";\nexport var DATE = \"date\";\nexport var DEFAULT_FONT = \"12px sans-serif\";\nexport var DEFAULT_HEIGHT = 400;\nexport var DEFAULT_PRECISION = 10;\nexport var DEFAULT_WIDTH = 600;\nexport var END = \"end\";\nexport var FORMAT_REGEX = /\\{\\d+:?/;\nexport var HEIGHT = \"height\";\nexport var HIGHLIGHT_ZINDEX = 100;\nexport var INSIDE = \"inside\";\nexport var LEFT = \"left\";\nexport var MAX_VALUE = Number.MAX_VALUE;\nexport var MIN_VALUE = -Number.MAX_VALUE;\nexport var NONE = \"none\";\nexport var NOTE_CLICK = \"noteClick\";\nexport var NOTE_HOVER = \"noteHover\";\nexport var NOTE_LEAVE = \"noteLeave\";\nexport var OBJECT = \"object\";\nexport var OUTSIDE = \"outside\";\nexport var RIGHT = \"right\";\nexport var ROUNDED_RECT = \"roundedRect\";\nexport var START = \"start\";\nexport var STRING = \"string\";\nexport var TOP = \"top\";\nexport var TRIANGLE = \"triangle\";\nexport var VALUE = \"value\";\nexport var WHITE = \"#fff\";\nexport var WIDTH = \"width\";\nexport var X = \"x\";\nexport var Y = \"y\";\nexport var DEFAULT_SERIES_OPACITY = 1;\n","export default function isArray(value) {\n return Array.isArray(value);\n}","import isArray from './is-array';\n\nexport default function addClass(element, classes) {\n var classArray = isArray(classes) ? classes : [ classes ];\n\n for (var idx = 0; idx < classArray.length; idx++) {\n var className = classArray[idx];\n if (element.className.indexOf(className) === -1) {\n element.className += \" \" + className;\n }\n }\n}","var SPACE_REGEX = /\\s+/g;\n\nexport default function removeClass(element, className) {\n if (element && element.className) {\n element.className = element.className.replace(className, \"\").replace(SPACE_REGEX, \" \");\n }\n}","import { drawing } from '@progress/kendo-drawing';\n\nexport default function alignPathToPixel(path) {\n var offset = 0.5;\n if (path.options.stroke && drawing.util.defined(path.options.stroke.width)) {\n if (path.options.stroke.width % 2 === 0) {\n offset = 0;\n }\n }\n\n for (var i = 0; i < path.segments.length; i++) {\n path.segments[i].anchor().round(0).translate(offset, offset);\n }\n\n return path;\n}","export default function clockwise(angle1, angle2) {\n // True if angle2 is clockwise of angle1\n // assuming angles grow in clock-wise direction\n // (as in the pie and radar charts)\n return -angle1.x * angle2.y + angle1.y * angle2.x < 0;\n}","export default function isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n}","import { STRING } from './constants';\n\nexport default function isString(value) {\n return typeof value === STRING;\n}","import isNumber from './is-number';\nimport isString from './is-string';\n\nexport default function convertableToNumber(value) {\n return isNumber(value) || (isString(value) && isFinite(value));\n}","export default function isFunction(fn) {\n return typeof fn === \"function\";\n}","import isFunction from './is-function';\n\nvar OBJECT = \"object\";\nvar UNDEFINED = \"undefined\";\n\nfunction deepExtendOne(destination, source) {\n\n for (var property in source) {\n var propValue = source[property];\n var propType = typeof propValue;\n\n var propInit = (void 0);\n if (propType === OBJECT && propValue !== null) {\n propInit = propValue.constructor;\n } else {\n propInit = null;\n }\n\n if (propInit && propInit !== Array) {\n\n if (propValue instanceof Date) {\n destination[property] = new Date(propValue.getTime());\n } else if (isFunction(propValue.clone)) {\n destination[property] = propValue.clone();\n } else {\n var destProp = destination[property];\n if (typeof (destProp) === OBJECT) {\n destination[property] = destProp || {};\n } else {\n destination[property] = {};\n }\n deepExtendOne(destination[property], propValue);\n }\n } else if (propType !== UNDEFINED) {\n destination[property] = propValue;\n }\n }\n\n return destination;\n}\n\nexport default function deepExtend(destination) {\n var arguments$1 = arguments;\n\n var length = arguments.length;\n\n for (var i = 1; i < length; i++) {\n deepExtendOne(destination, arguments$1[i]);\n }\n\n return destination;\n}","export default function isObject(value) {\n return typeof value === \"object\";\n}","import isNumber from './is-number';\n\nexport default function styleValue(value) {\n if (isNumber(value)) {\n return value + \"px\";\n }\n return value;\n}","import isObject from './is-object';\nimport isArray from './is-array';\nimport isString from './is-string';\nimport styleValue from './style-value';\n\nvar SIZE_STYLES_REGEX = /width|height|top|left|bottom|right/i;\n\nfunction isSizeField(field) {\n return SIZE_STYLES_REGEX.test(field);\n}\n\nexport default function elementStyles(element, styles) {\n var stylesArray = isString(styles) ? [ styles ] : styles;\n\n if (isArray(stylesArray)) {\n var result = {};\n var style = window.getComputedStyle(element);\n\n for (var idx = 0; idx < stylesArray.length; idx++) {\n var field = stylesArray[idx];\n result[field] = isSizeField(field) ? parseFloat(style[field]) : style[field];\n }\n\n return result;\n } else if (isObject(styles)) {\n for (var field$1 in styles) {\n element.style[field$1] = styleValue(styles[field$1]);\n }\n }\n}","import { TOP, BOTTOM, LEFT, RIGHT } from './constants';\n\nexport default function getSpacing(value, defaultSpacing) {\n if ( defaultSpacing === void 0 ) defaultSpacing = 0;\n\n var spacing = { top: 0, right: 0, bottom: 0, left: 0 };\n\n if (typeof(value) === \"number\") {\n spacing[TOP] = spacing[RIGHT] = spacing[BOTTOM] = spacing[LEFT] = value;\n } else {\n spacing[TOP] = value[TOP] || defaultSpacing;\n spacing[RIGHT] = value[RIGHT] || defaultSpacing;\n spacing[BOTTOM] = value[BOTTOM] || defaultSpacing;\n spacing[LEFT] = value[LEFT] || defaultSpacing;\n }\n\n return spacing;\n}","var current = {\n compile: function(template) {\n return template;\n }\n};\n\nvar TemplateService = function TemplateService () {};\n\nTemplateService.register = function register (userImplementation) {\n current = userImplementation;\n};\n\nTemplateService.compile = function compile (template, options) {\n return current.compile(template, options);\n};\n\nexport default TemplateService;\n","import TemplateService from '../services/template-service';\nimport isFunction from './is-function';\n\nexport default function getTemplate(options) {\n if ( options === void 0 ) options = {};\n\n var template;\n if (options.template) {\n options.template = template = TemplateService.compile(options.template);\n } else if (isFunction(options.content)) {\n template = options.content;\n }\n\n return template;\n}\n","import { drawing } from '@progress/kendo-drawing';\n\nvar FIELD_REGEX = /\\[(?:(\\d+)|['\"](.*?)['\"])\\]|((?:(?!\\[.*?\\]|\\.).)+)/g;\nvar getterCache = {};\n\ngetterCache['undefined'] = function(obj) {\n return obj;\n};\n\nexport default function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n\n var fields = [];\n field.replace(FIELD_REGEX, function(match, index, indexAccessor, field) {\n fields.push(drawing.util.defined(index) ? index : (indexAccessor || field));\n });\n\n getterCache[field] = function(obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n\n return result;\n };\n\n return getterCache[field];\n}","export default function grep(array, callback) {\n var length = array.length;\n var result = [];\n for (var idx = 0; idx < length; idx++) {\n if (callback(array[idx])) {\n result .push(array[idx]);\n }\n }\n\n return result;\n}","export default function hasClasses(element, classNames) {\n if (element.className) {\n var names = classNames.split(\" \");\n for (var idx = 0; idx < names.length; idx++) {\n if (element.className.indexOf && element.className.indexOf(names[idx]) !== -1) {\n return true;\n }\n }\n }\n}\n","\nvar HashMap = function HashMap() {\n this._map = {};\n};\n\nHashMap.prototype.get = function get (name) {\n return this._map[this._key(name)];\n};\n\nHashMap.prototype.set = function set (name, value) {\n this._map[this._key(name)] = value;\n};\n\nHashMap.prototype._key = function _key (name) {\n return name instanceof Date ? name.getTime() : name;\n};\n\nexport default HashMap;","export default function inArray(value, array) {\n if (array) {\n return array.indexOf(value) !== -1;\n }\n}","import { drawing } from '@progress/kendo-drawing';\nimport { COORD_PRECISION } from './constants';\n\nexport default function interpolateValue(start, end, progress) {\n return drawing.util.round(start + (end - start) * progress, COORD_PRECISION);\n}","import deepExtend from './deep-extend';\n\nvar TRIGGER = 'trigger';\n\nvar InstanceObserver = function InstanceObserver(observer, handlers) {\n this.observer = observer;\n this.handlerMap = deepExtend({}, this.handlerMap, handlers);\n};\n\nInstanceObserver.prototype.trigger = function trigger (name, args) {\n var ref = this;\n var observer = ref.observer;\n var handlerMap = ref.handlerMap;\n var isDefaultPrevented;\n if (handlerMap[name]) {\n isDefaultPrevented = this.callObserver(handlerMap[name], args);\n } else if (observer[TRIGGER]) {\n isDefaultPrevented = this.callObserver(TRIGGER, name, args);\n }\n\n return isDefaultPrevented;\n};\n\nInstanceObserver.prototype.callObserver = function callObserver (fnName) {\n var args = [], len = arguments.length - 1;\n while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n return this.observer[fnName].apply(this.observer, args);\n};\n\nInstanceObserver.prototype.requiresHandlers = function requiresHandlers (names) {\n var this$1 = this;\n\n if (this.observer.requiresHandlers) {\n return this.observer.requiresHandlers(names);\n }\n\n for (var idx = 0; idx < names.length; idx++) {\n if (this$1.handlerMap[names[idx]]) {\n return true;\n }\n }\n};\n\nexport default InstanceObserver;","import { drawing } from '@progress/kendo-drawing';\n\nexport default function map(array, callback) {\n var length = array.length;\n var result = [];\n for (var idx = 0; idx < length; idx++) {\n var value = callback(array[idx]);\n if (drawing.util.defined(value)) {\n result.push(value);\n }\n }\n return result;\n}","import { support } from '@progress/kendo-drawing';\n\nvar browser = support.browser || {};\n\nexport default function mousewheelDelta(e) {\n var delta = 0;\n\n if (e.wheelDelta) {\n delta = -e.wheelDelta / 120;\n\n if (browser.webkit) {\n // Webkit browsers scale the delta by twice the device resolution.\n // Possibly related to https://bugs.webkit.org/show_bug.cgi?id=196339\n //\n // Low device resolutions (e.g. zoom-out to 30%) also behave strangely.\n delta = delta / (2 * Math.max(window.devicePixelRatio, 0.625));\n }\n } else if (e.detail) {\n delta = e.detail / 3;\n }\n\n delta = delta > 0 ? Math.ceil(delta) : Math.floor(delta);\n\n return delta;\n}\n","import {\n drawing,\n Class,\n logToConsole\n} from '@progress/kendo-drawing';\n\nvar ref = drawing.util;\nvar append = ref.append;\nvar bindEvents = ref.bindEvents;\nvar defined = ref.defined;\nvar deg = ref.deg;\nvar elementOffset = ref.elementOffset;\nvar elementSize = ref.elementSize;\nvar eventCoordinates = ref.eventCoordinates;\nvar eventElement = ref.eventElement;\nvar hashKey = ref.hashKey;\nvar last = ref.last;\nvar limitValue = ref.limitValue;\nvar objectKey = ref.objectKey;\nvar rad = ref.rad;\nvar round = ref.round;\nvar unbindEvents = ref.unbindEvents;\nvar valueOrDefault = ref.valueOrDefault;\n\nexport {\n append,\n bindEvents,\n Class,\n defined,\n deg,\n elementOffset,\n elementSize,\n eventCoordinates,\n eventElement,\n hashKey,\n last,\n limitValue,\n logToConsole,\n objectKey,\n rad,\n round,\n unbindEvents,\n valueOrDefault\n};\n","import { logToConsole } from '../drawing-utils';\n\nvar FontLoader = function FontLoader () {};\n\nFontLoader.fetchFonts = function fetchFonts (options, fonts, state) {\n if ( state === void 0 ) state = { depth: 0 };\n\n var MAX_DEPTH = 5;\n\n if (!options || state.depth > MAX_DEPTH || !document.fonts) {\n return;\n }\n\n Object.keys(options).forEach(function(key) {\n var value = options[key];\n if (key === \"dataSource\" || key[0] === \"$\" || !value) {\n return;\n }\n\n if (key === \"font\") {\n fonts.push(value);\n } else if (typeof value === \"object\") {\n state.depth++;\n FontLoader.fetchFonts(value, fonts, state);\n state.depth--;\n }\n });\n};\n\nFontLoader.loadFonts = function loadFonts (fonts, callback) {\n var promises = [];\n\n if (fonts.length > 0 && document.fonts) {\n try {\n promises = fonts.map(function(font) {\n return document.fonts.load(font);\n });\n } catch (e) {\n // Silence font-loading errors\n logToConsole(e);\n }\n\n Promise.all(promises).then(callback, callback);\n } else {\n callback();\n }\n};\n\nFontLoader.preloadFonts = function preloadFonts (options, callback) {\n var fonts = [];\n FontLoader.fetchFonts(options, fonts);\n\n FontLoader.loadFonts(fonts, callback);\n};\n\nexport default FontLoader;","import deepExtend from './deep-extend';\n\nexport default function setDefaultOptions(type, options) {\n var proto = type.prototype;\n if (proto.options) {\n proto.options = deepExtend({}, proto.options, options);\n } else {\n proto.options = options;\n }\n}","import { MIN_VALUE, MAX_VALUE } from './constants';\n\nexport default function sparseArrayLimits(arr) {\n var min = MAX_VALUE;\n var max = MIN_VALUE;\n\n for (var idx = 0, length = arr.length; idx < length; idx++) {\n var value = arr[idx];\n if (value !== null && isFinite(value)) {\n min = Math.min(min, value);\n max = Math.max(max, value);\n }\n }\n\n return {\n min: min === MAX_VALUE ? undefined : min,\n max: max === MIN_VALUE ? undefined : max\n };\n}","export default function find(array, predicate) {\n for (var i = 0; i < array.length; i++) {\n var item = array[i];\n if (predicate(item, i, array)) {\n return item;\n }\n }\n}\n","import { geometry } from '@progress/kendo-drawing';\n\nvar Matrix = geometry.Matrix;\nvar matrixRegexp = /matrix\\((.*)\\)/;\n\nfunction parseMatrix(matrixString) {\n var match = matrixString.match(matrixRegexp);\n if (match === null || match.length !== 2) {\n return Matrix.unit();\n }\n\n var members = match[1].split(',').map(function (x) { return parseFloat(x); });\n return new (Function.prototype.bind.apply( Matrix, [ null ].concat( members) ));\n}\n\nfunction transformMatrix(element) {\n var transform = getComputedStyle(element).transform;\n\n if (transform === 'none') {\n return Matrix.unit();\n }\n\n return parseMatrix(transform);\n}\n\nexport default function elementScale(element) {\n if (!element) {\n return Matrix.unit();\n }\n\n var matrix = transformMatrix(element);\n var parent = element.parentElement;\n while (parent) {\n var parentMatrix = transformMatrix(parent);\n matrix = matrix.multiplyCopy(parentMatrix);\n parent = parent.parentElement;\n }\n\n matrix.b = matrix.c = matrix.e = matrix.f = 0;\n return matrix;\n}\n","import { Color } from '@progress/kendo-drawing';\nimport { WHITE, BLACK } from './constants';\n\nfunction autoTextColor(color) {\n var isDark = new Color(color).isDark();\n if (isDark) {\n return WHITE;\n }\n\n return BLACK;\n}\n\nexport default autoTextColor;\n","var DELETED = {};\n\nvar LegacySet = function LegacySet(values) {\n var this$1 = this;\n\n this._index = {};\n this._values = values ? values.slice(0) : [];\n\n for (var i = 0; i < this._values.length; i++) {\n this$1._index[this$1._values[i]] = i;\n }\n};\n\nvar prototypeAccessors = { size: { configurable: true } };\n\nLegacySet.prototype.values = function values () {\n return this._values.filter(function (item) { return item !== DELETED; });\n};\n\nLegacySet.prototype.has = function has (value) {\n return this._index[value] !== undefined;\n};\n\nLegacySet.prototype.add = function add (value) {\n if (!this.has(value)) {\n this._index[value] = this._values.length;\n this._values.push(value);\n }\n};\n\nLegacySet.prototype.delete = function delete$1 (value) {\n var index = this._index[value];\n if (index !== undefined) {\n this._values[index] = DELETED;\n delete this._index[value];\n }\n};\n\nLegacySet.prototype.clear = function clear () {\n this._index = {};\n this._values = [];\n};\n\nprototypeAccessors.size.get = function () {\n return this._values.length;\n};\n\nObject.defineProperties( LegacySet.prototype, prototypeAccessors );\n\nvar SetWrapper = function SetWrapper(values) {\n this._set = new Set(values);\n};\n\nvar prototypeAccessors$1 = { size: { configurable: true } };\n\nSetWrapper.prototype.values = function values () {\n return Array.from(this._set);\n};\n\nSetWrapper.prototype.has = function has (value) {\n return this._set.has(value);\n};\n\nSetWrapper.prototype.add = function add (value) {\n this._set.add(value);\n};\n\nSetWrapper.prototype.delete = function delete$2 (value) {\n this._set.delete(value);\n};\n\nSetWrapper.prototype.clear = function clear () {\n this._set.clear();\n};\n\nprototypeAccessors$1.size.get = function () {\n return this._set.size;\n};\n\nObject.defineProperties( SetWrapper.prototype, prototypeAccessors$1 );\n\n// TODO: Drop LegacySet when removing support for IE10\nvar supportsSet = function () {\n var supported = false;\n\n if (typeof Set === 'function') {\n var set = new Set([1]);\n supported = set.has(1);\n }\n\n return supported;\n};\n\nexport default function createHashSet(values) {\n if (supportsSet()) {\n return new SetWrapper(values);\n }\n\n return new LegacySet(values);\n}\n","export default function defaultErrorHandler(error) {\n throw error;\n}\n","var keys = {\n INSERT: 45,\n DELETE: 46,\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESC: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n END: 35,\n HOME: 36,\n SPACEBAR: 32,\n PAGEUP: 33,\n PAGEDOWN: 34,\n F2: 113,\n F10: 121,\n F12: 123,\n NUMPAD_PLUS: 107,\n NUMPAD_MINUS: 109,\n NUMPAD_DOT: 110\n};\n\nexport default keys;\n","import { DEFAULT_PRECISION } from '../../common/constants';\nimport { round } from '../../common';\n\nexport default function autoMajorUnit(min, max) {\n var diff = round(max - min, DEFAULT_PRECISION - 1);\n\n if (diff === 0) {\n if (max === 0) {\n return 0.1;\n }\n\n diff = Math.abs(max);\n }\n\n var scale = Math.pow(10, Math.floor(Math.log(diff) / Math.log(10)));\n var relativeValue = round((diff / scale), DEFAULT_PRECISION);\n var scaleMultiplier = 1;\n\n if (relativeValue < 1.904762) {\n scaleMultiplier = 0.2;\n } else if (relativeValue < 4.761904) {\n scaleMultiplier = 0.5;\n } else if (relativeValue < 9.523809) {\n scaleMultiplier = 1;\n } else {\n scaleMultiplier = 2;\n }\n\n return round(scale * scaleMultiplier, DEFAULT_PRECISION);\n}","import { COORD_PRECISION } from '../common/constants';\nimport { Class, rad, round } from '../common';\n\nvar Point = (function (Class) {\n function Point(x, y) {\n Class.call(this);\n\n this.x = x || 0;\n this.y = y || 0;\n }\n\n if ( Class ) Point.__proto__ = Class;\n Point.prototype = Object.create( Class && Class.prototype );\n Point.prototype.constructor = Point;\n\n Point.prototype.clone = function clone () {\n return new Point(this.x, this.y);\n };\n\n Point.prototype.equals = function equals (point) {\n return point && this.x === point.x && this.y === point.y;\n };\n\n Point.prototype.rotate = function rotate (center, degrees) {\n var theta = rad(degrees);\n var cosT = Math.cos(theta);\n var sinT = Math.sin(theta);\n var cx = center.x;\n var cy = center.y;\n var ref = this;\n var x = ref.x;\n var y = ref.y;\n\n this.x = round(\n cx + (x - cx) * cosT + (y - cy) * sinT,\n COORD_PRECISION\n );\n\n this.y = round(\n cy + (y - cy) * cosT - (x - cx) * sinT,\n COORD_PRECISION\n );\n\n return this;\n };\n\n Point.prototype.multiply = function multiply (a) {\n\n this.x *= a;\n this.y *= a;\n\n return this;\n };\n\n Point.prototype.distanceTo = function distanceTo (point) {\n var dx = this.x - point.x;\n var dy = this.y - point.y;\n\n return Math.sqrt(dx * dx + dy * dy);\n };\n\n Point.onCircle = function onCircle (center, angle, radius) {\n var radians = rad(angle);\n\n return new Point(\n center.x - radius * Math.cos(radians),\n center.y - radius * Math.sin(radians)\n );\n };\n\n return Point;\n}(Class));\n\n\nexport default Point;","import { geometry as geom } from '@progress/kendo-drawing';\n\nimport Point from './point';\n\nimport { X, Y, TOP, BOTTOM, LEFT, RIGHT, CENTER, WIDTH, HEIGHT } from '../common/constants';\nimport { Class, defined, getSpacing, inArray, isArray, rad } from '../common';\n\nvar Box = (function (Class) {\n function Box(x1, y1, x2, y2) {\n Class.call(this);\n\n this.x1 = x1 || 0;\n this.y1 = y1 || 0;\n this.x2 = x2 || 0;\n this.y2 = y2 || 0;\n }\n\n if ( Class ) Box.__proto__ = Class;\n Box.prototype = Object.create( Class && Class.prototype );\n Box.prototype.constructor = Box;\n\n Box.prototype.equals = function equals (box) {\n return this.x1 === box.x1 && this.x2 === box.x2 &&\n this.y1 === box.y1 && this.y2 === box.y2;\n };\n\n Box.prototype.width = function width () {\n return this.x2 - this.x1;\n };\n\n Box.prototype.height = function height () {\n return this.y2 - this.y1;\n };\n\n Box.prototype.translate = function translate (dx, dy) {\n this.x1 += dx;\n this.x2 += dx;\n this.y1 += dy;\n this.y2 += dy;\n\n return this;\n };\n\n Box.prototype.move = function move (x, y) {\n var height = this.height();\n var width = this.width();\n\n if (defined(x)) {\n this.x1 = x;\n this.x2 = this.x1 + width;\n }\n\n if (defined(y)) {\n this.y1 = y;\n this.y2 = this.y1 + height;\n }\n\n return this;\n };\n\n Box.prototype.wrap = function wrap (targetBox) {\n this.x1 = Math.min(this.x1, targetBox.x1);\n this.y1 = Math.min(this.y1, targetBox.y1);\n this.x2 = Math.max(this.x2, targetBox.x2);\n this.y2 = Math.max(this.y2, targetBox.y2);\n\n return this;\n };\n\n Box.prototype.wrapPoint = function wrapPoint (point) {\n var arrayPoint = isArray(point);\n var x = arrayPoint ? point[0] : point.x;\n var y = arrayPoint ? point[1] : point.y;\n this.wrap(new Box(x, y, x, y));\n\n return this;\n };\n\n Box.prototype.snapTo = function snapTo (targetBox, axis) {\n\n if (axis === X || !axis) {\n this.x1 = targetBox.x1;\n this.x2 = targetBox.x2;\n }\n\n if (axis === Y || !axis) {\n this.y1 = targetBox.y1;\n this.y2 = targetBox.y2;\n }\n\n return this;\n };\n\n Box.prototype.alignTo = function alignTo (targetBox, anchor) {\n var height = this.height();\n var width = this.width();\n var axis = anchor === TOP || anchor === BOTTOM ? Y : X;\n var offset = axis === Y ? height : width;\n\n if (anchor === CENTER) {\n var targetCenter = targetBox.center();\n var center = this.center();\n\n this.x1 += targetCenter.x - center.x;\n this.y1 += targetCenter.y - center.y;\n } else if (anchor === TOP || anchor === LEFT) {\n this[axis + 1] = targetBox[axis + 1] - offset;\n } else {\n this[axis + 1] = targetBox[axis + 2];\n }\n\n this.x2 = this.x1 + width;\n this.y2 = this.y1 + height;\n\n return this;\n };\n\n Box.prototype.shrink = function shrink (dw, dh) {\n\n this.x2 -= dw;\n this.y2 -= dh;\n\n return this;\n };\n\n Box.prototype.expand = function expand (dw, dh) {\n this.shrink(-dw, -dh);\n return this;\n };\n\n Box.prototype.pad = function pad (padding) {\n var spacing = getSpacing(padding);\n\n this.x1 -= spacing.left;\n this.x2 += spacing.right;\n this.y1 -= spacing.top;\n this.y2 += spacing.bottom;\n\n return this;\n };\n\n Box.prototype.unpad = function unpad (padding) {\n var spacing = getSpacing(padding);\n\n spacing.left = -spacing.left;\n spacing.top = -spacing.top;\n spacing.right = -spacing.right;\n spacing.bottom = -spacing.bottom;\n\n return this.pad(spacing);\n };\n\n Box.prototype.clone = function clone () {\n return new Box(this.x1, this.y1, this.x2, this.y2);\n };\n\n Box.prototype.center = function center () {\n return new Point(\n this.x1 + this.width() / 2,\n this.y1 + this.height() / 2\n );\n };\n\n Box.prototype.containsPoint = function containsPoint (point) {\n\n return point.x >= this.x1 && point.x <= this.x2 &&\n point.y >= this.y1 && point.y <= this.y2;\n };\n\n Box.prototype.points = function points () {\n return [\n new Point(this.x1, this.y1),\n new Point(this.x2, this.y1),\n new Point(this.x2, this.y2),\n new Point(this.x1, this.y2)\n ];\n };\n\n Box.prototype.getHash = function getHash () {\n return [ this.x1, this.y1, this.x2, this.y2 ].join(\",\");\n };\n\n Box.prototype.overlaps = function overlaps (box) {\n return !(box.y2 < this.y1 || this.y2 < box.y1 || box.x2 < this.x1 || this.x2 < box.x1);\n };\n\n Box.prototype.rotate = function rotate (rotation) {\n var width = this.width();\n var height = this.height();\n var ref = this.center();\n var cx = ref.x;\n var cy = ref.y;\n\n var r1 = rotatePoint(0, 0, cx, cy, rotation);\n var r2 = rotatePoint(width, 0, cx, cy, rotation);\n var r3 = rotatePoint(width, height, cx, cy, rotation);\n var r4 = rotatePoint(0, height, cx, cy, rotation);\n\n width = Math.max(r1.x, r2.x, r3.x, r4.x) - Math.min(r1.x, r2.x, r3.x, r4.x);\n height = Math.max(r1.y, r2.y, r3.y, r4.y) - Math.min(r1.y, r2.y, r3.y, r4.y);\n\n this.x2 = this.x1 + width;\n this.y2 = this.y1 + height;\n\n return this;\n };\n\n Box.prototype.toRect = function toRect () {\n return new geom.Rect([ this.x1, this.y1 ], [ this.width(), this.height() ]);\n };\n\n Box.prototype.hasSize = function hasSize () {\n return this.width() !== 0 && this.height() !== 0;\n };\n\n Box.prototype.align = function align (targetBox, axis, alignment) {\n var c1 = axis + 1;\n var c2 = axis + 2;\n var sizeFunc = axis === X ? WIDTH : HEIGHT;\n var size = this[sizeFunc]();\n\n if (inArray(alignment, [ LEFT, TOP ])) {\n this[c1] = targetBox[c1];\n this[c2] = this[c1] + size;\n } else if (inArray(alignment, [ RIGHT, BOTTOM ])) {\n this[c2] = targetBox[c2];\n this[c1] = this[c2] - size;\n } else if (alignment === CENTER) {\n this[c1] = targetBox[c1] + (targetBox[sizeFunc]() - size) / 2;\n this[c2] = this[c1] + size;\n }\n };\n\n return Box;\n}(Class));\n\nfunction rotatePoint(x, y, cx, cy, angle) {\n var theta = rad(angle);\n\n return new Point(\n cx + (x - cx) * Math.cos(theta) + (y - cy) * Math.sin(theta),\n cy - (x - cx) * Math.sin(theta) + (y - cy) * Math.cos(theta)\n );\n}\n\nexport default Box;\n","import Box from './box';\nimport Point from './point';\nimport { COORD_PRECISION, MAX_VALUE, MIN_VALUE } from '../common/constants';\nimport { Class, clockwise, rad, round } from '../common';\n\nvar Ring = (function (Class) {\n function Ring(center, innerRadius, radius, startAngle, angle) {\n Class.call(this);\n\n this.center = center;\n this.innerRadius = innerRadius;\n this.radius = radius;\n this.startAngle = startAngle;\n this.angle = angle;\n }\n\n if ( Class ) Ring.__proto__ = Class;\n Ring.prototype = Object.create( Class && Class.prototype );\n Ring.prototype.constructor = Ring;\n\n Ring.prototype.clone = function clone () {\n return new Ring(this.center, this.innerRadius, this.radius, this.startAngle, this.angle);\n };\n\n Ring.prototype.middle = function middle () {\n return this.startAngle + this.angle / 2;\n };\n\n Ring.prototype.setRadius = function setRadius (newRadius, innerRadius) {\n if (innerRadius) {\n this.innerRadius = newRadius;\n } else {\n this.radius = newRadius;\n }\n\n return this;\n };\n\n // TODO: Remove and replace with Point.onCircle\n Ring.prototype.point = function point (angle, innerRadius) {\n var radianAngle = rad(angle);\n var ax = Math.cos(radianAngle);\n var ay = Math.sin(radianAngle);\n var radius = innerRadius ? this.innerRadius : this.radius;\n var x = round(this.center.x - (ax * radius), COORD_PRECISION);\n var y = round(this.center.y - (ay * radius), COORD_PRECISION);\n\n return new Point(x, y);\n };\n\n Ring.prototype.adjacentBox = function adjacentBox (distance, width, height) {\n var sector = this.clone().expand(distance);\n var midAndle = sector.middle();\n var midPoint = sector.point(midAndle);\n var hw = width / 2;\n var hh = height / 2;\n var sa = Math.sin(rad(midAndle));\n var ca = Math.cos(rad(midAndle));\n var x = midPoint.x - hw;\n var y = midPoint.y - hh;\n\n if (Math.abs(sa) < 0.9) {\n x += hw * -ca / Math.abs(ca);\n }\n\n if (Math.abs(ca) < 0.9) {\n y += hh * -sa / Math.abs(sa);\n }\n\n return new Box(x, y, x + width, y + height);\n };\n\n Ring.prototype.containsPoint = function containsPoint (p) {\n var center = this.center;\n var innerRadius = this.innerRadius;\n var radius = this.radius;\n var startAngle = this.startAngle;\n var endAngle = this.startAngle + this.angle;\n var dx = p.x - center.x;\n var dy = p.y - center.y;\n var vector = new Point(dx, dy);\n var startPoint = this.point(startAngle);\n var startVector = new Point(startPoint.x - center.x, startPoint.y - center.y);\n var endPoint = this.point(endAngle);\n var endVector = new Point(endPoint.x - center.x, endPoint.y - center.y);\n var dist = round(dx * dx + dy * dy, COORD_PRECISION);\n\n return (startVector.equals(vector) || clockwise(startVector, vector)) &&\n !clockwise(endVector, vector) &&\n dist >= innerRadius * innerRadius && dist <= radius * radius;\n };\n\n Ring.prototype.getBBox = function getBBox () {\n var this$1 = this;\n\n var box = new Box(MAX_VALUE, MAX_VALUE, MIN_VALUE, MIN_VALUE);\n var startAngle = round(this.startAngle % 360);\n var endAngle = round((startAngle + this.angle) % 360);\n var innerRadius = this.innerRadius;\n var allAngles = [ 0, 90, 180, 270, startAngle, endAngle ].sort(numericComparer);\n var startAngleIndex = allAngles.indexOf(startAngle);\n var endAngleIndex = allAngles.indexOf(endAngle);\n var angles;\n\n if (startAngle === endAngle) {\n angles = allAngles;\n } else {\n if (startAngleIndex < endAngleIndex) {\n angles = allAngles.slice(startAngleIndex, endAngleIndex + 1);\n } else {\n angles = [].concat(\n allAngles.slice(0, endAngleIndex + 1),\n allAngles.slice(startAngleIndex, allAngles.length)\n );\n }\n }\n\n for (var i = 0; i < angles.length; i++) {\n var point = this$1.point(angles[i]);\n box.wrapPoint(point);\n box.wrapPoint(point, innerRadius);\n }\n\n if (!innerRadius) {\n box.wrapPoint(this.center);\n }\n\n return box;\n };\n\n Ring.prototype.expand = function expand (value) {\n this.radius += value;\n return this;\n };\n\n return Ring;\n}(Class));\n\nfunction numericComparer(a, b) {\n return a - b;\n}\n\nexport default Ring;","import Ring from './ring';\n\nvar Sector = (function (Ring) {\n function Sector(center, radius, startAngle, angle) {\n Ring.call(this, center, 0, radius, startAngle, angle);\n }\n\n if ( Ring ) Sector.__proto__ = Ring;\n Sector.prototype = Object.create( Ring && Ring.prototype );\n Sector.prototype.constructor = Sector;\n\n Sector.prototype.expand = function expand (value) {\n return Ring.prototype.expand.call(this, value);\n };\n\n Sector.prototype.clone = function clone () {\n return new Sector(this.center, this.radius, this.startAngle, this.angle);\n };\n\n Sector.prototype.setRadius = function setRadius (newRadius) {\n this.radius = newRadius;\n\n return this;\n };\n\n return Sector;\n}(Ring));\n\nexport default Sector;","import { geometry as geom, drawing as draw } from '@progress/kendo-drawing';\nimport { Class } from '../common';\n\nvar DIRECTION_ANGLE = 0.001; //any value that will make the endAngle bigger than the start angle will work here.\n\nvar ShapeBuilder = (function (Class) {\n function ShapeBuilder () {\n Class.apply(this, arguments);\n }\n\n if ( Class ) ShapeBuilder.__proto__ = Class;\n ShapeBuilder.prototype = Object.create( Class && Class.prototype );\n ShapeBuilder.prototype.constructor = ShapeBuilder;\n\n ShapeBuilder.prototype.createRing = function createRing (sector, options) {\n var startAngle = sector.startAngle + 180;\n var endAngle = sector.angle + startAngle;\n\n //required in order to avoid reversing the arc direction in cases like 0.000000000000001 + 100 === 100\n if (sector.angle > 0 && startAngle === endAngle) {\n endAngle += DIRECTION_ANGLE;\n }\n\n var center = new geom.Point(sector.center.x, sector.center.y);\n var radius = Math.max(sector.radius, 0);\n var innerRadius = Math.max(sector.innerRadius, 0);\n var arc = new geom.Arc(center, {\n startAngle: startAngle,\n endAngle: endAngle,\n radiusX: radius,\n radiusY: radius\n });\n var path = draw.Path.fromArc(arc, options).close();\n\n if (innerRadius) {\n arc.radiusX = arc.radiusY = innerRadius;\n var innerEnd = arc.pointAt(endAngle);\n path.lineTo(innerEnd.x, innerEnd.y);\n path.arc(endAngle, startAngle, innerRadius, innerRadius, true);\n } else {\n path.lineTo(center.x, center.y);\n }\n\n return path;\n };\n\n return ShapeBuilder;\n}(Class));\n\nShapeBuilder.current = new ShapeBuilder();\n\nexport default ShapeBuilder;","export function swing(position) {\n return 0.5 - Math.cos(position * Math.PI) / 2;\n}\n\nexport function linear(position) {\n return position;\n}\n\nexport function easeOutElastic(position, time, start, diff) {\n var s = 1.70158,\n p = 0,\n a = diff;\n\n if (position === 0) {\n return start;\n }\n\n if (position === 1) {\n return start + diff;\n }\n\n if (!p) {\n p = 0.5;\n }\n\n if (a < Math.abs(diff)) {\n a = diff;\n s = p / 4;\n } else {\n s = p / (2 * Math.PI) * Math.asin(diff / a);\n }\n\n return a * Math.pow(2, -10 * position) *\n Math.sin((Number(position) - s) * (1.1 * Math.PI) / p) + diff + start;\n}\n","import { Class } from '../common';\n\nvar instance;\n\nvar AnimationFactory = (function (Class) {\n function AnimationFactory() {\n Class.call(this);\n\n this._items = [];\n }\n\n if ( Class ) AnimationFactory.__proto__ = Class;\n AnimationFactory.prototype = Object.create( Class && Class.prototype );\n AnimationFactory.prototype.constructor = AnimationFactory;\n\n var staticAccessors = { current: { configurable: true } };\n\n staticAccessors.current.get = function () {\n if (!instance) {\n instance = new AnimationFactory();\n }\n\n return instance;\n };\n\n AnimationFactory.prototype.register = function register (name, type) {\n this._items.push({\n name: name,\n type: type\n });\n };\n\n AnimationFactory.prototype.create = function create (element, options) {\n var items = this._items;\n var match;\n\n if (options && options.type) {\n var type = options.type.toLowerCase();\n for (var i = 0; i < items.length; i++) {\n if (items[i].name.toLowerCase() === type) {\n match = items[i];\n break;\n }\n }\n }\n\n if (match) {\n return new match.type(element, options);\n }\n };\n\n Object.defineProperties( AnimationFactory, staticAccessors );\n\n return AnimationFactory;\n}(Class));\n\nexport default AnimationFactory;\n","import * as easingFunctions from './easing-functions';\nimport { limitValue, now } from '../util';\nimport { animationFrame, Class } from '../common';\nimport AnimationFactory from './animation-factory';\n\nvar Animation = (function (Class) {\n function Animation(element, options) {\n Class.call(this);\n\n this.options = Object.assign({}, this.options, options);\n this.element = element;\n }\n\n if ( Class ) Animation.__proto__ = Class;\n Animation.prototype = Object.create( Class && Class.prototype );\n Animation.prototype.constructor = Animation;\n\n var prototypeAccessors = { options: { configurable: true } };\n\n Animation.create = function create (type, element, options) {\n return AnimationFactory.current.create(type, element, options);\n };\n\n prototypeAccessors.options.get = function () {\n return this._options || {\n duration: 500,\n easing: \"swing\"\n };\n };\n\n prototypeAccessors.options.set = function (value) {\n this._options = value;\n };\n\n Animation.prototype.setup = function setup () {};\n Animation.prototype.step = function step () {};\n\n Animation.prototype.play = function play () {\n var this$1 = this;\n\n var options = this.options;\n var duration = options.duration;\n var delay = options.delay; if ( delay === void 0 ) delay = 0;\n var easing = easingFunctions[options.easing];\n var start = now() + delay;\n var finish = start + duration;\n\n if (duration === 0) {\n this.step(1);\n this.abort();\n } else {\n setTimeout(function () {\n var loop = function () {\n if (this$1._stopped) {\n return;\n }\n\n var wallTime = now();\n\n var time = limitValue(wallTime - start, 0, duration);\n var position = time / duration;\n var easingPosition = easing(position, time, 0, 1, duration);\n\n this$1.step(easingPosition);\n\n if (wallTime < finish) {\n animationFrame(loop);\n } else {\n this$1.abort();\n }\n };\n\n loop();\n }, delay);\n }\n };\n\n Animation.prototype.abort = function abort () {\n this._stopped = true;\n };\n\n Animation.prototype.destroy = function destroy () {\n this.abort();\n };\n\n Object.defineProperties( Animation.prototype, prototypeAccessors );\n\n return Animation;\n}(Class));\n\nexport default Animation;\n","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { WHITE } from '../common/constants';\nimport { Class, deepExtend, defined, valueOrDefault } from '../common';\n\nvar ChartElement = (function (Class) {\n function ChartElement(options) {\n Class.call(this);\n\n this.children = [];\n\n this.options = deepExtend({}, this.options, this.initUserOptions(options));\n }\n\n if ( Class ) ChartElement.__proto__ = Class;\n ChartElement.prototype = Object.create( Class && Class.prototype );\n ChartElement.prototype.constructor = ChartElement;\n\n ChartElement.prototype.initUserOptions = function initUserOptions (options) {\n return options;\n };\n\n ChartElement.prototype.reflow = function reflow (targetBox) {\n var children = this.children;\n var box;\n\n for (var i = 0; i < children.length; i++) {\n var currentChild = children[i];\n currentChild.reflow(targetBox);\n\n box = box ? box.wrap(currentChild.box) : currentChild.box.clone();\n }\n\n this.box = box || targetBox;\n };\n\n ChartElement.prototype.destroy = function destroy () {\n var children = this.children;\n\n if (this.animation) {\n this.animation.destroy();\n }\n\n for (var i = 0; i < children.length; i++) {\n children[i].destroy();\n }\n };\n\n ChartElement.prototype.getRoot = function getRoot () {\n var parent = this.parent;\n\n return parent ? parent.getRoot() : null;\n };\n\n ChartElement.prototype.getSender = function getSender () {\n var service = this.getService();\n if (service) {\n return service.sender;\n }\n };\n\n ChartElement.prototype.getService = function getService () {\n var element = this;\n while (element) {\n if (element.chartService) {\n return element.chartService;\n }\n element = element.parent;\n }\n };\n\n ChartElement.prototype.translateChildren = function translateChildren (dx, dy) {\n var children = this.children;\n var childrenCount = children.length;\n\n for (var i = 0; i < childrenCount; i++) {\n children[i].box.translate(dx, dy);\n }\n };\n\n ChartElement.prototype.append = function append () {\n var arguments$1 = arguments;\n var this$1 = this;\n\n for (var i = 0; i < arguments.length; i++) {\n var item = arguments$1[i];\n this$1.children.push(item);\n item.parent = this$1;\n }\n };\n\n ChartElement.prototype.renderVisual = function renderVisual () {\n if (this.options.visible === false) {\n return;\n }\n\n this.createVisual();\n\n this.addVisual();\n\n this.renderChildren();\n\n this.createAnimation();\n this.renderComplete();\n };\n\n ChartElement.prototype.addVisual = function addVisual () {\n if (this.visual) {\n this.visual.chartElement = this;\n\n if (this.parent) {\n this.parent.appendVisual(this.visual);\n }\n }\n };\n\n ChartElement.prototype.renderChildren = function renderChildren () {\n var children = this.children;\n var length = children.length;\n for (var i = 0; i < length; i++) {\n children[i].renderVisual();\n }\n };\n\n ChartElement.prototype.createVisual = function createVisual () {\n this.visual = new draw.Group({\n zIndex: this.options.zIndex,\n visible: valueOrDefault(this.options.visible, true)\n });\n };\n\n ChartElement.prototype.createAnimation = function createAnimation () {\n if (this.visual && this.options.animation) {\n this.animation = draw.Animation.create(\n this.visual, this.options.animation\n );\n }\n };\n\n ChartElement.prototype.appendVisual = function appendVisual (childVisual) {\n if (!childVisual.chartElement) {\n childVisual.chartElement = this;\n }\n\n if (childVisual.options.noclip) {\n this.clipRoot().visual.append(childVisual);\n } else if (defined(childVisual.options.zIndex)) {\n this.stackRoot().stackVisual(childVisual);\n } else if (this.isStackRoot) {\n this.stackVisual(childVisual);\n } else if (this.visual) {\n this.visual.append(childVisual);\n } else {\n // Allow chart elements without visuals to\n // pass through child visuals\n this.parent.appendVisual(childVisual);\n }\n };\n\n ChartElement.prototype.clipRoot = function clipRoot () {\n if (this.parent) {\n return this.parent.clipRoot();\n }\n\n return this;\n };\n\n ChartElement.prototype.stackRoot = function stackRoot () {\n if (this.parent) {\n return this.parent.stackRoot();\n }\n\n return this;\n };\n\n ChartElement.prototype.stackVisual = function stackVisual (childVisual) {\n var zIndex = childVisual.options.zIndex || 0;\n var visuals = this.visual.children;\n var length = visuals.length;\n var pos;\n\n for (pos = 0; pos < length; pos++) {\n var sibling = visuals[pos];\n var here = valueOrDefault(sibling.options.zIndex, 0);\n if (here > zIndex) {\n break;\n }\n }\n\n this.visual.insert(pos, childVisual);\n };\n\n ChartElement.prototype.traverse = function traverse (callback) {\n var children = this.children;\n var length = children.length;\n\n for (var i = 0; i < length; i++) {\n var child = children[i];\n\n callback(child);\n if (child.traverse) {\n child.traverse(callback);\n }\n }\n };\n\n ChartElement.prototype.closest = function closest (match) {\n var element = this;\n var matched = false;\n\n while (element && !matched) {\n matched = match(element);\n\n if (!matched) {\n element = element.parent;\n }\n }\n\n if (matched) {\n return element;\n }\n };\n\n ChartElement.prototype.renderComplete = function renderComplete () {};\n\n ChartElement.prototype.hasHighlight = function hasHighlight () {\n var options = (this.options || {}).highlight;\n return !(!this.createHighlight || (options && options.visible === false));\n };\n\n ChartElement.prototype.toggleHighlight = function toggleHighlight (show, opacity) {\n var this$1 = this;\n\n var options = (this.options || {}).highlight || {};\n var customVisual = options.visual;\n var highlight = this._highlight;\n\n if (!highlight) {\n var highlightOptions = {\n fill: {\n color: WHITE,\n opacity: opacity || 0.2\n },\n stroke: {\n color: WHITE,\n width: 1,\n opacity: opacity || 0.2\n }\n };\n\n if (customVisual) {\n highlight = this._highlight = customVisual(\n Object.assign(this.highlightVisualArgs(), {\n createVisual: function () { return this$1.createHighlight(highlightOptions); },\n sender: this.getSender(),\n series: this.series,\n dataItem: this.dataItem,\n category: this.category,\n value: this.value,\n percentage: this.percentage,\n runningTotal: this.runningTotal,\n total: this.total\n }\n ));\n\n if (!highlight) {\n return;\n }\n } else {\n highlight = this._highlight = this.createHighlight(highlightOptions);\n }\n\n if (!defined(highlight.options.zIndex)) {\n highlight.options.zIndex = valueOrDefault(options.zIndex, this.options.zIndex);\n }\n\n this.appendVisual(highlight);\n }\n\n highlight.visible(show);\n };\n\n ChartElement.prototype.createGradientOverlay = function createGradientOverlay (element, options, gradientOptions) {\n var overlay = new draw.Path(Object.assign({\n stroke: {\n color: \"none\"\n },\n fill: this.createGradient(gradientOptions),\n closed: element.options.closed\n }, options));\n\n overlay.segments.elements(element.segments.elements());\n\n return overlay;\n };\n\n ChartElement.prototype.createGradient = function createGradient (options) {\n if (this.parent) {\n return this.parent.createGradient(options);\n }\n };\n\n ChartElement.prototype.supportsPointInactiveOpacity = function supportsPointInactiveOpacity () {\n return true;\n };\n\n return ChartElement;\n}(Class));\n\nChartElement.prototype.options = { };\n\nexport default ChartElement;\n","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport ChartElement from './chart-element';\nimport Box from './box';\n\nimport { BLACK, LEFT, TOP, X, Y } from '../common/constants';\nimport { getSpacing, setDefaultOptions, valueOrDefault } from '../common';\n\nvar BoxElement = (function (ChartElement) {\n function BoxElement(options) {\n ChartElement.call(this, options);\n\n this.options.margin = getSpacing(this.options.margin);\n this.options.padding = getSpacing(this.options.padding);\n }\n\n if ( ChartElement ) BoxElement.__proto__ = ChartElement;\n BoxElement.prototype = Object.create( ChartElement && ChartElement.prototype );\n BoxElement.prototype.constructor = BoxElement;\n\n BoxElement.prototype.reflow = function reflow (targetBox) {\n var this$1 = this;\n\n var options = this.options;\n var width = options.width;\n var height = options.height;\n var shrinkToFit = options.shrinkToFit;\n var hasSetSize = width && height;\n var margin = options.margin;\n var padding = options.padding;\n var borderWidth = options.border.width;\n var box;\n\n var reflowPaddingBox = function () {\n this$1.align(targetBox, X, options.align);\n this$1.align(targetBox, Y, options.vAlign);\n this$1.paddingBox = box.clone().unpad(margin).unpad(borderWidth);\n };\n\n var contentBox = targetBox.clone();\n if (hasSetSize) {\n contentBox.x2 = contentBox.x1 + width;\n contentBox.y2 = contentBox.y1 + height;\n }\n\n if (shrinkToFit) {\n contentBox.unpad(margin).unpad(borderWidth).unpad(padding);\n }\n\n ChartElement.prototype.reflow.call(this, contentBox);\n\n if (hasSetSize) {\n box = this.box = new Box(0, 0, width, height);\n } else {\n box = this.box;\n }\n\n if (shrinkToFit && hasSetSize) {\n reflowPaddingBox();\n contentBox = this.contentBox = this.paddingBox.clone().unpad(padding);\n } else {\n contentBox = this.contentBox = box.clone();\n box.pad(padding).pad(borderWidth).pad(margin);\n reflowPaddingBox();\n }\n\n this.translateChildren(\n box.x1 - contentBox.x1 + margin.left + borderWidth + padding.left,\n box.y1 - contentBox.y1 + margin.top + borderWidth + padding.top\n );\n\n var children = this.children;\n for (var i = 0; i < children.length; i++) {\n var item = children[i];\n item.reflow(item.box);\n }\n };\n\n BoxElement.prototype.align = function align (targetBox, axis, alignment) {\n this.box.align(targetBox, axis, alignment);\n };\n\n BoxElement.prototype.hasBox = function hasBox () {\n var options = this.options;\n return options.border.width || options.background;\n };\n\n BoxElement.prototype.createVisual = function createVisual () {\n ChartElement.prototype.createVisual.call(this);\n\n var options = this.options;\n if (options.visible && this.hasBox()) {\n this.visual.append(draw.Path.fromRect(\n this.paddingBox.toRect(),\n this.visualStyle()\n ));\n }\n };\n\n BoxElement.prototype.visualStyle = function visualStyle () {\n var options = this.options;\n var border = options.border || {};\n\n return {\n stroke: {\n width: border.width,\n color: border.color,\n opacity: valueOrDefault(border.opacity, options.opacity),\n dashType: border.dashType\n },\n fill: {\n color: options.background,\n opacity: options.opacity\n },\n cursor: options.cursor\n };\n };\n\n return BoxElement;\n}(ChartElement));\n\nsetDefaultOptions(BoxElement, {\n align: LEFT,\n vAlign: TOP,\n margin: {},\n padding: {},\n border: {\n color: BLACK,\n width: 0\n },\n background: \"\",\n shrinkToFit: false,\n width: 0,\n height: 0,\n visible: true\n});\n\nexport default BoxElement;","import { drawing as draw, geometry as geom } from '@progress/kendo-drawing';\nimport { round, setDefaultOptions } from '../common';\nimport { CENTER, CIRCLE, COORD_PRECISION, CROSS, ROUNDED_RECT, TRIANGLE } from '../common/constants';\nimport { valueOrDefault } from '../drawing-utils';\nimport BoxElement from './box-element';\n\nvar ShapeElement = (function (BoxElement) {\n function ShapeElement(options, pointData) {\n BoxElement.call(this, options);\n\n this.pointData = pointData;\n }\n\n if ( BoxElement ) ShapeElement.__proto__ = BoxElement;\n ShapeElement.prototype = Object.create( BoxElement && BoxElement.prototype );\n ShapeElement.prototype.constructor = ShapeElement;\n\n ShapeElement.prototype.getElement = function getElement () {\n var ref = this;\n var options = ref.options;\n var box = ref.paddingBox;\n var type = options.type;\n var rotation = options.rotation;\n var center = box.center();\n var halfWidth = box.width() / 2;\n var halfHeight = box.height() / 2;\n\n if (!options.visible || !this.hasBox()) {\n return null;\n }\n\n var style = this.visualStyle();\n var element;\n\n if (type === CIRCLE) {\n element = new draw.Circle(\n new geom.Circle([\n round(box.x1 + halfWidth, COORD_PRECISION),\n round(box.y1 + halfHeight, COORD_PRECISION)\n ], Math.min(halfWidth, halfHeight)),\n style\n );\n } else if (type === TRIANGLE) {\n element = draw.Path.fromPoints([\n [ box.x1 + halfWidth, box.y1 ],\n [ box.x1, box.y2 ],\n [ box.x2, box.y2 ]\n ], style).close();\n } else if (type === CROSS) {\n element = new draw.MultiPath(style);\n\n element.moveTo(box.x1, box.y1).lineTo(box.x2, box.y2);\n element.moveTo(box.x1, box.y2).lineTo(box.x2, box.y1);\n } else {\n var rect = box.toRect();\n if (type === ROUNDED_RECT) {\n var borderRadius = valueOrDefault(options.borderRadius, rect.width() / 5);\n rect.setCornerRadius(borderRadius);\n }\n\n element = draw.Path.fromRect(rect, style);\n }\n\n if (rotation) {\n element.transform(geom.transform()\n .rotate(-rotation, [ center.x, center.y ])\n );\n }\n\n element.options.zIndex = options.zIndex;\n\n return element;\n };\n\n ShapeElement.prototype.createElement = function createElement () {\n var this$1 = this;\n\n var customVisual = this.options.visual;\n var pointData = this.pointData || {};\n var visual;\n\n if (customVisual) {\n visual = customVisual({\n value: pointData.value,\n dataItem: pointData.dataItem,\n sender: this.getSender(),\n series: pointData.series,\n category: pointData.category,\n rect: this.paddingBox.toRect(),\n options: this.visualOptions(),\n createVisual: function () { return this$1.getElement(); }\n });\n } else {\n visual = this.getElement();\n }\n\n return visual;\n };\n\n ShapeElement.prototype.visualOptions = function visualOptions () {\n var options = this.options;\n return {\n background: options.background,\n border: options.border,\n margin: options.margin,\n padding: options.padding,\n type: options.type,\n size: options.width,\n visible: options.visible\n };\n };\n\n ShapeElement.prototype.createVisual = function createVisual () {\n this.visual = this.createElement();\n };\n\n return ShapeElement;\n}(BoxElement));\n\nsetDefaultOptions(ShapeElement, {\n type: CIRCLE,\n align: CENTER,\n vAlign: CENTER\n});\n\nexport default ShapeElement;\n","import { WHITE } from '../common/constants';\n\nvar LINEAR = \"linear\";\nvar RADIAL = \"radial\";\n\nvar GRADIENTS = {\n glass: {\n type: LINEAR,\n rotation: 0,\n stops: [ {\n offset: 0,\n color: WHITE,\n opacity: 0\n }, {\n offset: 0.25,\n color: WHITE,\n opacity: 0.3\n }, {\n offset: 1,\n color: WHITE,\n opacity: 0\n } ]\n },\n sharpBevel: {\n type: RADIAL,\n stops: [ {\n offset: 0,\n color: WHITE,\n opacity: 0.55\n }, {\n offset: 0.65,\n color: WHITE,\n opacity: 0\n }, {\n offset: 0.95,\n color: WHITE,\n opacity: 0.25\n } ]\n },\n roundedBevel: {\n type: RADIAL,\n stops: [ {\n offset: 0.33,\n color: WHITE,\n opacity: 0.06\n }, {\n offset: 0.83,\n color: WHITE,\n opacity: 0.2\n }, {\n offset: 0.95,\n color: WHITE,\n opacity: 0\n } ]\n },\n roundedGlass: {\n type: RADIAL,\n supportVML: false,\n stops: [ {\n offset: 0,\n color: WHITE,\n opacity: 0\n }, {\n offset: 0.5,\n color: WHITE,\n opacity: 0.3\n }, {\n offset: 0.99,\n color: WHITE,\n opacity: 0\n } ]\n },\n sharpGlass: {\n type: RADIAL,\n supportVML: false,\n stops: [ {\n offset: 0,\n color: WHITE,\n opacity: 0.2\n }, {\n offset: 0.15,\n color: WHITE,\n opacity: 0.15\n }, {\n offset: 0.17,\n color: WHITE,\n opacity: 0.35\n }, {\n offset: 0.85,\n color: WHITE,\n opacity: 0.05\n }, {\n offset: 0.87,\n color: WHITE,\n opacity: 0.15\n }, {\n offset: 0.99,\n color: WHITE,\n opacity: 0\n } ]\n },\n bubbleShadow: {\n type: RADIAL,\n center: [ 0.5, 0.5 ],\n radius: 0.5\n }\n};\n\nexport default GRADIENTS;","import Box from '../box';\nimport { grep } from '../../common';\n\nexport default function boxDiff(r, s) {\n if (r.x1 === s.x1 && r.y1 === s.y1 && r.x2 === s.x2 && r.y2 === s.y2) {\n return s;\n }\n\n var a = Math.min(r.x1, s.x1);\n var b = Math.max(r.x1, s.x1);\n var c = Math.min(r.x2, s.x2);\n var d = Math.max(r.x2, s.x2);\n var e = Math.min(r.y1, s.y1);\n var f = Math.max(r.y1, s.y1);\n var g = Math.min(r.y2, s.y2);\n var h = Math.max(r.y2, s.y2);\n var boxes = [];\n\n // X = intersection, 0-7 = possible difference areas\n // h +-+-+-+\n // . |5|6|7|\n // g +-+-+-+\n // . |3|X|4|\n // f +-+-+-+\n // . |0|1|2|\n // e +-+-+-+\n // . a b c d\n\n // we'll always have rectangles 1, 3, 4 and 6\n boxes[0] = new Box(b, e, c, f);\n boxes[1] = new Box(a, f, b, g);\n boxes[2] = new Box(c, f, d, g);\n boxes[3] = new Box(b, g, c, h);\n\n // decide which corners\n if (r.x1 === a && r.y1 === e || s.x1 === a && s.y1 === e) { // corners 0 and 7\n boxes[4] = new Box(a, e, b, f);\n boxes[5] = new Box(c, g, d, h);\n } else { // corners 2 and 5\n boxes[4] = new Box(c, e, d, f);\n boxes[5] = new Box(a, g, b, h);\n }\n\n return grep(boxes, function(box) {\n return box.height() > 0 && box.width() > 0;\n })[0];\n}","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport ChartElement from './chart-element';\nimport GRADIENTS from './gradients';\nimport Box from './box';\n\nimport boxDiff from './utils/box-diff';\n\nimport { DEFAULT_WIDTH, DEFAULT_HEIGHT, WHITE, BLACK } from '../common/constants';\nimport { getSpacing, objectKey, setDefaultOptions } from '../common';\n\nvar RootElement = (function (ChartElement) {\n function RootElement(options) {\n ChartElement.call(this, options);\n\n var rootOptions = this.options;\n rootOptions.width = parseInt(rootOptions.width, 10);\n rootOptions.height = parseInt(rootOptions.height, 10);\n\n this.gradients = {};\n }\n\n if ( ChartElement ) RootElement.__proto__ = ChartElement;\n RootElement.prototype = Object.create( ChartElement && ChartElement.prototype );\n RootElement.prototype.constructor = RootElement;\n\n RootElement.prototype.reflow = function reflow () {\n var ref = this;\n var options = ref.options;\n var children = ref.children;\n var currentBox = new Box(0, 0, options.width, options.height);\n\n this.box = currentBox.unpad(options.margin);\n\n for (var i = 0; i < children.length; i++) {\n children[i].reflow(currentBox);\n currentBox = boxDiff(currentBox, children[i].box) || new Box();\n }\n };\n\n RootElement.prototype.createVisual = function createVisual () {\n this.visual = new draw.Group();\n this.createBackground();\n };\n\n RootElement.prototype.createBackground = function createBackground () {\n var options = this.options;\n var border = options.border || {};\n var box = this.box.clone().pad(options.margin).unpad(border.width);\n\n var background = draw.Path.fromRect(box.toRect(), {\n stroke: {\n color: border.width ? border.color : \"\",\n width: border.width,\n dashType: border.dashType\n },\n fill: {\n color: options.background,\n opacity: options.opacity\n },\n zIndex: -10\n });\n\n this.visual.append(background);\n };\n\n RootElement.prototype.getRoot = function getRoot () {\n return this;\n };\n\n RootElement.prototype.createGradient = function createGradient (options) {\n var gradients = this.gradients;\n var hashCode = objectKey(options);\n var gradient = GRADIENTS[options.gradient];\n var drawingGradient;\n\n if (gradients[hashCode]) {\n drawingGradient = gradients[hashCode];\n } else {\n var gradientOptions = Object.assign({}, gradient, options);\n if (gradient.type === \"linear\") {\n drawingGradient = new draw.LinearGradient(gradientOptions);\n } else {\n if (options.innerRadius) {\n gradientOptions.stops = innerRadialStops(gradientOptions);\n }\n drawingGradient = new draw.RadialGradient(gradientOptions);\n drawingGradient.supportVML = gradient.supportVML !== false;\n }\n gradients[hashCode] = drawingGradient;\n }\n\n return drawingGradient;\n };\n\n RootElement.prototype.cleanGradients = function cleanGradients () {\n var gradients = this.gradients;\n for (var hashCode in gradients) {\n gradients[hashCode]._observers = [];//add clear observers method in drawing ObserversMixin\n }\n };\n\n RootElement.prototype.size = function size () {\n var options = this.options;\n return new Box(0, 0, options.width, options.height);\n };\n\n return RootElement;\n}(ChartElement));\n\nsetDefaultOptions(RootElement, {\n width: DEFAULT_WIDTH,\n height: DEFAULT_HEIGHT,\n background: WHITE,\n border: {\n color: BLACK,\n width: 0\n },\n margin: getSpacing(5),\n zIndex: -2\n});\n\nfunction innerRadialStops(options) {\n var stops = options.stops;\n var usedSpace = ((options.innerRadius / options.radius) * 100);\n var length = stops.length;\n var currentStops = [];\n\n for (var i = 0; i < length; i++) {\n var currentStop = Object.assign({}, stops[i]);\n currentStop.offset = (currentStop.offset * (100 - usedSpace) + usedSpace) / 100;\n currentStops.push(currentStop);\n }\n\n return currentStops;\n}\n\nexport default RootElement;","import ChartElement from './chart-element';\nimport Box from './box';\n\nimport { X, Y, WIDTH, HEIGHT, RIGHT, BOTTOM, CENTER } from '../common/constants';\nimport { round, setDefaultOptions } from '../common';\n\nvar FloatElement = (function (ChartElement) {\n function FloatElement(options) {\n ChartElement.call(this, options);\n this._initDirection();\n }\n\n if ( ChartElement ) FloatElement.__proto__ = ChartElement;\n FloatElement.prototype = Object.create( ChartElement && ChartElement.prototype );\n FloatElement.prototype.constructor = FloatElement;\n\n FloatElement.prototype._initDirection = function _initDirection () {\n var options = this.options;\n if (options.vertical) {\n this.groupAxis = X;\n this.elementAxis = Y;\n this.groupSizeField = WIDTH;\n this.elementSizeField = HEIGHT;\n this.groupSpacing = options.spacing;\n this.elementSpacing = options.vSpacing;\n } else {\n this.groupAxis = Y;\n this.elementAxis = X;\n this.groupSizeField = HEIGHT;\n this.elementSizeField = WIDTH;\n this.groupSpacing = options.vSpacing;\n this.elementSpacing = options.spacing;\n }\n };\n\n FloatElement.prototype.reflow = function reflow (targetBox) {\n this.box = targetBox.clone();\n this.reflowChildren();\n };\n\n FloatElement.prototype.reflowChildren = function reflowChildren () {\n var this$1 = this;\n\n var ref = this;\n var box = ref.box;\n var elementAxis = ref.elementAxis;\n var groupAxis = ref.groupAxis;\n var elementSizeField = ref.elementSizeField;\n var groupSizeField = ref.groupSizeField;\n var ref$1 = this.groupOptions();\n var groups = ref$1.groups;\n var groupsSize = ref$1.groupsSize;\n var maxGroupElementsSize = ref$1.maxGroupElementsSize;\n var groupsCount = groups.length;\n var groupsStart = box[groupAxis + 1] + this.alignStart(groupsSize, box[groupSizeField]());\n\n if (groupsCount) {\n var groupStart = groupsStart;\n\n for (var groupIdx = 0; groupIdx < groupsCount; groupIdx++) {\n var group = groups[groupIdx];\n var groupElements = group.groupElements;\n var elementStart = box[elementAxis + 1];\n var groupElementsCount = groupElements.length;\n\n for (var idx = 0; idx < groupElementsCount; idx++) {\n var element = groupElements[idx];\n var elementSize = this$1.elementSize(element);\n var groupElementStart = groupStart + this$1.alignStart(elementSize[groupSizeField], group.groupSize);\n\n var elementBox = new Box();\n elementBox[groupAxis + 1] = groupElementStart;\n elementBox[groupAxis + 2] = groupElementStart + elementSize[groupSizeField];\n elementBox[elementAxis + 1] = elementStart;\n elementBox[elementAxis + 2] = elementStart + elementSize[elementSizeField];\n\n element.reflow(elementBox);\n\n elementStart += elementSize[elementSizeField] + this$1.elementSpacing;\n }\n groupStart += group.groupSize + this$1.groupSpacing;\n }\n box[groupAxis + 1] = groupsStart;\n box[groupAxis + 2] = groupsStart + groupsSize;\n box[elementAxis + 2] = box[elementAxis + 1] + maxGroupElementsSize;\n }\n };\n\n FloatElement.prototype.alignStart = function alignStart (size, maxSize) {\n var start = 0;\n var align = this.options.align;\n if (align === RIGHT || align === BOTTOM) {\n start = maxSize - size;\n } else if (align === CENTER) {\n start = (maxSize - size) / 2;\n }\n return start;\n };\n\n FloatElement.prototype.groupOptions = function groupOptions () {\n var this$1 = this;\n\n var ref = this;\n var box = ref.box;\n var children = ref.children;\n var elementSizeField = ref.elementSizeField;\n var groupSizeField = ref.groupSizeField;\n var elementSpacing = ref.elementSpacing;\n var groupSpacing = ref.groupSpacing;\n var maxSize = round(box[elementSizeField]());\n var childrenCount = children.length;\n var groups = [];\n\n var groupSize = 0;\n var groupElementsSize = 0;\n var groupsSize = 0;\n var maxGroupElementsSize = 0;\n var groupElements = [];\n\n for (var idx = 0; idx < childrenCount; idx++) {\n var element = children[idx];\n if (!element.box) {\n element.reflow(box);\n }\n\n var elementSize = this$1.elementSize(element);\n if (this$1.options.wrap && round(groupElementsSize + elementSpacing + elementSize[elementSizeField]) > maxSize) {\n groups.push({\n groupElements: groupElements,\n groupSize: groupSize,\n groupElementsSize: groupElementsSize\n });\n maxGroupElementsSize = Math.max(maxGroupElementsSize, groupElementsSize);\n groupsSize += groupSpacing + groupSize;\n groupSize = 0;\n groupElementsSize = 0;\n groupElements = [];\n }\n groupSize = Math.max(groupSize, elementSize[groupSizeField]);\n if (groupElementsSize > 0) {\n groupElementsSize += elementSpacing;\n }\n groupElementsSize += elementSize[elementSizeField];\n groupElements.push(element);\n }\n\n groups.push({\n groupElements: groupElements,\n groupSize: groupSize,\n groupElementsSize: groupElementsSize\n });\n maxGroupElementsSize = Math.max(maxGroupElementsSize, groupElementsSize);\n groupsSize += groupSize;\n\n return {\n groups: groups,\n groupsSize: groupsSize,\n maxGroupElementsSize: maxGroupElementsSize\n };\n };\n\n FloatElement.prototype.elementSize = function elementSize (element) {\n return {\n width: element.box.width(),\n height: element.box.height()\n };\n };\n\n FloatElement.prototype.createVisual = function createVisual () {};\n\n return FloatElement;\n}(ChartElement));\n\nsetDefaultOptions(FloatElement, {\n vertical: true,\n wrap: true,\n vSpacing: 0,\n spacing: 0\n});\n\nexport default FloatElement;","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport ChartElement from './chart-element';\nimport Box from './box';\n\nimport { DEFAULT_FONT, BLACK } from '../common/constants';\nimport { setDefaultOptions } from '../common';\n\nvar DrawingText = draw.Text;\n\nvar Text = (function (ChartElement) {\n function Text(content, options) {\n ChartElement.call(this, options);\n\n this.content = content;\n\n // Calculate size\n this.reflow(new Box());\n }\n\n if ( ChartElement ) Text.__proto__ = ChartElement;\n Text.prototype = Object.create( ChartElement && ChartElement.prototype );\n Text.prototype.constructor = Text;\n\n Text.prototype.reflow = function reflow (targetBox) {\n var options = this.options;\n var size = options.size = draw.util.measureText(this.content, { font: options.font });\n\n this.baseline = size.baseline;\n\n this.box = new Box(targetBox.x1, targetBox.y1,\n targetBox.x1 + size.width, targetBox.y1 + size.height);\n };\n\n Text.prototype.createVisual = function createVisual () {\n var ref = this.options;\n var font = ref.font;\n var color = ref.color;\n var opacity = ref.opacity;\n var cursor = ref.cursor;\n\n this.visual = new DrawingText(this.content, this.box.toRect().topLeft(), {\n font: font,\n fill: { color: color, opacity: opacity },\n cursor: cursor\n });\n };\n\n return Text;\n}(ChartElement));\n\nsetDefaultOptions(Text, {\n font: DEFAULT_FONT,\n color: BLACK\n});\n\nexport default Text;\n","import Box from '../box';\n\nexport default function rectToBox(rect) {\n var origin = rect.origin;\n var bottomRight = rect.bottomRight();\n\n return new Box(origin.x, origin.y, bottomRight.x, bottomRight.y);\n}","import { drawing as draw, geometry as geom } from '@progress/kendo-drawing';\n\nimport BoxElement from './box-element';\nimport FloatElement from './float-element';\nimport Text from './text';\nimport Box from './box';\n\nimport rectToBox from './utils/rect-to-box';\n\nimport { getSpacing, deepExtend, defined } from '../common';\nimport { X, Y } from '../common/constants';\n\nvar ROWS_SPLIT_REGEX = /\\n/m;\n\nvar TextBox = (function (BoxElement) {\n function TextBox(content, options, data) {\n BoxElement.call(this, options);\n this.content = content;\n this.data = data;\n\n this._initContainer();\n if (this.options._autoReflow !== false) {\n this.reflow(new Box());\n }\n }\n\n if ( BoxElement ) TextBox.__proto__ = BoxElement;\n TextBox.prototype = Object.create( BoxElement && BoxElement.prototype );\n TextBox.prototype.constructor = TextBox;\n\n TextBox.prototype._initContainer = function _initContainer () {\n var options = this.options;\n var rows = String(this.content).split(ROWS_SPLIT_REGEX);\n var floatElement = new FloatElement({ vertical: true, align: options.align, wrap: false });\n var textOptions = deepExtend({ }, options, { opacity: 1, animation: null });\n\n this.container = floatElement;\n this.append(floatElement);\n\n for (var rowIdx = 0; rowIdx < rows.length; rowIdx++) {\n var text = new Text(rows[rowIdx].trim(), textOptions);\n floatElement.append(text);\n }\n };\n\n TextBox.prototype.reflow = function reflow (targetBox) {\n var options = this.options;\n var visualFn = options.visual;\n this.container.options.align = options.align;\n\n if (visualFn && !this._boxReflow) {\n var visualBox = targetBox;\n if (!visualBox.hasSize()) {\n this._boxReflow = true;\n this.reflow(visualBox);\n this._boxReflow = false;\n visualBox = this.box;\n }\n var visual = this.visual = visualFn(this.visualContext(visualBox));\n\n if (visual) {\n visualBox = rectToBox(visual.clippedBBox() || new geom.Rect());\n\n visual.options.zIndex = options.zIndex;\n }\n\n this.box = this.contentBox = this.paddingBox = visualBox;\n } else {\n BoxElement.prototype.reflow.call(this, targetBox);\n\n if (options.rotation) {\n var margin = getSpacing(options.margin);\n var box = this.box.unpad(margin);\n\n this.targetBox = targetBox;\n this.normalBox = box.clone();\n\n box = this.rotate();\n box.translate(margin.left - margin.right, margin.top - margin.bottom);\n\n this.rotatedBox = box.clone();\n\n box.pad(margin);\n }\n }\n };\n\n TextBox.prototype.createVisual = function createVisual () {\n var options = this.options;\n\n this.visual = new draw.Group({\n transform: this.rotationTransform(),\n zIndex: options.zIndex,\n noclip: options.noclip\n });\n\n if (this.hasBox()) {\n var box = draw.Path.fromRect(this.paddingBox.toRect(), this.visualStyle());\n this.visual.append(box);\n }\n };\n\n TextBox.prototype.renderVisual = function renderVisual () {\n if (!this.options.visible) {\n return;\n }\n\n if (this.options.visual) {\n var visual = this.visual;\n if (visual && !defined(visual.options.noclip)) {\n visual.options.noclip = this.options.noclip;\n }\n this.addVisual();\n this.createAnimation();\n } else {\n BoxElement.prototype.renderVisual.call(this);\n }\n };\n\n TextBox.prototype.visualContext = function visualContext (targetBox) {\n var this$1 = this;\n\n var context = {\n text: this.content,\n rect: targetBox.toRect(),\n sender: this.getSender(),\n options: this.options,\n createVisual: function () {\n this$1._boxReflow = true;\n this$1.reflow(targetBox);\n this$1._boxReflow = false;\n return this$1.getDefaultVisual();\n }\n };\n if (this.data) {\n Object.assign(context, this.data);\n }\n\n return context;\n };\n\n TextBox.prototype.getDefaultVisual = function getDefaultVisual () {\n this.createVisual();\n this.renderChildren();\n var visual = this.visual;\n delete this.visual;\n return visual;\n };\n\n TextBox.prototype.rotate = function rotate () {\n var options = this.options;\n this.box.rotate(options.rotation);\n this.align(this.targetBox, X, options.align);\n this.align(this.targetBox, Y, options.vAlign);\n return this.box;\n };\n\n TextBox.prototype.rotationTransform = function rotationTransform () {\n var rotation = this.options.rotation;\n if (!rotation) {\n return null;\n }\n\n var ref = this.normalBox.center();\n var cx = ref.x;\n var cy = ref.y;\n var boxCenter = this.rotatedBox.center();\n\n return geom.transform()\n .translate(boxCenter.x - cx, boxCenter.y - cy)\n .rotate(rotation, [ cx, cy ]);\n };\n\n return TextBox;\n}(BoxElement));\n\nexport default TextBox;","import ChartElement from './chart-element';\nimport TextBox from './text-box';\n\nimport { X, BLACK, TOP, CENTER, BOTTOM } from '../common/constants';\nimport { getSpacing, setDefaultOptions } from '../common';\n\nvar Title = (function (ChartElement) {\n function Title(options) {\n ChartElement.call(this, options);\n\n this._textBox = new TextBox(this.options.text, Object.assign({}, this.options, {\n vAlign: this.options.position\n }));\n\n this.append(this._textBox);\n }\n\n if ( ChartElement ) Title.__proto__ = ChartElement;\n Title.prototype = Object.create( ChartElement && ChartElement.prototype );\n Title.prototype.constructor = Title;\n\n Title.prototype.reflow = function reflow (targetBox) {\n ChartElement.prototype.reflow.call(this, targetBox);\n this.box.snapTo(targetBox, X);\n };\n\n Title.buildTitle = function buildTitle (options, defaultOptions) {\n var titleOptions = options;\n\n if (typeof options === \"string\") {\n titleOptions = { text: options };\n }\n\n titleOptions = Object.assign({ visible: true }, defaultOptions, titleOptions);\n\n var title;\n if (titleOptions && titleOptions.visible && titleOptions.text) {\n title = new Title(titleOptions);\n }\n\n return title;\n };\n\n Title.orderTitles = function orderTitles (titles) {\n var items = [].concat(titles);\n var top = items.filter(function (item) { return item && item.options.position !== BOTTOM; });\n var bottom = items.filter(function (item) { return item && item.options.position === BOTTOM; });\n\n collapseVerticalMargins(top);\n collapseVerticalMargins(bottom);\n\n bottom.reverse();\n return top.concat(bottom);\n };\n\n return Title;\n}(ChartElement));\n\nfunction collapseVerticalMargins(items) {\n for (var i = 1; i < items.length; i++) {\n var box = items[i]._textBox;\n var prevBox = items[i - 1]._textBox;\n prevBox.options.margin = Object.assign(getSpacing(prevBox.options.margin), { bottom: 0 });\n box.options.margin = Object.assign(getSpacing(box.options.margin), { top: 0 });\n }\n}\n\nsetDefaultOptions(Title, {\n color: BLACK,\n position: TOP,\n align: CENTER,\n margin: getSpacing(5),\n padding: getSpacing(5)\n});\n\nexport default Title;\n","import { geometry as geom } from '@progress/kendo-drawing';\n\nimport TextBox from './text-box';\nimport Box from './box';\n\nimport rectToBox from './utils/rect-to-box';\n\nimport { AXIS_LABEL_CLICK, CENTER, TOP, BOTTOM, LEFT, DEFAULT_PRECISION, X, Y } from '../common/constants';\n\nimport { eventElement, round, setDefaultOptions } from '../common';\n\nvar AxisLabel = (function (TextBox) {\n function AxisLabel(value, text, index, dataItem, options) {\n TextBox.call(this, text, options);\n\n this.text = text;\n this.value = value;\n this.index = index;\n this.dataItem = dataItem;\n this.reflow(new Box());\n }\n\n if ( TextBox ) AxisLabel.__proto__ = TextBox;\n AxisLabel.prototype = Object.create( TextBox && TextBox.prototype );\n AxisLabel.prototype.constructor = AxisLabel;\n\n AxisLabel.prototype.visualContext = function visualContext (targetBox) {\n var context = TextBox.prototype.visualContext.call(this, targetBox);\n\n context.value = this.value;\n context.dataItem = this.dataItem;\n context.format = this.options.format;\n context.culture = this.options.culture;\n\n return context;\n };\n\n AxisLabel.prototype.click = function click (widget, e) {\n\n widget.trigger(AXIS_LABEL_CLICK, {\n element: eventElement(e),\n value: this.value,\n text: this.text,\n index: this.index,\n dataItem: this.dataItem,\n axis: this.parent.options\n });\n };\n\n AxisLabel.prototype.rotate = function rotate () {\n if (this.options.alignRotation !== CENTER) {\n var box = this.normalBox.toRect();\n var transform = this.rotationTransform();\n\n this.box = rectToBox(box.bbox(transform.matrix()));\n } else {\n TextBox.prototype.rotate.call(this);\n }\n\n return this.box;\n };\n\n AxisLabel.prototype.rotationTransform = function rotationTransform () {\n var options = this.options;\n var rotation = options.rotation;\n if (!rotation) {\n return null;\n }\n\n if (options.alignRotation === CENTER) {\n return TextBox.prototype.rotationTransform.call(this);\n }\n\n var rotationMatrix = geom.transform().rotate(rotation).matrix();\n var box = this.normalBox.toRect();\n var rect = this.targetBox.toRect();\n\n var rotationOrigin = options.rotationOrigin || TOP;\n var alignAxis = rotationOrigin === TOP || rotationOrigin === BOTTOM ? X : Y;\n var distanceAxis = rotationOrigin === TOP || rotationOrigin === BOTTOM ? Y : X;\n var axisAnchor = rotationOrigin === TOP || rotationOrigin === LEFT ? rect.origin : rect.bottomRight();\n\n var topLeft = box.topLeft().transformCopy(rotationMatrix);\n var topRight = box.topRight().transformCopy(rotationMatrix);\n var bottomRight = box.bottomRight().transformCopy(rotationMatrix);\n var bottomLeft = box.bottomLeft().transformCopy(rotationMatrix);\n var rotatedBox = geom.Rect.fromPoints(topLeft, topRight, bottomRight, bottomLeft);\n\n var translate = {};\n translate[distanceAxis] = rect.origin[distanceAxis] - rotatedBox.origin[distanceAxis];\n\n var distanceLeft = Math.abs(topLeft[distanceAxis] + translate[distanceAxis] - axisAnchor[distanceAxis]);\n var distanceRight = Math.abs(topRight[distanceAxis] + translate[distanceAxis] - axisAnchor[distanceAxis]);\n\n var alignStart, alignEnd;\n\n if (round(distanceLeft, DEFAULT_PRECISION) === round(distanceRight, DEFAULT_PRECISION)) {\n alignStart = topLeft;\n alignEnd = topRight;\n } else if (distanceRight < distanceLeft) {\n alignStart = topRight;\n alignEnd = bottomRight;\n } else {\n alignStart = topLeft;\n alignEnd = bottomLeft;\n }\n\n var alignCenter = alignStart[alignAxis] + (alignEnd[alignAxis] - alignStart[alignAxis]) / 2;\n translate[alignAxis] = rect.center()[alignAxis] - alignCenter;\n\n return geom.transform()\n .translate(translate.x, translate.y)\n .rotate(rotation);\n };\n\n return AxisLabel;\n}(TextBox));\n\nsetDefaultOptions(AxisLabel, {\n _autoReflow: false\n});\n\nexport default AxisLabel;\n","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport BoxElement from './box-element';\nimport TextBox from './text-box';\nimport ShapeElement from './shape-element';\nimport Box from './box';\n\nimport { CIRCLE, TOP, BOTTOM, LEFT, RIGHT, CENTER, INSIDE, OUTSIDE, NOTE_CLICK, NOTE_HOVER, NOTE_LEAVE } from '../common/constants';\nimport { alignPathToPixel, defined, deepExtend, eventElement, getTemplate, inArray, setDefaultOptions } from '../common';\n\nvar DEFAULT_ICON_SIZE = 7;\nvar DEFAULT_LABEL_COLOR = \"#fff\";\n\nvar Note = (function (BoxElement) {\n function Note(fields, options, chartService) {\n BoxElement.call(this, options);\n\n this.fields = fields;\n this.chartService = chartService;\n\n this.render();\n }\n\n if ( BoxElement ) Note.__proto__ = BoxElement;\n Note.prototype = Object.create( BoxElement && BoxElement.prototype );\n Note.prototype.constructor = Note;\n\n Note.prototype.hide = function hide () {\n this.options.visible = false;\n };\n\n Note.prototype.show = function show () {\n this.options.visible = true;\n };\n\n Note.prototype.render = function render () {\n var this$1 = this;\n\n var options = this.options;\n\n if (options.visible) {\n var label = options.label;\n var icon = options.icon;\n var box = new Box();\n var childAlias = function () { return this$1; };\n var size = icon.size;\n var text = this.fields.text;\n var width, height;\n\n if (defined(label) && label.visible) {\n var noteTemplate = getTemplate(label);\n if (noteTemplate) {\n text = noteTemplate(this.fields);\n } else if (label.format) {\n text = this.chartService.format.auto(label.format, text);\n }\n\n if (!label.color) {\n label.color = label.position === INSIDE ? DEFAULT_LABEL_COLOR : icon.background;\n }\n\n this.label = new TextBox(text, deepExtend({}, label));\n this.label.aliasFor = childAlias;\n\n if (label.position === INSIDE && !defined(size)) {\n if (icon.type === CIRCLE) {\n size = Math.max(this.label.box.width(), this.label.box.height());\n } else {\n width = this.label.box.width();\n height = this.label.box.height();\n }\n box.wrap(this.label.box);\n }\n }\n\n icon.width = width || size || DEFAULT_ICON_SIZE;\n icon.height = height || size || DEFAULT_ICON_SIZE;\n\n var marker = new ShapeElement(deepExtend({}, icon));\n marker.aliasFor = childAlias;\n\n this.marker = marker;\n this.append(marker);\n\n if (this.label) {\n this.append(this.label);\n }\n\n marker.reflow(new Box());\n this.wrapperBox = box.wrap(marker.box);\n }\n };\n\n Note.prototype.reflow = function reflow (targetBox) {\n var ref = this;\n var options = ref.options;\n var label = ref.label;\n var marker = ref.marker;\n var wrapperBox = ref.wrapperBox;\n var center = targetBox.center();\n var length = options.line.length;\n var position = options.position;\n\n // TODO: Review\n if (options.visible) {\n var lineStart, box, contentBox;\n\n if (inArray(position, [ LEFT, RIGHT ])) {\n if (position === LEFT) {\n contentBox = wrapperBox.alignTo(targetBox, position).translate(-length, targetBox.center().y - wrapperBox.center().y);\n\n if (options.line.visible) {\n lineStart = [ targetBox.x1, center.y ];\n this.linePoints = [\n lineStart,\n [ contentBox.x2, center.y ]\n ];\n box = contentBox.clone().wrapPoint(lineStart);\n }\n } else {\n contentBox = wrapperBox.alignTo(targetBox, position).translate(length, targetBox.center().y - wrapperBox.center().y);\n\n if (options.line.visible) {\n lineStart = [ targetBox.x2, center.y ];\n this.linePoints = [\n lineStart,\n [ contentBox.x1, center.y ]\n ];\n box = contentBox.clone().wrapPoint(lineStart);\n }\n }\n } else {\n if (position === BOTTOM) {\n contentBox = wrapperBox.alignTo(targetBox, position).translate(targetBox.center().x - wrapperBox.center().x, length);\n\n if (options.line.visible) {\n lineStart = [ center.x, targetBox.y2 ];\n this.linePoints = [\n lineStart,\n [ center.x, contentBox.y1 ]\n ];\n box = contentBox.clone().wrapPoint(lineStart);\n }\n } else {\n contentBox = wrapperBox.alignTo(targetBox, position).translate(targetBox.center().x - wrapperBox.center().x, -length);\n\n if (options.line.visible) {\n lineStart = [ center.x, targetBox.y1 ];\n this.linePoints = [\n lineStart,\n [ center.x, contentBox.y2 ]\n ];\n box = contentBox.clone().wrapPoint(lineStart);\n }\n }\n }\n\n if (marker) {\n marker.reflow(contentBox);\n }\n\n if (label) {\n label.reflow(contentBox);\n if (marker) {\n if (options.label.position === OUTSIDE) {\n label.box.alignTo(marker.box, position);\n }\n label.reflow(label.box);\n }\n }\n\n this.contentBox = contentBox;\n this.targetBox = targetBox;\n this.box = box || contentBox;\n }\n };\n\n Note.prototype.createVisual = function createVisual () {\n BoxElement.prototype.createVisual.call(this);\n this.visual.options.noclip = this.options.noclip;\n\n if (this.options.visible) {\n this.createLine();\n }\n };\n\n Note.prototype.renderVisual = function renderVisual () {\n var this$1 = this;\n\n var options = this.options;\n var customVisual = options.visual;\n if (options.visible && customVisual) {\n this.visual = customVisual(Object.assign(this.fields, {\n sender: this.getSender(),\n rect: this.targetBox.toRect(),\n options: {\n background: options.background,\n border: options.background,\n icon: options.icon,\n label: options.label,\n line: options.line,\n position: options.position,\n visible: options.visible\n },\n createVisual: function () {\n this$1.createVisual();\n this$1.renderChildren();\n var defaultVisual = this$1.visual;\n delete this$1.visual;\n return defaultVisual;\n }\n }));\n this.addVisual();\n } else {\n BoxElement.prototype.renderVisual.call(this);\n }\n };\n\n Note.prototype.createLine = function createLine () {\n var options = this.options.line;\n\n if (this.linePoints) {\n var path = draw.Path.fromPoints(this.linePoints, {\n stroke: {\n color: options.color,\n width: options.width,\n dashType: options.dashType\n }\n });\n\n alignPathToPixel(path);\n this.visual.append(path);\n }\n };\n\n Note.prototype.click = function click (widget, e) {\n var args = this.eventArgs(e);\n\n if (!widget.trigger(NOTE_CLICK, args)) {\n e.preventDefault();\n }\n };\n\n Note.prototype.over = function over (widget, e) {\n var args = this.eventArgs(e);\n\n if (!widget.trigger(NOTE_HOVER, args)) {\n e.preventDefault();\n }\n };\n\n Note.prototype.out = function out (widget, e) {\n var args = this.eventArgs(e);\n\n widget.trigger(NOTE_LEAVE, args);\n };\n\n Note.prototype.eventArgs = function eventArgs (e) {\n var options = this.options;\n\n return Object.assign(this.fields, {\n element: eventElement(e),\n text: defined(options.label) ? options.label.text : \"\",\n visual: this.visual\n });\n };\n\n return Note;\n}(BoxElement));\n\nsetDefaultOptions(Note, {\n icon: {\n visible: true,\n type: CIRCLE\n },\n label: {\n position: INSIDE,\n visible: true,\n align: CENTER,\n vAlign: CENTER\n },\n line: {\n visible: true\n },\n visible: true,\n position: TOP,\n zIndex: 2\n});\n\nexport default Note;","var defaultImplementation = {\n format: function (format, value) { return value; },\n\n toString: function (value) { return value; },\n\n parseDate: function (value) { return new Date(value); },\n\n firstDay: function () { return 0; }\n};\n\nvar current = defaultImplementation;\n\nvar IntlService = function IntlService () {};\n\nvar staticAccessors = { implementation: { configurable: true } };\n\nIntlService.register = function register (userImplementation) {\n current = userImplementation;\n};\n\nstaticAccessors.implementation.get = function () {\n return current;\n};\n\nObject.defineProperties( IntlService, staticAccessors );\n\nexport default IntlService;\n","import IntlService from './intl-service';\nimport { FORMAT_REGEX } from '../common/constants';\nimport { isString } from '../common';\n\nvar FORMAT_REPLACE_REGEX = /\\{(\\d+)(:[^\\}]+)?\\}/g;\n\nvar FormatService = function FormatService(intlService) {\n this._intlService = intlService;\n};\n\nvar prototypeAccessors = { intl: { configurable: true } };\n\nprototypeAccessors.intl.get = function () {\n return this._intlService || IntlService.implementation;\n};\n\nprototypeAccessors.intl.set = function (value) {\n this._intlService = value;\n};\n\nFormatService.prototype.auto = function auto (formatString) {\n var values = [], len = arguments.length - 1;\n while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n\n var intl = this.intl;\n\n if (isString(formatString) && formatString.match(FORMAT_REGEX)) {\n return intl.format.apply(intl, [ formatString ].concat( values ));\n }\n\n return intl.toString(values[0], formatString);\n};\n\nFormatService.prototype.localeAuto = function localeAuto (formatString, values, locale) {\n var intl = this.intl;\n var result;\n\n if (isString(formatString) && formatString.match(FORMAT_REGEX)) {\n result = formatString.replace(FORMAT_REPLACE_REGEX, function(match, index, placeholderFormat) {\n var value = values[parseInt(index, 10)];\n\n return intl.toString(value, placeholderFormat ? placeholderFormat.substring(1) : \"\", locale);\n });\n } else {\n result = intl.toString(values[0], formatString, locale);\n }\n\n return result;\n};\n\nObject.defineProperties( FormatService.prototype, prototypeAccessors );\n\nexport default FormatService;","import IntlService from './intl-service';\nimport FormatService from './format-service';\n\nvar ChartService = function ChartService(chart, context) {\n if ( context === void 0 ) context = {};\n\n this._intlService = context.intlService;\n this.sender = context.sender || chart;\n this.format = new FormatService(context.intlService);\n this.chart = chart;\n this.rtl = Boolean(context.rtl);\n};\n\nvar prototypeAccessors = { intl: { configurable: true } };\n\nprototypeAccessors.intl.get = function () {\n return this._intlService || IntlService.implementation;\n};\n\nprototypeAccessors.intl.set = function (value) {\n this._intlService = value;\n this.format.intl = value;\n};\n\nChartService.prototype.notify = function notify (name, args) {\n if (this.chart) {\n this.chart.trigger(name, args);\n }\n};\n\nChartService.prototype.isPannable = function isPannable (axis) {\n var pannable = ((this.chart || {}).options || {}).pannable;\n return pannable && pannable.lock !== axis;\n};\n\nObject.defineProperties( ChartService.prototype, prototypeAccessors );\n\nexport default ChartService;\n","var current;\n\nvar DomEventsBuilder = function DomEventsBuilder () {};\n\nDomEventsBuilder.register = function register (userImplementation) {\n current = userImplementation;\n};\n\nDomEventsBuilder.create = function create (element, events) {\n if (current) {\n return current.create(element, events);\n }\n};\n\nexport default DomEventsBuilder;\n","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { alignPathToPixel } from '../../common';\n\nexport default function createAxisTick(options, tickOptions) {\n var tickX = options.tickX;\n var tickY = options.tickY;\n var position = options.position;\n\n var tick = new draw.Path({\n stroke: {\n width: tickOptions.width,\n color: tickOptions.color\n }\n });\n\n if (options.vertical) {\n tick.moveTo(tickX, position)\n .lineTo(tickX + tickOptions.size, position);\n } else {\n tick.moveTo(position, tickY)\n .lineTo(position, tickY + tickOptions.size);\n }\n\n alignPathToPixel(tick);\n\n return tick;\n}\n","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { alignPathToPixel } from '../../common';\n\nexport default function createAxisGridLine(options, gridLine) {\n var lineStart = options.lineStart;\n var lineEnd = options.lineEnd;\n var position = options.position;\n\n var line = new draw.Path({\n stroke: {\n width: gridLine.width,\n color: gridLine.color,\n dashType: gridLine.dashType\n }\n });\n\n if (options.vertical) {\n line.moveTo(lineStart, position)\n .lineTo(lineEnd, position);\n } else {\n line.moveTo(position, lineStart)\n .lineTo(position, lineEnd);\n }\n\n alignPathToPixel(line);\n\n return line;\n}","import { drawing as draw, geometry as geom } from '@progress/kendo-drawing';\n\nimport ChartElement from './chart-element';\nimport TextBox from './text-box';\nimport AxisLabel from './axis-label';\nimport Note from './note';\nimport Box from './box';\nimport { ChartService } from '../services';\n\nimport createAxisTick from './utils/create-axis-tick';\nimport createAxisGridLine from './utils/create-axis-grid-line';\n\nimport { NONE, BLACK, CENTER, TOP, BOTTOM, LEFT, RIGHT, OUTSIDE, X, Y, WIDTH, HEIGHT } from '../common/constants';\nimport { alignPathToPixel, deepExtend, getTemplate, grep, defined, isObject, inArray, limitValue, round, setDefaultOptions } from '../common';\n\nvar Axis = (function (ChartElement) {\n function Axis(options, chartService) {\n if ( chartService === void 0 ) chartService = new ChartService();\n\n ChartElement.call(this, options);\n\n this.chartService = chartService;\n\n if (!this.options.visible) {\n this.options = deepExtend({}, this.options, {\n labels: {\n visible: false\n },\n line: {\n visible: false\n },\n margin: 0,\n majorTickSize: 0,\n minorTickSize: 0\n });\n }\n\n this.options.minorTicks = deepExtend({}, {\n color: this.options.line.color,\n width: this.options.line.width,\n visible: this.options.minorTickType !== NONE\n }, this.options.minorTicks, {\n size: this.options.minorTickSize,\n align: this.options.minorTickType\n });\n\n this.options.majorTicks = deepExtend({}, {\n color: this.options.line.color,\n width: this.options.line.width,\n visible: this.options.majorTickType !== NONE\n }, this.options.majorTicks, {\n size: this.options.majorTickSize,\n align: this.options.majorTickType\n });\n\n this.initFields();\n\n if (!this.options._deferLabels) {\n this.createLabels();\n }\n\n this.createTitle();\n this.createNotes();\n }\n\n if ( ChartElement ) Axis.__proto__ = ChartElement;\n Axis.prototype = Object.create( ChartElement && ChartElement.prototype );\n Axis.prototype.constructor = Axis;\n\n Axis.prototype.initFields = function initFields () {\n };\n\n // abstract labelsCount(): Number\n // abstract createAxisLabel(index, options): AxisLabel\n\n Axis.prototype.labelsRange = function labelsRange () {\n return {\n min: this.options.labels.skip,\n max: this.labelsCount()\n };\n };\n\n Axis.prototype.normalizeLabelRotation = function normalizeLabelRotation (labelOptions) {\n var rotation = labelOptions.rotation;\n\n if (isObject(rotation)) {\n labelOptions.alignRotation = rotation.align;\n labelOptions.rotation = rotation.angle;\n }\n };\n\n Axis.prototype.createLabels = function createLabels () {\n var this$1 = this;\n\n var options = this.options;\n var align = options.vertical ? RIGHT : CENTER;\n var labelOptions = deepExtend({ }, options.labels, {\n align: align,\n zIndex: options.zIndex\n });\n var step = Math.max(1, labelOptions.step);\n\n this.clearLabels();\n\n if (labelOptions.visible) {\n this.normalizeLabelRotation(labelOptions);\n if (labelOptions.rotation === \"auto\") {\n labelOptions.rotation = 0;\n options.autoRotateLabels = true;\n }\n\n var range = this.labelsRange();\n for (var idx = range.min; idx < range.max; idx += step) {\n var labelContext = { index: idx, count: range.max };\n var label = this$1.createAxisLabel(idx, labelOptions, labelContext);\n if (label) {\n this$1.append(label);\n this$1.labels.push(label);\n }\n }\n }\n };\n\n Axis.prototype.clearLabels = function clearLabels () {\n this.children = grep(this.children, function (child) { return !(child instanceof AxisLabel); });\n this.labels = [];\n };\n\n Axis.prototype.clearTitle = function clearTitle () {\n var this$1 = this;\n\n if (this.title) {\n this.children = grep(this.children, function (child) { return child !== this$1.title; });\n this.title = undefined;\n }\n };\n\n Axis.prototype.clear = function clear () {\n this.clearLabels();\n this.clearTitle();\n };\n\n Axis.prototype.lineBox = function lineBox () {\n var ref = this;\n var options = ref.options;\n var box = ref.box;\n var vertical = options.vertical;\n var mirror = options.labels.mirror;\n var axisX = mirror ? box.x1 : box.x2;\n var axisY = mirror ? box.y2 : box.y1;\n var lineWidth = options.line.width || 0;\n\n return vertical ?\n new Box(axisX, box.y1, axisX, box.y2 - lineWidth) :\n new Box(box.x1, axisY, box.x2 - lineWidth, axisY);\n };\n\n Axis.prototype.createTitle = function createTitle () {\n var options = this.options;\n var titleOptions = deepExtend({\n rotation: options.vertical ? -90 : 0,\n text: \"\",\n zIndex: 1,\n visualSize: true\n }, options.title);\n\n if (titleOptions.visible && titleOptions.text) {\n var title = new TextBox(titleOptions.text, titleOptions);\n this.append(title);\n this.title = title;\n }\n };\n\n Axis.prototype.createNotes = function createNotes () {\n var this$1 = this;\n\n var options = this.options;\n var notes = options.notes;\n var items = notes.data || [];\n\n this.notes = [];\n\n for (var i = 0; i < items.length; i++) {\n var item = deepExtend({}, notes, items[i]);\n item.value = this$1.parseNoteValue(item.value);\n\n var note = new Note({\n value: item.value,\n text: item.label.text,\n dataItem: item\n }, item, this$1.chartService);\n\n if (note.options.visible) {\n if (defined(note.options.position)) {\n if (options.vertical && !inArray(note.options.position, [ LEFT, RIGHT ])) {\n note.options.position = options.reverse ? LEFT : RIGHT;\n } else if (!options.vertical && !inArray(note.options.position, [ TOP, BOTTOM ])) {\n note.options.position = options.reverse ? BOTTOM : TOP;\n }\n } else {\n if (options.vertical) {\n note.options.position = options.reverse ? LEFT : RIGHT;\n } else {\n note.options.position = options.reverse ? BOTTOM : TOP;\n }\n }\n this$1.append(note);\n this$1.notes.push(note);\n }\n }\n };\n\n Axis.prototype.parseNoteValue = function parseNoteValue (value) {\n return value;\n };\n\n Axis.prototype.renderVisual = function renderVisual () {\n ChartElement.prototype.renderVisual.call(this);\n\n this.createPlotBands();\n };\n\n Axis.prototype.createVisual = function createVisual () {\n ChartElement.prototype.createVisual.call(this);\n\n this.createBackground();\n this.createLine();\n };\n\n Axis.prototype.gridLinesVisual = function gridLinesVisual () {\n var gridLines = this._gridLines;\n if (!gridLines) {\n gridLines = this._gridLines = new draw.Group({\n zIndex: -2\n });\n this.appendVisual(this._gridLines);\n }\n\n return gridLines;\n };\n\n Axis.prototype.createTicks = function createTicks (lineGroup) {\n var options = this.options;\n var lineBox = this.lineBox();\n var mirror = options.labels.mirror;\n var majorUnit = options.majorTicks.visible ? options.majorUnit : 0;\n var tickLineOptions = {\n // TODO\n // _alignLines: options._alignLines,\n vertical: options.vertical\n };\n\n function render(tickPositions, tickOptions, skipUnit) {\n var count = tickPositions.length;\n var step = Math.max(1, tickOptions.step);\n\n if (tickOptions.visible) {\n for (var i = tickOptions.skip; i < count; i += step) {\n if (defined(skipUnit) && (i % skipUnit === 0)) {\n continue;\n }\n\n tickLineOptions.tickX = mirror ? lineBox.x2 : lineBox.x2 - tickOptions.size;\n tickLineOptions.tickY = mirror ? lineBox.y1 - tickOptions.size : lineBox.y1;\n tickLineOptions.position = tickPositions[i];\n\n lineGroup.append(createAxisTick(tickLineOptions, tickOptions));\n }\n }\n }\n\n render(this.getMajorTickPositions(), options.majorTicks);\n render(this.getMinorTickPositions(), options.minorTicks, majorUnit / options.minorUnit);\n };\n\n Axis.prototype.createLine = function createLine () {\n var options = this.options;\n var line = options.line;\n var lineBox = this.lineBox();\n\n if (line.width > 0 && line.visible) {\n var path = new draw.Path({\n stroke: {\n width: line.width,\n color: line.color,\n dashType: line.dashType\n }\n\n /* TODO\n zIndex: line.zIndex,\n */\n });\n\n path.moveTo(lineBox.x1, lineBox.y1)\n .lineTo(lineBox.x2, lineBox.y2);\n\n if (options._alignLines) {\n alignPathToPixel(path);\n }\n\n var group = this._lineGroup = new draw.Group();\n group.append(path);\n\n this.visual.append(group);\n this.createTicks(group);\n }\n };\n\n Axis.prototype.getActualTickSize = function getActualTickSize () {\n var options = this.options;\n var tickSize = 0;\n\n if (options.majorTicks.visible && options.minorTicks.visible) {\n tickSize = Math.max(options.majorTicks.size, options.minorTicks.size);\n } else if (options.majorTicks.visible) {\n tickSize = options.majorTicks.size;\n } else if (options.minorTicks.visible) {\n tickSize = options.minorTicks.size;\n }\n\n return tickSize;\n };\n\n Axis.prototype.createBackground = function createBackground () {\n var ref = this;\n var options = ref.options;\n var box = ref.box;\n var background = options.background;\n\n if (background) {\n this._backgroundPath = draw.Path.fromRect(box.toRect(), {\n fill: {\n color: background\n },\n stroke: null\n });\n\n this.visual.append(this._backgroundPath);\n }\n };\n\n Axis.prototype.createPlotBands = function createPlotBands () {\n var this$1 = this;\n\n var options = this.options;\n var plotBands = options.plotBands || [];\n var vertical = options.vertical;\n var plotArea = this.plotArea;\n\n if (plotBands.length === 0) {\n return;\n }\n\n var group = this._plotbandGroup = new draw.Group({\n zIndex: -1\n });\n\n var altAxis = grep(this.pane.axes, function (axis) { return axis.options.vertical !== this$1.options.vertical; })[0];\n\n for (var idx = 0; idx < plotBands.length; idx++) {\n var item = plotBands[idx];\n var slotX = (void 0), slotY = (void 0);\n var labelOptions = item.label;\n var label = (void 0);\n\n if (vertical) {\n slotX = (altAxis || plotArea.axisX).lineBox();\n slotY = this$1.getSlot(item.from, item.to, true);\n } else {\n slotX = this$1.getSlot(item.from, item.to, true);\n slotY = (altAxis || plotArea.axisY).lineBox();\n }\n\n if (labelOptions) {\n labelOptions.vAlign = labelOptions.position || LEFT;\n label = this$1.createPlotBandLabel(\n labelOptions,\n item,\n new Box(\n slotX.x1,\n slotY.y1,\n slotX.x2,\n slotY.y2\n )\n\n );\n }\n\n if (slotX.width() !== 0 && slotY.height() !== 0) {\n var bandRect = new geom.Rect(\n [ slotX.x1, slotY.y1 ],\n [ slotX.width(), slotY.height() ]\n );\n\n var path = draw.Path.fromRect(bandRect, {\n fill: {\n color: item.color,\n opacity: item.opacity\n },\n stroke: null\n });\n\n group.append(path);\n if (label) {\n group.append(label);\n }\n }\n }\n\n this.appendVisual(group);\n };\n\n Axis.prototype.createPlotBandLabel = function createPlotBandLabel (label, item, box) {\n\n if (label.visible === false) {\n return null;\n }\n\n var text = label.text;\n var textbox;\n\n if (defined(label) && label.visible) {\n var labelTemplate = getTemplate(label);\n if (labelTemplate) {\n text = labelTemplate({ text: text, item: item });\n } else if (label.format) {\n text = this.chartService.format.auto(label.format, text);\n }\n\n if (!label.color) {\n label.color = this.options.labels.color;\n }\n }\n\n textbox = new TextBox(text, label);\n textbox.reflow(box);\n textbox.renderVisual();\n\n return textbox.visual;\n };\n\n Axis.prototype.createGridLines = function createGridLines (altAxis) {\n var options = this.options;\n var minorGridLines = options.minorGridLines;\n var majorGridLines = options.majorGridLines;\n var minorUnit = options.minorUnit;\n var vertical = options.vertical;\n var axisLineVisible = altAxis.options.line.visible;\n var majorUnit = majorGridLines.visible ? options.majorUnit : 0;\n var lineBox = altAxis.lineBox();\n var linePos = lineBox[vertical ? \"y1\" : \"x1\"];\n var lineOptions = {\n lineStart: lineBox[vertical ? \"x1\" : \"y1\"],\n lineEnd: lineBox[vertical ? \"x2\" : \"y2\"],\n vertical: vertical\n };\n var majorTicks = [];\n\n var container = this.gridLinesVisual();\n\n function render(tickPositions, gridLine, skipUnit) {\n var count = tickPositions.length;\n var step = Math.max(1, gridLine.step);\n\n if (gridLine.visible) {\n for (var i = gridLine.skip; i < count; i += step) {\n var pos = round(tickPositions[i]);\n if (!inArray(pos, majorTicks)) {\n if (i % skipUnit !== 0 && (!axisLineVisible || linePos !== pos)) {\n lineOptions.position = pos;\n container.append(createAxisGridLine(lineOptions, gridLine));\n\n majorTicks.push(pos);\n }\n }\n }\n }\n }\n\n render(this.getMajorTickPositions(), majorGridLines);\n render(this.getMinorTickPositions(), minorGridLines, majorUnit / minorUnit);\n\n return container.children;\n };\n\n Axis.prototype.reflow = function reflow (box) {\n var ref = this;\n var options = ref.options;\n var labels = ref.labels;\n var title = ref.title;\n var vertical = options.vertical;\n var count = labels.length;\n var sizeFn = vertical ? WIDTH : HEIGHT;\n var titleSize = title ? title.box[sizeFn]() : 0;\n var space = this.getActualTickSize() + options.margin + titleSize;\n var rootBox = (this.getRoot() || {}).box || box;\n var boxSize = rootBox[sizeFn]();\n var maxLabelSize = 0;\n\n for (var i = 0; i < count; i++) {\n var labelSize = labels[i].box[sizeFn]();\n if (labelSize + space <= boxSize) {\n maxLabelSize = Math.max(maxLabelSize, labelSize);\n }\n }\n\n if (vertical) {\n this.box = new Box(\n box.x1, box.y1,\n box.x1 + maxLabelSize + space, box.y2\n );\n } else {\n this.box = new Box(\n box.x1, box.y1,\n box.x2, box.y1 + maxLabelSize + space\n );\n }\n\n this.arrangeTitle();\n this.arrangeLabels();\n this.arrangeNotes();\n };\n\n Axis.prototype.getLabelsTickPositions = function getLabelsTickPositions () {\n return this.getMajorTickPositions();\n };\n\n Axis.prototype.labelTickIndex = function labelTickIndex (label) {\n return label.index;\n };\n\n Axis.prototype.arrangeLabels = function arrangeLabels () {\n var this$1 = this;\n\n var ref = this;\n var options = ref.options;\n var labels = ref.labels;\n var labelsBetweenTicks = this.labelsBetweenTicks();\n var vertical = options.vertical;\n var mirror = options.labels.mirror;\n var tickPositions = this.getLabelsTickPositions();\n\n for (var idx = 0; idx < labels.length; idx++) {\n var label = labels[idx];\n var tickIx = this$1.labelTickIndex(label);\n var labelSize = vertical ? label.box.height() : label.box.width();\n var firstTickPosition = tickPositions[tickIx];\n var nextTickPosition = tickPositions[tickIx + 1];\n var positionStart = (void 0), positionEnd = (void 0);\n\n if (vertical) {\n if (labelsBetweenTicks) {\n var middle = firstTickPosition + (nextTickPosition - firstTickPosition) / 2;\n positionStart = middle - (labelSize / 2);\n } else {\n positionStart = firstTickPosition - (labelSize / 2);\n }\n\n positionEnd = positionStart;\n } else {\n if (labelsBetweenTicks) {\n positionStart = firstTickPosition;\n positionEnd = nextTickPosition;\n } else {\n positionStart = firstTickPosition - (labelSize / 2);\n positionEnd = positionStart + labelSize;\n }\n }\n\n this$1.positionLabel(label, mirror, positionStart, positionEnd);\n }\n };\n\n Axis.prototype.positionLabel = function positionLabel (label, mirror, positionStart, positionEnd) {\n if ( positionEnd === void 0 ) positionEnd = positionStart;\n\n var options = this.options;\n var vertical = options.vertical;\n var lineBox = this.lineBox();\n var labelOffset = this.getActualTickSize() + options.margin;\n var labelBox;\n\n if (vertical) {\n var labelX = lineBox.x2;\n\n if (mirror) {\n labelX += labelOffset;\n label.options.rotationOrigin = LEFT;\n } else {\n labelX -= labelOffset + label.box.width();\n label.options.rotationOrigin = RIGHT;\n }\n\n labelBox = label.box.move(labelX, positionStart);\n } else {\n var labelY = lineBox.y1;\n\n if (mirror) {\n labelY -= labelOffset + label.box.height();\n label.options.rotationOrigin = BOTTOM;\n } else {\n labelY += labelOffset;\n label.options.rotationOrigin = TOP;\n }\n\n labelBox = new Box(\n positionStart, labelY,\n positionEnd, labelY + label.box.height()\n );\n }\n\n label.reflow(labelBox);\n };\n\n Axis.prototype.autoRotateLabelAngle = function autoRotateLabelAngle (labelBox, slotWidth) {\n if (labelBox.width() < slotWidth) {\n return 0;\n }\n\n if (labelBox.height() > slotWidth) {\n return -90;\n }\n\n return -45;\n };\n\n Axis.prototype.autoRotateLabels = function autoRotateLabels () {\n var this$1 = this;\n\n if (!this.options.autoRotateLabels || this.options.vertical) {\n return false;\n }\n\n var tickPositions = this.getMajorTickPositions();\n var labels = this.labels;\n var limit = Math.min(labels.length, tickPositions.length - 1);\n var angle = 0;\n\n for (var idx = 0; idx < limit; idx++) {\n var width = Math.abs(tickPositions[idx + 1] - tickPositions[idx]);\n var labelBox = labels[idx].box;\n var labelAngle = this$1.autoRotateLabelAngle(labelBox, width);\n\n if (labelAngle !== 0) {\n angle = labelAngle;\n }\n\n if (angle === -90) {\n break;\n }\n }\n\n if (angle !== 0) {\n for (var idx$1 = 0; idx$1 < labels.length; idx$1++) {\n labels[idx$1].options.rotation = angle;\n labels[idx$1].reflow(new Box());\n }\n\n return true;\n }\n };\n\n Axis.prototype.arrangeTitle = function arrangeTitle () {\n var ref = this;\n var options = ref.options;\n var title = ref.title;\n var mirror = options.labels.mirror;\n var vertical = options.vertical;\n\n if (title) {\n if (vertical) {\n title.options.align = mirror ? RIGHT : LEFT;\n title.options.vAlign = title.options.position;\n } else {\n title.options.align = title.options.position;\n title.options.vAlign = mirror ? TOP : BOTTOM;\n }\n\n title.reflow(this.box);\n }\n };\n\n Axis.prototype.arrangeNotes = function arrangeNotes () {\n var this$1 = this;\n\n for (var idx = 0; idx < this.notes.length; idx++) {\n var item = this$1.notes[idx];\n var value = item.options.value;\n var slot = (void 0);\n\n if (defined(value)) {\n if (this$1.shouldRenderNote(value)) {\n item.show();\n } else {\n item.hide();\n }\n\n slot = this$1.noteSlot(value);\n } else {\n item.hide();\n }\n\n item.reflow(slot || this$1.lineBox());\n }\n };\n\n Axis.prototype.noteSlot = function noteSlot (value) {\n return this.getSlot(value);\n };\n\n Axis.prototype.alignTo = function alignTo (secondAxis) {\n var lineBox = secondAxis.lineBox();\n var vertical = this.options.vertical;\n var pos = vertical ? Y : X;\n\n this.box.snapTo(lineBox, pos);\n if (vertical) {\n this.box.shrink(0, this.lineBox().height() - lineBox.height());\n } else {\n this.box.shrink(this.lineBox().width() - lineBox.width(), 0);\n }\n this.box[pos + 1] -= this.lineBox()[pos + 1] - lineBox[pos + 1];\n this.box[pos + 2] -= this.lineBox()[pos + 2] - lineBox[pos + 2];\n };\n\n Axis.prototype.axisLabelText = function axisLabelText (value, options, context) {\n var this$1 = this;\n\n var text;\n var tmpl = getTemplate(options);\n var defaultText = function () {\n if (!options.format) {\n return value;\n }\n\n return this$1.chartService.format.localeAuto(\n options.format, [ value ], options.culture\n );\n };\n\n if (tmpl) {\n var templateContext = Object.assign({}, context, {\n get text() { return defaultText(); },\n value: value,\n format: options.format,\n culture: options.culture\n });\n\n text = tmpl(templateContext);\n } else {\n text = defaultText();\n }\n\n return text;\n };\n\n Axis.prototype.slot = function slot (from , to, limit) {\n var slot = this.getSlot(from, to, limit);\n if (slot) {\n return slot.toRect();\n }\n };\n\n Axis.prototype.contentBox = function contentBox () {\n var box = this.box.clone();\n var labels = this.labels;\n if (labels.length) {\n var axis = this.options.vertical ? Y : X;\n if (this.chartService.isPannable(axis)) {\n var offset = this.maxLabelOffset();\n box[axis + 1] -= offset.start;\n box[axis + 2] += offset.end;\n } else {\n if (labels[0].options.visible) {\n box.wrap(labels[0].box);\n }\n var lastLabel = labels[labels.length - 1];\n if (lastLabel.options.visible) {\n box.wrap(lastLabel.box);\n }\n }\n }\n\n return box;\n };\n\n Axis.prototype.maxLabelOffset = function maxLabelOffset () {\n var this$1 = this;\n\n var ref = this.options;\n var vertical = ref.vertical;\n var reverse = ref.reverse;\n var labelsBetweenTicks = this.labelsBetweenTicks();\n var tickPositions = this.getLabelsTickPositions();\n var offsetField = vertical ? Y : X;\n var labels = this.labels;\n var startPosition = reverse ? 1 : 0;\n var endPosition = reverse ? 0 : 1;\n var maxStartOffset = 0;\n var maxEndOffset = 0;\n\n for (var idx = 0; idx < labels.length; idx++) {\n var label = labels[idx];\n var tickIx = this$1.labelTickIndex(label);\n var startTick = (void 0), endTick = (void 0);\n\n if (labelsBetweenTicks) {\n startTick = tickPositions[tickIx + startPosition];\n endTick = tickPositions[tickIx + endPosition];\n } else {\n startTick = endTick = tickPositions[tickIx];\n }\n\n maxStartOffset = Math.max(maxStartOffset, startTick - label.box[offsetField + 1]);\n maxEndOffset = Math.max(maxEndOffset, label.box[offsetField + 2] - endTick);\n }\n\n return {\n start: maxStartOffset,\n end: maxEndOffset\n };\n };\n\n Axis.prototype.limitRange = function limitRange (from, to, min, max, offset) {\n var options = this.options;\n\n if ((from < min && offset < 0 && (!defined(options.min) || options.min <= min)) || (max < to && offset > 0 && (!defined(options.max) || max <= options.max))) {\n return null;\n }\n\n if ((to < min && offset > 0) || (max < from && offset < 0)) {\n return {\n min: from,\n max: to\n };\n }\n\n var rangeSize = to - from;\n var minValue = from;\n var maxValue = to;\n\n if (from < min && offset < 0) {\n minValue = limitValue(from, min, max);\n maxValue = limitValue(from + rangeSize, min + rangeSize, max);\n } else if (to > max && offset > 0) {\n maxValue = limitValue(to, min, max);\n minValue = limitValue(to - rangeSize, min, max - rangeSize);\n }\n\n return {\n min: minValue,\n max: maxValue\n };\n };\n\n Axis.prototype.valueRange = function valueRange () {\n return {\n min: this.seriesMin,\n max: this.seriesMax\n };\n };\n\n Axis.prototype.lineDir = function lineDir () {\n /*\n * Axis line direction:\n * * Vertical: up.\n * * Horizontal: right.\n */\n\n var ref = this.options;\n var vertical = ref.vertical;\n var reverse = ref.reverse;\n return (vertical ? -1 : 1) * (reverse ? -1 : 1);\n };\n\n Axis.prototype.lineInfo = function lineInfo () {\n var ref = this.options;\n var vertical = ref.vertical;\n var lineBox = this.lineBox();\n var lineSize = vertical ? lineBox.height() : lineBox.width();\n var axis = vertical ? Y : X;\n var axisDir = this.lineDir();\n var startEdge = axisDir === 1 ? 1 : 2;\n var axisOrigin = axis + startEdge.toString();\n var lineStart = lineBox[axisOrigin];\n\n return {\n axis: axis,\n axisOrigin: axisOrigin,\n axisDir: axisDir,\n lineBox: lineBox,\n lineSize: lineSize,\n lineStart: lineStart\n };\n };\n\n Axis.prototype.pointOffset = function pointOffset (point) {\n var ref = this.lineInfo();\n var axis = ref.axis;\n var axisDir = ref.axisDir;\n var axisOrigin = ref.axisOrigin;\n var lineBox = ref.lineBox;\n var lineSize = ref.lineSize;\n var relative = axisDir > 0 ? point[axis] - lineBox[axisOrigin] : lineBox[axisOrigin] - point[axis];\n var offset = relative / lineSize;\n\n return offset;\n };\n\n // Computes the axis range change (delta) for a given scale factor.\n // The delta is subtracted from the axis range:\n // * delta > 0 reduces the axis range (zoom-in)\n // * delta < 0 expands the axis range (zoom-out)\n Axis.prototype.scaleToDelta = function scaleToDelta (rawScale, range) {\n // Scale >= 1 would result in axis range of 0.\n // Scale <= -1 would reverse the scale direction.\n var MAX_SCALE = 0.999;\n var scale = limitValue(rawScale, -MAX_SCALE, MAX_SCALE);\n\n var delta;\n if (scale > 0) {\n delta = range * Math.min(1, scale);\n } else {\n delta = range - (range / (1 + scale));\n }\n\n return delta;\n };\n\n Axis.prototype.labelsBetweenTicks = function labelsBetweenTicks () {\n return !this.options.justified;\n };\n\n //add legacy fields to the options that are no longer generated by default\n Axis.prototype.prepareUserOptions = function prepareUserOptions () {\n };\n\n return Axis;\n}(ChartElement));\n\nsetDefaultOptions(Axis, {\n labels: {\n visible: true,\n rotation: 0,\n mirror: false,\n step: 1,\n skip: 0\n },\n line: {\n width: 1,\n color: BLACK,\n visible: true\n },\n title: {\n visible: true,\n position: CENTER\n },\n majorTicks: {\n align: OUTSIDE,\n size: 4,\n skip: 0,\n step: 1\n },\n minorTicks: {\n align: OUTSIDE,\n size: 3,\n skip: 0,\n step: 1\n },\n axisCrossingValue: 0,\n majorTickType: OUTSIDE,\n minorTickType: NONE,\n majorGridLines: {\n skip: 0,\n step: 1\n },\n minorGridLines: {\n visible: false,\n width: 1,\n color: BLACK,\n skip: 0,\n step: 1\n },\n // TODO: Move to line or labels options\n margin: 5,\n visible: true,\n reverse: false,\n justified: true,\n notes: {\n label: {\n text: \"\"\n }\n },\n\n _alignLines: true,\n _deferLabels: false\n});\n\nexport default Axis;\n","export var MILLISECONDS = \"milliseconds\";\nexport var SECONDS = \"seconds\";\nexport var MINUTES = \"minutes\";\nexport var HOURS = \"hours\";\nexport var DAYS = \"days\";\nexport var WEEKS = \"weeks\";\nexport var MONTHS = \"months\";\nexport var YEARS = \"years\";\n\nexport var TIME_PER_MILLISECOND = 1;\nexport var TIME_PER_SECOND = 1000;\nexport var TIME_PER_MINUTE = 60 * TIME_PER_SECOND;\nexport var TIME_PER_HOUR = 60 * TIME_PER_MINUTE;\nexport var TIME_PER_DAY = 24 * TIME_PER_HOUR;\nexport var TIME_PER_WEEK = 7 * TIME_PER_DAY;\nexport var TIME_PER_MONTH = 31 * TIME_PER_DAY;\nexport var TIME_PER_YEAR = 365 * TIME_PER_DAY;\nexport var TIME_PER_UNIT = {\n \"years\": TIME_PER_YEAR,\n \"months\": TIME_PER_MONTH,\n \"weeks\": TIME_PER_WEEK,\n \"days\": TIME_PER_DAY,\n \"hours\": TIME_PER_HOUR,\n \"minutes\": TIME_PER_MINUTE,\n \"seconds\": TIME_PER_SECOND,\n \"milliseconds\": TIME_PER_MILLISECOND\n};\n\n","import { TIME_PER_MINUTE } from './constants';\n\nexport default function absoluteDateDiff(a, b) {\n var diff = a.getTime() - b;\n var offsetDiff = a.getTimezoneOffset() - b.getTimezoneOffset();\n\n return diff - (offsetDiff * TIME_PER_MINUTE);\n}","export default function addTicks(date, ticks) {\n return new Date(date.getTime() + ticks);\n}","export default function toDate(value) {\n var result;\n\n if (value instanceof Date) {\n result = value;\n } else if (value) {\n result = new Date(value);\n }\n\n return result;\n}","import { TIME_PER_DAY } from './constants';\nimport addTicks from './add-ticks';\n\nexport default function startOfWeek(date, weekStartDay) {\n if ( weekStartDay === void 0 ) weekStartDay = 0;\n\n var daysToSubtract = 0;\n var day = date.getDay();\n\n if (!isNaN(day)) {\n while (day !== weekStartDay) {\n if (day === 0) {\n day = 6;\n } else {\n day--;\n }\n\n daysToSubtract++;\n }\n }\n\n return addTicks(date, -daysToSubtract * TIME_PER_DAY);\n}","import { MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS, WEEKS, MONTHS, YEARS,\n TIME_PER_SECOND, TIME_PER_MINUTE, TIME_PER_HOUR } from './constants';\nimport addTicks from './add-ticks';\nimport toDate from './to-date';\nimport startOfWeek from './start-of-week';\n\nfunction adjustDST(date, hours) {\n if (hours === 0 && date.getHours() === 23) {\n date.setHours(date.getHours() + 2);\n return true;\n }\n\n return false;\n}\n\nfunction addHours(date, hours) {\n var roundedDate = new Date(date);\n\n roundedDate.setMinutes(0, 0, 0);\n\n var tzDiff = (date.getTimezoneOffset() - roundedDate.getTimezoneOffset()) * TIME_PER_MINUTE;\n\n return addTicks(roundedDate, tzDiff + hours * TIME_PER_HOUR);\n}\n\nexport default function addDuration(dateValue, value, unit, weekStartDay) {\n var result = dateValue;\n\n if (dateValue) {\n var date = toDate(dateValue);\n var hours = date.getHours();\n\n if (unit === YEARS) {\n result = new Date(date.getFullYear() + value, 0, 1);\n adjustDST(result, 0);\n } else if (unit === MONTHS) {\n result = new Date(date.getFullYear(), date.getMonth() + value, 1);\n adjustDST(result, hours);\n } else if (unit === WEEKS) {\n result = addDuration(startOfWeek(date, weekStartDay), value * 7, DAYS);\n adjustDST(result, hours);\n } else if (unit === DAYS) {\n result = new Date(date.getFullYear(), date.getMonth(), date.getDate() + value);\n adjustDST(result, hours);\n } else if (unit === HOURS) {\n result = addHours(date, value);\n } else if (unit === MINUTES) {\n result = addTicks(date, value * TIME_PER_MINUTE);\n\n if (result.getSeconds() > 0) {\n result.setSeconds(0);\n }\n } else if (unit === SECONDS) {\n result = addTicks(date, value * TIME_PER_SECOND);\n } else if (unit === MILLISECONDS) {\n result = addTicks(date, value);\n }\n\n if (unit !== MILLISECONDS && result.getMilliseconds() > 0) {\n result.setMilliseconds(0);\n }\n }\n\n return result;\n}","import addDuration from './add-duration';\nimport toDate from './to-date';\n\nexport default function floorDate(date, unit, weekStartDay) {\n return addDuration(toDate(date), 0, unit, weekStartDay);\n}","import floorDate from './floor-date';\nimport addDuration from './add-duration';\nimport toDate from './to-date';\n\nexport default function ceilDate(dateValue, unit, weekStartDay) {\n var date = toDate(dateValue);\n\n if (date && floorDate(date, unit, weekStartDay).getTime() === date.getTime()) {\n return date;\n }\n\n return addDuration(date, 1, unit, weekStartDay);\n}","export default function dateComparer(a, b) {\n if (a && b) {\n return a.getTime() - b.getTime();\n }\n\n return -1;\n}","export default function dateDiff(a, b) {\n return a.getTime() - b;\n}","import { isArray } from '../common';\nimport toDate from './to-date';\n\nexport default function toTime(value) {\n if (isArray(value)) {\n var result = [];\n for (var idx = 0; idx < value.length; idx++) {\n result.push(toTime(value[idx]));\n }\n\n return result;\n } else if (value) {\n return toDate(value).getTime();\n }\n}","import toTime from './to-time';\n\nexport default function dateEquals(a, b) {\n if (a && b) {\n return toTime(a) === toTime(b);\n }\n\n return a === b;\n}","import { DAYS, WEEKS, MONTHS, YEARS, TIME_PER_UNIT } from './constants';\nimport dateDiff from './date-diff';\nimport absoluteDateDiff from './absolute-date-diff';\nimport toDate from './to-date';\n\nfunction timeIndex(date, start, baseUnit) {\n return absoluteDateDiff(date, start) / TIME_PER_UNIT[baseUnit];\n}\n\nexport default function dateIndex(value, start, baseUnit, baseUnitStep) {\n var date = toDate(value);\n var startDate = toDate(start);\n var index;\n\n if (baseUnit === MONTHS) {\n index = (date.getMonth() - startDate.getMonth() + (date.getFullYear() - startDate.getFullYear()) * 12) +\n timeIndex(date, new Date(date.getFullYear(), date.getMonth()), DAYS) / new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();\n } else if (baseUnit === YEARS) {\n index = date.getFullYear() - startDate.getFullYear() + dateIndex(date, new Date(date.getFullYear(), 0), MONTHS, 1) / 12;\n } else if (baseUnit === DAYS || baseUnit === WEEKS) {\n index = timeIndex(date, startDate, baseUnit);\n } else {\n index = dateDiff(date, start) / TIME_PER_UNIT[baseUnit];\n }\n\n return index / baseUnitStep;\n}\n\n","import { DAYS, MONTHS, YEARS, TIME_PER_DAY, TIME_PER_UNIT } from './constants';\nimport dateDiff from './date-diff';\n\nexport default function duration(a, b, unit) {\n var diff;\n\n if (unit === YEARS) {\n diff = b.getFullYear() - a.getFullYear();\n } else if (unit === MONTHS) {\n diff = duration(a, b, YEARS) * 12 + b.getMonth() - a.getMonth();\n } else if (unit === DAYS) {\n diff = Math.floor(dateDiff(b, a) / TIME_PER_DAY);\n } else {\n diff = Math.floor(dateDiff(b, a) / TIME_PER_UNIT[unit]);\n }\n\n return diff;\n}","import { isString } from '../common';\nimport toDate from './to-date';\n\nexport default function parseDate(intlService, date) {\n var result;\n if (isString(date)) {\n result = intlService.parseDate(date) || toDate(date);\n } else {\n result = toDate(date);\n }\n return result;\n}\n","import parseDate from './parse-date';\n\nimport { isArray } from '../common';\n\nexport default function parseDates(intlService, dates) {\n if (isArray(dates)) {\n var result = [];\n for (var idx = 0; idx < dates.length; idx++) {\n result.push(parseDate(intlService, dates[idx]));\n }\n\n return result;\n }\n\n return parseDate(intlService, dates);\n}","import { isNumber } from '../common';\n\nexport default function firstDay(options, intlService) {\n if (isNumber(options.weekStartDay)) {\n return options.weekStartDay;\n }\n\n if (intlService && intlService.firstDay) {\n return intlService.firstDay();\n }\n\n return 0;\n}\n","import Axis from './axis';\nimport AxisLabel from './axis-label';\n\nimport { BLACK, COORD_PRECISION, DEFAULT_PRECISION, X, Y } from '../common/constants';\nimport { defined, isNumber, last, limitValue, round, setDefaultOptions, valueOrDefault, HashMap } from '../common';\nimport { dateEquals } from '../date-utils';\n\nvar MIN_CATEGORY_POINTS_RANGE = 0.01;\nvar MIN_CATEGORY_RANGE = 0.1;\n\nfunction indexOf(value, arr) {\n if (value instanceof Date) {\n var length = arr.length;\n for (var idx = 0; idx < length; idx++) {\n if (dateEquals(arr[idx], value)) {\n return idx;\n }\n }\n\n return -1;\n }\n\n return arr.indexOf(value);\n}\n\nvar CategoryAxis = (function (Axis) {\n function CategoryAxis () {\n Axis.apply(this, arguments);\n }\n\n if ( Axis ) CategoryAxis.__proto__ = Axis;\n CategoryAxis.prototype = Object.create( Axis && Axis.prototype );\n CategoryAxis.prototype.constructor = CategoryAxis;\n\n CategoryAxis.prototype.initFields = function initFields () {\n this._ticks = {};\n };\n\n CategoryAxis.prototype.categoriesHash = function categoriesHash () {\n return \"\";\n };\n\n CategoryAxis.prototype.clone = function clone () {\n var copy = new CategoryAxis(Object.assign({}, this.options, {\n categories: this.options.srcCategories\n }), this.chartService);\n copy.createLabels();\n\n return copy;\n };\n\n CategoryAxis.prototype.initUserOptions = function initUserOptions (options) {\n var categories = options.categories || [];\n var definedMin = defined(options.min);\n var definedMax = defined(options.max);\n options.srcCategories = options.categories = categories;\n\n if ((definedMin || definedMax) && categories.length) {\n var min = definedMin ? Math.floor(options.min) : 0;\n var max;\n\n if (definedMax) {\n max = options.justified ? Math.floor(options.max) + 1 : Math.ceil(options.max);\n } else {\n max = categories.length;\n }\n\n options.categories = options.categories.slice(min, max);\n }\n\n return options;\n };\n\n CategoryAxis.prototype.rangeIndices = function rangeIndices () {\n var options = this.options;\n var length = options.categories.length || 1;\n var min = isNumber(options.min) ? options.min % 1 : 0;\n var max;\n\n if (isNumber(options.max) && options.max % 1 !== 0 && options.max < this.totalRange().max) {\n max = length - (1 - options.max % 1);\n } else {\n max = length - (options.justified ? 1 : 0);\n }\n\n return {\n min: min,\n max: max\n };\n };\n\n CategoryAxis.prototype.totalRangeIndices = function totalRangeIndices (limit) {\n var options = this.options;\n var min = isNumber(options.min) ? options.min : 0;\n var max;\n\n if (isNumber(options.max)) {\n max = options.max;\n } else if (isNumber(options.min)) {\n max = min + options.categories.length;\n } else {\n max = this.totalRange().max || 1;\n }\n\n if (limit) {\n var totalRange = this.totalRange();\n min = limitValue(min, 0, totalRange.max);\n max = limitValue(max, 0, totalRange.max);\n }\n\n return {\n min: min,\n max: max\n };\n };\n\n CategoryAxis.prototype.range = function range () {\n var options = this.options;\n var min = isNumber(options.min) ? options.min : 0;\n var max = isNumber(options.max) ? options.max : this.totalRange().max;\n\n return {\n min: min,\n max: max\n };\n };\n\n CategoryAxis.prototype.roundedRange = function roundedRange () {\n return this.range();\n };\n\n CategoryAxis.prototype.totalRange = function totalRange () {\n var options = this.options;\n return { min: 0, max: Math.max(this._seriesMax || 0, options.srcCategories.length) - (options.justified ? 1 : 0) };\n };\n\n CategoryAxis.prototype.scaleOptions = function scaleOptions () {\n var ref = this.rangeIndices();\n var min = ref.min;\n var max = ref.max;\n var lineBox = this.lineBox();\n var size = this.options.vertical ? lineBox.height() : lineBox.width();\n var scale = size / ((max - min) || 1);\n\n return {\n scale: scale * (this.options.reverse ? -1 : 1),\n box: lineBox,\n min: min,\n max: max\n };\n };\n\n CategoryAxis.prototype.arrangeLabels = function arrangeLabels () {\n Axis.prototype.arrangeLabels.call(this);\n this.hideOutOfRangeLabels();\n };\n\n CategoryAxis.prototype.hideOutOfRangeLabels = function hideOutOfRangeLabels () {\n var ref = this;\n var box = ref.box;\n var labels = ref.labels;\n\n if (labels.length > 0) {\n var valueAxis = this.options.vertical ? Y : X;\n var start = box[valueAxis + 1];\n var end = box[valueAxis + 2];\n var firstLabel = labels[0];\n var lastLabel = last(labels);\n\n if (firstLabel.box[valueAxis + 1] > end || firstLabel.box[valueAxis + 2] < start) {\n firstLabel.options.visible = false;\n }\n if (lastLabel.box[valueAxis + 1] > end || lastLabel.box[valueAxis + 2] < start) {\n lastLabel.options.visible = false;\n }\n }\n };\n\n CategoryAxis.prototype.getMajorTickPositions = function getMajorTickPositions () {\n return this.getTicks().majorTicks;\n };\n\n CategoryAxis.prototype.getMinorTickPositions = function getMinorTickPositions () {\n return this.getTicks().minorTicks;\n };\n\n CategoryAxis.prototype.getLabelsTickPositions = function getLabelsTickPositions () {\n return this.getTicks().labelTicks;\n };\n\n CategoryAxis.prototype.tickIndices = function tickIndices (stepSize) {\n var ref = this.rangeIndices();\n var min = ref.min;\n var max = ref.max;\n var limit = Math.ceil(max);\n var current = Math.floor(min);\n var indices = [];\n\n while (current <= limit) {\n indices.push(current);\n current += stepSize;\n }\n\n return indices;\n };\n\n CategoryAxis.prototype.getTickPositions = function getTickPositions (stepSize) {\n var ref = this.options;\n var vertical = ref.vertical;\n var reverse = ref.reverse;\n var ref$1 = this.scaleOptions();\n var scale = ref$1.scale;\n var box = ref$1.box;\n var min = ref$1.min;\n var pos = box[(vertical ? Y : X) + (reverse ? 2 : 1)];\n var indices = this.tickIndices(stepSize);\n var positions = [];\n\n for (var idx = 0; idx < indices.length; idx++) {\n positions.push(pos + round(scale * (indices[idx] - min), COORD_PRECISION));\n }\n\n return positions;\n };\n\n CategoryAxis.prototype.getTicks = function getTicks () {\n var options = this.options;\n var cache = this._ticks;\n var range = this.rangeIndices();\n var lineBox = this.lineBox();\n var hash = lineBox.getHash() + range.min + \",\" + range.max + options.reverse + options.justified;\n\n if (cache._hash !== hash) {\n var hasMinor = options.minorTicks.visible || options.minorGridLines.visible;\n cache._hash = hash;\n cache.labelTicks = this.getTickPositions(1);\n cache.majorTicks = this.filterOutOfRangePositions(cache.labelTicks, lineBox);\n cache.minorTicks = hasMinor ? this.filterOutOfRangePositions(this.getTickPositions(0.5), lineBox) : [];\n }\n\n return cache;\n };\n\n CategoryAxis.prototype.filterOutOfRangePositions = function filterOutOfRangePositions (positions, lineBox) {\n if (!positions.length) {\n return positions;\n }\n\n var axis = this.options.vertical ? Y : X;\n var inRange = function (position) { return lineBox[axis + 1] <= position && position <= lineBox[axis + 2]; };\n\n var end = positions.length - 1;\n var startIndex = 0;\n while (!inRange(positions[startIndex]) && startIndex <= end) {\n startIndex++;\n }\n\n var endIndex = end;\n\n while (!inRange(positions[endIndex]) && endIndex >= 0) {\n endIndex--;\n }\n\n return positions.slice(startIndex, endIndex + 1);\n };\n\n CategoryAxis.prototype.lineInfo = function lineInfo () {\n var ref = this.options;\n var vertical = ref.vertical;\n var reverse = ref.reverse;\n var lineBox = this.lineBox();\n var lineSize = vertical ? lineBox.height() : lineBox.width();\n var axis = vertical ? Y : X;\n var axisDir = reverse ? -1 : 1;\n var startEdge = axisDir === 1 ? 1 : 2;\n var axisOrigin = axis + startEdge.toString();\n var lineStart = lineBox[axisOrigin];\n\n return {\n axis: axis,\n axisOrigin: axisOrigin,\n axisDir: axisDir,\n lineBox: lineBox,\n lineSize: lineSize,\n lineStart: lineStart\n };\n };\n\n CategoryAxis.prototype.lineDir = function lineDir () {\n /*\n * Category axis line direction:\n * * Vertical: down.\n * * Horizontal: right.\n */\n\n var ref = this.options;\n var reverse = ref.reverse;\n return reverse ? -1 : 1;\n };\n\n // TODO: Rename to slotBox, valueSlot, slotByIndex?\n CategoryAxis.prototype.getSlot = function getSlot (from, to, limit) {\n var options = this.options;\n var reverse = options.reverse;\n var justified = options.justified;\n var ref = this.scaleOptions();\n var scale = ref.scale;\n var box = ref.box;\n var min = ref.min;\n var ref$1 = this.lineInfo();\n var valueAxis = ref$1.axis;\n var lineStart = ref$1.lineStart;\n\n var slotBox = box.clone();\n var singleSlot = !defined(to);\n\n var start = valueOrDefault(from, 0);\n var end = valueOrDefault(to, start);\n end = Math.max(end - 1, start);\n\n // Fixes transient bug caused by iOS 6.0 JIT\n // (one can never be too sure)\n end = Math.max(start, end);\n\n var p1 = lineStart + (start - min) * scale;\n var p2 = lineStart + (end + 1 - min) * scale;\n\n if (singleSlot && justified) {\n p2 = p1;\n }\n\n if (limit) {\n p1 = limitValue(p1, box[valueAxis + 1], box[valueAxis + 2]);\n p2 = limitValue(p2, box[valueAxis + 1], box[valueAxis + 2]);\n }\n\n slotBox[valueAxis + 1] = reverse ? p2 : p1;\n slotBox[valueAxis + 2] = reverse ? p1 : p2;\n\n return slotBox;\n };\n\n CategoryAxis.prototype.limitSlot = function limitSlot (slot) {\n var vertical = this.options.vertical;\n var valueAxis = vertical ? Y : X;\n var lineBox = this.lineBox();\n var limittedSlot = slot.clone();\n\n limittedSlot[valueAxis + 1] = limitValue(slot[valueAxis + 1], lineBox[valueAxis + 1], lineBox[valueAxis + 2]);\n limittedSlot[valueAxis + 2] = limitValue(slot[valueAxis + 2], lineBox[valueAxis + 1], lineBox[valueAxis + 2]);\n\n return limittedSlot;\n };\n\n CategoryAxis.prototype.slot = function slot (from, to, limit) {\n var min = Math.floor(this.options.min || 0);\n var start = from;\n var end = to;\n\n if (typeof start === \"string\") {\n start = this.categoryIndex(start);\n } else if (isNumber(start)) {\n start -= min;\n }\n\n if (typeof end === \"string\") {\n end = this.categoryIndex(end);\n } else if (isNumber(end)) {\n end -= min;\n }\n\n return Axis.prototype.slot.call(this, start, end, limit);\n };\n\n CategoryAxis.prototype.pointCategoryIndex = function pointCategoryIndex (point) {\n var ref = this.options;\n var reverse = ref.reverse;\n var justified = ref.justified;\n var vertical = ref.vertical;\n var valueAxis = vertical ? Y : X;\n var ref$1 = this.scaleOptions();\n var scale = ref$1.scale;\n var box = ref$1.box;\n var min = ref$1.min;\n var max = ref$1.max;\n var startValue = reverse ? max : min;\n var lineStart = box[valueAxis + 1];\n var lineEnd = box[valueAxis + 2];\n var pos = point[valueAxis];\n\n if (pos < lineStart || pos > lineEnd) {\n return null;\n }\n\n var value = startValue + (pos - lineStart) / scale;\n var diff = value % 1;\n\n if (justified) {\n value = Math.round(value);\n } else if (diff === 0 && value > 0) {\n value--;\n }\n\n return Math.floor(value);\n };\n\n CategoryAxis.prototype.getCategory = function getCategory (point) {\n var index = this.pointCategoryIndex(point);\n\n if (index === null) {\n return null;\n }\n\n return this.options.categories[index];\n };\n\n CategoryAxis.prototype.categoryIndex = function categoryIndex (value) {\n return this.totalIndex(value) - Math.floor(this.options.min || 0);\n };\n\n CategoryAxis.prototype.categoryAt = function categoryAt (index, total) {\n var options = this.options;\n\n return (total ? options.srcCategories : options.categories)[index];\n };\n\n CategoryAxis.prototype.categoriesCount = function categoriesCount () {\n return (this.options.categories || []).length;\n };\n\n CategoryAxis.prototype.translateRange = function translateRange (delta) {\n var options = this.options;\n var lineBox = this.lineBox();\n var size = options.vertical ? lineBox.height() : lineBox.width();\n var range = options.categories.length;\n var scale = size / range;\n var offset = round(delta / scale, DEFAULT_PRECISION);\n\n return {\n min: offset,\n max: range + offset\n };\n };\n\n CategoryAxis.prototype.scaleRange = function scaleRange (scale, cursor) {\n var position = Math.abs(this.pointOffset(cursor));\n var rangeIndices = this.totalRangeIndices();\n var range = rangeIndices.max - rangeIndices.min;\n var delta = this.scaleToDelta(scale, range);\n var minDelta = position * delta;\n var maxDelta = (1 - position) * delta;\n var min = rangeIndices.min + minDelta;\n var max = rangeIndices.max - maxDelta;\n\n if (max - min < MIN_CATEGORY_RANGE) {\n max = min + MIN_CATEGORY_RANGE;\n }\n\n return {\n min: min,\n max: max\n };\n };\n\n CategoryAxis.prototype.zoomRange = function zoomRange (scale, cursor) {\n var ref = this.totalRange();\n var totalMin = ref.min;\n var totalMax = ref.max;\n var range = this.scaleRange(scale, cursor);\n\n return {\n min: limitValue(range.min, totalMin, totalMax),\n max: limitValue(range.max, totalMin, totalMax)\n };\n };\n\n CategoryAxis.prototype.labelsCount = function labelsCount () {\n var labelsRange = this.labelsRange();\n\n return labelsRange.max - labelsRange.min;\n };\n\n CategoryAxis.prototype.labelsRange = function labelsRange () {\n var options = this.options;\n var justified = options.justified;\n var labelOptions = options.labels;\n var ref = this.totalRangeIndices(true);\n var min = ref.min;\n var max = ref.max;\n var start = Math.floor(min);\n\n if (!justified) {\n min = Math.floor(min);\n max = Math.ceil(max);\n } else {\n min = Math.ceil(min);\n max = Math.floor(max);\n }\n\n var skip;\n\n if (min > labelOptions.skip) {\n skip = labelOptions.skip + labelOptions.step * Math.ceil((min - labelOptions.skip) / labelOptions.step);\n } else {\n skip = labelOptions.skip;\n }\n\n return {\n min: skip - start,\n max: (options.categories.length ? max + (justified ? 1 : 0) : 0) - start\n };\n };\n\n CategoryAxis.prototype.createAxisLabel = function createAxisLabel (index, labelOptions, labelContext) {\n var options = this.options;\n var dataItem = options.dataItems ? options.dataItems[index] : null;\n var category = valueOrDefault(options.categories[index], \"\");\n\n labelContext.dataItem = dataItem;\n var text = this.axisLabelText(category, labelOptions, labelContext);\n\n return new AxisLabel(category, text, index, dataItem, labelOptions);\n };\n\n CategoryAxis.prototype.shouldRenderNote = function shouldRenderNote (value) {\n var range = this.totalRangeIndices();\n\n return Math.floor(range.min) <= value && value <= Math.ceil(range.max);\n };\n\n CategoryAxis.prototype.noteSlot = function noteSlot (value) {\n var options = this.options;\n var index = value - Math.floor(options.min || 0);\n return this.getSlot(index);\n };\n\n CategoryAxis.prototype.arrangeNotes = function arrangeNotes () {\n Axis.prototype.arrangeNotes.call(this);\n this.hideOutOfRangeNotes();\n };\n\n CategoryAxis.prototype.hideOutOfRangeNotes = function hideOutOfRangeNotes () {\n var ref = this;\n var notes = ref.notes;\n var box = ref.box;\n if (notes && notes.length) {\n var valueAxis = this.options.vertical ? Y : X;\n var start = box[valueAxis + 1];\n var end = box[valueAxis + 2];\n\n for (var idx = 0; idx < notes.length; idx++) {\n var note = notes[idx];\n if (note.box && (end < note.box[valueAxis + 1] || note.box[valueAxis + 2] < start)) {\n note.hide();\n }\n }\n }\n };\n\n CategoryAxis.prototype.pan = function pan (delta) {\n var range = this.totalRangeIndices(true);\n var ref = this.scaleOptions();\n var scale = ref.scale;\n var offset = round(delta / scale, DEFAULT_PRECISION);\n var totalRange = this.totalRange();\n var min = range.min + offset;\n var max = range.max + offset;\n\n return this.limitRange(min, max, 0, totalRange.max, offset);\n };\n\n CategoryAxis.prototype.pointsRange = function pointsRange (start, end) {\n var ref = this.options;\n var reverse = ref.reverse;\n var vertical = ref.vertical;\n var valueAxis = vertical ? Y : X;\n var range = this.totalRangeIndices(true);\n var ref$1 = this.scaleOptions();\n var scale = ref$1.scale;\n var box = ref$1.box;\n var lineStart = box[valueAxis + (reverse ? 2 : 1)];\n\n var diffStart = start[valueAxis] - lineStart;\n var diffEnd = end[valueAxis] - lineStart;\n\n var min = range.min + diffStart / scale;\n var max = range.min + diffEnd / scale;\n var rangeMin = Math.min(min, max);\n var rangeMax = Math.max(min, max);\n\n if (rangeMax - rangeMin >= MIN_CATEGORY_POINTS_RANGE) {\n return {\n min: rangeMin,\n max: rangeMax\n };\n }\n };\n\n CategoryAxis.prototype.valueRange = function valueRange () {\n return this.range();\n };\n\n CategoryAxis.prototype.totalIndex = function totalIndex (value) {\n var options = this.options;\n var index = this._categoriesMap ?\n this._categoriesMap.get(value) : indexOf(value, options.srcCategories);\n\n return index;\n };\n\n CategoryAxis.prototype.currentRangeIndices = function currentRangeIndices () {\n var options = this.options;\n var min = 0;\n\n if (isNumber(options.min)) {\n min = Math.floor(options.min);\n }\n\n var max;\n if (isNumber(options.max)) {\n max = options.justified ? Math.floor(options.max) : Math.ceil(options.max) - 1;\n } else {\n max = this.totalCount() - 1;\n }\n\n return {\n min: min,\n max: max\n };\n };\n\n CategoryAxis.prototype.mapCategories = function mapCategories () {\n if (!this._categoriesMap) {\n var map = this._categoriesMap = new HashMap();\n var srcCategories = this.options.srcCategories;\n for (var idx = 0; idx < srcCategories.length; idx++) {\n map.set(srcCategories[idx], idx);\n }\n }\n };\n\n CategoryAxis.prototype.totalCount = function totalCount () {\n return Math.max(this.options.srcCategories.length, this._seriesMax || 0);\n };\n\n return CategoryAxis;\n}(Axis));\n\nsetDefaultOptions(CategoryAxis, {\n type: \"category\",\n vertical: false,\n majorGridLines: {\n visible: false,\n width: 1,\n color: BLACK\n },\n labels: {\n zIndex: 1\n },\n justified: false,\n _deferLabels: true\n});\n\nexport default CategoryAxis;\n","var COORDINATE_LIMIT = 300000;\n\nvar DateLabelFormats = {\n milliseconds: \"HH:mm:ss.fff\",\n seconds: \"HH:mm:ss\",\n minutes: \"HH:mm\",\n hours: \"HH:mm\",\n days: \"M/d\",\n weeks: \"M/d\",\n months: \"MMM 'yy\",\n years: \"yyyy\"\n};\n\nvar ZERO_THRESHOLD = 0.2;\n\nexport {\n COORDINATE_LIMIT, DateLabelFormats, ZERO_THRESHOLD\n};","import CategoryAxis from './category-axis';\nimport AxisLabel from './axis-label';\nimport Box from './box';\n\nimport { CENTER, DATE, DEFAULT_PRECISION, MAX_VALUE, OBJECT, X, Y } from '../common/constants';\nimport { deepExtend, defined, inArray, last, limitValue, round, setDefaultOptions, sparseArrayLimits } from '../common';\n\nimport { MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS, WEEKS, MONTHS, YEARS,\n TIME_PER_MINUTE, TIME_PER_HOUR, TIME_PER_DAY, TIME_PER_WEEK,\n TIME_PER_MONTH, TIME_PER_YEAR, TIME_PER_UNIT } from '../date-utils/constants';\nimport { dateComparer, toDate, addTicks, addDuration, dateDiff, absoluteDateDiff,\n dateIndex, dateEquals, toTime, parseDate, parseDates, firstDay } from '../date-utils';\n\nimport { DateLabelFormats } from './constants';\n\nvar AUTO = \"auto\";\nvar BASE_UNITS = [\n MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS, WEEKS, MONTHS, YEARS\n];\nvar FIT = \"fit\";\n\n\nfunction categoryRange(categories) {\n var range = categories._range;\n if (!range) {\n range = categories._range = sparseArrayLimits(categories);\n range.min = toDate(range.min);\n range.max = toDate(range.max);\n }\n\n return range;\n}\n\nvar EmptyDateRange = function EmptyDateRange(options) {\n this.options = options;\n};\n\nEmptyDateRange.prototype.displayIndices = function displayIndices () {\n return {\n min: 0,\n max: 1\n };\n};\n\nEmptyDateRange.prototype.displayRange = function displayRange () {\n return {};\n};\n\nEmptyDateRange.prototype.total = function total () {\n return {};\n};\n\nEmptyDateRange.prototype.valueRange = function valueRange () {\n return {};\n};\n\nEmptyDateRange.prototype.valueIndex = function valueIndex () {\n return -1;\n};\n\nEmptyDateRange.prototype.values = function values () {\n return [];\n};\n\nEmptyDateRange.prototype.totalIndex = function totalIndex () {\n return -1;\n};\n\nEmptyDateRange.prototype.valuesCount = function valuesCount () {\n return 0;\n};\n\nEmptyDateRange.prototype.totalCount = function totalCount () {\n return 0;\n};\n\nEmptyDateRange.prototype.dateAt = function dateAt () {\n return null;\n};\n\nvar DateRange = function DateRange(start, end, options) {\n this.options = options;\n options.baseUnitStep = options.baseUnitStep || 1;\n\n var roundToBaseUnit = options.roundToBaseUnit;\n var justified = options.justified;\n\n this.start = addDuration(start, 0, options.baseUnit, options.weekStartDay);\n var lowerEnd = this.roundToTotalStep(end);\n var expandEnd = !justified && dateEquals(end, lowerEnd) && !options.justifyEnd;\n\n this.end = this.roundToTotalStep(end, !justified, expandEnd ? 1 : 0);\n\n var min = options.min || start;\n this.valueStart = this.roundToTotalStep(min);\n this.displayStart = roundToBaseUnit ? this.valueStart : min;\n\n var max = options.max;\n if (!max) {\n this.valueEnd = lowerEnd;\n this.displayEnd = roundToBaseUnit || expandEnd ? this.end : end;\n } else {\n var next = !justified && dateEquals(max, this.roundToTotalStep(max)) ? -1 : 0;\n this.valueEnd = this.roundToTotalStep(max, false, next);\n this.displayEnd = roundToBaseUnit ? this.roundToTotalStep(max, !justified) : options.max;\n }\n\n if (this.valueEnd < this.valueStart) {\n this.valueEnd = this.valueStart;\n }\n if (this.displayEnd <= this.displayStart) {\n this.displayEnd = this.roundToTotalStep(this.displayStart, false, 1);\n }\n};\n\nDateRange.prototype.displayRange = function displayRange () {\n return {\n min: this.displayStart,\n max: this.displayEnd\n };\n};\n\nDateRange.prototype.displayIndices = function displayIndices () {\n if (!this._indices) {\n var options = this.options;\n\n var baseUnit = options.baseUnit;\n var baseUnitStep = options.baseUnitStep;\n\n var minIdx = dateIndex(this.displayStart, this.valueStart, baseUnit, baseUnitStep);\n var maxIdx = dateIndex(this.displayEnd, this.valueStart, baseUnit, baseUnitStep);\n\n this._indices = { min: minIdx, max: maxIdx };\n }\n\n return this._indices;\n};\n\nDateRange.prototype.total = function total () {\n return {\n min: this.start,\n max: this.end\n };\n};\n\nDateRange.prototype.totalCount = function totalCount () {\n var last = this.totalIndex(this.end);\n\n return last + (this.options.justified ? 1 : 0);\n};\n\nDateRange.prototype.valueRange = function valueRange () {\n return {\n min: this.valueStart,\n max: this.valueEnd\n };\n};\n\nDateRange.prototype.valueIndex = function valueIndex (value) {\n var options = this.options;\n return Math.floor(dateIndex(value, this.valueStart, options.baseUnit, options.baseUnitStep));\n};\n\nDateRange.prototype.totalIndex = function totalIndex (value) {\n var options = this.options;\n return Math.floor(dateIndex(value, this.start, options.baseUnit, options.baseUnitStep));\n};\n\nDateRange.prototype.dateIndex = function dateIndex$1 (value) {\n var options = this.options;\n return dateIndex(value, this.valueStart, options.baseUnit, options.baseUnitStep);\n};\n\nDateRange.prototype.valuesCount = function valuesCount () {\n var maxIdx = this.valueIndex(this.valueEnd);\n\n return maxIdx + 1;\n};\n\nDateRange.prototype.values = function values () {\n var values = this._values;\n if (!values) {\n var options = this.options;\n var range = this.valueRange();\n this._values = values = [];\n\n for (var date = range.min; date <= range.max;) {\n values.push(date);\n date = addDuration(date, options.baseUnitStep, options.baseUnit, options.weekStartDay);\n }\n }\n\n return values;\n};\n\nDateRange.prototype.dateAt = function dateAt (index, total) {\n var options = this.options;\n\n return addDuration(total ? this.start : this.valueStart, options.baseUnitStep * index, options.baseUnit, options.weekStartDay);\n};\n\nDateRange.prototype.roundToTotalStep = function roundToTotalStep (value, upper, next) {\n var ref = this.options;\n var baseUnit = ref.baseUnit;\n var baseUnitStep = ref.baseUnitStep;\n var weekStartDay = ref.weekStartDay;\n var start = this.start;\n\n var step = dateIndex(value, start, baseUnit, baseUnitStep);\n var roundedStep = upper ? Math.ceil(step) : Math.floor(step);\n\n if (next) {\n roundedStep += next;\n }\n\n return addDuration(start, roundedStep * baseUnitStep, baseUnit, weekStartDay);\n};\n\nfunction autoBaseUnit(options, startUnit, startStep) {\n var categoryLimits = categoryRange(options.categories);\n var span = (options.max || categoryLimits.max) - (options.min || categoryLimits.min);\n var autoBaseUnitSteps = options.autoBaseUnitSteps;\n var maxDateGroups = options.maxDateGroups;\n var autoUnit = options.baseUnit === FIT;\n var autoUnitIx = startUnit ? BASE_UNITS.indexOf(startUnit) : 0;\n var baseUnit = autoUnit ? BASE_UNITS[autoUnitIx++] : options.baseUnit;\n var units = span / TIME_PER_UNIT[baseUnit];\n var totalUnits = units;\n var unitSteps, step, nextStep;\n\n while (!step || units >= maxDateGroups) {\n unitSteps = unitSteps || autoBaseUnitSteps[baseUnit].slice(0);\n\n do {\n nextStep = unitSteps.shift();\n } while (nextStep && startUnit === baseUnit && nextStep < startStep);\n\n if (nextStep) {\n step = nextStep;\n units = totalUnits / step;\n } else if (baseUnit === last(BASE_UNITS)) {\n step = Math.ceil(totalUnits / maxDateGroups);\n break;\n } else if (autoUnit) {\n baseUnit = BASE_UNITS[autoUnitIx++] || last(BASE_UNITS);\n totalUnits = span / TIME_PER_UNIT[baseUnit];\n unitSteps = null;\n } else {\n if (units > maxDateGroups) {\n step = Math.ceil(totalUnits / maxDateGroups);\n }\n break;\n }\n }\n\n options.baseUnitStep = step;\n options.baseUnit = baseUnit;\n}\n\nfunction defaultBaseUnit(options) {\n var categories = options.categories;\n var count = defined(categories) ? categories.length : 0;\n var minDiff = MAX_VALUE;\n var lastCategory, unit;\n\n for (var categoryIx = 0; categoryIx < count; categoryIx++) {\n var category = categories[categoryIx];\n\n if (category && lastCategory) {\n var diff = absoluteDateDiff(category, lastCategory);\n if (diff > 0) {\n minDiff = Math.min(minDiff, diff);\n\n if (minDiff >= TIME_PER_YEAR) {\n unit = YEARS;\n } else if (minDiff >= TIME_PER_MONTH - TIME_PER_DAY * 3) {\n unit = MONTHS;\n } else if (minDiff >= TIME_PER_WEEK) {\n unit = WEEKS;\n } else if (minDiff >= TIME_PER_DAY) {\n unit = DAYS;\n } else if (minDiff >= TIME_PER_HOUR) {\n unit = HOURS;\n } else if (minDiff >= TIME_PER_MINUTE) {\n unit = MINUTES;\n } else {\n unit = SECONDS;\n }\n }\n }\n\n lastCategory = category;\n }\n\n options.baseUnit = unit || DAYS;\n}\n\nfunction initUnit(options) {\n var baseUnit = (options.baseUnit || \"\").toLowerCase();\n var useDefault = baseUnit !== FIT && !inArray(baseUnit, BASE_UNITS);\n\n if (useDefault) {\n defaultBaseUnit(options);\n }\n\n if (baseUnit === FIT || options.baseUnitStep === AUTO) {\n autoBaseUnit(options);\n }\n\n return options;\n}\n\nvar DateCategoryAxis = (function (CategoryAxis) {\n function DateCategoryAxis () {\n CategoryAxis.apply(this, arguments);\n }\n\n if ( CategoryAxis ) DateCategoryAxis.__proto__ = CategoryAxis;\n DateCategoryAxis.prototype = Object.create( CategoryAxis && CategoryAxis.prototype );\n DateCategoryAxis.prototype.constructor = DateCategoryAxis;\n\n DateCategoryAxis.prototype.clone = function clone () {\n var copy = new DateCategoryAxis(Object.assign({}, this.options), this.chartService);\n copy.createLabels();\n\n return copy;\n };\n\n DateCategoryAxis.prototype.categoriesHash = function categoriesHash () {\n var start = this.dataRange.total().min;\n return this.options.baseUnit + this.options.baseUnitStep + start;\n };\n\n DateCategoryAxis.prototype.initUserOptions = function initUserOptions (options) {\n return options;\n };\n\n DateCategoryAxis.prototype.initFields = function initFields () {\n CategoryAxis.prototype.initFields.call(this);\n\n var chartService = this.chartService;\n var intlService = chartService.intl;\n var options = this.options;\n\n var categories = options.categories || [];\n if (!categories._parsed) {\n categories = parseDates(intlService, categories);\n categories._parsed = true;\n }\n\n options = deepExtend({\n roundToBaseUnit: true\n }, options, {\n categories: categories,\n min: parseDate(intlService, options.min),\n max: parseDate(intlService, options.max),\n weekStartDay: firstDay(options, intlService)\n });\n\n if (chartService.panning && chartService.isPannable(options.vertical ? Y : X)) {\n options.roundToBaseUnit = false;\n }\n\n options.userSetBaseUnit = options.userSetBaseUnit || options.baseUnit;\n options.userSetBaseUnitStep = options.userSetBaseUnitStep || options.baseUnitStep;\n\n this.options = options;\n options.srcCategories = categories;\n\n if (categories.length > 0) {\n var range = categoryRange(categories);\n var maxDivisions = options.maxDivisions;\n\n this.dataRange = new DateRange(range.min, range.max, initUnit(options));\n\n if (maxDivisions) {\n var dataRange = this.dataRange.displayRange();\n\n var divisionOptions = Object.assign({}, options, {\n justified: true,\n roundToBaseUnit: false,\n baseUnit: 'fit',\n min: dataRange.min,\n max: dataRange.max,\n maxDateGroups: maxDivisions\n });\n\n var dataRangeOptions = this.dataRange.options;\n\n autoBaseUnit(divisionOptions, dataRangeOptions.baseUnit, dataRangeOptions.baseUnitStep);\n\n this.divisionRange = new DateRange(range.min, range.max, divisionOptions);\n } else {\n this.divisionRange = this.dataRange;\n }\n\n } else {\n options.baseUnit = options.baseUnit || DAYS;\n this.dataRange = this.divisionRange = new EmptyDateRange(options);\n }\n\n this.rangeLabels = [];\n };\n\n DateCategoryAxis.prototype.tickIndices = function tickIndices (stepSize) {\n var ref = this;\n var dataRange = ref.dataRange;\n var divisionRange = ref.divisionRange;\n var valuesCount = divisionRange.valuesCount();\n\n if (!this.options.maxDivisions || !valuesCount) {\n return CategoryAxis.prototype.tickIndices.call(this, stepSize);\n }\n\n var indices = [];\n var values = divisionRange.values();\n var offset = 0;\n\n if (!this.options.justified) {\n values = values.concat(divisionRange.dateAt(valuesCount));\n offset = 0.5;//align ticks to the center of not justified categories\n }\n\n for (var idx = 0; idx < values.length; idx++) {\n indices.push(dataRange.dateIndex(values[idx]) + offset);\n if (stepSize !== 1 && idx >= 1) {\n var last = indices.length - 1;\n indices.splice(idx, 0, indices[last - 1] + (indices[last] - indices[last - 1]) * stepSize);\n }\n }\n\n return indices;\n };\n\n DateCategoryAxis.prototype.shouldRenderNote = function shouldRenderNote (value) {\n var range = this.range();\n var categories = this.options.categories || [];\n\n return dateComparer(value, range.min) >= 0 && dateComparer(value, range.max) <= 0 && categories.length;\n };\n\n DateCategoryAxis.prototype.parseNoteValue = function parseNoteValue (value) {\n return parseDate(this.chartService.intl, value);\n };\n\n DateCategoryAxis.prototype.noteSlot = function noteSlot (value) {\n return this.getSlot(value);\n };\n\n DateCategoryAxis.prototype.translateRange = function translateRange (delta) {\n var options = this.options;\n var baseUnit = options.baseUnit;\n var weekStartDay = options.weekStartDay;\n var vertical = options.vertical;\n var lineBox = this.lineBox();\n var size = vertical ? lineBox.height() : lineBox.width();\n var range = this.range();\n var scale = size / (range.max - range.min);\n var offset = round(delta / scale, DEFAULT_PRECISION);\n\n if (range.min && range.max) {\n var from = addTicks(options.min || range.min, offset);\n var to = addTicks(options.max || range.max, offset);\n\n range = {\n min: addDuration(from, 0, baseUnit, weekStartDay),\n max: addDuration(to, 0, baseUnit, weekStartDay)\n };\n }\n\n return range;\n };\n\n DateCategoryAxis.prototype.labelsRange = function labelsRange () {\n return {\n min: this.options.labels.skip,\n max: this.divisionRange.valuesCount()\n };\n };\n\n DateCategoryAxis.prototype.pan = function pan (delta) {\n if (this.isEmpty()) {\n return null;\n }\n\n var options = this.options;\n var lineBox = this.lineBox();\n var size = options.vertical ? lineBox.height() : lineBox.width();\n var ref = this.dataRange.displayRange();\n var min = ref.min;\n var max = ref.max;\n var totalLimits = this.dataRange.total();\n var scale = size / (max - min);\n var offset = round(delta / scale, DEFAULT_PRECISION) * (options.reverse ? -1 : 1);\n var from = addTicks(min, offset);\n var to = addTicks(max, offset);\n\n var panRange = this.limitRange(toTime(from), toTime(to), toTime(totalLimits.min), toTime(totalLimits.max), offset);\n\n if (panRange) {\n panRange.min = toDate(panRange.min);\n panRange.max = toDate(panRange.max);\n panRange.baseUnit = options.baseUnit;\n panRange.baseUnitStep = options.baseUnitStep || 1;\n panRange.userSetBaseUnit = options.userSetBaseUnit;\n panRange.userSetBaseUnitStep = options.userSetBaseUnitStep;\n\n return panRange;\n }\n };\n\n DateCategoryAxis.prototype.pointsRange = function pointsRange (start, end) {\n if (this.isEmpty()) {\n return null;\n }\n\n var pointsRange = CategoryAxis.prototype.pointsRange.call(this, start, end);\n var datesRange = this.dataRange.displayRange();\n var indicesRange = this.dataRange.displayIndices();\n var scale = dateDiff(datesRange.max, datesRange.min) / (indicesRange.max - indicesRange.min);\n var options = this.options;\n\n var min = addTicks(datesRange.min, pointsRange.min * scale);\n var max = addTicks(datesRange.min, pointsRange.max * scale);\n\n return {\n min: min,\n max: max,\n baseUnit: options.userSetBaseUnit || options.baseUnit,\n baseUnitStep: options.userSetBaseUnitStep || options.baseUnitStep\n };\n };\n\n DateCategoryAxis.prototype.scaleRange = function scaleRange (scale, cursor) {\n if (this.isEmpty()) {\n return {};\n }\n\n var options = this.options;\n var fit = options.userSetBaseUnit === FIT;\n var totalLimits = this.dataRange.total();\n var ref = this.dataRange.displayRange();\n var rangeMin = ref.min;\n var rangeMax = ref.max;\n\n var position = Math.abs(this.pointOffset(cursor));\n var range = rangeMax - rangeMin;\n var delta = this.scaleToDelta(scale, range);\n var minDelta = Math.round(position * delta);\n var maxDelta = Math.round((1 - position) * delta);\n\n var ref$1 = this.dataRange.options;\n var baseUnit = ref$1.baseUnit;\n var min = new Date(rangeMin.getTime() + minDelta);\n var max = new Date(rangeMax.getTime() - maxDelta);\n\n if (fit) {\n var autoBaseUnitSteps = options.autoBaseUnitSteps;\n var maxDateGroups = options.maxDateGroups;\n\n var maxDiff = last(autoBaseUnitSteps[baseUnit]) * maxDateGroups * TIME_PER_UNIT[baseUnit];\n var rangeDiff = dateDiff(rangeMax, rangeMin);\n var diff = dateDiff(max, min);\n var baseUnitIndex = BASE_UNITS.indexOf(baseUnit);\n var autoBaseUnitStep, ticks;\n\n if (diff < TIME_PER_UNIT[baseUnit] && baseUnit !== MILLISECONDS) {\n baseUnit = BASE_UNITS[baseUnitIndex - 1];\n autoBaseUnitStep = last(autoBaseUnitSteps[baseUnit]);\n ticks = (rangeDiff - (maxDateGroups - 1) * autoBaseUnitStep * TIME_PER_UNIT[baseUnit]) / 2;\n min = addTicks(rangeMin, ticks);\n max = addTicks(rangeMax, -ticks);\n\n } else if (diff > maxDiff && baseUnit !== YEARS) {\n var stepIndex = 0;\n\n do {\n baseUnitIndex++;\n baseUnit = BASE_UNITS[baseUnitIndex];\n stepIndex = 0;\n ticks = 2 * TIME_PER_UNIT[baseUnit];\n do {\n autoBaseUnitStep = autoBaseUnitSteps[baseUnit][stepIndex];\n stepIndex++;\n } while (stepIndex < autoBaseUnitSteps[baseUnit].length && ticks * autoBaseUnitStep < rangeDiff);\n } while (baseUnit !== YEARS && ticks * autoBaseUnitStep < rangeDiff);\n\n ticks = (ticks * autoBaseUnitStep - rangeDiff) / 2;\n if (ticks > 0) {\n min = addTicks(rangeMin, -ticks);\n max = addTicks(rangeMax, ticks);\n min = addTicks(min, limitValue(max, totalLimits.min, totalLimits.max) - max);\n max = addTicks(max, limitValue(min, totalLimits.min, totalLimits.max) - min);\n }\n }\n }\n\n if (min && max && dateDiff(max, min) > 0) {\n return {\n min: min,\n max: max,\n baseUnit: options.userSetBaseUnit || options.baseUnit,\n baseUnitStep: options.userSetBaseUnitStep || options.baseUnitStep\n };\n }\n };\n\n DateCategoryAxis.prototype.zoomRange = function zoomRange (scale, cursor) {\n var totalLimits = this.dataRange.total();\n var range = this.scaleRange(scale, cursor);\n\n if (range) {\n if (range.min < totalLimits.min) {\n range.min = totalLimits.min;\n }\n if (range.max > totalLimits.max) {\n range.max = totalLimits.max;\n }\n }\n\n return range;\n };\n\n DateCategoryAxis.prototype.range = function range () {\n return this.dataRange.displayRange();\n };\n\n DateCategoryAxis.prototype.createLabels = function createLabels () {\n CategoryAxis.prototype.createLabels.call(this);\n this.createRangeLabels();\n };\n\n DateCategoryAxis.prototype.clearLabels = function clearLabels () {\n CategoryAxis.prototype.clearLabels.call(this);\n this.rangeLabels = [];\n };\n\n DateCategoryAxis.prototype.arrangeLabels = function arrangeLabels () {\n this.arrangeRangeLabels();\n CategoryAxis.prototype.arrangeLabels.call(this);\n };\n\n DateCategoryAxis.prototype.arrangeRangeLabels = function arrangeRangeLabels () {\n var ref = this;\n var options = ref.options;\n var rangeLabels = ref.rangeLabels;\n if (rangeLabels.length === 0) {\n return;\n }\n\n var lineBox = this.lineBox();\n var vertical = options.vertical;\n var mirror = options.rangeLabels.mirror || options.labels.mirror;\n\n var firstLabel = rangeLabels[0];\n if (firstLabel) {\n var position = vertical ? lineBox.y1 - (firstLabel.box.height() / 2) : lineBox.x1;\n this.positionLabel(firstLabel, mirror, position);\n }\n\n var lastLabel = rangeLabels[1];\n if (lastLabel) {\n var position$1 = vertical ? lineBox.y2 - (lastLabel.box.height() / 2) : lineBox.x2;\n this.positionLabel(lastLabel, mirror, position$1);\n }\n };\n\n DateCategoryAxis.prototype.autoRotateLabels = function autoRotateLabels () {\n CategoryAxis.prototype.autoRotateLabels.call(this);\n this.autoRotateRangeLabels();\n };\n\n DateCategoryAxis.prototype.hideOutOfRangeLabels = function hideOutOfRangeLabels () {\n CategoryAxis.prototype.hideOutOfRangeLabels.call(this);\n this.hideOverlappingLabels();\n };\n\n DateCategoryAxis.prototype.hideOverlappingLabels = function hideOverlappingLabels () {\n var ref = this;\n var rangeLabels = ref.rangeLabels;\n var labels = ref.labels;\n if (rangeLabels.length === 0) {\n return;\n }\n\n function clip(rangeLabel, label) {\n if (!label.options.visible || label.box.overlaps(rangeLabel.box)) {\n label.options.visible = false;\n return true;\n }\n\n return false;\n }\n\n var firstRangeLabel = rangeLabels[0];\n if (firstRangeLabel && firstRangeLabel.options.visible) {\n for (var i = 0; i < labels.length; i++) {\n var overlaps = clip(firstRangeLabel, labels[i]);\n if (!overlaps) {\n break;\n }\n }\n }\n\n var lastRangeLabel = rangeLabels[1];\n if (lastRangeLabel && lastRangeLabel.options.visible) {\n for (var i$1 = labels.length - 1; i$1 > 0; --i$1) {\n var overlaps$1 = clip(lastRangeLabel, labels[i$1]);\n if (!overlaps$1) {\n break;\n }\n }\n }\n };\n\n DateCategoryAxis.prototype.contentBox = function contentBox () {\n var box = CategoryAxis.prototype.contentBox.call(this);\n var rangeLabels = this.rangeLabels;\n\n for (var i = 0; i < rangeLabels.length; i++) {\n var label = rangeLabels[i];\n if (label.options.visible) {\n box.wrap(label.box);\n }\n }\n\n return box;\n };\n\n DateCategoryAxis.prototype.createAxisLabel = function createAxisLabel (index, labelOptions, labelContext) {\n if ( labelContext === void 0 ) labelContext = {};\n\n var options = this.options;\n var dataItem = options.dataItems && !options.maxDivisions ? options.dataItems[index] : null;\n var date = this.divisionRange.dateAt(index);\n var unitFormat = labelOptions.dateFormats[this.divisionRange.options.baseUnit];\n\n labelOptions.format = labelOptions.format || unitFormat;\n labelContext.dataItem = dataItem;\n\n var text = this.axisLabelText(date, labelOptions, labelContext);\n if (text) {\n return new AxisLabel(date, text, index, dataItem, labelOptions);\n }\n };\n\n DateCategoryAxis.prototype.createRangeLabels = function createRangeLabels () {\n var this$1 = this;\n\n var ref = this.divisionRange;\n var displayStart = ref.displayStart;\n var displayEnd = ref.displayEnd;\n var options = this.options;\n var labelOptions = Object.assign({}, options.labels, options.rangeLabels, {\n align: CENTER,\n zIndex: options.zIndex\n });\n\n if (labelOptions.visible !== true) {\n return;\n }\n\n this.normalizeLabelRotation(labelOptions);\n labelOptions.alignRotation = CENTER;\n\n if (labelOptions.rotation === \"auto\") {\n labelOptions.rotation = 0;\n options.autoRotateRangeLabels = true;\n }\n\n var unitFormat = labelOptions.dateFormats[this.divisionRange.options.baseUnit];\n labelOptions.format = labelOptions.format || unitFormat;\n\n var createLabel = function (index, date, text) {\n if (text) {\n var label = new AxisLabel(date, text, index, null, labelOptions);\n this$1.append(label);\n this$1.rangeLabels.push(label);\n }\n };\n\n var startText = this.axisLabelText(displayStart, labelOptions, { index: 0, count: 2 });\n createLabel(0, displayStart, startText);\n\n var endText = this.axisLabelText(displayEnd, labelOptions, { index: 1, count: 2 });\n createLabel(1, displayEnd, endText);\n };\n\n DateCategoryAxis.prototype.autoRotateRangeLabels = function autoRotateRangeLabels () {\n var this$1 = this;\n\n var labels = this.rangeLabels;\n if (!this.options.autoRotateRangeLabels || this.options.vertical || labels.length !== 2) {\n return;\n }\n\n var rotateLabel = function (label, tickPositions, index) {\n var width = Math.abs(tickPositions[index + 1] - tickPositions[index]) * 2;\n var angle = this$1.autoRotateLabelAngle(label.box, width);\n if (angle !== 0) {\n label.options.rotation = angle;\n label.reflow(new Box());\n }\n };\n\n var tickPositions = this.getMajorTickPositions();\n rotateLabel(labels[0], tickPositions, 0);\n rotateLabel(labels[1], tickPositions, tickPositions.length - 2);\n };\n\n DateCategoryAxis.prototype.categoryIndex = function categoryIndex (value) {\n return this.dataRange.valueIndex(value);\n };\n\n DateCategoryAxis.prototype.slot = function slot (from, to, limit) {\n var dateRange = this.dataRange;\n var start = from;\n var end = to;\n\n if (start instanceof Date) {\n start = dateRange.dateIndex(start);\n }\n\n if (end instanceof Date) {\n end = dateRange.dateIndex(end);\n }\n\n var slot = this.getSlot(start, end, limit);\n if (slot) {\n return slot.toRect();\n }\n };\n\n DateCategoryAxis.prototype.getSlot = function getSlot (a, b, limit) {\n var start = a;\n var end = b;\n\n if (typeof start === OBJECT) {\n start = this.categoryIndex(start);\n }\n\n if (typeof end === OBJECT) {\n end = this.categoryIndex(end);\n }\n\n return CategoryAxis.prototype.getSlot.call(this, start, end, limit);\n };\n\n DateCategoryAxis.prototype.valueRange = function valueRange () {\n var options = this.options;\n var range = categoryRange(options.srcCategories);\n\n return {\n min: toDate(range.min),\n max: toDate(range.max)\n };\n };\n\n DateCategoryAxis.prototype.categoryAt = function categoryAt (index, total) {\n return this.dataRange.dateAt(index, total);\n };\n\n DateCategoryAxis.prototype.categoriesCount = function categoriesCount () {\n return this.dataRange.valuesCount();\n };\n\n DateCategoryAxis.prototype.rangeIndices = function rangeIndices () {\n return this.dataRange.displayIndices();\n };\n\n DateCategoryAxis.prototype.labelsBetweenTicks = function labelsBetweenTicks () {\n return !this.divisionRange.options.justified;\n };\n\n DateCategoryAxis.prototype.prepareUserOptions = function prepareUserOptions () {\n if (this.isEmpty()) {\n return;\n }\n\n this.options.categories = this.dataRange.values();\n };\n\n DateCategoryAxis.prototype.getCategory = function getCategory (point) {\n var index = this.pointCategoryIndex(point);\n\n if (index === null) {\n return null;\n }\n\n return this.dataRange.dateAt(index);\n };\n\n DateCategoryAxis.prototype.totalIndex = function totalIndex (value) {\n return this.dataRange.totalIndex(value);\n };\n\n DateCategoryAxis.prototype.currentRangeIndices = function currentRangeIndices () {\n var range = this.dataRange.valueRange();\n return {\n min: this.dataRange.totalIndex(range.min),\n max: this.dataRange.totalIndex(range.max)\n };\n };\n\n DateCategoryAxis.prototype.totalRange = function totalRange () {\n return this.dataRange.total();\n };\n\n DateCategoryAxis.prototype.totalCount = function totalCount () {\n return this.dataRange.totalCount();\n };\n\n DateCategoryAxis.prototype.isEmpty = function isEmpty () {\n return !this.options.srcCategories.length;\n };\n\n DateCategoryAxis.prototype.roundedRange = function roundedRange () {\n if (this.options.roundToBaseUnit !== false || this.isEmpty()) {\n return this.range();\n }\n\n var options = this.options;\n var datesRange = categoryRange(options.srcCategories);\n\n var dateRange = new DateRange(datesRange.min, datesRange.max, Object.assign({}, options, {\n justified: false,\n roundToBaseUnit: true,\n justifyEnd: false\n }));\n\n return dateRange.displayRange();\n };\n\n return DateCategoryAxis;\n}(CategoryAxis));\n\nsetDefaultOptions(DateCategoryAxis, {\n type: DATE,\n labels: {\n dateFormats: DateLabelFormats\n },\n rangeLabels: {\n visible: false\n },\n autoBaseUnitSteps: {\n milliseconds: [ 1, 10, 100 ],\n seconds: [ 1, 2, 5, 15, 30 ],\n minutes: [ 1, 2, 5, 15, 30 ],\n hours: [ 1, 2, 3 ],\n days: [ 1, 2, 3 ],\n weeks: [ 1, 2 ],\n months: [ 1, 2, 3, 6 ],\n years: [ 1, 2, 3, 5, 10, 25, 50 ]\n },\n maxDateGroups: 10\n});\n\nexport default DateCategoryAxis;\n","import { ZERO_THRESHOLD } from '../constants';\n\nexport default function autoAxisMin(min, max, narrow) {\n if (!min && !max) {\n return 0;\n }\n\n var axisMin;\n\n if (min >= 0 && max >= 0) {\n var minValue = min === max ? 0 : min;\n\n var diff = (max - minValue) / max;\n if (narrow === false || (!narrow && diff > ZERO_THRESHOLD)) {\n return 0;\n }\n\n axisMin = Math.max(0, minValue - ((max - minValue) / 2));\n } else {\n axisMin = min;\n }\n\n return axisMin;\n}\n","import { ZERO_THRESHOLD } from '../constants';\n\nexport default function autoAxisMax(min, max, narrow) {\n if (!min && !max) {\n return 1;\n }\n\n var axisMax;\n\n if (min <= 0 && max <= 0) {\n var maxValue = min === max ? 0 : max;\n\n var diff = Math.abs((maxValue - min) / maxValue);\n if (narrow === false || (!narrow && diff > ZERO_THRESHOLD)) {\n return 0;\n }\n\n axisMax = Math.min(0, maxValue - ((min - maxValue) / 2));\n } else {\n axisMax = max;\n }\n\n return axisMax;\n}","import { DEFAULT_PRECISION } from '../../common/constants';\nimport { round } from '../../common';\n\nexport default function floor(value, step) {\n return round(Math.floor(value / step) * step, DEFAULT_PRECISION);\n}\n","import { DEFAULT_PRECISION } from '../../common/constants';\nimport { round } from '../../common';\n\nexport default function ceil(value, step) {\n return round(Math.ceil(value / step) * step, DEFAULT_PRECISION);\n}","import { COORDINATE_LIMIT } from '../constants';\n\nexport default function limitCoordinate(value) {\n return Math.max(Math.min(value, COORDINATE_LIMIT), -COORDINATE_LIMIT);\n}","\nimport Axis from './axis';\nimport AxisLabel from './axis-label';\nimport Box from './box';\n\nimport { BLACK, DEFAULT_PRECISION, COORD_PRECISION } from '../common/constants';\nimport { deepExtend, defined, limitValue, round, setDefaultOptions, valueOrDefault } from '../common';\n\nimport autoMajorUnit from './utils/auto-major-unit';\nimport autoAxisMin from './utils/auto-axis-min';\nimport autoAxisMax from './utils/auto-axis-max';\nimport floor from './utils/floor';\nimport ceil from './utils/ceil';\nimport limitCoordinate from './utils/limit-coordinate';\n\nvar MIN_VALUE_RANGE = Math.pow(10, -DEFAULT_PRECISION + 1);\n\nvar NumericAxis = (function (Axis) {\n function NumericAxis(seriesMin, seriesMax, options, chartService) {\n Axis.call(this, Object.assign({}, options, {\n seriesMin: seriesMin,\n seriesMax: seriesMax\n }), chartService);\n }\n\n if ( Axis ) NumericAxis.__proto__ = Axis;\n NumericAxis.prototype = Object.create( Axis && Axis.prototype );\n NumericAxis.prototype.constructor = NumericAxis;\n\n NumericAxis.prototype.initUserOptions = function initUserOptions (options) {\n var autoOptions = autoAxisOptions(options.seriesMin, options.seriesMax, options);\n this.totalOptions = totalAxisOptions(autoOptions, options);\n\n return axisOptions(autoOptions, options);\n };\n\n NumericAxis.prototype.initFields = function initFields () {\n this.totalMin = this.totalOptions.min;\n this.totalMax = this.totalOptions.max;\n this.totalMajorUnit = this.totalOptions.majorUnit;\n this.seriesMin = this.options.seriesMin;\n this.seriesMax = this.options.seriesMax;\n };\n\n NumericAxis.prototype.clone = function clone () {\n return new NumericAxis(\n this.seriesMin,\n this.seriesMax,\n Object.assign({}, this.options),\n this.chartService\n );\n };\n\n NumericAxis.prototype.startValue = function startValue () {\n return 0;\n };\n\n NumericAxis.prototype.range = function range () {\n var options = this.options;\n return { min: options.min, max: options.max };\n };\n\n NumericAxis.prototype.getDivisions = function getDivisions (stepValue) {\n if (stepValue === 0) {\n return 1;\n }\n\n var options = this.options;\n var range = options.max - options.min;\n\n return Math.floor(round(range / stepValue, COORD_PRECISION)) + 1;\n };\n\n NumericAxis.prototype.getTickPositions = function getTickPositions (unit, skipUnit) {\n var options = this.options;\n var ref = this.lineInfo();\n var axisDir = ref.axisDir;\n var axisOrigin = ref.axisOrigin;\n var lineBox = ref.lineBox;\n var lineSize = ref.lineSize;\n var range = options.max - options.min;\n var scale = lineSize / range;\n var step = unit * scale;\n var divisions = this.getDivisions(unit);\n var positions = [];\n var pos = lineBox[axisOrigin];\n var skipStep = 0;\n\n if (skipUnit) {\n skipStep = skipUnit / unit;\n }\n\n for (var idx = 0; idx < divisions; idx++) {\n if (idx % skipStep !== 0) {\n positions.push(round(pos, COORD_PRECISION));\n }\n\n pos = pos + step * axisDir;\n }\n\n return positions;\n };\n\n NumericAxis.prototype.getMajorTickPositions = function getMajorTickPositions () {\n return this.getTickPositions(this.options.majorUnit);\n };\n\n NumericAxis.prototype.getMinorTickPositions = function getMinorTickPositions () {\n return this.getTickPositions(this.options.minorUnit);\n };\n\n NumericAxis.prototype.getSlot = function getSlot (a, b, limit) {\n if ( limit === void 0 ) limit = false;\n\n var options = this.options;\n var ref = this.lineInfo();\n var axis = ref.axis;\n var axisDir = ref.axisDir;\n var lineBox = ref.lineBox;\n var lineSize = ref.lineSize;\n var lineStart = ref.lineStart;\n var step = axisDir * (lineSize / (options.max - options.min));\n\n var start = valueOrDefault(a, b || 0);\n var end = valueOrDefault(b, a || 0);\n\n if (limit) {\n start = limitValue(start, options.min, options.max);\n end = limitValue(end, options.min, options.max);\n }\n\n var p1 = Math.min(start, end) - options.min;\n var p2 = Math.max(start, end) - options.min;\n\n var slotBox = new Box(lineBox.x1, lineBox.y1, lineBox.x1, lineBox.y1);\n slotBox[axis + 1] = limitCoordinate(lineStart + step * (axisDir > 0 ? p1 : p2));\n slotBox[axis + 2] = limitCoordinate(lineStart + step * (axisDir > 0 ? p2 : p1));\n\n return slotBox;\n };\n\n NumericAxis.prototype.getValue = function getValue (point) {\n var options = this.options;\n var max = Number(options.max);\n var min = Number(options.min);\n var offset = this.pointOffset(point);\n var valueOffset = offset * (max - min);\n\n if (offset < 0 || offset > 1) {\n return null;\n }\n\n var value = min + valueOffset;\n return round(value, DEFAULT_PRECISION);\n };\n\n NumericAxis.prototype.translateRange = function translateRange (delta) {\n var options = this.options;\n var vertical = options.vertical;\n var reverse = options.reverse;\n var max = options.max;\n var min = options.min;\n var ref = this.lineInfo();\n var lineSize = ref.lineSize;\n var range = max - min;\n var scale = lineSize / range;\n var offset = round(delta / scale, DEFAULT_PRECISION);\n\n if ((vertical || reverse) && !(vertical && reverse )) {\n offset = -offset;\n }\n\n return {\n min: min + offset,\n max: max + offset,\n offset: offset\n };\n };\n\n NumericAxis.prototype.labelsCount = function labelsCount () {\n return this.getDivisions(this.options.majorUnit);\n };\n\n NumericAxis.prototype.createAxisLabel = function createAxisLabel (index, labelOptions, labelContext) {\n var options = this.options;\n var value = round(options.min + (index * options.majorUnit), DEFAULT_PRECISION);\n var text = this.axisLabelText(value, labelOptions, labelContext);\n\n return new AxisLabel(value, text, index, null, labelOptions);\n };\n\n NumericAxis.prototype.shouldRenderNote = function shouldRenderNote (value) {\n var range = this.range();\n return range.min <= value && value <= range.max;\n };\n\n NumericAxis.prototype.pan = function pan (delta) {\n var range = this.translateRange(delta);\n return this.limitRange(range.min, range.max, this.totalMin, this.totalMax, range.offset);\n };\n\n NumericAxis.prototype.pointsRange = function pointsRange (start, end) {\n var startValue = this.getValue(start);\n var endValue = this.getValue(end);\n var min = Math.min(startValue, endValue);\n var max = Math.max(startValue, endValue);\n\n if (this.isValidRange(min, max)) {\n return {\n min: min,\n max: max\n };\n }\n };\n\n NumericAxis.prototype.scaleRange = function scaleRange (scale, cursor) {\n var position = Math.abs(this.pointOffset(cursor));\n var range = this.options.max - this.options.min;\n var delta = this.scaleToDelta(scale, range);\n var minDelta = position * delta;\n var maxDelta = (1 - position) * delta;\n var min = round(this.options.min + minDelta, DEFAULT_PRECISION);\n var max = round(this.options.max - maxDelta, DEFAULT_PRECISION);\n\n if (max - min < MIN_VALUE_RANGE) {\n max = min + MIN_VALUE_RANGE;\n }\n\n return {\n min: min,\n max: max\n };\n };\n\n NumericAxis.prototype.zoomRange = function zoomRange (scale, cursor) {\n var ref = this;\n var totalMin = ref.totalMin;\n var totalMax = ref.totalMax;\n var range = this.scaleRange(scale, cursor);\n\n return {\n min: limitValue(range.min, totalMin, totalMax),\n max: limitValue(range.max, totalMin, totalMax),\n narrowRange: false\n };\n };\n\n NumericAxis.prototype.isValidRange = function isValidRange (min, max) {\n return max - min > MIN_VALUE_RANGE;\n };\n\n return NumericAxis;\n}(Axis));\n\nfunction autoAxisOptions(seriesMin, seriesMax, options) {\n var narrowRange = options.narrowRange;\n\n var autoMin = autoAxisMin(seriesMin, seriesMax, narrowRange);\n var autoMax = autoAxisMax(seriesMin, seriesMax, narrowRange);\n\n var majorUnit = autoMajorUnit(autoMin, autoMax);\n var autoOptions = {\n majorUnit: majorUnit\n };\n\n if (options.roundToMajorUnit !== false) {\n if (autoMin < 0 && remainderClose(autoMin, majorUnit, 1 / 3)) {\n autoMin -= majorUnit;\n }\n\n if (autoMax > 0 && remainderClose(autoMax, majorUnit, 1 / 3)) {\n autoMax += majorUnit;\n }\n }\n\n autoOptions.min = floor(autoMin, majorUnit);\n autoOptions.max = ceil(autoMax, majorUnit);\n\n return autoOptions;\n}\n\nfunction totalAxisOptions(autoOptions, options) {\n return {\n min: defined(options.min) ? Math.min(autoOptions.min, options.min) : autoOptions.min,\n max: defined(options.max) ? Math.max(autoOptions.max, options.max) : autoOptions.max,\n majorUnit: autoOptions.majorUnit\n };\n}\n\nfunction clearNullValues(options, fields) {\n for (var idx = 0; idx < fields.length; idx++) {\n var field = fields[idx];\n if (options[field] === null) {\n options[field] = undefined;\n }\n }\n}\n\nfunction axisOptions(autoOptions, userOptions) {\n var options = userOptions;\n var userSetMin, userSetMax;\n\n if (userOptions) {\n clearNullValues(userOptions, [ 'min', 'max' ]);\n\n userSetMin = defined(userOptions.min);\n userSetMax = defined(userOptions.max);\n\n var userSetLimits = userSetMin || userSetMax;\n\n if (userSetLimits) {\n if (userOptions.min === userOptions.max) {\n if (userOptions.min > 0) {\n userOptions.min = 0;\n } else {\n userOptions.max = 1;\n }\n }\n }\n\n if (userOptions.majorUnit) {\n autoOptions.min = floor(autoOptions.min, userOptions.majorUnit);\n autoOptions.max = ceil(autoOptions.max, userOptions.majorUnit);\n } else if (userSetLimits) {\n options = deepExtend(autoOptions, userOptions);\n\n // Determine an auto major unit after min/max have been set\n autoOptions.majorUnit = autoMajorUnit(options.min, options.max);\n }\n }\n\n autoOptions.minorUnit = (options.majorUnit || autoOptions.majorUnit) / 5;\n\n var result = deepExtend(autoOptions, options);\n if (result.min >= result.max) {\n if (userSetMin && !userSetMax) {\n result.max = result.min + result.majorUnit;\n } else if (!userSetMin && userSetMax) {\n result.min = result.max - result.majorUnit;\n }\n }\n\n return result;\n}\n\nfunction remainderClose(value, divisor, ratio) {\n var remainder = round(Math.abs(value % divisor), DEFAULT_PRECISION);\n var threshold = divisor * (1 - ratio);\n\n return remainder === 0 || remainder > threshold;\n}\n\nsetDefaultOptions(NumericAxis, {\n type: \"numeric\",\n min: 0,\n max: 1,\n vertical: true,\n majorGridLines: {\n visible: true,\n width: 1,\n color: BLACK\n },\n labels: {\n format: \"#.####################\"\n },\n zIndex: 1\n});\n\nexport default NumericAxis;\n","import Axis from './axis';\nimport NumericAxis from './numeric-axis';\nimport AxisLabel from './axis-label';\nimport { DateLabelFormats } from './constants';\n\nimport { BLACK, DATE, COORD_PRECISION, DEFAULT_PRECISION } from '../common/constants';\nimport { setDefaultOptions, deepExtend, limitValue, round } from '../common';\n\nimport autoMajorUnit from './utils/auto-major-unit';\nimport ceil from './utils/ceil';\n\nimport { toDate, toTime, floorDate, ceilDate, duration, addDuration, addTicks, dateDiff, absoluteDateDiff, dateComparer, parseDate, parseDates, firstDay } from '../date-utils';\nimport { HOURS, DAYS, WEEKS, MONTHS, YEARS, TIME_PER_DAY, TIME_PER_WEEK, TIME_PER_MONTH, TIME_PER_YEAR, TIME_PER_UNIT } from '../date-utils/constants';\n\nvar MIN_VALUE_RANGE = 1000;\n\nvar DateValueAxis = (function (Axis) {\n function DateValueAxis(seriesMin, seriesMax, axisOptions, chartService) {\n var min = toDate(seriesMin);\n var max = toDate(seriesMax);\n\n var intlService = chartService.intl;\n var options = axisOptions || {};\n options = deepExtend(options || {}, {\n min: parseDate(intlService, options.min),\n max: parseDate(intlService, options.max),\n axisCrossingValue: parseDates(intlService, options.axisCrossingValues || options.axisCrossingValue),\n weekStartDay: firstDay(options, intlService)\n });\n options = applyDefaults(min, max, options);\n\n Axis.call(this, options, chartService);\n\n this.intlService = intlService;\n this.seriesMin = min;\n this.seriesMax = max;\n\n var weekStartDay = options.weekStartDay || 0;\n this.totalMin = toTime(floorDate(toTime(min) - 1, options.baseUnit, weekStartDay));\n this.totalMax = toTime(ceilDate(toTime(max) + 1, options.baseUnit, weekStartDay));\n }\n\n if ( Axis ) DateValueAxis.__proto__ = Axis;\n DateValueAxis.prototype = Object.create( Axis && Axis.prototype );\n DateValueAxis.prototype.constructor = DateValueAxis;\n\n DateValueAxis.prototype.clone = function clone () {\n return new DateValueAxis(this.seriesMin, this.seriesMax, Object.assign({}, this.options), this.chartService);\n };\n\n DateValueAxis.prototype.range = function range () {\n var options = this.options;\n return { min: options.min, max: options.max };\n };\n\n DateValueAxis.prototype.getDivisions = function getDivisions (stepValue) {\n var options = this.options;\n\n return Math.floor(\n duration(options.min, options.max, options.baseUnit) / stepValue + 1\n );\n };\n\n DateValueAxis.prototype.getTickPositions = function getTickPositions (step) {\n var options = this.options;\n var ref = this.lineInfo();\n var dir = ref.axisDir;\n var lineSize = ref.lineSize;\n var start = ref.lineStart;\n var divisions = this.getDivisions(step);\n var timeRange = dateDiff(options.max, options.min);\n var scale = lineSize / timeRange;\n var weekStartDay = options.weekStartDay || 0;\n\n var positions = [ start ];\n for (var i = 1; i < divisions; i++) {\n var date = addDuration(options.min, i * step, options.baseUnit, weekStartDay);\n var pos = start + dateDiff(date, options.min) * scale * dir;\n\n positions.push(round(pos, COORD_PRECISION));\n }\n\n return positions;\n };\n\n DateValueAxis.prototype.getMajorTickPositions = function getMajorTickPositions () {\n return this.getTickPositions(this.options.majorUnit);\n };\n\n DateValueAxis.prototype.getMinorTickPositions = function getMinorTickPositions () {\n return this.getTickPositions(this.options.minorUnit);\n };\n\n DateValueAxis.prototype.getSlot = function getSlot (a, b, limit) {\n return NumericAxis.prototype.getSlot.call(\n this, parseDate(this.intlService, a), parseDate(this.intlService, b), limit\n );\n };\n\n DateValueAxis.prototype.getValue = function getValue (point) {\n var value = NumericAxis.prototype.getValue.call(this, point);\n\n return value !== null ? toDate(value) : null;\n };\n\n DateValueAxis.prototype.labelsCount = function labelsCount () {\n return this.getDivisions(this.options.majorUnit);\n };\n\n DateValueAxis.prototype.createAxisLabel = function createAxisLabel (index, labelOptions, labelContext) {\n var options = this.options;\n var offset = index * options.majorUnit;\n var weekStartDay = options.weekStartDay || 0;\n var date = options.min;\n\n if (offset > 0) {\n date = addDuration(date, offset, options.baseUnit, weekStartDay);\n }\n\n var unitFormat = labelOptions.dateFormats[options.baseUnit];\n labelOptions.format = labelOptions.format || unitFormat;\n\n var text = this.axisLabelText(date, labelOptions, labelContext);\n return new AxisLabel(date, text, index, null, labelOptions);\n };\n\n DateValueAxis.prototype.translateRange = function translateRange (delta) {\n var options = this.options;\n var lineBox = this.lineBox();\n var vertical = options.vertical;\n var reverse = options.reverse;\n var size = vertical ? lineBox.height() : lineBox.width();\n var range = this.range();\n var scale = size / dateDiff(range.max, range.min);\n\n var offset = round(delta / scale, DEFAULT_PRECISION);\n if ((vertical || reverse) && !(vertical && reverse )) {\n offset = -offset;\n }\n\n var from = addTicks(options.min, offset);\n var to = addTicks(options.max, offset);\n\n return {\n min: from,\n max: to,\n offset: offset\n };\n };\n\n DateValueAxis.prototype.shouldRenderNote = function shouldRenderNote (value) {\n var range = this.range();\n\n return dateComparer(value, range.min) >= 0 && dateComparer(value, range.max) <= 0;\n };\n\n DateValueAxis.prototype.pan = function pan (delta) {\n var range = this.translateRange(delta, true);\n var limittedRange = this.limitRange(toTime(range.min), toTime(range.max), this.totalMin, this.totalMax, range.offset);\n\n if (limittedRange) {\n return {\n min: toDate(limittedRange.min),\n max: toDate(limittedRange.max)\n };\n }\n };\n\n DateValueAxis.prototype.pointsRange = function pointsRange (start, end) {\n var startValue = this.getValue(start);\n var endValue = this.getValue(end);\n var min = Math.min(startValue, endValue);\n var max = Math.max(startValue, endValue);\n\n return {\n min: toDate(min),\n max: toDate(max)\n };\n };\n\n DateValueAxis.prototype.scaleRange = function scaleRange (scale, cursor) {\n var position = Math.abs(this.pointOffset(cursor));\n var range = this.options.max - this.options.min;\n var delta = this.scaleToDelta(scale, range);\n var minDelta = position * delta;\n var maxDelta = (1 - position) * delta;\n var min = toDate(toTime(this.options.min) + minDelta);\n var max = toDate(toTime(this.options.max) - maxDelta);\n\n if (max - min < MIN_VALUE_RANGE) {\n max = toDate(toTime(min) + MIN_VALUE_RANGE);\n }\n\n return {\n min: min,\n max: max\n };\n };\n\n DateValueAxis.prototype.zoomRange = function zoomRange (scale, cursor) {\n var range = this.scaleRange(scale, cursor);\n var min = toDate(limitValue(toTime(range.min), this.totalMin, this.totalMax));\n var max = toDate(limitValue(toTime(range.max), this.totalMin, this.totalMax));\n\n return {\n min: min,\n max: max\n };\n };\n\n return DateValueAxis;\n}(Axis));\n\nfunction timeUnits(delta) {\n var unit = HOURS;\n\n if (delta >= TIME_PER_YEAR) {\n unit = YEARS;\n } else if (delta >= TIME_PER_MONTH) {\n unit = MONTHS;\n } else if (delta >= TIME_PER_WEEK) {\n unit = WEEKS;\n } else if (delta >= TIME_PER_DAY) {\n unit = DAYS;\n }\n\n return unit;\n}\n\nfunction applyDefaults(seriesMin, seriesMax, options) {\n var min = options.min || seriesMin;\n var max = options.max || seriesMax;\n var baseUnit = options.baseUnit || (max && min ? timeUnits(absoluteDateDiff(max, min)) : HOURS);\n var baseUnitTime = TIME_PER_UNIT[baseUnit];\n var weekStartDay = options.weekStartDay || 0;\n var autoMin = floorDate(toTime(min) - 1, baseUnit, weekStartDay) || toDate(max);\n var autoMax = ceilDate(toTime(max) + 1, baseUnit, weekStartDay);\n var userMajorUnit = options.majorUnit ? options.majorUnit : undefined;\n var majorUnit = userMajorUnit || ceil(\n autoMajorUnit(autoMin.getTime(), autoMax.getTime()),\n baseUnitTime\n ) / baseUnitTime;\n var actualUnits = duration(autoMin, autoMax, baseUnit);\n var totalUnits = ceil(actualUnits, majorUnit);\n var unitsToAdd = totalUnits - actualUnits;\n var head = Math.floor(unitsToAdd / 2);\n var tail = unitsToAdd - head;\n\n if (!options.baseUnit) {\n delete options.baseUnit;\n }\n\n options.baseUnit = options.baseUnit || baseUnit;\n options.min = options.min || addDuration(autoMin, -head, baseUnit, weekStartDay);\n options.max = options.max || addDuration(autoMax, tail, baseUnit, weekStartDay);\n options.minorUnit = options.minorUnit || majorUnit / 5;\n options.majorUnit = majorUnit;\n\n return options;\n}\n\nsetDefaultOptions(DateValueAxis, {\n type: DATE,\n majorGridLines: {\n visible: true,\n width: 1,\n color: BLACK\n },\n labels: {\n dateFormats: DateLabelFormats\n }\n});\n\nexport default DateValueAxis;\n","\nimport Axis from './axis';\nimport AxisLabel from './axis-label';\nimport Box from './box';\n\nimport createAxisTick from './utils/create-axis-tick';\nimport createAxisGridLine from './utils/create-axis-grid-line';\nimport limitCoordinate from './utils/limit-coordinate';\n\nimport { DEFAULT_PRECISION, BLACK } from '../common/constants';\nimport { deepExtend, defined, inArray, limitValue, round, setDefaultOptions, valueOrDefault } from '../common';\n\nvar DEFAULT_MAJOR_UNIT = 10;\nvar MIN_VALUE_RANGE = 1e-6;\n\nvar LogarithmicAxis = (function (Axis) {\n function LogarithmicAxis(seriesMin, seriesMax, options, chartService) {\n\n var axisOptions = deepExtend({ majorUnit: DEFAULT_MAJOR_UNIT, min: seriesMin, max: seriesMax }, options);\n var base = axisOptions.majorUnit;\n var autoMax = autoAxisMax(seriesMax, base);\n var autoMin = autoAxisMin(seriesMin, seriesMax, axisOptions);\n var range = initRange(autoMin, autoMax, axisOptions, options);\n\n axisOptions.max = range.max;\n axisOptions.min = range.min;\n axisOptions.minorUnit = options.minorUnit || round(base - 1, DEFAULT_PRECISION);\n\n Axis.call(this, axisOptions, chartService);\n\n this.totalMin = defined(options.min) ? Math.min(autoMin, options.min) : autoMin;\n this.totalMax = defined(options.max) ? Math.max(autoMax, options.max) : autoMax;\n this.logMin = round(log(range.min, base), DEFAULT_PRECISION);\n this.logMax = round(log(range.max, base), DEFAULT_PRECISION);\n this.seriesMin = seriesMin;\n this.seriesMax = seriesMax;\n\n this.createLabels();\n }\n\n if ( Axis ) LogarithmicAxis.__proto__ = Axis;\n LogarithmicAxis.prototype = Object.create( Axis && Axis.prototype );\n LogarithmicAxis.prototype.constructor = LogarithmicAxis;\n\n LogarithmicAxis.prototype.clone = function clone () {\n return new LogarithmicAxis(\n this.seriesMin,\n this.seriesMax,\n Object.assign({}, this.options),\n this.chartService\n );\n };\n\n LogarithmicAxis.prototype.startValue = function startValue () {\n return this.options.min;\n };\n\n LogarithmicAxis.prototype.getSlot = function getSlot (a, b, limit) {\n var ref = this;\n var options = ref.options;\n var logMin = ref.logMin;\n var logMax = ref.logMax;\n var base = options.majorUnit;\n var min = options.min;\n var max = options.max;\n var ref$1 = this.lineInfo();\n var axis = ref$1.axis;\n var axisDir = ref$1.axisDir;\n var lineBox = ref$1.lineBox;\n var lineSize = ref$1.lineSize;\n var lineStart = ref$1.lineStart;\n var step = axisDir * (lineSize / (logMax - logMin));\n var start = valueOrDefault(a, b || 1);\n var end = valueOrDefault(b, a || 1);\n\n if (start <= 0 || end <= 0) {\n return null;\n }\n\n if (limit) {\n start = limitValue(start, min, max);\n end = limitValue(end, min, max);\n }\n\n start = log(start, base);\n end = log(end, base);\n\n var p1 = Math.min(start, end) - logMin;\n var p2 = Math.max(start, end) - logMin;\n\n var slotBox = new Box(lineBox.x1, lineBox.y1, lineBox.x1, lineBox.y1);\n slotBox[axis + 1] = limitCoordinate(lineStart + step * (axisDir > 0 ? p1 : p2));\n slotBox[axis + 2] = limitCoordinate(lineStart + step * (axisDir > 0 ? p2 : p1));\n\n return slotBox;\n };\n\n LogarithmicAxis.prototype.getValue = function getValue (point) {\n var ref = this;\n var options = ref.options;\n var logMin = ref.logMin;\n var logMax = ref.logMax;\n var base = options.majorUnit;\n var ref$1 = this.lineInfo();\n var axis = ref$1.axis;\n var axisDir = ref$1.axisDir;\n var lineStart = ref$1.lineStart;\n var lineSize = ref$1.lineSize;\n var step = ((logMax - logMin) / lineSize);\n var offset = axisDir * (point[axis] - lineStart);\n var valueOffset = offset * step;\n\n if (offset < 0 || offset > lineSize) {\n return null;\n }\n\n var value = logMin + valueOffset;\n\n return round(Math.pow(base, value), DEFAULT_PRECISION);\n };\n\n LogarithmicAxis.prototype.range = function range () {\n var options = this.options;\n return { min: options.min, max: options.max };\n };\n\n LogarithmicAxis.prototype.translateRange = function translateRange (delta) {\n var ref = this;\n var options = ref.options;\n var logMin = ref.logMin;\n var logMax = ref.logMax;\n var reverse = options.reverse;\n var vertical = options.vertical;\n var base = options.majorUnit;\n var lineBox = this.lineBox();\n var size = vertical ? lineBox.height() : lineBox.width();\n var scale = size / (logMax - logMin);\n var offset = round(delta / scale, DEFAULT_PRECISION);\n\n if ((vertical || reverse) && !(vertical && reverse )) {\n offset = -offset;\n }\n\n return {\n min: Math.pow(base, logMin + offset),\n max: Math.pow(base, logMax + offset),\n offset: offset\n };\n };\n\n LogarithmicAxis.prototype.labelsCount = function labelsCount () {\n var floorMax = Math.floor(this.logMax);\n var count = Math.floor(floorMax - this.logMin) + 1;\n\n return count;\n };\n\n LogarithmicAxis.prototype.getMajorTickPositions = function getMajorTickPositions () {\n var ticks = [];\n\n this.traverseMajorTicksPositions(function (position) {\n ticks.push(position);\n }, { step: 1, skip: 0 });\n\n return ticks;\n };\n\n LogarithmicAxis.prototype.createTicks = function createTicks (lineGroup) {\n var options = this.options;\n var majorTicks = options.majorTicks;\n var minorTicks = options.minorTicks;\n var vertical = options.vertical;\n var mirror = options.labels.mirror;\n var lineBox = this.lineBox();\n var ticks = [];\n var tickLineOptions = {\n // TODO\n // _alignLines: options._alignLines,\n vertical: vertical\n };\n\n function render(tickPosition, tickOptions) {\n tickLineOptions.tickX = mirror ? lineBox.x2 : lineBox.x2 - tickOptions.size;\n tickLineOptions.tickY = mirror ? lineBox.y1 - tickOptions.size : lineBox.y1;\n tickLineOptions.position = tickPosition;\n\n lineGroup.append(createAxisTick(tickLineOptions, tickOptions));\n }\n\n if (majorTicks.visible) {\n this.traverseMajorTicksPositions(render, majorTicks);\n }\n\n if (minorTicks.visible) {\n this.traverseMinorTicksPositions(render, minorTicks);\n }\n\n return ticks;\n };\n\n LogarithmicAxis.prototype.createGridLines = function createGridLines (altAxis) {\n var options = this.options;\n var minorGridLines = options.minorGridLines;\n var majorGridLines = options.majorGridLines;\n var vertical = options.vertical;\n var lineBox = altAxis.lineBox();\n var lineOptions = {\n lineStart: lineBox[vertical ? \"x1\" : \"y1\"],\n lineEnd: lineBox[vertical ? \"x2\" : \"y2\"],\n vertical: vertical\n };\n var majorTicks = [];\n\n var container = this.gridLinesVisual();\n function render(tickPosition, gridLine) {\n if (!inArray(tickPosition, majorTicks)) {\n lineOptions.position = tickPosition;\n container.append(createAxisGridLine(lineOptions, gridLine));\n\n majorTicks.push(tickPosition);\n }\n }\n\n if (majorGridLines.visible) {\n this.traverseMajorTicksPositions(render, majorGridLines);\n }\n\n if (minorGridLines.visible) {\n this.traverseMinorTicksPositions(render, minorGridLines);\n }\n\n return container.children;\n };\n\n LogarithmicAxis.prototype.traverseMajorTicksPositions = function traverseMajorTicksPositions (callback, tickOptions) {\n var ref = this.lineInfo();\n var lineStart = ref.lineStart;\n var step = ref.step;\n var ref$1 = this;\n var logMin = ref$1.logMin;\n var logMax = ref$1.logMax;\n\n for (var power = Math.ceil(logMin) + tickOptions.skip; power <= logMax; power += tickOptions.step) {\n var position = round(lineStart + step * (power - logMin), DEFAULT_PRECISION);\n callback(position, tickOptions);\n }\n };\n\n LogarithmicAxis.prototype.traverseMinorTicksPositions = function traverseMinorTicksPositions (callback, tickOptions) {\n var this$1 = this;\n\n var ref = this.options;\n var min = ref.min;\n var max = ref.max;\n var minorUnit = ref.minorUnit;\n var base = ref.majorUnit;\n var ref$1 = this.lineInfo();\n var lineStart = ref$1.lineStart;\n var step = ref$1.step;\n var ref$2 = this;\n var logMin = ref$2.logMin;\n var logMax = ref$2.logMax;\n var start = Math.floor(logMin);\n\n for (var power = start; power < logMax; power++) {\n var minorOptions = this$1._minorIntervalOptions(power);\n for (var idx = tickOptions.skip; idx < minorUnit; idx += tickOptions.step) {\n var value = minorOptions.value + idx * minorOptions.minorStep;\n if (value > max) {\n break;\n }\n if (value >= min) {\n var position = round(lineStart + step * (log(value, base) - logMin), DEFAULT_PRECISION);\n callback(position, tickOptions);\n }\n }\n }\n };\n\n LogarithmicAxis.prototype.createAxisLabel = function createAxisLabel (index, labelOptions, labelContext) {\n var power = Math.ceil(this.logMin + index);\n var value = Math.pow(this.options.majorUnit, power);\n var text = this.axisLabelText(value, labelOptions, labelContext);\n\n return new AxisLabel(value, text, index, null, labelOptions);\n };\n\n LogarithmicAxis.prototype.shouldRenderNote = function shouldRenderNote (value) {\n var range = this.range();\n return range.min <= value && value <= range.max;\n };\n\n LogarithmicAxis.prototype.pan = function pan (delta) {\n var range = this.translateRange(delta);\n return this.limitRange(range.min, range.max, this.totalMin, this.totalMax, range.offset);\n };\n\n LogarithmicAxis.prototype.pointsRange = function pointsRange (start, end) {\n var startValue = this.getValue(start);\n var endValue = this.getValue(end);\n var min = Math.min(startValue, endValue);\n var max = Math.max(startValue, endValue);\n\n return {\n min: min,\n max: max\n };\n };\n\n LogarithmicAxis.prototype.scaleRange = function scaleRange (scale, cursor) {\n var ref = this.options;\n var base = ref.majorUnit;\n var logMin = log(this.options.min, base);\n var logMax = log(this.options.max, base);\n var position = Math.abs(this.pointOffset(cursor));\n var range = logMax - logMin;\n var delta = this.scaleToDelta(scale, range);\n var min = Math.pow(base, logMin + position * delta);\n var max = Math.pow(base, logMax - (1 - position) * delta);\n\n if (max - min < MIN_VALUE_RANGE) {\n max = min + MIN_VALUE_RANGE;\n }\n\n return {\n min: min,\n max: max\n };\n };\n\n LogarithmicAxis.prototype.zoomRange = function zoomRange (scale, cursor) {\n var range = this.scaleRange(scale, cursor);\n var ref = this;\n var totalMin = ref.totalMin;\n var totalMax = ref.totalMax;\n\n return {\n min: limitValue(range.min, totalMin, totalMax),\n max: limitValue(range.max, totalMin, totalMax)\n };\n };\n\n LogarithmicAxis.prototype._minorIntervalOptions = function _minorIntervalOptions (power) {\n var ref = this.options;\n var minorUnit = ref.minorUnit;\n var base = ref.majorUnit;\n var value = Math.pow(base, power);\n var nextValue = Math.pow(base, power + 1);\n var difference = nextValue - value;\n var minorStep = difference / minorUnit;\n\n return {\n value: value,\n minorStep: minorStep\n };\n };\n\n LogarithmicAxis.prototype.lineInfo = function lineInfo () {\n var info = Axis.prototype.lineInfo.call(this);\n info.step = info.axisDir * (info.lineSize / (this.logMax - this.logMin));\n\n return info;\n };\n\n return LogarithmicAxis;\n}(Axis));\n\nfunction initRange(autoMin, autoMax, axisOptions, options) {\n var min = axisOptions.min;\n var max = axisOptions.max;\n\n if (defined(axisOptions.axisCrossingValue) && axisOptions.axisCrossingValue <= 0) {\n throwNegativeValuesError();\n }\n\n if (!defined(options.max)) {\n max = autoMax;\n } else if (options.max <= 0) {\n throwNegativeValuesError();\n }\n\n if (!defined(options.min)) {\n min = autoMin;\n } else if (options.min <= 0) {\n throwNegativeValuesError();\n }\n\n return {\n min: min,\n max: max\n };\n}\n\nfunction autoAxisMin(min, max, options) {\n var base = options.majorUnit;\n var autoMin = min;\n if (min <= 0) {\n autoMin = max <= 1 ? Math.pow(base, -2) : 1;\n } else if (!options.narrowRange) {\n autoMin = Math.pow(base, Math.floor(log(min, base)));\n }\n return autoMin;\n}\n\nfunction autoAxisMax(max, base) {\n var logMaxRemainder = round(log(max, base), DEFAULT_PRECISION) % 1;\n var autoMax;\n if (max <= 0) {\n autoMax = base;\n } else if (logMaxRemainder !== 0 && (logMaxRemainder < 0.3 || logMaxRemainder > 0.9)) {\n autoMax = Math.pow(base, log(max, base) + 0.2);\n } else {\n autoMax = Math.pow(base, Math.ceil(log(max, base)));\n }\n\n return autoMax;\n}\n\nfunction throwNegativeValuesError() {\n throw new Error(\"Non positive values cannot be used for a logarithmic axis\");\n}\n\nfunction log(x, base) {\n return Math.log(x) / Math.log(base);\n}\n\nsetDefaultOptions(LogarithmicAxis, {\n type: \"log\",\n majorUnit: DEFAULT_MAJOR_UNIT,\n minorUnit: 1,\n axisCrossingValue: 1,\n vertical: true,\n majorGridLines: {\n visible: true,\n width: 1,\n color: BLACK\n },\n zIndex: 1,\n _deferLabels: true\n});\n\nexport default LogarithmicAxis;\n","import { geometry as geom, drawing as draw } from '@progress/kendo-drawing';\n\nimport { append, map } from '../../common';\n\nvar GridLinesMixin = {\n createGridLines: function(altAxis) {\n var options = this.options;\n var radius = Math.abs(this.box.center().y - altAxis.lineBox().y1);\n var gridLines = [];\n var skipMajor = false;\n var majorAngles, minorAngles;\n\n if (options.majorGridLines.visible) {\n majorAngles = this.majorGridLineAngles(altAxis);\n skipMajor = true;\n\n gridLines = this.renderMajorGridLines(\n majorAngles, radius, options.majorGridLines\n );\n }\n\n if (options.minorGridLines.visible) {\n minorAngles = this.minorGridLineAngles(altAxis, skipMajor);\n\n append(gridLines, this.renderMinorGridLines(\n minorAngles, radius, options.minorGridLines, altAxis, skipMajor\n ));\n }\n\n return gridLines;\n },\n\n renderMajorGridLines: function(angles, radius, options) {\n return this.renderGridLines(angles, radius, options);\n },\n\n renderMinorGridLines: function(angles, radius, options, altAxis, skipMajor) {\n var radiusCallback = this.radiusCallback && this.radiusCallback(radius, altAxis, skipMajor);\n return this.renderGridLines(angles, radius, options, radiusCallback);\n },\n\n renderGridLines: function(angles, radius, options, radiusCallback) {\n var style = {\n stroke: {\n width: options.width,\n color: options.color,\n dashType: options.dashType\n }\n };\n\n var center = this.box.center();\n var circle = new geom.Circle([ center.x, center.y ], radius);\n var container = this.gridLinesVisual();\n\n for (var i = 0; i < angles.length; i++) {\n var line = new draw.Path(style);\n if (radiusCallback) {\n circle.radius = radiusCallback(angles[i]);\n }\n\n line.moveTo(circle.center)\n .lineTo(circle.pointAt(angles[i] + 180));\n\n container.append(line);\n }\n\n return container.children;\n },\n\n gridLineAngles: function(altAxis, size, skip, step, skipAngles) {\n var this$1 = this;\n\n var divs = this.intervals(size, skip, step, skipAngles);\n var options = altAxis.options;\n var altAxisVisible = options.visible && (options.line || {}).visible !== false;\n\n return map(divs, function (d) {\n var alpha = this$1.intervalAngle(d);\n\n if (!altAxisVisible || alpha !== 90) {\n return alpha;\n }\n });\n }\n};\n\nexport default GridLinesMixin;","import { geometry as geom, drawing as draw } from '@progress/kendo-drawing';\n\nimport GridLinesMixin from './mixins/grid-lines-mixin';\nimport CategoryAxis from './category-axis';\nimport ShapeBuilder from './shape-builder';\nimport Ring from './ring';\nimport Box from './box';\n\nimport { COORD_PRECISION, ARC } from '../common/constants';\nimport { deepExtend, getSpacing, inArray, limitValue, map, rad, round, setDefaultOptions } from '../common';\n\nvar RadarCategoryAxis = (function (CategoryAxis) {\n function RadarCategoryAxis () {\n CategoryAxis.apply(this, arguments);\n }\n\n if ( CategoryAxis ) RadarCategoryAxis.__proto__ = CategoryAxis;\n RadarCategoryAxis.prototype = Object.create( CategoryAxis && CategoryAxis.prototype );\n RadarCategoryAxis.prototype.constructor = RadarCategoryAxis;\n\n RadarCategoryAxis.prototype.range = function range () {\n return { min: 0, max: this.options.categories.length };\n };\n\n RadarCategoryAxis.prototype.reflow = function reflow (box) {\n this.box = box;\n this.reflowLabels();\n };\n\n RadarCategoryAxis.prototype.lineBox = function lineBox () {\n return this.box;\n };\n\n RadarCategoryAxis.prototype.reflowLabels = function reflowLabels () {\n var this$1 = this;\n\n var ref = this;\n var labels = ref.labels;\n var labelOptions = ref.options.labels;\n var skip = labelOptions.skip || 0;\n var step = labelOptions.step || 1;\n var measureBox = new Box();\n\n for (var i = 0; i < labels.length; i++) {\n labels[i].reflow(measureBox);\n var labelBox = labels[i].box;\n\n labels[i].reflow(this$1.getSlot(skip + i * step).adjacentBox(\n 0, labelBox.width(), labelBox.height()\n ));\n }\n };\n\n RadarCategoryAxis.prototype.intervals = function intervals (size, skipOption, stepOption, skipAngles) {\n if ( skipAngles === void 0 ) skipAngles = false;\n\n var options = this.options;\n var categories = options.categories.length;\n var divCount = categories / size || 1;\n var divAngle = 360 / divCount;\n var skip = skipOption || 0;\n var step = stepOption || 1;\n var divs = [];\n var angle = 0;\n\n for (var i = skip; i < divCount; i += step) {\n if (options.reverse) {\n angle = 360 - i * divAngle;\n } else {\n angle = i * divAngle;\n }\n\n angle = round(angle, COORD_PRECISION) % 360;\n\n if (!(skipAngles && inArray(angle, skipAngles))) {\n divs.push(angle);\n }\n }\n\n return divs;\n };\n\n RadarCategoryAxis.prototype.majorIntervals = function majorIntervals () {\n return this.intervals(1);\n };\n\n RadarCategoryAxis.prototype.minorIntervals = function minorIntervals () {\n return this.intervals(0.5);\n };\n\n RadarCategoryAxis.prototype.intervalAngle = function intervalAngle (interval) {\n return (360 + interval + this.options.startAngle) % 360;\n };\n\n RadarCategoryAxis.prototype.majorAngles = function majorAngles () {\n var this$1 = this;\n\n return map(this.majorIntervals(), function (interval) { return this$1.intervalAngle(interval); });\n };\n\n RadarCategoryAxis.prototype.createLine = function createLine () {\n return [];\n };\n\n RadarCategoryAxis.prototype.majorGridLineAngles = function majorGridLineAngles (altAxis) {\n var majorGridLines = this.options.majorGridLines;\n return this.gridLineAngles(altAxis, 1, majorGridLines.skip, majorGridLines.step);\n };\n\n RadarCategoryAxis.prototype.minorGridLineAngles = function minorGridLineAngles (altAxis, skipMajor) {\n var ref = this.options;\n var minorGridLines = ref.minorGridLines;\n var majorGridLines = ref.majorGridLines;\n var majorGridLineAngles = skipMajor ? this.intervals(1, majorGridLines.skip, majorGridLines.step) : null;\n\n return this.gridLineAngles(altAxis, 0.5, minorGridLines.skip, minorGridLines.step, majorGridLineAngles);\n };\n\n RadarCategoryAxis.prototype.radiusCallback = function radiusCallback (radius, altAxis, skipMajor) {\n if (altAxis.options.type !== ARC) {\n var minorAngle = rad(360 / (this.options.categories.length * 2));\n var minorRadius = Math.cos(minorAngle) * radius;\n var majorAngles = this.majorAngles();\n\n var radiusCallback = function(angle) {\n if (!skipMajor && inArray(angle, majorAngles)) {\n return radius;\n }\n\n return minorRadius;\n };\n return radiusCallback;\n }\n };\n\n RadarCategoryAxis.prototype.createPlotBands = function createPlotBands () {\n var this$1 = this;\n\n var plotBands = this.options.plotBands || [];\n\n var group = this._plotbandGroup = new draw.Group({\n zIndex: -1\n });\n\n for (var i = 0; i < plotBands.length; i++) {\n var band = plotBands[i];\n var slot = this$1.plotBandSlot(band);\n var singleSlot = this$1.getSlot(band.from);\n\n var head = band.from - Math.floor(band.from);\n slot.startAngle += head * singleSlot.angle;\n\n var tail = Math.ceil(band.to) - band.to;\n slot.angle -= (tail + head) * singleSlot.angle;\n\n var ring = ShapeBuilder.current.createRing(slot, {\n fill: {\n color: band.color,\n opacity: band.opacity\n },\n stroke: {\n opacity: band.opacity\n }\n });\n group.append(ring);\n }\n\n this.appendVisual(group);\n };\n\n RadarCategoryAxis.prototype.plotBandSlot = function plotBandSlot (band) {\n return this.getSlot(band.from, band.to - 1);\n };\n\n RadarCategoryAxis.prototype.getSlot = function getSlot (from, to) {\n var options = this.options;\n var justified = options.justified;\n var box = this.box;\n var divs = this.majorAngles();\n var totalDivs = divs.length;\n var slotAngle = 360 / totalDivs;\n var fromValue = from;\n\n if (options.reverse && !justified) {\n fromValue = (fromValue + 1) % totalDivs;\n }\n\n fromValue = limitValue(Math.floor(fromValue), 0, totalDivs - 1);\n var slotStart = divs[fromValue];\n\n if (justified) {\n slotStart = slotStart - slotAngle / 2;\n\n if (slotStart < 0) {\n slotStart += 360;\n }\n }\n\n var toValue = limitValue(Math.ceil(to || fromValue), fromValue, totalDivs - 1);\n var slots = toValue - fromValue + 1;\n var angle = slotAngle * slots;\n\n return new Ring(box.center(), 0, box.height() / 2, slotStart, angle);\n };\n\n RadarCategoryAxis.prototype.slot = function slot (from, to) {\n var slot = this.getSlot(from, to);\n var startAngle = slot.startAngle + 180;\n var endAngle = startAngle + slot.angle;\n\n return new geom.Arc([ slot.center.x, slot.center.y ], {\n startAngle: startAngle,\n endAngle: endAngle,\n radiusX: slot.radius,\n radiusY: slot.radius\n });\n };\n\n RadarCategoryAxis.prototype.pointCategoryIndex = function pointCategoryIndex (point) {\n var this$1 = this;\n\n var length = this.options.categories.length;\n var index = null;\n\n for (var i = 0; i < length; i++) {\n var slot = this$1.getSlot(i);\n if (slot.containsPoint(point)) {\n index = i;\n break;\n }\n }\n\n return index;\n };\n\n return RadarCategoryAxis;\n}(CategoryAxis));\n\nsetDefaultOptions(RadarCategoryAxis, {\n startAngle: 90,\n labels: {\n margin: getSpacing(10)\n },\n majorGridLines: {\n visible: true\n },\n justified: true\n});\ndeepExtend(RadarCategoryAxis.prototype, GridLinesMixin);\n\nexport default RadarCategoryAxis;","import { geometry as geom } from '@progress/kendo-drawing';\n\nimport GridLinesMixin from './mixins/grid-lines-mixin';\nimport RadarCategoryAxis from './radar-category-axis';\nimport NumericAxis from './numeric-axis';\nimport Axis from './axis';\nimport Ring from './ring';\nimport Box from './box';\n\nimport { BLACK } from '../common/constants';\nimport { deepExtend, deg, getSpacing, inArray, limitValue, setDefaultOptions } from '../common';\n\nvar PolarAxis = (function (Axis) {\n function PolarAxis(options, chartService) {\n Axis.call(this, options, chartService);\n\n var instanceOptions = this.options;\n\n instanceOptions.minorUnit = instanceOptions.minorUnit || instanceOptions.majorUnit / 2;\n }\n\n if ( Axis ) PolarAxis.__proto__ = Axis;\n PolarAxis.prototype = Object.create( Axis && Axis.prototype );\n PolarAxis.prototype.constructor = PolarAxis;\n\n PolarAxis.prototype.getDivisions = function getDivisions (stepValue) {\n return NumericAxis.prototype.getDivisions.call(this, stepValue) - 1;\n };\n\n PolarAxis.prototype.reflow = function reflow (box) {\n this.box = box;\n this.reflowLabels();\n };\n\n PolarAxis.prototype.reflowLabels = function reflowLabels () {\n var this$1 = this;\n\n var ref = this;\n var options = ref.options;\n var labels = ref.labels;\n var labelOptions = ref.options.labels;\n var skip = labelOptions.skip || 0;\n var step = labelOptions.step || 1;\n\n var measureBox = new Box();\n var divs = this.intervals(options.majorUnit, skip, step);\n\n for (var i = 0; i < labels.length; i++) {\n labels[i].reflow(measureBox);\n var labelBox = labels[i].box;\n\n labels[i].reflow(this$1.getSlot(divs[i]).adjacentBox(0, labelBox.width(), labelBox.height()));\n }\n };\n\n PolarAxis.prototype.lineBox = function lineBox () {\n return this.box;\n };\n\n PolarAxis.prototype.intervals = function intervals (size, skipOption, stepOption, skipAngles) {\n if ( skipAngles === void 0 ) skipAngles = false;\n\n var min = this.options.min;\n var divisions = this.getDivisions(size);\n var divs = [];\n var skip = skipOption || 0;\n var step = stepOption || 1;\n\n for (var i = skip; i < divisions; i += step) {\n var current = (360 + min + i * size) % 360;\n if (!(skipAngles && inArray(current, skipAngles))) {\n divs.push(current);\n }\n }\n\n return divs;\n };\n\n PolarAxis.prototype.majorIntervals = function majorIntervals () {\n return this.intervals(this.options.majorUnit);\n };\n\n PolarAxis.prototype.minorIntervals = function minorIntervals () {\n return this.intervals(this.options.minorUnit);\n };\n\n PolarAxis.prototype.intervalAngle = function intervalAngle (i) {\n return (540 - i - this.options.startAngle) % 360;\n };\n\n PolarAxis.prototype.createLine = function createLine () {\n return [];\n };\n\n PolarAxis.prototype.majorGridLineAngles = function majorGridLineAngles (altAxis) {\n var majorGridLines = this.options.majorGridLines;\n return this.gridLineAngles(altAxis, this.options.majorUnit, majorGridLines.skip, majorGridLines.step);\n };\n\n PolarAxis.prototype.minorGridLineAngles = function minorGridLineAngles (altAxis, skipMajor) {\n var options = this.options;\n var minorGridLines = options.minorGridLines;\n var majorGridLines = options.majorGridLines;\n var majorGridLineAngles = skipMajor ? this.intervals(options.majorUnit, majorGridLines.skip, majorGridLines.step) : null;\n\n return this.gridLineAngles(altAxis, options.minorUnit, minorGridLines.skip, minorGridLines.step, majorGridLineAngles);\n };\n\n PolarAxis.prototype.plotBandSlot = function plotBandSlot (band) {\n return this.getSlot(band.from, band.to);\n };\n\n PolarAxis.prototype.getSlot = function getSlot (a, b) {\n var ref = this;\n var options = ref.options;\n var box = ref.box;\n var startAngle = options.startAngle;\n var start = limitValue(a, options.min, options.max);\n var end = limitValue(b || start, start, options.max);\n\n if (options.reverse) {\n start *= -1;\n end *= -1;\n }\n\n start = (540 - start - startAngle) % 360;\n end = (540 - end - startAngle) % 360;\n\n if (end < start) {\n var tmp = start;\n start = end;\n end = tmp;\n }\n\n return new Ring(box.center(), 0, box.height() / 2, start, end - start);\n };\n\n PolarAxis.prototype.slot = function slot (from, to) {\n if ( to === void 0 ) to = from;\n\n var options = this.options;\n var start = 360 - options.startAngle;\n var slot = this.getSlot(from, to);\n var min = Math.min(from, to);\n var max = Math.max(from, to);\n var startAngle, endAngle;\n\n if (options.reverse) {\n startAngle = min;\n endAngle = max;\n } else {\n startAngle = 360 - max;\n endAngle = 360 - min;\n }\n\n startAngle = (startAngle + start) % 360;\n endAngle = (endAngle + start) % 360;\n\n return new geom.Arc([ slot.center.x, slot.center.y ], {\n startAngle: startAngle,\n endAngle: endAngle,\n radiusX: slot.radius,\n radiusY: slot.radius\n });\n };\n\n PolarAxis.prototype.getValue = function getValue (point) {\n var options = this.options;\n var center = this.box.center();\n var dx = point.x - center.x;\n var dy = point.y - center.y;\n var theta = Math.round(deg(Math.atan2(dy, dx)));\n var start = options.startAngle;\n\n if (!options.reverse) {\n theta *= -1;\n start *= -1;\n }\n\n return (theta + start + 360) % 360;\n };\n\n PolarAxis.prototype.valueRange = function valueRange () {\n return {\n min: 0,\n max: Math.PI * 2\n };\n };\n\n return PolarAxis;\n}(Axis));\n\nsetDefaultOptions(PolarAxis, {\n type: \"polar\",\n startAngle: 0,\n reverse: false,\n majorUnit: 60,\n min: 0,\n max: 360,\n labels: {\n margin: getSpacing(10)\n },\n majorGridLines: {\n color: BLACK,\n visible: true,\n width: 1\n },\n minorGridLines: {\n color: \"#aaa\"\n }\n});\n\ndeepExtend(PolarAxis.prototype, GridLinesMixin, {\n createPlotBands: RadarCategoryAxis.prototype.createPlotBands,\n majorAngles: RadarCategoryAxis.prototype.majorAngles,\n range: NumericAxis.prototype.range,\n labelsCount: NumericAxis.prototype.labelsCount,\n createAxisLabel: NumericAxis.prototype.createAxisLabel\n});\n\nexport default PolarAxis;","import { geometry as geom, drawing as draw } from '@progress/kendo-drawing';\n\nimport ShapeBuilder from '../shape-builder';\nimport Ring from '../ring';\nimport Point from '../point';\n\nimport { ARC } from '../../common/constants';\nimport { append, deg, rad } from '../../common';\n\nvar RadarNumericAxisMixin = {\n options: {\n majorGridLines: {\n visible: true\n }\n },\n\n createPlotBands: function() {\n var this$1 = this;\n\n var ref = this.options;\n var type = ref.majorGridLines.type;\n var plotBands = ref.plotBands; if ( plotBands === void 0 ) plotBands = [];\n var altAxis = this.plotArea.polarAxis;\n var majorAngles = altAxis.majorAngles();\n var center = altAxis.box.center();\n var group = this._plotbandGroup = new draw.Group({\n zIndex: -1\n });\n\n for (var i = 0; i < plotBands.length; i++) {\n var band = plotBands[i];\n var bandStyle = {\n fill: {\n color: band.color,\n opacity: band.opacity\n },\n stroke: {\n opacity: band.opacity\n }\n };\n\n var slot = this$1.getSlot(band.from, band.to, true);\n var ring = new Ring(center, center.y - slot.y2, center.y - slot.y1, 0, 360);\n\n var shape = (void 0);\n if (type === ARC) {\n shape = ShapeBuilder.current.createRing(ring, bandStyle);\n } else {\n shape = draw.Path.fromPoints(this$1.plotBandPoints(ring, majorAngles), bandStyle).close();\n }\n\n group.append(shape);\n }\n\n this.appendVisual(group);\n },\n\n plotBandPoints: function(ring, angles) {\n var innerPoints = [];\n var outerPoints = [];\n var center = [ ring.center.x, ring.center.y ];\n var innerCircle = new geom.Circle(center, ring.innerRadius);\n var outerCircle = new geom.Circle(center, ring.radius);\n\n for (var i = 0; i < angles.length; i++) {\n innerPoints.push(innerCircle.pointAt(angles[i] + 180));\n outerPoints.push(outerCircle.pointAt(angles[i] + 180));\n }\n\n innerPoints.reverse();\n innerPoints.push(innerPoints[0]);\n outerPoints.push(outerPoints[0]);\n\n return outerPoints.concat(innerPoints);\n },\n\n createGridLines: function(altAxis) {\n var options = this.options;\n var majorTicks = this.radarMajorGridLinePositions();\n var majorAngles = altAxis.majorAngles();\n var center = altAxis.box.center();\n var gridLines = [];\n\n if (options.majorGridLines.visible) {\n gridLines = this.renderGridLines(\n center, majorTicks, majorAngles, options.majorGridLines\n );\n }\n\n if (options.minorGridLines.visible) {\n var minorTicks = this.radarMinorGridLinePositions();\n append(gridLines, this.renderGridLines(\n center, minorTicks, majorAngles, options.minorGridLines\n ));\n }\n\n return gridLines;\n },\n\n renderGridLines: function(center, ticks, angles, options) {\n var style = {\n stroke: {\n width: options.width,\n color: options.color,\n dashType: options.dashType\n }\n };\n var skip = options.skip; if ( skip === void 0 ) skip = 0;\n var step = options.step; if ( step === void 0 ) step = 0;\n var container = this.gridLinesVisual();\n\n for (var tickIx = skip; tickIx < ticks.length; tickIx += step) {\n var tickRadius = center.y - ticks[tickIx];\n if (tickRadius > 0) {\n var circle = new geom.Circle([ center.x, center.y ], tickRadius);\n if (options.type === ARC) {\n container.append(new draw.Circle(circle, style));\n } else {\n var line = new draw.Path(style);\n for (var angleIx = 0; angleIx < angles.length; angleIx++) {\n line.lineTo(circle.pointAt(angles[angleIx] + 180));\n }\n\n line.close();\n container.append(line);\n }\n }\n }\n\n return container.children;\n },\n\n getValue: function(point) {\n var lineBox = this.lineBox();\n var altAxis = this.plotArea.polarAxis;\n var majorAngles = altAxis.majorAngles();\n var center = altAxis.box.center();\n var radius = point.distanceTo(center);\n var distance = radius;\n\n if (this.options.majorGridLines.type !== ARC && majorAngles.length > 1) {\n var dx = point.x - center.x;\n var dy = point.y - center.y;\n var theta = (deg(Math.atan2(dy, dx)) + 540) % 360;\n\n majorAngles.sort(function(a, b) {\n return angularDistance(a, theta) - angularDistance(b, theta);\n });\n\n // Solve triangle (center, point, axis X) using one side (radius) and two angles.\n // Angles are derived from triangle (center, point, gridline X)\n var midAngle = angularDistance(majorAngles[0], majorAngles[1]) / 2;\n var alpha = angularDistance(theta, majorAngles[0]);\n var gamma = 90 - midAngle;\n var beta = 180 - alpha - gamma;\n\n distance = radius * (Math.sin(rad(beta)) / Math.sin(rad(gamma)));\n }\n\n return this.axisType().prototype.getValue.call(\n this, new Point(lineBox.x1, lineBox.y2 - distance)\n );\n }\n};\n\nfunction angularDistance(a, b) {\n return 180 - Math.abs(Math.abs(a - b) - 180);\n}\n\nexport default RadarNumericAxisMixin;","import NumericAxis from './numeric-axis';\nimport RadarNumericAxisMixin from './mixins/radar-numeric-axis-mixin';\n\nimport { deepExtend } from '../common';\n\nvar RadarNumericAxis = (function (NumericAxis) {\n function RadarNumericAxis () {\n NumericAxis.apply(this, arguments);\n }\n\n if ( NumericAxis ) RadarNumericAxis.__proto__ = NumericAxis;\n RadarNumericAxis.prototype = Object.create( NumericAxis && NumericAxis.prototype );\n RadarNumericAxis.prototype.constructor = RadarNumericAxis;\n\n RadarNumericAxis.prototype.radarMajorGridLinePositions = function radarMajorGridLinePositions () {\n return this.getTickPositions(this.options.majorUnit);\n };\n\n RadarNumericAxis.prototype.radarMinorGridLinePositions = function radarMinorGridLinePositions () {\n var options = this.options;\n var minorSkipStep = 0;\n\n if (options.majorGridLines.visible) {\n minorSkipStep = options.majorUnit;\n }\n return this.getTickPositions(options.minorUnit, minorSkipStep);\n };\n\n RadarNumericAxis.prototype.axisType = function axisType () {\n return NumericAxis;\n };\n\n return RadarNumericAxis;\n}(NumericAxis));\n\ndeepExtend(RadarNumericAxis.prototype, RadarNumericAxisMixin);\n\nexport default RadarNumericAxis;","import LogarithmicAxis from './logarithmic-axis';\nimport RadarNumericAxisMixin from './mixins/radar-numeric-axis-mixin';\n\nimport { deepExtend } from '../common';\n\nvar RadarLogarithmicAxis = (function (LogarithmicAxis) {\n function RadarLogarithmicAxis () {\n LogarithmicAxis.apply(this, arguments);\n }\n\n if ( LogarithmicAxis ) RadarLogarithmicAxis.__proto__ = LogarithmicAxis;\n RadarLogarithmicAxis.prototype = Object.create( LogarithmicAxis && LogarithmicAxis.prototype );\n RadarLogarithmicAxis.prototype.constructor = RadarLogarithmicAxis;\n\n RadarLogarithmicAxis.prototype.radarMajorGridLinePositions = function radarMajorGridLinePositions () {\n var positions = [];\n\n this.traverseMajorTicksPositions(function(position) {\n positions.push(position);\n }, this.options.majorGridLines);\n\n return positions;\n };\n\n RadarLogarithmicAxis.prototype.radarMinorGridLinePositions = function radarMinorGridLinePositions () {\n var positions = [];\n\n this.traverseMinorTicksPositions(function(position) {\n positions.push(position);\n }, this.options.minorGridLines);\n\n return positions;\n };\n\n RadarLogarithmicAxis.prototype.axisType = function axisType () {\n return LogarithmicAxis;\n };\n\n return RadarLogarithmicAxis;\n}(LogarithmicAxis));\n\ndeepExtend(RadarLogarithmicAxis.prototype, RadarNumericAxisMixin);\n\nexport default RadarLogarithmicAxis;","import { geometry as geom } from '@progress/kendo-drawing';\n\nimport { X, Y } from '../common/constants';\nimport { Class, last, round } from '../common';\n\nvar WEIGHT = 0.333;\nvar EXTREMUM_ALLOWED_DEVIATION = 0.01;\n\nvar CurveProcessor = (function (Class) {\n function CurveProcessor(closed) {\n Class.call(this);\n\n this.closed = closed;\n }\n\n if ( Class ) CurveProcessor.__proto__ = Class;\n CurveProcessor.prototype = Object.create( Class && Class.prototype );\n CurveProcessor.prototype.constructor = CurveProcessor;\n\n CurveProcessor.prototype.process = function process (dataPoints) {\n var this$1 = this;\n\n var points = dataPoints.slice(0);\n var segments = [];\n var closed = this.closed;\n var length = points.length;\n\n if (length > 2) {\n this.removeDuplicates(0, points);\n length = points.length;\n }\n\n if (length < 2 || (length === 2 && points[0].equals(points[1]))) {\n return segments;\n }\n\n var p0 = points[0];\n var p1 = points[1];\n var p2 = points[2];\n\n segments.push(new geom.Segment(p0));\n\n while (p0.equals(points[length - 1])) {\n closed = true;\n points.pop();\n length--;\n }\n\n if (length === 2) {\n var tangent = this.tangent(p0,p1, X, Y);\n\n last(segments).controlOut(\n this.firstControlPoint(tangent, p0, p1, X, Y)\n );\n\n segments.push(new geom.Segment(\n p1,\n this.secondControlPoint(tangent, p0, p1, X, Y)\n ));\n\n return segments;\n }\n\n var initialControlPoint, lastControlPoint;\n\n if (closed) {\n p0 = points[length - 1]; p1 = points[0]; p2 = points[1];\n var controlPoints = this.controlPoints(p0, p1, p2);\n initialControlPoint = controlPoints[1];\n lastControlPoint = controlPoints[0];\n } else {\n var tangent$1 = this.tangent(p0, p1, X,Y);\n initialControlPoint = this.firstControlPoint(tangent$1, p0, p1, X, Y);\n }\n\n var cp0 = initialControlPoint;\n for (var idx = 0; idx <= length - 3; idx++) {\n this$1.removeDuplicates(idx, points);\n length = points.length;\n if (idx + 3 <= length) {\n p0 = points[idx]; p1 = points[idx + 1]; p2 = points[idx + 2];\n var controlPoints$1 = this$1.controlPoints(p0,p1,p2);\n\n last(segments).controlOut(cp0);\n cp0 = controlPoints$1[1];\n\n var cp1 = controlPoints$1[0];\n segments.push(new geom.Segment(p1, cp1));\n }\n }\n\n if (closed) {\n p0 = points[length - 2]; p1 = points[length - 1]; p2 = points[0];\n var controlPoints$2 = this.controlPoints(p0, p1, p2);\n\n last(segments).controlOut(cp0);\n segments.push(new geom.Segment(\n p1,\n controlPoints$2[0]\n ));\n\n last(segments).controlOut(controlPoints$2[1]);\n segments.push(new geom.Segment(\n p2,\n lastControlPoint\n ));\n } else {\n var tangent$2 = this.tangent(p1, p2, X, Y);\n\n last(segments).controlOut(cp0);\n segments.push(new geom.Segment(\n p2,\n this.secondControlPoint(tangent$2, p1, p2, X, Y)\n ));\n }\n\n return segments;\n };\n\n CurveProcessor.prototype.removeDuplicates = function removeDuplicates (idx, points) {\n while (points[idx + 1] && (points[idx].equals(points[idx + 1]) || points[idx + 1].equals(points[idx + 2]))) {\n points.splice(idx + 1, 1);\n }\n };\n\n CurveProcessor.prototype.invertAxis = function invertAxis (p0, p1, p2) {\n var invertAxis = false;\n\n if (p0.x === p1.x) {\n invertAxis = true;\n } else if (p1.x === p2.x) {\n if ((p1.y < p2.y && p0.y <= p1.y) || (p2.y < p1.y && p1.y <= p0.y)) {\n invertAxis = true;\n }\n } else {\n var fn = this.lineFunction(p0,p1);\n var y2 = this.calculateFunction(fn, p2.x);\n if (!(p0.y <= p1.y && p2.y <= y2) &&\n !(p1.y <= p0.y && p2.y >= y2)) {\n invertAxis = true;\n }\n }\n\n return invertAxis;\n };\n\n CurveProcessor.prototype.isLine = function isLine (p0, p1, p2) {\n var fn = this.lineFunction(p0, p1);\n var y2 = this.calculateFunction(fn, p2.x);\n\n return (p0.x === p1.x && p1.x === p2.x) || round(y2, 1) === round(p2.y, 1);\n };\n\n CurveProcessor.prototype.lineFunction = function lineFunction (p1, p2) {\n var a = (p2.y - p1.y) / (p2.x - p1.x);\n var b = p1.y - a * p1.x;\n\n return [ b, a ];\n };\n\n CurveProcessor.prototype.controlPoints = function controlPoints (p0, p1, p2) {\n var xField = X;\n var yField = Y;\n var restrict = false;\n var switchOrientation = false;\n var tangent;\n\n if (this.isLine(p0, p1, p2)) {\n tangent = this.tangent(p0, p1, X, Y);\n } else {\n var monotonic = {\n x: this.isMonotonicByField(p0, p1, p2, X),\n y: this.isMonotonicByField(p0, p1, p2, Y)\n };\n\n if (monotonic.x && monotonic.y) {\n tangent = this.tangent(p0, p2, X, Y);\n restrict = true;\n } else {\n if (this.invertAxis(p0, p1, p2)) {\n xField = Y;\n yField = X;\n }\n\n if (monotonic[xField]) {\n tangent = 0;\n } else {\n var sign;\n if ((p2[yField] < p0[yField] && p0[yField] <= p1[yField]) ||\n (p0[yField] < p2[yField] && p1[yField] <= p0[yField])) {\n sign = numberSign((p2[yField] - p0[yField]) * (p1[xField] - p0[xField]));\n } else {\n sign = -numberSign((p2[xField] - p0[xField]) * (p1[yField] - p0[yField]));\n }\n\n tangent = EXTREMUM_ALLOWED_DEVIATION * sign;\n switchOrientation = true;\n }\n }\n }\n\n var secondControlPoint = this.secondControlPoint(tangent, p0, p1, xField, yField);\n\n if (switchOrientation) {\n var oldXField = xField;\n xField = yField;\n yField = oldXField;\n }\n\n var firstControlPoint = this.firstControlPoint(tangent, p1, p2, xField, yField);\n\n if (restrict) {\n this.restrictControlPoint(p0, p1, secondControlPoint, tangent);\n this.restrictControlPoint(p1, p2, firstControlPoint, tangent);\n }\n\n return [ secondControlPoint, firstControlPoint ];\n };\n\n CurveProcessor.prototype.restrictControlPoint = function restrictControlPoint (p1, p2, cp, tangent) {\n if (p1.y < p2.y) {\n if (p2.y < cp.y) {\n cp.x = p1.x + (p2.y - p1.y) / tangent;\n cp.y = p2.y;\n } else if (cp.y < p1.y) {\n cp.x = p2.x - (p2.y - p1.y) / tangent;\n cp.y = p1.y;\n }\n } else {\n if (cp.y < p2.y) {\n cp.x = p1.x - (p1.y - p2.y) / tangent;\n cp.y = p2.y;\n } else if (p1.y < cp.y) {\n cp.x = p2.x + (p1.y - p2.y) / tangent;\n cp.y = p1.y;\n }\n }\n };\n\n CurveProcessor.prototype.tangent = function tangent (p0, p1, xField, yField) {\n var x = p1[xField] - p0[xField];\n var y = p1[yField] - p0[yField];\n var tangent;\n\n if (x === 0) {\n tangent = 0;\n } else {\n tangent = y / x;\n }\n\n return tangent;\n };\n\n CurveProcessor.prototype.isMonotonicByField = function isMonotonicByField (p0, p1, p2, field) {\n return (p2[field] > p1[field] && p1[field] > p0[field]) ||\n (p2[field] < p1[field] && p1[field] < p0[field]);\n };\n\n CurveProcessor.prototype.firstControlPoint = function firstControlPoint (tangent, p0, p3, xField, yField) {\n var t1 = p0[xField];\n var t2 = p3[xField];\n var distance = (t2 - t1) * WEIGHT;\n\n return this.point(t1 + distance, p0[yField] + distance * tangent, xField, yField);\n };\n\n CurveProcessor.prototype.secondControlPoint = function secondControlPoint (tangent, p0, p3, xField, yField) {\n var t1 = p0[xField];\n var t2 = p3[xField];\n var distance = (t2 - t1) * WEIGHT;\n\n return this.point(t2 - distance, p3[yField] - distance * tangent, xField, yField);\n };\n\n CurveProcessor.prototype.point = function point (xValue, yValue, xField, yField) {\n var controlPoint = new geom.Point();\n controlPoint[xField] = xValue;\n controlPoint[yField] = yValue;\n\n return controlPoint;\n };\n\n CurveProcessor.prototype.calculateFunction = function calculateFunction (fn, x) {\n var length = fn.length;\n var result = 0;\n\n for (var i = 0; i < length; i++) {\n result += Math.pow(x,i) * fn[i];\n }\n return result;\n };\n\n return CurveProcessor;\n}(Class));\n\nfunction numberSign(value) {\n return value <= 0 ? -1 : 1;\n}\n\nexport default CurveProcessor;","import { Class } from '../../common';\n\nvar ChartAxis = (function (Class) {\n function ChartAxis(axis) {\n Class.call(this);\n\n this._axis = axis;\n this.options = axis.options;\n }\n\n if ( Class ) ChartAxis.__proto__ = Class;\n ChartAxis.prototype = Object.create( Class && Class.prototype );\n ChartAxis.prototype.constructor = ChartAxis;\n\n ChartAxis.prototype.value = function value (point) {\n var axis = this._axis;\n var value = axis.getCategory ? axis.getCategory(point) : axis.getValue(point);\n\n return value;\n };\n\n ChartAxis.prototype.slot = function slot (from, to, limit) {\n if ( limit === void 0 ) limit = true;\n\n return this._axis.slot(from, to, limit);\n };\n\n ChartAxis.prototype.range = function range () {\n return this._axis.range();\n };\n\n ChartAxis.prototype.valueRange = function valueRange () {\n return this._axis.valueRange();\n };\n\n return ChartAxis;\n}(Class));\n\nexport default ChartAxis;","import ChartAxis from './chart-axis';\n\nexport default function findAxisByName(name, axes) {\n for (var idx = 0; idx < axes.length; idx++) {\n if (axes[idx].options.name === name) {\n axes[idx].prepareUserOptions();\n return new ChartAxis(axes[idx]);\n }\n }\n}","import findAxisByName from './find-axis-by-name';\n\nvar ChartPane = function ChartPane(pane) {\n this.visual = pane.visual;\n this.chartsVisual = pane.chartContainer.visual;\n this._pane = pane;\n};\n\nChartPane.prototype.findAxisByName = function findAxisByName$1 (name) {\n return findAxisByName(name, this._pane.axes);\n};\n\nexport default ChartPane;","import { Class } from '../../common';\n\nvar ChartPlotArea = (function (Class) {\n function ChartPlotArea(plotArea) {\n Class.call(this);\n\n this._plotArea = plotArea;\n this.visual = plotArea.visual;\n this.backgroundVisual = plotArea._bgVisual;\n }\n\n if ( Class ) ChartPlotArea.__proto__ = Class;\n ChartPlotArea.prototype = Object.create( Class && Class.prototype );\n ChartPlotArea.prototype.constructor = ChartPlotArea;\n\n return ChartPlotArea;\n}(Class));\n\nexport default ChartPlotArea;","import { isNumber } from '../../common';\n\nexport default function countNumbers(values) {\n var length = values.length;\n var count = 0;\n\n for (var i = 0; i < length; i++) {\n var num = values[i];\n if (isNumber(num)) {\n count++;\n }\n }\n\n return count;\n}","import { MIN_VALUE, MAX_VALUE } from '../../common/constants';\nimport { defined, isNumber } from '../../common';\n\nimport countNumbers from '../utils/count-numbers';\n\nvar Aggregates = {\n min: function(values) {\n var length = values.length;\n var min = MAX_VALUE;\n\n for (var i = 0; i < length; i++) {\n var value = values[i];\n if (isNumber(value)) {\n min = Math.min(min, value);\n }\n }\n\n return min === MAX_VALUE ? values[0] : min;\n },\n\n max: function(values) {\n var length = values.length;\n var max = MIN_VALUE;\n\n for (var i = 0; i < length; i++) {\n var value = values[i];\n if (isNumber(value)) {\n max = Math.max(max, value);\n }\n }\n\n return max === MIN_VALUE ? values[0] : max;\n },\n\n sum: function(values) {\n var length = values.length;\n var sum = 0;\n\n for (var i = 0; i < length; i++) {\n var value = values[i];\n if (isNumber(value)) {\n sum += value;\n }\n }\n\n return sum;\n },\n\n sumOrNull: function(values) {\n var result = null;\n\n if (countNumbers(values)) {\n result = Aggregates.sum(values);\n }\n\n return result;\n },\n\n count: function(values) {\n var length = values.length;\n var count = 0;\n\n for (var i = 0; i < length; i++) {\n var value = values[i];\n if (value !== null && defined(value)) {\n count++;\n }\n }\n\n return count;\n },\n\n avg: function(values) {\n var count = countNumbers(values);\n var result = values[0];\n\n if (count > 0) {\n result = Aggregates.sum(values) / count;\n }\n\n return result;\n },\n\n first: function(values) {\n var length = values.length;\n\n for (var i = 0; i < length; i++) {\n var value = values[i];\n if (value !== null && defined(value)) {\n return value;\n }\n }\n\n return values[0];\n }\n};\n\nexport default Aggregates;","import { getter } from '../../common';\n\nexport default function getField(field, row) {\n if (row === null) {\n return row;\n }\n\n var get = getter(field, true);\n return get(row);\n}","import getField from './utils/get-field';\nimport { VALUE } from '../common/constants';\nimport { Class, defined } from '../common';\n\nvar SeriesBinder = (function (Class) {\n function SeriesBinder() {\n Class.call(this);\n\n this._valueFields = {};\n this._otherFields = {};\n this._nullValue = {};\n this._undefinedValue = {};\n }\n\n if ( Class ) SeriesBinder.__proto__ = Class;\n SeriesBinder.prototype = Object.create( Class && Class.prototype );\n SeriesBinder.prototype.constructor = SeriesBinder;\n\n SeriesBinder.prototype.register = function register (seriesTypes, valueFields, otherFields) {\n var this$1 = this;\n if ( valueFields === void 0 ) valueFields = [ VALUE ];\n if ( otherFields === void 0 ) otherFields = {};\n\n\n for (var i = 0; i < seriesTypes.length; i++) {\n var type = seriesTypes[i];\n\n this$1._valueFields[type] = valueFields;\n this$1._otherFields[type] = otherFields;\n this$1._nullValue[type] = this$1._makeValue(valueFields, null);\n this$1._undefinedValue[type] = this$1._makeValue(valueFields, undefined);\n }\n };\n\n SeriesBinder.prototype.canonicalFields = function canonicalFields (series) {\n return this.valueFields(series).concat(this.otherFields(series));\n };\n\n SeriesBinder.prototype.valueFields = function valueFields (series) {\n return this._valueFields[series.type] || [ VALUE ];\n };\n\n SeriesBinder.prototype.otherFields = function otherFields (series) {\n return this._otherFields[series.type] || [ VALUE ];\n };\n\n SeriesBinder.prototype.bindPoint = function bindPoint (series, pointIx, item) {\n var data = series.data;\n var pointData = defined(item) ? item : data[pointIx];\n var result = { valueFields: { value: pointData } };\n var valueFields = this.valueFields(series);\n var otherFields = this._otherFields[series.type];\n var fields, value;\n\n if (pointData === null) {\n value = this._nullValue[series.type];\n } else if (!defined(pointData)) {\n value = this._undefinedValue[series.type];\n } else if (Array.isArray(pointData)) {\n var fieldData = pointData.slice(valueFields.length);\n value = this._bindFromArray(pointData, valueFields);\n fields = this._bindFromArray(fieldData, otherFields);\n } else if (typeof pointData === \"object\") {\n var srcValueFields = this.sourceFields(series, valueFields);\n var srcPointFields = this.sourceFields(series, otherFields);\n\n value = this._bindFromObject(pointData, valueFields, srcValueFields);\n fields = this._bindFromObject(pointData, otherFields, srcPointFields);\n }\n\n if (defined(value)) {\n if (valueFields.length === 1) {\n result.valueFields.value = value[valueFields[0]];\n } else {\n result.valueFields = value;\n }\n }\n\n result.fields = fields || {};\n\n return result;\n };\n\n SeriesBinder.prototype._makeValue = function _makeValue (fields, initialValue) {\n var value = {};\n var length = fields.length;\n\n for (var i = 0; i < length; i++) {\n var fieldName = fields[i];\n value[fieldName] = initialValue;\n }\n\n return value;\n };\n\n SeriesBinder.prototype._bindFromArray = function _bindFromArray (array, fields) {\n var value = {};\n\n if (fields) {\n var length = Math.min(fields.length, array.length);\n\n for (var i = 0; i < length; i++) {\n value[fields[i]] = array[i];\n }\n }\n\n return value;\n };\n\n SeriesBinder.prototype._bindFromObject = function _bindFromObject (object, fields, srcFields) {\n if ( srcFields === void 0 ) srcFields = fields;\n\n var value = {};\n\n if (fields) {\n var length = fields.length;\n\n for (var i = 0; i < length; i++) {\n var fieldName = fields[i];\n var srcFieldName = srcFields[i];\n if (srcFieldName !== null) {\n value[fieldName] = getField(srcFieldName, object);\n }\n }\n }\n\n return value;\n };\n\n SeriesBinder.prototype.sourceFields = function sourceFields (series, canonicalFields) {\n var sourceFields = [];\n\n if (canonicalFields) {\n var length = canonicalFields.length;\n\n for (var i = 0; i < length; i++) {\n var fieldName = canonicalFields[i];\n var sourceFieldName = fieldName === VALUE ? \"field\" : fieldName + \"Field\";\n\n sourceFields.push(series[sourceFieldName] !== null ? (series[sourceFieldName] || fieldName) : null);\n }\n }\n\n return sourceFields;\n };\n\n return SeriesBinder;\n}(Class));\n\nSeriesBinder.current = new SeriesBinder();\n\nexport default SeriesBinder;","import SeriesBinder from '../series-binder';\n\nimport { OBJECT } from '../../common/constants';\nimport { Class, defined, getter, isArray, isNumber } from '../../common';\n\nvar STD_ERR = \"stderr\";\nvar STD_DEV = \"stddev\";\nvar percentRegex = /percent(?:\\w*)\\((\\d+)\\)/;\nvar standardDeviationRegex = new RegExp(\"^\" + STD_DEV + \"(?:\\\\((\\\\d+(?:\\\\.\\\\d+)?)\\\\))?$\");\n\nvar ErrorRangeCalculator = (function (Class) {\n function ErrorRangeCalculator(errorValue, series, field) {\n Class.call(this);\n\n this.initGlobalRanges(errorValue, series, field);\n }\n\n if ( Class ) ErrorRangeCalculator.__proto__ = Class;\n ErrorRangeCalculator.prototype = Object.create( Class && Class.prototype );\n ErrorRangeCalculator.prototype.constructor = ErrorRangeCalculator;\n\n ErrorRangeCalculator.prototype.initGlobalRanges = function initGlobalRanges (errorValue, series, field) {\n var data = series.data;\n var deviationMatch = standardDeviationRegex.exec(errorValue);\n\n if (deviationMatch) {\n this.valueGetter = this.createValueGetter(series, field);\n\n var average = this.getAverage(data);\n var deviation = this.getStandardDeviation(data, average, false);\n var multiple = deviationMatch[1] ? parseFloat(deviationMatch[1]) : 1;\n var errorRange = { low: average.value - deviation * multiple, high: average.value + deviation * multiple };\n\n this.globalRange = function() {\n return errorRange;\n };\n } else if (errorValue.indexOf && errorValue.indexOf(STD_ERR) >= 0) {\n this.valueGetter = this.createValueGetter(series, field);\n var standardError = this.getStandardError(data, this.getAverage(data));\n\n this.globalRange = function(value) {\n return { low: value - standardError, high: value + standardError };\n };\n }\n };\n\n ErrorRangeCalculator.prototype.createValueGetter = function createValueGetter (series, field) {\n var data = series.data;\n var binder = SeriesBinder.current;\n var valueFields = binder.valueFields(series);\n var item = defined(data[0]) ? data[0] : {};\n var valueGetter;\n\n if (isArray(item)) {\n var index = field ? valueFields.indexOf(field) : 0;\n valueGetter = getter(\"[\" + index + \"]\");\n } else if (isNumber(item)) {\n valueGetter = getter();\n } else if (typeof item === OBJECT) {\n var srcValueFields = binder.sourceFields(series, valueFields);\n valueGetter = getter(srcValueFields[valueFields.indexOf(field)]);\n }\n\n return valueGetter;\n };\n\n ErrorRangeCalculator.prototype.getErrorRange = function getErrorRange (pointValue, errorValue) {\n var low, high, value;\n\n if (!defined(errorValue)) {\n return null;\n }\n\n if (this.globalRange) {\n return this.globalRange(pointValue);\n }\n\n if (isArray(errorValue)) {\n low = pointValue - errorValue[0];\n high = pointValue + errorValue[1];\n } else if (isNumber(value = parseFloat(errorValue))) {\n low = pointValue - value;\n high = pointValue + value;\n } else if ((value = percentRegex.exec(errorValue))) {\n var percentValue = pointValue * (parseFloat(value[1]) / 100);\n low = pointValue - Math.abs(percentValue);\n high = pointValue + Math.abs(percentValue);\n } else {\n throw new Error(\"Invalid ErrorBar value: \" + errorValue);\n }\n\n return { low: low, high: high };\n };\n\n ErrorRangeCalculator.prototype.getStandardError = function getStandardError (data, average) {\n return this.getStandardDeviation(data, average, true) / Math.sqrt(average.count);\n };\n\n ErrorRangeCalculator.prototype.getStandardDeviation = function getStandardDeviation (data, average, isSample) {\n var this$1 = this;\n\n var length = data.length;\n var total = isSample ? average.count - 1 : average.count;\n var squareDifferenceSum = 0;\n\n for (var idx = 0; idx < length; idx++) {\n var value = this$1.valueGetter(data[idx]);\n if (isNumber(value)) {\n squareDifferenceSum += Math.pow(value - average.value, 2);\n }\n }\n\n return Math.sqrt(squareDifferenceSum / total);\n };\n\n ErrorRangeCalculator.prototype.getAverage = function getAverage (data) {\n var this$1 = this;\n\n var length = data.length;\n var sum = 0;\n var count = 0;\n\n for (var idx = 0; idx < length; idx++) {\n var value = this$1.valueGetter(data[idx]);\n if (isNumber(value)) {\n sum += value;\n count++;\n }\n }\n\n return {\n value: sum / count,\n count: count\n };\n };\n\n return ErrorRangeCalculator;\n}(Class));\n\nexport default ErrorRangeCalculator;","import { support } from '@progress/kendo-drawing';\n\nvar browser = support.browser || {};\n\nvar INITIAL_ANIMATION_DURATION = 600;\nvar FADEIN = \"fadeIn\";\n\nvar GLASS = \"glass\";\nvar BORDER_BRIGHTNESS = 0.8;\nvar TOOLTIP_OFFSET = 5;\nvar START_SCALE = browser.msie ? 0.001 : 0;\nvar ERROR_LOW_FIELD = \"errorLow\";\nvar ERROR_HIGH_FIELD = \"errorHigh\";\nvar X_ERROR_LOW_FIELD = \"xErrorLow\";\nvar X_ERROR_HIGH_FIELD = \"xErrorHigh\";\nvar Y_ERROR_LOW_FIELD = \"yErrorLow\";\nvar Y_ERROR_HIGH_FIELD = \"yErrorHigh\";\nvar LINE_MARKER_SIZE = 8;\nvar ZERO = \"zero\";\nvar INTERPOLATE = \"interpolate\";\nvar GAP = \"gap\";\nvar ABOVE = \"above\";\nvar BELOW = \"below\";\n\nvar SMOOTH = \"smooth\";\nvar STEP = \"step\";\n\nvar AREA = \"area\";\nvar BAR = \"bar\";\nvar BOX_PLOT = \"boxPlot\";\nvar BUBBLE = \"bubble\";\nvar BULLET = \"bullet\";\nvar CANDLESTICK = \"candlestick\";\nvar COLUMN = \"column\";\nvar DONUT = \"donut\";\nvar FUNNEL = \"funnel\";\nvar HEATMAP = \"heatmap\";\nvar HORIZONTAL_WATERFALL = \"horizontalWaterfall\";\nvar LINE = \"line\";\nvar OHLC = \"ohlc\";\nvar PIE = \"pie\";\nvar POLAR_AREA = \"polarArea\";\nvar POLAR_LINE = \"polarLine\";\nvar POLAR_SCATTER = \"polarScatter\";\nvar RADAR_AREA = \"radarArea\";\nvar RADAR_COLUMN = \"radarColumn\";\nvar RADAR_LINE = \"radarLine\";\nvar RANGE_AREA = \"rangeArea\";\nvar RANGE_BAR = \"rangeBar\";\nvar RANGE_COLUMN = \"rangeColumn\";\nvar SCATTER = \"scatter\";\nvar SCATTER_LINE = \"scatterLine\";\nvar VERTICAL_AREA = \"verticalArea\";\nvar VERTICAL_BOX_PLOT = \"verticalBoxPlot\";\nvar VERTICAL_BULLET = \"verticalBullet\";\nvar VERTICAL_LINE = \"verticalLine\";\nvar VERTICAL_RANGE_AREA = \"verticalRangeArea\";\nvar WATERFALL = \"waterfall\";\nvar EQUALLY_SPACED_SERIES = [\n BAR, COLUMN, OHLC, CANDLESTICK, BOX_PLOT, VERTICAL_BOX_PLOT,\n BULLET, RANGE_COLUMN, RANGE_BAR, WATERFALL, HORIZONTAL_WATERFALL\n];\n\nvar LEGEND_ITEM_CLICK = \"legendItemClick\";\nvar LEGEND_ITEM_HOVER = \"legendItemHover\";\nvar LEGEND_ITEM_LEAVE = \"legendItemLeave\";\nvar SERIES_CLICK = \"seriesClick\";\nvar SERIES_HOVER = \"seriesHover\";\nvar SERIES_OVER = \"seriesOver\";\nvar SERIES_LEAVE = \"seriesLeave\";\nvar PLOT_AREA_CLICK = \"plotAreaClick\";\nvar PLOT_AREA_HOVER = \"plotAreaHover\";\nvar PLOT_AREA_LEAVE = \"plotAreaLeave\";\nvar DRAG = \"drag\";\nvar DRAG_END = \"dragEnd\";\nvar DRAG_START = \"dragStart\";\nvar ZOOM_START = \"zoomStart\";\nvar ZOOM = \"zoom\";\nvar ZOOM_END = \"zoomEnd\";\nvar SELECT_START = \"selectStart\";\nvar SELECT = \"select\";\nvar SELECT_END = \"selectEnd\";\nvar RENDER = \"render\";\nvar SHOW_TOOLTIP = \"showTooltip\";\nvar HIDE_TOOLTIP = \"hideTooltip\";\nvar PANE_RENDER = \"paneRender\";\n\nvar LOGARITHMIC = \"log\";\nvar CATEGORY = \"category\";\n\nvar INSIDE_END = \"insideEnd\";\nvar INSIDE_BASE = \"insideBase\";\nvar OUTSIDE_END = \"outsideEnd\";\n\nvar MOUSEWHEEL = \"wheel\";\nvar MOUSEWHEEL_DELAY = 150;\nvar MOUSEWHEEL_ZOOM_RATE = 0.3;\n\nvar DRILLDOWN = \"drilldown\";\nvar DRILLDOWN_FIELD = \"drilldown\";\n\nexport {\n INITIAL_ANIMATION_DURATION, FADEIN,\n LEGEND_ITEM_CLICK, LEGEND_ITEM_HOVER, LEGEND_ITEM_LEAVE,\n SERIES_CLICK, SERIES_HOVER, SERIES_OVER, SERIES_LEAVE,\n GLASS, BORDER_BRIGHTNESS, TOOLTIP_OFFSET,\n START_SCALE, ERROR_LOW_FIELD, ERROR_HIGH_FIELD,\n X_ERROR_LOW_FIELD, X_ERROR_HIGH_FIELD,\n Y_ERROR_LOW_FIELD, Y_ERROR_HIGH_FIELD,\n LINE_MARKER_SIZE, INTERPOLATE, ZERO,\n SMOOTH, STEP, CATEGORY, FUNNEL,\n BAR, CANDLESTICK, PIE, COLUMN, AREA,\n VERTICAL_BULLET, BOX_PLOT, OHLC, WATERFALL, LINE,\n BULLET, VERTICAL_LINE, VERTICAL_AREA, RANGE_AREA, VERTICAL_RANGE_AREA,\n RANGE_COLUMN, VERTICAL_BOX_PLOT, RANGE_BAR, HORIZONTAL_WATERFALL,\n SCATTER, SCATTER_LINE, BUBBLE, RADAR_AREA, RADAR_LINE,\n RADAR_COLUMN, POLAR_LINE, POLAR_AREA, POLAR_SCATTER,\n RENDER, PLOT_AREA_CLICK, PLOT_AREA_HOVER, PLOT_AREA_LEAVE,\n LOGARITHMIC, DRAG, DRAG_START, DRAG_END, ZOOM_START, ZOOM, ZOOM_END,\n SELECT_START, SELECT, SELECT_END, PANE_RENDER, GAP,\n DONUT, INSIDE_END, INSIDE_BASE, OUTSIDE_END,\n MOUSEWHEEL, MOUSEWHEEL_DELAY, MOUSEWHEEL_ZOOM_RATE,\n SHOW_TOOLTIP, HIDE_TOOLTIP,\n EQUALLY_SPACED_SERIES, ABOVE, BELOW,\n HEATMAP,\n DRILLDOWN, DRILLDOWN_FIELD\n};\n","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { ChartElement, Point, Box } from '../../core';\n\nimport { FADEIN, INITIAL_ANIMATION_DURATION } from '../constants';\n\nimport { setDefaultOptions, alignPathToPixel } from '../../common';\n\nvar DEFAULT_ERROR_BAR_WIDTH = 4;\n\nvar ErrorBarBase = (function (ChartElement) {\n function ErrorBarBase(low, high, isVertical, chart, series, options) {\n ChartElement.call(this, options);\n\n this.low = low;\n this.high = high;\n this.isVertical = isVertical;\n this.chart = chart;\n this.series = series;\n }\n\n if ( ChartElement ) ErrorBarBase.__proto__ = ChartElement;\n ErrorBarBase.prototype = Object.create( ChartElement && ChartElement.prototype );\n ErrorBarBase.prototype.constructor = ErrorBarBase;\n\n ErrorBarBase.prototype.reflow = function reflow (targetBox) {\n var endCaps = this.options.endCaps;\n var isVertical = this.isVertical;\n var axis = this.getAxis();\n var valueBox = axis.getSlot(this.low, this.high);\n var centerBox = targetBox.center();\n var capsWidth = this.getCapsWidth(targetBox, isVertical);\n var capValue = isVertical ? centerBox.x : centerBox.y;\n var capStart = capValue - capsWidth;\n var capEnd = capValue + capsWidth;\n var linePoints;\n\n if (isVertical) {\n linePoints = [\n new Point(centerBox.x, valueBox.y1),\n new Point(centerBox.x, valueBox.y2)\n ];\n if (endCaps) {\n linePoints.push(new Point(capStart, valueBox.y1),\n new Point(capEnd, valueBox.y1),\n new Point(capStart, valueBox.y2),\n new Point(capEnd, valueBox.y2));\n }\n this.box = new Box(capStart, valueBox.y1, capEnd, valueBox.y2);\n } else {\n linePoints = [\n new Point(valueBox.x1, centerBox.y),\n new Point(valueBox.x2, centerBox.y)\n ];\n if (endCaps) {\n linePoints.push(new Point(valueBox.x1, capStart),\n new Point(valueBox.x1, capEnd),\n new Point(valueBox.x2, capStart),\n new Point(valueBox.x2, capEnd));\n }\n this.box = new Box(valueBox.x1, capStart, valueBox.x2, capEnd);\n }\n\n this.linePoints = linePoints;\n };\n\n ErrorBarBase.prototype.getCapsWidth = function getCapsWidth (box, isVertical) {\n var boxSize = isVertical ? box.width() : box.height();\n var capsWidth = Math.min(Math.floor(boxSize / 2), DEFAULT_ERROR_BAR_WIDTH) || DEFAULT_ERROR_BAR_WIDTH;\n\n return capsWidth;\n };\n\n ErrorBarBase.prototype.createVisual = function createVisual () {\n var this$1 = this;\n\n var options = this.options;\n var visual = options.visual;\n\n if (visual) {\n this.visual = visual({\n low: this.low,\n high: this.high,\n rect: this.box.toRect(),\n sender: this.getSender(),\n options: {\n endCaps: options.endCaps,\n color: options.color,\n line: options.line\n },\n createVisual: function () {\n this$1.createDefaultVisual();\n var defaultVisual = this$1.visual;\n delete this$1.visual;\n return defaultVisual;\n }\n });\n } else {\n this.createDefaultVisual();\n }\n };\n\n ErrorBarBase.prototype.createDefaultVisual = function createDefaultVisual () {\n var this$1 = this;\n\n var ref = this;\n var options = ref.options;\n var linePoints = ref.linePoints;\n var lineOptions = {\n stroke: {\n color: options.color,\n width: options.line.width,\n dashType: options.line.dashType\n }\n };\n\n ChartElement.prototype.createVisual.call(this);\n\n for (var idx = 0; idx < linePoints.length; idx += 2) {\n var line = new draw.Path(lineOptions)\n .moveTo(linePoints[idx].x, linePoints[idx].y)\n .lineTo(linePoints[idx + 1].x, linePoints[idx + 1].y);\n\n alignPathToPixel(line);\n this$1.visual.append(line);\n }\n };\n\n return ErrorBarBase;\n}(ChartElement));\n\nsetDefaultOptions(ErrorBarBase, {\n animation: {\n type: FADEIN,\n delay: INITIAL_ANIMATION_DURATION\n },\n endCaps: true,\n line: {\n width: 2\n },\n zIndex: 1\n});\n\nexport default ErrorBarBase;","import ErrorBarBase from './error-bar-base';\n\nvar CategoricalErrorBar = (function (ErrorBarBase) {\n function CategoricalErrorBar () {\n ErrorBarBase.apply(this, arguments);\n }\n\n if ( ErrorBarBase ) CategoricalErrorBar.__proto__ = ErrorBarBase;\n CategoricalErrorBar.prototype = Object.create( ErrorBarBase && ErrorBarBase.prototype );\n CategoricalErrorBar.prototype.constructor = CategoricalErrorBar;\n\n CategoricalErrorBar.prototype.getAxis = function getAxis () {\n var axis = this.chart.seriesValueAxis(this.series);\n\n return axis;\n };\n\n return CategoricalErrorBar;\n}(ErrorBarBase));\n\nexport default CategoricalErrorBar;","import { inArray, isFunction, isObject, valueOrDefault } from '../../common';\n\nvar MAX_EXPAND_DEPTH = 5;\n\nexport default function evalOptions(options, context, state, dryRun) {\n if ( state === void 0 ) state = {};\n if ( dryRun === void 0 ) dryRun = false;\n\n var defaults = state.defaults = state.defaults || {};\n var depth = state.depth = state.depth || 0;\n var needsEval = false;\n\n state.excluded = state.excluded || [];\n\n if (depth > MAX_EXPAND_DEPTH) {\n return null;\n }\n\n for (var property in options) {\n if (!inArray(property, state.excluded) && options.hasOwnProperty(property)) {\n var propValue = options[property];\n if (isFunction(propValue)) {\n needsEval = true;\n if (!dryRun) {\n options[property] = valueOrDefault(propValue(context), defaults[property]);\n }\n } else if (isObject(propValue)) {\n if (!dryRun) {\n state.defaults = defaults[property];\n }\n state.depth++;\n needsEval = evalOptions(propValue, context, state, dryRun) || needsEval;\n state.depth--;\n }\n }\n }\n\n return needsEval;\n}","export default function categoriesCount(series) {\n var seriesCount = series.length;\n var categories = 0;\n\n for (var i = 0; i < seriesCount; i++) {\n categories = Math.max(categories, series[i].data.length);\n }\n\n return categories;\n}","import ErrorRangeCalculator from './error-bars/error-range-calculator';\nimport CategoricalErrorBar from './error-bars/categorical-error-bar';\n\nimport SeriesBinder from './series-binder';\nimport { ERROR_LOW_FIELD, ERROR_HIGH_FIELD } from './constants';\n\nimport evalOptions from './utils/eval-options';\nimport categoriesCount from './utils/categories-count';\n\nimport { ChartElement, Box } from '../core';\n\nimport { VALUE, STRING, MIN_VALUE, MAX_VALUE } from '../common/constants';\nimport { convertableToNumber, deepExtend, defined, isNumber, last, setDefaultOptions, sparseArrayLimits } from '../common';\n\nvar CategoricalChart = (function (ChartElement) {\n function CategoricalChart(plotArea, options) {\n ChartElement.call(this, options);\n\n this.plotArea = plotArea;\n this.chartService = plotArea.chartService;\n this.categoryAxis = plotArea.seriesCategoryAxis(options.series[0]);\n\n // Value axis ranges grouped by axis name, e.g.:\n // primary: { min: 0, max: 1 }\n this.valueAxisRanges = {};\n\n this.points = [];\n this.categoryPoints = [];\n this.seriesPoints = [];\n this.seriesOptions = [];\n this._evalSeries = [];\n\n this.render();\n }\n\n if ( ChartElement ) CategoricalChart.__proto__ = ChartElement;\n CategoricalChart.prototype = Object.create( ChartElement && ChartElement.prototype );\n CategoricalChart.prototype.constructor = CategoricalChart;\n\n CategoricalChart.prototype.render = function render () {\n this.traverseDataPoints(this.addValue.bind(this));\n };\n\n CategoricalChart.prototype.pointOptions = function pointOptions (series, seriesIx) {\n var options = this.seriesOptions[seriesIx];\n if (!options) {\n var defaults = this.pointType().prototype.defaults;\n this.seriesOptions[seriesIx] = options = deepExtend({ }, defaults, {\n vertical: !this.options.invertAxes\n }, series);\n }\n\n return options;\n };\n\n CategoricalChart.prototype.plotValue = function plotValue (point) {\n if (!point) {\n return 0;\n }\n\n if (this.options.isStacked100 && isNumber(point.value)) {\n var categoryIx = point.categoryIx;\n var categoryPoints = this.categoryPoints[categoryIx];\n var otherValues = [];\n var categorySum = 0;\n\n for (var i = 0; i < categoryPoints.length; i++) {\n var other = categoryPoints[i];\n if (other) {\n var stack = point.series.stack;\n var otherStack = other.series.stack;\n\n if ((stack && otherStack) && stack.group !== otherStack.group) {\n continue;\n }\n\n if (isNumber(other.value)) {\n categorySum += Math.abs(other.value);\n otherValues.push(Math.abs(other.value));\n }\n }\n }\n\n if (categorySum > 0) {\n return point.value / categorySum;\n }\n }\n\n return point.value;\n };\n\n CategoricalChart.prototype.plotRange = function plotRange (point, startValue) {\n var this$1 = this;\n if ( startValue === void 0 ) startValue = 0;\n\n var categoryPoints = this.categoryPoints[point.categoryIx];\n\n if (this.options.isStacked) {\n var plotValue = this.plotValue(point);\n var positive = plotValue >= 0;\n var prevValue = startValue;\n var isStackedBar = false;\n\n for (var i = 0; i < categoryPoints.length; i++) {\n var other = categoryPoints[i];\n\n if (point === other) {\n break;\n }\n\n var stack = point.series.stack;\n var otherStack = other.series.stack;\n if (stack && otherStack) {\n if (typeof stack === STRING && stack !== otherStack) {\n continue;\n }\n\n if (stack.group && stack.group !== otherStack.group) {\n continue;\n }\n }\n\n var otherValue = this$1.plotValue(other);\n if ((otherValue >= 0 && positive) ||\n (otherValue < 0 && !positive)) {\n prevValue += otherValue;\n plotValue += otherValue;\n isStackedBar = true;\n\n if (this$1.options.isStacked100) {\n plotValue = Math.min(plotValue, 1);\n }\n }\n }\n\n if (isStackedBar) {\n prevValue -= startValue;\n }\n\n return [ prevValue, plotValue ];\n }\n\n var series = point.series;\n var valueAxis = this.seriesValueAxis(series);\n var axisCrossingValue = this.categoryAxisCrossingValue(valueAxis);\n\n return [ axisCrossingValue, convertableToNumber(point.value) ? point.value : axisCrossingValue ];\n };\n\n CategoricalChart.prototype.stackLimits = function stackLimits (axisName, stackName) {\n var this$1 = this;\n\n var min = MAX_VALUE;\n var max = MIN_VALUE;\n\n for (var i = 0; i < this.categoryPoints.length; i++) {\n var categoryPoints = this$1.categoryPoints[i];\n if (!categoryPoints) {\n continue;\n }\n\n for (var pIx = 0; pIx < categoryPoints.length; pIx++) {\n var point = categoryPoints[pIx];\n if (point) {\n if (point.series.stack === stackName || point.series.axis === axisName) {\n var to = this$1.plotRange(point, 0)[1];\n if (defined(to) && isFinite(to)) {\n max = Math.max(max, to);\n min = Math.min(min, to);\n }\n }\n }\n }\n }\n\n return { min: min, max: max };\n };\n\n CategoricalChart.prototype.updateStackRange = function updateStackRange () {\n var this$1 = this;\n\n var ref = this.options;\n var isStacked = ref.isStacked;\n var chartSeries = ref.series;\n var limitsCache = {};\n\n if (isStacked) {\n for (var i = 0; i < chartSeries.length; i++) {\n var series = chartSeries[i];\n var axisName = series.axis;\n var key = axisName + series.stack;\n\n var limits = limitsCache[key];\n if (!limits) {\n limits = this$1.stackLimits(axisName, series.stack);\n\n var errorTotals = this$1.errorTotals;\n if (errorTotals) {\n if (errorTotals.negative.length) {\n limits.min = Math.min(limits.min, sparseArrayLimits(errorTotals.negative).min);\n }\n if (errorTotals.positive.length) {\n limits.max = Math.max(limits.max, sparseArrayLimits(errorTotals.positive).max);\n }\n }\n\n if (limits.min !== MAX_VALUE || limits.max !== MIN_VALUE) {\n limitsCache[key] = limits;\n } else {\n limits = null;\n }\n }\n\n if (limits) {\n this$1.valueAxisRanges[axisName] = limits;\n }\n }\n }\n };\n\n CategoricalChart.prototype.addErrorBar = function addErrorBar (point, data, categoryIx) {\n var value = point.value;\n var series = point.series;\n var seriesIx = point.seriesIx;\n var errorBars = point.options.errorBars;\n var lowValue = data.fields[ERROR_LOW_FIELD];\n var highValue = data.fields[ERROR_HIGH_FIELD];\n var errorRange;\n\n if (isNumber(lowValue) && isNumber(highValue)) {\n errorRange = { low: lowValue, high: highValue };\n } else if (errorBars && defined(errorBars.value)) {\n this.seriesErrorRanges = this.seriesErrorRanges || [];\n this.seriesErrorRanges[seriesIx] = this.seriesErrorRanges[seriesIx] ||\n new ErrorRangeCalculator(errorBars.value, series, VALUE);\n\n errorRange = this.seriesErrorRanges[seriesIx].getErrorRange(value, errorBars.value);\n }\n\n if (errorRange) {\n point.low = errorRange.low;\n point.high = errorRange.high;\n this.addPointErrorBar(point, categoryIx);\n }\n };\n\n CategoricalChart.prototype.addPointErrorBar = function addPointErrorBar (point, categoryIx) {\n var isVertical = !this.options.invertAxes;\n var options = point.options.errorBars;\n var series = point.series;\n var low = point.low;\n var high = point.high;\n\n if (this.options.isStacked) {\n var stackedErrorRange = this.stackedErrorRange(point, categoryIx);\n low = stackedErrorRange.low;\n high = stackedErrorRange.high;\n } else {\n var fields = { categoryIx: categoryIx, series: series };\n this.updateRange({ value: low }, fields);\n this.updateRange({ value: high }, fields);\n }\n\n var errorBar = new CategoricalErrorBar(low, high, isVertical, this, series, options);\n point.errorBars = [ errorBar ];\n point.append(errorBar);\n };\n\n CategoricalChart.prototype.stackedErrorRange = function stackedErrorRange (point, categoryIx) {\n var plotValue = this.plotRange(point, 0)[1] - point.value;\n var low = point.low + plotValue;\n var high = point.high + plotValue;\n\n this.errorTotals = this.errorTotals || { positive: [], negative: [] };\n\n if (low < 0) {\n this.errorTotals.negative[categoryIx] = Math.min(this.errorTotals.negative[categoryIx] || 0, low);\n }\n\n if (high > 0) {\n this.errorTotals.positive[categoryIx] = Math.max(this.errorTotals.positive[categoryIx] || 0, high);\n }\n\n return { low: low, high: high };\n };\n\n CategoricalChart.prototype.addValue = function addValue (data, fields) {\n var categoryIx = fields.categoryIx;\n var series = fields.series;\n var seriesIx = fields.seriesIx;\n\n var categoryPoints = this.categoryPoints[categoryIx];\n if (!categoryPoints) {\n this.categoryPoints[categoryIx] = categoryPoints = [];\n }\n\n var seriesPoints = this.seriesPoints[seriesIx];\n if (!seriesPoints) {\n this.seriesPoints[seriesIx] = seriesPoints = [];\n }\n\n var point = this.createPoint(data, fields);\n if (point) {\n Object.assign(point, fields);\n\n point.owner = this;\n point.noteText = data.fields.noteText;\n if (!defined(point.dataItem)) {\n point.dataItem = series.data[categoryIx];\n }\n this.addErrorBar(point, data, categoryIx);\n }\n\n this.points.push(point);\n seriesPoints.push(point);\n categoryPoints.push(point);\n\n this.updateRange(data.valueFields, fields);\n };\n\n CategoricalChart.prototype.evalPointOptions = function evalPointOptions (options, value, fields) {\n var categoryIx = fields.categoryIx;\n var category = fields.category;\n var series = fields.series;\n var seriesIx = fields.seriesIx;\n var state = {\n defaults: series._defaults,\n excluded: [\n \"data\", \"aggregate\", \"_events\", \"tooltip\", \"content\", \"template\",\n \"visual\", \"toggle\", \"_outOfRangeMinPoint\", \"_outOfRangeMaxPoint\",\n \"drilldownSeriesFactory\"\n ]\n };\n\n var doEval = this._evalSeries[seriesIx];\n if (!defined(doEval)) {\n this._evalSeries[seriesIx] = doEval = evalOptions(options, {}, state, true);\n }\n\n var pointOptions = options;\n if (doEval) {\n pointOptions = deepExtend({}, pointOptions);\n evalOptions(pointOptions, {\n value: value,\n category: category,\n index: categoryIx,\n series: series,\n dataItem: series.data[categoryIx]\n }, state);\n }\n\n return pointOptions;\n };\n\n CategoricalChart.prototype.updateRange = function updateRange (data, fields) {\n var axisName = fields.series.axis;\n var value = data.value;\n var axisRange = this.valueAxisRanges[axisName];\n\n if (isFinite(value) && value !== null) {\n axisRange = this.valueAxisRanges[axisName] =\n axisRange || { min: MAX_VALUE, max: MIN_VALUE };\n\n axisRange.min = Math.min(axisRange.min, value);\n axisRange.max = Math.max(axisRange.max, value);\n }\n };\n\n CategoricalChart.prototype.seriesValueAxis = function seriesValueAxis (series) {\n var plotArea = this.plotArea;\n var axisName = series.axis;\n var axis = axisName ? plotArea.namedValueAxes[axisName] : plotArea.valueAxis;\n\n if (!axis) {\n throw new Error(\"Unable to locate value axis with name \" + axisName);\n }\n\n return axis;\n };\n\n CategoricalChart.prototype.reflow = function reflow (targetBox) {\n var this$1 = this;\n\n var categorySlots = this.categorySlots = [];\n var chartPoints = this.points;\n var categoryAxis = this.categoryAxis;\n var pointIx = 0;\n\n this.traverseDataPoints(function (data, fields) {\n var categoryIx = fields.categoryIx;\n var currentSeries = fields.series;\n\n var valueAxis = this$1.seriesValueAxis(currentSeries);\n var point = chartPoints[pointIx++];\n\n var categorySlot = categorySlots[categoryIx];\n if (!categorySlot) {\n categorySlots[categoryIx] = categorySlot =\n this$1.categorySlot(categoryAxis, categoryIx, valueAxis);\n }\n\n if (point) {\n var plotRange = this$1.plotRange(point, valueAxis.startValue());\n var valueSlot = this$1.valueSlot(valueAxis, plotRange);\n if (valueSlot) {\n var pointSlot = this$1.pointSlot(categorySlot, valueSlot);\n\n point.aboveAxis = this$1.aboveAxis(point, valueAxis);\n point.stackValue = plotRange[1];\n\n if (this$1.options.isStacked100) {\n point.percentage = this$1.plotValue(point);\n }\n\n this$1.reflowPoint(point, pointSlot);\n } else {\n point.visible = false;\n }\n }\n });\n\n this.reflowCategories(categorySlots);\n if (!this.options.clip && this.options.limitPoints && this.points.length) {\n this.limitPoints();\n }\n\n this.box = targetBox;\n };\n\n CategoricalChart.prototype.valueSlot = function valueSlot (valueAxis, plotRange) {\n return valueAxis.getSlot(plotRange[0], plotRange[1], !this.options.clip);\n };\n\n CategoricalChart.prototype.limitPoints = function limitPoints () {\n var this$1 = this;\n\n var categoryPoints = this.categoryPoints;\n var points = categoryPoints[0].concat(last(categoryPoints));\n for (var idx = 0; idx < points.length; idx++) {\n if (points[idx]) {\n this$1.limitPoint(points[idx]);\n }\n }\n };\n\n CategoricalChart.prototype.limitPoint = function limitPoint (point) {\n var limittedSlot = this.categoryAxis.limitSlot(point.box);\n if (!limittedSlot.equals(point.box)) {\n point.reflow(limittedSlot);\n }\n };\n\n CategoricalChart.prototype.aboveAxis = function aboveAxis (point, valueAxis) {\n var axisCrossingValue = this.categoryAxisCrossingValue(valueAxis);\n var value = point.value;\n\n return valueAxis.options.reverse ?\n value < axisCrossingValue : value >= axisCrossingValue;\n };\n\n CategoricalChart.prototype.categoryAxisCrossingValue = function categoryAxisCrossingValue (valueAxis) {\n var categoryAxis = this.categoryAxis;\n var options = valueAxis.options;\n var crossingValues = [].concat(\n options.axisCrossingValues || options.axisCrossingValue\n );\n\n return crossingValues[categoryAxis.axisIndex || 0] || 0;\n };\n\n CategoricalChart.prototype.reflowPoint = function reflowPoint (point, pointSlot) {\n point.reflow(pointSlot);\n };\n\n CategoricalChart.prototype.reflowCategories = function reflowCategories () { };\n\n CategoricalChart.prototype.pointSlot = function pointSlot (categorySlot, valueSlot) {\n var options = this.options;\n var invertAxes = options.invertAxes;\n var slotX = invertAxes ? valueSlot : categorySlot;\n var slotY = invertAxes ? categorySlot : valueSlot;\n\n return new Box(slotX.x1, slotY.y1, slotX.x2, slotY.y2);\n };\n\n CategoricalChart.prototype.categorySlot = function categorySlot (categoryAxis, categoryIx) {\n return categoryAxis.getSlot(categoryIx);\n };\n\n CategoricalChart.prototype.traverseDataPoints = function traverseDataPoints (callback) {\n var this$1 = this;\n\n var series = this.options.series;\n var count = categoriesCount(series);\n var seriesCount = series.length;\n\n for (var seriesIx = 0; seriesIx < seriesCount; seriesIx++) {\n this$1._outOfRangeCallback(series[seriesIx], \"_outOfRangeMinPoint\", seriesIx, callback);\n }\n\n for (var categoryIx = 0; categoryIx < count; categoryIx++) {\n for (var seriesIx$1 = 0; seriesIx$1 < seriesCount; seriesIx$1++) {\n var currentSeries = series[seriesIx$1];\n var currentCategory = this$1.categoryAxis.categoryAt(categoryIx);\n var pointData = this$1._bindPoint(currentSeries, seriesIx$1, categoryIx);\n\n callback(pointData, {\n category: currentCategory,\n categoryIx: categoryIx,\n categoriesCount: count,\n series: currentSeries,\n seriesIx: seriesIx$1\n });\n }\n }\n\n for (var seriesIx$2 = 0; seriesIx$2 < seriesCount; seriesIx$2++) {\n this$1._outOfRangeCallback(series[seriesIx$2], \"_outOfRangeMaxPoint\", seriesIx$2, callback);\n }\n };\n\n CategoricalChart.prototype._outOfRangeCallback = function _outOfRangeCallback (series, field, seriesIx, callback) {\n var outOfRangePoint = series[field];\n if (outOfRangePoint) {\n var categoryIx = outOfRangePoint.categoryIx;\n var pointData = this._bindPoint(series, seriesIx, categoryIx, outOfRangePoint.item);\n\n callback(pointData, {\n category: outOfRangePoint.category,\n categoryIx: categoryIx,\n series: series,\n seriesIx: seriesIx,\n dataItem: outOfRangePoint.item\n });\n }\n };\n\n CategoricalChart.prototype._bindPoint = function _bindPoint (series, seriesIx, categoryIx, item) {\n if (!this._bindCache) {\n this._bindCache = [];\n }\n\n var bindCache = this._bindCache[seriesIx];\n if (!bindCache) {\n bindCache = this._bindCache[seriesIx] = [];\n }\n\n var data = bindCache[categoryIx];\n if (!data) {\n data = bindCache[categoryIx] = SeriesBinder.current.bindPoint(series, categoryIx, item);\n }\n\n return data;\n };\n\n CategoricalChart.prototype.formatPointValue = function formatPointValue (point, format) {\n if (point.value === null) {\n return \"\";\n }\n\n return this.chartService.format.auto(format, point.value);\n };\n\n CategoricalChart.prototype.pointValue = function pointValue (data) {\n return data.valueFields.value;\n };\n\n return CategoricalChart;\n}(ChartElement));\n\nsetDefaultOptions(CategoricalChart, {\n series: [],\n invertAxes: false,\n isStacked: false,\n clip: true,\n limitPoints: true\n});\n\nexport default CategoricalChart;\n","import { SERIES_CLICK, SERIES_HOVER, SERIES_LEAVE, SERIES_OVER } from '../constants';\nimport { eventElement } from '../../common';\n\nvar PointEventsMixin = {\n click: function(chart, e) {\n return chart.trigger(\n SERIES_CLICK,\n this.eventArgs(e)\n );\n },\n\n hover: function(chart, e) {\n return chart.trigger(\n SERIES_HOVER,\n this.eventArgs(e)\n );\n },\n\n over: function(chart, e) {\n return chart.trigger(\n SERIES_OVER,\n this.eventArgs(e)\n );\n },\n\n out: function(chart, e) {\n return chart.trigger(\n SERIES_LEAVE,\n this.eventArgs(e)\n );\n },\n\n eventArgs: function(e) {\n return {\n value: this.value,\n percentage: this.percentage,\n stackValue: this.stackValue,\n category: this.category,\n series: this.series,\n dataItem: this.dataItem,\n runningTotal: this.runningTotal,\n total: this.total,\n element: eventElement(e),\n originalEvent: e,\n point: this\n };\n }\n};\n\nexport default PointEventsMixin;","import { Note } from '../../core';\nimport { defined } from '../../common';\n\nvar NoteMixin = {\n createNote: function() {\n var options = this.options.notes;\n var text = this.noteText || options.label.text;\n\n if (options.visible !== false && defined(text) && text !== null) {\n this.note = new Note({\n value: this.value,\n text: text,\n dataItem: this.dataItem,\n category: this.category,\n series: this.series\n }, this.options.notes, this.owner.chartService);\n\n this.append(this.note);\n }\n }\n};\n\nexport default NoteMixin;","import { geometry as geom, Color } from '@progress/kendo-drawing';\n\nimport { ChartElement, TextBox, ShapeElement, Box, Point } from '../../core';\n\nimport PointEventsMixin from '../mixins/point-events-mixin';\nimport NoteMixin from '../mixins/note-mixin';\nimport { LINE_MARKER_SIZE, FADEIN, INITIAL_ANIMATION_DURATION, BORDER_BRIGHTNESS, TOOLTIP_OFFSET, ABOVE, BELOW } from '../constants';\n\nimport { WHITE, CIRCLE, CENTER, TOP, BOTTOM, LEFT, HIGHLIGHT_ZINDEX } from '../../common/constants';\nimport { deepExtend, defined, getTemplate, valueOrDefault, getSpacing } from '../../common';\n\nvar LinePoint = (function (ChartElement) {\n function LinePoint(value, options) {\n ChartElement.call(this);\n\n this.value = value;\n this.options = options;\n this.aboveAxis = valueOrDefault(this.options.aboveAxis, true);\n this.tooltipTracking = true;\n }\n\n if ( ChartElement ) LinePoint.__proto__ = ChartElement;\n LinePoint.prototype = Object.create( ChartElement && ChartElement.prototype );\n LinePoint.prototype.constructor = LinePoint;\n\n LinePoint.prototype.render = function render () {\n var ref = this.options;\n var markers = ref.markers;\n var labels = ref.labels;\n\n if (this._rendered) {\n return;\n }\n\n this._rendered = true;\n\n if (markers.visible && markers.size) {\n this.marker = this.createMarker();\n this.append(this.marker);\n }\n\n if (labels.visible) {\n var labelTemplate = getTemplate(labels);\n var pointData = this.pointData();\n var labelText = this.value;\n if (labelTemplate) {\n labelText = labelTemplate(pointData);\n } else if (labels.format) {\n labelText = this.formatValue(labels.format);\n }\n this.label = new TextBox(labelText,\n deepExtend({\n align: CENTER,\n vAlign: CENTER,\n margin: {\n left: 5,\n right: 5\n },\n zIndex: valueOrDefault(labels.zIndex, this.series.zIndex)\n }, labels),\n pointData\n );\n this.append(this.label);\n }\n\n this.createNote();\n\n if (this.errorBar) {\n this.append(this.errorBar);\n }\n };\n\n LinePoint.prototype.markerBorder = function markerBorder () {\n var options = this.options.markers;\n var background = options.background;\n var border = deepExtend({ color: this.color }, options.border);\n\n if (!defined(border.color)) {\n border.color = new Color(background).brightness(BORDER_BRIGHTNESS).toHex();\n }\n\n return border;\n };\n\n LinePoint.prototype.createVisual = function createVisual () {};\n\n LinePoint.prototype.createMarker = function createMarker () {\n var options = this.options.markers;\n var marker = new ShapeElement({\n type: options.type,\n width: options.size,\n height: options.size,\n rotation: options.rotation,\n background: options.background,\n border: this.markerBorder(),\n opacity: this.series.opacity || options.opacity,\n zIndex: valueOrDefault(options.zIndex, this.series.zIndex),\n animation: options.animation,\n visual: options.visual\n }, {\n dataItem: this.dataItem,\n value: this.value,\n series: this.series,\n category: this.category\n });\n\n return marker;\n };\n\n LinePoint.prototype.markerBox = function markerBox () {\n if (!this.marker) {\n this.marker = this.createMarker();\n this.marker.reflow(this._childBox);\n }\n\n return this.marker.box;\n };\n\n LinePoint.prototype.reflow = function reflow (targetBox) {\n var this$1 = this;\n\n var ref = this;\n var options = ref.options;\n var aboveAxis = ref.aboveAxis;\n var vertical = options.vertical;\n\n this.render();\n\n this.box = targetBox;\n var childBox = targetBox.clone();\n\n if (vertical) {\n if (aboveAxis) {\n childBox.y1 -= childBox.height();\n } else {\n childBox.y2 += childBox.height();\n }\n } else {\n if (aboveAxis) {\n childBox.x1 += childBox.width();\n } else {\n childBox.x2 -= childBox.width();\n }\n }\n\n this._childBox = childBox;\n if (this.marker) {\n this.marker.reflow(childBox);\n }\n\n this.reflowLabel(childBox);\n\n if (this.errorBars) {\n for (var i = 0; i < this.errorBars.length; i++) {\n this$1.errorBars[i].reflow(childBox);\n }\n }\n\n if (this.note) {\n var noteTargetBox = this.markerBox();\n\n if (!(options.markers.visible && options.markers.size)) {\n var center = noteTargetBox.center();\n noteTargetBox = new Box(center.x, center.y, center.x, center.y);\n }\n\n this.note.reflow(noteTargetBox);\n }\n };\n\n LinePoint.prototype.reflowLabel = function reflowLabel (box) {\n var ref = this;\n var options = ref.options;\n var label = ref.label;\n var anchor = options.labels.position;\n\n if (label) {\n anchor = anchor === ABOVE ? TOP : anchor;\n anchor = anchor === BELOW ? BOTTOM : anchor;\n\n label.reflow(box);\n label.box.alignTo(this.markerBox(), anchor);\n label.reflow(label.box);\n }\n };\n\n LinePoint.prototype.createHighlight = function createHighlight () {\n var markers = this.options.highlight.markers;\n var defaultColor = this.markerBorder().color;\n var options = this.options.markers;\n var size = options.size + (options.border.width || 0) + (markers.border.width || 0);\n\n var shadow = new ShapeElement({\n type: options.type,\n width: size,\n height: size,\n rotation: options.rotation,\n background: markers.color || defaultColor,\n border: {\n color: markers.border.color,\n width: markers.border.width,\n opacity: valueOrDefault(markers.border.opacity, 1)\n },\n opacity: valueOrDefault(markers.opacity, 1)\n });\n shadow.reflow(this._childBox);\n\n return shadow.getElement();\n };\n\n LinePoint.prototype.highlightVisual = function highlightVisual () {\n return (this.marker || {}).visual;\n };\n\n LinePoint.prototype.highlightVisualArgs = function highlightVisualArgs () {\n var marker = this.marker;\n var visual, rect;\n\n if (marker) {\n rect = marker.paddingBox.toRect();\n visual = marker.visual;\n } else {\n var size = this.options.markers.size;\n var halfSize = size / 2;\n var center = this.box.center();\n rect = new geom.Rect([ center.x - halfSize, center.y - halfSize ], [ size, size ]);\n }\n\n return {\n options: this.options,\n rect: rect,\n visual: visual\n };\n };\n\n LinePoint.prototype.tooltipAnchor = function tooltipAnchor () {\n var markerBox = this.markerBox();\n var clipBox = this.owner.pane.clipBox();\n var showTooltip = !clipBox || clipBox.overlaps(markerBox);\n\n if (showTooltip) {\n var x = markerBox.x2 + TOOLTIP_OFFSET;\n var horizontalAlign = LEFT;\n var y, verticalAlign;\n\n if (this.aboveAxis) {\n y = markerBox.y1;\n verticalAlign = BOTTOM;\n } else {\n y = markerBox.y2;\n verticalAlign = TOP;\n }\n\n return {\n point: new Point(x, y),\n align: {\n horizontal: horizontalAlign,\n vertical: verticalAlign\n }\n };\n }\n };\n\n LinePoint.prototype.formatValue = function formatValue (format) {\n return this.owner.formatPointValue(this, format);\n };\n\n LinePoint.prototype.overlapsBox = function overlapsBox (box) {\n var markerBox = this.markerBox();\n return markerBox.overlaps(box);\n };\n\n LinePoint.prototype.unclipElements = function unclipElements () {\n if (this.label) {\n this.label.options.noclip = true;\n }\n\n if (this.note) {\n this.note.options.noclip = true;\n }\n };\n\n LinePoint.prototype.pointData = function pointData () {\n return {\n dataItem: this.dataItem,\n category: this.category,\n value: this.value,\n percentage: this.percentage,\n stackValue: this.stackValue,\n series: this.series\n };\n };\n\n return LinePoint;\n}(ChartElement));\n\nLinePoint.prototype.defaults = {\n vertical: true,\n markers: {\n visible: true,\n background: WHITE,\n size: LINE_MARKER_SIZE,\n type: CIRCLE,\n border: {\n width: 2\n },\n opacity: 1\n },\n labels: {\n visible: false,\n position: ABOVE,\n margin: getSpacing(3),\n padding: getSpacing(4),\n animation: {\n type: FADEIN,\n delay: INITIAL_ANIMATION_DURATION\n }\n },\n notes: {\n label: {}\n },\n highlight: {\n markers: {\n border: {\n color: \"#fff\",\n width: 2\n }\n },\n zIndex: HIGHLIGHT_ZINDEX\n },\n errorBars: {\n line: {\n width: 1\n }\n }\n};\n\ndeepExtend(LinePoint.prototype, PointEventsMixin);\ndeepExtend(LinePoint.prototype, NoteMixin);\n\nexport default LinePoint;\n","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { ChartElement } from '../../core';\n\nimport { defined, isFunction, setDefaultOptions } from '../../common';\n\nvar LineSegment = (function (ChartElement) {\n function LineSegment(linePoints, series, seriesIx) {\n ChartElement.call(this);\n\n this.linePoints = linePoints;\n this.series = series;\n this.seriesIx = seriesIx;\n }\n\n if ( ChartElement ) LineSegment.__proto__ = ChartElement;\n LineSegment.prototype = Object.create( ChartElement && ChartElement.prototype );\n LineSegment.prototype.constructor = LineSegment;\n\n LineSegment.prototype.points = function points () {\n return this.toGeometryPoints(this.linePoints);\n };\n\n LineSegment.prototype.toGeometryPoints = function toGeometryPoints (points) {\n var result = [];\n for (var i = 0, length = points.length; i < length; i++) {\n if (points[i] && points[i].visible !== false) {\n result.push(points[i]._childBox.toRect().center());\n }\n }\n\n return result;\n };\n\n LineSegment.prototype.createVisual = function createVisual () {\n var this$1 = this;\n\n var customVisual = this.series.visual;\n if (customVisual) {\n this.visual = customVisual({\n points: this.toGeometryPoints(this.linePoints),\n series: this.series,\n sender: this.getSender(),\n createVisual: function () {\n this$1.segmentVisual();\n\n return this$1.visual;\n }\n });\n if (this.visual && !defined(this.visual.options.zIndex)) {\n this.visual.options.zIndex = this.series.zIndex;\n }\n } else {\n this.segmentVisual();\n }\n };\n\n LineSegment.prototype.segmentVisual = function segmentVisual () {\n var ref = this;\n var options = ref.options;\n var series = ref.series;\n var color = series.color;\n var defaults = series._defaults;\n\n if (isFunction(color) && defaults) {\n color = defaults.color;\n }\n\n var line = draw.Path.fromPoints(this.points(), {\n stroke: {\n color: color,\n width: series.width,\n opacity: series.opacity,\n dashType: series.dashType\n },\n zIndex: series.zIndex\n });\n\n if (options.closed) {\n line.close();\n }\n\n this.visual = line;\n };\n\n LineSegment.prototype.aliasFor = function aliasFor (e, coords) {\n return this.parent.getNearestPoint(coords.x, coords.y, this.seriesIx);\n };\n\n return LineSegment;\n}(ChartElement));\n\nsetDefaultOptions(LineSegment, {\n closed: false\n});\n\nexport default LineSegment;","import { geometry as geom } from '@progress/kendo-drawing';\n\nimport { last } from '../../common';\nimport { X, Y } from '../../common/constants';\n\nvar StepLineMixin = {\n calculateStepPoints: function(points) {\n var categoryAxis = this.parent.plotArea.seriesCategoryAxis(this.series);\n var ref = categoryAxis.options;\n var justified = ref.justified;\n var vertical = ref.vertical;\n var reverse = ref.reverse;\n\n var stepAxis = vertical ? X : Y;\n var axis = vertical ? Y : X;\n var stepDir = reverse ? 2 : 1;\n var dir = stepDir;\n\n var previousPoint = toGeometryPoint(points[0], stepAxis, stepDir, axis, dir);\n var result = [ previousPoint ];\n\n for (var idx = 1; idx < points.length; idx++) {\n var point = toGeometryPoint(points[idx], stepAxis, stepDir, axis, dir);\n\n if (previousPoint[stepAxis] !== point[stepAxis]) {\n var stepPoint = new geom.Point();\n stepPoint[stepAxis] = previousPoint[stepAxis];\n stepPoint[axis] = point[axis];\n\n result.push(stepPoint, point);\n }\n\n previousPoint = point;\n }\n\n if (!justified) {\n result.push(toGeometryPoint(last(points), stepAxis, stepDir, axis, reverse ? 1 : 2));\n } else if (previousPoint !== last(result)) {\n result.push(previousPoint);\n }\n\n return result;\n\n }\n};\n\nfunction toGeometryPoint(lintPoint, stepAxis, stepDir, axis, dir) {\n var box = lintPoint.box;\n var result = new geom.Point();\n\n result[stepAxis] = box[stepAxis + stepDir];\n result[axis] = box[axis + dir];\n\n return result;\n}\n\nexport default StepLineMixin;","import LineSegment from './line-segment';\nimport StepLineMixin from './step-line-mixin';\nimport { deepExtend } from '../../common';\n\nvar StepLineSegment = (function (LineSegment) {\n function StepLineSegment () {\n LineSegment.apply(this, arguments);\n }\n\n if ( LineSegment ) StepLineSegment.__proto__ = LineSegment;\n StepLineSegment.prototype = Object.create( LineSegment && LineSegment.prototype );\n StepLineSegment.prototype.constructor = StepLineSegment;\n\n StepLineSegment.prototype.points = function points () {\n return this.calculateStepPoints(this.linePoints);\n };\n\n return StepLineSegment;\n}(LineSegment));\n\ndeepExtend(StepLineSegment.prototype, StepLineMixin);\n\nexport default StepLineSegment;","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport LineSegment from './line-segment';\n\nimport { CurveProcessor } from '../../core';\n\nimport { isFunction } from '../../common';\n\nvar SplineSegment = (function (LineSegment) {\n function SplineSegment () {\n LineSegment.apply(this, arguments);\n }\n\n if ( LineSegment ) SplineSegment.__proto__ = LineSegment;\n SplineSegment.prototype = Object.create( LineSegment && LineSegment.prototype );\n SplineSegment.prototype.constructor = SplineSegment;\n\n SplineSegment.prototype.segmentVisual = function segmentVisual () {\n var series = this.series;\n var defaults = series._defaults;\n var color = series.color;\n\n if (isFunction(color) && defaults) {\n color = defaults.color;\n }\n\n var curveProcessor = new CurveProcessor(this.options.closed);\n var segments = curveProcessor.process(this.points());\n var curve = new draw.Path({\n stroke: {\n color: color,\n width: series.width,\n opacity: series.opacity,\n dashType: series.dashType\n },\n zIndex: series.zIndex\n });\n\n curve.segments.push.apply(curve.segments, segments);\n\n this.visual = curve;\n };\n\n return SplineSegment;\n}(LineSegment));\n\nexport default SplineSegment;","import { ZERO, INTERPOLATE } from '../constants';\n\nimport { Point } from '../../core';\nimport { MAX_VALUE } from '../../common/constants';\nimport { defined } from '../../common';\n\nvar LineChartMixin = {\n renderSegments: function() {\n var this$1 = this;\n\n var ref = this;\n var options = ref.options;\n var seriesPoints = ref.seriesPoints;\n var series = options.series;\n var seriesCount = seriesPoints.length;\n var lastSegment;\n\n this._segments = [];\n\n for (var seriesIx = 0; seriesIx < seriesCount; seriesIx++) {\n var currentSeries = series[seriesIx];\n var sortedPoints = this$1.sortPoints(seriesPoints[seriesIx]);\n var pointCount = sortedPoints.length;\n var linePoints = [];\n\n for (var pointIx = 0; pointIx < pointCount; pointIx++) {\n var point = sortedPoints[pointIx];\n if (point) {\n linePoints.push(point);\n } else if (this$1.seriesMissingValues(currentSeries) !== INTERPOLATE) {\n if (linePoints.length > 1) {\n lastSegment = this$1.createSegment(\n linePoints, currentSeries, seriesIx, lastSegment\n );\n this$1._addSegment(lastSegment);\n }\n linePoints = [];\n }\n }\n\n if (linePoints.length > 1) {\n lastSegment = this$1.createSegment(\n linePoints, currentSeries, seriesIx, lastSegment\n );\n this$1._addSegment(lastSegment);\n }\n }\n\n this.children.unshift.apply(this.children, this._segments);\n },\n\n _addSegment: function(segment) {\n this._segments.push(segment);\n segment.parent = this;\n },\n\n sortPoints: function(points) {\n return points;\n },\n\n seriesMissingValues: function(series) {\n var missingValues = series.missingValues;\n var assumeZero = !missingValues && this.options.isStacked;\n\n return assumeZero ? ZERO : missingValues || INTERPOLATE;\n },\n\n getNearestPoint: function(x, y, seriesIx) {\n var target = new Point(x, y);\n var allPoints = this.seriesPoints[seriesIx];\n var nearestPointDistance = MAX_VALUE;\n var nearestPoint;\n\n for (var i = 0; i < allPoints.length; i++) {\n var point = allPoints[i];\n\n if (point && defined(point.value) && point.value !== null && point.visible !== false) {\n var pointBox = point.box;\n var pointDistance = pointBox.center().distanceTo(target);\n\n if (pointDistance < nearestPointDistance) {\n nearestPoint = point;\n nearestPointDistance = pointDistance;\n }\n }\n }\n\n return nearestPoint;\n }\n};\n\nexport default LineChartMixin;","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { INITIAL_ANIMATION_DURATION } from '../constants';\n\nimport { interpolateValue, setDefaultOptions } from '../../common';\n\nvar ClipAnimation = (function (superclass) {\n function ClipAnimation () {\n superclass.apply(this, arguments);\n }\n\n if ( superclass ) ClipAnimation.__proto__ = superclass;\n ClipAnimation.prototype = Object.create( superclass && superclass.prototype );\n ClipAnimation.prototype.constructor = ClipAnimation;\n\n ClipAnimation.prototype.setup = function setup () {\n this._setEnd(this.options.box.x1);\n };\n\n ClipAnimation.prototype.step = function step (pos) {\n var box = this.options.box;\n this._setEnd(interpolateValue(box.x1, box.x2, pos));\n };\n\n ClipAnimation.prototype._setEnd = function _setEnd (x) {\n var element = this.element;\n var segments = element.segments;\n var topRight = segments[1].anchor();\n var bottomRight = segments[2].anchor();\n\n element.suspend();\n topRight.setX(x);\n element.resume();\n bottomRight.setX(x);\n };\n\n return ClipAnimation;\n}(draw.Animation));\n\nsetDefaultOptions(ClipAnimation, {\n duration: INITIAL_ANIMATION_DURATION\n});\n\ndraw.AnimationFactory.current.register(\"clip\", ClipAnimation);\n\nexport default ClipAnimation;","import { defined } from '../../common';\n\nexport default function anyHasZIndex(elements) {\n for (var idx = 0; idx < elements.length; idx++) {\n if (defined(elements[idx].zIndex)) {\n return true;\n }\n }\n}","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport ClipAnimation from '../animations/clip-animation';\nimport anyHasZIndex from '../utils/any-has-z-index';\nimport { defined } from '../../common';\n\nvar ClipAnimationMixin = {\n createAnimation: function() {\n var root = this.getRoot();\n if (root && (root.options || {}).transitions !== false) {\n var box = root.size();\n var clipPath = draw.Path.fromRect(box.toRect());\n this.visual.clip(clipPath);\n this.animation = new ClipAnimation(clipPath, {\n box: box\n });\n if (anyHasZIndex(this.options.series)) {\n this._setChildrenAnimation(clipPath);\n }\n }\n },\n\n _setChildrenAnimation: function(clipPath) {\n var points = this.animationPoints();\n\n for (var idx = 0; idx < points.length; idx++) {\n var point = points[idx];\n if (point && point.visual && defined(point.visual.options.zIndex)) {\n point.visual.clip(clipPath);\n }\n }\n }\n};\n\nexport default ClipAnimationMixin;","import CategoricalChart from '../categorical-chart';\nimport LinePoint from './line-point';\nimport LineSegment from './line-segment';\nimport StepLineSegment from './step-line-segment';\nimport SplineSegment from './spline-segment';\nimport LineChartMixin from '../mixins/line-chart-mixin';\nimport ClipAnimationMixin from '../mixins/clip-animation-mixin';\n\nimport { ZERO, SMOOTH, STEP } from '../constants';\n\nimport { deepExtend, defined, isFunction } from '../../common';\n\nvar LineChart = (function (CategoricalChart) {\n function LineChart () {\n CategoricalChart.apply(this, arguments);\n }\n\n if ( CategoricalChart ) LineChart.__proto__ = CategoricalChart;\n LineChart.prototype = Object.create( CategoricalChart && CategoricalChart.prototype );\n LineChart.prototype.constructor = LineChart;\n\n LineChart.prototype.render = function render () {\n\n CategoricalChart.prototype.render.call(this);\n\n this.updateStackRange();\n this.renderSegments();\n };\n\n LineChart.prototype.pointType = function pointType () {\n return LinePoint;\n };\n\n LineChart.prototype.createPoint = function createPoint (data, fields) {\n var series = fields.series;\n var seriesIx = fields.seriesIx;\n var missingValues = this.seriesMissingValues(series);\n var value = data.valueFields.value;\n\n if (!defined(value) || value === null) {\n if (missingValues === ZERO) {\n value = 0;\n } else {\n return null;\n }\n }\n\n var pointOptions = this.pointOptions(series, seriesIx);\n pointOptions = this.evalPointOptions(pointOptions, value, fields);\n\n var color = data.fields.color || series.color;\n if (isFunction(series.color)) {\n color = pointOptions.color;\n }\n\n var point = new LinePoint(value, pointOptions);\n point.color = color;\n\n this.append(point);\n\n return point;\n };\n\n LineChart.prototype.plotRange = function plotRange (point) {\n var this$1 = this;\n\n var plotValue = this.plotValue(point);\n\n if (this.options.isStacked) {\n var categoryIx = point.categoryIx;\n var categoryPoints = this.categoryPoints[categoryIx];\n\n for (var i = 0; i < categoryPoints.length; i++) {\n var other = categoryPoints[i];\n\n if (point === other) {\n break;\n }\n\n plotValue += this$1.plotValue(other);\n\n if (this$1.options.isStacked100) {\n plotValue = Math.min(plotValue, 1);\n }\n }\n\n }\n\n return [ plotValue, plotValue ];\n };\n\n LineChart.prototype.createSegment = function createSegment (linePoints, currentSeries, seriesIx) {\n var style = currentSeries.style;\n var pointType;\n\n if (style === STEP) {\n pointType = StepLineSegment;\n } else if (style === SMOOTH) {\n pointType = SplineSegment;\n } else {\n pointType = LineSegment;\n }\n\n return new pointType(linePoints, currentSeries, seriesIx);\n };\n\n LineChart.prototype.animationPoints = function animationPoints () {\n var points = this.points;\n var result = [];\n for (var idx = 0; idx < points.length; idx++) {\n result.push((points[idx] || {}).marker);\n }\n return result.concat(this._segments);\n };\n\n LineChart.prototype.supportsPointInactiveOpacity = function supportsPointInactiveOpacity () {\n return false;\n };\n\n return LineChart;\n}(CategoricalChart));\n\ndeepExtend(LineChart.prototype, LineChartMixin, ClipAnimationMixin);\n\nexport default LineChart;\n","import { drawing as draw, geometry as geom } from '@progress/kendo-drawing';\nimport LineSegment from '../line-chart/line-segment';\n\nimport { append, deepExtend, isFunction, last } from '../../common';\n\nvar AreaSegment = (function (LineSegment) {\n function AreaSegment(linePoints, currentSeries, seriesIx, prevSegment, stackPoints) {\n LineSegment.call(this, linePoints, currentSeries, seriesIx);\n\n this.prevSegment = prevSegment;\n this.stackPoints = stackPoints;\n }\n\n if ( LineSegment ) AreaSegment.__proto__ = LineSegment;\n AreaSegment.prototype = Object.create( LineSegment && LineSegment.prototype );\n AreaSegment.prototype.constructor = AreaSegment;\n\n AreaSegment.prototype.createVisual = function createVisual () {\n var series = this.series;\n var defaults = series._defaults;\n var lineOptions = series.line || {};\n var color = series.color;\n\n if (isFunction(color) && defaults) {\n color = defaults.color;\n }\n\n this.visual = new draw.Group({\n zIndex: series.zIndex\n });\n\n this.createFill({\n fill: {\n color: color,\n opacity: series.opacity\n },\n stroke: null\n });\n\n if (lineOptions.width > 0 && lineOptions.visible !== false) {\n this.createStroke({\n stroke: deepExtend({\n color: color,\n opacity: series.opacity,\n lineCap: \"butt\"\n }, lineOptions)\n });\n }\n };\n\n AreaSegment.prototype.strokeSegments = function strokeSegments () {\n var segments = this._strokeSegments;\n\n if (!segments) {\n segments = this._strokeSegments = this.createStrokeSegments();\n }\n\n return segments;\n };\n\n AreaSegment.prototype.createStrokeSegments = function createStrokeSegments () {\n return this.segmentsFromPoints(this.points());\n };\n\n AreaSegment.prototype.stackSegments = function stackSegments () {\n if (this.prevSegment) {\n return this.prevSegment.createStackSegments(this.stackPoints);\n }\n\n return this.createStackSegments(this.stackPoints);\n };\n\n AreaSegment.prototype.createStackSegments = function createStackSegments (stackPoints) {\n return this.segmentsFromPoints(this.toGeometryPoints(stackPoints)).reverse();\n };\n\n AreaSegment.prototype.segmentsFromPoints = function segmentsFromPoints (points) {\n return points.map(function (point) { return new geom.Segment(point); });\n };\n\n AreaSegment.prototype.createStroke = function createStroke (style) {\n var stroke = new draw.Path(style);\n stroke.segments.push.apply(stroke.segments, this.strokeSegments());\n\n this.visual.append(stroke);\n };\n\n AreaSegment.prototype.hasStackSegment = function hasStackSegment () {\n return this.prevSegment || (this.stackPoints && this.stackPoints.length);\n };\n\n AreaSegment.prototype.createFill = function createFill (style) {\n var strokeSegments = this.strokeSegments();\n var fillSegments = strokeSegments.slice(0);\n var hasStackSegments = this.hasStackSegment();\n\n if (hasStackSegments) {\n var stackSegments = this.stackSegments();\n\n append(fillSegments, stackSegments);\n }\n\n var fill = new draw.Path(style);\n fill.segments.push.apply(fill.segments, fillSegments);\n\n if (!hasStackSegments && strokeSegments.length > 1) {\n this.fillToAxes(fill);\n }\n\n this.visual.append(fill);\n };\n\n AreaSegment.prototype.fillToAxes = function fillToAxes (fillPath) {\n var chart = this.parent;\n var invertAxes = chart.options.invertAxes;\n var valueAxis = chart.seriesValueAxis(this.series);\n var crossingValue = chart.categoryAxisCrossingValue(valueAxis);\n var endSlot = valueAxis.getSlot(crossingValue, crossingValue, true);\n var segments = this.strokeSegments();\n var firstPoint = segments[0].anchor();\n var lastPoint = last(segments).anchor();\n var end = invertAxes ? endSlot.x1 : endSlot.y1;\n\n if (invertAxes) {\n fillPath.lineTo(end, lastPoint.y)\n .lineTo(end, firstPoint.y);\n } else {\n fillPath.lineTo(lastPoint.x, end)\n .lineTo(firstPoint.x, end);\n }\n };\n\n return AreaSegment;\n}(LineSegment));\n\nexport default AreaSegment;","import StepLineMixin from '../line-chart/step-line-mixin';\nimport AreaSegment from './area-segment';\n\nimport { deepExtend } from '../../common';\n\nvar StepAreaSegment = (function (AreaSegment) {\n function StepAreaSegment () {\n AreaSegment.apply(this, arguments);\n }\n\n if ( AreaSegment ) StepAreaSegment.__proto__ = AreaSegment;\n StepAreaSegment.prototype = Object.create( AreaSegment && AreaSegment.prototype );\n StepAreaSegment.prototype.constructor = StepAreaSegment;\n\n StepAreaSegment.prototype.createStrokeSegments = function createStrokeSegments () {\n return this.segmentsFromPoints(this.calculateStepPoints(this.linePoints));\n };\n\n StepAreaSegment.prototype.createStackSegments = function createStackSegments (stackPoints) {\n return this.segmentsFromPoints(this.calculateStepPoints(stackPoints)).reverse();\n };\n\n return StepAreaSegment;\n}(AreaSegment));\n\ndeepExtend(StepAreaSegment.prototype, StepLineMixin);\n\nexport default StepAreaSegment;","import { geometry as geom } from '@progress/kendo-drawing';\nimport { CurveProcessor } from '../../core';\n\nimport AreaSegment from './area-segment';\n\nvar SplineAreaSegment = (function (AreaSegment) {\n function SplineAreaSegment () {\n AreaSegment.apply(this, arguments);\n }\n\n if ( AreaSegment ) SplineAreaSegment.__proto__ = AreaSegment;\n SplineAreaSegment.prototype = Object.create( AreaSegment && AreaSegment.prototype );\n SplineAreaSegment.prototype.constructor = SplineAreaSegment;\n\n SplineAreaSegment.prototype.createStrokeSegments = function createStrokeSegments () {\n var curveProcessor = new CurveProcessor(this.options.closed);\n var linePoints = this.points();\n\n return curveProcessor.process(linePoints);\n };\n\n SplineAreaSegment.prototype.createStackSegments = function createStackSegments () {\n var strokeSegments = this.strokeSegments();\n var stackSegments = [];\n for (var idx = strokeSegments.length - 1; idx >= 0; idx--) {\n var segment = strokeSegments[idx];\n stackSegments.push(new geom.Segment(\n segment.anchor(),\n segment.controlOut(),\n segment.controlIn()\n ));\n }\n\n return stackSegments;\n };\n\n return SplineAreaSegment;\n}(AreaSegment));\n\nexport default SplineAreaSegment;","import LineChart from '../line-chart/line-chart';\nimport LinePoint from '../line-chart/line-point';\n\nimport AreaSegment from './area-segment';\nimport StepAreaSegment from './step-area-segment';\nimport SplineAreaSegment from './spline-area-segment';\n\nimport { STEP, SMOOTH, ZERO } from '../constants';\n\nvar AreaChart = (function (LineChart) {\n function AreaChart () {\n LineChart.apply(this, arguments);\n }\n\n if ( LineChart ) AreaChart.__proto__ = LineChart;\n AreaChart.prototype = Object.create( LineChart && LineChart.prototype );\n AreaChart.prototype.constructor = AreaChart;\n\n AreaChart.prototype.createSegment = function createSegment (linePoints, currentSeries, seriesIx, prevSegment) {\n var isStacked = this.options.isStacked;\n var style = (currentSeries.line || {}).style;\n var previousSegment;\n\n var stackPoints;\n if (isStacked && seriesIx > 0 && prevSegment) {\n var missingValues = this.seriesMissingValues(currentSeries);\n if (missingValues !== \"gap\") {\n stackPoints = prevSegment.linePoints;\n previousSegment = prevSegment;\n } else {\n stackPoints = this._gapStackPoints(linePoints, seriesIx, style);\n }\n }\n\n var pointType;\n if (style === STEP) {\n pointType = StepAreaSegment;\n } else if (style === SMOOTH) {\n pointType = SplineAreaSegment;\n } else {\n pointType = AreaSegment;\n }\n\n return new pointType(linePoints, currentSeries, seriesIx, previousSegment, stackPoints);\n };\n\n AreaChart.prototype.reflow = function reflow (targetBox) {\n var this$1 = this;\n\n LineChart.prototype.reflow.call(this, targetBox);\n\n var stackPoints = this._stackPoints;\n if (stackPoints) {\n for (var idx = 0; idx < stackPoints.length; idx++) {\n var stackPoint = stackPoints[idx];\n var pointSlot = this$1.categoryAxis.getSlot(stackPoint.categoryIx);\n stackPoint.reflow(pointSlot);\n }\n }\n };\n\n AreaChart.prototype._gapStackPoints = function _gapStackPoints (linePoints, seriesIx, style) {\n var this$1 = this;\n\n var seriesPoints = this.seriesPoints;\n var startIdx = linePoints[0].categoryIx;\n var length = linePoints.length;\n if (startIdx < 0) {\n startIdx = 0;\n length--;\n }\n\n var endIdx = startIdx + length;\n var pointOffset = this.seriesOptions[0]._outOfRangeMinPoint ? 1 : 0;\n var stackPoints = [];\n\n this._stackPoints = this._stackPoints || [];\n for (var categoryIx = startIdx; categoryIx < endIdx; categoryIx++) {\n var pointIx = categoryIx + pointOffset;\n var currentSeriesIx = seriesIx;\n var point = (void 0);\n\n do {\n currentSeriesIx--;\n point = seriesPoints[currentSeriesIx][pointIx];\n } while (currentSeriesIx > 0 && !point);\n\n if (point) {\n if (style !== STEP && categoryIx > startIdx && !seriesPoints[currentSeriesIx][pointIx - 1]) {\n stackPoints.push(this$1._previousSegmentPoint(categoryIx, pointIx, pointIx - 1, currentSeriesIx));\n }\n\n stackPoints.push(point);\n\n if (style !== STEP && categoryIx + 1 < endIdx && !seriesPoints[currentSeriesIx][pointIx + 1]) {\n stackPoints.push(this$1._previousSegmentPoint(categoryIx, pointIx, pointIx + 1, currentSeriesIx));\n }\n } else {\n var gapStackPoint = this$1._createGapStackPoint(categoryIx);\n this$1._stackPoints.push(gapStackPoint);\n stackPoints.push(gapStackPoint);\n }\n }\n\n return stackPoints;\n };\n\n AreaChart.prototype._previousSegmentPoint = function _previousSegmentPoint (categoryIx, pointIx, segmentIx, seriesIdx) {\n var seriesPoints = this.seriesPoints;\n var index = seriesIdx;\n var point;\n\n while (index > 0 && !point) {\n index--;\n point = seriesPoints[index][segmentIx];\n }\n\n if (!point) {\n point = this._createGapStackPoint(categoryIx);\n this._stackPoints.push(point);\n } else {\n point = seriesPoints[index][pointIx];\n }\n\n return point;\n };\n\n AreaChart.prototype._createGapStackPoint = function _createGapStackPoint (categoryIx) {\n var options = this.pointOptions({}, 0);\n var point = new LinePoint(0, options);\n point.categoryIx = categoryIx;\n point.series = {};\n\n return point;\n };\n\n AreaChart.prototype.seriesMissingValues = function seriesMissingValues (series) {\n return series.missingValues || ZERO;\n };\n\n AreaChart.prototype.supportsPointInactiveOpacity = function supportsPointInactiveOpacity () {\n return false;\n };\n\n return AreaChart;\n}(LineChart));\n\nexport default AreaChart;\n","import { MIN_VALUE, MAX_VALUE } from '../common/constants';\nimport { Class } from '../common';\n\nvar AxisGroupRangeTracker = (function (Class) {\n function AxisGroupRangeTracker() {\n Class.call(this);\n\n this.axisRanges = {};\n }\n\n if ( Class ) AxisGroupRangeTracker.__proto__ = Class;\n AxisGroupRangeTracker.prototype = Object.create( Class && Class.prototype );\n AxisGroupRangeTracker.prototype.constructor = AxisGroupRangeTracker;\n\n AxisGroupRangeTracker.prototype.update = function update (chartAxisRanges) {\n var axisRanges = this.axisRanges;\n\n for (var axisName in chartAxisRanges) {\n var chartRange = chartAxisRanges[axisName];\n var range = axisRanges[axisName];\n axisRanges[axisName] = range = range || { min: MAX_VALUE, max: MIN_VALUE };\n\n range.min = Math.min(range.min, chartRange.min);\n range.max = Math.max(range.max, chartRange.max);\n }\n };\n\n AxisGroupRangeTracker.prototype.reset = function reset (axisName) {\n this.axisRanges[axisName] = undefined;\n };\n\n AxisGroupRangeTracker.prototype.query = function query (axisName) {\n return this.axisRanges[axisName];\n };\n\n return AxisGroupRangeTracker;\n}(Class));\n\nexport default AxisGroupRangeTracker;","import { ChartElement, TextBox, Box } from '../../core';\nimport { FADEIN, INITIAL_ANIMATION_DURATION, INSIDE_END, INSIDE_BASE, OUTSIDE_END } from '../constants';\n\nimport { CENTER, TOP, BOTTOM, LEFT, RIGHT, X, Y, BLACK } from '../../common/constants';\nimport { getSpacing, setDefaultOptions } from '../../common';\n\nvar BarLabel = (function (ChartElement) {\n function BarLabel(content, options, pointData) {\n ChartElement.call(this, options);\n\n this.textBox = new TextBox(content, this.options, pointData);\n this.append(this.textBox);\n }\n\n if ( ChartElement ) BarLabel.__proto__ = ChartElement;\n BarLabel.prototype = Object.create( ChartElement && ChartElement.prototype );\n BarLabel.prototype.constructor = BarLabel;\n\n BarLabel.prototype.createVisual = function createVisual () {\n this.textBox.options.noclip = this.options.noclip;\n };\n\n BarLabel.prototype.reflow = function reflow (targetBox) {\n var options = this.options;\n var vertical = options.vertical;\n var aboveAxis = options.aboveAxis;\n var text = this.children[0];\n var textOptions = text.options;\n var box = text.box;\n var padding = text.options.padding;\n var labelBox = targetBox;\n\n textOptions.align = vertical ? CENTER : LEFT;\n textOptions.vAlign = vertical ? TOP : CENTER;\n\n if (options.position === INSIDE_END) {\n if (vertical) {\n textOptions.vAlign = TOP;\n\n if (!aboveAxis && box.height() < targetBox.height()) {\n textOptions.vAlign = BOTTOM;\n }\n } else {\n textOptions.align = aboveAxis ? RIGHT : LEFT;\n }\n } else if (options.position === CENTER) {\n textOptions.vAlign = CENTER;\n textOptions.align = CENTER;\n } else if (options.position === INSIDE_BASE) {\n if (vertical) {\n textOptions.vAlign = aboveAxis ? BOTTOM : TOP;\n } else {\n textOptions.align = aboveAxis ? LEFT : RIGHT;\n }\n } else if (options.position === OUTSIDE_END) {\n if (vertical) {\n if (aboveAxis) {\n labelBox = new Box(\n targetBox.x1, targetBox.y1 - box.height(),\n targetBox.x2, targetBox.y1\n );\n } else {\n labelBox = new Box(\n targetBox.x1, targetBox.y2,\n targetBox.x2, targetBox.y2 + box.height()\n );\n }\n } else {\n textOptions.align = CENTER;\n if (aboveAxis) {\n labelBox = new Box(\n targetBox.x2, targetBox.y1,\n targetBox.x2 + box.width(), targetBox.y2\n );\n } else {\n labelBox = new Box(\n targetBox.x1 - box.width(), targetBox.y1,\n targetBox.x1, targetBox.y2\n );\n }\n }\n }\n\n if (!options.rotation) {\n if (vertical) {\n padding.left = padding.right =\n (labelBox.width() - text.contentBox.width()) / 2;\n } else {\n padding.top = padding.bottom =\n (labelBox.height() - text.contentBox.height()) / 2;\n }\n }\n\n text.reflow(labelBox);\n };\n\n BarLabel.prototype.alignToClipBox = function alignToClipBox (clipBox) {\n var vertical = this.options.vertical;\n var field = vertical ? Y : X;\n var start = field + \"1\";\n var end = field + \"2\";\n var text = this.children[0];\n var parentBox = this.parent.box;\n\n if (parentBox[start] < clipBox[start] || clipBox[end] < parentBox[end]) {\n var targetBox = text.paddingBox.clone();\n targetBox[start] = Math.max(parentBox[start], clipBox[start]);\n targetBox[end] = Math.min(parentBox[end], clipBox[end]);\n\n this.reflow(targetBox);\n }\n };\n\n return BarLabel;\n}(ChartElement));\n\nsetDefaultOptions(BarLabel, {\n position: OUTSIDE_END,\n margin: getSpacing(3),\n padding: getSpacing(4),\n color: BLACK,\n background: \"\",\n border: {\n width: 1,\n color: \"\"\n },\n aboveAxis: true,\n vertical: false,\n animation: {\n type: FADEIN,\n delay: INITIAL_ANIMATION_DURATION\n },\n zIndex: 2\n});\n\nexport default BarLabel;","export default function hasGradientOverlay(options) {\n var overlay = options.overlay;\n\n return overlay && overlay.gradient && overlay.gradient !== \"none\";\n}","import { drawing as draw, Color } from '@progress/kendo-drawing';\n\nimport BarLabel from './bar-label';\n\nimport { BORDER_BRIGHTNESS, TOOLTIP_OFFSET } from '../constants';\n\nimport hasGradientOverlay from '../utils/has-gradient-overlay';\n\nimport { ChartElement, Point } from '../../core';\n\nimport PointEventsMixin from '../mixins/point-events-mixin';\nimport NoteMixin from '../mixins/note-mixin';\n\nimport { WHITE, LEFT, RIGHT, BOTTOM, TOP } from '../../common/constants';\nimport { alignPathToPixel, deepExtend, defined, getTemplate, valueOrDefault } from '../../common';\n\nvar BAR_ALIGN_MIN_WIDTH = 6;\n\nvar Bar = (function (ChartElement) {\n function Bar(value, options) {\n ChartElement.call(this);\n\n this.options = options;\n this.color = options.color || WHITE;\n this.aboveAxis = valueOrDefault(this.options.aboveAxis, true);\n this.value = value;\n }\n\n if ( ChartElement ) Bar.__proto__ = ChartElement;\n Bar.prototype = Object.create( ChartElement && ChartElement.prototype );\n Bar.prototype.constructor = Bar;\n\n Bar.prototype.render = function render () {\n if (this._rendered) {\n return;\n }\n\n this._rendered = true;\n\n this.createLabel();\n this.createNote();\n\n if (this.errorBar) {\n this.append(this.errorBar);\n }\n };\n\n Bar.prototype.createLabel = function createLabel () {\n var options = this.options;\n var labels = options.labels;\n\n if (labels.visible) {\n var pointData = this.pointData();\n var labelTemplate = getTemplate(labels);\n var labelText;\n\n if (labelTemplate) {\n labelText = labelTemplate(pointData);\n } else {\n labelText = this.formatValue(labels.format);\n }\n\n this.label = new BarLabel(labelText,\n deepExtend({\n vertical: options.vertical\n },\n labels\n ), pointData);\n this.append(this.label);\n }\n };\n\n Bar.prototype.formatValue = function formatValue (format) {\n return this.owner.formatPointValue(this, format);\n };\n\n Bar.prototype.reflow = function reflow (targetBox) {\n var this$1 = this;\n\n this.render();\n\n var label = this.label;\n\n this.box = targetBox;\n\n if (label) {\n label.options.aboveAxis = this.aboveAxis;\n label.reflow(targetBox);\n }\n\n if (this.note) {\n this.note.reflow(targetBox);\n }\n\n if (this.errorBars) {\n for (var i = 0; i < this.errorBars.length; i++) {\n this$1.errorBars[i].reflow(targetBox);\n }\n }\n };\n\n Bar.prototype.createVisual = function createVisual () {\n var this$1 = this;\n\n var ref = this;\n var box = ref.box;\n var options = ref.options;\n var customVisual = options.visual;\n\n if (this.visible !== false) {\n ChartElement.prototype.createVisual.call(this);\n\n if (customVisual) {\n var visual = this.rectVisual = customVisual({\n category: this.category,\n dataItem: this.dataItem,\n value: this.value,\n sender: this.getSender(),\n series: this.series,\n percentage: this.percentage,\n stackValue: this.stackValue,\n runningTotal: this.runningTotal,\n total: this.total,\n rect: box.toRect(),\n createVisual: function () {\n var group = new draw.Group();\n this$1.createRect(group);\n return group;\n },\n options: options\n });\n\n if (visual) {\n this.visual.append(visual);\n }\n } else if (box.width() > 0 && box.height() > 0) {\n this.createRect(this.visual);\n }\n }\n };\n\n Bar.prototype.createRect = function createRect (visual) {\n var options = this.options;\n var border = options.border;\n var strokeOpacity = defined(border.opacity) ? border.opacity : options.opacity;\n var rect = this.box.toRect();\n\n rect.size.width = Math.round(rect.size.width);\n\n var path = this.rectVisual = draw.Path.fromRect(rect, {\n fill: {\n color: this.color,\n opacity: options.opacity\n },\n stroke: {\n color: this.getBorderColor(),\n width: border.width,\n opacity: strokeOpacity,\n dashType: border.dashType\n }\n });\n\n var width = this.box.width();\n var height = this.box.height();\n\n var size = options.vertical ? width : height;\n\n if (size > BAR_ALIGN_MIN_WIDTH) {\n alignPathToPixel(path);\n\n // Fixes lineJoin issue in firefox when the joined lines are parallel\n if (width < 1 || height < 1) {\n path.options.stroke.lineJoin = \"round\";\n }\n }\n\n visual.append(path);\n\n if (hasGradientOverlay(options)) {\n var overlay = this.createGradientOverlay(path, { baseColor: this.color }, deepExtend({\n end: !options.vertical ? [ 0, 1 ] : undefined\n }, options.overlay));\n\n visual.append(overlay);\n }\n };\n\n Bar.prototype.createHighlight = function createHighlight (style) {\n var highlight = draw.Path.fromRect(this.box.toRect(), style);\n\n return alignPathToPixel(highlight);\n };\n\n Bar.prototype.highlightVisual = function highlightVisual () {\n return this.rectVisual;\n };\n\n Bar.prototype.highlightVisualArgs = function highlightVisualArgs () {\n return {\n options: this.options,\n rect: this.box.toRect(),\n visual: this.rectVisual\n };\n };\n\n Bar.prototype.getBorderColor = function getBorderColor () {\n var color = this.color;\n var border = this.options.border;\n var brightness = border._brightness || BORDER_BRIGHTNESS;\n var borderColor = border.color;\n\n if (!defined(borderColor)) {\n borderColor = new Color(color).brightness(brightness).toHex();\n }\n\n return borderColor;\n };\n\n Bar.prototype.tooltipAnchor = function tooltipAnchor () {\n var ref = this;\n var options = ref.options;\n var box = ref.box;\n var aboveAxis = ref.aboveAxis;\n var clipBox = this.owner.pane.clipBox() || box;\n var horizontalAlign = LEFT;\n var verticalAlign = TOP;\n var x, y;\n\n if (options.vertical) {\n x = Math.min(box.x2, clipBox.x2) + TOOLTIP_OFFSET;\n if (aboveAxis) {\n y = Math.max(box.y1, clipBox.y1);\n } else {\n y = Math.min(box.y2, clipBox.y2);\n verticalAlign = BOTTOM;\n }\n } else {\n var x1 = Math.max(box.x1, clipBox.x1);\n var x2 = Math.min(box.x2, clipBox.x2);\n\n if (options.isStacked) {\n verticalAlign = BOTTOM;\n if (aboveAxis) {\n horizontalAlign = RIGHT;\n x = x2;\n } else {\n x = x1;\n }\n y = Math.max(box.y1, clipBox.y1) - TOOLTIP_OFFSET;\n } else {\n if (aboveAxis) {\n x = x2 + TOOLTIP_OFFSET;\n } else {\n x = x1 - TOOLTIP_OFFSET;\n horizontalAlign = RIGHT;\n }\n y = Math.max(box.y1, clipBox.y1);\n }\n }\n\n return {\n point: new Point(x, y),\n align: {\n horizontal: horizontalAlign,\n vertical: verticalAlign\n }\n };\n };\n\n Bar.prototype.overlapsBox = function overlapsBox (box) {\n return this.box.overlaps(box);\n };\n\n Bar.prototype.pointData = function pointData () {\n return {\n dataItem: this.dataItem,\n category: this.category,\n value: this.value,\n percentage: this.percentage,\n stackValue: this.stackValue,\n runningTotal: this.runningTotal,\n total: this.total,\n series: this.series\n };\n };\n\n return Bar;\n}(ChartElement));\n\ndeepExtend(Bar.prototype, PointEventsMixin);\ndeepExtend(Bar.prototype, NoteMixin);\n\nBar.prototype.defaults = {\n border: {\n width: 1\n },\n vertical: true,\n overlay: {\n gradient: \"glass\"\n },\n labels: {\n visible: false,\n format: \"{0}\"\n },\n opacity: 1,\n notes: {\n label: {}\n }\n};\n\nexport default Bar;","export function forEach(elements, callback) {\n elements.forEach(callback);\n}\n\nexport function forEachReverse(elements, callback) {\n var length = elements.length;\n\n for (var idx = length - 1; idx >= 0; idx--) {\n callback(elements[idx], idx - length - 1);\n }\n}","import { ChartElement } from '../../core';\n\nimport { X, Y } from '../../common/constants';\nimport { setDefaultOptions } from '../../common';\nimport { forEach, forEachReverse } from './utils';\n\nvar ClusterLayout = (function (ChartElement) {\n function ClusterLayout(options) {\n ChartElement.call(this, options);\n\n this.forEach = options.rtl ? forEachReverse : forEach;\n }\n\n if ( ChartElement ) ClusterLayout.__proto__ = ChartElement;\n ClusterLayout.prototype = Object.create( ChartElement && ChartElement.prototype );\n ClusterLayout.prototype.constructor = ClusterLayout;\n\n ClusterLayout.prototype.reflow = function reflow (box) {\n var ref = this.options;\n var vertical = ref.vertical;\n var gap = ref.gap;\n var spacing = ref.spacing;\n var children = this.children;\n var count = children.length;\n var axis = vertical ? Y : X;\n var slots = count + gap + (spacing * (count - 1));\n var slotSize = (vertical ? box.height() : box.width()) / slots;\n var position = box[axis + 1] + slotSize * (gap / 2);\n\n this.forEach(children, function (child, idx) {\n var childBox = (child.box || box).clone();\n\n childBox[axis + 1] = position;\n childBox[axis + 2] = position + slotSize;\n\n child.reflow(childBox);\n if (idx < count - 1) {\n position += (slotSize * spacing);\n }\n\n position += slotSize;\n });\n };\n\n return ClusterLayout;\n}(ChartElement));\n\nsetDefaultOptions(ClusterLayout, {\n vertical: false,\n gap: 0,\n spacing: 0\n});\n\nexport default ClusterLayout;","import { ChartElement, Box } from '../../core';\n\nimport { X, Y } from '../../common/constants';\nimport { setDefaultOptions } from '../../common';\n\nvar StackWrap = (function (ChartElement) {\n function StackWrap () {\n ChartElement.apply(this, arguments);\n }\n\n if ( ChartElement ) StackWrap.__proto__ = ChartElement;\n StackWrap.prototype = Object.create( ChartElement && ChartElement.prototype );\n StackWrap.prototype.constructor = StackWrap;\n\n StackWrap.prototype.reflow = function reflow (targetBox) {\n var this$1 = this;\n\n var positionAxis = this.options.vertical ? X : Y;\n var children = this.children;\n var childrenCount = children.length;\n var box = this.box = new Box();\n\n for (var i = 0; i < childrenCount; i++) {\n var currentChild = children[i];\n\n if (currentChild.visible !== false) {\n var childBox = currentChild.box.clone();\n childBox.snapTo(targetBox, positionAxis);\n\n if (i === 0) {\n box = this$1.box = childBox.clone();\n }\n\n currentChild.reflow(childBox);\n box.wrap(childBox);\n }\n }\n };\n\n return StackWrap;\n}(ChartElement));\n\nsetDefaultOptions(StackWrap, {\n vertical: true\n});\n\nexport default StackWrap;","import { geometry as geom } from '@progress/kendo-drawing';\n\nimport Bar from './bar';\n\nimport CategoricalChart from '../categorical-chart';\nimport ClusterLayout from '../layout/cluster-layout';\nimport StackWrap from '../layout/stack-wrap';\nimport { BAR, OUTSIDE_END, INSIDE_END } from '../constants';\n\nimport anyHasZIndex from '../utils/any-has-z-index';\n\nimport { STRING, X, Y } from '../../common/constants';\nimport { defined, isFunction, setDefaultOptions } from '../../common';\n\nvar BarChart = (function (CategoricalChart) {\n function BarChart () {\n CategoricalChart.apply(this, arguments);\n }\n\n if ( CategoricalChart ) BarChart.__proto__ = CategoricalChart;\n BarChart.prototype = Object.create( CategoricalChart && CategoricalChart.prototype );\n BarChart.prototype.constructor = BarChart;\n\n BarChart.prototype.render = function render () {\n CategoricalChart.prototype.render.call(this);\n this.updateStackRange();\n };\n\n BarChart.prototype.pointType = function pointType () {\n return Bar;\n };\n\n BarChart.prototype.clusterType = function clusterType () {\n return ClusterLayout;\n };\n\n BarChart.prototype.stackType = function stackType () {\n return StackWrap;\n };\n\n BarChart.prototype.stackLimits = function stackLimits (axisName, stackName) {\n var limits = CategoricalChart.prototype.stackLimits.call(this, axisName, stackName);\n\n return limits;\n };\n\n BarChart.prototype.createPoint = function createPoint (data, fields) {\n var categoryIx = fields.categoryIx;\n var series = fields.series;\n var seriesIx = fields.seriesIx;\n var ref = this;\n var options = ref.options;\n var children = ref.children;\n var isStacked = options.isStacked;\n var value = this.pointValue(data);\n var pointOptions = this.pointOptions(series, seriesIx);\n\n var labelOptions = pointOptions.labels;\n if (isStacked) {\n if (labelOptions.position === OUTSIDE_END) {\n labelOptions.position = INSIDE_END;\n }\n }\n\n pointOptions.isStacked = isStacked;\n\n var color = data.fields.color || series.color;\n if (value < 0 && pointOptions.negativeColor) {\n color = pointOptions.negativeColor;\n }\n\n pointOptions = this.evalPointOptions(pointOptions, value, fields);\n if (isFunction(series.color)) {\n color = pointOptions.color;\n }\n\n var pointType = this.pointType();\n var point = new pointType(value, pointOptions);\n point.color = color;\n\n var cluster = children[categoryIx];\n if (!cluster) {\n var clusterType = this.clusterType();\n cluster = new clusterType({\n vertical: options.invertAxes,\n gap: options.gap,\n spacing: options.spacing,\n rtl: !options.invertAxes && (this.chartService || {}).rtl\n });\n this.append(cluster);\n }\n\n if (isStacked) {\n var stackWrap = this.getStackWrap(series, cluster);\n stackWrap.append(point);\n } else {\n cluster.append(point);\n }\n\n return point;\n };\n\n BarChart.prototype.getStackWrap = function getStackWrap (series, cluster) {\n var stack = series.stack;\n var stackGroup = stack ? stack.group || stack : stack;\n var wraps = cluster.children;\n var stackWrap;\n\n if (typeof stackGroup === STRING) {\n for (var i = 0; i < wraps.length; i++) {\n if (wraps[i]._stackGroup === stackGroup) {\n stackWrap = wraps[i];\n break;\n }\n }\n } else {\n stackWrap = wraps[0];\n }\n\n if (!stackWrap) {\n var stackType = this.stackType();\n stackWrap = new stackType({\n vertical: !this.options.invertAxes\n });\n stackWrap._stackGroup = stackGroup;\n cluster.append(stackWrap);\n }\n\n return stackWrap;\n };\n\n BarChart.prototype.categorySlot = function categorySlot (categoryAxis, categoryIx, valueAxis) {\n var options = this.options;\n var categorySlot = categoryAxis.getSlot(categoryIx);\n var startValue = valueAxis.startValue();\n\n if (options.isStacked) {\n var zeroSlot = valueAxis.getSlot(startValue, startValue, true);\n var stackAxis = options.invertAxes ? X : Y;\n categorySlot[stackAxis + 1] = categorySlot[stackAxis + 2] = zeroSlot[stackAxis + 1];\n }\n\n return categorySlot;\n };\n\n BarChart.prototype.reflowCategories = function reflowCategories (categorySlots) {\n var children = this.children;\n var childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; i++) {\n children[i].reflow(categorySlots[i]);\n }\n };\n\n BarChart.prototype.createAnimation = function createAnimation () {\n this._setAnimationOptions();\n CategoricalChart.prototype.createAnimation.call(this);\n\n if (anyHasZIndex(this.options.series)) {\n this._setChildrenAnimation();\n }\n };\n\n BarChart.prototype._setChildrenAnimation = function _setChildrenAnimation () {\n var this$1 = this;\n\n var points = this.points;\n\n for (var idx = 0; idx < points.length; idx++) {\n var point = points[idx];\n var pointVisual = point.visual;\n if (pointVisual && defined(pointVisual.options.zIndex)) {\n point.options.animation = this$1.options.animation;\n point.createAnimation();\n }\n }\n };\n\n BarChart.prototype._setAnimationOptions = function _setAnimationOptions () {\n var options = this.options;\n var animation = options.animation || {};\n var origin;\n\n if (options.isStacked) {\n var valueAxis = this.seriesValueAxis(options.series[0]);\n origin = valueAxis.getSlot(valueAxis.startValue());\n } else {\n origin = this.categoryAxis.getSlot(0);\n }\n\n animation.origin = new geom.Point(origin.x1, origin.y1);\n animation.vertical = !options.invertAxes;\n };\n\n return BarChart;\n}(CategoricalChart));\n\nsetDefaultOptions(BarChart, {\n animation: {\n type: BAR\n }\n});\n\nexport default BarChart;\n","import { drawing as draw, Color } from '@progress/kendo-drawing';\n\nimport { ChartElement, Point } from '../../core';\nimport PointEventsMixin from '../mixins/point-events-mixin';\nimport NoteMixin from '../mixins/note-mixin';\n\nimport { TOOLTIP_OFFSET } from '../constants';\nimport hasGradientOverlay from '../utils/has-gradient-overlay';\n\nimport { WHITE, LEFT, TOP } from '../../common/constants';\nimport { alignPathToPixel, deepExtend, defined, setDefaultOptions, valueOrDefault } from '../../common';\n\nvar Candlestick = (function (ChartElement) {\n function Candlestick(value, options) {\n ChartElement.call(this, options);\n this.value = value;\n }\n\n if ( ChartElement ) Candlestick.__proto__ = ChartElement;\n Candlestick.prototype = Object.create( ChartElement && ChartElement.prototype );\n Candlestick.prototype.constructor = Candlestick;\n\n Candlestick.prototype.reflow = function reflow (box) {\n var ref = this;\n var options = ref.options;\n var value = ref.value;\n var chart = ref.owner;\n var valueAxis = chart.seriesValueAxis(options);\n var ocSlot = valueAxis.getSlot(value.open, value.close);\n var lhSlot = valueAxis.getSlot(value.low, value.high);\n\n ocSlot.x1 = lhSlot.x1 = box.x1;\n ocSlot.x2 = lhSlot.x2 = box.x2;\n\n this.realBody = ocSlot;\n\n var mid = lhSlot.center().x;\n var points = [];\n\n points.push([ [ mid, lhSlot.y1 ], [ mid, ocSlot.y1 ] ]);\n points.push([ [ mid, ocSlot.y2 ], [ mid, lhSlot.y2 ] ]);\n\n this.lines = points;\n\n this.box = lhSlot.clone().wrap(ocSlot);\n\n if (!this._rendered) {\n this._rendered = true;\n this.createNote();\n }\n\n this.reflowNote();\n };\n\n Candlestick.prototype.reflowNote = function reflowNote () {\n if (this.note) {\n this.note.reflow(this.box);\n }\n };\n\n Candlestick.prototype.createVisual = function createVisual () {\n ChartElement.prototype.createVisual.call(this);\n this._mainVisual = this.mainVisual(this.options);\n this.visual.append(\n this._mainVisual\n );\n\n this.createOverlay();\n };\n\n Candlestick.prototype.mainVisual = function mainVisual (options) {\n var group = new draw.Group();\n\n this.createBody(group, options);\n this.createLines(group, options);\n\n return group;\n };\n\n Candlestick.prototype.createBody = function createBody (container, options) {\n var body = draw.Path.fromRect(this.realBody.toRect(), {\n fill: {\n color: this.color,\n opacity: options.opacity\n },\n stroke: null\n });\n\n if (options.border.width > 0) {\n body.options.set(\"stroke\", {\n color: this.getBorderColor(),\n width: options.border.width,\n dashType: options.border.dashType,\n opacity: valueOrDefault(options.border.opacity, options.opacity)\n });\n }\n\n alignPathToPixel(body);\n container.append(body);\n\n if (hasGradientOverlay(options)) {\n container.append(this.createGradientOverlay(body, { baseColor: this.color }, deepExtend({\n end: !options.vertical ? [ 0, 1 ] : undefined\n }, options.overlay)));\n }\n };\n\n Candlestick.prototype.createLines = function createLines (container, options) {\n this.drawLines(container, options, this.lines, options.line);\n };\n\n Candlestick.prototype.drawLines = function drawLines (container, options, lines, lineOptions) {\n if (!lines) {\n return;\n }\n\n var lineStyle = {\n stroke: {\n color: lineOptions.color || this.color,\n opacity: valueOrDefault(lineOptions.opacity, options.opacity),\n width: lineOptions.width,\n dashType: lineOptions.dashType,\n lineCap: \"butt\"\n }\n };\n\n for (var i = 0; i < lines.length; i++) {\n var line = draw.Path.fromPoints(lines[i], lineStyle);\n alignPathToPixel(line);\n container.append(line);\n }\n };\n\n Candlestick.prototype.getBorderColor = function getBorderColor () {\n var border = this.options.border;\n var borderColor = border.color;\n\n if (!defined(borderColor)) {\n borderColor = new Color(this.color).brightness(border._brightness).toHex();\n }\n\n return borderColor;\n };\n\n Candlestick.prototype.createOverlay = function createOverlay () {\n var overlay = draw.Path.fromRect(this.box.toRect(), {\n fill: {\n color: WHITE,\n opacity: 0\n },\n stroke: null\n });\n\n this.visual.append(overlay);\n };\n\n Candlestick.prototype.createHighlight = function createHighlight () {\n var highlight = this.options.highlight;\n var normalColor = this.color;\n\n this.color = highlight.color || this.color;\n var overlay = this.mainVisual(\n deepExtend({}, this.options, {\n line: {\n color: this.getBorderColor()\n }\n }, highlight)\n );\n this.color = normalColor;\n\n return overlay;\n };\n\n Candlestick.prototype.highlightVisual = function highlightVisual () {\n return this._mainVisual;\n };\n\n Candlestick.prototype.highlightVisualArgs = function highlightVisualArgs () {\n return {\n options: this.options,\n rect: this.box.toRect(),\n visual: this._mainVisual\n };\n };\n\n Candlestick.prototype.tooltipAnchor = function tooltipAnchor () {\n var box = this.box;\n var clipBox = this.owner.pane.clipBox() || box;\n\n return {\n point: new Point(box.x2 + TOOLTIP_OFFSET, Math.max(box.y1, clipBox.y1) + TOOLTIP_OFFSET),\n align: {\n horizontal: LEFT,\n vertical: TOP\n }\n };\n };\n\n Candlestick.prototype.formatValue = function formatValue (format) {\n return this.owner.formatPointValue(this, format);\n };\n\n Candlestick.prototype.overlapsBox = function overlapsBox (box) {\n return this.box.overlaps(box);\n };\n\n return Candlestick;\n}(ChartElement));\n\nsetDefaultOptions(Candlestick, {\n vertical: true,\n border: {\n _brightness: 0.8\n },\n line: {\n width: 2\n },\n overlay: {\n gradient: \"glass\"\n },\n tooltip: {\n format: \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"
{4:d}
Open:{0:C}
High:{1:C}
Low:{2:C}
Close:{3:C}
\"\n },\n highlight: {\n opacity: 1,\n border: {\n width: 1,\n opacity: 1\n },\n line: {\n width: 1,\n opacity: 1\n }\n },\n notes: {\n visible: true,\n label: {}\n }\n});\n\ndeepExtend(Candlestick.prototype, PointEventsMixin);\ndeepExtend(Candlestick.prototype, NoteMixin);\n\nexport default Candlestick;","import countNumbers from './count-numbers';\n\nexport default function areNumbers(values) {\n return countNumbers(values) === values.length;\n}","import CategoricalChart from '../categorical-chart';\nimport ClusterLayout from '../layout/cluster-layout';\nimport Candlestick from './candlestick';\n\nimport ClipAnimationMixin from '../mixins/clip-animation-mixin';\nimport { CANDLESTICK } from '../constants';\nimport areNumbers from '../utils/are-numbers';\n\nimport { MIN_VALUE, MAX_VALUE } from '../../common/constants';\nimport { deepExtend, isFunction } from '../../common';\n\nvar CandlestickChart = (function (CategoricalChart) {\n function CandlestickChart () {\n CategoricalChart.apply(this, arguments);\n }\n\n if ( CategoricalChart ) CandlestickChart.__proto__ = CategoricalChart;\n CandlestickChart.prototype = Object.create( CategoricalChart && CategoricalChart.prototype );\n CandlestickChart.prototype.constructor = CandlestickChart;\n\n CandlestickChart.prototype.reflowCategories = function reflowCategories (categorySlots) {\n var children = this.children;\n var childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; i++) {\n children[i].reflow(categorySlots[i]);\n }\n };\n\n CandlestickChart.prototype.addValue = function addValue (data, fields) {\n var categoryIx = fields.categoryIx;\n var category = fields.category;\n var series = fields.series;\n var seriesIx = fields.seriesIx;\n var ref = this;\n var children = ref.children;\n var options = ref.options;\n var value = data.valueFields;\n var valueParts = this.splitValue(value);\n var hasValue = areNumbers(valueParts);\n var dataItem = series.data[categoryIx];\n var categoryPoints = this.categoryPoints[categoryIx];\n var point;\n\n if (!categoryPoints) {\n this.categoryPoints[categoryIx] = categoryPoints = [];\n }\n\n if (hasValue) {\n point = this.createPoint(data, fields);\n }\n\n var cluster = children[categoryIx];\n if (!cluster) {\n cluster = new ClusterLayout({\n vertical: options.invertAxes,\n gap: options.gap,\n spacing: options.spacing,\n rtl: !options.invertAxes && (this.chartService || {}).rtl\n });\n this.append(cluster);\n }\n\n if (point) {\n this.updateRange(value, fields);\n\n cluster.append(point);\n\n point.categoryIx = categoryIx;\n point.category = category;\n point.series = series;\n point.seriesIx = seriesIx;\n point.owner = this;\n point.dataItem = dataItem;\n point.noteText = data.fields.noteText;\n }\n\n this.points.push(point);\n categoryPoints.push(point);\n };\n\n CandlestickChart.prototype.pointType = function pointType () {\n return Candlestick;\n };\n\n CandlestickChart.prototype.createPoint = function createPoint (data, fields) {\n var series = fields.series;\n var pointType = this.pointType();\n var value = data.valueFields;\n var pointOptions = deepExtend({}, series);\n var color = data.fields.color || series.color;\n\n pointOptions = this.evalPointOptions(pointOptions, value, fields);\n\n if (series.type === CANDLESTICK) {\n if (value.open > value.close) {\n color = data.fields.downColor || series.downColor || series.color;\n }\n }\n\n if (isFunction(series.color)) {\n color = pointOptions.color;\n }\n\n pointOptions.vertical = !this.options.invertAxes;\n\n var point = new pointType(value, pointOptions);\n point.color = color;\n\n return point;\n };\n\n CandlestickChart.prototype.splitValue = function splitValue (value) {\n return [ value.low, value.open, value.close, value.high ];\n };\n\n CandlestickChart.prototype.updateRange = function updateRange (value, fields) {\n var axisName = fields.series.axis;\n var parts = this.splitValue(value);\n var axisRange = this.valueAxisRanges[axisName];\n\n axisRange = this.valueAxisRanges[axisName] =\n axisRange || { min: MAX_VALUE, max: MIN_VALUE };\n\n axisRange = this.valueAxisRanges[axisName] = {\n min: Math.min.apply(Math, parts.concat([ axisRange.min ])),\n max: Math.max.apply(Math, parts.concat([ axisRange.max ]))\n };\n };\n\n CandlestickChart.prototype.formatPointValue = function formatPointValue (point, format) {\n var value = point.value;\n\n return this.chartService.format.auto(format,\n value.open, value.high,\n value.low, value.close, point.category\n );\n };\n\n CandlestickChart.prototype.animationPoints = function animationPoints () {\n return this.points;\n };\n\n return CandlestickChart;\n}(CategoricalChart));\n\ndeepExtend(CandlestickChart.prototype, ClipAnimationMixin);\n\nexport default CandlestickChart;\n","import { Color } from '@progress/kendo-drawing';\n\nimport Candlestick from '../candlestick-chart/candlestick';\nimport PointEventsMixin from '../mixins/point-events-mixin';\nimport { ShapeElement } from '../../core';\n\nimport { LINE_MARKER_SIZE, BORDER_BRIGHTNESS } from '../constants';\n\nimport { CROSS, CIRCLE, WHITE } from '../../common/constants';\nimport { deepExtend, defined, setDefaultOptions } from '../../common';\n\nvar BoxPlot = (function (Candlestick) {\n function BoxPlot(value, options) {\n Candlestick.call(this, value, options);\n\n this.createNote();\n }\n\n if ( Candlestick ) BoxPlot.__proto__ = Candlestick;\n BoxPlot.prototype = Object.create( Candlestick && Candlestick.prototype );\n BoxPlot.prototype.constructor = BoxPlot;\n\n BoxPlot.prototype.reflow = function reflow (box) {\n var ref = this;\n var options = ref.options;\n var value = ref.value;\n var chart = ref.owner;\n var valueAxis = chart.seriesValueAxis(options);\n var whiskerSlot, boxSlot;\n\n this.boxSlot = boxSlot = valueAxis.getSlot(value.q1, value.q3);\n this.realBody = boxSlot;\n this.reflowBoxSlot(box);\n\n this.whiskerSlot = whiskerSlot = valueAxis.getSlot(value.lower, value.upper);\n this.reflowWhiskerSlot(box);\n\n var medianSlot = valueAxis.getSlot(value.median);\n\n if (value.mean) {\n var meanSlot = valueAxis.getSlot(value.mean);\n this.meanPoints = this.calcMeanPoints(box, meanSlot);\n }\n\n this.whiskerPoints = this.calcWhiskerPoints(boxSlot, whiskerSlot);\n this.medianPoints = this.calcMedianPoints(box, medianSlot);\n\n this.box = whiskerSlot.clone().wrap(boxSlot);\n this.reflowNote();\n };\n\n BoxPlot.prototype.reflowBoxSlot = function reflowBoxSlot (box) {\n this.boxSlot.x1 = box.x1;\n this.boxSlot.x2 = box.x2;\n };\n\n BoxPlot.prototype.reflowWhiskerSlot = function reflowWhiskerSlot (box) {\n this.whiskerSlot.x1 = box.x1;\n this.whiskerSlot.x2 = box.x2;\n };\n\n BoxPlot.prototype.calcMeanPoints = function calcMeanPoints (box, meanSlot) {\n return [\n [ [ box.x1, meanSlot.y1 ], [ box.x2, meanSlot.y1 ] ]\n ];\n };\n\n BoxPlot.prototype.calcWhiskerPoints = function calcWhiskerPoints (boxSlot, whiskerSlot) {\n var mid = whiskerSlot.center().x;\n return [ [\n [ mid - 5, whiskerSlot.y1 ], [ mid + 5, whiskerSlot.y1 ],\n [ mid, whiskerSlot.y1 ], [ mid, boxSlot.y1 ]\n ], [\n [ mid - 5, whiskerSlot.y2 ], [ mid + 5, whiskerSlot.y2 ],\n [ mid, whiskerSlot.y2 ], [ mid, boxSlot.y2 ]\n ] ];\n };\n\n BoxPlot.prototype.calcMedianPoints = function calcMedianPoints (box, medianSlot) {\n return [\n [ [ box.x1, medianSlot.y1 ], [ box.x2, medianSlot.y1 ] ]\n ];\n };\n\n BoxPlot.prototype.renderOutliers = function renderOutliers (options) {\n var this$1 = this;\n\n var value = this.value;\n var outliers = value.outliers || [];\n var outerFence = Math.abs(value.q3 - value.q1) * 3;\n var elements = [];\n var markers = options.markers || {};\n\n for (var i = 0; i < outliers.length; i++) {\n var outlierValue = outliers[i];\n if (outlierValue < value.q3 + outerFence && outlierValue > value.q1 - outerFence) {\n markers = options.outliers;\n } else {\n markers = options.extremes;\n }\n var markersBorder = deepExtend({}, markers.border);\n\n if (!defined(markersBorder.color)) {\n if (defined(this$1.color)) {\n markersBorder.color = this$1.color;\n } else {\n markersBorder.color =\n new Color(markers.background).brightness(BORDER_BRIGHTNESS).toHex();\n }\n }\n\n var shape = new ShapeElement({\n type: markers.type,\n width: markers.size,\n height: markers.size,\n rotation: markers.rotation,\n background: markers.background,\n border: markersBorder,\n opacity: markers.opacity\n });\n\n shape.value = outlierValue;\n\n elements.push(shape);\n }\n\n this.reflowOutliers(elements);\n return elements;\n };\n\n BoxPlot.prototype.reflowOutliers = function reflowOutliers (outliers) {\n var this$1 = this;\n\n var valueAxis = this.owner.seriesValueAxis(this.options);\n var center = this.box.center();\n\n for (var i = 0; i < outliers.length; i++) {\n var outlierValue = outliers[i].value;\n var markerBox = valueAxis.getSlot(outlierValue);\n\n if (this$1.options.vertical) {\n markerBox.move(center.x);\n } else {\n markerBox.move(undefined, center.y);\n }\n\n this$1.box = this$1.box.wrap(markerBox);\n outliers[i].reflow(markerBox);\n }\n };\n\n BoxPlot.prototype.mainVisual = function mainVisual (options) {\n var group = Candlestick.prototype.mainVisual.call(this, options);\n var outliers = this.renderOutliers(options);\n\n for (var i = 0; i < outliers.length; i++) {\n var element = outliers[i].getElement();\n if (element) {\n group.append(element);\n }\n }\n\n return group;\n };\n\n BoxPlot.prototype.createLines = function createLines (container, options) {\n this.drawLines(container, options, this.whiskerPoints, options.whiskers);\n this.drawLines(container, options, this.medianPoints, options.median);\n this.drawLines(container, options, this.meanPoints, options.mean);\n };\n\n BoxPlot.prototype.getBorderColor = function getBorderColor () {\n if ((this.options.border || {}).color) {\n return this.options.border.color;\n }\n\n if (this.color) {\n return this.color;\n }\n\n return Candlestick.prototype.getBorderColor.call(this);\n };\n\n return BoxPlot;\n}(Candlestick));\n\nsetDefaultOptions(BoxPlot, {\n border: {\n _brightness: 0.8\n },\n line: {\n width: 2\n },\n median: {\n color: \"#f6f6f6\"\n },\n mean: {\n width: 2,\n dashType: \"dash\",\n color: \"#f6f6f6\"\n },\n overlay: {\n gradient: \"glass\"\n },\n tooltip: {\n format: \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"
{6:d}
Lower:{0:C}
Q1:{1:C}
Median:{2:C}
Mean:{5:C}
Q3:{3:C}
Upper:{4:C}
\"\n },\n highlight: {\n opacity: 1,\n border: {\n width: 1,\n opacity: 1\n },\n line: {\n width: 1,\n opacity: 1\n }\n },\n notes: {\n visible: true,\n label: {}\n },\n outliers: {\n visible: true,\n size: LINE_MARKER_SIZE,\n type: CROSS,\n background: WHITE,\n border: {\n width: 2,\n opacity: 1\n },\n opacity: 0\n },\n extremes: {\n visible: true,\n size: LINE_MARKER_SIZE,\n type: CIRCLE,\n background: WHITE,\n border: {\n width: 2,\n opacity: 1\n },\n opacity: 0\n }\n});\n\ndeepExtend(BoxPlot.prototype, PointEventsMixin);\n\nexport default BoxPlot;","import BoxPlot from './box-plot';\n\nvar VerticalBoxPlot = (function (BoxPlot) {\n function VerticalBoxPlot () {\n BoxPlot.apply(this, arguments);\n }\n\n if ( BoxPlot ) VerticalBoxPlot.__proto__ = BoxPlot;\n VerticalBoxPlot.prototype = Object.create( BoxPlot && BoxPlot.prototype );\n VerticalBoxPlot.prototype.constructor = VerticalBoxPlot;\n\n VerticalBoxPlot.prototype.reflowBoxSlot = function reflowBoxSlot (box) {\n this.boxSlot.y1 = box.y1;\n this.boxSlot.y2 = box.y2;\n };\n\n VerticalBoxPlot.prototype.reflowWhiskerSlot = function reflowWhiskerSlot (box) {\n this.whiskerSlot.y1 = box.y1;\n this.whiskerSlot.y2 = box.y2;\n };\n\n VerticalBoxPlot.prototype.calcMeanPoints = function calcMeanPoints (box, meanSlot) {\n return [\n [ [ meanSlot.x1, box.y1 ], [ meanSlot.x1, box.y2 ] ]\n ];\n };\n\n VerticalBoxPlot.prototype.calcWhiskerPoints = function calcWhiskerPoints (boxSlot, whiskerSlot) {\n var mid = whiskerSlot.center().y;\n return [ [\n [ whiskerSlot.x1, mid - 5 ], [ whiskerSlot.x1, mid + 5 ],\n [ whiskerSlot.x1, mid ], [ boxSlot.x1, mid ]\n ], [\n [ whiskerSlot.x2, mid - 5 ], [ whiskerSlot.x2, mid + 5 ],\n [ whiskerSlot.x2, mid ], [ boxSlot.x2, mid ]\n ] ];\n };\n\n VerticalBoxPlot.prototype.calcMedianPoints = function calcMedianPoints (box, medianSlot) {\n return [\n [ [ medianSlot.x1, box.y1 ], [ medianSlot.x1, box.y2 ] ]\n ];\n };\n\n return VerticalBoxPlot;\n}(BoxPlot));\n\nexport default VerticalBoxPlot;","import CandlestickChart from '../candlestick-chart/candlestick-chart';\nimport VerticalBoxPlot from './vertical-box-plot';\nimport BoxPlot from './box-plot';\nimport ClusterLayout from '../layout/cluster-layout';\n\nimport areNumbers from '../utils/are-numbers';\n\nimport { MIN_VALUE, MAX_VALUE } from '../../common/constants';\nimport { defined } from '../../common';\n\nvar BoxPlotChart = (function (CandlestickChart) {\n function BoxPlotChart () {\n CandlestickChart.apply(this, arguments);\n }\n\n if ( CandlestickChart ) BoxPlotChart.__proto__ = CandlestickChart;\n BoxPlotChart.prototype = Object.create( CandlestickChart && CandlestickChart.prototype );\n BoxPlotChart.prototype.constructor = BoxPlotChart;\n\n BoxPlotChart.prototype.addValue = function addValue (data, fields) {\n var categoryIx = fields.categoryIx;\n var category = fields.category;\n var series = fields.series;\n var seriesIx = fields.seriesIx;\n var ref = this;\n var children = ref.children;\n var options = ref.options;\n var value = data.valueFields;\n var valueParts = this.splitValue(value);\n var hasValue = areNumbers(valueParts);\n var dataItem = series.data[categoryIx];\n var categoryPoints = this.categoryPoints[categoryIx];\n var point;\n\n if (!categoryPoints) {\n this.categoryPoints[categoryIx] = categoryPoints = [];\n }\n\n if (hasValue) {\n point = this.createPoint(data, fields);\n }\n\n var cluster = children[categoryIx];\n if (!cluster) {\n cluster = new ClusterLayout({\n vertical: options.invertAxes,\n gap: options.gap,\n spacing: options.spacing,\n rtl: !options.invertAxes && (this.chartService || {}).rtl\n });\n this.append(cluster);\n }\n\n if (point) {\n this.updateRange(value, fields);\n\n cluster.append(point);\n\n point.categoryIx = categoryIx;\n point.category = category;\n point.series = series;\n point.seriesIx = seriesIx;\n point.owner = this;\n point.dataItem = dataItem;\n }\n\n this.points.push(point);\n categoryPoints.push(point);\n };\n\n BoxPlotChart.prototype.pointType = function pointType () {\n if (this.options.invertAxes) {\n return VerticalBoxPlot;\n }\n\n return BoxPlot;\n };\n\n BoxPlotChart.prototype.splitValue = function splitValue (value) {\n return [\n value.lower, value.q1, value.median,\n value.q3, value.upper\n ];\n };\n\n BoxPlotChart.prototype.updateRange = function updateRange (value, fields) {\n var axisName = fields.series.axis;\n var axisRange = this.valueAxisRanges[axisName];\n var parts = this.splitValue(value).concat(this.filterOutliers(value.outliers));\n\n if (defined(value.mean)) {\n parts = parts.concat(value.mean);\n }\n\n axisRange = this.valueAxisRanges[axisName] =\n axisRange || { min: MAX_VALUE, max: MIN_VALUE };\n\n axisRange = this.valueAxisRanges[axisName] = {\n min: Math.min.apply(Math, parts.concat([ axisRange.min ])),\n max: Math.max.apply(Math, parts.concat([ axisRange.max ]))\n };\n };\n\n BoxPlotChart.prototype.formatPointValue = function formatPointValue (point, format) {\n var value = point.value;\n\n return this.chartService.format.auto(format,\n value.lower, value.q1, value.median,\n value.q3, value.upper, value.mean, point.category\n );\n };\n\n BoxPlotChart.prototype.filterOutliers = function filterOutliers (items) {\n var length = (items || []).length;\n var result = [];\n\n for (var i = 0; i < length; i++) {\n var item = items[i];\n if (defined(item) && item !== null) {\n result.push(item);\n }\n }\n\n return result;\n };\n\n BoxPlotChart.prototype.supportsPointInactiveOpacity = function supportsPointInactiveOpacity () {\n return false;\n };\n\n return BoxPlotChart;\n}(CandlestickChart));\n\nexport default BoxPlotChart;\n","import ErrorBarBase from './error-bar-base';\n\nvar ScatterErrorBar = (function (ErrorBarBase) {\n function ScatterErrorBar () {\n ErrorBarBase.apply(this, arguments);\n }\n\n if ( ErrorBarBase ) ScatterErrorBar.__proto__ = ErrorBarBase;\n ScatterErrorBar.prototype = Object.create( ErrorBarBase && ErrorBarBase.prototype );\n ScatterErrorBar.prototype.constructor = ScatterErrorBar;\n\n ScatterErrorBar.prototype.getAxis = function getAxis () {\n var axes = this.chart.seriesAxes(this.series);\n var axis = this.isVertical ? axes.y : axes.x;\n\n return axis;\n };\n\n return ScatterErrorBar;\n}(ErrorBarBase));\n\nexport default ScatterErrorBar;","import { defined } from '../../common';\n\nexport default function hasValue(value) {\n return defined(value) && value !== null;\n}","import { ChartElement, Box } from '../../core';\n\nimport ClipAnimationMixin from '../mixins/clip-animation-mixin';\nimport ErrorRangeCalculator from '../error-bars/error-range-calculator';\nimport ScatterErrorBar from '../error-bars/scatter-error-bar';\nimport LinePoint from '../line-chart/line-point';\nimport CategoricalChart from '../categorical-chart';\n\nimport hasValue from '../utils/has-value';\nimport evalOptions from '../utils/eval-options';\n\nimport { deepExtend, isNumber, isString, defined, isFunction, setDefaultOptions } from '../../common';\nimport { X, Y, MIN_VALUE, MAX_VALUE } from '../../common/constants';\nimport { parseDate } from '../../date-utils';\n\nvar ScatterChart = (function (ChartElement) {\n function ScatterChart(plotArea, options) {\n\n ChartElement.call(this, options);\n\n this.plotArea = plotArea;\n this.chartService = plotArea.chartService;\n this._initFields();\n\n this.render();\n }\n\n if ( ChartElement ) ScatterChart.__proto__ = ChartElement;\n ScatterChart.prototype = Object.create( ChartElement && ChartElement.prototype );\n ScatterChart.prototype.constructor = ScatterChart;\n\n ScatterChart.prototype._initFields = function _initFields () {\n // X and Y axis ranges grouped by name, e.g.:\n // primary: { min: 0, max: 1 }\n this.xAxisRanges = {};\n this.yAxisRanges = {};\n\n this.points = [];\n this.seriesPoints = [];\n this.seriesOptions = [];\n this._evalSeries = [];\n };\n\n ScatterChart.prototype.render = function render () {\n this.traverseDataPoints(this.addValue.bind(this));\n };\n\n ScatterChart.prototype.addErrorBar = function addErrorBar (point, field, fields) {\n var value = point.value[field];\n var valueErrorField = field + \"Value\";\n var lowField = field + \"ErrorLow\";\n var highField = field + \"ErrorHigh\";\n var seriesIx = fields.seriesIx;\n var series = fields.series;\n var errorBars = point.options.errorBars;\n var lowValue = fields[lowField];\n var highValue = fields[highField];\n\n if (isNumber(value)) {\n var errorRange;\n if (isNumber(lowValue) && isNumber(highValue)) {\n errorRange = { low: lowValue, high: highValue };\n }\n\n if (errorBars && defined(errorBars[valueErrorField])) {\n this.seriesErrorRanges = this.seriesErrorRanges || { x: [], y: [] };\n this.seriesErrorRanges[field][seriesIx] = this.seriesErrorRanges[field][seriesIx] ||\n new ErrorRangeCalculator(errorBars[valueErrorField], series, field);\n\n errorRange = this.seriesErrorRanges[field][seriesIx].getErrorRange(value, errorBars[valueErrorField]);\n }\n\n if (errorRange) {\n this.addPointErrorBar(errorRange, point, field);\n }\n }\n };\n\n ScatterChart.prototype.addPointErrorBar = function addPointErrorBar (errorRange, point, field) {\n var low = errorRange.low;\n var high = errorRange.high;\n var series = point.series;\n var options = point.options.errorBars;\n var isVertical = field === Y;\n var item = {};\n\n point[field + \"Low\"] = low;\n point[field + \"High\"] = high;\n\n point.errorBars = point.errorBars || [];\n var errorBar = new ScatterErrorBar(low, high, isVertical, this, series, options);\n point.errorBars.push(errorBar);\n point.append(errorBar);\n\n item[field] = low;\n this.updateRange(item, series);\n item[field] = high;\n this.updateRange(item, series);\n };\n\n ScatterChart.prototype.addValue = function addValue (value, fields) {\n var x = value.x;\n var y = value.y;\n var seriesIx = fields.seriesIx;\n var series = this.options.series[seriesIx];\n var missingValues = this.seriesMissingValues(series);\n var seriesPoints = this.seriesPoints[seriesIx];\n\n var pointValue = value;\n if (!(hasValue(x) && hasValue(y))) {\n pointValue = this.createMissingValue(pointValue, missingValues);\n }\n\n var point;\n if (pointValue) {\n point = this.createPoint(pointValue, fields);\n if (point) {\n Object.assign(point, fields);\n this.addErrorBar(point, X, fields);\n this.addErrorBar(point, Y, fields);\n }\n this.updateRange(pointValue, fields.series);\n }\n\n this.points.push(point);\n seriesPoints.push(point);\n };\n\n ScatterChart.prototype.seriesMissingValues = function seriesMissingValues (series) {\n return series.missingValues;\n };\n\n ScatterChart.prototype.createMissingValue = function createMissingValue () {};\n\n ScatterChart.prototype.updateRange = function updateRange (value, series) {\n var intlService = this.chartService.intl;\n var xAxisName = series.xAxis;\n var yAxisName = series.yAxis;\n var x = value.x;\n var y = value.y;\n var xAxisRange = this.xAxisRanges[xAxisName];\n var yAxisRange = this.yAxisRanges[yAxisName];\n\n if (hasValue(x)) {\n xAxisRange = this.xAxisRanges[xAxisName] =\n xAxisRange || { min: MAX_VALUE, max: MIN_VALUE };\n\n if (isString(x)) {\n x = parseDate(intlService, x);\n }\n\n xAxisRange.min = Math.min(xAxisRange.min, x);\n xAxisRange.max = Math.max(xAxisRange.max, x);\n }\n\n if (hasValue(y)) {\n yAxisRange = this.yAxisRanges[yAxisName] =\n yAxisRange || { min: MAX_VALUE, max: MIN_VALUE };\n\n if (isString(y)) {\n y = parseDate(intlService, y);\n }\n\n yAxisRange.min = Math.min(yAxisRange.min, y);\n yAxisRange.max = Math.max(yAxisRange.max, y);\n }\n };\n\n ScatterChart.prototype.evalPointOptions = function evalPointOptions (options, value, fields) {\n var series = fields.series;\n var seriesIx = fields.seriesIx;\n var state = {\n defaults: series._defaults,\n excluded: [\n \"data\", \"tooltip\", \"content\", \"template\", \"visual\", \"toggle\",\n \"_outOfRangeMinPoint\", \"_outOfRangeMaxPoint\",\n \"drilldownSeriesFactory\"\n ]\n };\n\n var doEval = this._evalSeries[seriesIx];\n if (!defined(doEval)) {\n this._evalSeries[seriesIx] = doEval = evalOptions(options, {}, state, true);\n }\n\n var pointOptions = options;\n if (doEval) {\n pointOptions = deepExtend({}, options);\n evalOptions(pointOptions, {\n value: value,\n series: series,\n dataItem: fields.dataItem\n }, state);\n }\n\n return pointOptions;\n };\n\n ScatterChart.prototype.pointType = function pointType () {\n return LinePoint;\n };\n\n ScatterChart.prototype.pointOptions = function pointOptions (series, seriesIx) {\n var options = this.seriesOptions[seriesIx];\n if (!options) {\n var defaults = this.pointType().prototype.defaults;\n this.seriesOptions[seriesIx] = options = deepExtend({}, defaults, {\n markers: {\n opacity: series.opacity\n },\n tooltip: {\n format: this.options.tooltip.format\n },\n labels: {\n format: this.options.labels.format\n }\n }, series);\n }\n\n return options;\n };\n\n ScatterChart.prototype.createPoint = function createPoint (value, fields) {\n var series = fields.series;\n var pointOptions = this.pointOptions(series, fields.seriesIx);\n var color = fields.color || series.color;\n\n pointOptions = this.evalPointOptions(pointOptions, value, fields);\n\n if (isFunction(series.color)) {\n color = pointOptions.color;\n }\n\n var point = new LinePoint(value, pointOptions);\n point.color = color;\n\n this.append(point);\n\n return point;\n };\n\n ScatterChart.prototype.seriesAxes = function seriesAxes (series) {\n var xAxisName = series.xAxis;\n var yAxisName = series.yAxis;\n var plotArea = this.plotArea;\n var xAxis = xAxisName ? plotArea.namedXAxes[xAxisName] : plotArea.axisX;\n var yAxis = yAxisName ? plotArea.namedYAxes[yAxisName] : plotArea.axisY;\n\n if (!xAxis) {\n throw new Error(\"Unable to locate X axis with name \" + xAxisName);\n }\n\n if (!yAxis) {\n throw new Error(\"Unable to locate Y axis with name \" + yAxisName);\n }\n\n return {\n x: xAxis,\n y: yAxis\n };\n };\n\n ScatterChart.prototype.reflow = function reflow (targetBox) {\n var this$1 = this;\n\n var chartPoints = this.points;\n var limit = !this.options.clip;\n var pointIx = 0;\n\n\n this.traverseDataPoints(function (value, fields) {\n var point = chartPoints[pointIx++];\n var seriesAxes = this$1.seriesAxes(fields.series);\n var slotX = seriesAxes.x.getSlot(value.x, value.x, limit);\n var slotY = seriesAxes.y.getSlot(value.y, value.y, limit);\n\n if (point) {\n if (slotX && slotY) {\n var pointSlot = this$1.pointSlot(slotX, slotY);\n point.reflow(pointSlot);\n } else {\n point.visible = false;\n }\n }\n });\n\n this.box = targetBox;\n };\n\n ScatterChart.prototype.pointSlot = function pointSlot (slotX, slotY) {\n return new Box(slotX.x1, slotY.y1, slotX.x2, slotY.y2);\n };\n\n ScatterChart.prototype.traverseDataPoints = function traverseDataPoints (callback) {\n var this$1 = this;\n\n var ref = this;\n var series = ref.options.series;\n var seriesPoints = ref.seriesPoints;\n\n for (var seriesIx = 0; seriesIx < series.length; seriesIx++) {\n var currentSeries = series[seriesIx];\n var currentSeriesPoints = seriesPoints[seriesIx];\n if (!currentSeriesPoints) {\n seriesPoints[seriesIx] = [];\n }\n\n for (var pointIx = 0; pointIx < currentSeries.data.length; pointIx++) {\n var ref$1 = this$1._bindPoint(currentSeries, seriesIx, pointIx);\n var value = ref$1.valueFields;\n var fields = ref$1.fields;\n\n callback(value, deepExtend({\n pointIx: pointIx,\n series: currentSeries,\n seriesIx: seriesIx,\n dataItem: currentSeries.data[pointIx],\n owner: this$1\n }, fields));\n }\n }\n };\n\n ScatterChart.prototype.formatPointValue = function formatPointValue (point, format) {\n var value = point.value;\n return this.chartService.format.auto(format, value.x, value.y);\n };\n\n ScatterChart.prototype.animationPoints = function animationPoints () {\n var points = this.points;\n var result = [];\n for (var idx = 0; idx < points.length; idx++) {\n result.push((points[idx] || {}).marker);\n }\n return result;\n };\n\n return ScatterChart;\n}(ChartElement));\nsetDefaultOptions(ScatterChart, {\n series: [],\n tooltip: {\n format: \"{0}, {1}\"\n },\n labels: {\n format: \"{0}, {1}\"\n },\n clip: true\n});\ndeepExtend(ScatterChart.prototype, ClipAnimationMixin, {\n _bindPoint: CategoricalChart.prototype._bindPoint\n});\n\nexport default ScatterChart;\n","import { drawing as draw, geometry as geom, Color } from '@progress/kendo-drawing';\n\nimport LinePoint from '../line-chart/line-point';\nimport { BORDER_BRIGHTNESS } from '../constants';\n\nimport { CENTER } from '../../common/constants';\nimport { deepExtend } from '../../common';\n\nvar Bubble = (function (LinePoint) {\n function Bubble(value, options) {\n LinePoint.call(this, value, options);\n\n this.category = value.category;\n }\n\n if ( LinePoint ) Bubble.__proto__ = LinePoint;\n Bubble.prototype = Object.create( LinePoint && LinePoint.prototype );\n Bubble.prototype.constructor = Bubble;\n\n Bubble.prototype.createHighlight = function createHighlight () {\n var highlight = this.options.highlight;\n var border = highlight.border;\n var markers = this.options.markers;\n var center = this.box.center();\n var radius = (markers.size + markers.border.width + border.width) / 2;\n var highlightGroup = new draw.Group();\n var shadow = new draw.Circle(new geom.Circle([ center.x, center.y + radius / 5 + border.width / 2 ], radius + border.width / 2), {\n stroke: {\n color: 'none'\n },\n fill: this.createGradient({\n gradient: 'bubbleShadow',\n color: markers.background,\n stops: [ {\n offset: 0,\n color: markers.background,\n opacity: 0.3\n }, {\n offset: 1,\n color: markers.background,\n opacity: 0\n } ]\n })\n });\n var overlay = new draw.Circle(new geom.Circle([ center.x, center.y ], radius), {\n stroke: {\n color: border.color ||\n new Color(markers.background).brightness(BORDER_BRIGHTNESS).toHex(),\n width: border.width,\n opacity: border.opacity\n },\n fill: {\n color: markers.background,\n opacity: highlight.opacity\n }\n });\n\n highlightGroup.append(shadow, overlay);\n\n return highlightGroup;\n };\n\n return Bubble;\n}(LinePoint));\n\nBubble.prototype.defaults = deepExtend({}, Bubble.prototype.defaults, {\n labels: {\n position: CENTER\n },\n highlight: {\n opacity: 1,\n border: {\n color: \"#fff\",\n width: 2,\n opacity: 1\n }\n }\n});\n\nBubble.prototype.defaults.highlight.zIndex = undefined;\n\nexport default Bubble;","import ScatterChart from '../scatter-charts/scatter-chart';\nimport Bubble from './bubble';\n\nimport { INITIAL_ANIMATION_DURATION, BUBBLE } from '../constants';\n\nimport { MIN_VALUE, CIRCLE } from '../../common/constants';\nimport { deepExtend, isFunction, setDefaultOptions, valueOrDefault } from '../../common';\n\nvar BubbleChart = (function (ScatterChart) {\n function BubbleChart () {\n ScatterChart.apply(this, arguments);\n }\n\n if ( ScatterChart ) BubbleChart.__proto__ = ScatterChart;\n BubbleChart.prototype = Object.create( ScatterChart && ScatterChart.prototype );\n BubbleChart.prototype.constructor = BubbleChart;\n\n BubbleChart.prototype._initFields = function _initFields () {\n this._maxSize = MIN_VALUE;\n ScatterChart.prototype._initFields.call(this);\n };\n\n BubbleChart.prototype.addValue = function addValue (value, fields) {\n if (value.size !== null && (value.size > 0 || (value.size < 0 && fields.series.negativeValues.visible))) {\n this._maxSize = Math.max(this._maxSize, Math.abs(value.size));\n ScatterChart.prototype.addValue.call(this, value, fields);\n } else {\n this.points.push(null);\n this.seriesPoints[fields.seriesIx].push(null);\n }\n };\n\n BubbleChart.prototype.reflow = function reflow (box) {\n this.updateBubblesSize(box);\n ScatterChart.prototype.reflow.call(this, box);\n };\n\n BubbleChart.prototype.pointType = function pointType () {\n return Bubble;\n };\n\n BubbleChart.prototype.createPoint = function createPoint (value, fields) {\n var series = fields.series;\n var pointsCount = series.data.length;\n var delay = fields.pointIx * (INITIAL_ANIMATION_DURATION / pointsCount);\n var animationOptions = {\n delay: delay,\n duration: INITIAL_ANIMATION_DURATION - delay,\n type: BUBBLE\n };\n\n var color = fields.color || series.color;\n if (value.size < 0 && series.negativeValues.visible) {\n color = valueOrDefault(\n series.negativeValues.color, color\n );\n }\n\n var pointOptions = deepExtend({\n labels: {\n animation: {\n delay: delay,\n duration: INITIAL_ANIMATION_DURATION - delay\n }\n }\n }, this.pointOptions(series, fields.seriesIx), {\n markers: {\n type: CIRCLE,\n border: series.border,\n opacity: series.opacity,\n animation: animationOptions\n }\n });\n\n pointOptions = this.evalPointOptions(pointOptions, value, fields);\n if (isFunction(series.color)) {\n color = pointOptions.color;\n }\n\n pointOptions.markers.background = color;\n\n var point = new Bubble(value, pointOptions);\n point.color = color;\n\n this.append(point);\n\n return point;\n };\n\n BubbleChart.prototype.updateBubblesSize = function updateBubblesSize (box) {\n var this$1 = this;\n\n var ref = this;\n var series = ref.options.series;\n var boxSize = Math.min(box.width(), box.height());\n\n for (var seriesIx = 0; seriesIx < series.length; seriesIx++) {\n var currentSeries = series[seriesIx];\n var seriesPoints = this$1.seriesPoints[seriesIx];\n var minSize = currentSeries.minSize || Math.max(boxSize * 0.02, 10);\n var maxSize = currentSeries.maxSize || boxSize * 0.2;\n var minR = minSize / 2;\n var maxR = maxSize / 2;\n var minArea = Math.PI * minR * minR;\n var maxArea = Math.PI * maxR * maxR;\n var areaRange = maxArea - minArea;\n var areaRatio = areaRange / this$1._maxSize;\n\n for (var pointIx = 0; pointIx < seriesPoints.length; pointIx++) {\n var point = seriesPoints[pointIx];\n if (point) {\n var area = Math.abs(point.value.size) * areaRatio;\n var radius = Math.sqrt((minArea + area) / Math.PI);\n var baseZIndex = valueOrDefault(point.options.zIndex, 0);\n var zIndex = baseZIndex + (1 - radius / maxR);\n\n deepExtend(point.options, {\n zIndex: zIndex,\n markers: {\n size: radius * 2,\n zIndex: zIndex\n },\n labels: {\n zIndex: zIndex + 1\n }\n });\n }\n }\n }\n };\n\n BubbleChart.prototype.formatPointValue = function formatPointValue (point, format) {\n var value = point.value;\n return this.chartService.format.auto(format, value.x, value.y, value.size, point.category);\n };\n\n BubbleChart.prototype.createAnimation = function createAnimation () {};\n BubbleChart.prototype.createVisual = function createVisual () {};\n\n return BubbleChart;\n}(ScatterChart));\n\nsetDefaultOptions(BubbleChart, {\n tooltip: {\n format: \"{3}\"\n },\n labels: {\n format: \"{3}\"\n }\n});\n\nexport default BubbleChart;","import { ShapeElement } from '../../core';\nimport { deepExtend } from '../../common';\nimport PointEventsMixin from '../mixins/point-events-mixin';\n\nvar Target = (function (ShapeElement) {\n\tfunction Target () {\n\t\tShapeElement.apply(this, arguments);\n\t}if ( ShapeElement ) Target.__proto__ = ShapeElement;\n\tTarget.prototype = Object.create( ShapeElement && ShapeElement.prototype );\n\tTarget.prototype.constructor = Target;\n\n\t\n\n\treturn Target;\n}(ShapeElement));\n\ndeepExtend(Target.prototype, PointEventsMixin);\n\nexport default Target;","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport Target from './target';\n\nimport { Box, ChartElement } from '../../core';\n\nimport PointEventsMixin from '../mixins/point-events-mixin';\nimport NoteMixin from '../mixins/note-mixin';\nimport Bar from '../bar-chart/bar';\n\nimport { WHITE, TOP, RIGHT } from '../../common/constants';\nimport { alignPathToPixel, deepExtend, defined, getTemplate, setDefaultOptions, valueOrDefault } from '../../common';\n\nimport BarLabel from '../bar-chart/bar-label';\n\nvar Bullet = (function (ChartElement) {\n function Bullet(value, options) {\n ChartElement.call(this, options);\n\n this.aboveAxis = this.options.aboveAxis;\n this.color = options.color || WHITE;\n this.value = value;\n }\n\n if ( ChartElement ) Bullet.__proto__ = ChartElement;\n Bullet.prototype = Object.create( ChartElement && ChartElement.prototype );\n Bullet.prototype.constructor = Bullet;\n\n Bullet.prototype.render = function render () {\n var options = this.options;\n\n if (!this._rendered) {\n this._rendered = true;\n\n if (defined(this.value.target)) {\n this.target = new Target({\n type: options.target.shape,\n background: options.target.color || this.color,\n opacity: options.opacity,\n zIndex: options.zIndex,\n border: options.target.border,\n vAlign: TOP,\n align: RIGHT\n });\n\n this.target.value = this.value;\n this.target.dataItem = this.dataItem;\n this.target.series = this.series;\n\n this.append(this.target);\n }\n\n this.createLabel();\n this.createNote();\n }\n };\n\n Bullet.prototype.createLabel = function createLabel () {\n var options = this.options;\n var labels = options.labels;\n\n if (labels.visible) {\n var pointData = this.pointData();\n var labelTemplate = getTemplate(labels);\n var labelText;\n\n if (labelTemplate) {\n labelText = labelTemplate(pointData);\n } else {\n labelText = this.formatValue(labels.format);\n }\n\n this.label = new BarLabel(labelText, labels, pointData);\n this.append(this.label);\n }\n };\n\n Bullet.prototype.reflow = function reflow (box) {\n this.render();\n\n var ref = this;\n var options = ref.options;\n var target = ref.target;\n var chart = ref.owner;\n var invertAxes = options.invertAxes;\n var valueAxis = chart.seriesValueAxis(this.options);\n var categorySlot = chart.categorySlot(chart.categoryAxis, options.categoryIx, valueAxis);\n var targetValueSlot = valueAxis.getSlot(this.value.target);\n var targetSlotX = invertAxes ? targetValueSlot : categorySlot;\n var targetSlotY = invertAxes ? categorySlot : targetValueSlot;\n\n if (target) {\n var targetSlot = new Box(\n targetSlotX.x1, targetSlotY.y1,\n targetSlotX.x2, targetSlotY.y2\n );\n target.options.height = invertAxes ? targetSlot.height() : options.target.line.width;\n target.options.width = invertAxes ? options.target.line.width : targetSlot.width();\n target.reflow(targetSlot);\n }\n\n var label = this.label;\n if (label) {\n label.options.aboveAxis = this.aboveAxis;\n label.reflow(box);\n }\n\n if (this.note) {\n this.note.reflow(box);\n }\n\n this.box = box;\n };\n\n Bullet.prototype.createVisual = function createVisual () {\n ChartElement.prototype.createVisual.call(this);\n\n var options = this.options;\n var body = draw.Path.fromRect(this.box.toRect(), {\n fill: {\n color: this.color,\n opacity: options.opacity\n },\n stroke: null\n });\n\n if (options.border.width > 0) {\n body.options.set(\"stroke\", {\n color: options.border.color || this.color,\n width: options.border.width,\n dashType: options.border.dashType,\n opacity: valueOrDefault(options.border.opacity, options.opacity)\n });\n }\n\n this.bodyVisual = body;\n\n alignPathToPixel(body);\n this.visual.append(body);\n };\n\n Bullet.prototype.createAnimation = function createAnimation () {\n if (this.bodyVisual) {\n this.animation = draw.Animation.create(\n this.bodyVisual, this.options.animation\n );\n }\n };\n\n Bullet.prototype.createHighlight = function createHighlight (style) {\n return draw.Path.fromRect(this.box.toRect(), style);\n };\n\n Bullet.prototype.highlightVisual = function highlightVisual () {\n return this.bodyVisual;\n };\n\n Bullet.prototype.highlightVisualArgs = function highlightVisualArgs () {\n return {\n rect: this.box.toRect(),\n visual: this.bodyVisual,\n options: this.options\n };\n };\n\n Bullet.prototype.formatValue = function formatValue (format) {\n return this.owner.formatPointValue(this, format);\n };\n\n Bullet.prototype.pointData = function pointData () {\n return {\n dataItem: this.dataItem,\n category: this.category,\n value: this.value,\n series: this.series\n };\n };\n\n Bullet.prototype.overlapsBox = function overlapsBox (box) {\n return this.box.overlaps(box);\n };\n\n return Bullet;\n}(ChartElement));\n\nBullet.prototype.tooltipAnchor = Bar.prototype.tooltipAnchor;\n\nsetDefaultOptions(Bullet, {\n border: {\n width: 1\n },\n vertical: false,\n opacity: 1,\n target: {\n shape: \"\",\n border: {\n width: 0,\n color: \"green\"\n },\n line: {\n width: 2\n }\n },\n labels: {\n visible: false\n },\n tooltip: {\n format: \"Current: {0}
Target: {1}\"\n },\n notes: {\n label: {}\n }\n});\n\ndeepExtend(Bullet.prototype, PointEventsMixin);\ndeepExtend(Bullet.prototype, NoteMixin);\n\nexport default Bullet;","\nimport CategoricalChart from '../categorical-chart';\nimport BarChart from '../bar-chart/bar-chart';\nimport Bullet from './bullet';\nimport ClusterLayout from '../layout/cluster-layout';\nimport { BAR } from '../constants';\n\nimport { MIN_VALUE, MAX_VALUE } from '../../common/constants';\nimport { deepExtend, defined, isArray, isFunction, isObject, setDefaultOptions } from '../../common';\n\nvar BulletChart = (function (CategoricalChart) {\n function BulletChart(plotArea, options) {\n\n wrapData(options);\n\n CategoricalChart.call(this, plotArea, options);\n }\n\n if ( CategoricalChart ) BulletChart.__proto__ = CategoricalChart;\n BulletChart.prototype = Object.create( CategoricalChart && CategoricalChart.prototype );\n BulletChart.prototype.constructor = BulletChart;\n\n BulletChart.prototype.reflowCategories = function reflowCategories (categorySlots) {\n var children = this.children;\n var childrenLength = children.length;\n\n for (var i = 0; i < childrenLength; i++) {\n children[i].reflow(categorySlots[i]);\n }\n };\n\n BulletChart.prototype.plotRange = function plotRange (point) {\n var series = point.series;\n var valueAxis = this.seriesValueAxis(series);\n var axisCrossingValue = this.categoryAxisCrossingValue(valueAxis);\n\n return [ axisCrossingValue, point.value.current || axisCrossingValue ];\n };\n\n BulletChart.prototype.createPoint = function createPoint (data, fields) {\n var categoryIx = fields.categoryIx;\n var series = fields.series;\n var ref = this;\n var options = ref.options;\n var children = ref.children;\n var value = data.valueFields;\n\n var bulletOptions = deepExtend({\n vertical: !options.invertAxes,\n overlay: series.overlay,\n categoryIx: categoryIx,\n invertAxes: options.invertAxes\n }, series);\n\n var color = data.fields.color || series.color;\n bulletOptions = this.evalPointOptions(bulletOptions, value, fields);\n if (isFunction(series.color)) {\n color = bulletOptions.color;\n }\n\n var bullet = new Bullet(value, bulletOptions);\n bullet.color = color;\n\n var cluster = children[categoryIx];\n if (!cluster) {\n cluster = new ClusterLayout({\n vertical: options.invertAxes,\n gap: options.gap,\n spacing: options.spacing,\n rtl: !options.invertAxes && (this.chartService || {}).rtl\n });\n this.append(cluster);\n }\n\n cluster.append(bullet);\n\n return bullet;\n };\n\n BulletChart.prototype.updateRange = function updateRange (value, fields) {\n var current = value.current;\n var target = value.target;\n var axisName = fields.series.axis;\n var axisRange = this.valueAxisRanges[axisName];\n\n if (defined(current) && !isNaN(current) && defined(target && !isNaN(target))) {\n axisRange = this.valueAxisRanges[axisName] =\n axisRange || { min: MAX_VALUE, max: MIN_VALUE };\n\n axisRange.min = Math.min(axisRange.min, current, target);\n axisRange.max = Math.max(axisRange.max, current, target);\n }\n };\n\n BulletChart.prototype.formatPointValue = function formatPointValue (point, format) {\n return this.chartService.format.auto(format, point.value.current, point.value.target);\n };\n\n BulletChart.prototype.pointValue = function pointValue (data) {\n return data.valueFields.current;\n };\n\n BulletChart.prototype.aboveAxis = function aboveAxis (point) {\n var value = point.value.current;\n\n return value > 0;\n };\n\n BulletChart.prototype.createAnimation = function createAnimation () {\n var this$1 = this;\n\n var points = this.points;\n\n this._setAnimationOptions();\n\n for (var idx = 0; idx < points.length; idx++) {\n var point = points[idx];\n point.options.animation = this$1.options.animation;\n point.createAnimation();\n }\n };\n\n return BulletChart;\n}(CategoricalChart));\n\nBulletChart.prototype._setAnimationOptions = BarChart.prototype._setAnimationOptions;\n\nsetDefaultOptions(BulletChart, {\n animation: {\n type: BAR\n }\n});\n\nfunction wrapData(options) {\n var series = options.series;\n\n for (var i = 0; i < series.length; i++) {\n var seriesItem = series[i];\n var data = seriesItem.data;\n if (data && !isArray(data[0]) && !isObject(data[0])) {\n seriesItem.data = [ data ];\n }\n }\n}\n\nexport default BulletChart;\n","import { Color } from '@progress/kendo-drawing';\n\nimport { Class, defined, deepExtend, setDefaultOptions, valueOrDefault, getSpacing, styleValue } from '../../common';\nimport { SHOW_TOOLTIP, HIDE_TOOLTIP } from '../constants';\n\nvar BaseTooltip = (function (Class) {\n function BaseTooltip(chartService, options) {\n Class.call(this);\n\n this.chartService = chartService;\n this.options = deepExtend({}, this.options, options);\n }\n\n if ( Class ) BaseTooltip.__proto__ = Class;\n BaseTooltip.prototype = Object.create( Class && Class.prototype );\n BaseTooltip.prototype.constructor = BaseTooltip;\n\n BaseTooltip.prototype.getStyle = function getStyle (options, point) {\n var background = options.background;\n var border = options.border.color;\n\n if (point) {\n var pointColor = point.color || point.options.color;\n background = valueOrDefault(background, pointColor);\n border = valueOrDefault(border, pointColor);\n }\n\n var padding = getSpacing(options.padding || {}, \"auto\");\n\n return {\n backgroundColor: background,\n borderColor: border,\n font: options.font,\n color: options.color,\n opacity: options.opacity,\n borderWidth: styleValue(options.border.width),\n paddingTop: styleValue(padding.top),\n paddingBottom: styleValue(padding.bottom),\n paddingLeft: styleValue(padding.left),\n paddingRight: styleValue(padding.right)\n };\n };\n\n BaseTooltip.prototype.show = function show (options, tooltipOptions, point) {\n options.format = tooltipOptions.format;\n\n var style = this.getStyle(tooltipOptions, point);\n options.style = style;\n\n var background = new Color(style.backgroundColor);\n if (!defined(tooltipOptions.color) && !background.isDark()) {\n options.className = \"k-chart-tooltip-inverse\";\n }\n\n this.chartService.notify(SHOW_TOOLTIP, options);\n\n this.visible = true;\n };\n\n BaseTooltip.prototype.hide = function hide () {\n if (this.chartService) {\n this.chartService.notify(HIDE_TOOLTIP);\n }\n\n this.visible = false;\n };\n\n BaseTooltip.prototype.destroy = function destroy () {\n delete this.chartService;\n };\n\n return BaseTooltip;\n}(Class));\n\nsetDefaultOptions(BaseTooltip, {\n border: {\n width: 1\n },\n opacity: 1\n});\n\nexport default BaseTooltip;\n","import BaseTooltip from '../tooltip/base-tooltip';\n\nimport { HIDE_TOOLTIP } from '../constants';\nimport { TOP, BOTTOM, LEFT, RIGHT, CENTER, DATE } from '../../common/constants';\nimport { setDefaultOptions } from '../../common';\n\nvar CrosshairTooltip = (function (BaseTooltip) {\n function CrosshairTooltip(chartService, crosshair, options) {\n BaseTooltip.call(this, chartService, options);\n\n this.crosshair = crosshair;\n this.formatService = chartService.format;\n this.initAxisName();\n }\n\n if ( BaseTooltip ) CrosshairTooltip.__proto__ = BaseTooltip;\n CrosshairTooltip.prototype = Object.create( BaseTooltip && BaseTooltip.prototype );\n CrosshairTooltip.prototype.constructor = CrosshairTooltip;\n\n CrosshairTooltip.prototype.initAxisName = function initAxisName () {\n var axis = this.crosshair.axis;\n var plotArea = axis.plotArea;\n var name;\n if (plotArea.categoryAxis) {\n name = axis.getCategory ? \"categoryAxis\" : \"valueAxis\";\n } else {\n name = axis.options.vertical ? \"yAxis\" : \"xAxis\";\n }\n this.axisName = name;\n };\n\n CrosshairTooltip.prototype.showAt = function showAt (point) {\n var ref = this;\n var axis = ref.crosshair.axis;\n var options = ref.options;\n var value = axis[options.stickyMode ? \"getCategory\" : \"getValue\"](point);\n var formattedValue = value;\n\n if (options.format) {\n formattedValue = this.formatService.auto(options.format, value);\n } else if (axis.options.type === DATE) {\n formattedValue = this.formatService.auto(axis.options.labels.dateFormats[axis.options.baseUnit], value);\n }\n\n this.show({\n point: point,\n anchor: this.getAnchor(),\n crosshair: this.crosshair,\n value: formattedValue,\n axisName: this.axisName,\n axisIndex: this.crosshair.axis.axisIndex\n }, this.options);\n };\n\n CrosshairTooltip.prototype.hide = function hide () {\n this.chartService.notify(HIDE_TOOLTIP, {\n crosshair: this.crosshair,\n axisName: this.axisName,\n axisIndex: this.crosshair.axis.axisIndex\n });\n };\n\n CrosshairTooltip.prototype.getAnchor = function getAnchor () {\n var ref = this;\n var crosshair = ref.crosshair;\n var ref_options = ref.options;\n var position = ref_options.position;\n var padding = ref_options.padding;\n var vertical = !crosshair.axis.options.vertical;\n var lineBox = crosshair.line.bbox();\n var horizontalAlign, verticalAlign, point;\n\n if (vertical) {\n horizontalAlign = CENTER;\n if (position === BOTTOM) {\n verticalAlign = TOP;\n point = lineBox.bottomLeft().translate(0, padding);\n } else {\n verticalAlign = BOTTOM;\n point = lineBox.topLeft().translate(0, -padding);\n }\n } else {\n verticalAlign = CENTER;\n if (position === LEFT) {\n horizontalAlign = RIGHT;\n point = lineBox.topLeft().translate(-padding, 0);\n } else {\n horizontalAlign = LEFT;\n point = lineBox.topRight().translate(padding, 0);\n }\n }\n\n return {\n point: point,\n align: {\n horizontal: horizontalAlign,\n vertical: verticalAlign\n }\n };\n };\n\n return CrosshairTooltip;\n}(BaseTooltip));\n\nsetDefaultOptions(CrosshairTooltip, {\n padding: 10\n});\n\nexport default CrosshairTooltip;\n\n","import { drawing as draw, geometry as geom } from '@progress/kendo-drawing';\n\nimport { ChartElement, CategoryAxis } from '../../core';\nimport CrosshairTooltip from './crosshair-tooltip';\n\nimport { BLACK, X, Y } from '../../common/constants';\nimport { deepExtend, setDefaultOptions } from '../../common';\n\nvar Crosshair = (function (ChartElement) {\n function Crosshair(chartService, axis, options) {\n ChartElement.call(this, options);\n\n this.axis = axis;\n this.stickyMode = axis instanceof CategoryAxis;\n\n var tooltipOptions = this.options.tooltip;\n\n if (tooltipOptions.visible) {\n this.tooltip = new CrosshairTooltip(chartService, this,\n deepExtend({}, tooltipOptions, { stickyMode: this.stickyMode })\n );\n }\n }\n\n if ( ChartElement ) Crosshair.__proto__ = ChartElement;\n Crosshair.prototype = Object.create( ChartElement && ChartElement.prototype );\n Crosshair.prototype.constructor = Crosshair;\n\n Crosshair.prototype.showAt = function showAt (point) {\n this.point = point;\n this.moveLine();\n this.line.visible(true);\n\n if (this.tooltip) {\n this.tooltip.showAt(point);\n }\n };\n\n Crosshair.prototype.hide = function hide () {\n this.line.visible(false);\n\n if (this.tooltip) {\n this.tooltip.hide();\n }\n };\n\n Crosshair.prototype.moveLine = function moveLine () {\n var ref = this;\n var axis = ref.axis;\n var point = ref.point;\n var vertical = axis.options.vertical;\n var box = this.getBox();\n var dim = vertical ? Y : X;\n var lineStart = new geom.Point(box.x1, box.y1);\n var lineEnd;\n\n if (vertical) {\n lineEnd = new geom.Point(box.x2, box.y1);\n } else {\n lineEnd = new geom.Point(box.x1, box.y2);\n }\n\n if (point) {\n if (this.stickyMode) {\n var slot = axis.getSlot(axis.pointCategoryIndex(point));\n lineStart[dim] = lineEnd[dim] = slot.center()[dim];\n } else {\n lineStart[dim] = lineEnd[dim] = point[dim];\n }\n }\n\n this.box = box;\n\n this.line.moveTo(lineStart).lineTo(lineEnd);\n };\n\n Crosshair.prototype.getBox = function getBox () {\n var axis = this.axis;\n var axes = axis.pane.axes;\n var length = axes.length;\n var vertical = axis.options.vertical;\n var box = axis.lineBox().clone();\n var dim = vertical ? X : Y;\n var axisLineBox;\n\n for (var i = 0; i < length; i++) {\n var currentAxis = axes[i];\n if (currentAxis.options.vertical !== vertical) {\n if (!axisLineBox) {\n axisLineBox = currentAxis.lineBox().clone();\n } else {\n axisLineBox.wrap(currentAxis.lineBox());\n }\n }\n }\n\n box[dim + 1] = axisLineBox[dim + 1];\n box[dim + 2] = axisLineBox[dim + 2];\n\n return box;\n };\n\n Crosshair.prototype.createVisual = function createVisual () {\n ChartElement.prototype.createVisual.call(this);\n\n var options = this.options;\n this.line = new draw.Path({\n stroke: {\n color: options.color,\n width: options.width,\n opacity: options.opacity,\n dashType: options.dashType\n },\n visible: false\n });\n\n this.moveLine();\n this.visual.append(this.line);\n };\n\n Crosshair.prototype.destroy = function destroy () {\n if (this.tooltip) {\n this.tooltip.destroy();\n }\n\n ChartElement.prototype.destroy.call(this);\n };\n\n return Crosshair;\n}(ChartElement));\n\nsetDefaultOptions(Crosshair, {\n color: BLACK,\n width: 2,\n zIndex: -1,\n tooltip: {\n visible: false\n }\n});\n\nexport default Crosshair;","import { drawing as draw } from '@progress/kendo-drawing';\nimport { alignPathToPixel } from '../common';\n\nimport { ChartElement } from '../core';\n\nvar ChartContainer = (function (ChartElement) {\n function ChartContainer(options, pane) {\n ChartElement.call(this, options);\n this.pane = pane;\n }\n\n if ( ChartElement ) ChartContainer.__proto__ = ChartElement;\n ChartContainer.prototype = Object.create( ChartElement && ChartElement.prototype );\n ChartContainer.prototype.constructor = ChartContainer;\n\n ChartContainer.prototype.shouldClip = function shouldClip () {\n var children = this.children;\n var length = children.length;\n\n for (var i = 0; i < length; i++) {\n if (children[i].options.clip === true) {\n return true;\n }\n }\n return false;\n };\n\n ChartContainer.prototype._clipBox = function _clipBox () {\n return this.pane.chartsBox();\n };\n\n ChartContainer.prototype.createVisual = function createVisual () {\n this.visual = new draw.Group({\n zIndex: 0\n });\n\n if (this.shouldClip()) {\n var clipBox = this.clipBox = this._clipBox();\n var clipRect = clipBox.toRect();\n var clipPath = draw.Path.fromRect(clipRect);\n alignPathToPixel(clipPath);\n\n this.visual.clip(clipPath);\n this.unclipLabels();\n }\n };\n\n ChartContainer.prototype.stackRoot = function stackRoot () {\n return this;\n };\n\n ChartContainer.prototype.unclipLabels = function unclipLabels () {\n var ref = this;\n var charts = ref.children;\n var clipBox = ref.clipBox;\n\n for (var i = 0; i < charts.length; i++) {\n var points = charts[i].points || {};\n var length = points.length;\n\n for (var j = 0; j < length; j++) {\n var point = points[j];\n if (point && point.visible !== false && point.overlapsBox && point.overlapsBox(clipBox)) {\n if (point.unclipElements) {\n point.unclipElements();\n } else {\n var label = point.label;\n var note = point.note;\n\n if (label && label.options.visible) {\n if (label.alignToClipBox) {\n label.alignToClipBox(clipBox);\n }\n label.options.noclip = true;\n }\n\n if (note && note.options.visible) {\n note.options.noclip = true;\n }\n }\n }\n }\n }\n };\n\n ChartContainer.prototype.destroy = function destroy () {\n ChartElement.prototype.destroy.call(this);\n\n delete this.parent;\n };\n\n return ChartContainer;\n}(ChartElement));\n\nChartContainer.prototype.isStackRoot = true;\n\nexport default ChartContainer;","import { ChartElement, BoxElement, Title, Box } from '../core';\nimport { ChartPane } from './api-elements';\nimport ChartContainer from './chart-container';\n\nimport { PANE_RENDER } from './constants';\nimport { TOP, LEFT, X, Y } from '../common/constants';\nimport { append, deepExtend, isObject, last, setDefaultOptions } from '../common';\n\nvar Pane = (function (BoxElement) {\n function Pane(options) {\n BoxElement.call(this, options);\n\n this.id = paneID();\n\n this.createTitle();\n\n this.content = new ChartElement();\n\n this.chartContainer = new ChartContainer({}, this);\n this.append(this.content);\n\n this.axes = [];\n this.charts = [];\n }\n\n if ( BoxElement ) Pane.__proto__ = BoxElement;\n Pane.prototype = Object.create( BoxElement && BoxElement.prototype );\n Pane.prototype.constructor = Pane;\n\n Pane.prototype.createTitle = function createTitle () {\n var titleOptions = this.options.title;\n if (isObject(titleOptions)) {\n titleOptions = deepExtend({}, titleOptions, {\n align: titleOptions.position,\n position: TOP\n });\n }\n\n this.title = Title.buildTitle(titleOptions, Pane.prototype.options.title);\n if (this.title) {\n this.append(this.title);\n }\n };\n\n Pane.prototype.appendAxis = function appendAxis (axis) {\n this.content.append(axis);\n this.axes.push(axis);\n axis.pane = this;\n };\n\n Pane.prototype.appendAxisAt = function appendAxisAt (axis, pos) {\n this.content.append(axis);\n this.axes.splice(pos, 0, axis);\n axis.pane = this;\n };\n\n Pane.prototype.appendChart = function appendChart (chart) {\n if (this.chartContainer.parent !== this.content) {\n this.content.append(this.chartContainer);\n }\n\n this.charts.push(chart);\n this.chartContainer.append(chart);\n chart.pane = this;\n };\n\n Pane.prototype.empty = function empty () {\n var this$1 = this;\n\n var plotArea = this.parent;\n\n if (plotArea) {\n for (var i = 0; i < this.axes.length; i++) {\n plotArea.removeAxis(this$1.axes[i]);\n }\n\n for (var i$1 = 0; i$1 < this.charts.length; i$1++) {\n plotArea.removeChart(this$1.charts[i$1]);\n }\n }\n\n this.axes = [];\n this.charts = [];\n\n this.content.destroy();\n this.content.children = [];\n this.chartContainer.children = [];\n };\n\n Pane.prototype.reflow = function reflow (targetBox) {\n // Content (such as charts) is rendered, but excluded from reflows\n var content;\n if (last(this.children) === this.content) {\n content = this.children.pop();\n }\n\n BoxElement.prototype.reflow.call(this, targetBox);\n\n if (content) {\n this.children.push(content);\n }\n\n if (this.title) {\n this.contentBox.y1 += this.title.box.height();\n }\n };\n\n Pane.prototype.visualStyle = function visualStyle () {\n var style = BoxElement.prototype.visualStyle.call(this);\n style.zIndex = -10;\n\n return style;\n };\n\n Pane.prototype.renderComplete = function renderComplete () {\n if (this.options.visible) {\n this.createGridLines();\n }\n };\n\n Pane.prototype.stackRoot = function stackRoot () {\n return this;\n };\n\n Pane.prototype.clipRoot = function clipRoot () {\n return this;\n };\n\n Pane.prototype.createGridLines = function createGridLines () {\n var axes = this.axes;\n var allAxes = axes.concat(this.parent.axes);\n var vGridLines = [];\n var hGridLines = [];\n\n // TODO\n // Is full combination really necessary?\n for (var i = 0; i < axes.length; i++) {\n var axis = axes[i];\n var vertical = axis.options.vertical;\n var gridLines = vertical ? vGridLines : hGridLines;\n for (var j = 0; j < allAxes.length; j++) {\n if (gridLines.length === 0) {\n var altAxis = allAxes[j];\n if (vertical !== altAxis.options.vertical) {\n append(gridLines, axis.createGridLines(altAxis));\n }\n }\n }\n }\n };\n\n Pane.prototype.refresh = function refresh () {\n this.visual.clear();\n\n this.content.parent = null;\n this.content.createGradient = this.createGradient.bind(this);\n this.content.renderVisual();\n this.content.parent = this;\n\n if (this.title) {\n this.visual.append(this.title.visual);\n }\n\n this.visual.append(this.content.visual);\n\n this.renderComplete();\n this.notifyRender();\n };\n\n Pane.prototype.chartsBox = function chartsBox () {\n var axes = this.axes;\n var length = axes.length;\n var chartsBox = new Box();\n\n for (var idx = 0; idx < length; idx++) {\n var axis = axes[idx];\n var axisValueField = axis.options.vertical ? Y : X;\n var lineBox = axis.lineBox();\n chartsBox[axisValueField + 1] = lineBox[axisValueField + 1];\n chartsBox[axisValueField + 2] = lineBox[axisValueField + 2];\n }\n\n if (chartsBox.x2 === 0) {\n var allAxes = this.parent.axes;\n var length$1 = allAxes.length;\n\n for (var idx$1 = 0; idx$1 < length$1; idx$1++) {\n var axis$1 = allAxes[idx$1];\n if (!axis$1.options.vertical) {\n var lineBox$1 = axis$1.lineBox();\n chartsBox.x1 = lineBox$1.x1;\n chartsBox.x2 = lineBox$1.x2;\n }\n }\n }\n return chartsBox;\n };\n\n Pane.prototype.clipBox = function clipBox () {\n return this.chartContainer.clipBox;\n };\n\n Pane.prototype.notifyRender = function notifyRender () {\n var service = this.getService();\n if (service) {\n service.notify(PANE_RENDER, {\n pane: new ChartPane(this),\n index: this.paneIndex,\n name: this.options.name\n });\n }\n };\n\n return Pane;\n}(BoxElement));\n\nvar ID = 1;\n\nfunction paneID() {\n return \"pane\" + ID++;\n}\n\nPane.prototype.isStackRoot = true;\n\nsetDefaultOptions(Pane, {\n zIndex: -1,\n shrinkToFit: true,\n title: {\n align: LEFT\n },\n visible: true\n});\n\nexport default Pane;\n","export default function appendIfNotNull(array, element) {\n if (element !== null) {\n array.push(element);\n }\n}","import { defined } from '../../common';\n\nexport default function segmentVisible(series, fields, index) {\n var visible = fields.visible;\n if (defined(visible)) {\n return visible;\n }\n\n var pointVisibility = series.pointVisibility;\n if (pointVisibility) {\n return pointVisibility[index];\n }\n}\n\n","import { isNumber, isString } from '../../common';\nimport SeriesBinder from '../series-binder';\nimport segmentVisible from './segment-visible';\n\nexport default function bindSegments(series) {\n var data = series.data;\n var points = [];\n var sum = 0;\n var count = 0;\n\n for (var idx = 0; idx < data.length; idx++) {\n var pointData = SeriesBinder.current.bindPoint(series, idx);\n var value = pointData.valueFields.value;\n\n\n if (isString(value)) {\n value = parseFloat(value);\n }\n\n if (isNumber(value)) {\n pointData.visible = segmentVisible(series, pointData.fields, idx) !== false;\n\n pointData.value = Math.abs(value);\n points.push(pointData);\n\n if (pointData.visible) {\n sum += pointData.value;\n }\n\n if (value !== 0) {\n count++;\n }\n } else {\n points.push(null);\n }\n }\n\n return {\n total: sum,\n points: points,\n count: count\n };\n}","export default function equalsIgnoreCase(a, b) {\n if (a && b) {\n return a.toLowerCase() === b.toLowerCase();\n }\n\n return a === b;\n}","import { inArray } from '../../common';\n\nexport default function filterSeriesByType(series, types) {\n var result = [];\n\n var seriesTypes = [].concat(types);\n for (var idx = 0; idx < series.length; idx++) {\n var currentSeries = series[idx];\n if (inArray(currentSeries.type, seriesTypes)) {\n result.push(currentSeries);\n }\n }\n\n return result;\n}","import { parseDate } from '../../date-utils';\nimport { getter } from '../../common';\n\nexport default function getDateField(field, row, intlService) {\n if (row === null) {\n return row;\n }\n\n var key = \"_date_\" + field;\n var value = row[key];\n\n if (!value) {\n value = parseDate(intlService, getter(field, true)(row));\n row[key] = value;\n }\n\n return value;\n}","import equalsIgnoreCase from './equals-ignore-case';\n\nimport { DATE } from '../../common/constants';\n\nexport default function isDateAxis(axisOptions, sampleCategory) {\n var type = axisOptions.type;\n var dateCategory = sampleCategory instanceof Date;\n\n return (!type && dateCategory) || equalsIgnoreCase(type, DATE);\n}","export default function singleItemOrArray(array) {\n return array.length === 1 ? array[0] : array;\n}","import { INTERPOLATE, ZERO } from '../constants';\nimport { convertableToNumber } from '../../common';\nimport SeriesBinder from '../series-binder';\n\nvar AREA_REGEX = /area/i;\n\nfunction seriesMissingValues(series) {\n if (series.missingValues) {\n return series.missingValues;\n }\n\n return AREA_REGEX.test(series.type) || series.stack ? ZERO : INTERPOLATE;\n}\n\nfunction hasValue(series, item) {\n var fields = SeriesBinder.current.bindPoint(series, null, item);\n var valueFields = fields.valueFields;\n\n for (var field in valueFields) {\n if (convertableToNumber(valueFields[field])) {\n return true;\n }\n }\n}\n\nfunction findNext(ref) {\n var start = ref.start;\n var dir = ref.dir;\n var min = ref.min;\n var max = ref.max;\n var getter = ref.getter;\n var hasItem = ref.hasItem;\n var series = ref.series;\n\n var pointHasValue, outPoint;\n var idx = start;\n do {\n idx += dir;\n //aggregating and binding the item takes too much time for large number of categories\n //will assume that if the aggregation does not create value for a missing item for one it will not create for others\n if (hasItem(idx)) {\n outPoint = getter(idx);\n pointHasValue = hasValue(series, outPoint.item);\n }\n } while (min <= idx && idx <= max && !pointHasValue);\n\n if (pointHasValue) {\n return outPoint;\n }\n}\n\nexport default function createOutOfRangePoints(series, range, count, getter, hasItem) {\n var min = range.min;\n var max = range.max;\n var hasMinPoint = min > 0 && min < count;\n var hasMaxPoint = max + 1 < count;\n\n if (hasMinPoint || hasMaxPoint) {\n var missingValues = seriesMissingValues(series);\n var minPoint, maxPoint;\n if (missingValues !== INTERPOLATE) {\n if (hasMinPoint) {\n minPoint = getter(min - 1);\n }\n\n if (hasMaxPoint) {\n maxPoint = getter(max + 1);\n }\n } else {\n var outPoint, pointHasValue;\n if (hasMinPoint) {\n outPoint = getter(min - 1);\n pointHasValue = hasValue(series, outPoint.item);\n if (!pointHasValue) {\n minPoint = findNext({\n start: min,\n dir: -1,\n min: 0,\n max: count - 1,\n getter: getter,\n hasItem: hasItem,\n series: series\n });\n } else {\n minPoint = outPoint;\n }\n }\n\n if (hasMaxPoint) {\n outPoint = getter(max + 1);\n pointHasValue = hasValue(series, outPoint.item);\n if (!pointHasValue) {\n maxPoint = findNext({\n start: max,\n dir: 1,\n min: 0,\n max: count - 1,\n getter: getter,\n hasItem: hasItem,\n series: series\n });\n } else {\n maxPoint = outPoint;\n }\n }\n }\n\n if (minPoint) {\n series._outOfRangeMinPoint = minPoint;\n }\n\n if (maxPoint) {\n series._outOfRangeMaxPoint = maxPoint;\n }\n }\n}","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { ChartElement, Box } from '../../core';\nimport Crosshair from '../crosshair/crosshair';\nimport Pane from '../pane';\nimport { hasValue } from '../utils';\n\nimport { WHITE, BLACK, X, Y, COORD_PRECISION, TOP, BOTTOM, LEFT, RIGHT, START, END } from '../../common/constants';\nimport { append, deepExtend, defined, getSpacing, getTemplate, inArray, isFunction, isString, limitValue, round, setDefaultOptions } from '../../common';\n\nvar PlotAreaBase = (function (ChartElement) {\n function PlotAreaBase(series, options, chartService) {\n ChartElement.call(this, options);\n\n this.initFields(series, options);\n this.series = series;\n this.initSeries();\n this.charts = [];\n this.options.legend = this.options.legend || {};\n this.options.legend.items = [];\n this.axes = [];\n this.crosshairs = [];\n this.chartService = chartService;\n this.originalOptions = options;\n\n this.createPanes();\n this.render();\n this.createCrosshairs();\n }\n\n if ( ChartElement ) PlotAreaBase.__proto__ = ChartElement;\n PlotAreaBase.prototype = Object.create( ChartElement && ChartElement.prototype );\n PlotAreaBase.prototype.constructor = PlotAreaBase;\n\n PlotAreaBase.prototype.initFields = function initFields () { };\n\n PlotAreaBase.prototype.initSeries = function initSeries () {\n var series = this.series;\n\n for (var i = 0; i < series.length; i++) {\n series[i].index = i;\n }\n };\n\n PlotAreaBase.prototype.createPanes = function createPanes () {\n var this$1 = this;\n\n var titleOptions = this.options.title || {};\n var paneDefaults = this.options.paneDefaults;\n var paneOptions = this.options.panes || [];\n var panesLength = Math.max(paneOptions.length, 1);\n var panes = [];\n\n var defaults = deepExtend({\n title: {\n color: titleOptions.color\n }\n }, paneDefaults);\n\n for (var i = 0; i < panesLength; i++) {\n var options = deepExtend({}, defaults, paneOptions[i]);\n if (isString(options.title)) {\n options.title = deepExtend({ text: options.title }, defaults.title);\n }\n\n var currentPane = new Pane(options);\n currentPane.paneIndex = i;\n\n panes.push(currentPane);\n this$1.append(currentPane);\n }\n\n this.panes = panes;\n };\n\n PlotAreaBase.prototype.crosshairOptions = function crosshairOptions (axis) {\n return axis.options.crosshair;\n };\n\n PlotAreaBase.prototype.createCrosshairs = function createCrosshairs (panes) {\n var this$1 = this;\n if ( panes === void 0 ) panes = this.panes;\n\n for (var i = 0; i < panes.length; i++) {\n var pane = panes[i];\n for (var j = 0; j < pane.axes.length; j++) {\n var axis = pane.axes[j];\n var options = this$1.crosshairOptions(axis);\n if (options && options.visible) {\n var currentCrosshair = new Crosshair(this$1.chartService, axis, options);\n\n this$1.crosshairs.push(currentCrosshair);\n pane.content.append(currentCrosshair);\n }\n }\n }\n };\n\n PlotAreaBase.prototype.removeCrosshairs = function removeCrosshairs (pane) {\n var crosshairs = this.crosshairs;\n var axes = pane.axes;\n\n for (var i = crosshairs.length - 1; i >= 0; i--) {\n for (var j = 0; j < axes.length; j++) {\n if (crosshairs[i].axis === axes[j]) {\n crosshairs.splice(i, 1);\n break;\n }\n }\n }\n };\n\n PlotAreaBase.prototype.hideCrosshairs = function hideCrosshairs () {\n var crosshairs = this.crosshairs;\n for (var idx = 0; idx < crosshairs.length; idx++) {\n crosshairs[idx].hide();\n }\n };\n\n PlotAreaBase.prototype.findPane = function findPane (name) {\n var panes = this.panes;\n var matchingPane;\n\n for (var i = 0; i < panes.length; i++) {\n if (panes[i].options.name === name) {\n matchingPane = panes[i];\n break;\n }\n }\n\n return matchingPane || panes[0];\n };\n\n PlotAreaBase.prototype.findPointPane = function findPointPane (point) {\n var panes = this.panes;\n var matchingPane;\n\n for (var i = 0; i < panes.length; i++) {\n if (panes[i].box.containsPoint(point)) {\n matchingPane = panes[i];\n break;\n }\n }\n\n return matchingPane;\n };\n\n PlotAreaBase.prototype.appendAxis = function appendAxis (axis) {\n var pane = this.findPane(axis.options.pane);\n\n pane.appendAxis(axis);\n this.axes.push(axis);\n axis.plotArea = this;\n };\n\n PlotAreaBase.prototype.removeAxis = function removeAxis (axisToRemove) {\n var this$1 = this;\n\n var filteredAxes = [];\n\n for (var i = 0; i < this.axes.length; i++) {\n var axis = this$1.axes[i];\n if (axisToRemove !== axis) {\n filteredAxes.push(axis);\n } else {\n axis.destroy();\n }\n }\n\n this.axes = filteredAxes;\n };\n\n PlotAreaBase.prototype.appendChart = function appendChart (chart, pane) {\n this.charts.push(chart);\n if (pane) {\n pane.appendChart(chart);\n } else {\n this.append(chart);\n }\n };\n\n PlotAreaBase.prototype.removeChart = function removeChart (chartToRemove) {\n var this$1 = this;\n\n var filteredCharts = [];\n\n for (var i = 0; i < this.charts.length; i++) {\n var chart = this$1.charts[i];\n if (chart !== chartToRemove) {\n filteredCharts.push(chart);\n } else {\n chart.destroy();\n }\n }\n\n this.charts = filteredCharts;\n };\n\n PlotAreaBase.prototype.addToLegend = function addToLegend (series) {\n var count = series.length;\n var legend = this.options.legend;\n var labels = legend.labels || {};\n var inactiveItems = legend.inactiveItems || {};\n var inactiveItemsLabels = inactiveItems.labels || {};\n var data = [];\n\n for (var i = 0; i < count; i++) {\n var currentSeries = series[i];\n var seriesVisible = currentSeries.visible !== false;\n if (currentSeries.visibleInLegend === false) {\n continue;\n }\n\n var text = currentSeries.name;\n var labelTemplate = seriesVisible ? getTemplate(labels) : getTemplate(inactiveItemsLabels) || getTemplate(labels);\n if (labelTemplate) {\n text = labelTemplate({\n text: hasValue(text) ? text : \"\",\n series: currentSeries\n });\n }\n\n var defaults = currentSeries._defaults;\n var color = currentSeries.color;\n if (isFunction(color) && defaults) {\n color = defaults.color;\n }\n\n var itemLabelOptions = (void 0), markerColor = (void 0);\n if (seriesVisible) {\n itemLabelOptions = {};\n markerColor = color;\n } else {\n itemLabelOptions = {\n color: inactiveItemsLabels.color,\n font: inactiveItemsLabels.font\n };\n markerColor = inactiveItems.markers.color;\n }\n\n if (hasValue(text) && text !== \"\") {\n data.push({\n text: text,\n labels: itemLabelOptions,\n markerColor: markerColor,\n series: currentSeries,\n active: seriesVisible\n });\n }\n }\n\n append(legend.items, data);\n };\n\n PlotAreaBase.prototype.groupAxes = function groupAxes (panes) {\n var xAxes = [];\n var yAxes = [];\n\n for (var paneIx = 0; paneIx < panes.length; paneIx++) {\n var paneAxes = panes[paneIx].axes;\n for (var axisIx = 0; axisIx < paneAxes.length; axisIx++) {\n var axis = paneAxes[axisIx];\n if (axis.options.vertical) {\n yAxes.push(axis);\n } else {\n xAxes.push(axis);\n }\n }\n }\n\n return { x: xAxes, y: yAxes, any: xAxes.concat(yAxes) };\n };\n\n PlotAreaBase.prototype.groupSeriesByPane = function groupSeriesByPane () {\n var this$1 = this;\n\n var series = this.series;\n var seriesByPane = {};\n\n for (var i = 0; i < series.length; i++) {\n var currentSeries = series[i];\n var pane = this$1.seriesPaneName(currentSeries);\n\n if (seriesByPane[pane]) {\n seriesByPane[pane].push(currentSeries);\n } else {\n seriesByPane[pane] = [ currentSeries ];\n }\n }\n\n return seriesByPane;\n };\n\n PlotAreaBase.prototype.filterVisibleSeries = function filterVisibleSeries (series) {\n var result = [];\n\n for (var i = 0; i < series.length; i++) {\n var currentSeries = series[i];\n if (currentSeries.visible !== false) {\n result.push(currentSeries);\n }\n }\n\n return result;\n };\n\n PlotAreaBase.prototype.reflow = function reflow (targetBox) {\n var options = this.options.plotArea;\n var panes = this.panes;\n var margin = getSpacing(options.margin);\n\n this.box = targetBox.clone().unpad(margin);\n this.reflowPanes();\n\n this.detachLabels();\n this.reflowAxes(panes);\n this.reflowCharts(panes);\n };\n\n PlotAreaBase.prototype.redraw = function redraw (panes) {\n var this$1 = this;\n\n var panesArray = [].concat(panes);\n this.initSeries();\n\n //prevents leak during partial redraws. the cached gradients observers retain reference to the destroyed elements.\n var root = this.getRoot();\n if (root) {\n root.cleanGradients();\n }\n\n for (var i = 0; i < panesArray.length; i++) {\n this$1.removeCrosshairs(panesArray[i]);\n panesArray[i].empty();\n }\n\n this.render(panesArray);\n this.detachLabels();\n this.reflowAxes(this.panes);\n this.reflowCharts(panesArray);\n\n this.createCrosshairs(panesArray);\n\n for (var i$1 = 0; i$1 < panesArray.length; i$1++) {\n panesArray[i$1].refresh();\n }\n };\n\n PlotAreaBase.prototype.axisCrossingValues = function axisCrossingValues (axis, crossingAxes) {\n var options = axis.options;\n var crossingValues = [].concat(\n options.axisCrossingValues || options.axisCrossingValue\n );\n var valuesToAdd = crossingAxes.length - crossingValues.length;\n var defaultValue = crossingValues[0] || 0;\n\n for (var i = 0; i < valuesToAdd; i++) {\n crossingValues.push(defaultValue);\n }\n\n return crossingValues;\n };\n\n PlotAreaBase.prototype.alignAxisTo = function alignAxisTo (axis, targetAxis, crossingValue, targetCrossingValue) {\n var slot = axis.getSlot(crossingValue, crossingValue, true);\n var slotEdge = axis.options.reverse ? 2 : 1;\n var targetSlot = targetAxis.getSlot(targetCrossingValue, targetCrossingValue, true);\n var targetEdge = targetAxis.options.reverse ? 2 : 1;\n var axisBox = axis.box.translate(\n targetSlot[X + targetEdge] - slot[X + slotEdge],\n targetSlot[Y + targetEdge] - slot[Y + slotEdge]\n );\n\n if (axis.pane !== targetAxis.pane) {\n axisBox.translate(0, axis.pane.box.y1 - targetAxis.pane.box.y1);\n }\n\n axis.reflow(axisBox);\n };\n\n PlotAreaBase.prototype.alignAxes = function alignAxes (xAxes, yAxes) {\n var this$1 = this;\n\n var xAnchor = xAxes[0];\n var yAnchor = yAxes[0];\n var xAnchorCrossings = this.axisCrossingValues(xAnchor, yAxes);\n var yAnchorCrossings = this.axisCrossingValues(yAnchor, xAxes);\n var leftAnchors = {};\n var rightAnchors = {};\n var topAnchors = {};\n var bottomAnchors = {};\n\n for (var i = 0; i < yAxes.length; i++) {\n var axis = yAxes[i];\n var pane = axis.pane;\n var paneId = pane.id;\n var visible = axis.options.visible !== false;\n\n // Locate pane anchor, if any, and use its axisCrossingValues\n var anchor = paneAnchor(xAxes, pane) || xAnchor;\n var anchorCrossings = xAnchorCrossings;\n\n if (anchor !== xAnchor) {\n anchorCrossings = this$1.axisCrossingValues(anchor, yAxes);\n }\n\n this$1.alignAxisTo(axis, anchor, yAnchorCrossings[i], anchorCrossings[i]);\n\n if (axis.options._overlap) {\n continue;\n }\n\n if (round(axis.lineBox().x1) === round(anchor.lineBox().x1)) {\n // Push the axis to the left the previous y-axis so they don't overlap\n if (leftAnchors[paneId]) {\n axis.reflow(axis.box\n .alignTo(leftAnchors[paneId].box, LEFT)\n .translate(-axis.options.margin, 0)\n );\n }\n\n if (visible) {\n leftAnchors[paneId] = axis;\n }\n }\n\n if (round(axis.lineBox().x2) === round(anchor.lineBox().x2)) {\n // Flip the labels on the right if we're at the right end of the pane\n if (!axis._mirrored) {\n axis.options.labels.mirror = !axis.options.labels.mirror;\n axis._mirrored = true;\n }\n\n this$1.alignAxisTo(axis, anchor, yAnchorCrossings[i], anchorCrossings[i]);\n\n // Push the axis to the right the previous y-axis so they don't overlap\n if (rightAnchors[paneId]) {\n axis.reflow(axis.box\n .alignTo(rightAnchors[paneId].box, RIGHT)\n .translate(axis.options.margin, 0)\n );\n }\n\n if (visible) {\n rightAnchors[paneId] = axis;\n }\n }\n\n if (i !== 0 && yAnchor.pane === axis.pane) {\n axis.alignTo(yAnchor);\n axis.reflow(axis.box);\n }\n }\n\n for (var i$1 = 0; i$1 < xAxes.length; i$1++) {\n var axis$1 = xAxes[i$1];\n var pane$1 = axis$1.pane;\n var paneId$1 = pane$1.id;\n var visible$1 = axis$1.options.visible !== false;\n\n // Locate pane anchor and use its axisCrossingValues\n var anchor$1 = paneAnchor(yAxes, pane$1) || yAnchor;\n var anchorCrossings$1 = yAnchorCrossings;\n if (anchor$1 !== yAnchor) {\n anchorCrossings$1 = this$1.axisCrossingValues(anchor$1, xAxes);\n }\n\n this$1.alignAxisTo(axis$1, anchor$1, xAnchorCrossings[i$1], anchorCrossings$1[i$1]);\n\n if (axis$1.options._overlap) {\n continue;\n }\n\n if (round(axis$1.lineBox().y1) === round(anchor$1.lineBox().y1)) {\n // Flip the labels on top if we're at the top of the pane\n if (!axis$1._mirrored) {\n axis$1.options.labels.mirror = !axis$1.options.labels.mirror;\n axis$1._mirrored = true;\n }\n this$1.alignAxisTo(axis$1, anchor$1, xAnchorCrossings[i$1], anchorCrossings$1[i$1]);\n\n // Push the axis above the previous x-axis so they don't overlap\n if (topAnchors[paneId$1]) {\n axis$1.reflow(axis$1.box\n .alignTo(topAnchors[paneId$1].box, TOP)\n .translate(0, -axis$1.options.margin)\n );\n }\n\n if (visible$1) {\n topAnchors[paneId$1] = axis$1;\n }\n }\n\n if (round(axis$1.lineBox().y2, COORD_PRECISION) === round(anchor$1.lineBox().y2, COORD_PRECISION)) {\n // Push the axis below the previous x-axis so they don't overlap\n if (bottomAnchors[paneId$1]) {\n axis$1.reflow(axis$1.box\n .alignTo(bottomAnchors[paneId$1].box, BOTTOM)\n .translate(0, axis$1.options.margin)\n );\n }\n\n if (visible$1) {\n bottomAnchors[paneId$1] = axis$1;\n }\n }\n\n if (i$1 !== 0) {\n axis$1.alignTo(xAnchor);\n axis$1.reflow(axis$1.box);\n }\n }\n };\n\n PlotAreaBase.prototype.shrinkAxisWidth = function shrinkAxisWidth (panes) {\n var axes = this.groupAxes(panes).any;\n var axisBox = axisGroupBox(axes);\n var overflowX = 0;\n\n for (var i = 0; i < panes.length; i++) {\n var currentPane = panes[i];\n\n if (currentPane.axes.length > 0) {\n overflowX = Math.max(\n overflowX,\n axisBox.width() - currentPane.contentBox.width()\n );\n }\n }\n\n if (overflowX !== 0) {\n for (var i$1 = 0; i$1 < axes.length; i$1++) {\n var currentAxis = axes[i$1];\n\n if (!currentAxis.options.vertical) {\n currentAxis.reflow(currentAxis.box.shrink(overflowX, 0));\n }\n }\n }\n };\n\n PlotAreaBase.prototype.shrinkAxisHeight = function shrinkAxisHeight (panes) {\n var shrinked;\n\n for (var i = 0; i < panes.length; i++) {\n var currentPane = panes[i];\n var axes = currentPane.axes;\n var overflowY = Math.max(0, axisGroupBox(axes).height() - currentPane.contentBox.height());\n\n if (overflowY !== 0) {\n for (var j = 0; j < axes.length; j++) {\n var currentAxis = axes[j];\n\n if (currentAxis.options.vertical) {\n currentAxis.reflow(\n currentAxis.box.shrink(0, overflowY)\n );\n }\n }\n shrinked = true;\n }\n }\n\n return shrinked;\n };\n\n PlotAreaBase.prototype.fitAxes = function fitAxes (panes) {\n var axes = this.groupAxes(panes).any;\n var offsetX = 0;\n\n for (var i = 0; i < panes.length; i++) {\n var currentPane = panes[i];\n var paneAxes = currentPane.axes;\n var paneBox = currentPane.contentBox;\n\n if (paneAxes.length > 0) {\n var axisBox = axisGroupBox(paneAxes);\n // OffsetY is calculated and applied per pane\n var offsetY = Math.max(paneBox.y1 - axisBox.y1, paneBox.y2 - axisBox.y2);\n\n // OffsetX is calculated and applied globally\n offsetX = Math.max(offsetX, paneBox.x1 - axisBox.x1);\n\n\n for (var j = 0; j < paneAxes.length; j++) {\n var currentAxis = paneAxes[j];\n\n currentAxis.reflow(\n currentAxis.box.translate(0, offsetY)\n );\n }\n }\n }\n\n for (var i$1 = 0; i$1 < axes.length; i$1++) {\n var currentAxis$1 = axes[i$1];\n\n currentAxis$1.reflow(\n currentAxis$1.box.translate(offsetX, 0)\n );\n }\n };\n\n PlotAreaBase.prototype.reflowAxes = function reflowAxes (panes) {\n var this$1 = this;\n\n var axes = this.groupAxes(panes);\n\n for (var i = 0; i < panes.length; i++) {\n this$1.reflowPaneAxes(panes[i]);\n }\n\n if (axes.x.length > 0 && axes.y.length > 0) {\n this.alignAxes(axes.x, axes.y);\n this.shrinkAxisWidth(panes);\n\n this.autoRotateAxisLabels(axes);\n\n this.alignAxes(axes.x, axes.y);\n if (this.shrinkAxisWidth(panes)) {\n this.alignAxes(axes.x, axes.y);\n }\n\n this.shrinkAxisHeight(panes);\n this.alignAxes(axes.x, axes.y);\n\n if (this.shrinkAxisHeight(panes)) {\n this.alignAxes(axes.x, axes.y);\n }\n\n this.fitAxes(panes);\n }\n };\n\n PlotAreaBase.prototype.autoRotateAxisLabels = function autoRotateAxisLabels (groupedAxes) {\n var this$1 = this;\n\n var ref = this;\n var panes = ref.panes;\n var axes = allPaneAxes(panes);\n var rotated;\n\n for (var idx = 0; idx < axes.length; idx++) {\n var axis = axes[idx];\n if (axis.autoRotateLabels()) {\n rotated = true;\n }\n }\n\n if (rotated) {\n for (var idx$1 = 0; idx$1 < panes.length; idx$1++) {\n this$1.reflowPaneAxes(panes[idx$1]);\n }\n\n if (groupedAxes.x.length > 0 && groupedAxes.y.length > 0) {\n this.alignAxes(groupedAxes.x, groupedAxes.y);\n this.shrinkAxisWidth(panes);\n }\n }\n };\n\n PlotAreaBase.prototype.reflowPaneAxes = function reflowPaneAxes (pane) {\n var axes = pane.axes;\n var length = axes.length;\n\n if (length > 0) {\n for (var i = 0; i < length; i++) {\n axes[i].reflow(pane.contentBox);\n }\n }\n };\n\n PlotAreaBase.prototype.reflowCharts = function reflowCharts (panes) {\n var charts = this.charts;\n var count = charts.length;\n var box = this.box;\n\n for (var i = 0; i < count; i++) {\n var chartPane = charts[i].pane;\n if (!chartPane || inArray(chartPane, panes)) {\n charts[i].reflow(box);\n }\n }\n };\n\n PlotAreaBase.prototype.reflowPanes = function reflowPanes () {\n var ref = this;\n var box = ref.box;\n var panes = ref.panes;\n var panesLength = panes.length;\n var remainingHeight = box.height();\n var remainingPanes = panesLength;\n var autoHeightPanes = 0;\n var top = box.y1;\n\n for (var i = 0; i < panesLength; i++) {\n var currentPane = panes[i];\n var height = currentPane.options.height;\n\n currentPane.options.width = box.width();\n\n if (!currentPane.options.height) {\n autoHeightPanes++;\n } else {\n if (height.indexOf && height.indexOf(\"%\")) {\n var percents = parseInt(height, 10) / 100;\n currentPane.options.height = percents * box.height();\n }\n\n currentPane.reflow(box.clone());\n\n remainingHeight -= currentPane.options.height;\n }\n }\n\n for (var i$1 = 0; i$1 < panesLength; i$1++) {\n var currentPane$1 = panes[i$1];\n\n if (!currentPane$1.options.height) {\n currentPane$1.options.height = remainingHeight / autoHeightPanes;\n }\n }\n\n for (var i$2 = 0; i$2 < panesLength; i$2++) {\n var currentPane$2 = panes[i$2];\n var paneBox = box\n .clone()\n .move(box.x1, top);\n\n currentPane$2.reflow(paneBox);\n\n remainingPanes--;\n top += currentPane$2.options.height;\n }\n };\n\n PlotAreaBase.prototype.backgroundBox = function backgroundBox () {\n var axes = this.axes;\n var axesCount = axes.length;\n var box;\n\n for (var i = 0; i < axesCount; i++) {\n var axisA = axes[i];\n\n for (var j = 0; j < axesCount; j++) {\n var axisB = axes[j];\n\n if (axisA.options.vertical !== axisB.options.vertical) {\n var lineBox = axisA.lineBox().clone().wrap(axisB.lineBox());\n\n if (!box) {\n box = lineBox;\n } else {\n box = box.wrap(lineBox);\n }\n }\n }\n }\n\n return box || this.box;\n };\n\n PlotAreaBase.prototype.chartsBoxes = function chartsBoxes () {\n var panes = this.panes;\n var boxes = [];\n\n for (var idx = 0; idx < panes.length; idx++) {\n boxes.push(panes[idx].chartsBox());\n }\n\n return boxes;\n };\n\n PlotAreaBase.prototype.addBackgroundPaths = function addBackgroundPaths (multipath) {\n var boxes = this.chartsBoxes();\n for (var idx = 0; idx < boxes.length; idx++) {\n multipath.paths.push(draw.Path.fromRect(boxes[idx].toRect()));\n }\n };\n\n PlotAreaBase.prototype.backgroundContainsPoint = function backgroundContainsPoint (point) {\n var boxes = this.chartsBoxes();\n for (var idx = 0; idx < boxes.length; idx++) {\n if (boxes[idx].containsPoint(point)) {\n return true;\n }\n }\n };\n\n PlotAreaBase.prototype.createVisual = function createVisual () {\n ChartElement.prototype.createVisual.call(this);\n\n var options = this.options.plotArea;\n var opacity = options.opacity;\n var background = options.background;\n var border = options.border; if ( border === void 0 ) border = {};\n if (isTransparent(background)) {\n background = WHITE;\n opacity = 0;\n }\n\n var bg = this._bgVisual = new draw.MultiPath({\n fill: {\n color: background,\n opacity: opacity\n },\n stroke: {\n color: border.width ? border.color : \"\",\n width: border.width,\n dashType: border.dashType\n },\n zIndex: -1\n });\n\n this.addBackgroundPaths(bg);\n\n this.appendVisual(bg);\n };\n\n PlotAreaBase.prototype.pointsByCategoryIndex = function pointsByCategoryIndex (categoryIndex) {\n var charts = this.charts;\n var result = [];\n\n if (categoryIndex !== null) {\n for (var i = 0; i < charts.length; i++) {\n var chart = charts[i];\n if (chart.pane.options.name === \"_navigator\") {\n continue;\n }\n\n var points = charts[i].categoryPoints[categoryIndex];\n if (points && points.length) {\n for (var j = 0; j < points.length; j++) {\n var point = points[j];\n if (point && defined(point.value) && point.value !== null) {\n result.push(point);\n }\n }\n }\n }\n }\n\n return result;\n };\n\n PlotAreaBase.prototype.pointsBySeriesIndex = function pointsBySeriesIndex (seriesIndex) {\n return this.filterPoints(function(point) {\n return point.series.index === seriesIndex;\n });\n };\n\n PlotAreaBase.prototype.pointsBySeriesName = function pointsBySeriesName (name) {\n return this.filterPoints(function(point) {\n return point.series.name === name;\n });\n };\n\n PlotAreaBase.prototype.filterPoints = function filterPoints (callback) {\n var charts = this.charts;\n var result = [];\n\n for (var i = 0; i < charts.length; i++) {\n var chart = charts[i];\n var points = chart.points;\n for (var j = 0; j < points.length; j++) {\n var point = points[j];\n if (point && point.visible !== false && callback(point)) {\n result.push(point);\n }\n }\n }\n\n return result;\n };\n\n PlotAreaBase.prototype.findPoint = function findPoint (callback) {\n var charts = this.charts;\n\n for (var i = 0; i < charts.length; i++) {\n var chart = charts[i];\n var points = chart.points;\n for (var j = 0; j < points.length; j++) {\n var point = points[j];\n if (point && point.visible !== false && callback(point)) {\n return point;\n }\n }\n }\n };\n\n PlotAreaBase.prototype.paneByPoint = function paneByPoint (point) {\n var panes = this.panes;\n\n for (var i = 0; i < panes.length; i++) {\n var pane = panes[i];\n if (pane.box.containsPoint(point)) {\n return pane;\n }\n }\n };\n\n PlotAreaBase.prototype.detachLabels = function detachLabels () {\n var axes = this.groupAxes(this.panes);\n var xAxes = axes.x;\n var yAxes = axes.y;\n\n this.detachAxisGroupLabels(yAxes, xAxes);\n this.detachAxisGroupLabels(xAxes, yAxes);\n };\n\n PlotAreaBase.prototype.detachAxisGroupLabels = function detachAxisGroupLabels (axes, crossingAxes) {\n var this$1 = this;\n\n var labelAxisCount = 0;\n\n for (var i = 0; i < axes.length; i++) {\n var axis = axes[i];\n var pane = axis.pane;\n var anchor = paneAnchor(crossingAxes, pane) || crossingAxes[0];\n var axisIndex = i + labelAxisCount;\n var labelAxis = this$1.createLabelAxis(axis, axisIndex, anchor);\n\n if (labelAxis) {\n labelAxisCount++;\n\n var pos = pane.axes.indexOf(axis) + labelAxisCount;\n pane.appendAxisAt(labelAxis, pos);\n }\n }\n };\n\n PlotAreaBase.prototype.createLabelAxis = function createLabelAxis (axis, axisIndex, anchor) {\n var labelOptions = axis.options.labels;\n var position = labelOptions.position;\n var onAxis = position !== END && position !== START;\n var visible = labelOptions.visible;\n\n if (onAxis || visible === false) {\n return null;\n }\n\n var allAxes = this.groupAxes(this.panes);\n var crossingAxes = anchor.options.vertical ? allAxes.x : allAxes.y;\n var anchorCrossings = this.axisCrossingValues(anchor, crossingAxes);\n var end = position === END;\n var range = anchor.range();\n var edge = end ? range.max : range.min;\n var crossingValue = limitValue(anchorCrossings[axisIndex], range.min, range.max);\n\n if (crossingValue - edge === 0) {\n return null;\n }\n\n anchorCrossings.splice(axisIndex + 1, 0, edge);\n anchor.options.axisCrossingValues = anchorCrossings;\n\n var labelAxis = axis.clone();\n axis.clear();\n\n labelAxis.options.name = undefined;\n labelAxis.options.line.visible = false;\n\n labelAxis.options.crosshair = undefined;\n labelAxis.options.notes = undefined;\n labelAxis.options.plotBands = undefined;\n\n return labelAxis;\n };\n\n return PlotAreaBase;\n}(ChartElement));\n\nfunction isSingleAxis(axis) {\n return !axis.pane.axes.some(function (a) { return a.options.vertical === axis.options.vertical && a !== axis && a.options.visible !== false; }\n );\n}\n\nfunction axisGroupBox(axes) {\n var length = axes.length;\n var box;\n\n for (var i = 0; i < length; i++) {\n var axis = axes[i];\n var visible = axis.options.visible !== false;\n if (visible || isSingleAxis(axis)) {\n var axisBox = visible ? axis.contentBox() : axis.lineBox();\n\n if (!box) {\n box = axisBox.clone();\n } else {\n box.wrap(axisBox);\n }\n }\n }\n\n return box || new Box();\n}\n\nfunction paneAnchor(axes, pane) {\n for (var i = 0; i < axes.length; i++) {\n var anchor = axes[i];\n if (anchor && anchor.pane === pane) {\n return anchor;\n }\n }\n}\n\nfunction isTransparent(color) {\n return color === \"\" || color === null || color === \"none\" || color === \"transparent\" || !defined(color);\n}\n\nvar allPaneAxes = function (panes) { return panes.reduce(function (acc, pane) { return acc.concat(pane.axes); }, []); };\n\nsetDefaultOptions(PlotAreaBase, {\n series: [],\n plotArea: {\n margin: {}\n },\n background: \"\",\n border: {\n color: BLACK,\n width: 0\n },\n paneDefaults: {\n title: {}\n },\n legend: {\n inactiveItems: {\n labels: {\n color: \"#919191\"\n },\n markers: {\n color: \"#919191\"\n }\n }\n }\n});\n\nexport default PlotAreaBase;\n","import { PLOT_AREA_HOVER, PLOT_AREA_CLICK } from '../constants';\n\nvar PlotAreaEventsMixin = {\n hover: function(chart, e) {\n this._dispatchEvent(chart, e, PLOT_AREA_HOVER);\n },\n\n click: function(chart, e) {\n this._dispatchEvent(chart, e, PLOT_AREA_CLICK);\n }\n};\n\nexport default PlotAreaEventsMixin;","import Aggregates from './aggregates';\n\nimport { Class, defined, inArray, isArray, isFunction, isNumber, isObject } from '../../common';\n\nvar SeriesAggregator = (function (Class) {\n function SeriesAggregator(series, binder, defaultAggregates) {\n Class.call(this);\n\n var canonicalFields = binder.canonicalFields(series);\n var valueFields = binder.valueFields(series);\n var sourceFields = binder.sourceFields(series, canonicalFields);\n var seriesFields = this._seriesFields = [];\n var defaults = defaultAggregates.query(series.type);\n var rootAggregate = series.aggregate || defaults;\n\n this._series = series;\n this._binder = binder;\n\n for (var i = 0; i < canonicalFields.length; i++) {\n var field = canonicalFields[i];\n var fieldAggregate = (void 0);\n\n if (isObject(rootAggregate)) {\n fieldAggregate = rootAggregate[field];\n } else if (i === 0 || inArray(field, valueFields)) {\n fieldAggregate = rootAggregate;\n } else {\n break;\n }\n\n if (fieldAggregate) {\n seriesFields.push({\n canonicalName: field,\n name: sourceFields[i],\n transform: isFunction(fieldAggregate) ? fieldAggregate : Aggregates[fieldAggregate]\n });\n }\n }\n }\n\n if ( Class ) SeriesAggregator.__proto__ = Class;\n SeriesAggregator.prototype = Object.create( Class && Class.prototype );\n SeriesAggregator.prototype.constructor = SeriesAggregator;\n\n SeriesAggregator.prototype.aggregatePoints = function aggregatePoints (srcPoints, group) {\n var this$1 = this;\n\n var ref = this;\n var series = ref._series;\n var seriesFields = ref._seriesFields;\n var data = this._bindPoints(srcPoints || []);\n var firstDataItem = data.dataItems[0];\n var result = {};\n\n if (firstDataItem && !isNumber(firstDataItem) && !isArray(firstDataItem)) {\n var fn = function() {};\n fn.prototype = firstDataItem;\n result = new fn();\n }\n\n for (var i = 0; i < seriesFields.length; i++) {\n var field = seriesFields[i];\n var srcValues = this$1._bindField(data.values, field.canonicalName);\n var value = field.transform(srcValues, series, data.dataItems, group);\n\n if (value !== null && isObject(value) && !defined(value.length) && !(value instanceof Date)) {\n result = value;\n break;\n } else {\n if (defined(value)) {\n setValue(field.name, result, value);\n }\n }\n }\n\n return result;\n };\n\n SeriesAggregator.prototype._bindPoints = function _bindPoints (points) {\n var ref = this;\n var binder = ref._binder;\n var series = ref._series;\n var values = [];\n var dataItems = [];\n\n for (var i = 0; i < points.length; i++) {\n var pointIx = points[i];\n\n values.push(binder.bindPoint(series, pointIx));\n dataItems.push(series.data[pointIx]);\n }\n\n return {\n values: values,\n dataItems: dataItems\n };\n };\n\n SeriesAggregator.prototype._bindField = function _bindField (data, field) {\n var values = [];\n var count = data.length;\n\n for (var i = 0; i < count; i++) {\n var item = data[i];\n var valueFields = item.valueFields;\n var value = (void 0);\n\n if (defined(valueFields[field])) {\n value = valueFields[field];\n } else {\n value = item.fields[field];\n }\n\n values.push(value);\n }\n\n return values;\n };\n\n return SeriesAggregator;\n}(Class));\n\nfunction setValue(fieldName, target, value) {\n var parentObj = target;\n var field = fieldName;\n\n if (fieldName.indexOf(\".\") > -1) {\n var parts = fieldName.split(\".\");\n\n while (parts.length > 1) {\n field = parts.shift();\n if (!defined(parentObj[field])) {\n parentObj[field] = {};\n }\n parentObj = parentObj[field];\n }\n field = parts.shift();\n }\n\n parentObj[field] = value;\n}\n\nexport default SeriesAggregator;","import { Class } from '../../common';\n\nvar DefaultAggregates = (function (Class) {\n function DefaultAggregates() {\n Class.call(this);\n\n this._defaults = {};\n }\n\n if ( Class ) DefaultAggregates.__proto__ = Class;\n DefaultAggregates.prototype = Object.create( Class && Class.prototype );\n DefaultAggregates.prototype.constructor = DefaultAggregates;\n\n DefaultAggregates.prototype.register = function register (seriesTypes, aggregates) {\n var this$1 = this;\n\n for (var i = 0; i < seriesTypes.length; i++) {\n this$1._defaults[seriesTypes[i]] = aggregates;\n }\n };\n\n DefaultAggregates.prototype.query = function query (seriesType) {\n return this._defaults[seriesType];\n };\n\n return DefaultAggregates;\n}(Class));\n\nDefaultAggregates.current = new DefaultAggregates();\n\nexport default DefaultAggregates;","import Bar from '../bar-chart/bar';\nimport BarLabel from '../bar-chart/bar-label';\n\nimport { deepExtend, getTemplate } from '../../common';\n\nvar RangeBar = (function (Bar) {\n function RangeBar () {\n Bar.apply(this, arguments);\n }\n\n if ( Bar ) RangeBar.__proto__ = Bar;\n RangeBar.prototype = Object.create( Bar && Bar.prototype );\n RangeBar.prototype.constructor = RangeBar;\n\n RangeBar.prototype.createLabel = function createLabel () {\n var labels = this.options.labels;\n var fromOptions = deepExtend({}, labels, labels.from);\n var toOptions = deepExtend({}, labels, labels.to);\n\n if (fromOptions.visible) {\n this.labelFrom = this._createLabel(fromOptions);\n this.append(this.labelFrom);\n }\n\n if (toOptions.visible) {\n this.labelTo = this._createLabel(toOptions);\n this.append(this.labelTo);\n }\n };\n\n RangeBar.prototype._createLabel = function _createLabel (options) {\n var labelTemplate = getTemplate(options);\n var pointData = this.pointData();\n\n var labelText;\n\n if (labelTemplate) {\n labelText = labelTemplate(pointData);\n } else {\n labelText = this.formatValue(options.format);\n }\n\n return new BarLabel(labelText,\n deepExtend({\n vertical: this.options.vertical\n },\n options\n ), pointData);\n };\n\n RangeBar.prototype.reflow = function reflow (targetBox) {\n this.render();\n\n var ref = this;\n var labelFrom = ref.labelFrom;\n var labelTo = ref.labelTo;\n var value = ref.value;\n\n this.box = targetBox;\n\n if (labelFrom) {\n labelFrom.options.aboveAxis = value.from > value.to;\n labelFrom.reflow(targetBox);\n }\n\n if (labelTo) {\n labelTo.options.aboveAxis = value.to > value.from;\n labelTo.reflow(targetBox);\n }\n\n if (this.note) {\n this.note.reflow(targetBox);\n }\n };\n\n return RangeBar;\n}(Bar));\n\nRangeBar.prototype.defaults = deepExtend({}, RangeBar.prototype.defaults, {\n labels: {\n format: \"{0} - {1}\"\n },\n tooltip: {\n format: \"{1}\"\n }\n});\n\nexport default RangeBar;","import BarChart from '../bar-chart/bar-chart';\nimport RangeBar from './range-bar';\nimport CategoricalChart from '../categorical-chart';\n\nimport { MIN_VALUE, MAX_VALUE } from '../../common/constants';\nimport { isNumber } from '../../common';\n\nvar RangeBarChart = (function (BarChart) {\n function RangeBarChart () {\n BarChart.apply(this, arguments);\n }\n\n if ( BarChart ) RangeBarChart.__proto__ = BarChart;\n RangeBarChart.prototype = Object.create( BarChart && BarChart.prototype );\n RangeBarChart.prototype.constructor = RangeBarChart;\n\n RangeBarChart.prototype.pointType = function pointType () {\n return RangeBar;\n };\n\n RangeBarChart.prototype.pointValue = function pointValue (data) {\n return data.valueFields;\n };\n\n RangeBarChart.prototype.formatPointValue = function formatPointValue (point, format) {\n if (point.value.from === null && point.value.to === null) {\n return \"\";\n }\n\n return this.chartService.format.auto(format, point.value.from, point.value.to);\n };\n\n RangeBarChart.prototype.plotRange = function plotRange (point) {\n if (!point) {\n return 0;\n }\n\n return [ point.value.from, point.value.to ];\n };\n\n RangeBarChart.prototype.updateRange = function updateRange (value, fields) {\n var axisName = fields.series.axis;\n var from = value.from;\n var to = value.to;\n var axisRange = this.valueAxisRanges[axisName];\n\n if (value !== null && isNumber(from) && isNumber(to)) {\n axisRange = this.valueAxisRanges[axisName] = axisRange || { min: MAX_VALUE, max: MIN_VALUE };\n\n axisRange.min = Math.min(axisRange.min, from);\n axisRange.max = Math.max(axisRange.max, from);\n\n axisRange.min = Math.min(axisRange.min, to);\n axisRange.max = Math.max(axisRange.max, to);\n }\n };\n\n RangeBarChart.prototype.aboveAxis = function aboveAxis (point) {\n var value = point.value;\n return value.from < value.to;\n };\n\n return RangeBarChart;\n}(BarChart));\n\nRangeBarChart.prototype.plotLimits = CategoricalChart.prototype.plotLimits;\n\nexport default RangeBarChart;","import LinePoint from '../line-chart/line-point';\n\nvar RangeLinePoint = (function (LinePoint) {\n function RangeLinePoint () {\n LinePoint.apply(this, arguments);\n }\n\n if ( LinePoint ) RangeLinePoint.__proto__ = LinePoint;\n RangeLinePoint.prototype = Object.create( LinePoint && LinePoint.prototype );\n RangeLinePoint.prototype.constructor = RangeLinePoint;\n\n RangeLinePoint.prototype.aliasFor = function aliasFor () {\n return this.parent;\n };\n\n return RangeLinePoint;\n}(LinePoint));\n\nexport default RangeLinePoint;","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { ChartElement, Point } from '../../core';\nimport RangeLinePoint from './range-line-point';\nimport PointEventsMixin from '../mixins/point-events-mixin';\nimport NoteMixin from '../mixins/note-mixin';\n\nimport { LINE_MARKER_SIZE, FADEIN, INITIAL_ANIMATION_DURATION, TOOLTIP_OFFSET, ABOVE, BELOW } from '../constants';\nimport { WHITE, CIRCLE, HIGHLIGHT_ZINDEX, LEFT, RIGHT, BOTTOM, CENTER } from '../../common/constants';\nimport { deepExtend, valueOrDefault, getSpacing } from '../../common';\n\nvar AUTO = 'auto';\nvar DEFAULT_FROM_FORMAT = '{0}';\nvar DEFAULT_TO_FORMAT = '{1}';\n\nvar RangeAreaPoint = (function (ChartElement) {\n function RangeAreaPoint(value, options) {\n ChartElement.call(this);\n\n this.value = value;\n this.options = options;\n this.aboveAxis = valueOrDefault(this.options.aboveAxis, true);\n this.tooltipTracking = true;\n this.initLabelsFormat();\n }\n\n if ( ChartElement ) RangeAreaPoint.__proto__ = ChartElement;\n RangeAreaPoint.prototype = Object.create( ChartElement && ChartElement.prototype );\n RangeAreaPoint.prototype.constructor = RangeAreaPoint;\n\n RangeAreaPoint.prototype.render = function render () {\n if (this._rendered) {\n return;\n }\n\n this._rendered = true;\n\n var ref = this.options;\n var markers = ref.markers;\n var labels = ref.labels;\n var value = this.value;\n\n var fromPoint = this.fromPoint = new RangeLinePoint(value, deepExtend({}, this.options, {\n labels: labels.from,\n markers: markers.from\n }));\n\n var toPoint = this.toPoint = new RangeLinePoint(value, deepExtend({}, this.options, {\n labels: labels.to,\n markers: markers.to\n }));\n\n this.copyFields(fromPoint);\n this.copyFields(toPoint);\n\n this.append(fromPoint);\n this.append(toPoint);\n };\n\n RangeAreaPoint.prototype.reflow = function reflow (targetBox) {\n this.render();\n\n var fromBox = targetBox.from;\n var toBox = targetBox.to;\n\n this.positionLabels(fromBox, toBox);\n\n this.fromPoint.reflow(fromBox);\n this.toPoint.reflow(toBox);\n\n this.box = this.fromPoint.markerBox().clone().wrap(this.toPoint.markerBox());\n };\n\n RangeAreaPoint.prototype.createHighlight = function createHighlight () {\n var group = new draw.Group();\n group.append(this.fromPoint.createHighlight());\n group.append(this.toPoint.createHighlight());\n\n return group;\n };\n\n RangeAreaPoint.prototype.highlightVisual = function highlightVisual () {\n return this.visual;\n };\n\n RangeAreaPoint.prototype.highlightVisualArgs = function highlightVisualArgs () {\n return {\n options: this.options,\n from: this.fromPoint.highlightVisualArgs(),\n to: this.toPoint.highlightVisualArgs()\n };\n };\n\n RangeAreaPoint.prototype.tooltipAnchor = function tooltipAnchor () {\n var clipBox = this.owner.pane.clipBox();\n var showTooltip = !clipBox || clipBox.overlaps(this.box);\n\n if (showTooltip) {\n var box = this.box;\n var center = box.center();\n var horizontalAlign = LEFT;\n var x, y, verticalAlign;\n\n if (this.options.vertical) {\n x = center.x;\n y = box.y1 - TOOLTIP_OFFSET;\n verticalAlign = BOTTOM;\n } else {\n x = box.x2 + TOOLTIP_OFFSET;\n y = center.y;\n verticalAlign = CENTER;\n }\n\n return {\n point: new Point(x, y),\n align: {\n horizontal: horizontalAlign,\n vertical: verticalAlign\n }\n };\n }\n };\n\n RangeAreaPoint.prototype.formatValue = function formatValue (format) {\n return this.owner.formatPointValue(this, format);\n };\n\n RangeAreaPoint.prototype.overlapsBox = function overlapsBox (box) {\n return this.box.overlaps(box);\n };\n\n RangeAreaPoint.prototype.unclipElements = function unclipElements () {\n this.fromPoint.unclipElements();\n this.toPoint.unclipElements();\n };\n\n RangeAreaPoint.prototype.initLabelsFormat = function initLabelsFormat () {\n var labels = this.options.labels;\n if (!labels.format) {\n if (!labels.from || !labels.from.format) {\n labels.from = Object.assign({}, labels.from, {\n format: DEFAULT_FROM_FORMAT\n });\n }\n\n if (!labels.to || !labels.to.format) {\n labels.to = Object.assign({}, labels.to, {\n format: DEFAULT_TO_FORMAT\n });\n }\n }\n };\n\n RangeAreaPoint.prototype.positionLabels = function positionLabels (fromBox, toBox) {\n var ref = this.options;\n var labels = ref.labels;\n var vertical = ref.vertical;\n\n if (labels.position === AUTO) {\n var fromLabelPosition, toLabelPosition;\n if (vertical) {\n if (toBox.y1 <= fromBox.y1) {\n toLabelPosition = ABOVE;\n fromLabelPosition = BELOW;\n } else {\n toLabelPosition = BELOW;\n fromLabelPosition = ABOVE;\n }\n } else {\n if (toBox.x1 <= fromBox.x1) {\n toLabelPosition = LEFT;\n fromLabelPosition = RIGHT;\n } else {\n toLabelPosition = RIGHT;\n fromLabelPosition = LEFT;\n }\n }\n\n if (!labels.from || !labels.from.position) {\n this.fromPoint.options.labels.position = fromLabelPosition;\n }\n\n if (!labels.to || !labels.to.position) {\n this.toPoint.options.labels.position = toLabelPosition;\n }\n }\n };\n\n RangeAreaPoint.prototype.copyFields = function copyFields (point) {\n point.dataItem = this.dataItem;\n point.category = this.category;\n point.series = this.series;\n point.color = this.color;\n point.owner = this.owner;\n };\n\n return RangeAreaPoint;\n}(ChartElement));\n\ndeepExtend(RangeAreaPoint.prototype, PointEventsMixin);\ndeepExtend(RangeAreaPoint.prototype, NoteMixin);\n\nRangeAreaPoint.prototype.defaults = {\n markers: {\n visible: false,\n background: WHITE,\n size: LINE_MARKER_SIZE,\n type: CIRCLE,\n border: {\n width: 2\n },\n opacity: 1\n },\n labels: {\n visible: false,\n margin: getSpacing(3),\n padding: getSpacing(4),\n animation: {\n type: FADEIN,\n delay: INITIAL_ANIMATION_DURATION\n },\n position: AUTO\n },\n notes: {\n label: {}\n },\n highlight: {\n markers: {\n border: {\n color: WHITE,\n width: 2\n }\n },\n zIndex: HIGHLIGHT_ZINDEX\n },\n tooltip: {\n format: '{0} - {1}'\n }\n};\n\nexport default RangeAreaPoint;\n","import { drawing as draw } from '@progress/kendo-drawing';\nimport AreaSegment from '../area-chart/area-segment';\n\nvar RangeAreaSegment = (function (AreaSegment) {\n function RangeAreaSegment () {\n AreaSegment.apply(this, arguments);\n }\n\n if ( AreaSegment ) RangeAreaSegment.__proto__ = AreaSegment;\n RangeAreaSegment.prototype = Object.create( AreaSegment && AreaSegment.prototype );\n RangeAreaSegment.prototype.constructor = RangeAreaSegment;\n\n RangeAreaSegment.prototype.createStrokeSegments = function createStrokeSegments () {\n return this.segmentsFromPoints(this.toGeometryPoints(this.toPoints()));\n };\n\n RangeAreaSegment.prototype.stackSegments = function stackSegments () {\n var fromSegments = this.fromSegments;\n if (!this.fromSegments) {\n fromSegments = this.fromSegments = this.segmentsFromPoints(this.toGeometryPoints(this.fromPoints().reverse()));\n }\n\n return fromSegments;\n };\n\n RangeAreaSegment.prototype.createStroke = function createStroke (style) {\n var toPath = new draw.Path(style);\n var fromPath = new draw.Path(style);\n\n toPath.segments.push.apply(toPath.segments, this.strokeSegments());\n fromPath.segments.push.apply(fromPath.segments, this.stackSegments());\n\n this.visual.append(toPath);\n this.visual.append(fromPath);\n };\n\n RangeAreaSegment.prototype.hasStackSegment = function hasStackSegment () {\n return true;\n };\n\n RangeAreaSegment.prototype.fromPoints = function fromPoints () {\n return this.linePoints.map(function (point) { return point.fromPoint; });\n };\n\n RangeAreaSegment.prototype.toPoints = function toPoints () {\n return this.linePoints.map(function (point) { return point.toPoint; });\n };\n\n return RangeAreaSegment;\n}(AreaSegment));\n\nexport default RangeAreaSegment;","import { CurveProcessor } from '../../core';\n\nimport RangeAreaSegment from './range-area-segment';\n\nvar SplineRangeAreaSegment = (function (RangeAreaSegment) {\n function SplineRangeAreaSegment () {\n RangeAreaSegment.apply(this, arguments);\n }\n\n if ( RangeAreaSegment ) SplineRangeAreaSegment.__proto__ = RangeAreaSegment;\n SplineRangeAreaSegment.prototype = Object.create( RangeAreaSegment && RangeAreaSegment.prototype );\n SplineRangeAreaSegment.prototype.constructor = SplineRangeAreaSegment;\n\n SplineRangeAreaSegment.prototype.createStrokeSegments = function createStrokeSegments () {\n return this.createCurveSegments(this.toPoints());\n };\n\n SplineRangeAreaSegment.prototype.stackSegments = function stackSegments () {\n var fromSegments = this.fromSegments;\n if (!this.fromSegments) {\n fromSegments = this.fromSegments = this.createCurveSegments(this.fromPoints().reverse());\n }\n\n return fromSegments;\n };\n\n SplineRangeAreaSegment.prototype.createCurveSegments = function createCurveSegments (points) {\n var curveProcessor = new CurveProcessor();\n\n return curveProcessor.process(this.toGeometryPoints(points));\n };\n\n return SplineRangeAreaSegment;\n}(RangeAreaSegment));\n\nexport default SplineRangeAreaSegment;","import StepLineMixin from '../line-chart/step-line-mixin';\nimport RangeAreaSegment from './range-area-segment';\nimport { deepExtend } from '../../common';\n\nvar StepRangeAreaSegment = (function (RangeAreaSegment) {\n function StepRangeAreaSegment () {\n RangeAreaSegment.apply(this, arguments);\n }\n\n if ( RangeAreaSegment ) StepRangeAreaSegment.__proto__ = RangeAreaSegment;\n StepRangeAreaSegment.prototype = Object.create( RangeAreaSegment && RangeAreaSegment.prototype );\n StepRangeAreaSegment.prototype.constructor = StepRangeAreaSegment;\n\n StepRangeAreaSegment.prototype.createStrokeSegments = function createStrokeSegments () {\n return this.segmentsFromPoints(this.calculateStepPoints(this.toPoints()));\n };\n\n StepRangeAreaSegment.prototype.stackSegments = function stackSegments () {\n var fromSegments = this.fromSegments;\n if (!this.fromSegments) {\n fromSegments = this.fromSegments = this.segmentsFromPoints(this.calculateStepPoints(this.fromPoints()));\n fromSegments.reverse();\n }\n\n return fromSegments;\n };\n\n return StepRangeAreaSegment;\n}(RangeAreaSegment));\n\ndeepExtend(StepRangeAreaSegment.prototype, StepLineMixin);\n\nexport default StepRangeAreaSegment;","import CategoricalChart from '../categorical-chart';\nimport LineChartMixin from '../mixins/line-chart-mixin';\nimport ClipAnimationMixin from '../mixins/clip-animation-mixin';\nimport RangeAreaPoint from './range-area-point';\nimport RangeAreaSegment from './range-area-segment';\nimport SplineRangeAreaSegment from './spline-range-area-segment';\nimport StepRangeAreaSegment from './step-range-area-segment';\n\nimport { Box } from '../../core';\nimport { ZERO } from '../constants';\nimport { MIN_VALUE, MAX_VALUE } from '../../common/constants';\nimport { isNumber } from '../../common';\nimport { deepExtend, isFunction } from '../../common';\nimport { hasValue } from '../utils';\n\nvar RangeAreaChart = (function (CategoricalChart) {\n function RangeAreaChart () {\n CategoricalChart.apply(this, arguments);\n }\n\n if ( CategoricalChart ) RangeAreaChart.__proto__ = CategoricalChart;\n RangeAreaChart.prototype = Object.create( CategoricalChart && CategoricalChart.prototype );\n RangeAreaChart.prototype.constructor = RangeAreaChart;\n\n RangeAreaChart.prototype.render = function render () {\n CategoricalChart.prototype.render.call(this);\n\n this.renderSegments();\n };\n\n RangeAreaChart.prototype.pointType = function pointType () {\n return RangeAreaPoint;\n };\n\n RangeAreaChart.prototype.createPoint = function createPoint (data, fields) {\n var series = fields.series;\n var seriesIx = fields.seriesIx;\n var value = data.valueFields;\n\n if (!hasValue(value.from) && !hasValue(value.to)) {\n if (this.seriesMissingValues(series) === ZERO) {\n value = {\n from: 0,\n to: 0\n };\n } else {\n return null;\n }\n }\n\n var pointOptions = this.pointOptions(series, seriesIx);\n pointOptions = this.evalPointOptions(pointOptions, value, fields);\n\n var color = data.fields.color || series.color;\n if (isFunction(series.color)) {\n color = pointOptions.color;\n }\n\n var point = new RangeAreaPoint(value, pointOptions);\n point.color = color;\n\n this.append(point);\n\n return point;\n };\n\n RangeAreaChart.prototype.createSegment = function createSegment (linePoints, currentSeries, seriesIx) {\n var style = (currentSeries.line || {}).style;\n var segmentType;\n if (style === \"smooth\") {\n segmentType = SplineRangeAreaSegment;\n } else if (style === \"step\") {\n segmentType = StepRangeAreaSegment;\n } else {\n segmentType = RangeAreaSegment;\n }\n\n return new segmentType(linePoints, currentSeries, seriesIx);\n };\n\n RangeAreaChart.prototype.plotRange = function plotRange (point, startValue) {\n if (!point) {\n return [ startValue, startValue ];\n }\n\n return [ point.value.from, point.value.to ];\n };\n\n RangeAreaChart.prototype.valueSlot = function valueSlot (valueAxis, plotRange) {\n var fromSlot = valueAxis.getSlot(plotRange[0], plotRange[0], !this.options.clip);\n var toSlot = valueAxis.getSlot(plotRange[1], plotRange[1], !this.options.clip);\n if (fromSlot && toSlot) {\n return {\n from: fromSlot,\n to: toSlot\n };\n }\n };\n\n RangeAreaChart.prototype.pointSlot = function pointSlot (categorySlot, valueSlot) {\n var from = valueSlot.from;\n var to = valueSlot.to;\n var fromSlot, toSlot;\n\n if (this.options.invertAxes) {\n fromSlot = new Box(from.x1, categorySlot.y1, from.x2, categorySlot.y2);\n toSlot = new Box(to.x1, categorySlot.y1, to.x2, categorySlot.y2);\n } else {\n fromSlot = new Box(categorySlot.x1, from.y1, categorySlot.x2, from.y2);\n toSlot = new Box(categorySlot.x1, to.y1, categorySlot.x2, to.y2);\n }\n\n return {\n from: fromSlot,\n to: toSlot\n };\n };\n\n RangeAreaChart.prototype.addValue = function addValue (data, fields) {\n var valueFields = data.valueFields;\n if (!isNumber(valueFields.from)) {\n valueFields.from = valueFields.to;\n }\n\n if (!isNumber(valueFields.to)) {\n valueFields.to = valueFields.from;\n }\n\n CategoricalChart.prototype.addValue.call(this, data, fields);\n };\n\n RangeAreaChart.prototype.updateRange = function updateRange (value, fields) {\n if (value !== null && isNumber(value.from) && isNumber(value.to)) {\n var axisName = fields.series.axis;\n var axisRange = this.valueAxisRanges[axisName] = this.valueAxisRanges[axisName] || { min: MAX_VALUE, max: MIN_VALUE };\n var from = value.from;\n var to = value.to;\n\n axisRange.min = Math.min(axisRange.min, from, to);\n axisRange.max = Math.max(axisRange.max, from, to);\n }\n };\n\n RangeAreaChart.prototype.formatPointValue = function formatPointValue (point, format) {\n var value = point.value;\n\n return this.chartService.format.auto(format, value.from, value.to);\n };\n\n RangeAreaChart.prototype.animationPoints = function animationPoints () {\n var points = this.points;\n var result = [];\n for (var idx = 0; idx < points.length; idx++) {\n var point = points[idx];\n if (point) {\n result.push((point.fromPoint || {}).marker);\n result.push((point.toPoint || {}).marker);\n }\n }\n\n return result.concat(this._segments);\n };\n\n return RangeAreaChart;\n}(CategoricalChart));\n\ndeepExtend(RangeAreaChart.prototype, LineChartMixin, ClipAnimationMixin);\n\nexport default RangeAreaChart;\n","import Candlestick from '../candlestick-chart/candlestick';\n\nvar OHLCPoint = (function (Candlestick) {\n function OHLCPoint () {\n Candlestick.apply(this, arguments);\n }\n\n if ( Candlestick ) OHLCPoint.__proto__ = Candlestick;\n OHLCPoint.prototype = Object.create( Candlestick && Candlestick.prototype );\n OHLCPoint.prototype.constructor = OHLCPoint;\n\n OHLCPoint.prototype.reflow = function reflow (box) {\n var ref = this;\n var options = ref.options;\n var value = ref.value;\n var chart = ref.owner;\n var valueAxis = chart.seriesValueAxis(options);\n var oPoints = [];\n var cPoints = [];\n var lhPoints = [];\n\n var lhSlot = valueAxis.getSlot(value.low, value.high);\n var oSlot = valueAxis.getSlot(value.open, value.open);\n var cSlot = valueAxis.getSlot(value.close, value.close);\n\n oSlot.x1 = cSlot.x1 = lhSlot.x1 = box.x1;\n oSlot.x2 = cSlot.x2 = lhSlot.x2 = box.x2;\n\n var mid = lhSlot.center().x;\n\n oPoints.push([ oSlot.x1, oSlot.y1 ]);\n oPoints.push([ mid, oSlot.y1 ]);\n cPoints.push([ mid, cSlot.y1 ]);\n cPoints.push([ cSlot.x2, cSlot.y1 ]);\n lhPoints.push([ mid, lhSlot.y1 ]);\n lhPoints.push([ mid, lhSlot.y2 ]);\n\n this.lines = [\n oPoints, cPoints, lhPoints\n ];\n\n this.box = lhSlot.clone().wrap(oSlot.clone().wrap(cSlot));\n\n this.reflowNote();\n };\n\n OHLCPoint.prototype.createBody = function createBody () {};\n\n return OHLCPoint;\n}(Candlestick));\n\nexport default OHLCPoint;","import CandlestickChart from '../candlestick-chart/candlestick-chart';\nimport OHLCPoint from './ohlc-point';\n\nvar OHLCChart = (function (CandlestickChart) {\n function OHLCChart () {\n CandlestickChart.apply(this, arguments);\n }\n\n if ( CandlestickChart ) OHLCChart.__proto__ = CandlestickChart;\n OHLCChart.prototype = Object.create( CandlestickChart && CandlestickChart.prototype );\n OHLCChart.prototype.constructor = OHLCChart;\n\n OHLCChart.prototype.pointType = function pointType () {\n return OHLCPoint;\n };\n\n return OHLCChart;\n}(CandlestickChart));\n\nexport default OHLCChart;","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { ChartElement } from '../../core';\n\nimport { FADEIN, INITIAL_ANIMATION_DURATION } from '../constants';\n\nimport { alignPathToPixel, setDefaultOptions } from '../../common';\n\nvar WaterfallSegment = (function (ChartElement) {\n function WaterfallSegment(from, to, series) {\n ChartElement.call(this);\n\n this.from = from;\n this.to = to;\n this.series = series;\n }\n\n if ( ChartElement ) WaterfallSegment.__proto__ = ChartElement;\n WaterfallSegment.prototype = Object.create( ChartElement && ChartElement.prototype );\n WaterfallSegment.prototype.constructor = WaterfallSegment;\n\n WaterfallSegment.prototype.linePoints = function linePoints () {\n var from = this.from;\n var ref = this;\n var fromBox = ref.from.box;\n var toBox = ref.to.box;\n var points = [];\n\n if (from.isVertical) {\n var y = from.aboveAxis ? fromBox.y1 : fromBox.y2;\n points.push(\n [ fromBox.x1, y ],\n [ toBox.x2, y ]\n );\n } else {\n var x = from.aboveAxis ? fromBox.x2 : fromBox.x1;\n points.push(\n [ x, fromBox.y1 ],\n [ x, toBox.y2 ]\n );\n }\n\n return points;\n };\n\n WaterfallSegment.prototype.createVisual = function createVisual () {\n ChartElement.prototype.createVisual.call(this);\n\n var line = this.series.line || {};\n\n var path = draw.Path.fromPoints(this.linePoints(), {\n stroke: {\n color: line.color,\n width: line.width,\n opacity: line.opacity,\n dashType: line.dashType\n }\n });\n\n alignPathToPixel(path);\n this.visual.append(path);\n };\n\n return WaterfallSegment;\n}(ChartElement));\n\nsetDefaultOptions(WaterfallSegment, {\n animation: {\n type: FADEIN,\n delay: INITIAL_ANIMATION_DURATION\n }\n});\n\nexport default WaterfallSegment;","import BarChart from '../bar-chart/bar-chart';\nimport SeriesBinder from '../series-binder';\nimport WaterfallSegment from './waterfall-segment';\n\nimport categoriesCount from '../utils/categories-count';\n\nimport { isNumber } from '../../common';\n\nvar WaterfallChart = (function (BarChart) {\n function WaterfallChart () {\n BarChart.apply(this, arguments);\n }\n\n if ( BarChart ) WaterfallChart.__proto__ = BarChart;\n WaterfallChart.prototype = Object.create( BarChart && BarChart.prototype );\n WaterfallChart.prototype.constructor = WaterfallChart;\n\n WaterfallChart.prototype.render = function render () {\n BarChart.prototype.render.call(this);\n this.createSegments();\n };\n\n WaterfallChart.prototype.traverseDataPoints = function traverseDataPoints (callback) {\n var this$1 = this;\n\n var series = this.options.series;\n var totalCategories = categoriesCount(series);\n var isVertical = !this.options.invertAxes;\n\n for (var seriesIx = 0; seriesIx < series.length; seriesIx++) {\n var currentSeries = series[seriesIx];\n var total = 0;\n var runningTotal = 0;\n\n for (var categoryIx = 0; categoryIx < totalCategories; categoryIx++) {\n var data = SeriesBinder.current.bindPoint(currentSeries, categoryIx);\n var value = data.valueFields.value;\n var summary = data.fields.summary;\n var from = total;\n var to = (void 0);\n\n if (summary) {\n if (summary.toLowerCase() === \"total\") {\n data.valueFields.value = total;\n from = 0;\n to = total;\n } else {\n data.valueFields.value = runningTotal;\n to = from - runningTotal;\n runningTotal = 0;\n }\n } else if (isNumber(value)) {\n runningTotal += value;\n total += value;\n to = total;\n }\n\n callback(data, {\n category: this$1.categoryAxis.categoryAt(categoryIx),\n categoryIx: categoryIx,\n series: currentSeries,\n seriesIx: seriesIx,\n total: total,\n runningTotal: runningTotal,\n from: from,\n to: to,\n isVertical: isVertical\n });\n }\n }\n };\n\n WaterfallChart.prototype.updateRange = function updateRange (value, fields) {\n BarChart.prototype.updateRange.call(this, { value: fields.to }, fields);\n };\n\n WaterfallChart.prototype.aboveAxis = function aboveAxis (point) {\n return point.value >= 0;\n };\n\n WaterfallChart.prototype.plotRange = function plotRange (point) {\n return [ point.from, point.to ];\n };\n\n WaterfallChart.prototype.createSegments = function createSegments () {\n var this$1 = this;\n\n var series = this.options.series;\n var seriesPoints = this.seriesPoints;\n var segments = this.segments = [];\n\n for (var seriesIx = 0; seriesIx < series.length; seriesIx++) {\n var currentSeries = series[seriesIx];\n var points = seriesPoints[seriesIx];\n\n if (points) {\n var prevPoint = (void 0);\n for (var pointIx = 0; pointIx < points.length; pointIx++) {\n var point = points[pointIx];\n\n if (point && prevPoint) {\n var segment = new WaterfallSegment(prevPoint, point, currentSeries);\n segments.push(segment);\n this$1.append(segment);\n }\n\n prevPoint = point;\n }\n }\n }\n };\n\n return WaterfallChart;\n}(BarChart));\n\nexport default WaterfallChart;","import PlotAreaBase from './plotarea-base';\nimport AxisGroupRangeTracker from '../axis-group-range-tracker';\nimport PlotAreaEventsMixin from '../mixins/plotarea-events-mixin';\nimport SeriesAggregator from '../aggregates/series-aggregator';\nimport DefaultAggregates from '../aggregates/default-aggregates';\nimport SeriesBinder from '../series-binder';\nimport BarChart from '../bar-chart/bar-chart';\nimport RangeBarChart from '../range-bar-chart/range-bar-chart';\nimport BulletChart from '../bullet-chart/bullet-chart';\nimport LineChart from '../line-chart/line-chart';\nimport AreaChart from '../area-chart/area-chart';\nimport RangeAreaChart from '../range-area-chart/range-area-chart';\nimport OHLCChart from '../ohlc-chart/ohlc-chart';\nimport CandlestickChart from '../candlestick-chart/candlestick-chart';\nimport BoxPlotChart from '../box-plot-chart/box-plot-chart';\nimport WaterfallChart from '../waterfall-chart/waterfall-chart';\n\nimport { CategoryAxis, DateCategoryAxis, NumericAxis, LogarithmicAxis, Point } from '../../core';\n\nimport { appendIfNotNull, categoriesCount, createOutOfRangePoints, equalsIgnoreCase, filterSeriesByType,\n getDateField, getField, isDateAxis, singleItemOrArray } from '../utils';\n\nimport { BAR, COLUMN, BULLET, VERTICAL_BULLET, LINE, VERTICAL_LINE, AREA, VERTICAL_AREA,\n RANGE_AREA, VERTICAL_RANGE_AREA, RANGE_COLUMN, RANGE_BAR, WATERFALL, HORIZONTAL_WATERFALL,\n BOX_PLOT, VERTICAL_BOX_PLOT, OHLC, CANDLESTICK, LOGARITHMIC, STEP, EQUALLY_SPACED_SERIES } from '../constants';\n\nimport { DATE, MAX_VALUE } from '../../common/constants';\nimport { setDefaultOptions, inArray, isNumber, deepExtend, defined, eventElement, grep } from '../../common';\n\nvar AREA_SERIES = [ AREA, VERTICAL_AREA, RANGE_AREA, VERTICAL_RANGE_AREA ];\nvar OUT_OF_RANGE_SERIES = [ LINE, VERTICAL_LINE ].concat(AREA_SERIES);\n\nvar CategoricalPlotArea = (function (PlotAreaBase) {\n function CategoricalPlotArea () {\n PlotAreaBase.apply(this, arguments);\n }\n\n if ( PlotAreaBase ) CategoricalPlotArea.__proto__ = PlotAreaBase;\n CategoricalPlotArea.prototype = Object.create( PlotAreaBase && PlotAreaBase.prototype );\n CategoricalPlotArea.prototype.constructor = CategoricalPlotArea;\n\n CategoricalPlotArea.prototype.initFields = function initFields (series) {\n var this$1 = this;\n\n this.namedCategoryAxes = {};\n this.namedValueAxes = {};\n this.valueAxisRangeTracker = new AxisGroupRangeTracker();\n\n if (series.length > 0) {\n this.invertAxes = inArray(\n series[0].type, [ BAR, BULLET, VERTICAL_LINE, VERTICAL_AREA, VERTICAL_RANGE_AREA,\n RANGE_BAR, HORIZONTAL_WATERFALL, VERTICAL_BOX_PLOT ]\n );\n\n for (var i = 0; i < series.length; i++) {\n var stack = series[i].stack;\n if (stack && stack.type === \"100%\") {\n this$1.stack100 = true;\n break;\n }\n }\n }\n\n };\n\n CategoricalPlotArea.prototype.render = function render (panes) {\n if ( panes === void 0 ) panes = this.panes;\n\n this.createCategoryAxes(panes);\n this.aggregateCategories(panes);\n this.createCategoryAxesLabels(panes);\n this.createCharts(panes);\n this.createValueAxes(panes);\n };\n\n CategoricalPlotArea.prototype.removeAxis = function removeAxis (axis) {\n var axisName = axis.options.name;\n\n PlotAreaBase.prototype.removeAxis.call(this, axis);\n\n if (axis instanceof CategoryAxis) {\n delete this.namedCategoryAxes[axisName];\n } else {\n this.valueAxisRangeTracker.reset(axisName);\n delete this.namedValueAxes[axisName];\n }\n\n if (axis === this.categoryAxis) {\n delete this.categoryAxis;\n }\n\n if (axis === this.valueAxis) {\n delete this.valueAxis;\n }\n };\n\n CategoricalPlotArea.prototype.createCharts = function createCharts (panes) {\n var this$1 = this;\n\n var seriesByPane = this.groupSeriesByPane();\n\n for (var i = 0; i < panes.length; i++) {\n var pane = panes[i];\n var paneSeries = seriesByPane[pane.options.name || \"default\"] || [];\n this$1.addToLegend(paneSeries);\n\n var visibleSeries = this$1.filterVisibleSeries(paneSeries);\n if (!visibleSeries) {\n continue;\n }\n\n var groups = this$1.groupSeriesByCategoryAxis(visibleSeries);\n for (var groupIx = 0; groupIx < groups.length; groupIx++) {\n this$1.createChartGroup(groups[groupIx], pane);\n }\n }\n };\n\n CategoricalPlotArea.prototype.createChartGroup = function createChartGroup (series, pane) {\n this.createAreaChart(\n filterSeriesByType(series, [ AREA, VERTICAL_AREA ]), pane\n );\n\n this.createRangeAreaChart(\n filterSeriesByType(series, [ RANGE_AREA, VERTICAL_RANGE_AREA ]), pane\n );\n\n this.createBarChart(\n filterSeriesByType(series, [ COLUMN, BAR ]), pane\n );\n\n this.createRangeBarChart(\n filterSeriesByType(series, [ RANGE_COLUMN, RANGE_BAR ]), pane\n );\n\n this.createBulletChart(\n filterSeriesByType(series, [ BULLET, VERTICAL_BULLET ]), pane\n );\n\n this.createCandlestickChart(\n filterSeriesByType(series, CANDLESTICK), pane\n );\n\n this.createBoxPlotChart(\n filterSeriesByType(series, [ BOX_PLOT, VERTICAL_BOX_PLOT ]), pane\n );\n\n this.createOHLCChart(\n filterSeriesByType(series, OHLC), pane\n );\n\n this.createWaterfallChart(\n filterSeriesByType(series, [ WATERFALL, HORIZONTAL_WATERFALL ]), pane\n );\n\n this.createLineChart(\n filterSeriesByType(series, [ LINE, VERTICAL_LINE ]), pane\n );\n };\n\n CategoricalPlotArea.prototype.aggregateCategories = function aggregateCategories (panes) {\n var this$1 = this;\n\n var series = this.srcSeries || this.series;\n var processedSeries = [];\n this._currentPointsCache = {};\n this._seriesPointsCache = this._seriesPointsCache || {};\n\n for (var i = 0; i < series.length; i++) {\n var currentSeries = series[i];\n var categoryAxis = this$1.seriesCategoryAxis(currentSeries);\n var axisPane = this$1.findPane(categoryAxis.options.pane);\n var dateAxis = equalsIgnoreCase(categoryAxis.options.type, DATE);\n\n if ((dateAxis || currentSeries.categoryField) && inArray(axisPane, panes)) {\n currentSeries = this$1.aggregateSeries(currentSeries, categoryAxis);\n } else {\n currentSeries = this$1.filterSeries(currentSeries, categoryAxis);\n }\n\n processedSeries.push(currentSeries);\n }\n\n this._seriesPointsCache = this._currentPointsCache;\n this._currentPointsCache = null;\n\n this.srcSeries = series;\n this.series = processedSeries;\n };\n\n CategoricalPlotArea.prototype.filterSeries = function filterSeries (series, categoryAxis) {\n var dataLength = (series.data || {}).length;\n categoryAxis._seriesMax = Math.max(categoryAxis._seriesMax || 0, dataLength);\n\n if (!(isNumber(categoryAxis.options.min) || isNumber(categoryAxis.options.max))) {\n return series;\n }\n\n var range = categoryAxis.currentRangeIndices();\n var outOfRangePoints = inArray(series.type, OUT_OF_RANGE_SERIES);\n var currentSeries = deepExtend({}, series);\n\n currentSeries.data = (currentSeries.data || []).slice(range.min, range.max + 1);\n\n if (outOfRangePoints) {\n createOutOfRangePoints(currentSeries, range, dataLength, function (idx) { return ({\n item: series.data[idx],\n category: categoryAxis.categoryAt(idx, true),\n categoryIx: idx - range.min\n }); }, function (idx) { return defined(series.data[idx]); });\n }\n\n return currentSeries;\n };\n\n CategoricalPlotArea.prototype.clearSeriesPointsCache = function clearSeriesPointsCache () {\n this._seriesPointsCache = {};\n };\n\n CategoricalPlotArea.prototype.seriesSourcePoints = function seriesSourcePoints (series, categoryAxis) {\n var this$1 = this;\n\n var key = (series.index) + \";\" + (categoryAxis.categoriesHash());\n if (this._seriesPointsCache[key]) {\n this._currentPointsCache[key] = this._seriesPointsCache[key];\n return this._seriesPointsCache[key];\n }\n\n var axisOptions = categoryAxis.options;\n var srcCategories = axisOptions.srcCategories;\n var dateAxis = equalsIgnoreCase(axisOptions.type, DATE);\n var srcData = series.data;\n var getFn = dateAxis ? getDateField : getField;\n var result = [];\n if (!dateAxis) {\n categoryAxis.mapCategories();//fixes major performance issue caused by searching for the index for large data\n }\n\n for (var idx = 0; idx < srcData.length; idx++) {\n var category = (void 0);\n if (series.categoryField) {\n category = getFn(series.categoryField, srcData[idx], this$1.chartService.intl);\n } else {\n category = srcCategories[idx];\n }\n\n if (defined(category) && category !== null) {\n var categoryIx = categoryAxis.totalIndex(category);\n result[categoryIx] = result[categoryIx] || { items: [], category: category };\n result[categoryIx].items.push(idx);\n }\n }\n\n this._currentPointsCache[key] = result;\n\n return result;\n };\n\n CategoricalPlotArea.prototype.aggregateSeries = function aggregateSeries (series, categoryAxis) {\n var srcData = series.data;\n if (!srcData.length) {\n return series;\n }\n\n var srcPoints = this.seriesSourcePoints(series, categoryAxis);\n var result = deepExtend({}, series);\n var aggregator = new SeriesAggregator(deepExtend({}, series), SeriesBinder.current, DefaultAggregates.current);\n var data = result.data = [];\n var dataItems = categoryAxis.options.dataItems || [];\n\n var range = categoryAxis.currentRangeIndices();\n var categoryItem = function (idx) {\n var categoryIdx = idx - range.min;\n var point = srcPoints[idx];\n if (!point) {\n point = srcPoints[idx] = {};\n }\n\n point.categoryIx = categoryIdx;\n\n if (!point.item) {\n var category = categoryAxis.categoryAt(idx, true);\n point.category = category;\n point.item = aggregator.aggregatePoints(point.items, category);\n }\n\n return point;\n };\n\n for (var idx = range.min; idx <= range.max; idx++) {\n var point = categoryItem(idx);\n data[point.categoryIx] = point.item;\n\n if (point.items && point.items.length) {\n dataItems[point.categoryIx] = point.item;\n }\n }\n\n if (inArray(result.type, OUT_OF_RANGE_SERIES)) {\n createOutOfRangePoints(result, range, categoryAxis.totalCount(), categoryItem, function (idx) { return srcPoints[idx]; });\n }\n\n categoryAxis.options.dataItems = dataItems;\n\n return result;\n };\n\n CategoricalPlotArea.prototype.appendChart = function appendChart (chart, pane) {\n var series = chart.options.series;\n var categoryAxis = this.seriesCategoryAxis(series[0]);\n var categories = categoryAxis.options.categories;\n var categoriesToAdd = Math.max(0, categoriesCount(series) - categories.length);\n\n if (categoriesToAdd > 0) {//consider setting an option to axis instead of adding fake categories\n categories = categoryAxis.options.categories = categoryAxis.options.categories.slice(0);\n while (categoriesToAdd--) {\n categories.push(\"\");\n }\n }\n\n this.valueAxisRangeTracker.update(chart.valueAxisRanges);\n\n PlotAreaBase.prototype.appendChart.call(this, chart, pane);\n };\n\n // TODO: Refactor, optionally use series.pane option\n CategoricalPlotArea.prototype.seriesPaneName = function seriesPaneName (series) {\n var options = this.options;\n var axisName = series.axis;\n var axisOptions = [].concat(options.valueAxis);\n var axis = grep(axisOptions, function(a) { return a.name === axisName; })[0];\n var panes = options.panes || [ {} ];\n var defaultPaneName = (panes[0] || {}).name || \"default\";\n var paneName = (axis || {}).pane || defaultPaneName;\n\n return paneName;\n };\n\n CategoricalPlotArea.prototype.seriesCategoryAxis = function seriesCategoryAxis (series) {\n var axisName = series.categoryAxis;\n var axis = axisName ? this.namedCategoryAxes[axisName] : this.categoryAxis;\n\n if (!axis) {\n throw new Error(\"Unable to locate category axis with name \" + axisName);\n }\n\n return axis;\n };\n\n CategoricalPlotArea.prototype.stackableChartOptions = function stackableChartOptions (firstSeries, pane) {\n var stack = firstSeries.stack;\n var isStacked100 = stack && stack.type === \"100%\";\n var clip = pane.options.clip;\n\n return {\n isStacked: stack,\n isStacked100: isStacked100,\n clip: clip\n };\n };\n\n CategoricalPlotArea.prototype.groupSeriesByCategoryAxis = function groupSeriesByCategoryAxis (series) {\n var categoryAxes = [];\n var unique = {};\n for (var idx = 0; idx < series.length; idx++) {\n var name = series[idx].categoryAxis || \"$$default$$\";\n if (!unique.hasOwnProperty(name)) {\n unique[name] = true;\n categoryAxes.push(name);\n }\n }\n\n var groups = [];\n for (var axisIx = 0; axisIx < categoryAxes.length; axisIx++) {\n var axis = categoryAxes[axisIx];\n var axisSeries = groupSeries(series, axis, axisIx);\n if (axisSeries.length === 0) {\n continue;\n }\n\n groups.push(axisSeries);\n }\n\n return groups;\n };\n\n CategoricalPlotArea.prototype.createBarChart = function createBarChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var firstSeries = series[0];\n var barChart = new BarChart(this, Object.assign({\n series: series,\n invertAxes: this.invertAxes,\n gap: firstSeries.gap,\n spacing: firstSeries.spacing\n }, this.stackableChartOptions(firstSeries, pane)));\n\n this.appendChart(barChart, pane);\n };\n\n CategoricalPlotArea.prototype.createRangeBarChart = function createRangeBarChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var firstSeries = series[0];\n var rangeColumnChart = new RangeBarChart(this, {\n series: series,\n invertAxes: this.invertAxes,\n gap: firstSeries.gap,\n spacing: firstSeries.spacing\n });\n\n this.appendChart(rangeColumnChart, pane);\n };\n\n CategoricalPlotArea.prototype.createBulletChart = function createBulletChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var firstSeries = series[0];\n var bulletChart = new BulletChart(this, {\n series: series,\n invertAxes: this.invertAxes,\n gap: firstSeries.gap,\n spacing: firstSeries.spacing,\n clip: pane.options.clip\n });\n\n this.appendChart(bulletChart, pane);\n };\n\n CategoricalPlotArea.prototype.createLineChart = function createLineChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var firstSeries = series[0];\n var lineChart = new LineChart(this, Object.assign({\n invertAxes: this.invertAxes,\n series: series\n }, this.stackableChartOptions(firstSeries, pane)));\n\n this.appendChart(lineChart, pane);\n };\n\n CategoricalPlotArea.prototype.createAreaChart = function createAreaChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var firstSeries = series[0];\n var areaChart = new AreaChart(this, Object.assign({\n invertAxes: this.invertAxes,\n series: series\n }, this.stackableChartOptions(firstSeries, pane)));\n\n this.appendChart(areaChart, pane);\n };\n\n CategoricalPlotArea.prototype.createRangeAreaChart = function createRangeAreaChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var rangeAreaChart = new RangeAreaChart(this, {\n invertAxes: this.invertAxes,\n series: series,\n clip: pane.options.clip\n });\n\n this.appendChart(rangeAreaChart, pane);\n };\n\n CategoricalPlotArea.prototype.createOHLCChart = function createOHLCChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var firstSeries = series[0];\n var chart = new OHLCChart(this, {\n invertAxes: this.invertAxes,\n gap: firstSeries.gap,\n series: series,\n spacing: firstSeries.spacing,\n clip: pane.options.clip\n });\n\n this.appendChart(chart, pane);\n };\n\n CategoricalPlotArea.prototype.createCandlestickChart = function createCandlestickChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var firstSeries = series[0];\n var chart = new CandlestickChart(this, {\n invertAxes: this.invertAxes,\n gap: firstSeries.gap,\n series: series,\n spacing: firstSeries.spacing,\n clip: pane.options.clip\n });\n\n this.appendChart(chart, pane);\n };\n\n CategoricalPlotArea.prototype.createBoxPlotChart = function createBoxPlotChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var firstSeries = series[0];\n var chart = new BoxPlotChart(this, {\n invertAxes: this.invertAxes,\n gap: firstSeries.gap,\n series: series,\n spacing: firstSeries.spacing,\n clip: pane.options.clip\n });\n\n this.appendChart(chart, pane);\n };\n\n CategoricalPlotArea.prototype.createWaterfallChart = function createWaterfallChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var firstSeries = series[0];\n var waterfallChart = new WaterfallChart(this, {\n series: series,\n invertAxes: this.invertAxes,\n gap: firstSeries.gap,\n spacing: firstSeries.spacing\n });\n\n this.appendChart(waterfallChart, pane);\n };\n\n CategoricalPlotArea.prototype.axisRequiresRounding = function axisRequiresRounding (categoryAxisName, categoryAxisIndex) {\n var this$1 = this;\n\n var centeredSeries = filterSeriesByType(this.series, EQUALLY_SPACED_SERIES);\n\n for (var seriesIx = 0; seriesIx < this.series.length; seriesIx++) {\n var currentSeries = this$1.series[seriesIx];\n if (inArray(currentSeries.type, AREA_SERIES)) {\n var line = currentSeries.line;\n if (line && line.style === STEP) {\n centeredSeries.push(currentSeries);\n }\n }\n }\n\n for (var seriesIx$1 = 0; seriesIx$1 < centeredSeries.length; seriesIx$1++) {\n var seriesAxis = centeredSeries[seriesIx$1].categoryAxis || \"\";\n if (seriesAxis === categoryAxisName || (!seriesAxis && categoryAxisIndex === 0)) {\n return true;\n }\n }\n };\n\n CategoricalPlotArea.prototype.aggregatedAxis = function aggregatedAxis (categoryAxisName, categoryAxisIndex) {\n var series = this.series;\n\n for (var seriesIx = 0; seriesIx < series.length; seriesIx++) {\n var seriesAxis = series[seriesIx].categoryAxis || \"\";\n if ((seriesAxis === categoryAxisName || (!seriesAxis && categoryAxisIndex === 0)) && series[seriesIx].categoryField) {\n return true;\n }\n }\n };\n\n CategoricalPlotArea.prototype.createCategoryAxesLabels = function createCategoryAxesLabels () {\n var axes = this.axes;\n for (var i = 0; i < axes.length; i++) {\n if (axes[i] instanceof CategoryAxis) {\n axes[i].createLabels();\n }\n }\n };\n\n CategoricalPlotArea.prototype.createCategoryAxes = function createCategoryAxes (panes) {\n var this$1 = this;\n\n var invertAxes = this.invertAxes;\n var definitions = [].concat(this.options.categoryAxis);\n var axes = [];\n\n for (var i = 0; i < definitions.length; i++) {\n var axisOptions = definitions[i];\n var axisPane = this$1.findPane(axisOptions.pane);\n\n if (inArray(axisPane, panes)) {\n var name = axisOptions.name;\n var categories = axisOptions.categories; if ( categories === void 0 ) categories = [];\n axisOptions = deepExtend({\n vertical: invertAxes,\n reverse: !invertAxes && this$1.chartService.rtl,\n axisCrossingValue: invertAxes ? MAX_VALUE : 0\n }, axisOptions);\n\n if (!defined(axisOptions.justified)) {\n axisOptions.justified = this$1.isJustified();\n }\n\n if (this$1.axisRequiresRounding(name, i)) {\n axisOptions.justified = false;\n }\n\n var categoryAxis = (void 0);\n\n if (isDateAxis(axisOptions, categories[0])) {\n categoryAxis = new DateCategoryAxis(axisOptions, this$1.chartService);\n } else {\n categoryAxis = new CategoryAxis(axisOptions, this$1.chartService);\n }\n\n definitions[i].categories = categoryAxis.options.srcCategories;\n\n if (name) {\n if (this$1.namedCategoryAxes[name]) {\n throw new Error((\"Category axis with name \" + name + \" is already defined\"));\n }\n this$1.namedCategoryAxes[name] = categoryAxis;\n }\n\n categoryAxis.axisIndex = i;\n axes.push(categoryAxis);\n this$1.appendAxis(categoryAxis);\n }\n }\n\n var primaryAxis = this.categoryAxis || axes[0];\n this.categoryAxis = primaryAxis;\n\n if (invertAxes) {\n this.axisY = primaryAxis;\n } else {\n this.axisX = primaryAxis;\n }\n };\n\n CategoricalPlotArea.prototype.isJustified = function isJustified () {\n var series = this.series;\n\n for (var i = 0; i < series.length; i++) {\n var currentSeries = series[i];\n if (!inArray(currentSeries.type, AREA_SERIES)) {\n return false;\n }\n }\n\n return true;\n };\n\n CategoricalPlotArea.prototype.createValueAxes = function createValueAxes (panes) {\n var this$1 = this;\n\n var tracker = this.valueAxisRangeTracker;\n var defaultRange = tracker.query();\n var definitions = [].concat(this.options.valueAxis);\n var invertAxes = this.invertAxes;\n var baseOptions = { vertical: !invertAxes, reverse: invertAxes && this.chartService.rtl };\n var axes = [];\n\n if (this.stack100) {\n baseOptions.roundToMajorUnit = false;\n baseOptions.labels = { format: \"P0\" };\n }\n\n for (var i = 0; i < definitions.length; i++) {\n var axisOptions = definitions[i];\n var axisPane = this$1.findPane(axisOptions.pane);\n\n if (inArray(axisPane, panes)) {\n var name = axisOptions.name;\n var defaultAxisRange = equalsIgnoreCase(axisOptions.type, LOGARITHMIC) ? { min: 0.1, max: 1 } : { min: 0, max: 1 };\n var range = tracker.query(name) || defaultRange || defaultAxisRange;\n\n if (i === 0 && range && defaultRange) {\n range.min = Math.min(range.min, defaultRange.min);\n range.max = Math.max(range.max, defaultRange.max);\n }\n\n var axisType = (void 0);\n if (equalsIgnoreCase(axisOptions.type, LOGARITHMIC)) {\n axisType = LogarithmicAxis;\n } else {\n axisType = NumericAxis;\n }\n\n var valueAxis = new axisType(range.min, range.max,\n deepExtend({}, baseOptions, axisOptions),\n this$1.chartService\n );\n\n if (name) {\n if (this$1.namedValueAxes[name]) {\n throw new Error((\"Value axis with name \" + name + \" is already defined\"));\n }\n this$1.namedValueAxes[name] = valueAxis;\n }\n valueAxis.axisIndex = i;\n\n axes.push(valueAxis);\n this$1.appendAxis(valueAxis);\n }\n }\n\n var primaryAxis = this.valueAxis || axes[0];\n this.valueAxis = primaryAxis;\n\n if (invertAxes) {\n this.axisX = primaryAxis;\n } else {\n this.axisY = primaryAxis;\n }\n };\n\n CategoricalPlotArea.prototype._dispatchEvent = function _dispatchEvent (chart, e, eventType) {\n var coords = chart._eventCoordinates(e);\n var point = new Point(coords.x, coords.y);\n var pane = this.pointPane(point);\n var categories = [];\n var values = [];\n\n if (!pane) {\n return;\n }\n\n var allAxes = pane.axes;\n for (var i = 0; i < allAxes.length; i++) {\n var axis = allAxes[i];\n if (axis.getValue) {\n appendIfNotNull(values, axis.getValue(point));\n } else {\n appendIfNotNull(categories, axis.getCategory(point));\n }\n }\n\n if (categories.length === 0) {\n appendIfNotNull(categories, this.categoryAxis.getCategory(point));\n }\n\n if (categories.length > 0 && values.length > 0) {\n chart.trigger(eventType, {\n element: eventElement(e),\n originalEvent: e,\n category: singleItemOrArray(categories),\n value: singleItemOrArray(values)\n });\n }\n };\n\n CategoricalPlotArea.prototype.pointPane = function pointPane (point) {\n var panes = this.panes;\n\n for (var i = 0; i < panes.length; i++) {\n var currentPane = panes[i];\n if (currentPane.contentBox.containsPoint(point)) {\n return currentPane;\n }\n }\n };\n\n CategoricalPlotArea.prototype.updateAxisOptions = function updateAxisOptions$1 (axis, options) {\n updateAxisOptions(this.options, axis, options);\n updateAxisOptions(this.originalOptions, axis, options);\n };\n\n return CategoricalPlotArea;\n}(PlotAreaBase));\n\nfunction updateAxisOptions(targetOptions, axis, options) {\n var axesOptions = axis instanceof CategoryAxis ? [].concat(targetOptions.categoryAxis) : [].concat(targetOptions.valueAxis);\n deepExtend(axesOptions[axis.axisIndex], options);\n}\n\nfunction groupSeries(series, axis, axisIx) {\n return grep(series, function(s) {\n return (axisIx === 0 && !s.categoryAxis) || (s.categoryAxis === axis);\n });\n}\n\nsetDefaultOptions(CategoricalPlotArea, {\n categoryAxis: {},\n valueAxis: {}\n});\n\ndeepExtend(CategoricalPlotArea.prototype, PlotAreaEventsMixin);\n\nexport default CategoricalPlotArea;","import { Class } from '../common';\n\nvar Highlight = (function (Class) {\n function Highlight() {\n Class.call(this);\n\n this._points = [];\n }\n\n if ( Class ) Highlight.__proto__ = Class;\n Highlight.prototype = Object.create( Class && Class.prototype );\n Highlight.prototype.constructor = Highlight;\n\n Highlight.prototype.destroy = function destroy () {\n this._points = [];\n };\n\n Highlight.prototype.show = function show (points, opacity) {\n var this$1 = this;\n\n var arrayPoints = [].concat(points);\n this.hide();\n\n for (var i = 0; i < arrayPoints.length; i++) {\n var point = arrayPoints[i];\n if (point && point.toggleHighlight && point.hasHighlight()) {\n this$1.togglePointHighlight(point, true, opacity);\n this$1._points.push(point);\n }\n }\n };\n\n Highlight.prototype.togglePointHighlight = function togglePointHighlight (point, show, opacity) {\n var toggleHandler = (point.options.highlight || {}).toggle;\n if (toggleHandler) {\n var eventArgs = {\n category: point.category,\n series: point.series,\n dataItem: point.dataItem,\n value: point.value,\n stackValue: point.stackValue,\n preventDefault: preventDefault,\n visual: point.highlightVisual(),\n show: show\n };\n toggleHandler(eventArgs);\n if (!eventArgs._defaultPrevented) {\n point.toggleHighlight(show, opacity);\n }\n } else {\n point.toggleHighlight(show, opacity);\n }\n };\n\n Highlight.prototype.hide = function hide () {\n var this$1 = this;\n\n var points = this._points;\n while (points.length) {\n this$1.togglePointHighlight(points.pop(), false);\n }\n };\n\n Highlight.prototype.isHighlighted = function isHighlighted (element) {\n var points = this._points;\n\n for (var i = 0; i < points.length; i++) {\n var point = points[i];\n if (element === point) {\n return true;\n }\n }\n\n return false;\n };\n\n return Highlight;\n}(Class));\n\nfunction preventDefault() {\n this._defaultPrevented = true;\n}\n\nexport default Highlight;","export default function acceptKey(e, mouseKey) {\n var key = (mouseKey || \"\").toLowerCase();\n var event = e.event;\n var accept = (key === \"none\" && !(event.ctrlKey || event.shiftKey || event.altKey)) || event[key + \"Key\"];\n\n return accept;\n}","export default function toChartAxisRanges(axisRanges) {\n var ranges = {};\n for (var idx = 0; idx < axisRanges.length; idx++) {\n var axisRange = axisRanges[idx];\n if (axisRange.axis.options.name) {\n ranges[axisRange.axis.options.name] = {\n min: axisRange.range.min,\n max: axisRange.range.max\n };\n }\n }\n return ranges;\n}","import acceptKey from './accept-key';\nimport toChartAxisRanges from './to-chart-axis-ranges';\n\nimport { X, Y } from '../../common/constants';\nimport { Class, deepExtend } from '../../common';\n\nvar Pannable = (function (Class) {\n function Pannable(plotArea, options) {\n Class.call(this);\n\n this.plotArea = plotArea;\n this.options = deepExtend({}, this.options, options);\n }\n\n if ( Class ) Pannable.__proto__ = Class;\n Pannable.prototype = Object.create( Class && Class.prototype );\n Pannable.prototype.constructor = Pannable;\n\n Pannable.prototype.start = function start (e) {\n this._active = acceptKey(e, this.options.key);\n return this._active;\n };\n\n Pannable.prototype.move = function move (e) {\n if (this._active) {\n var axisRanges = this.axisRanges = this._panAxes(e, X).concat(this._panAxes(e, Y));\n if (axisRanges.length) {\n this.axisRanges = axisRanges;\n return toChartAxisRanges(axisRanges);\n }\n }\n };\n\n Pannable.prototype.end = function end () {\n var active = this._active;\n this._active = false;\n\n return active;\n };\n\n Pannable.prototype.pan = function pan () {\n var ref = this;\n var plotArea = ref.plotArea;\n var axisRanges = ref.axisRanges;\n if (axisRanges.length) {\n for (var idx = 0; idx < axisRanges.length; idx++) {\n var range = axisRanges[idx];\n plotArea.updateAxisOptions(range.axis, range.range);\n }\n plotArea.redraw(plotArea.panes);\n }\n };\n\n Pannable.prototype.destroy = function destroy () {\n delete this.plotArea;\n };\n\n Pannable.prototype._panAxes = function _panAxes (e, position) {\n var plotArea = this.plotArea;\n var delta = -e[position].delta;\n var lock = (this.options.lock || \"\").toLowerCase();\n var updatedAxes = [];\n\n if (delta !== 0 && (lock || \"\").toLowerCase() !== position) {\n var axes = plotArea.axes;\n for (var idx = 0; idx < axes.length; idx++) {\n var axis = axes[idx];\n\n if (position === X && !axis.options.vertical || position === Y && axis.options.vertical) {\n var range = axis.pan(delta);\n\n if (range) {\n range.limitRange = true;\n updatedAxes.push({\n axis: axis,\n range: range\n });\n }\n }\n }\n }\n\n return updatedAxes;\n };\n\n return Pannable;\n}(Class));\n\nPannable.prototype.options = {\n key: \"none\",\n lock: \"none\"\n};\n\nexport default Pannable;","import acceptKey from './accept-key';\nimport toChartAxisRanges from './to-chart-axis-ranges';\n\nimport { X, Y } from '../../common/constants';\nimport { Class, deepExtend, elementStyles, elementOffset, defined } from '../../common';\n\nvar ZoomSelection = (function (Class) {\n function ZoomSelection(chart, options) {\n Class.call(this);\n\n this.chart = chart;\n this.options = deepExtend({}, this.options, options);\n this.createElement();\n }\n\n if ( Class ) ZoomSelection.__proto__ = Class;\n ZoomSelection.prototype = Object.create( Class && Class.prototype );\n ZoomSelection.prototype.constructor = ZoomSelection;\n\n ZoomSelection.prototype.createElement = function createElement () {\n var marquee = this._marquee = document.createElement(\"div\");\n marquee.className = \"k-marquee\";\n var marqueeColor = document.createElement(\"div\");\n marqueeColor.className = \"k-marquee-color\";\n marquee.appendChild(marqueeColor);\n };\n\n ZoomSelection.prototype.removeElement = function removeElement () {\n if (this._marquee.parentNode) {\n this._marquee.parentNode.removeChild(this._marquee);\n }\n };\n\n ZoomSelection.prototype.setStyles = function setStyles (styles) {\n elementStyles(this._marquee, styles);\n };\n\n ZoomSelection.prototype.start = function start (e) {\n if (acceptKey(e, this.options.key)) {\n var chart = this.chart;\n var point = chart._eventCoordinates(e);\n var zoomPane = this._zoomPane = chart._plotArea.paneByPoint(point);\n var clipBox = zoomPane ? zoomPane.chartsBox().clone() : null;\n\n if (zoomPane && clipBox) {\n var offset = this._elementOffset();\n\n clipBox.translate(offset.left, offset.top);\n this._zoomPaneClipBox = clipBox;\n\n document.body.appendChild(this._marquee);\n this.setStyles({\n left: e.pageX + 1,\n top: e.pageY + 1,\n width: 0,\n height: 0\n });\n\n return true;\n }\n }\n return false;\n };\n\n ZoomSelection.prototype._elementOffset = function _elementOffset () {\n var chartElement = this.chart.element;\n var ref = elementStyles(chartElement, [ \"paddingLeft\", \"paddingTop\" ]);\n var paddingLeft = ref.paddingLeft;\n var paddingTop = ref.paddingTop;\n var offset = elementOffset(chartElement);\n\n return {\n left: paddingLeft + offset.left,\n top: paddingTop + offset.top\n };\n };\n\n ZoomSelection.prototype.move = function move (e) {\n var zoomPane = this._zoomPane;\n if (zoomPane) {\n this.setStyles(this._selectionPosition(e));\n }\n };\n\n ZoomSelection.prototype.end = function end (e) {\n var zoomPane = this._zoomPane;\n if (zoomPane) {\n var elementOffset = this._elementOffset();\n var selectionPosition = this._selectionPosition(e);\n selectionPosition.left -= elementOffset.left;\n selectionPosition.top -= elementOffset.top;\n\n var start = { x: selectionPosition.left, y: selectionPosition.top };\n var end = { x: selectionPosition.left + selectionPosition.width, y: selectionPosition.top + selectionPosition.height };\n this._updateAxisRanges(start, end);\n\n this.removeElement();\n delete this._zoomPane;\n\n return toChartAxisRanges(this.axisRanges);\n }\n };\n\n ZoomSelection.prototype.zoom = function zoom () {\n var axisRanges = this.axisRanges;\n if (axisRanges && axisRanges.length) {\n var plotArea = this.chart._plotArea;\n for (var idx = 0; idx < axisRanges.length; idx++) {\n var axisRange = axisRanges[idx];\n plotArea.updateAxisOptions(axisRange.axis, axisRange.range);\n }\n plotArea.redraw(plotArea.panes);\n }\n };\n\n ZoomSelection.prototype.destroy = function destroy () {\n this.removeElement();\n delete this._marquee;\n delete this.chart;\n };\n\n ZoomSelection.prototype._updateAxisRanges = function _updateAxisRanges (start, end) {\n var lock = (this.options.lock || \"\").toLowerCase();\n var axisRanges = [];\n\n var axes = this._zoomPane.axes;\n for (var idx = 0; idx < axes.length; idx++) {\n var axis = axes[idx];\n var vertical = axis.options.vertical;\n if (!(lock === X && !vertical) && !(lock === Y && vertical) && defined(axis.axisIndex)) {\n var range = axis.pointsRange(start, end);\n if (range) {\n axisRanges.push({\n axis: axis,\n range: range\n });\n }\n }\n }\n\n this.axisRanges = axisRanges;\n };\n\n ZoomSelection.prototype._selectionPosition = function _selectionPosition (e) {\n var clipBox = this._zoomPaneClipBox;\n var startLocation = {\n x: e.x.startLocation,\n y: e.y.startLocation\n };\n var pageX = e.x.location;\n var pageY = e.y.location;\n var lock = (this.options.lock || \"\").toLowerCase();\n var left = Math.min(startLocation.x, pageX);\n var top = Math.min(startLocation.y, pageY);\n var width = Math.abs(startLocation.x - pageX);\n var height = Math.abs(startLocation.y - pageY);\n\n if (lock === X) {\n left = clipBox.x1;\n width = clipBox.width();\n }\n if (lock === Y) {\n top = clipBox.y1;\n height = clipBox.height();\n }\n\n if (pageX > clipBox.x2) {\n width = clipBox.x2 - startLocation.x;\n }\n\n if (pageX < clipBox.x1) {\n width = startLocation.x - clipBox.x1;\n }\n\n if (pageY > clipBox.y2) {\n height = clipBox.y2 - startLocation.y;\n }\n\n if (pageY < clipBox.y1) {\n height = startLocation.y - clipBox.y1;\n }\n\n return {\n left: Math.max(left, clipBox.x1),\n top: Math.max(top, clipBox.y1),\n width: width,\n height: height\n };\n };\n\n return ZoomSelection;\n}(Class));\n\nZoomSelection.prototype.options = {\n key: \"shift\",\n lock: \"none\"\n};\n\nexport default ZoomSelection;","\nimport toChartAxisRanges from './to-chart-axis-ranges';\n\nimport { X, Y } from '../../common/constants';\nimport { Class, deepExtend } from '../../common';\nimport { limitValue } from '../../drawing-utils';\n\n// Limit the zoom rate between 1% and 90% per mousewheel event.\n// At zoom rates close to 100% the axis range quickly becomes 0.\nvar MIN_RATE = 0.01;\nvar MAX_RATE = 0.9;\nvar DEFAULT_RATE = 0.3;\n\nvar MousewheelZoom = (function (Class) {\n function MousewheelZoom(chart, options) {\n Class.call(this);\n\n this.chart = chart;\n this.options = deepExtend({\n rate: DEFAULT_RATE\n }, this.options, options);\n }\n\n if ( Class ) MousewheelZoom.__proto__ = Class;\n MousewheelZoom.prototype = Object.create( Class && Class.prototype );\n MousewheelZoom.prototype.constructor = MousewheelZoom;\n\n MousewheelZoom.prototype.updateRanges = function updateRanges (delta, coords) {\n var this$1 = this;\n\n var lock = (this.options.lock || \"\").toLowerCase();\n var axisRanges = [];\n var axes = this.chart._plotArea.axes;\n\n for (var idx = 0; idx < axes.length; idx++) {\n var axis = axes[idx];\n var vertical = axis.options.vertical;\n\n if (!(lock === X && !vertical) && !(lock === Y && vertical) && axis.zoomRange) {\n var rate = limitValue(this$1.options.rate, MIN_RATE, MAX_RATE);\n var range = axis.zoomRange(-delta * rate, coords);\n\n if (range) {\n axisRanges.push({\n axis: axis,\n range: range\n });\n }\n }\n }\n\n this.axisRanges = axisRanges;\n return toChartAxisRanges(axisRanges);\n };\n\n MousewheelZoom.prototype.zoom = function zoom () {\n var axisRanges = this.axisRanges;\n var plotArea = this.chart._plotArea;\n\n if (axisRanges && axisRanges.length && plotArea.updateAxisOptions) {\n for (var idx = 0; idx < axisRanges.length; idx++) {\n var axisRange = axisRanges[idx];\n plotArea.updateAxisOptions(axisRange.axis, axisRange.range);\n }\n plotArea.redraw(plotArea.panes);\n }\n };\n\n MousewheelZoom.prototype.destroy = function destroy () {\n delete this.chart;\n };\n\n return MousewheelZoom;\n}(Class));\n\nexport default MousewheelZoom;\n","import createTransform from '../geometry/transform';\n\nexport default function translateToPoint(point, bbox, element) {\n var transofrm = element.transform() || createTransform();\n var matrix = transofrm.matrix();\n matrix.e += point.x - bbox.origin.x;\n matrix.f += point.y - bbox.origin.y;\n\n transofrm.matrix(matrix);\n element.transform(transofrm);\n}","\nexport default function alignStart(size, rect, align, axis, sizeField) {\n var start;\n if (align === \"start\") {\n start = rect.origin[axis];\n } else if (align === \"end\") {\n start = rect.origin[axis] + rect.size[sizeField] - size;\n } else {\n start = rect.origin[axis] + (rect.size[sizeField] - size) / 2;\n }\n\n return start;\n}","\nexport default function alignStartReverse(size, rect, align, axis, sizeField) {\n var start;\n if (align === \"start\") {\n start = rect.origin[axis] + rect.size[sizeField] - size;\n } else if (align === \"end\") {\n start = rect.origin[axis];\n } else {\n start = rect.origin[axis] + (rect.size[sizeField] - size) / 2;\n }\n\n return start;\n}","import Group from './group';\nimport Size from '../geometry/size';\nimport Rect from '../geometry/rect';\nimport Point from '../geometry/point';\nimport createTransform from '../geometry/transform';\nimport translateToPoint from '../alignment/translate-to-point';\nimport alignStart from '../alignment/align-start';\nimport alignStartReverse from '../alignment/align-start-reverse';\n\nvar DEFAULT_OPTIONS = {\n alignContent: \"start\",\n justifyContent: \"start\",\n alignItems: \"start\",\n spacing: 0,\n orientation: \"horizontal\",\n lineSpacing: 0,\n wrap: true,\n revers: false\n};\n\nvar forEach = function (elements, callback) {\n elements.forEach(callback);\n};\n\nvar forEachReverse = function (elements, callback) {\n var length = elements.length;\n\n for (var idx = length - 1; idx >= 0; idx--) {\n callback(elements[idx], idx);\n }\n};\n\nvar Layout = (function (Group) {\n function Layout(rect, options) {\n Group.call(this, Object.assign({}, DEFAULT_OPTIONS, options));\n this._rect = rect;\n this._fieldMap = {};\n }\n\n if ( Group ) Layout.__proto__ = Group;\n Layout.prototype = Object.create( Group && Group.prototype );\n Layout.prototype.constructor = Layout;\n\n Layout.prototype.rect = function rect (value) {\n if (value) {\n this._rect = value;\n return this;\n }\n\n return this._rect;\n };\n\n Layout.prototype._initMap = function _initMap () {\n var options = this.options;\n var fieldMap = this._fieldMap;\n if (options.orientation === \"horizontal\") {\n fieldMap.sizeField = \"width\";\n fieldMap.groupsSizeField = \"height\";\n fieldMap.groupAxis = \"x\";\n fieldMap.groupsAxis = \"y\";\n } else {\n fieldMap.sizeField = \"height\";\n fieldMap.groupsSizeField = \"width\";\n fieldMap.groupAxis = \"y\";\n fieldMap.groupsAxis = \"x\";\n }\n\n if (options.reverse) {\n this.forEach = forEachReverse;\n this.justifyAlign = alignStartReverse;\n } else {\n this.forEach = forEach;\n this.justifyAlign = alignStart;\n }\n };\n\n Layout.prototype.reflow = function reflow () {\n var this$1 = this;\n\n if (!this._rect || this.children.length === 0) {\n return;\n }\n this._initMap();\n\n if (this.options.transform) {\n this.transform(null);\n }\n\n var options = this.options;\n var rect = this._rect;\n var ref = this._initGroups();\n var groups = ref.groups;\n var groupsSize = ref.groupsSize;\n var ref$1 = this._fieldMap;\n var sizeField = ref$1.sizeField;\n var groupsSizeField = ref$1.groupsSizeField;\n var groupAxis = ref$1.groupAxis;\n var groupsAxis = ref$1.groupsAxis;\n var groupOrigin = new Point();\n var elementOrigin = new Point();\n var size = new Size();\n var groupStart = alignStart(groupsSize, rect, options.alignContent, groupsAxis, groupsSizeField);\n var elementStart, group, groupBox;\n\n var arrangeElements = function (bbox, idx) {\n var element = group.elements[idx];\n\n elementOrigin[groupAxis] = elementStart;\n elementOrigin[groupsAxis] = alignStart(bbox.size[groupsSizeField], groupBox, options.alignItems, groupsAxis, groupsSizeField);\n translateToPoint(elementOrigin, bbox, element);\n elementStart += bbox.size[sizeField] + options.spacing;\n };\n\n for (var groupIdx = 0; groupIdx < groups.length; groupIdx++) {\n group = groups[groupIdx];\n groupOrigin[groupAxis] = elementStart = this$1.justifyAlign(group.size, rect, options.justifyContent, groupAxis, sizeField);\n groupOrigin[groupsAxis] = groupStart;\n size[sizeField] = group.size;\n size[groupsSizeField] = group.lineSize;\n groupBox = new Rect(groupOrigin, size);\n this$1.forEach(group.bboxes, arrangeElements);\n\n groupStart += group.lineSize + options.lineSpacing;\n }\n\n if (!options.wrap && group.size > rect.size[sizeField]) {\n var scale = rect.size[sizeField] / groupBox.size[sizeField];\n var scaledStart = groupBox.topLeft().scale(scale, scale);\n var scaledSize = groupBox.size[groupsSizeField] * scale;\n var newStart = alignStart(scaledSize, rect, options.alignContent, groupsAxis, groupsSizeField);\n var transform = createTransform();\n if (groupAxis === \"x\") {\n transform.translate(rect.origin.x - scaledStart.x, newStart - scaledStart.y);\n } else {\n transform.translate(newStart - scaledStart.x, rect.origin.y - scaledStart.y);\n }\n transform.scale(scale, scale);\n\n this.transform(transform);\n }\n };\n\n Layout.prototype._initGroups = function _initGroups () {\n var this$1 = this;\n\n var ref = this;\n var options = ref.options;\n var children = ref.children;\n var lineSpacing = options.lineSpacing;\n var wrap = options.wrap;\n var spacing = options.spacing;\n var sizeField = this._fieldMap.sizeField;\n var group = this._newGroup();\n var groups = [];\n var addGroup = function() {\n groups.push(group);\n groupsSize += group.lineSize + lineSpacing;\n };\n var groupsSize = -lineSpacing;\n\n for (var idx = 0; idx < children.length; idx++) {\n var element = children[idx];\n var bbox = children[idx].clippedBBox();\n if (element.visible() && bbox) {\n if (wrap && group.size + bbox.size[sizeField] + spacing > this$1._rect.size[sizeField]) {\n if (group.bboxes.length === 0) {\n this$1._addToGroup(group, bbox, element);\n addGroup();\n group = this$1._newGroup();\n } else {\n addGroup();\n group = this$1._newGroup();\n this$1._addToGroup(group, bbox, element);\n }\n } else {\n this$1._addToGroup(group, bbox, element);\n }\n }\n }\n\n if (group.bboxes.length) {\n addGroup();\n }\n\n return {\n groups: groups,\n groupsSize: groupsSize\n };\n };\n\n Layout.prototype._addToGroup = function _addToGroup (group, bbox, element) {\n group.size += bbox.size[this._fieldMap.sizeField] + this.options.spacing;\n group.lineSize = Math.max(bbox.size[this._fieldMap.groupsSizeField], group.lineSize);\n group.bboxes.push(bbox);\n group.elements.push(element);\n };\n\n Layout.prototype._newGroup = function _newGroup () {\n return {\n lineSize: 0,\n size: -this.options.spacing,\n bboxes: [],\n elements: []\n };\n };\n\n return Layout;\n}(Group));\n\nexport default Layout;","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { ChartElement, Box, rectToBox } from '../../core';\n\nvar LegendLayout = (function (ChartElement) {\n function LegendLayout(options, chartService) {\n ChartElement.call(this, options);\n\n this.chartService = chartService;\n }\n\n if ( ChartElement ) LegendLayout.__proto__ = ChartElement;\n LegendLayout.prototype = Object.create( ChartElement && ChartElement.prototype );\n LegendLayout.prototype.constructor = LegendLayout;\n\n LegendLayout.prototype.render = function render () {\n var ref = this;\n var children = ref.children;\n var options = ref.options;\n var vertical = options.vertical;\n\n this.visual = new draw.Layout(null, {\n spacing: vertical ? 0 : options.spacing,\n lineSpacing: vertical ? options.spacing : 0,\n orientation: vertical ? \"vertical\" : \"horizontal\",\n reverse: options.rtl,\n alignItems: vertical ? \"start\" : \"center\"\n });\n\n for (var idx = 0; idx < children.length; idx++) {\n var legendItem = children[idx];\n legendItem.reflow(new Box());\n legendItem.renderVisual();\n }\n };\n\n LegendLayout.prototype.reflow = function reflow (box) {\n this.visual.rect(box.toRect());\n this.visual.reflow();\n var bbox = this.visual.clippedBBox();\n\n if (bbox) {\n this.box = rectToBox(bbox);\n } else {\n this.box = new Box();\n }\n };\n\n LegendLayout.prototype.renderVisual = function renderVisual () {\n this.addVisual();\n };\n\n LegendLayout.prototype.createVisual = function createVisual () {};\n\n return LegendLayout;\n}(ChartElement));\n\nexport default LegendLayout;","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { BoxElement, FloatElement, ShapeElement, TextBox } from '../../core';\nimport { LEGEND_ITEM_CLICK, LEGEND_ITEM_HOVER, LEGEND_ITEM_LEAVE } from '../constants';\nimport { CENTER, WHITE } from '../../common/constants';\nimport { deepExtend, eventElement } from '../../common';\n\nvar LegendItem = (function (BoxElement) {\n function LegendItem(options) {\n BoxElement.call(this, options);\n\n this.createContainer();\n if (!options.rtl) {\n this.createMarker();\n this.createLabel();\n } else {\n this.createLabel();\n this.createMarker();\n }\n }\n\n if ( BoxElement ) LegendItem.__proto__ = BoxElement;\n LegendItem.prototype = Object.create( BoxElement && BoxElement.prototype );\n LegendItem.prototype.constructor = LegendItem;\n\n LegendItem.prototype.createContainer = function createContainer () {\n this.container = new FloatElement({ vertical: false, wrap: false, align: CENTER, spacing: this.options.spacing });\n this.append(this.container);\n };\n\n LegendItem.prototype.createMarker = function createMarker () {\n this.container.append(new ShapeElement(this.markerOptions()));\n };\n\n LegendItem.prototype.markerOptions = function markerOptions () {\n var options = this.options;\n var markerColor = options.markerColor;\n return deepExtend({}, options.markers, {\n background: markerColor,\n border: {\n color: markerColor\n }\n });\n };\n\n LegendItem.prototype.createLabel = function createLabel () {\n var options = this.options;\n var labelOptions = deepExtend({}, options.labels);\n\n this.container.append(new TextBox(options.text, labelOptions));\n };\n\n LegendItem.prototype.renderComplete = function renderComplete () {\n BoxElement.prototype.renderComplete.call(this);\n\n var cursor = this.options.cursor || {};\n var eventSink = this._itemOverlay = draw.Path.fromRect(this.container.box.toRect(), {\n fill: {\n color: WHITE,\n opacity: 0\n },\n stroke: null,\n cursor: cursor.style || cursor\n });\n\n this.appendVisual(eventSink);\n };\n\n LegendItem.prototype.click = function click (widget, e) {\n var args = this.eventArgs(e);\n\n if (!widget.trigger(LEGEND_ITEM_CLICK, args) && e && e.type === 'contextmenu') {\n e.preventDefault();\n }\n };\n\n LegendItem.prototype.over = function over (widget, e) {\n var args = this.eventArgs(e);\n\n if (!widget.trigger(LEGEND_ITEM_HOVER, args)) {\n widget._legendItemHover(args.seriesIndex, args.pointIndex);\n }\n\n // Don't trigger point hover for legend items\n return true;\n };\n\n LegendItem.prototype.out = function out (widget, e) {\n widget._unsetActivePoint();\n\n widget.trigger(LEGEND_ITEM_LEAVE, this.eventArgs(e));\n };\n\n LegendItem.prototype.eventArgs = function eventArgs (e) {\n var options = this.options;\n\n return {\n element: eventElement(e),\n text: options.text,\n series: options.series,\n seriesIndex: options.series.index,\n pointIndex: options.pointIndex\n };\n };\n\n LegendItem.prototype.renderVisual = function renderVisual () {\n var this$1 = this;\n\n var options = this.options;\n var customVisual = options.visual;\n\n if (customVisual) {\n this.visual = customVisual({\n active: options.active,\n series: options.series,\n sender: this.getSender(),\n pointIndex: options.pointIndex,\n options: {\n markers: this.markerOptions(),\n labels: options.labels\n },\n createVisual: function () {\n this$1.createVisual();\n this$1.renderChildren();\n this$1.renderComplete();\n\n var defaultVisual = this$1.visual;\n\n delete this$1.visual;\n\n return defaultVisual;\n }\n });\n this.addVisual();\n } else {\n BoxElement.prototype.renderVisual.call(this);\n }\n };\n\n return LegendItem;\n}(BoxElement));\n\nexport default LegendItem;\n","\nimport { ChartElement, BoxElement, Box, TextBox, FloatElement } from '../../core';\nimport LegendLayout from './legend-layout';\nimport LegendItem from './legend-item';\n\nimport { TOP, RIGHT, BOTTOM, LEFT, CENTER, X, Y, BLACK } from '../../common/constants';\nimport { deepExtend, defined, getTemplate, getSpacing, inArray, setDefaultOptions } from '../../common';\n\nvar HORIZONTAL = \"horizontal\";\nvar POINTER = \"pointer\";\nvar CUSTOM = \"custom\";\n\nvar Legend = (function (ChartElement) {\n function Legend(options, chartService) {\n if ( chartService === void 0 ) chartService = {};\n\n ChartElement.call(this, options);\n\n this.chartService = chartService;\n\n if (!inArray(this.options.position, [ TOP, RIGHT, BOTTOM, LEFT, CUSTOM ])) {\n this.options.position = RIGHT;\n }\n\n this.createContainers();\n\n this.createLegendTitle(options.title);\n\n this.createItems();\n }\n\n if ( ChartElement ) Legend.__proto__ = ChartElement;\n Legend.prototype = Object.create( ChartElement && ChartElement.prototype );\n Legend.prototype.constructor = Legend;\n\n Legend.prototype.createContainers = function createContainers () {\n var options = this.options;\n var position = options.position;\n var userAlign = options.align;\n var align = position;\n var vAlign = CENTER;\n\n if (position === CUSTOM) {\n align = LEFT;\n } else if (inArray(position, [ TOP, BOTTOM ])) {\n if (userAlign === \"start\") {\n align = LEFT;\n } else if (userAlign === \"end\") {\n align = RIGHT;\n } else {\n align = CENTER;\n }\n vAlign = position;\n } else if (userAlign) {\n if (userAlign === \"start\") {\n vAlign = TOP;\n } else if (userAlign === \"end\") {\n vAlign = BOTTOM;\n }\n }\n\n this.container = new BoxElement({\n margin: options.margin,\n padding: options.padding,\n background: options.background,\n border: options.border,\n vAlign: vAlign,\n align: align,\n zIndex: options.zIndex,\n shrinkToFit: true\n });\n\n if (this.hasTitle()) {\n this.itemsContainer = new BoxElement({\n vAlign: vAlign,\n align: align,\n zIndex: options.zIndex,\n shrinkToFit: true\n });\n } else {\n this.itemsContainer = this.container;\n }\n\n this.append(this.container);\n };\n\n Legend.prototype.createItems = function createItems () {\n var chartService = this.getService();\n var options = this.options;\n var vertical = this.isVertical();\n var innerElement = new LegendLayout({\n vertical: vertical,\n spacing: options.spacing,\n rtl: chartService.rtl\n }, chartService);\n var items = options.items;\n\n if (options.reverse) {\n items = items.slice(0).reverse();\n }\n\n var count = items.length;\n\n for (var i = 0; i < count; i++) {\n var item = items[i];\n\n innerElement.append(new LegendItem(deepExtend({}, {\n markers: options.markers,\n labels: options.labels,\n rtl: chartService.rtl\n }, options.item, item)));\n }\n\n innerElement.render();\n this.itemsContainer.append(innerElement);\n };\n\n Legend.prototype.isVertical = function isVertical () {\n var ref = this.options;\n var orientation = ref.orientation;\n var position = ref.position;\n var vertical = (position === CUSTOM && orientation !== HORIZONTAL) ||\n (defined(orientation) ? orientation !== HORIZONTAL : inArray(position, [ LEFT, RIGHT ]));\n\n return vertical;\n };\n\n Legend.prototype.hasItems = function hasItems () {\n return this.container.children[0].children.length > 0;\n };\n\n Legend.prototype.reflow = function reflow (targetBox) {\n var options = this.options;\n var legendBox = targetBox.clone();\n\n if (!this.hasItems()) {\n this.box = legendBox;\n return;\n }\n\n if (options.position === CUSTOM) {\n this.containerCustomReflow(legendBox);\n this.box = legendBox;\n } else {\n this.containerReflow(legendBox);\n }\n\n if (this.hasTitle()) {\n this.title.reflow(new Box(this.container.box.x1, this.title.box.y1, this.container.box.x2, this.title.box.y2));\n }\n };\n\n Legend.prototype.containerReflow = function containerReflow (targetBox) {\n var ref = this;\n var options = ref.options;\n var container = ref.container;\n var position = options.position;\n var width = options.width;\n var height = options.height;\n var pos = position === TOP || position === BOTTOM ? X : Y;\n var vertical = this.isVertical();\n var alignTarget = targetBox.clone();\n var containerBox = targetBox.clone();\n\n if (position === LEFT || position === RIGHT) {\n containerBox.y1 = alignTarget.y1 = 0;\n }\n\n if (vertical && height) {\n containerBox.y2 = containerBox.y1 + height;\n containerBox.align(alignTarget, Y, container.options.vAlign);\n } else if (!vertical && width) {\n containerBox.x2 = containerBox.x1 + width;\n containerBox.align(alignTarget, X, container.options.align);\n }\n\n container.reflow(containerBox);\n containerBox = container.box;\n\n var box = containerBox.clone();\n\n if (options.offsetX || options.offsetY) {\n containerBox.translate(options.offsetX, options.offsetY);\n container.reflow(containerBox);\n }\n\n box[pos + 1] = targetBox[pos + 1];\n box[pos + 2] = targetBox[pos + 2];\n\n this.box = box;\n };\n\n Legend.prototype.containerCustomReflow = function containerCustomReflow (targetBox) {\n var ref = this;\n var options = ref.options;\n var container = ref.container;\n var offsetX = options.offsetX;\n var offsetY = options.offsetY;\n var width = options.width;\n var height = options.height;\n var vertical = this.isVertical();\n var containerBox = targetBox.clone();\n\n if (vertical && height) {\n containerBox.y2 = containerBox.y1 + height;\n } else if (!vertical && width) {\n containerBox.x2 = containerBox.x1 + width;\n }\n container.reflow(containerBox);\n containerBox = container.box;\n\n container.reflow(new Box(\n offsetX, offsetY,\n offsetX + containerBox.width(), offsetY + containerBox.height()\n ));\n };\n\n Legend.prototype.renderVisual = function renderVisual () {\n if (this.hasItems()) {\n ChartElement.prototype.renderVisual.call(this);\n }\n };\n\n Legend.prototype.createLegendTitle = function createLegendTitle (title) {\n var titleOptions = deepExtend({}, {\n color: BLACK,\n position: TOP,\n align: CENTER\n }, title);\n var text = titleOptions.text;\n\n if (!title || title.visible === false) {\n return;\n }\n\n if (defined(titleOptions) && titleOptions.visible) {\n var labelTemplate = getTemplate(titleOptions);\n if (labelTemplate) {\n text = labelTemplate({ text: text });\n } else if (titleOptions.format) {\n text = this.chartService.format.auto(titleOptions.format, text);\n }\n }\n\n this.title = new TextBox(text, titleOptions);\n\n this.createTitleLayout();\n\n this.appendTitleLayoutContent();\n };\n\n Legend.prototype.createTitleLayout = function createTitleLayout () {\n this.layout = new FloatElement({\n vertical: true,\n wrap: false\n });\n\n this.container.append(this.layout);\n };\n\n Legend.prototype.hasTitle = function hasTitle () {\n return Boolean(this.options.title && this.options.title.visible !== false);\n };\n\n Legend.prototype.appendTitleLayoutContent = function appendTitleLayoutContent () {\n var options = this.options;\n\n if (options.title.position === BOTTOM) {\n this.layout.append(this.itemsContainer);\n this.layout.append(this.title);\n } else {\n this.layout.append(this.title);\n this.layout.append(this.itemsContainer);\n }\n };\n\n return Legend;\n}(ChartElement));\n\nsetDefaultOptions(Legend, {\n position: RIGHT,\n items: [],\n offsetX: 0,\n offsetY: 0,\n margin: getSpacing(5),\n padding: getSpacing(5),\n border: {\n color: BLACK,\n width: 0\n },\n item: {\n cursor: POINTER,\n spacing: 6\n },\n spacing: 6,\n background: \"\",\n zIndex: 1,\n markers: {\n border: {\n width: 0\n },\n width: 15,\n height: 3,\n type: \"rect\",\n align: LEFT,\n vAlign: CENTER\n }\n});\n\nexport default Legend;\n","import filterSeriesByType from '../utils/filter-series-by-type';\nimport { Class } from '../../common';\n\nvar PlotAreaFactory = (function (Class) {\n function PlotAreaFactory() {\n Class.call(this);\n\n this._registry = [];\n }\n\n if ( Class ) PlotAreaFactory.__proto__ = Class;\n PlotAreaFactory.prototype = Object.create( Class && Class.prototype );\n PlotAreaFactory.prototype.constructor = PlotAreaFactory;\n\n PlotAreaFactory.prototype.register = function register (type, seriesTypes) {\n this._registry.push({\n type: type,\n seriesTypes: seriesTypes\n });\n };\n\n PlotAreaFactory.prototype.create = function create (srcSeries, options, chartService) {\n var registry = this._registry;\n var match = registry[0];\n var series;\n\n for (var idx = 0; idx < registry.length; idx++) {\n var entry = registry[idx];\n series = filterSeriesByType(srcSeries, entry.seriesTypes);\n\n if (series.length > 0) {\n match = entry;\n break;\n }\n }\n\n return new match.type(series, options, chartService);\n };\n\n return PlotAreaFactory;\n}(Class));\n\nPlotAreaFactory.current = new PlotAreaFactory();\n\nexport default PlotAreaFactory;","import { DomEventsBuilder } from '../services';\n\nimport { DateCategoryAxis, Point } from '../core';\n\nimport { MOUSEWHEEL_DELAY, MOUSEWHEEL, SELECT_START, SELECT, SELECT_END } from './constants';\n\nimport { LEFT, RIGHT, MIN_VALUE, MAX_VALUE, X } from '../common/constants';\nimport { addClass, Class, removeClass, eventCoordinates, deepExtend, elementStyles, eventElement, setDefaultOptions, limitValue, round, bindEvents, unbindEvents, mousewheelDelta, hasClasses } from '../common';\nimport { parseDate } from '../date-utils';\n\nvar ZOOM_ACCELERATION = 3;\nvar SELECTOR_HEIGHT_ADJUST = 0.1;\n\nfunction createDiv(classNames) {\n var element = document.createElement(\"div\");\n if (classNames) {\n element.className = classNames;\n }\n\n return element;\n}\n\nfunction closestHandle(element) {\n var current = element;\n while (current && !hasClasses(current, \"k-handle\")) {\n current = current.parentNode;\n }\n\n return current;\n}\n\nvar Selection = (function (Class) {\n function Selection(chart, categoryAxis, options, observer) {\n Class.call(this);\n\n var chartElement = chart.element;\n\n this.options = deepExtend({}, this.options, options);\n this.chart = chart;\n this.observer = observer;\n this.chartElement = chartElement;\n this.categoryAxis = categoryAxis;\n this._dateAxis = this.categoryAxis instanceof DateCategoryAxis;\n\n this.initOptions();\n\n this.visible = this.options.visible && chartElement.offsetHeight;\n\n if (this.visible) {\n this.createElements();\n\n this.set(this._index(this.options.from), this._index(this.options.to));\n\n this.bindEvents();\n }\n }\n\n if ( Class ) Selection.__proto__ = Class;\n Selection.prototype = Object.create( Class && Class.prototype );\n Selection.prototype.constructor = Selection;\n\n Selection.prototype.onPane = function onPane (pane) {\n return this.categoryAxis.pane === pane;\n };\n\n Selection.prototype.createElements = function createElements () {\n var options = this.options;\n var wrapper = this.wrapper = createDiv(\"k-selector k-pointer-events-none\");\n elementStyles(wrapper, {\n top: options.offset.top,\n left: options.offset.left,\n width: options.width,\n height: options.height,\n direction: 'ltr'\n });\n\n var selection = this.selection = createDiv(\"k-selection k-pointer-events-none\");\n\n this.leftMask = createDiv(\"k-mask k-pointer-events-none\");\n this.rightMask = createDiv(\"k-mask k-pointer-events-none\");\n\n wrapper.appendChild(this.leftMask);\n wrapper.appendChild(this.rightMask);\n wrapper.appendChild(selection);\n\n var body = this.body = createDiv(\"k-selection-bg k-pointer-events-none\");\n selection.appendChild(body);\n\n var leftHandle = this.leftHandle = createDiv(\"k-handle k-left-handle k-pointer-events-auto\");\n var rightHandle = this.rightHandle = createDiv(\"k-handle k-right-handle k-pointer-events-auto\");\n leftHandle.appendChild(createDiv());\n rightHandle.appendChild(createDiv());\n\n selection.appendChild(leftHandle);\n selection.appendChild(rightHandle);\n\n this.chartElement.appendChild(wrapper);\n var selectionStyles = elementStyles(selection, [ \"borderLeftWidth\", \"borderRightWidth\", \"height\" ]);\n var leftHandleHeight = elementStyles(leftHandle, \"height\").height;\n var rightHandleHeight = elementStyles(rightHandle, \"height\").height;\n\n options.selection = {\n border: {\n left: selectionStyles.borderLeftWidth,\n right: selectionStyles.borderRightWidth\n }\n };\n\n elementStyles(leftHandle, {\n top: (selectionStyles.height - leftHandleHeight) / 2\n });\n\n elementStyles(rightHandle, {\n top: (selectionStyles.height - rightHandleHeight) / 2\n });\n\n wrapper.style.cssText = wrapper.style.cssText;\n };\n\n Selection.prototype.bindEvents = function bindEvents$1 () {\n var obj;\n\n if (this.options.mousewheel !== false) {\n this._mousewheelHandler = this._mousewheel.bind(this);\n bindEvents(this.chartElement, ( obj = {}, obj[ MOUSEWHEEL ] = this._mousewheelHandler, obj ));\n }\n\n this._domEvents = DomEventsBuilder.create(this.chartElement, {\n stopPropagation: true, // applicable for the jQuery UserEvents\n start: this._start.bind(this),\n move: this._move.bind(this),\n end: this._end.bind(this),\n tap: this._tap.bind(this),\n press: this._press.bind(this),\n gesturestart: this._gesturestart.bind(this),\n gesturechange: this._gesturechange.bind(this),\n gestureend: this._gestureend.bind(this)\n });\n };\n\n Selection.prototype.initOptions = function initOptions () {\n var ref = this;\n var options = ref.options;\n var categoryAxis = ref.categoryAxis;\n var box = categoryAxis.pane.chartsBox();\n var intlService = this.chart.chartService.intl;\n\n if (this._dateAxis) {\n deepExtend(options, {\n min: parseDate(intlService, options.min),\n max: parseDate(intlService, options.max),\n from: parseDate(intlService, options.from),\n to: parseDate(intlService, options.to)\n });\n }\n\n var ref$1 = elementStyles(this.chartElement, [ \"paddingLeft\", \"paddingTop\" ]);\n var paddingLeft = ref$1.paddingLeft;\n var paddingTop = ref$1.paddingTop;\n\n this.options = deepExtend({}, {\n width: box.width(),\n height: box.height() + SELECTOR_HEIGHT_ADJUST, //workaround for sub-pixel hover on the paths in chrome\n padding: {\n left: paddingLeft,\n top: paddingTop\n },\n offset: {\n left: box.x1 + paddingLeft,\n top: box.y1 + paddingTop\n },\n from: options.min,\n to: options.max\n }, options);\n };\n\n Selection.prototype.destroy = function destroy () {\n var obj;\n\n if (this._domEvents) {\n this._domEvents.destroy();\n delete this._domEvents;\n }\n\n clearTimeout(this._mwTimeout);\n this._state = null;\n\n if (this.wrapper) {\n if (this._mousewheelHandler) {\n unbindEvents(this.chartElement, ( obj = {}, obj[ MOUSEWHEEL ] = this._mousewheelHandler, obj ));\n this._mousewheelHandler = null;\n }\n\n this.chartElement.removeChild(this.wrapper);\n this.wrapper = null;\n }\n };\n\n Selection.prototype._rangeEventArgs = function _rangeEventArgs (range) {\n\n return {\n axis: this.categoryAxis.options,\n from: this._value(range.from),\n to: this._value(range.to)\n };\n };\n\n Selection.prototype._pointInPane = function _pointInPane (x, y) {\n var paneBox = this.categoryAxis.pane.box;\n var modelCoords = this.chart._toModelCoordinates(x, y);\n return paneBox.containsPoint(modelCoords);\n };\n\n Selection.prototype._start = function _start (e) {\n var options = this.options;\n var target = eventElement(e);\n if (this._state || !target) {\n return;\n }\n\n var coords = eventCoordinates(e);\n var inPane = this._pointInPane(coords.x, coords.y);\n if (!inPane) {\n return;\n }\n\n var handle = closestHandle(target);\n var bodyRect = this.body.getBoundingClientRect();\n var inBody = !handle && coords.x >= bodyRect.x && coords.x <= bodyRect.x + bodyRect.width &&\n coords.y >= bodyRect.y && coords.y <= bodyRect.y + bodyRect.height;\n\n this.chart._unsetActivePoint();\n this._state = {\n moveTarget: handle,\n startLocation: e.x ? e.x.location : 0,\n inBody: inBody,\n range: {\n from: this._index(options.from),\n to: this._index(options.to)\n }\n };\n\n var args = this._rangeEventArgs({\n from: this._index(options.from),\n to: this._index(options.to)\n });\n\n if (this.trigger(SELECT_START, args)) {\n this._state = null;\n }\n };\n\n Selection.prototype._press = function _press (e) {\n var handle;\n if (this._state) {\n handle = this._state.moveTarget;\n } else {\n handle = closestHandle(eventElement(e));\n }\n if (handle) {\n addClass(handle, \"k-handle-active\");\n }\n };\n\n Selection.prototype._move = function _move (e) {\n if (!this._state) {\n return;\n }\n\n var ref = this;\n var state = ref._state;\n var options = ref.options;\n var categoryAxis = ref.categoryAxis;\n var range = state.range;\n var target = state.moveTarget;\n var reverse = categoryAxis.options.reverse;\n var from = this._index(options.from);\n var to = this._index(options.to);\n var min = this._index(options.min);\n var max = this._index(options.max);\n var delta = state.startLocation - e.x.location;\n var oldRange = { from: range.from, to: range.to };\n var span = range.to - range.from;\n var scale = elementStyles(this.wrapper, \"width\").width / (categoryAxis.categoriesCount() - 1);\n var offset = Math.round(delta / scale) * (reverse ? -1 : 1);\n\n if (!target && !state.inBody) {\n return;\n }\n\n var leftHandle = target && hasClasses(target, \"k-left-handle\");\n var rightHandle = target && hasClasses(target, \"k-right-handle\");\n\n if (state.inBody) {\n range.from = Math.min(\n Math.max(min, from - offset),\n max - span\n );\n range.to = Math.min(\n range.from + span,\n max\n );\n } else if ((leftHandle && !reverse) || (rightHandle && reverse)) {\n range.from = Math.min(\n Math.max(min, from - offset),\n max - 1\n );\n range.to = Math.max(range.from + 1, range.to);\n } else if ((leftHandle && reverse) || (rightHandle && !reverse)) {\n range.to = Math.min(\n Math.max(min + 1, to - offset),\n max\n );\n range.from = Math.min(range.to - 1, range.from);\n }\n\n if (range.from !== oldRange.from || range.to !== oldRange.to) {\n this.move(range.from, range.to);\n this.trigger(SELECT, this._rangeEventArgs(range));\n }\n };\n\n Selection.prototype._end = function _end () {\n if (this._state) {\n var moveTarget = this._state.moveTarget;\n if (moveTarget) {\n removeClass(moveTarget, \"k-handle-active\");\n }\n\n var range = this._state.range;\n this.set(range.from, range.to);\n this.trigger(SELECT_END, this._rangeEventArgs(range));\n\n delete this._state;\n }\n };\n\n Selection.prototype._tap = function _tap (e) {\n var ref = this;\n var options = ref.options;\n var categoryAxis = ref.categoryAxis;\n var coords = this.chart._eventCoordinates(e);\n var categoryIx = categoryAxis.pointCategoryIndex(new Point(coords.x, categoryAxis.box.y1));\n var from = this._index(options.from);\n var to = this._index(options.to);\n var min = this._index(options.min);\n var max = this._index(options.max);\n var span = to - from;\n var mid = from + span / 2;\n var range = {};\n var rightClick = e.event.which === 3;\n var offset = Math.round(mid - categoryIx);\n\n if (this._state || rightClick) {\n return;\n }\n\n\n this.chart._unsetActivePoint();\n\n if (!categoryAxis.options.justified) {\n offset--;\n }\n\n range.from = Math.min(\n Math.max(min, from - offset),\n max - span\n );\n\n range.to = Math.min(range.from + span, max);\n\n this._start(e);\n\n if (this._state) {\n this._state.range = range;\n this.trigger(SELECT, this._rangeEventArgs(range));\n this._end();\n }\n };\n\n Selection.prototype._mousewheel = function _mousewheel (e) {\n var this$1 = this;\n\n var delta = mousewheelDelta(e);\n\n this._start(e);\n\n if (this._state) {\n var range = this._state.range;\n\n e.preventDefault();\n e.stopPropagation();\n\n if (Math.abs(delta) > 1) {\n delta *= ZOOM_ACCELERATION;\n }\n\n if (this.options.mousewheel.reverse) {\n delta *= -1;\n }\n\n if (this.expand(delta)) {\n this.trigger(SELECT, {\n axis: this.categoryAxis.options,\n delta: delta,\n originalEvent: e,\n from: this._value(range.from),\n to: this._value(range.to)\n });\n }\n\n if (this._mwTimeout) {\n clearTimeout(this._mwTimeout);\n }\n\n this._mwTimeout = setTimeout(function () {\n this$1._end();\n }, MOUSEWHEEL_DELAY);\n }\n };\n\n Selection.prototype._gesturestart = function _gesturestart (e) {\n var options = this.options;\n var touch = e.touches[0];\n var inPane = this._pointInPane(touch.pageX, touch.pageY);\n\n if (!inPane) {\n return;\n }\n\n this._state = {\n range: {\n from: this._index(options.from),\n to: this._index(options.to)\n }\n };\n var args = this._rangeEventArgs(this._state.range);\n\n if (this.trigger(SELECT_START, args)) {\n this._state = null;\n } else {\n e.preventDefault();\n }\n };\n\n Selection.prototype._gestureend = function _gestureend () {\n if (this._state) {\n this.trigger(SELECT_END, this._rangeEventArgs(this._state.range));\n delete this._state;\n }\n };\n\n Selection.prototype._gesturechange = function _gesturechange (e) {\n if (!this._state) {\n return;\n }\n\n var ref = this;\n var chart = ref.chart;\n var state = ref._state;\n var options = ref.options;\n var categoryAxis = ref.categoryAxis;\n var range = state.range;\n var p0 = chart._toModelCoordinates(e.touches[0].x.location).x;\n var p1 = chart._toModelCoordinates(e.touches[1].x.location).x;\n var left = Math.min(p0, p1);\n var right = Math.max(p0, p1);\n\n e.preventDefault();\n\n range.from = categoryAxis.pointCategoryIndex(new Point(left)) || options.min;\n\n range.to = categoryAxis.pointCategoryIndex(new Point(right)) || options.max;\n\n this.move(range.from, range.to);\n\n this.trigger(SELECT, this._rangeEventArgs(range));\n };\n\n Selection.prototype._index = function _index (value) {\n var index = value;\n\n if (value instanceof Date) {\n index = this.categoryAxis.categoryIndex(value);\n }\n\n return index;\n };\n\n Selection.prototype._value = function _value (index) {\n var value = index;\n if (this._dateAxis) {\n value = this.categoryAxis.categoryAt(index);\n if (value > this.options.max) {\n value = this.options.max;\n }\n }\n\n return value;\n };\n\n Selection.prototype._slot = function _slot (value) {\n var categoryAxis = this.categoryAxis;\n var index = this._index(value);\n\n return categoryAxis.getSlot(index, index, true);\n };\n\n Selection.prototype.move = function move (from, to) {\n var options = this.options;\n var reverse = this.categoryAxis.options.reverse;\n var offset = options.offset;\n var padding = options.padding;\n var border = options.selection.border;\n var left = reverse ? to : from;\n var right = reverse ? from : to;\n var edge = 'x' + (reverse ? 2 : 1);\n\n var box = this._slot(left);\n var leftMaskWidth = round(box[edge] - offset.left + padding.left);\n\n elementStyles(this.leftMask, {\n width: leftMaskWidth\n });\n elementStyles(this.selection, {\n left: leftMaskWidth\n });\n\n box = this._slot(right);\n\n var rightMaskWidth = round(options.width - (box[edge] - offset.left + padding.left));\n elementStyles(this.rightMask, {\n width: rightMaskWidth\n });\n\n var distance = options.width - rightMaskWidth;\n if (distance !== options.width) {\n distance += border.right;\n }\n\n elementStyles(this.rightMask, {\n left: distance\n });\n elementStyles(this.selection, {\n width: Math.max(options.width - (leftMaskWidth + rightMaskWidth) - border.right, 0)\n });\n };\n\n Selection.prototype.set = function set (from, to) {\n var options = this.options;\n var min = this._index(options.min);\n var max = this._index(options.max);\n var fromValue = limitValue(this._index(from), min, max);\n var toValue = limitValue(this._index(to), fromValue + 1, max);\n\n if (options.visible) {\n this.move(fromValue, toValue);\n }\n\n options.from = this._value(fromValue);\n options.to = this._value(toValue);\n };\n\n Selection.prototype.expand = function expand (delta) {\n var options = this.options;\n var min = this._index(options.min);\n var max = this._index(options.max);\n var zDir = options.mousewheel.zoom;\n var from = this._index(options.from);\n var to = this._index(options.to);\n var range = { from: from, to: to };\n var oldRange = deepExtend({}, range);\n\n if (this._state) {\n range = this._state.range;\n }\n\n if (zDir !== RIGHT) {\n range.from = limitValue(\n limitValue(from - delta, 0, to - 1),\n min, max\n );\n }\n\n if (zDir !== LEFT) {\n range.to = limitValue(\n limitValue(to + delta, range.from + 1, max),\n min,\n max\n );\n }\n\n if (range.from !== oldRange.from || range.to !== oldRange.to) {\n this.set(range.from, range.to);\n return true;\n }\n };\n\n Selection.prototype.zoom = function zoom (delta, coords) {\n var options = this.options;\n var min = this._index(options.min);\n var max = this._index(options.max);\n var from = this._index(options.from);\n var to = this._index(options.to);\n var range = { from: from, to: to };\n var oldRange = deepExtend({}, range);\n\n var ref = this.categoryAxis.options;\n var reverse = ref.reverse;\n var origin = X + (reverse ? '2' : '1');\n var lineBox = this.categoryAxis.lineBox();\n var relative = Math.abs(lineBox[origin] - coords[X]);\n var size = lineBox.width();\n var position = round(relative / size, 2);\n var minDelta = round(position * delta);\n var maxDelta = round((1 - position) * delta);\n\n if (this._state) {\n range = this._state.range;\n }\n\n range.from = limitValue(\n limitValue(from - minDelta, 0, to - 1),\n min, max\n );\n\n range.to = limitValue(\n limitValue(to + maxDelta, range.from + 1, max),\n min,\n max\n );\n\n if (range.from !== oldRange.from || range.to !== oldRange.to) {\n this.set(range.from, range.to);\n return true;\n }\n };\n\n Selection.prototype.trigger = function trigger (name, args) {\n return (this.observer || this.chart).trigger(name, args);\n };\n\n return Selection;\n}(Class));\n\nsetDefaultOptions(Selection, {\n visible: true,\n mousewheel: {\n zoom: \"both\"\n },\n min: MIN_VALUE,\n max: MAX_VALUE\n});\n\nexport default Selection;\n","import BaseTooltip from './base-tooltip';\n\nimport { deepExtend } from '../../common';\n\nvar Tooltip = (function (BaseTooltip) {\n function Tooltip () {\n BaseTooltip.apply(this, arguments);\n }\n\n if ( BaseTooltip ) Tooltip.__proto__ = BaseTooltip;\n Tooltip.prototype = Object.create( BaseTooltip && BaseTooltip.prototype );\n Tooltip.prototype.constructor = Tooltip;\n\n Tooltip.prototype.show = function show (point) {\n if (!point || !point.tooltipAnchor || (this._current && this._current === point)) {\n return;\n }\n\n var options = deepExtend({}, this.options, point.options.tooltip);\n var anchor = point.tooltipAnchor();\n\n if (anchor) {\n this._current = point;\n BaseTooltip.prototype.show.call(this, {\n point: point,\n anchor: anchor\n }, options, point);\n } else {\n this.hide();\n }\n };\n\n Tooltip.prototype.hide = function hide () {\n delete this._current;\n BaseTooltip.prototype.hide.call(this);\n };\n\n return Tooltip;\n}(BaseTooltip));\n\nexport default Tooltip;","import BaseTooltip from './base-tooltip';\nimport { Point } from '../../core';\n\nimport { grep, setDefaultOptions } from '../../common';\n\nvar SharedTooltip = (function (BaseTooltip) {\n function SharedTooltip(plotArea, options) {\n BaseTooltip.call(this, plotArea.chartService, options);\n\n this.plotArea = plotArea;\n this.formatService = plotArea.chartService.format;\n }\n\n if ( BaseTooltip ) SharedTooltip.__proto__ = BaseTooltip;\n SharedTooltip.prototype = Object.create( BaseTooltip && BaseTooltip.prototype );\n SharedTooltip.prototype.constructor = SharedTooltip;\n\n SharedTooltip.prototype.showAt = function showAt (points, coords) {\n var tooltipPoints = grep(points, function(point) {\n var tooltip = point.series.tooltip;\n var excluded = tooltip && tooltip.visible === false;\n\n return !excluded;\n });\n\n if (tooltipPoints.length > 0) {\n var point = tooltipPoints[0];\n var slot = this.plotArea.categoryAxis.getSlot(point.categoryIx);\n\n var anchor = coords ? this._slotAnchor(coords, slot) : this._defaultAnchor(point, slot);\n\n this.show({\n anchor: anchor,\n shared: true,\n points: points,\n category: point.category,\n categoryText: this.formatService.auto(this.options.categoryFormat, point.category),\n series: this.plotArea.series\n }, this.options);\n }\n };\n\n SharedTooltip.prototype._slotAnchor = function _slotAnchor (point, slot) {\n var axis = this.plotArea.categoryAxis;\n var align = {\n horizontal: \"left\",\n vertical: \"center\"\n };\n\n if (!axis.options.vertical) {\n point.x = slot.center().x;\n }\n\n return {\n point: point,\n align: align\n };\n };\n\n SharedTooltip.prototype._defaultAnchor = function _defaultAnchor (point, slot) {\n var box = point.owner.pane.chartsBox();\n var vertical = this.plotArea.categoryAxis.options.vertical;\n var center = box.center();\n var slotCenter = slot.center();\n var align = {\n horizontal: \"center\",\n vertical: \"center\"\n };\n\n var centerPoint;\n if (vertical) {\n centerPoint = new Point(center.x, slotCenter.y);\n } else {\n centerPoint = new Point(slotCenter.x, center.y);\n }\n\n return {\n point: centerPoint,\n align: align\n };\n };\n\n return SharedTooltip;\n}(BaseTooltip));\n\nsetDefaultOptions(SharedTooltip, {\n categoryFormat: '{0:d}'\n});\n\nexport default SharedTooltip;","import { drawing as draw, geometry as geom } from '@progress/kendo-drawing';\n\nimport { INITIAL_ANIMATION_DURATION, BAR, START_SCALE } from '../constants';\n\nimport { X, Y } from '../../common/constants';\nimport { interpolateValue, setDefaultOptions } from '../../common';\n\nvar BarChartAnimation = (function (superclass) {\n function BarChartAnimation () {\n superclass.apply(this, arguments);\n }\n\n if ( superclass ) BarChartAnimation.__proto__ = superclass;\n BarChartAnimation.prototype = Object.create( superclass && superclass.prototype );\n BarChartAnimation.prototype.constructor = BarChartAnimation;\n\n BarChartAnimation.prototype.setup = function setup () {\n var ref = this;\n var element = ref.element;\n var options = ref.options;\n var bbox = element.bbox();\n\n if (bbox) {\n this.origin = options.origin;\n var axis = options.vertical ? Y : X;\n\n var fromScale = this.fromScale = new geom.Point(1, 1);\n fromScale[axis] = START_SCALE;\n\n element.transform(geom.transform()\n .scale(fromScale.x, fromScale.y)\n );\n } else {\n this.abort();\n }\n };\n\n BarChartAnimation.prototype.step = function step (pos) {\n var scaleX = interpolateValue(this.fromScale.x, 1, pos);\n var scaleY = interpolateValue(this.fromScale.y, 1, pos);\n\n this.element.transform(geom.transform()\n .scale(scaleX, scaleY, this.origin)\n );\n };\n\n BarChartAnimation.prototype.abort = function abort () {\n superclass.prototype.abort.call(this);\n this.element.transform(null);\n };\n\n return BarChartAnimation;\n}(draw.Animation));\n\nsetDefaultOptions(BarChartAnimation, {\n duration: INITIAL_ANIMATION_DURATION\n});\n\ndraw.AnimationFactory.current.register(BAR, BarChartAnimation);\n\nexport default BarChartAnimation;","import { drawing as draw, geometry as geom } from '@progress/kendo-drawing';\n\nimport { START_SCALE, BUBBLE } from '../constants';\n\nimport { setDefaultOptions } from '../../common';\n\nvar BubbleAnimation = (function (superclass) {\n function BubbleAnimation () {\n superclass.apply(this, arguments);\n }\n\n if ( superclass ) BubbleAnimation.__proto__ = superclass;\n BubbleAnimation.prototype = Object.create( superclass && superclass.prototype );\n BubbleAnimation.prototype.constructor = BubbleAnimation;\n\n BubbleAnimation.prototype.setup = function setup () {\n var center = this.center = this.element.bbox().center();\n this.element.transform(geom.transform()\n .scale(START_SCALE, START_SCALE, center)\n );\n };\n\n BubbleAnimation.prototype.step = function step (pos) {\n this.element.transform(geom.transform()\n .scale(pos, pos, this.center)\n );\n };\n\n return BubbleAnimation;\n}(draw.Animation));\n\nsetDefaultOptions(BubbleAnimation, {\n easing: \"easeOutElastic\"\n});\n\ndraw.AnimationFactory.current.register(BUBBLE, BubbleAnimation);\n\nexport default BubbleAnimation;","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { FADEIN } from '../constants';\n\nimport { setDefaultOptions } from '../../common';\n\nvar FadeInAnimation = (function (superclass) {\n function FadeInAnimation () {\n superclass.apply(this, arguments);\n }\n\n if ( superclass ) FadeInAnimation.__proto__ = superclass;\n FadeInAnimation.prototype = Object.create( superclass && superclass.prototype );\n FadeInAnimation.prototype.constructor = FadeInAnimation;\n\n FadeInAnimation.prototype.setup = function setup () {\n this.fadeTo = this.element.opacity();\n this.element.opacity(0);\n };\n\n FadeInAnimation.prototype.step = function step (pos) {\n this.element.opacity(pos * this.fadeTo);\n };\n\n return FadeInAnimation;\n}(draw.Animation));\n\nsetDefaultOptions(FadeInAnimation, {\n duration: 200,\n easing: \"linear\"\n});\n\ndraw.AnimationFactory.current.register(FADEIN, FadeInAnimation);\n\nexport default FadeInAnimation;","import { drawing as draw, geometry as geom } from '@progress/kendo-drawing';\n\nimport { START_SCALE, INITIAL_ANIMATION_DURATION, PIE } from '../constants';\n\nimport { setDefaultOptions } from '../../common';\n\nvar PieAnimation = (function (superclass) {\n function PieAnimation () {\n superclass.apply(this, arguments);\n }\n\n if ( superclass ) PieAnimation.__proto__ = superclass;\n PieAnimation.prototype = Object.create( superclass && superclass.prototype );\n PieAnimation.prototype.constructor = PieAnimation;\n\n PieAnimation.prototype.setup = function setup () {\n this.element.transform(geom.transform()\n .scale(START_SCALE, START_SCALE, this.options.center)\n );\n };\n\n PieAnimation.prototype.step = function step (pos) {\n this.element.transform(geom.transform()\n .scale(pos, pos, this.options.center)\n );\n };\n\n return PieAnimation;\n}(draw.Animation));\n\nsetDefaultOptions(PieAnimation, {\n easing: \"easeOutElastic\",\n duration: INITIAL_ANIMATION_DURATION\n});\n\ndraw.AnimationFactory.current.register(PIE, PieAnimation);\n\nexport default PieAnimation;","import ScatterChart from './scatter-chart';\nimport LineChartMixin from '../mixins/line-chart-mixin';\nimport LineSegment from '../line-chart/line-segment';\nimport SplineSegment from '../line-chart/spline-segment';\n\nimport { SMOOTH, ZERO } from '../constants';\n\nimport hasValue from '../utils/has-value';\n\nimport { deepExtend } from '../../common';\n\nvar ScatterLineChart = (function (ScatterChart) {\n function ScatterLineChart () {\n ScatterChart.apply(this, arguments);\n }\n\n if ( ScatterChart ) ScatterLineChart.__proto__ = ScatterChart;\n ScatterLineChart.prototype = Object.create( ScatterChart && ScatterChart.prototype );\n ScatterLineChart.prototype.constructor = ScatterLineChart;\n\n ScatterLineChart.prototype.render = function render () {\n ScatterChart.prototype.render.call(this);\n\n this.renderSegments();\n };\n\n ScatterLineChart.prototype.createSegment = function createSegment (linePoints, currentSeries, seriesIx) {\n var style = currentSeries.style;\n var pointType;\n\n if (style === SMOOTH) {\n pointType = SplineSegment;\n } else {\n pointType = LineSegment;\n }\n\n return new pointType(linePoints, currentSeries, seriesIx);\n };\n\n ScatterLineChart.prototype.animationPoints = function animationPoints () {\n var points = ScatterChart.prototype.animationPoints.call(this);\n return points.concat(this._segments);\n };\n\n ScatterLineChart.prototype.createMissingValue = function createMissingValue (value, missingValues) {\n if (missingValues === ZERO) {\n var missingValue = {\n x: value.x,\n y: value.y\n };\n if (!hasValue(missingValue.x)) {\n missingValue.x = 0;\n }\n if (!hasValue(missingValue.y)) {\n missingValue.y = 0;\n }\n return missingValue;\n }\n };\n\n return ScatterLineChart;\n}(ScatterChart));\n\ndeepExtend(ScatterLineChart.prototype, LineChartMixin);\n\nexport default ScatterLineChart;","import PlotAreaBase from './plotarea-base';\nimport AxisGroupRangeTracker from '../axis-group-range-tracker';\nimport PlotAreaEventsMixin from '../mixins/plotarea-events-mixin';\nimport ScatterChart from '../scatter-charts/scatter-chart';\nimport ScatterLineChart from '../scatter-charts/scatter-line-chart';\nimport BubbleChart from '../bubble-chart/bubble-chart';\nimport SeriesBinder from '../series-binder';\n\nimport { NumericAxis, LogarithmicAxis, DateValueAxis, Point } from '../../core';\n\nimport filterSeriesByType from '../utils/filter-series-by-type';\nimport equalsIgnoreCase from '../utils/equals-ignore-case';\nimport singleItemOrArray from '../utils/single-item-or-array';\n\nimport { SCATTER, SCATTER_LINE, BUBBLE, LOGARITHMIC } from '../constants';\n\nimport { DATE } from '../../common/constants';\nimport { deepExtend, eventElement, grep, inArray, setDefaultOptions } from '../../common';\n\nvar XYPlotArea = (function (PlotAreaBase) {\n function XYPlotArea () {\n PlotAreaBase.apply(this, arguments);\n }\n\n if ( PlotAreaBase ) XYPlotArea.__proto__ = PlotAreaBase;\n XYPlotArea.prototype = Object.create( PlotAreaBase && PlotAreaBase.prototype );\n XYPlotArea.prototype.constructor = XYPlotArea;\n\n XYPlotArea.prototype.initFields = function initFields () {\n this.namedXAxes = {};\n this.namedYAxes = {};\n\n this.xAxisRangeTracker = new AxisGroupRangeTracker();\n this.yAxisRangeTracker = new AxisGroupRangeTracker();\n };\n\n XYPlotArea.prototype.render = function render (panes) {\n var this$1 = this;\n if ( panes === void 0 ) panes = this.panes;\n\n var seriesByPane = this.groupSeriesByPane();\n\n for (var i = 0; i < panes.length; i++) {\n var pane = panes[i];\n var paneSeries = seriesByPane[pane.options.name || \"default\"] || [];\n this$1.addToLegend(paneSeries);\n var filteredSeries = this$1.filterVisibleSeries(paneSeries);\n\n if (!filteredSeries) {\n continue;\n }\n\n this$1.createScatterChart(\n filterSeriesByType(filteredSeries, SCATTER),\n pane\n );\n\n this$1.createScatterLineChart(\n filterSeriesByType(filteredSeries, SCATTER_LINE),\n pane\n );\n\n this$1.createBubbleChart(\n filterSeriesByType(filteredSeries, BUBBLE),\n pane\n );\n }\n\n this.createAxes(panes);\n };\n\n XYPlotArea.prototype.appendChart = function appendChart (chart, pane) {\n this.xAxisRangeTracker.update(chart.xAxisRanges);\n this.yAxisRangeTracker.update(chart.yAxisRanges);\n\n PlotAreaBase.prototype.appendChart.call(this, chart, pane);\n };\n\n XYPlotArea.prototype.removeAxis = function removeAxis (axis) {\n var axisName = axis.options.name;\n\n PlotAreaBase.prototype.removeAxis.call(this, axis);\n\n if (axis.options.vertical) {\n this.yAxisRangeTracker.reset(axisName);\n delete this.namedYAxes[axisName];\n } else {\n this.xAxisRangeTracker.reset(axisName);\n delete this.namedXAxes[axisName];\n }\n\n if (axis === this.axisX) {\n delete this.axisX;\n }\n\n if (axis === this.axisY) {\n delete this.axisY;\n }\n };\n\n // TODO: Refactor, optionally use series.pane option\n XYPlotArea.prototype.seriesPaneName = function seriesPaneName (series) {\n var options = this.options;\n var xAxisName = series.xAxis;\n var xAxisOptions = [].concat(options.xAxis);\n var xAxis = grep(xAxisOptions, function(a) { return a.name === xAxisName; })[0];\n var yAxisName = series.yAxis;\n var yAxisOptions = [].concat(options.yAxis);\n var yAxis = grep(yAxisOptions, function(a) { return a.name === yAxisName; })[0];\n var panes = options.panes || [ {} ];\n var defaultPaneName = panes[0].name || \"default\";\n var paneName = (xAxis || {}).pane || (yAxis || {}).pane || defaultPaneName;\n\n return paneName;\n };\n\n XYPlotArea.prototype.createScatterChart = function createScatterChart (series, pane) {\n if (series.length > 0) {\n this.appendChart(\n new ScatterChart(this, { series: series, clip: pane.options.clip }),\n pane\n );\n }\n };\n\n XYPlotArea.prototype.createScatterLineChart = function createScatterLineChart (series, pane) {\n if (series.length > 0) {\n this.appendChart(\n new ScatterLineChart(this, { series: series, clip: pane.options.clip }),\n pane\n );\n }\n };\n\n XYPlotArea.prototype.createBubbleChart = function createBubbleChart (series, pane) {\n if (series.length > 0) {\n this.appendChart(\n new BubbleChart(this, { series: series, clip: pane.options.clip }),\n pane\n );\n }\n };\n\n XYPlotArea.prototype.createXYAxis = function createXYAxis (options, vertical, axisIndex) {\n var axisName = options.name;\n var namedAxes = vertical ? this.namedYAxes : this.namedXAxes;\n var tracker = vertical ? this.yAxisRangeTracker : this.xAxisRangeTracker;\n var axisOptions = deepExtend({ reverse: !vertical && this.chartService.rtl }, options, { vertical: vertical });\n var isLog = equalsIgnoreCase(axisOptions.type, LOGARITHMIC);\n var defaultRange = tracker.query();\n var defaultAxisRange = isLog ? { min: 0.1, max: 1 } : { min: 0, max: 1 };\n var range = tracker.query(axisName) || defaultRange || defaultAxisRange;\n var typeSamples = [ axisOptions.min, axisOptions.max ];\n var series = this.series;\n\n for (var seriesIx = 0; seriesIx < series.length; seriesIx++) {\n var currentSeries = series[seriesIx];\n var seriesAxisName = currentSeries[vertical ? \"yAxis\" : \"xAxis\"];\n if ((seriesAxisName === axisOptions.name) || (axisIndex === 0 && !seriesAxisName)) {\n var firstPointValue = SeriesBinder.current.bindPoint(currentSeries, 0).valueFields;\n typeSamples.push(firstPointValue[vertical ? \"y\" : \"x\"]);\n\n break;\n }\n }\n\n if (axisIndex === 0 && defaultRange) {\n range.min = Math.min(range.min, defaultRange.min);\n range.max = Math.max(range.max, defaultRange.max);\n }\n\n var inferredDate;\n\n for (var i = 0; i < typeSamples.length; i++) {\n if (typeSamples[i] instanceof Date) {\n inferredDate = true;\n break;\n }\n }\n\n var axisType;\n if (equalsIgnoreCase(axisOptions.type, DATE) || (!axisOptions.type && inferredDate)) {\n axisType = DateValueAxis;\n } else if (isLog) {\n axisType = LogarithmicAxis;\n } else {\n axisType = NumericAxis;\n }\n\n var axis = new axisType(range.min, range.max, axisOptions, this.chartService);\n axis.axisIndex = axisIndex;\n\n if (axisName) {\n if (namedAxes[axisName]) {\n throw new Error(((vertical ? \"Y\" : \"X\") + \" axis with name \" + axisName + \" is already defined\"));\n }\n namedAxes[axisName] = axis;\n }\n\n this.appendAxis(axis);\n\n return axis;\n };\n\n XYPlotArea.prototype.createAxes = function createAxes (panes) {\n var this$1 = this;\n\n var options = this.options;\n var xAxesOptions = [].concat(options.xAxis);\n var xAxes = [];\n var yAxesOptions = [].concat(options.yAxis);\n var yAxes = [];\n\n for (var idx = 0; idx < xAxesOptions.length; idx++) {\n var axisPane = this$1.findPane(xAxesOptions[idx].pane);\n if (inArray(axisPane, panes)) {\n xAxes.push(this$1.createXYAxis(xAxesOptions[idx], false, idx));\n }\n }\n\n for (var idx$1 = 0; idx$1 < yAxesOptions.length; idx$1++) {\n var axisPane$1 = this$1.findPane(yAxesOptions[idx$1].pane);\n if (inArray(axisPane$1, panes)) {\n yAxes.push(this$1.createXYAxis(yAxesOptions[idx$1], true, idx$1));\n }\n }\n\n this.axisX = this.axisX || xAxes[0];\n this.axisY = this.axisY || yAxes[0];\n };\n\n XYPlotArea.prototype._dispatchEvent = function _dispatchEvent (chart, e, eventType) {\n var coords = chart._eventCoordinates(e);\n var point = new Point(coords.x, coords.y);\n var allAxes = this.axes;\n var length = allAxes.length;\n var xValues = [];\n var yValues = [];\n\n for (var i = 0; i < length; i++) {\n var axis = allAxes[i];\n var values = axis.options.vertical ? yValues : xValues;\n var currentValue = axis.getValue(point);\n if (currentValue !== null) {\n values.push(currentValue);\n }\n }\n\n if (xValues.length > 0 && yValues.length > 0) {\n chart.trigger(eventType, {\n element: eventElement(e),\n originalEvent: e,\n x: singleItemOrArray(xValues),\n y: singleItemOrArray(yValues)\n });\n }\n };\n\n XYPlotArea.prototype.updateAxisOptions = function updateAxisOptions$1 (axis, options) {\n var vertical = axis.options.vertical;\n var axes = this.groupAxes(this.panes);\n var index = (vertical ? axes.y : axes.x).indexOf(axis);\n\n updateAxisOptions(this.options, index, vertical, options);\n updateAxisOptions(this.originalOptions, index, vertical, options);\n };\n\n return XYPlotArea;\n}(PlotAreaBase));\n\nfunction updateAxisOptions(targetOptions, axisIndex, vertical, options) {\n var axisOptions = ([].concat(vertical ? targetOptions.yAxis : targetOptions.xAxis))[axisIndex];\n deepExtend(axisOptions, options);\n}\n\nsetDefaultOptions(XYPlotArea, {\n xAxis: {},\n yAxis: {}\n});\n\ndeepExtend(XYPlotArea.prototype, PlotAreaEventsMixin);\n\nexport default XYPlotArea;","import { drawing as draw, geometry as geom } from '@progress/kendo-drawing';\n\nimport { ChartElement, ShapeBuilder, TextBox, Box } from '../../core';\n\nimport PointEventsMixin from '../mixins/point-events-mixin';\n\nimport { OUTSIDE_END, INSIDE_END, PIE, FADEIN, TOOLTIP_OFFSET } from '../constants';\nimport hasGradientOverlay from '../utils/has-gradient-overlay';\n\nimport { TOP, BOTTOM, LEFT, RIGHT, DEFAULT_FONT, CIRCLE, WHITE, CENTER, DEFAULT_PRECISION } from '../../common/constants';\nimport { autoTextColor, setDefaultOptions, getSpacing, getTemplate, deepExtend, round, rad } from '../../common';\n\nvar PieSegment = (function (ChartElement) {\n function PieSegment(value, sector, options) {\n ChartElement.call(this, options);\n\n this.value = value;\n this.sector = sector;\n }\n\n if ( ChartElement ) PieSegment.__proto__ = ChartElement;\n PieSegment.prototype = Object.create( ChartElement && ChartElement.prototype );\n PieSegment.prototype.constructor = PieSegment;\n\n PieSegment.prototype.render = function render () {\n var labels = this.options.labels;\n var chartService = this.owner.chartService;\n var labelText = this.value;\n\n if (this._rendered || this.visible === false) {\n return;\n }\n this._rendered = true;\n\n var labelTemplate = getTemplate(labels);\n var pointData = this.pointData();\n\n if (labelTemplate) {\n labelText = labelTemplate(pointData);\n } else if (labels.format) {\n labelText = chartService.format.auto(labels.format, labelText);\n }\n\n if (labels.visible && (labelText || labelText === 0)) {\n if (labels.position === CENTER || labels.position === INSIDE_END) {\n if (!labels.color) {\n labels.color = autoTextColor(this.options.color);\n }\n if (!labels.background) {\n labels.background = this.options.color;\n }\n } else {\n var themeLabels = chartService.theme.seriesDefaults.labels;\n labels.color = labels.color || themeLabels.color;\n labels.background = labels.background || themeLabels.background;\n }\n\n\n this.label = new TextBox(labelText, deepExtend({}, labels, {\n align: CENTER,\n vAlign: \"\",\n animation: {\n type: FADEIN,\n delay: this.animationDelay\n }\n }), pointData);\n\n this.append(this.label);\n }\n };\n\n PieSegment.prototype.reflow = function reflow (targetBox) {\n this.render();\n this.box = targetBox;\n this.reflowLabel();\n };\n\n PieSegment.prototype.reflowLabel = function reflowLabel () {\n var ref = this;\n var labelsOptions = ref.options.labels;\n var label = ref.label;\n var sector = this.sector.clone();\n var labelsDistance = labelsOptions.distance;\n var angle = sector.middle();\n\n if (label) {\n var labelHeight = label.box.height();\n var labelWidth = label.box.width();\n var lp;\n\n if (labelsOptions.position === CENTER) {\n sector.radius = Math.abs((sector.radius - labelHeight) / 2) + labelHeight;\n lp = sector.point(angle);\n label.reflow(new Box(lp.x, lp.y - labelHeight / 2, lp.x, lp.y));\n } else if (labelsOptions.position === INSIDE_END) {\n sector.radius = sector.radius - labelHeight / 2;\n lp = sector.point(angle);\n label.reflow(new Box(lp.x, lp.y - labelHeight / 2, lp.x, lp.y));\n } else {\n var x1;\n lp = sector.clone().expand(labelsDistance).point(angle);\n if (lp.x >= sector.center.x) {\n x1 = lp.x + labelWidth;\n label.orientation = RIGHT;\n } else {\n x1 = lp.x - labelWidth;\n label.orientation = LEFT;\n }\n label.reflow(new Box(x1, lp.y - labelHeight, lp.x, lp.y));\n }\n }\n };\n\n PieSegment.prototype.createVisual = function createVisual () {\n var this$1 = this;\n\n var ref = this;\n var sector = ref.sector;\n var options = ref.options;\n\n ChartElement.prototype.createVisual.call(this);\n\n if (this.value) {\n if (options.visual) {\n var startAngle = (sector.startAngle + 180) % 360;\n var visual = options.visual({\n category: this.category,\n dataItem: this.dataItem,\n value: this.value,\n series: this.series,\n percentage: this.percentage,\n center: new geom.Point(sector.center.x, sector.center.y),\n radius: sector.radius,\n innerRadius: sector.innerRadius,\n startAngle: startAngle,\n endAngle: startAngle + sector.angle,\n options: options,\n sender: this.getSender(),\n createVisual: function () {\n var group = new draw.Group();\n this$1.createSegmentVisual(group);\n\n return group;\n }\n });\n\n if (visual) {\n this.visual.append(visual);\n }\n } else {\n this.createSegmentVisual(this.visual);\n }\n }\n };\n\n PieSegment.prototype.createSegmentVisual = function createSegmentVisual (group) {\n var ref = this;\n var sector = ref.sector;\n var options = ref.options;\n var borderOptions = options.border || {};\n var border = borderOptions.width > 0 ? {\n stroke: {\n color: borderOptions.color,\n width: borderOptions.width,\n opacity: borderOptions.opacity,\n dashType: borderOptions.dashType\n }\n } : {};\n var color = options.color;\n var fill = {\n color: color,\n opacity: options.opacity\n };\n var visual = this.createSegment(sector, deepExtend({\n fill: fill,\n stroke: {\n opacity: options.opacity\n },\n zIndex: options.zIndex\n }, border));\n\n group.append(visual);\n\n if (hasGradientOverlay(options)) {\n group.append(this.createGradientOverlay(visual, {\n baseColor: color,\n fallbackFill: fill\n }, deepExtend({\n center: [ sector.center.x, sector.center.y ],\n innerRadius: sector.innerRadius,\n radius: sector.radius,\n userSpace: true\n }, options.overlay)));\n }\n };\n\n PieSegment.prototype.createSegment = function createSegment (sector, options) {\n if (options.singleSegment) {\n return new draw.Circle(new geom.Circle(new geom.Point(sector.center.x, sector.center.y), sector.radius), options);\n }\n\n return ShapeBuilder.current.createRing(sector, options);\n };\n\n PieSegment.prototype.createAnimation = function createAnimation () {\n var ref = this;\n var options = ref.options;\n var center = ref.sector.center;\n\n deepExtend(options, {\n animation: {\n center: [ center.x, center.y ],\n delay: this.animationDelay\n }\n });\n\n ChartElement.prototype.createAnimation.call(this);\n };\n\n PieSegment.prototype.createHighlight = function createHighlight (options) {\n var highlight = this.options.highlight || {};\n var border = highlight.border || {};\n\n return this.createSegment(this.sector, deepExtend({}, options, {\n fill: {\n color: highlight.color,\n opacity: highlight.opacity\n },\n stroke: {\n opacity: border.opacity,\n width: border.width,\n color: border.color\n }\n }));\n };\n\n PieSegment.prototype.highlightVisual = function highlightVisual () {\n return this.visual.children[0];\n };\n\n PieSegment.prototype.highlightVisualArgs = function highlightVisualArgs () {\n var sector = this.sector;\n\n return {\n options: this.options,\n radius: sector.radius,\n innerRadius: sector.innerRadius,\n center: new geom.Point(sector.center.x, sector.center.y),\n startAngle: sector.startAngle,\n endAngle: sector.angle + sector.startAngle,\n visual: this.visual\n };\n };\n\n PieSegment.prototype.tooltipAnchor = function tooltipAnchor () {\n var sector = this.sector.clone().expand(TOOLTIP_OFFSET);\n var midAndle = sector.middle();\n var midPoint = sector.point(midAndle);\n\n return {\n point: midPoint,\n align: tooltipAlignment(midAndle + 180)\n };\n };\n\n PieSegment.prototype.formatValue = function formatValue (format) {\n return this.owner.formatPointValue(this, format);\n };\n\n PieSegment.prototype.pointData = function pointData () {\n return {\n dataItem: this.dataItem,\n category: this.category,\n value: this.value,\n series: this.series,\n percentage: this.percentage\n };\n };\n\n return PieSegment;\n}(ChartElement));\n\nvar RAD_30 = round(rad(30), DEFAULT_PRECISION);\nvar RAD_60 = round(rad(60), DEFAULT_PRECISION);\n\nfunction tooltipAlignment(angle) {\n var radians = rad(angle);\n var sine = round(Math.sin(radians), DEFAULT_PRECISION);\n var cosine = round(Math.cos(radians), DEFAULT_PRECISION);\n\n\n var horizontal;\n if (Math.abs(sine) > RAD_60) {\n horizontal = CENTER;\n } else if (cosine < 0) {\n horizontal = RIGHT;\n } else {\n horizontal = LEFT;\n }\n\n var vertical;\n if (Math.abs(sine) < RAD_30) {\n vertical = CENTER;\n } else if (sine < 0) {\n vertical = BOTTOM;\n } else {\n vertical = TOP;\n }\n\n return {\n horizontal: horizontal,\n vertical: vertical\n };\n}\n\nsetDefaultOptions(PieSegment, {\n color: WHITE,\n overlay: {\n gradient: \"roundedBevel\"\n },\n border: {\n width: 0.5\n },\n labels: {\n visible: false,\n distance: 35,\n font: DEFAULT_FONT,\n margin: getSpacing(0.5),\n align: CIRCLE,\n zIndex: 1,\n position: OUTSIDE_END\n },\n animation: {\n type: PIE\n },\n highlight: {\n visible: true,\n border: {\n width: 1\n }\n },\n visible: true\n});\n\ndeepExtend(PieSegment.prototype, PointEventsMixin);\n\nexport default PieSegment;\n","import { getTemplate } from '../../common';\nimport { hasValue } from '../utils';\n\nvar PieChartMixin = {\n createLegendItem: function(value, point, options) {\n var legendOptions = this.options.legend || {};\n var labelsOptions = legendOptions.labels || {};\n var inactiveItems = legendOptions.inactiveItems || {};\n var inactiveItemsLabels = inactiveItems.labels || {};\n\n if (options && options.visibleInLegend !== false) {\n var pointVisible = options.visible !== false;\n var labelTemplate = pointVisible ? getTemplate(labelsOptions) :\n getTemplate(inactiveItemsLabels) || getTemplate(labelsOptions);\n var text = options.category;\n\n if (labelTemplate) {\n text = labelTemplate({\n text: text,\n series: options.series,\n dataItem: options.dataItem,\n percentage: options.percentage,\n value: value\n });\n }\n\n var itemLabelOptions, markerColor;\n if (pointVisible) {\n itemLabelOptions = {};\n markerColor = point.color;\n } else {\n itemLabelOptions = {\n color: inactiveItemsLabels.color,\n font: inactiveItemsLabels.font\n };\n markerColor = (inactiveItems.markers || {}).color;\n }\n\n if (hasValue(text) && text !== \"\") {\n this.legendItems.push({\n active: pointVisible,\n pointIndex: options.index,\n text: text,\n series: options.series,\n markerColor: markerColor,\n labels: itemLabelOptions\n });\n }\n }\n }\n};\n\nexport default PieChartMixin;","import { drawing as draw, geometry } from '@progress/kendo-drawing';\n\nimport PieSegment from './pie-segment';\nimport PieChartMixin from '../mixins/pie-chart-mixin';\nimport { ChartElement, Ring, Box, Point } from '../../core';\n\nimport { OUTSIDE_END, FADEIN, COLUMN } from '../constants';\nimport { bindSegments, evalOptions } from '../utils';\n\nimport { CIRCLE, RIGHT, CENTER } from '../../common/constants';\nimport { deepExtend, defined, find, isFunction, last, round, setDefaultOptions, valueOrDefault } from '../../common';\n\nvar PIE_SECTOR_ANIM_DELAY = 70;\n\nvar PieChart = (function (ChartElement) {\n function PieChart(plotArea, options) {\n ChartElement.call(this, options);\n\n this.plotArea = plotArea;\n this.chartService = plotArea.chartService;\n this.points = [];\n this.legendItems = [];\n this.render();\n }\n\n if ( ChartElement ) PieChart.__proto__ = ChartElement;\n PieChart.prototype = Object.create( ChartElement && ChartElement.prototype );\n PieChart.prototype.constructor = PieChart;\n\n PieChart.prototype.render = function render () {\n this.traverseDataPoints(this.addValue.bind(this));\n };\n\n PieChart.prototype.traverseDataPoints = function traverseDataPoints (callback) {\n var this$1 = this;\n\n var ref = this;\n var options = ref.options;\n var seriesColors = ref.plotArea.options.seriesColors; if ( seriesColors === void 0 ) seriesColors = [];\n var colorsCount = seriesColors.length;\n var series = options.series;\n var seriesCount = series.length;\n\n for (var seriesIx = 0; seriesIx < seriesCount; seriesIx++) {\n var currentSeries = series[seriesIx];\n var data = currentSeries.data;\n var ref$1 = bindSegments(currentSeries);\n var total = ref$1.total;\n var points = ref$1.points;\n var count = ref$1.count;\n var anglePerValue = 360 / total;\n var constantAngle = (void 0);\n if (!isFinite(anglePerValue)) {\n constantAngle = 360 / count;\n }\n var currentAngle = (void 0);\n\n if (defined(currentSeries.startAngle)) {\n currentAngle = currentSeries.startAngle;\n } else {\n currentAngle = options.startAngle;\n }\n\n if (seriesIx !== seriesCount - 1) {\n if (currentSeries.labels.position === OUTSIDE_END) {\n currentSeries.labels.position = CENTER;\n }\n }\n\n for (var i = 0; i < points.length; i++) {\n var pointData = points[i];\n if (!pointData) {\n continue;\n }\n\n var fields = pointData.fields;\n var value = pointData.value;\n var visible = pointData.visible;\n var angle = value !== 0 ? (constantAngle || (value * anglePerValue)) : 0;\n var explode = data.length !== 1 && Boolean(fields.explode);\n\n if (!isFunction(currentSeries.color)) {\n currentSeries.color = fields.color || seriesColors[i % colorsCount];\n }\n\n callback(value, new Ring(null, 0, 0, currentAngle, angle), {\n owner: this$1,\n category: defined(fields.category) ? fields.category : \"\",\n index: i,\n series: currentSeries,\n seriesIx: seriesIx,\n dataItem: data[i],\n percentage: total !== 0 ? value / total : 0,\n explode: explode,\n visibleInLegend: fields.visibleInLegend,\n visible: visible,\n zIndex: seriesCount - seriesIx,\n animationDelay: this$1.animationDelay(i, seriesIx, seriesCount)\n });\n\n if (visible !== false) {\n currentAngle += angle;\n }\n }\n }\n };\n\n PieChart.prototype.evalSegmentOptions = function evalSegmentOptions (options, value, fields) {\n var series = fields.series;\n\n evalOptions(options, {\n value: value,\n series: series,\n dataItem: fields.dataItem,\n category: fields.category,\n percentage: fields.percentage\n }, { defaults: series._defaults, excluded: [ \"data\", \"content\", \"template\", \"visual\", \"toggle\" ] });\n };\n\n PieChart.prototype.addValue = function addValue (value, sector, fields) {\n var segmentOptions = deepExtend({}, fields.series, { index: fields.index });\n this.evalSegmentOptions(segmentOptions, value, fields);\n\n this.createLegendItem(value, segmentOptions, fields);\n\n if (fields.visible === false) {\n return;\n }\n\n var segment = new PieSegment(value, sector, segmentOptions);\n Object.assign(segment, fields);\n this.append(segment);\n this.points.push(segment);\n };\n\n PieChart.prototype.reflow = function reflow (targetBox) {\n var ref = this;\n var options = ref.options;\n var points = ref.points;\n var seriesConfigs = ref.seriesConfigs; if ( seriesConfigs === void 0 ) seriesConfigs = [];\n var count = points.length;\n var box = targetBox.clone();\n var space = 5;\n var minWidth = Math.min(box.width(), box.height());\n var halfMinWidth = minWidth / 2;\n var defaultPadding = minWidth - minWidth * 0.85;\n var newBox = new Box(box.x1, box.y1, box.x1 + minWidth, box.y1 + minWidth);\n var newBoxCenter = newBox.center();\n var boxCenter = box.center();\n var seriesCount = options.series.length;\n var leftSideLabels = [];\n var rightSideLabels = [];\n var padding = valueOrDefault(options.padding, defaultPadding);\n\n this.targetBox = targetBox;\n\n padding = padding > halfMinWidth - space ? halfMinWidth - space : padding;\n newBox.translate(boxCenter.x - newBoxCenter.x, boxCenter.y - newBoxCenter.y);\n\n var radius = halfMinWidth - padding;\n var center = new Point(\n radius + newBox.x1 + padding,\n radius + newBox.y1 + padding\n );\n\n for (var i = 0; i < count; i++) {\n var segment = points[i];\n var sector = segment.sector;\n var seriesIndex = segment.seriesIx;\n sector.radius = radius;\n sector.center = center;\n\n if (seriesConfigs.length) {\n var seriesConfig = seriesConfigs[seriesIndex];\n sector.innerRadius = seriesConfig.innerRadius;\n sector.radius = seriesConfig.radius;\n }\n\n if (seriesIndex === seriesCount - 1 && segment.explode) {\n sector.center = sector.clone().setRadius(sector.radius * 0.15).point(sector.middle());\n }\n\n segment.reflow(newBox);\n\n var label = segment.label;\n if (label) {\n if (label.options.position === OUTSIDE_END) {\n if (seriesIndex === seriesCount - 1) {\n if (label.orientation === RIGHT) {\n rightSideLabels.push(label);\n } else {\n leftSideLabels.push(label);\n }\n }\n }\n }\n }\n\n if (leftSideLabels.length > 0) {\n leftSideLabels.sort(this.labelComparator(true));\n this.leftLabelsReflow(leftSideLabels);\n }\n\n if (rightSideLabels.length > 0) {\n rightSideLabels.sort(this.labelComparator(false));\n this.rightLabelsReflow(rightSideLabels);\n }\n\n this.box = newBox;\n };\n\n PieChart.prototype.leftLabelsReflow = function leftLabelsReflow (labels) {\n var distances = this.distanceBetweenLabels(labels);\n\n this.distributeLabels(distances, labels);\n };\n\n PieChart.prototype.rightLabelsReflow = function rightLabelsReflow (labels) {\n var distances = this.distanceBetweenLabels(labels);\n\n this.distributeLabels(distances, labels);\n };\n\n PieChart.prototype.distanceBetweenLabels = function distanceBetweenLabels (labels) {\n var segment = last(this.points);\n var sector = segment.sector;\n var count = labels.length - 1;\n var lr = sector.radius + segment.options.labels.distance;\n var distances = [];\n var firstBox = labels[0].box;\n var distance = round(firstBox.y1 - (sector.center.y - lr - firstBox.height() - firstBox.height() / 2));\n\n distances.push(distance);\n\n for (var i = 0; i < count; i++) {\n var secondBox = labels[i + 1].box;\n\n firstBox = labels[i].box;\n distance = round(secondBox.y1 - firstBox.y2);\n distances.push(distance);\n }\n distance = round(sector.center.y + lr - labels[count].box.y2 - labels[count].box.height() / 2);\n distances.push(distance);\n\n return distances;\n };\n\n PieChart.prototype.distributeLabels = function distributeLabels (distances, labels) {\n var this$1 = this;\n\n var count = distances.length;\n var left, right, remaining;\n\n for (var i = 0; i < count; i++) {\n remaining = -distances[i];\n left = right = i;\n\n while (remaining > 0 && (left >= 0 || right < count)) {\n remaining = this$1._takeDistance(distances, i, --left, remaining);\n remaining = this$1._takeDistance(distances, i, ++right, remaining);\n }\n }\n\n this.reflowLabels(distances, labels);\n };\n\n PieChart.prototype._takeDistance = function _takeDistance (distances, anchor, position, amount) {\n var result = amount;\n if (distances[position] > 0) {\n var available = Math.min(distances[position], result);\n result -= available;\n distances[position] -= available;\n distances[anchor] += available;\n }\n\n return result;\n };\n\n PieChart.prototype.reflowLabels = function reflowLabels (distances, labels) {\n var this$1 = this;\n\n var segment = last(this.points);\n var sector = segment.sector;\n var labelOptions = segment.options.labels;\n var labelsCount = labels.length;\n var labelDistance = labelOptions.distance;\n var boxY = sector.center.y - (sector.radius + labelDistance) - labels[0].box.height();\n var boxX;\n\n distances[0] += 2;\n for (var i = 0; i < labelsCount; i++) {\n var label = labels[i];\n var box = label.box;\n\n boxY += distances[i];\n boxX = this$1.hAlignLabel(\n box.x2,\n sector.clone().expand(labelDistance),\n boxY,\n boxY + box.height(),\n label.orientation === RIGHT);\n\n if (label.orientation === RIGHT) {\n if (labelOptions.align !== CIRCLE) {\n boxX = sector.radius + sector.center.x + labelDistance;\n }\n label.reflow(new Box(boxX + box.width(), boxY, boxX, boxY));\n } else {\n if (labelOptions.align !== CIRCLE) {\n boxX = sector.center.x - sector.radius - labelDistance;\n }\n label.reflow(new Box(boxX - box.width(), boxY, boxX, boxY));\n }\n\n boxY += box.height();\n }\n };\n\n PieChart.prototype.createVisual = function createVisual () {\n var this$1 = this;\n\n var ref = this;\n var connectors = ref.options.connectors;\n var points = ref.points;\n var count = points.length;\n var space = 4;\n\n ChartElement.prototype.createVisual.call(this);\n\n this._connectorLines = [];\n\n for (var i = 0; i < count; i++) {\n var segment = points[i];\n var sector = segment.sector;\n var label = segment.label;\n var angle = sector.middle();\n var connectorsColor = (segment.options.connectors || {}).color || connectors.color;\n\n if (label) {\n var connectorLine = new draw.Path({\n stroke: {\n color: connectorsColor,\n width: connectors.width\n },\n animation: {\n type: FADEIN,\n delay: segment.animationDelay\n }\n });\n\n if (label.options.position === OUTSIDE_END) {\n var box = label.box;\n var centerPoint = sector.center;\n var start = sector.point(angle);\n var middle = new Point(box.x1, box.center().y);\n var sr = (void 0), end = (void 0), crossing = (void 0);\n\n start = sector.clone().expand(connectors.padding).point(angle);\n connectorLine.moveTo(start.x, start.y);\n // TODO: Extract into a method to remove duplication\n if (label.orientation === RIGHT) {\n end = new Point(box.x1 - connectors.padding, box.center().y);\n crossing = intersection(centerPoint, start, middle, end);\n middle = new Point(end.x - space, end.y);\n crossing = crossing || middle;\n crossing.x = Math.min(crossing.x, middle.x);\n\n if (this$1.pointInCircle(crossing, sector.center, sector.radius + space) ||\n crossing.x < sector.center.x) {\n sr = sector.center.x + sector.radius + space;\n if (segment.options.labels.align !== COLUMN) {\n if (sr < middle.x) {\n connectorLine.lineTo(sr, start.y);\n } else {\n connectorLine.lineTo(start.x + space * 2, start.y);\n }\n } else {\n connectorLine.lineTo(sr, start.y);\n }\n connectorLine.lineTo(middle.x, end.y);\n } else {\n crossing.y = end.y;\n connectorLine.lineTo(crossing.x, crossing.y);\n }\n } else {\n end = new Point(box.x2 + connectors.padding, box.center().y);\n crossing = intersection(centerPoint, start, middle, end);\n middle = new Point(end.x + space, end.y);\n crossing = crossing || middle;\n crossing.x = Math.max(crossing.x, middle.x);\n\n if (this$1.pointInCircle(crossing, sector.center, sector.radius + space) ||\n crossing.x > sector.center.x) {\n sr = sector.center.x - sector.radius - space;\n if (segment.options.labels.align !== COLUMN) {\n if (sr > middle.x) {\n connectorLine.lineTo(sr, start.y);\n } else {\n connectorLine.lineTo(start.x - space * 2, start.y);\n }\n } else {\n connectorLine.lineTo(sr, start.y);\n }\n connectorLine.lineTo(middle.x, end.y);\n } else {\n crossing.y = end.y;\n connectorLine.lineTo(crossing.x, crossing.y);\n }\n }\n\n connectorLine.lineTo(end.x, end.y);\n\n this$1._connectorLines.push(connectorLine);\n this$1.visual.append(connectorLine);\n }\n }\n }\n };\n\n PieChart.prototype.renderVisual = function renderVisual () {\n ChartElement.prototype.renderVisual.call(this);\n\n if (find(this.options.series, function (options) { return options.autoFit; })) {\n var targetBox = this.targetBox;\n var pieCenter = this.box.center();\n var bbox = this.visual.bbox();\n if (!bbox) {\n return;\n }\n\n var bboxBottom = bbox.bottomRight();\n\n var scale = Math.min(\n (pieCenter.y - targetBox.y1) / (pieCenter.y - bbox.origin.y),\n (targetBox.y2 - pieCenter.y) / (bboxBottom.y - pieCenter.y),\n (pieCenter.x - targetBox.x1) / (pieCenter.x - bbox.origin.x),\n (targetBox.x2 - pieCenter.x) / (bboxBottom.x - pieCenter.x)\n );\n\n if (scale < 1) {\n this.visual.transform(geometry.transform().scale(scale, scale, [ pieCenter.x, pieCenter.y ]));\n }\n }\n };\n\n PieChart.prototype.labelComparator = function labelComparator (reverse) {\n var reverseValue = reverse ? -1 : 1;\n\n return function(a, b) {\n var first = (a.parent.sector.middle() + 270) % 360;\n var second = (b.parent.sector.middle() + 270) % 360;\n return (first - second) * reverseValue;\n };\n };\n\n PieChart.prototype.hAlignLabel = function hAlignLabel (originalX, sector, y1, y2, direction) {\n var radius = sector.radius;\n var sector_center = sector.center;\n var cx = sector_center.x;\n var cy = sector_center.y;\n var t = Math.min(Math.abs(cy - y1), Math.abs(cy - y2));\n\n if (t > radius) {\n return originalX;\n }\n\n return cx + Math.sqrt((radius * radius) - (t * t)) * (direction ? 1 : -1);\n };\n\n PieChart.prototype.pointInCircle = function pointInCircle (point, center, radius) {\n return Math.pow(center.x - point.x, 2) + Math.pow(center.y - point.y, 2) < Math.pow(radius, 2);\n };\n\n PieChart.prototype.formatPointValue = function formatPointValue (point, format) {\n return this.chartService.format.auto(format, point.value);\n };\n\n PieChart.prototype.animationDelay = function animationDelay (categoryIndex) {\n return categoryIndex * PIE_SECTOR_ANIM_DELAY;\n };\n\n PieChart.prototype.stackRoot = function stackRoot () {\n return this;\n };\n\n return PieChart;\n}(ChartElement));\n\nfunction intersection(a1, a2, b1, b2) {\n var uat = (b2.x - b1.x) * (a1.y - b1.y) - (b2.y - b1.y) * (a1.x - b1.x);\n var ub = (b2.y - b1.y) * (a2.x - a1.x) - (b2.x - b1.x) * (a2.y - a1.y);\n\n var result;\n if (ub !== 0) {\n var ua = (uat / ub);\n\n result = new Point(\n a1.x + ua * (a2.x - a1.x),\n a1.y + ua * (a2.y - a1.y)\n );\n }\n\n return result;\n}\n\nsetDefaultOptions(PieChart, {\n startAngle: 90,\n connectors: {\n width: 2,\n color: \"#939393\",\n padding: 8\n },\n inactiveItems: {\n markers: {},\n labels: {}\n }\n});\n\ndeepExtend(PieChart.prototype, PieChartMixin);\n\nPieChart.prototype.isStackRoot = true;\n\nexport default PieChart;\n","import PlotAreaBase from './plotarea-base';\nimport PieChart from '../pie-chart/pie-chart';\n\nimport { append } from '../../common';\n\nvar PiePlotArea = (function (PlotAreaBase) {\n function PiePlotArea () {\n PlotAreaBase.apply(this, arguments);\n }\n\n if ( PlotAreaBase ) PiePlotArea.__proto__ = PlotAreaBase;\n PiePlotArea.prototype = Object.create( PlotAreaBase && PlotAreaBase.prototype );\n PiePlotArea.prototype.constructor = PiePlotArea;\n\n PiePlotArea.prototype.render = function render () {\n this.createPieChart(this.series);\n };\n\n PiePlotArea.prototype.createPieChart = function createPieChart (series) {\n var firstSeries = series[0];\n var pieChart = new PieChart(this, {\n series: series,\n padding: firstSeries.padding,\n startAngle: firstSeries.startAngle,\n connectors: firstSeries.connectors,\n legend: this.options.legend\n });\n\n this.appendChart(pieChart);\n };\n\n PiePlotArea.prototype.appendChart = function appendChart (chart, pane) {\n PlotAreaBase.prototype.appendChart.call(this, chart, pane);\n append(this.options.legend.items, chart.legendItems);\n };\n\n return PiePlotArea;\n}(PlotAreaBase));\n\nexport default PiePlotArea;","import PieSegment from '../pie-chart/pie-segment';\nimport PointEventsMixin from '../mixins/point-events-mixin';\n\nimport { PIE } from '../constants';\n\nimport { ShapeBuilder, Box } from '../../core';\n\nimport { CENTER } from '../../common/constants';\nimport { deepExtend, setDefaultOptions } from '../../common';\n\nvar DonutSegment = (function (PieSegment) {\n function DonutSegment () {\n PieSegment.apply(this, arguments);\n }\n\n if ( PieSegment ) DonutSegment.__proto__ = PieSegment;\n DonutSegment.prototype = Object.create( PieSegment && PieSegment.prototype );\n DonutSegment.prototype.constructor = DonutSegment;\n\n DonutSegment.prototype.reflowLabel = function reflowLabel () {\n var ref = this;\n var labelsOptions = ref.options.labels;\n var label = ref.label;\n var sector = this.sector.clone();\n var angle = sector.middle();\n\n if (label) {\n var labelHeight = label.box.height();\n if (labelsOptions.position === CENTER) {\n sector.radius -= (sector.radius - sector.innerRadius) / 2;\n\n var lp = sector.point(angle);\n\n label.reflow(new Box(lp.x, lp.y - labelHeight / 2, lp.x, lp.y));\n } else {\n PieSegment.prototype.reflowLabel.call(this);\n }\n }\n };\n\n DonutSegment.prototype.createSegment = function createSegment (sector, options) {\n return ShapeBuilder.current.createRing(sector, options);\n };\n\n return DonutSegment;\n}(PieSegment));\n\nsetDefaultOptions(DonutSegment, {\n overlay: {\n gradient: \"roundedGlass\"\n },\n labels: {\n position: CENTER\n },\n animation: {\n type: PIE\n }\n});\n\ndeepExtend(DonutSegment.prototype, PointEventsMixin);\n\n\nexport default DonutSegment;\n","import PieChart from '../pie-chart/pie-chart';\nimport DonutSegment from './donut-segment';\n\nimport { INITIAL_ANIMATION_DURATION } from '../constants';\n\nimport { deepExtend, defined, setDefaultOptions, valueOrDefault } from '../../common';\n\nvar DONUT_SECTOR_ANIM_DELAY = 50;\n\nvar DonutChart = (function (PieChart) {\n function DonutChart () {\n PieChart.apply(this, arguments);\n }\n\n if ( PieChart ) DonutChart.__proto__ = PieChart;\n DonutChart.prototype = Object.create( PieChart && PieChart.prototype );\n DonutChart.prototype.constructor = DonutChart;\n\n DonutChart.prototype.addValue = function addValue (value, sector, fields) {\n var segmentOptions = deepExtend({}, fields.series, { index: fields.index });\n this.evalSegmentOptions(segmentOptions, value, fields);\n\n this.createLegendItem(value, segmentOptions, fields);\n\n if (fields.visible === false) {\n return;\n }\n\n var segment = new DonutSegment(value, sector, segmentOptions);\n\n Object.assign(segment, fields);\n this.append(segment);\n this.points.push(segment);\n };\n\n DonutChart.prototype.reflow = function reflow (targetBox) {\n var this$1 = this;\n\n var options = this.options;\n var box = targetBox.clone();\n var space = 5;\n var minWidth = Math.min(box.width(), box.height());\n var halfMinWidth = minWidth / 2;\n var defaultPadding = minWidth - minWidth * 0.85;\n var series = options.series;\n var seriesCount = series.length;\n\n var padding = valueOrDefault(options.padding, defaultPadding);\n padding = padding > halfMinWidth - space ? halfMinWidth - space : padding;\n\n var totalSize = halfMinWidth - padding;\n var seriesWithoutSize = 0;\n var holeSize;\n\n for (var i = 0; i < seriesCount; i++) {\n var currentSeries = series[i];\n if (i === 0) {\n if (defined(currentSeries.holeSize)) {\n holeSize = currentSeries.holeSize;\n totalSize -= currentSeries.holeSize;\n }\n }\n\n if (defined(currentSeries.size)) {\n totalSize -= currentSeries.size;\n } else {\n seriesWithoutSize++;\n }\n\n if (defined(currentSeries.margin) && i !== seriesCount - 1) {\n totalSize -= currentSeries.margin;\n }\n }\n\n if (!defined(holeSize)) {\n var currentSize = (halfMinWidth - padding) / (seriesCount + 0.75);\n holeSize = currentSize * 0.75;\n totalSize -= holeSize;\n }\n\n var innerRadius = holeSize;\n var margin = 0;\n var size, radius;\n\n this.seriesConfigs = [];\n\n for (var i$1 = 0; i$1 < seriesCount; i$1++) {\n var currentSeries$1 = series[i$1];\n size = valueOrDefault(currentSeries$1.size, totalSize / seriesWithoutSize);\n innerRadius += margin;\n radius = innerRadius + size;\n this$1.seriesConfigs.push({ innerRadius: innerRadius, radius: radius });\n margin = currentSeries$1.margin || 0;\n innerRadius = radius;\n }\n\n PieChart.prototype.reflow.call(this, targetBox);\n };\n\n DonutChart.prototype.animationDelay = function animationDelay (categoryIndex, seriesIndex, seriesCount) {\n return categoryIndex * DONUT_SECTOR_ANIM_DELAY +\n (INITIAL_ANIMATION_DURATION * (seriesIndex + 1) / (seriesCount + 1));\n };\n\n return DonutChart;\n}(PieChart));\n\n\nsetDefaultOptions(DonutChart, {\n startAngle: 90,\n connectors: {\n width: 2,\n color: \"#939393\",\n padding: 8\n }\n});\n\nexport default DonutChart;\n","import PiePlotArea from './pie-plotarea';\nimport DonutChart from '../donut-chart/donut-chart';\n\nvar DonutPlotArea = (function (PiePlotArea) {\n function DonutPlotArea () {\n PiePlotArea.apply(this, arguments);\n }\n\n if ( PiePlotArea ) DonutPlotArea.__proto__ = PiePlotArea;\n DonutPlotArea.prototype = Object.create( PiePlotArea && PiePlotArea.prototype );\n DonutPlotArea.prototype.constructor = DonutPlotArea;\n\n DonutPlotArea.prototype.render = function render () {\n this.createDonutChart(this.series);\n };\n\n DonutPlotArea.prototype.createDonutChart = function createDonutChart (series) {\n var firstSeries = series[0];\n var donutChart = new DonutChart(this, {\n series: series,\n padding: firstSeries.padding,\n connectors: firstSeries.connectors,\n legend: this.options.legend\n });\n\n this.appendChart(donutChart);\n };\n\n return DonutPlotArea;\n}(PiePlotArea));\n\nexport default DonutPlotArea;","import PlotAreaBase from './plotarea-base';\nimport AxisGroupRangeTracker from '../axis-group-range-tracker';\nimport { RadarLogarithmicAxis, RadarNumericAxis } from '../../core';\n\nimport { LOGARITHMIC } from '../constants';\n\nimport { getSpacing } from '../../common';\nimport { Y, CENTER } from '../../common/constants';\n\nvar DEFAULT_PADDING = 0.15;\n\nvar PolarPlotAreaBase = (function (PlotAreaBase) {\n function PolarPlotAreaBase () {\n PlotAreaBase.apply(this, arguments);\n }\n\n if ( PlotAreaBase ) PolarPlotAreaBase.__proto__ = PlotAreaBase;\n PolarPlotAreaBase.prototype = Object.create( PlotAreaBase && PlotAreaBase.prototype );\n PolarPlotAreaBase.prototype.constructor = PolarPlotAreaBase;\n\n PolarPlotAreaBase.prototype.initFields = function initFields () {\n this.valueAxisRangeTracker = new AxisGroupRangeTracker();\n };\n\n PolarPlotAreaBase.prototype.render = function render () {\n this.addToLegend(this.series);\n this.createPolarAxis();\n this.createCharts();\n this.createValueAxis();\n };\n\n PolarPlotAreaBase.prototype.alignAxes = function alignAxes () {\n var axis = this.valueAxis;\n var range = axis.range();\n var crossingValue = axis.options.reverse ? range.max : range.min;\n var slot = axis.getSlot(crossingValue);\n var center = this.polarAxis.getSlot(0).center;\n var axisBox = axis.box.translate(\n center.x - slot.x1,\n center.y - slot.y1\n );\n\n axis.reflow(axisBox);\n };\n\n PolarPlotAreaBase.prototype.createValueAxis = function createValueAxis () {\n var tracker = this.valueAxisRangeTracker;\n var defaultRange = tracker.query();\n var axisOptions = this.valueAxisOptions({\n roundToMajorUnit: false,\n zIndex: -1\n });\n var axisType, axisDefaultRange;\n\n if (axisOptions.type === LOGARITHMIC) {\n axisType = RadarLogarithmicAxis;\n axisDefaultRange = { min: 0.1, max: 1 };\n } else {\n axisType = RadarNumericAxis;\n axisDefaultRange = { min: 0, max: 1 };\n }\n\n var range = tracker.query(name) || defaultRange || axisDefaultRange;\n\n if (range && defaultRange) {\n range.min = Math.min(range.min, defaultRange.min);\n range.max = Math.max(range.max, defaultRange.max);\n }\n\n var valueAxis = new axisType(\n range.min, range.max,\n axisOptions,\n this.chartService\n );\n\n this.valueAxis = valueAxis;\n this.appendAxis(valueAxis);\n };\n\n PolarPlotAreaBase.prototype.reflowAxes = function reflowAxes () {\n var ref = this;\n var options = ref.options.plotArea;\n var valueAxis = ref.valueAxis;\n var polarAxis = ref.polarAxis;\n var box = ref.box;\n var defaultPadding = Math.min(box.width(), box.height()) * DEFAULT_PADDING;\n var padding = getSpacing(options.padding || {}, defaultPadding);\n var paddingBox = box.clone().unpad(padding);\n var axisBox = paddingBox.clone();\n\n axisBox.y2 = axisBox.y1 + Math.min(axisBox.width(), axisBox.height());\n axisBox.align(paddingBox, Y, CENTER);\n\n var valueAxisBox = axisBox.clone().shrink(0, axisBox.height() / 2);\n\n polarAxis.reflow(axisBox);\n valueAxis.reflow(valueAxisBox);\n var heightDiff = valueAxis.lineBox().height() - valueAxis.box.height();\n valueAxis.reflow(valueAxis.box.unpad({ top: heightDiff }));\n\n this.axisBox = axisBox;\n this.alignAxes(axisBox);\n };\n\n PolarPlotAreaBase.prototype.backgroundBox = function backgroundBox () {\n return this.box;\n };\n\n PolarPlotAreaBase.prototype.detachLabels = function detachLabels () {};\n\n return PolarPlotAreaBase;\n}(PlotAreaBase));\n\nexport default PolarPlotAreaBase;\n","import ScatterChart from '../scatter-charts/scatter-chart';\n\nimport { Point, Box } from '../../core';\n\nimport { setDefaultOptions } from '../../common';\n\nvar PolarScatterChart = (function (ScatterChart) {\n function PolarScatterChart () {\n ScatterChart.apply(this, arguments);\n }\n\n if ( ScatterChart ) PolarScatterChart.__proto__ = ScatterChart;\n PolarScatterChart.prototype = Object.create( ScatterChart && ScatterChart.prototype );\n PolarScatterChart.prototype.constructor = PolarScatterChart;\n\n PolarScatterChart.prototype.pointSlot = function pointSlot (slotX, slotY) {\n var valueRadius = slotX.center.y - slotY.y1;\n var slot = Point.onCircle(slotX.center, slotX.startAngle, valueRadius);\n\n return new Box(slot.x, slot.y, slot.x, slot.y);\n };\n\n return PolarScatterChart;\n}(ScatterChart));\n\nsetDefaultOptions(PolarScatterChart, {\n clip: false\n});\n\nexport default PolarScatterChart;","import ScatterLineChart from '../scatter-charts/scatter-line-chart';\nimport PolarScatterChart from '../polar-scatter-chart/polar-scatter-chart';\n\nimport { setDefaultOptions } from '../../common';\n\nvar PolarLineChart = (function (ScatterLineChart) {\n function PolarLineChart () {\n ScatterLineChart.apply(this, arguments);\n }if ( ScatterLineChart ) PolarLineChart.__proto__ = ScatterLineChart;\n PolarLineChart.prototype = Object.create( ScatterLineChart && ScatterLineChart.prototype );\n PolarLineChart.prototype.constructor = PolarLineChart;\n\n \n\n return PolarLineChart;\n}(ScatterLineChart));\n\nPolarLineChart.prototype.pointSlot = PolarScatterChart.prototype.pointSlot;\n\nsetDefaultOptions(PolarLineChart, {\n clip: false\n});\n\nexport default PolarLineChart;","import SplineAreaSegment from '../area-chart/spline-area-segment';\nimport { CurveProcessor } from '../../core';\n\nvar SplinePolarAreaSegment = (function (SplineAreaSegment) {\n function SplinePolarAreaSegment () {\n SplineAreaSegment.apply(this, arguments);\n }\n\n if ( SplineAreaSegment ) SplinePolarAreaSegment.__proto__ = SplineAreaSegment;\n SplinePolarAreaSegment.prototype = Object.create( SplineAreaSegment && SplineAreaSegment.prototype );\n SplinePolarAreaSegment.prototype.constructor = SplinePolarAreaSegment;\n\n SplinePolarAreaSegment.prototype.fillToAxes = function fillToAxes (fillPath) {\n var center = this._polarAxisCenter();\n fillPath.lineTo(center.x, center.y);\n };\n\n SplinePolarAreaSegment.prototype._polarAxisCenter = function _polarAxisCenter () {\n var polarAxis = this.parent.plotArea.polarAxis;\n var center = polarAxis.box.center();\n return center;\n };\n\n SplinePolarAreaSegment.prototype.strokeSegments = function strokeSegments () {\n var segments = this._strokeSegments;\n\n if (!segments) {\n var center = this._polarAxisCenter();\n var curveProcessor = new CurveProcessor(false);\n var linePoints = this.points();\n\n linePoints.push(center);\n segments = this._strokeSegments = curveProcessor.process(linePoints);\n segments.pop();\n }\n\n return segments;\n };\n\n return SplinePolarAreaSegment;\n}(SplineAreaSegment));\n\nexport default SplinePolarAreaSegment;","import { geometry as geom } from '@progress/kendo-drawing';\nimport AreaSegment from '../area-chart/area-segment';\n\nvar PolarAreaSegment = (function (AreaSegment) {\n function PolarAreaSegment () {\n AreaSegment.apply(this, arguments);\n }\n\n if ( AreaSegment ) PolarAreaSegment.__proto__ = AreaSegment;\n PolarAreaSegment.prototype = Object.create( AreaSegment && AreaSegment.prototype );\n PolarAreaSegment.prototype.constructor = PolarAreaSegment;\n\n PolarAreaSegment.prototype.fillToAxes = function fillToAxes (fillPath) {\n var polarAxis = this.parent.plotArea.polarAxis;\n var center = polarAxis.box.center();\n var centerSegment = new geom.Segment([ center.x, center.y ]);\n\n fillPath.segments.unshift(centerSegment);\n fillPath.segments.push(centerSegment);\n };\n\n return PolarAreaSegment;\n}(AreaSegment));\n\nexport default PolarAreaSegment;","import PolarLineChart from '../polar-line-chart/polar-line-chart';\nimport SplinePolarAreaSegment from './spline-polar-area-segment';\nimport PolarAreaSegment from './polar-area-segment';\n\nimport { SMOOTH, INTERPOLATE, ZERO, GAP } from '../constants';\n\nimport hasValue from '../utils/has-value';\n\nvar PolarAreaChart = (function (PolarLineChart) {\n function PolarAreaChart () {\n PolarLineChart.apply(this, arguments);\n }\n\n if ( PolarLineChart ) PolarAreaChart.__proto__ = PolarLineChart;\n PolarAreaChart.prototype = Object.create( PolarLineChart && PolarLineChart.prototype );\n PolarAreaChart.prototype.constructor = PolarAreaChart;\n\n PolarAreaChart.prototype.createSegment = function createSegment (linePoints, currentSeries, seriesIx) {\n var style = (currentSeries.line || {}).style;\n var segment;\n\n if (style === SMOOTH) {\n segment = new SplinePolarAreaSegment(linePoints, currentSeries, seriesIx);\n } else {\n segment = new PolarAreaSegment(linePoints, currentSeries, seriesIx);\n }\n return segment;\n };\n\n PolarAreaChart.prototype.createMissingValue = function createMissingValue (value, missingValues) {\n var missingValue;\n\n if (hasValue(value.x) && missingValues !== INTERPOLATE) {\n missingValue = {\n x: value.x,\n y: value.y\n };\n if (missingValues === ZERO) {\n missingValue.y = 0;\n }\n }\n\n return missingValue;\n };\n\n PolarAreaChart.prototype.seriesMissingValues = function seriesMissingValues (series) {\n return series.missingValues || ZERO;\n };\n\n PolarAreaChart.prototype._hasMissingValuesGap = function _hasMissingValuesGap () {\n var this$1 = this;\n\n var series = this.options.series;\n\n for (var idx = 0; idx < series.length; idx++) {\n if (this$1.seriesMissingValues(series[idx]) === GAP) {\n return true;\n }\n }\n };\n\n PolarAreaChart.prototype.sortPoints = function sortPoints (points) {\n var this$1 = this;\n\n points.sort(xComparer);\n\n if (this._hasMissingValuesGap()) {\n for (var idx = 0; idx < points.length; idx++) {\n var point = points[idx];\n if (point) {\n var value = point.value;\n if (!hasValue(value.y) && this$1.seriesMissingValues(point.series) === GAP) {\n delete points[idx];\n }\n }\n }\n }\n\n return points;\n };\n\n return PolarAreaChart;\n}(PolarLineChart));\n\nfunction xComparer(a, b) {\n return a.value.x - b.value.x;\n}\n\nexport default PolarAreaChart;","import PolarPlotAreaBase from './polar-plotarea-base';\nimport PlotAreaBase from './plotarea-base';\nimport PolarLineChart from '../polar-line-chart/polar-line-chart';\nimport PolarScatterChart from '../polar-scatter-chart/polar-scatter-chart';\nimport PolarAreaChart from '../polar-area-chart/polar-area-chart';\nimport PlotAreaEventsMixin from '../mixins/plotarea-events-mixin';\n\nimport { PolarAxis, Point } from '../../core';\n\nimport { POLAR_AREA, POLAR_LINE, POLAR_SCATTER } from '../constants';\n\nimport filterSeriesByType from '../utils/filter-series-by-type';\n\nimport { ARC } from '../../common/constants';\nimport { deepExtend, eventElement, setDefaultOptions } from '../../common';\n\nvar PolarPlotArea = (function (PolarPlotAreaBase) {\n function PolarPlotArea () {\n PolarPlotAreaBase.apply(this, arguments);\n }\n\n if ( PolarPlotAreaBase ) PolarPlotArea.__proto__ = PolarPlotAreaBase;\n PolarPlotArea.prototype = Object.create( PolarPlotAreaBase && PolarPlotAreaBase.prototype );\n PolarPlotArea.prototype.constructor = PolarPlotArea;\n\n PolarPlotArea.prototype.createPolarAxis = function createPolarAxis () {\n var polarAxis = new PolarAxis(this.options.xAxis, this.chartService);\n\n this.polarAxis = polarAxis;\n this.axisX = polarAxis;\n this.appendAxis(polarAxis);\n };\n\n PolarPlotArea.prototype.valueAxisOptions = function valueAxisOptions (defaults) {\n return deepExtend(defaults, {\n majorGridLines: { type: ARC },\n minorGridLines: { type: ARC }\n }, this.options.yAxis);\n };\n\n PolarPlotArea.prototype.createValueAxis = function createValueAxis () {\n PolarPlotAreaBase.prototype.createValueAxis.call(this);\n this.axisY = this.valueAxis;\n };\n\n PolarPlotArea.prototype.appendChart = function appendChart (chart, pane) {\n this.valueAxisRangeTracker.update(chart.yAxisRanges);\n\n PlotAreaBase.prototype.appendChart.call(this, chart, pane);\n };\n\n PolarPlotArea.prototype.createCharts = function createCharts () {\n var series = this.filterVisibleSeries(this.series);\n var pane = this.panes[0];\n\n this.createLineChart(\n filterSeriesByType(series, [ POLAR_LINE ]),\n pane\n );\n\n this.createScatterChart(\n filterSeriesByType(series, [ POLAR_SCATTER ]),\n pane\n );\n\n this.createAreaChart(\n filterSeriesByType(series, [ POLAR_AREA ]),\n pane\n );\n };\n\n PolarPlotArea.prototype.createLineChart = function createLineChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var lineChart = new PolarLineChart(this, { series: series });\n\n this.appendChart(lineChart, pane);\n };\n\n PolarPlotArea.prototype.createScatterChart = function createScatterChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var scatterChart = new PolarScatterChart(this, { series: series });\n\n this.appendChart(scatterChart, pane);\n };\n\n PolarPlotArea.prototype.createAreaChart = function createAreaChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var areaChart = new PolarAreaChart(this, { series: series });\n\n this.appendChart(areaChart, pane);\n };\n\n PolarPlotArea.prototype._dispatchEvent = function _dispatchEvent (chart, e, eventType) {\n var coords = chart._eventCoordinates(e);\n var point = new Point(coords.x, coords.y);\n var xValue = this.axisX.getValue(point);\n var yValue = this.axisY.getValue(point);\n\n if (xValue !== null && yValue !== null) {\n chart.trigger(eventType, {\n element: eventElement(e),\n x: xValue,\n y: yValue\n });\n }\n };\n\n PolarPlotArea.prototype.createCrosshairs = function createCrosshairs () {};\n\n return PolarPlotArea;\n}(PolarPlotAreaBase));\n\nsetDefaultOptions(PolarPlotArea, {\n xAxis: {},\n yAxis: {}\n});\n\ndeepExtend(PolarPlotArea.prototype, PlotAreaEventsMixin);\n\nexport default PolarPlotArea;","import LineChart from '../line-chart/line-chart';\nimport SplineSegment from '../line-chart/spline-segment';\nimport LineSegment from '../line-chart/line-segment';\n\nimport { Point, Box } from '../../core';\n\nimport { SMOOTH, INTERPOLATE } from '../constants';\n\nimport { setDefaultOptions, last } from '../../common';\n\nfunction groupBySeriesIx(segments) {\n var seriesSegments = [];\n for (var idx = 0; idx < segments.length; idx++) {\n var segment = segments[idx];\n seriesSegments[segment.seriesIx] = seriesSegments[segment.seriesIx] || [];\n seriesSegments[segment.seriesIx].push(segment);\n }\n\n return seriesSegments;\n}\n\nvar RadarLineChart = (function (LineChart) {\n function RadarLineChart () {\n LineChart.apply(this, arguments);\n }\n\n if ( LineChart ) RadarLineChart.__proto__ = LineChart;\n RadarLineChart.prototype = Object.create( LineChart && LineChart.prototype );\n RadarLineChart.prototype.constructor = RadarLineChart;\n\n RadarLineChart.prototype.pointSlot = function pointSlot (categorySlot, valueSlot) {\n var valueRadius = categorySlot.center.y - valueSlot.y1;\n var slot = Point.onCircle(categorySlot.center, categorySlot.middle(), valueRadius);\n\n return new Box(slot.x, slot.y, slot.x, slot.y);\n };\n\n RadarLineChart.prototype.renderSegments = function renderSegments () {\n LineChart.prototype.renderSegments.call(this);\n\n if (this._segments && this._segments.length > 1) {\n var seriesSegments = groupBySeriesIx(this._segments);\n\n for (var idx = 0; idx < seriesSegments.length; idx++) {\n var segments = seriesSegments[idx];\n if (segments && segments.length > 1) {\n var firstPoint = segments[0].linePoints[0];\n var lastSegment = last(segments);\n var lastPoint = last(lastSegment.linePoints);\n var isFirstDataPoint = firstPoint.categoryIx === 0;\n var isLastDataPoint = lastPoint.categoryIx === lastPoint.categoriesCount - 1;\n if (isFirstDataPoint && isLastDataPoint) {\n last(segments).linePoints.push(firstPoint);\n }\n }\n }\n }\n };\n\n RadarLineChart.prototype.createSegment = function createSegment (linePoints, currentSeries, seriesIx) {\n var style = currentSeries.style;\n var pointType;\n\n if (style === SMOOTH) {\n pointType = SplineSegment;\n } else {\n pointType = LineSegment;\n }\n\n var segment = new pointType(linePoints, currentSeries, seriesIx);\n var missingValues = this.seriesMissingValues(currentSeries);\n\n if (linePoints.length === currentSeries.data.length || missingValues === INTERPOLATE) {\n segment.options.closed = true;\n }\n\n return segment;\n };\n\n return RadarLineChart;\n}(LineChart));\n\nsetDefaultOptions(RadarLineChart, {\n clip: false,\n limitPoints: false\n});\n\nexport default RadarLineChart;\n","import SplineAreaSegment from '../area-chart/spline-area-segment';\n\nvar SplineRadarAreaSegment = (function (SplineAreaSegment) {\n function SplineRadarAreaSegment () {\n SplineAreaSegment.apply(this, arguments);\n }\n\n if ( SplineAreaSegment ) SplineRadarAreaSegment.__proto__ = SplineAreaSegment;\n SplineRadarAreaSegment.prototype = Object.create( SplineAreaSegment && SplineAreaSegment.prototype );\n SplineRadarAreaSegment.prototype.constructor = SplineRadarAreaSegment;\n\n SplineRadarAreaSegment.prototype.fillToAxes = function fillToAxes () {};\n\n return SplineRadarAreaSegment;\n}(SplineAreaSegment));\n\nexport default SplineRadarAreaSegment;","import AreaSegment from '../area-chart/area-segment';\n\nvar RadarAreaSegment = (function (AreaSegment) {\n function RadarAreaSegment () {\n AreaSegment.apply(this, arguments);\n }\n\n if ( AreaSegment ) RadarAreaSegment.__proto__ = AreaSegment;\n RadarAreaSegment.prototype = Object.create( AreaSegment && AreaSegment.prototype );\n RadarAreaSegment.prototype.constructor = RadarAreaSegment;\n\n RadarAreaSegment.prototype.fillToAxes = function fillToAxes () {};\n\n return RadarAreaSegment;\n}(AreaSegment));\n\nexport default RadarAreaSegment;","import RadarLineChart from '../radar-line-chart/radar-line-chart';\nimport SplineRadarAreaSegment from './spline-radar-area-segment';\nimport RadarAreaSegment from './radar-area-segment';\n\nimport { SMOOTH, ZERO } from '../constants';\n\nvar RadarAreaChart = (function (RadarLineChart) {\n function RadarAreaChart () {\n RadarLineChart.apply(this, arguments);\n }\n\n if ( RadarLineChart ) RadarAreaChart.__proto__ = RadarLineChart;\n RadarAreaChart.prototype = Object.create( RadarLineChart && RadarLineChart.prototype );\n RadarAreaChart.prototype.constructor = RadarAreaChart;\n\n RadarAreaChart.prototype.createSegment = function createSegment (linePoints, currentSeries, seriesIx, prevSegment) {\n var isStacked = this.options.isStacked;\n var style = (currentSeries.line || {}).style;\n var previousSegment;\n var stackPoints;\n var segment;\n\n if (isStacked && seriesIx > 0 && prevSegment) {\n stackPoints = prevSegment.linePoints.slice(0);\n previousSegment = prevSegment;\n }\n\n if (style === SMOOTH) {\n segment = new SplineRadarAreaSegment(linePoints, currentSeries, seriesIx, previousSegment, stackPoints);\n segment.options.closed = true;\n } else {\n linePoints.push(linePoints[0]);\n segment = new RadarAreaSegment(linePoints, currentSeries, seriesIx, previousSegment, stackPoints);\n }\n\n return segment;\n };\n\n RadarAreaChart.prototype.seriesMissingValues = function seriesMissingValues (series) {\n return series.missingValues || ZERO;\n };\n\n return RadarAreaChart;\n}(RadarLineChart));\n\nexport default RadarAreaChart;","import DonutSegment from '../donut-chart/donut-segment';\n\nimport { setDefaultOptions } from '../../common';\n\nvar RadarSegment = (function (DonutSegment) {\n function RadarSegment(value, options) {\n DonutSegment.call(this, value, null, options);\n }\n\n if ( DonutSegment ) RadarSegment.__proto__ = DonutSegment;\n RadarSegment.prototype = Object.create( DonutSegment && DonutSegment.prototype );\n RadarSegment.prototype.constructor = RadarSegment;\n\n return RadarSegment;\n}(DonutSegment));\n\nsetDefaultOptions(RadarSegment, {\n overlay: {\n gradient: \"none\"\n },\n labels: {\n distance: 10\n }\n});\n\nexport default RadarSegment;","import { ChartElement } from '../../core';\n\nimport { setDefaultOptions } from '../../common';\n\nimport { forEach, forEachReverse } from './utils';\n\nvar RadarClusterLayout = (function (ChartElement) {\n function RadarClusterLayout(options) {\n ChartElement.call(this, options);\n\n this.forEach = options.rtl ? forEachReverse : forEach;\n }\n\n if ( ChartElement ) RadarClusterLayout.__proto__ = ChartElement;\n RadarClusterLayout.prototype = Object.create( ChartElement && ChartElement.prototype );\n RadarClusterLayout.prototype.constructor = RadarClusterLayout;\n\n RadarClusterLayout.prototype.reflow = function reflow (sector) {\n var ref = this;\n var options = ref.options;\n var children = ref.children;\n var gap = options.gap;\n var spacing = options.spacing;\n var count = children.length;\n var slots = count + gap + (spacing * (count - 1));\n var slotAngle = sector.angle / slots;\n var angle = sector.startAngle + slotAngle * (gap / 2);\n\n this.forEach(children, function (child) {\n var slotSector = sector.clone();\n slotSector.startAngle = angle;\n slotSector.angle = slotAngle;\n\n if (child.sector) {\n slotSector.radius = child.sector.radius;\n }\n\n child.reflow(slotSector);\n child.sector = slotSector;\n\n angle += slotAngle + (slotAngle * spacing);\n });\n };\n\n return RadarClusterLayout;\n}(ChartElement));\n\nsetDefaultOptions(RadarClusterLayout, {\n gap: 1,\n spacing: 0\n});\n\nexport default RadarClusterLayout;","import { ChartElement, Box } from '../../core';\n\nvar RadarStackLayout = (function (ChartElement) {\n function RadarStackLayout () {\n ChartElement.apply(this, arguments);\n }\n\n if ( ChartElement ) RadarStackLayout.__proto__ = ChartElement;\n RadarStackLayout.prototype = Object.create( ChartElement && ChartElement.prototype );\n RadarStackLayout.prototype.constructor = RadarStackLayout;\n\n RadarStackLayout.prototype.reflow = function reflow (sector) {\n var ref = this;\n var reverse = ref.options.reverse;\n var children = ref.children;\n var childrenCount = children.length;\n var first = reverse ? childrenCount - 1 : 0;\n var step = reverse ? -1 : 1;\n\n this.box = new Box();\n\n for (var i = first; i >= 0 && i < childrenCount; i += step) {\n var childSector = children[i].sector;\n childSector.startAngle = sector.startAngle;\n childSector.angle = sector.angle;\n }\n };\n\n return RadarStackLayout;\n}(ChartElement));\n\nexport default RadarStackLayout;","import BarChart from '../bar-chart/bar-chart';\nimport RadarSegment from './radar-segment';\nimport RadarClusterLayout from '../layout/radar-cluster-layout';\nimport RadarStackLayout from '../layout/radar-stack-layout';\nimport CategoricalChart from '../categorical-chart';\n\nimport { setDefaultOptions } from '../../common';\n\nvar RadarBarChart = (function (BarChart) {\n function RadarBarChart () {\n BarChart.apply(this, arguments);\n }\n\n if ( BarChart ) RadarBarChart.__proto__ = BarChart;\n RadarBarChart.prototype = Object.create( BarChart && BarChart.prototype );\n RadarBarChart.prototype.constructor = RadarBarChart;\n\n RadarBarChart.prototype.pointType = function pointType () {\n return RadarSegment;\n };\n\n RadarBarChart.prototype.clusterType = function clusterType () {\n return RadarClusterLayout;\n };\n\n RadarBarChart.prototype.stackType = function stackType () {\n return RadarStackLayout;\n };\n\n RadarBarChart.prototype.categorySlot = function categorySlot (categoryAxis, categoryIx) {\n return categoryAxis.getSlot(categoryIx);\n };\n\n RadarBarChart.prototype.pointSlot = function pointSlot (categorySlot, valueSlot) {\n var slot = categorySlot.clone();\n var y = categorySlot.center.y;\n\n slot.radius = y - valueSlot.y1;\n slot.innerRadius = y - valueSlot.y2;\n\n return slot;\n };\n\n RadarBarChart.prototype.reflowPoint = function reflowPoint (point, pointSlot) {\n point.sector = pointSlot;\n point.reflow();\n };\n\n RadarBarChart.prototype.createAnimation = function createAnimation () {\n this.options.animation.center = this.box.toRect().center();\n BarChart.prototype.createAnimation.call(this);\n };\n\n return RadarBarChart;\n}(BarChart));\n\nRadarBarChart.prototype.reflow = CategoricalChart.prototype.reflow;\n\nsetDefaultOptions(RadarBarChart, {\n clip: false,\n limitPoints: false,\n animation: {\n type: \"pie\"\n }\n});\n\nexport default RadarBarChart;","import PolarPlotAreaBase from './polar-plotarea-base';\nimport CategoricalPlotArea from './categorical-plotarea';\nimport RadarAreaChart from '../radar-area-chart/radar-area-chart';\nimport RadarLineChart from '../radar-line-chart/radar-line-chart';\nimport RadarBarChart from '../radar-bar-chart/radar-bar-chart';\nimport PlotAreaEventsMixin from '../mixins/plotarea-events-mixin';\n\nimport { RadarCategoryAxis, Point } from '../../core';\n\nimport { RADAR_AREA, RADAR_LINE, RADAR_COLUMN } from '../constants';\n\nimport filterSeriesByType from '../utils/filter-series-by-type';\n\nimport { ARC } from '../../common/constants';\nimport { eventElement, deepExtend, setDefaultOptions } from '../../common';\n\nvar RadarPlotArea = (function (PolarPlotAreaBase) {\n function RadarPlotArea () {\n PolarPlotAreaBase.apply(this, arguments);\n }\n\n if ( PolarPlotAreaBase ) RadarPlotArea.__proto__ = PolarPlotAreaBase;\n RadarPlotArea.prototype = Object.create( PolarPlotAreaBase && PolarPlotAreaBase.prototype );\n RadarPlotArea.prototype.constructor = RadarPlotArea;\n\n RadarPlotArea.prototype.createPolarAxis = function createPolarAxis () {\n var categoryAxis = new RadarCategoryAxis(this.options.categoryAxis, this.chartService);\n\n this.polarAxis = categoryAxis;\n this.categoryAxis = categoryAxis;\n this.appendAxis(categoryAxis);\n this.aggregateCategories();\n this.createCategoryAxesLabels();\n };\n\n RadarPlotArea.prototype.valueAxisOptions = function valueAxisOptions (defaults) {\n if (this._hasBarCharts) {\n deepExtend(defaults, {\n majorGridLines: { type: ARC },\n minorGridLines: { type: ARC }\n });\n }\n\n if (this._isStacked100) {\n deepExtend(defaults, {\n roundToMajorUnit: false,\n labels: { format: \"P0\" }\n });\n }\n\n return deepExtend(defaults, this.options.valueAxis);\n };\n\n RadarPlotArea.prototype.aggregateCategories = function aggregateCategories () {\n // No separate panes in radar charts\n CategoricalPlotArea.prototype.aggregateCategories.call(this, this.panes);\n };\n\n RadarPlotArea.prototype.createCategoryAxesLabels = function createCategoryAxesLabels () {\n CategoricalPlotArea.prototype.createCategoryAxesLabels.call(this, this.panes);\n };\n\n RadarPlotArea.prototype.filterSeries = function filterSeries (currentSeries) {\n // Not supported for radar charts\n return currentSeries;\n };\n\n RadarPlotArea.prototype.createCharts = function createCharts () {\n var series = this.filterVisibleSeries(this.series);\n var pane = this.panes[0];\n\n this.createAreaChart(\n filterSeriesByType(series, [ RADAR_AREA ]),\n pane\n );\n\n this.createLineChart(\n filterSeriesByType(series, [ RADAR_LINE ]),\n pane\n );\n\n this.createBarChart(\n filterSeriesByType(series, [ RADAR_COLUMN ]),\n pane\n );\n };\n\n RadarPlotArea.prototype.chartOptions = function chartOptions (series) {\n var options = { series: series };\n var firstSeries = series[0];\n if (firstSeries) {\n var filteredSeries = this.filterVisibleSeries(series);\n var stack = firstSeries.stack;\n options.isStacked = stack && filteredSeries.length > 1;\n options.isStacked100 = stack && stack.type === \"100%\" && filteredSeries.length > 1;\n\n if (options.isStacked100) {\n this._isStacked100 = true;\n }\n }\n\n return options;\n };\n\n RadarPlotArea.prototype.createAreaChart = function createAreaChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var areaChart = new RadarAreaChart(this, this.chartOptions(series));\n this.appendChart(areaChart, pane);\n };\n\n RadarPlotArea.prototype.createLineChart = function createLineChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var lineChart = new RadarLineChart(this, this.chartOptions(series));\n this.appendChart(lineChart, pane);\n };\n\n RadarPlotArea.prototype.createBarChart = function createBarChart (series, pane) {\n if (series.length === 0) {\n return;\n }\n\n var firstSeries = series[0];\n var options = this.chartOptions(series);\n options.gap = firstSeries.gap;\n options.spacing = firstSeries.spacing;\n\n var barChart = new RadarBarChart(this, options);\n this.appendChart(barChart, pane);\n\n this._hasBarCharts = true;\n };\n\n RadarPlotArea.prototype.seriesCategoryAxis = function seriesCategoryAxis () {\n return this.categoryAxis;\n };\n\n RadarPlotArea.prototype._dispatchEvent = function _dispatchEvent (chart, e, eventType) {\n var coords = chart._eventCoordinates(e);\n var point = new Point(coords.x, coords.y);\n var category = this.categoryAxis.getCategory(point);\n var value = this.valueAxis.getValue(point);\n\n if (category !== null && value !== null) {\n chart.trigger(eventType, {\n element: eventElement(e),\n category: category,\n value: value\n });\n }\n };\n\n RadarPlotArea.prototype.createCrosshairs = function createCrosshairs () {};\n\n return RadarPlotArea;\n}(PolarPlotAreaBase));\n\ndeepExtend(RadarPlotArea.prototype, PlotAreaEventsMixin, {\n appendChart: CategoricalPlotArea.prototype.appendChart,\n aggregateSeries: CategoricalPlotArea.prototype.aggregateSeries,\n seriesSourcePoints: CategoricalPlotArea.prototype.seriesSourcePoints\n});\n\nsetDefaultOptions(RadarPlotArea, {\n categoryAxis: {\n categories: []\n },\n valueAxis: {}\n});\n\nexport default RadarPlotArea;","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { ChartElement, Box, Point } from '../../core';\nimport PointEventsMixin from '../mixins/point-events-mixin';\n\nimport { WHITE } from '../../common/constants';\nimport { deepExtend, setDefaultOptions } from '../../common';\n\nvar FunnelSegment = (function (ChartElement) {\n function FunnelSegment(value, options, segmentOptions) {\n ChartElement.call(this, options);\n\n this.value = value;\n this.options.index = segmentOptions.index;\n }\n\n if ( ChartElement ) FunnelSegment.__proto__ = ChartElement;\n FunnelSegment.prototype = Object.create( ChartElement && ChartElement.prototype );\n FunnelSegment.prototype.constructor = FunnelSegment;\n\n FunnelSegment.prototype.reflow = function reflow (chartBox) {\n var points = this.points;\n var label = this.children[0];\n\n this.box = new Box(points[0].x, points[0].y, points[1].x, points[2].y);\n\n if (label) {\n label.reflow(new Box(chartBox.x1, points[0].y, chartBox.x2, points[2].y));\n }\n };\n\n FunnelSegment.prototype.createVisual = function createVisual () {\n var this$1 = this;\n\n var options = this.options;\n var visual;\n\n ChartElement.prototype.createVisual.call(this);\n\n if (options.visual) {\n visual = options.visual({\n category: this.category,\n dataItem: this.dataItem,\n value: this.value,\n series: this.series,\n percentage: this.percentage,\n points: this.points,\n options: options,\n sender: this.getSender(),\n createVisual: function () { return this$1.createPath(); }\n });\n } else {\n visual = this.createPath();\n }\n\n if (visual) {\n this.visual.append(visual);\n }\n };\n\n FunnelSegment.prototype.createPath = function createPath () {\n var options = this.options;\n var border = options.border;\n var path = draw.Path.fromPoints(this.points, {\n fill: {\n color: options.color,\n opacity: options.opacity\n },\n stroke: {\n color: border.color,\n opacity: border.opacity,\n width: border.width\n }\n }).close();\n\n return path;\n };\n\n FunnelSegment.prototype.createHighlight = function createHighlight (style) {\n return draw.Path.fromPoints(this.points, style);\n };\n\n FunnelSegment.prototype.highlightVisual = function highlightVisual () {\n return this.visual.children[0];\n };\n\n FunnelSegment.prototype.highlightVisualArgs = function highlightVisualArgs () {\n var path = draw.Path.fromPoints(this.points).close();\n\n return {\n options: this.options,\n path: path\n };\n };\n\n FunnelSegment.prototype.tooltipAnchor = function tooltipAnchor () {\n var box = this.box;\n return {\n point: new Point(box.center().x, box.y1),\n align: {\n horizontal: \"center\",\n vertical: \"top\"\n }\n };\n };\n\n FunnelSegment.prototype.formatValue = function formatValue (format) {\n var point = this;\n return point.owner.formatPointValue(point, format);\n };\n\n return FunnelSegment;\n}(ChartElement));\n\nsetDefaultOptions(FunnelSegment, {\n color: WHITE,\n border: {\n width: 1\n }\n});\n\ndeepExtend(FunnelSegment.prototype, PointEventsMixin);\n\nexport default FunnelSegment;","import { geometry as geom } from '@progress/kendo-drawing';\n\nimport { ChartElement, TextBox } from '../../core';\nimport PieChartMixin from '../mixins/pie-chart-mixin';\nimport FunnelSegment from './funnel-segment';\n\nimport { bindSegments, evalOptions } from '../utils';\n\nimport { CENTER, LEFT } from '../../common/constants';\nimport { autoTextColor, deepExtend, isFunction, getTemplate, limitValue, setDefaultOptions } from '../../common';\n\nvar FunnelChart = (function (ChartElement) {\n function FunnelChart(plotArea, options) {\n ChartElement.call(this, options);\n\n this.plotArea = plotArea;\n this.points = [];\n this.labels = [];\n this.legendItems = [];\n this.render();\n }\n\n if ( ChartElement ) FunnelChart.__proto__ = ChartElement;\n FunnelChart.prototype = Object.create( ChartElement && ChartElement.prototype );\n FunnelChart.prototype.constructor = FunnelChart;\n\n FunnelChart.prototype.formatPointValue = function formatPointValue (point, format) {\n return this.chartService.format.auto(format,point.value);\n };\n\n FunnelChart.prototype.render = function render () {\n var this$1 = this;\n\n var ref = this;\n var options = ref.options;\n var seriesColors = ref.plotArea.options.seriesColors; if ( seriesColors === void 0 ) seriesColors = [];\n var series = options.series[0];\n var data = series.data;\n\n if (!data) {\n return;\n }\n\n var ref$1 = bindSegments(series);\n var total = ref$1.total;\n var points = ref$1.points;\n\n for (var i = 0; i < points.length; i++) {\n var pointData = points[i];\n\n if (!pointData) {\n continue;\n }\n\n var fields = pointData.fields;\n\n if (!isFunction(series.color)) {\n series.color = fields.color || seriesColors[i % seriesColors.length];\n }\n\n fields = deepExtend({\n index: i,\n owner: this$1,\n series: series,\n dataItem: data[i],\n percentage: pointData.value / total\n }, fields, { visible: pointData.visible });\n\n var value = pointData.valueFields.value;\n var segment = this$1.createSegment(value, fields);\n var label = this$1.createLabel(value, fields);\n\n if (segment && label) {\n segment.append(label);\n }\n }\n };\n\n FunnelChart.prototype.evalSegmentOptions = function evalSegmentOptions (options, value, fields) {\n var series = fields.series;\n\n evalOptions(options, {\n value: value,\n series: series,\n dataItem: fields.dataItem,\n index: fields.index\n }, { defaults: series._defaults, excluded: [ \"data\", \"content\", \"template\", \"toggle\", \"visual\" ] });\n };\n\n FunnelChart.prototype.createSegment = function createSegment (value, fields) {\n var seriesOptions = deepExtend({}, fields.series);\n this.evalSegmentOptions(seriesOptions, value, fields);\n\n this.createLegendItem(value, seriesOptions, fields);\n\n if (fields.visible !== false) {\n\n var segment = new FunnelSegment(value, seriesOptions, fields);\n Object.assign(segment, fields);\n\n this.append(segment);\n this.points.push(segment);\n\n return segment;\n }\n };\n\n FunnelChart.prototype.createLabel = function createLabel (value, fields) {\n var series = fields.series;\n var dataItem = fields.dataItem;\n var labels = deepExtend({}, this.options.labels, series.labels);\n var text = value;\n\n if (labels.visible) {\n var labelTemplate = getTemplate(labels);\n var data = {\n dataItem: dataItem,\n value: value,\n percentage: fields.percentage,\n category: fields.category,\n series: series\n };\n if (labelTemplate) {\n text = labelTemplate(data);\n } else if (labels.format) {\n text = this.plotArea.chartService.format.auto(labels.format, text);\n }\n\n if (!labels.color) {\n labels.color = autoTextColor(series.color);\n if (!labels.background) {\n labels.background = series.color;\n }\n }\n\n this.evalSegmentOptions(labels, value, fields);\n var textBox = new TextBox(text, deepExtend({\n vAlign: labels.position\n }, labels), data);\n\n this.labels.push(textBox);\n\n return textBox;\n }\n };\n\n FunnelChart.prototype.labelPadding = function labelPadding () {\n var labels = this.labels;\n var padding = { left: 0, right: 0 };\n\n for (var i = 0; i < labels.length; i++) {\n var label = labels[i];\n var align = label.options.align;\n if (align !== CENTER) {\n var width = labels[i].box.width();\n\n if (align === LEFT) {\n padding.left = Math.max(padding.left, width);\n } else {\n padding.right = Math.max(padding.right, width);\n }\n }\n }\n\n return padding;\n };\n\n FunnelChart.prototype.dynamicSlopeReflow = function dynamicSlopeReflow (box, width, totalHeight) {\n var ref = this;\n var options = ref.options;\n var segments = ref.points;\n var count = segments.length;\n var firstSegment = segments[0];\n var maxSegment = firstSegment;\n\n for (var idx = 0; idx < segments.length; idx++) {\n if (segments[idx].percentage > maxSegment.percentage) {\n maxSegment = segments[idx];\n }\n }\n\n var lastUpperSide = (firstSegment.percentage / maxSegment.percentage) * width;\n var previousOffset = (width - lastUpperSide) / 2;\n var previousHeight = 0;\n\n for (var idx$1 = 0; idx$1 < count; idx$1++) {\n var percentage = segments[idx$1].percentage;\n var nextSegment = segments[idx$1 + 1];\n var nextPercentage = (nextSegment ? nextSegment.percentage : percentage);\n var points = segments[idx$1].points = [];\n var height = (options.dynamicHeight) ? (totalHeight * percentage) : (totalHeight / count);\n var offset = (void 0);\n\n if (!percentage) {\n offset = nextPercentage ? 0 : width / 2;\n } else {\n offset = (width - lastUpperSide * (nextPercentage / percentage)) / 2;\n }\n\n offset = limitValue(offset, 0, width);\n\n points.push(new geom.Point(box.x1 + previousOffset, box.y1 + previousHeight));\n points.push(new geom.Point(box.x1 + width - previousOffset, box.y1 + previousHeight));\n points.push(new geom.Point(box.x1 + width - offset, box.y1 + height + previousHeight));\n points.push(new geom.Point(box.x1 + offset, box.y1 + height + previousHeight));\n\n previousOffset = offset;\n previousHeight += height + options.segmentSpacing;\n lastUpperSide = limitValue(width - 2 * offset, 0, width);\n }\n };\n\n FunnelChart.prototype.constantSlopeReflow = function constantSlopeReflow (box, width, totalHeight) {\n var ref = this;\n var options = ref.options;\n var segments = ref.points;\n var count = segments.length;\n var decreasingWidth = options.neckRatio <= 1;\n var neckRatio = decreasingWidth ? options.neckRatio * width : width;\n var previousOffset = decreasingWidth ? 0 : (width - width / options.neckRatio) / 2;\n var topMostWidth = decreasingWidth ? width : width - previousOffset * 2;\n var finalNarrow = (topMostWidth - neckRatio) / 2;\n var previousHeight = 0;\n\n for (var idx = 0; idx < count; idx++) {\n var points = segments[idx].points = [];\n var percentage = segments[idx].percentage;\n var offset = (options.dynamicHeight) ? (finalNarrow * percentage) : (finalNarrow / count);\n var height = (options.dynamicHeight) ? (totalHeight * percentage) : (totalHeight / count);\n\n points.push(new geom.Point(box.x1 + previousOffset, box.y1 + previousHeight));\n points.push(new geom.Point(box.x1 + width - previousOffset, box.y1 + previousHeight));\n points.push(new geom.Point(box.x1 + width - previousOffset - offset, box.y1 + height + previousHeight));\n points.push(new geom.Point(box.x1 + previousOffset + offset,box.y1 + height + previousHeight));\n previousOffset += offset;\n previousHeight += height + options.segmentSpacing;\n }\n };\n\n FunnelChart.prototype.reflow = function reflow (chartBox) {\n var points = this.points;\n var count = points.length;\n\n if (!count) {\n return;\n }\n\n var options = this.options;\n var box = chartBox.clone().unpad(this.labelPadding());\n var totalHeight = box.height() - options.segmentSpacing * (count - 1);\n var width = box.width();\n\n if (options.dynamicSlope) {\n this.dynamicSlopeReflow(box, width, totalHeight);\n } else {\n this.constantSlopeReflow(box, width, totalHeight);\n }\n\n for (var idx = 0; idx < count; idx++) {\n points[idx].reflow(chartBox);\n }\n };\n\n return FunnelChart;\n}(ChartElement));\n\nsetDefaultOptions(FunnelChart, {\n neckRatio: 0.3,\n width: 300,\n dynamicSlope: false,\n dynamicHeight: true,\n segmentSpacing: 0,\n labels: {\n visible: false,\n align: CENTER,\n position: CENTER,\n zIndex: 1\n }\n});\n\ndeepExtend(FunnelChart.prototype, PieChartMixin);\n\nexport default FunnelChart;\n","import PlotAreaBase from './plotarea-base';\nimport FunnelChart from '../funnel-chart/funnel-chart';\n\nimport { append } from '../../common';\n\nvar FunnelPlotArea = (function (PlotAreaBase) {\n function FunnelPlotArea () {\n PlotAreaBase.apply(this, arguments);\n }\n\n if ( PlotAreaBase ) FunnelPlotArea.__proto__ = PlotAreaBase;\n FunnelPlotArea.prototype = Object.create( PlotAreaBase && PlotAreaBase.prototype );\n FunnelPlotArea.prototype.constructor = FunnelPlotArea;\n\n FunnelPlotArea.prototype.render = function render () {\n this.createFunnelChart(this.series);\n };\n\n FunnelPlotArea.prototype.createFunnelChart = function createFunnelChart (series) {\n var firstSeries = series[0];\n var funnelChart = new FunnelChart(this, {\n series: series,\n legend: this.options.legend,\n neckRatio: firstSeries.neckRatio,\n dynamicHeight: firstSeries.dynamicHeight,\n dynamicSlope: firstSeries.dynamicSlope,\n segmentSpacing: firstSeries.segmentSpacing,\n highlight: firstSeries.highlight\n });\n\n this.appendChart(funnelChart);\n };\n\n FunnelPlotArea.prototype.appendChart = function appendChart (chart, pane) {\n PlotAreaBase.prototype.appendChart.call(this, chart, pane);\n append(this.options.legend.items, chart.legendItems);\n };\n\n return FunnelPlotArea;\n}(PlotAreaBase));\n\nexport default FunnelPlotArea;","import { parseColor } from '@progress/kendo-drawing';\n\n// Linear color scale from the given color to white minus minimum lightness offset.\nvar colorScale = function (color, minLightnessOffset) {\n if ( minLightnessOffset === void 0 ) minLightnessOffset = 0.05;\n\n var baseColor = parseColor(color);\n var offset = 1 - minLightnessOffset;\n\n return function (value) {\n var hsl = baseColor.toHSL();\n var range = 100 - hsl.l;\n var point = offset - value;\n hsl.l += Math.min(point * range, range);\n\n return hsl.toCss();\n };\n};\n\nexport default colorScale;\n","import { autoTextColor, deepExtend, getTemplate, valueOrDefault } from '../../common';\nimport { CENTER, ROUNDED_RECT, BOTTOM, WHITE } from '../../common/constants';\nimport { ChartElement, Point, rectToBox, ShapeElement, TextBox } from '../../core';\nimport { TOOLTIP_OFFSET } from '../constants';\nimport NoteMixin from '../mixins/note-mixin';\nimport PointEventsMixin from '../mixins/point-events-mixin';\n\nvar HeatmapPoint = (function (ChartElement) {\n function HeatmapPoint(value, options) {\n ChartElement.call(this);\n\n this.options = options;\n this.color = options.color || WHITE;\n this.value = value;\n }\n\n if ( ChartElement ) HeatmapPoint.__proto__ = ChartElement;\n HeatmapPoint.prototype = Object.create( ChartElement && ChartElement.prototype );\n HeatmapPoint.prototype.constructor = HeatmapPoint;\n\n HeatmapPoint.prototype.render = function render () {\n if (this._rendered) {\n return;\n }\n\n this._rendered = true;\n\n this.createMarker();\n this.createLabel();\n this.createNote();\n };\n\n HeatmapPoint.prototype.createLabel = function createLabel () {\n var options = this.options;\n var labels = options.labels;\n\n if (labels.visible) {\n var pointData = this.pointData();\n var labelTemplate = getTemplate(labels);\n var labelText;\n var labelColor = labels.color;\n\n if (labelTemplate) {\n labelText = labelTemplate(pointData);\n } else {\n labelText = this.formatValue(labels.format);\n }\n\n if (!labelColor) {\n labelColor = autoTextColor(this.color);\n }\n\n this.label = new TextBox(labelText,\n deepExtend({\n align: CENTER,\n vAlign: CENTER,\n margin: {\n left: 5,\n right: 5\n },\n zIndex: valueOrDefault(labels.zIndex, this.series.zIndex)\n },\n labels, {\n color: labelColor\n }),\n pointData\n );\n this.append(this.label);\n }\n };\n\n HeatmapPoint.prototype.formatValue = function formatValue (format) {\n return this.owner.formatPointValue(this, format);\n };\n\n HeatmapPoint.prototype.reflow = function reflow (targetBox) {\n this.render();\n\n var label = this.label;\n\n this.box = targetBox;\n\n if (label) {\n label.reflow(this.markerBox());\n }\n\n if (this.note) {\n this.note.reflow(targetBox);\n }\n\n this.marker.reflow(this.markerBox());\n };\n\n HeatmapPoint.prototype.markerBox = function markerBox () {\n var options = this.options;\n var markers = options.markers;\n var border = markers.border;\n var rect = this.box.toRect();\n var type = valueOrDefault(markers.type, 'rect');\n var isRoundRect = type === ROUNDED_RECT;\n var borderWidth = valueOrDefault(border.width, isRoundRect ? 1 : 0);\n var halfBorderWidth = Math.round(borderWidth / 2);\n\n if (markers.size) {\n var center = rect.center();\n rect.size.width = rect.size.height = markers.size;\n rect.origin.x = Math.round(center.x - rect.size.width / 2);\n rect.origin.y = Math.round(center.y - rect.size.height / 2);\n }\n\n rect.size.width -= borderWidth;\n rect.size.height -= borderWidth;\n rect.origin.y += halfBorderWidth + 0.5;\n rect.origin.x += halfBorderWidth + 0.5;\n\n return rectToBox(rect);\n };\n\n HeatmapPoint.prototype.markerBorder = function markerBorder () {\n var options = this.options;\n var markers = options.markers;\n var border = markers.border;\n var opacity = valueOrDefault(border.opacity, options.opacity);\n\n return {\n color: border.color || this.color,\n width: border.width,\n opacity: opacity,\n dashType: border.dashType\n };\n };\n\n HeatmapPoint.prototype.createMarker = function createMarker () {\n var options = this.options;\n var markerOptions = options.markers;\n var marker = new ShapeElement({\n type: valueOrDefault(markerOptions.type, 'rect'),\n width: markerOptions.size,\n height: markerOptions.size,\n rotation: markerOptions.rotation,\n background: this.color,\n border: this.markerBorder(),\n borderRadius: markerOptions.borderRadius,\n opacity: this.series.opacity || options.opacity,\n zIndex: valueOrDefault(options.zIndex, this.series.zIndex),\n animation: options.animation,\n visual: options.visual\n }, {\n dataItem: this.dataItem,\n value: this.value,\n series: this.series,\n category: this.category\n });\n\n this.marker = marker;\n this.append(marker);\n };\n\n HeatmapPoint.prototype.createHighlight = function createHighlight (style) {\n var options = this.options;\n var markerOptions = this.options.highlight.markers || this.options.markers;\n\n var highlight = new ShapeElement({\n type: valueOrDefault(markerOptions.type, 'rect'),\n width: markerOptions.size,\n height: markerOptions.size,\n rotation: markerOptions.rotation,\n background: markerOptions.color || this.color,\n border: this.markerBorder(),\n borderRadius: markerOptions.borderRadius,\n opacity: this.series.opacity || options.opacity,\n zIndex: valueOrDefault(options.zIndex, this.series.zIndex)\n });\n\n highlight.reflow(this.markerBox());\n var visual = highlight.getElement();\n\n visual.options.fill = style.fill;\n visual.options.stroke = style.stroke;\n\n return visual;\n };\n\n HeatmapPoint.prototype.highlightVisual = function highlightVisual () {\n return this.rectVisual;\n };\n\n HeatmapPoint.prototype.highlightVisualArgs = function highlightVisualArgs () {\n return {\n options: this.options,\n rect: this.box.toRect(),\n visual: this.rectVisual\n };\n };\n\n HeatmapPoint.prototype.tooltipAnchor = function tooltipAnchor () {\n var left = this.box.center().x;\n var top = this.box.y1 - TOOLTIP_OFFSET;\n\n return {\n point: new Point(left, top),\n align: {\n horizontal: CENTER,\n vertical: BOTTOM\n }\n };\n };\n\n HeatmapPoint.prototype.overlapsBox = function overlapsBox (box) {\n return this.box.overlaps(box);\n };\n\n HeatmapPoint.prototype.unclipElements = function unclipElements () {\n /* noop, clip labels */\n };\n\n HeatmapPoint.prototype.pointData = function pointData () {\n return {\n x: this.value.x,\n y: this.value.y,\n value: this.value.value,\n dataItem: this.dataItem,\n series: this.series\n };\n };\n\n return HeatmapPoint;\n}(ChartElement));\n\ndeepExtend(HeatmapPoint.prototype, PointEventsMixin);\ndeepExtend(HeatmapPoint.prototype, NoteMixin);\n\nHeatmapPoint.prototype.defaults = {\n markers: {\n type: 'rect',\n borderRadius: 4,\n border: {\n color: 'transparent'\n }\n },\n padding: { top: 1 },\n labels: {\n visible: false,\n padding: 3\n },\n opacity: 1,\n notes: {\n label: {}\n }\n};\n\nexport default HeatmapPoint;\n","import { deepExtend, defined, isFunction, setDefaultOptions } from '../../common';\nimport { MAX_VALUE, MIN_VALUE } from '../../common/constants';\nimport { Box, ChartElement } from '../../core';\nimport CategoricalChart from '../categorical-chart';\nimport evalOptions from '../utils/eval-options';\nimport colorScale from './color-scale';\nimport HeatmapPoint from './heatmap-point';\n\nvar HeatmapChart = (function (ChartElement) {\n function HeatmapChart(plotArea, options) {\n ChartElement.call(this, options);\n\n this.plotArea = plotArea;\n this.chartService = plotArea.chartService;\n this._initFields();\n\n this.render();\n }\n\n if ( ChartElement ) HeatmapChart.__proto__ = ChartElement;\n HeatmapChart.prototype = Object.create( ChartElement && ChartElement.prototype );\n HeatmapChart.prototype.constructor = HeatmapChart;\n\n HeatmapChart.prototype._initFields = function _initFields () {\n this.points = [];\n this.seriesOptions = [];\n this.valueRange = { min: MAX_VALUE, max: MIN_VALUE };\n this._evalSeries = [];\n };\n\n HeatmapChart.prototype.render = function render () {\n this.setRange();\n this.traverseDataPoints(this.addValue.bind(this));\n };\n\n HeatmapChart.prototype.setRange = function setRange () {\n var this$1 = this;\n\n var ref = this;\n var series = ref.options.series;\n\n for (var seriesIx = 0; seriesIx < series.length; seriesIx++) {\n var currentSeries = series[seriesIx];\n\n for (var pointIx = 0; pointIx < currentSeries.data.length; pointIx++) {\n var ref$1 = this$1._bindPoint(currentSeries, seriesIx, pointIx);\n var valueFields = ref$1.valueFields;\n if (defined(valueFields.value) && valueFields.value !== null) {\n this$1.valueRange.min = Math.min(this$1.valueRange.min, valueFields.value);\n this$1.valueRange.max = Math.max(this$1.valueRange.max, valueFields.value);\n }\n }\n }\n };\n\n HeatmapChart.prototype.addValue = function addValue (value, fields) {\n var point;\n if (value && defined(value.value) && value.value !== null) {\n point = this.createPoint(value, fields);\n if (point) {\n Object.assign(point, fields);\n }\n }\n\n this.points.push(point);\n };\n\n HeatmapChart.prototype.evalPointOptions = function evalPointOptions (options, value, fields) {\n var series = fields.series;\n var seriesIx = fields.seriesIx;\n var state = {\n defaults: series._defaults,\n excluded: [\n \"data\", \"tooltip\", \"content\", \"template\",\n \"visual\", \"toggle\", \"drilldownSeriesFactory\"\n ]\n };\n\n var doEval = this._evalSeries[seriesIx];\n if (!defined(doEval)) {\n this._evalSeries[seriesIx] = doEval = evalOptions(options, {}, state, true);\n }\n\n var pointOptions = options;\n if (doEval) {\n pointOptions = deepExtend({}, options);\n evalOptions(pointOptions, {\n value: value,\n series: series,\n dataItem: fields.dataItem,\n min: this.valueRange.min,\n max: this.valueRange.max\n }, state);\n }\n\n return pointOptions;\n };\n\n HeatmapChart.prototype.pointType = function pointType () {\n return HeatmapPoint;\n };\n\n HeatmapChart.prototype.pointOptions = function pointOptions (series, seriesIx) {\n var options = this.seriesOptions[seriesIx];\n if (!options) {\n var defaults = this.pointType().prototype.defaults;\n this.seriesOptions[seriesIx] = options = deepExtend({}, defaults, {\n markers: {\n opacity: series.opacity\n },\n tooltip: {\n format: this.options.tooltip.format\n },\n labels: {\n format: this.options.labels.format\n }\n }, series);\n }\n\n return options;\n };\n\n HeatmapChart.prototype.createPoint = function createPoint (value, fields) {\n var series = fields.series;\n var pointOptions = this.pointOptions(series, fields.seriesIx);\n var color = fields.color || series.color;\n\n pointOptions = this.evalPointOptions(pointOptions, value, fields);\n\n if (isFunction(series.color)) {\n color = pointOptions.color;\n } else if (this.valueRange.max !== 0) {\n var scale = colorScale(color);\n color = scale(value.value / this.valueRange.max);\n }\n\n var point = new HeatmapPoint(value, pointOptions);\n point.color = color;\n\n this.append(point);\n\n return point;\n };\n\n HeatmapChart.prototype.seriesAxes = function seriesAxes (series) {\n var xAxisName = series.xAxis;\n var yAxisName = series.yAxis;\n var plotArea = this.plotArea;\n var xAxis = xAxisName ? plotArea.namedXAxes[xAxisName] : plotArea.axisX;\n var yAxis = yAxisName ? plotArea.namedYAxes[yAxisName] : plotArea.axisY;\n\n if (!xAxis) {\n throw new Error(\"Unable to locate X axis with name \" + xAxisName);\n }\n\n if (!yAxis) {\n throw new Error(\"Unable to locate Y axis with name \" + yAxisName);\n }\n\n return { xAxis: xAxis, yAxis: yAxis };\n };\n\n HeatmapChart.prototype.reflow = function reflow (targetBox) {\n var this$1 = this;\n\n var chartPoints = this.points;\n var limit = !this.options.clip;\n var pointIx = 0;\n\n\n this.traverseDataPoints(function (value, fields) {\n var point = chartPoints[pointIx++];\n var ref = this$1.seriesAxes(fields.series);\n var xAxis = ref.xAxis;\n var yAxis = ref.yAxis;\n var indexX = xAxis.categoryIndex(value.x);\n var indexY = yAxis.categoryIndex(value.y);\n var slotX = xAxis.getSlot(indexX, indexX, limit);\n var slotY = yAxis.getSlot(indexY, indexY, limit);\n\n if (point) {\n if (slotX && slotY) {\n var pointSlot = this$1.pointSlot(slotX, slotY);\n point.reflow(pointSlot);\n } else {\n point.visible = false;\n }\n }\n });\n\n this.box = targetBox;\n };\n\n HeatmapChart.prototype.pointSlot = function pointSlot (slotX, slotY) {\n return new Box(slotX.x1, slotY.y1, slotX.x2, slotY.y2);\n };\n\n HeatmapChart.prototype.traverseDataPoints = function traverseDataPoints (callback) {\n var this$1 = this;\n\n var ref = this;\n var series = ref.options.series;\n\n for (var seriesIx = 0; seriesIx < series.length; seriesIx++) {\n var currentSeries = series[seriesIx];\n var ref$1 = this$1.seriesAxes(currentSeries);\n var xAxis = ref$1.xAxis;\n var yAxis = ref$1.yAxis;\n var xRange = xAxis.currentRangeIndices();\n var yRange = yAxis.currentRangeIndices();\n\n for (var pointIx = 0; pointIx < currentSeries.data.length; pointIx++) {\n var ref$2 = this$1._bindPoint(currentSeries, seriesIx, pointIx);\n var value = ref$2.valueFields;\n var fields = ref$2.fields;\n var xIndex = xAxis.totalIndex(value.x);\n var yIndex = yAxis.totalIndex(value.y);\n var xIn = xRange.min <= xIndex && xIndex <= xRange.max;\n var yIn = yRange.min <= yIndex && yIndex <= yRange.max;\n\n if (xIn && yIn) {\n callback(value, deepExtend({\n pointIx: pointIx,\n series: currentSeries,\n seriesIx: seriesIx,\n dataItem: currentSeries.data[pointIx],\n owner: this$1\n }, fields));\n }\n }\n }\n };\n\n HeatmapChart.prototype.formatPointValue = function formatPointValue (point, format) {\n var value = point.value;\n return this.chartService.format.auto(format, value.x, value.y, value.value);\n };\n\n HeatmapChart.prototype.animationPoints = function animationPoints () {\n var points = this.points;\n var result = [];\n for (var idx = 0; idx < points.length; idx++) {\n result.push((points[idx] || {}).marker);\n }\n return result;\n };\n\n return HeatmapChart;\n}(ChartElement));\nsetDefaultOptions(HeatmapChart, {\n series: [],\n tooltip: {\n format: \"{0}, {1}: {2}\"\n },\n labels: {\n format: \"{2}\"\n },\n clip: true\n});\ndeepExtend(HeatmapChart.prototype, {\n _bindPoint: CategoricalChart.prototype._bindPoint\n});\n\nexport default HeatmapChart;\n","import { deepExtend, eventElement, grep, inArray, setDefaultOptions, createHashSet } from '../../common';\nimport { DATE } from '../../common/constants';\nimport { CategoryAxis, DateCategoryAxis, Point } from '../../core';\nimport { HEATMAP } from '../constants';\nimport HeatmapChart from '../heatmap-chart/heatmap-chart';\nimport PlotAreaEventsMixin from '../mixins/plotarea-events-mixin';\nimport SeriesBinder from '../series-binder';\nimport { appendIfNotNull, equalsIgnoreCase, filterSeriesByType, singleItemOrArray } from '../utils';\nimport PlotAreaBase from './plotarea-base';\n\n\nvar HeatmapPlotArea = (function (PlotAreaBase) {\n function HeatmapPlotArea () {\n PlotAreaBase.apply(this, arguments);\n }\n\n if ( PlotAreaBase ) HeatmapPlotArea.__proto__ = PlotAreaBase;\n HeatmapPlotArea.prototype = Object.create( PlotAreaBase && PlotAreaBase.prototype );\n HeatmapPlotArea.prototype.constructor = HeatmapPlotArea;\n\n HeatmapPlotArea.prototype.initFields = function initFields () {\n this.namedXAxes = {};\n this.namedYAxes = {};\n };\n\n HeatmapPlotArea.prototype.render = function render (panes) {\n if ( panes === void 0 ) panes = this.panes;\n\n this.bindCategories();\n this.createAxes(panes);\n this.createCharts(panes);\n this.createAxisLabels();\n };\n\n HeatmapPlotArea.prototype.bindCategories = function bindCategories () {\n var this$1 = this;\n\n var series = this.srcSeries || this.series;\n\n for (var i = 0; i < series.length; i++) {\n var currentSeries = series[i];\n var data = currentSeries.data || [];\n var ref = this$1.seriesAxes(currentSeries);\n var xAxis = ref.xAxis;\n var yAxis = ref.yAxis;\n\n var xCategories = createHashSet(xAxis.categories || []);\n var yCategories = createHashSet(yAxis.categories || []);\n\n for (var pointIndex = 0; pointIndex < data.length; pointIndex++) {\n var ref$1 = SeriesBinder.current.bindPoint(currentSeries, pointIndex).valueFields;\n var x = ref$1.x;\n var y = ref$1.y;\n\n if (!xCategories.has(x)) {\n xCategories.add(x);\n }\n\n if (!yCategories.has(y)) {\n yCategories.add(y);\n }\n }\n\n xAxis.categories = xCategories.values();\n yAxis.categories = yCategories.values();\n }\n };\n\n HeatmapPlotArea.prototype.createCharts = function createCharts (panes) {\n var this$1 = this;\n\n var seriesByPane = this.groupSeriesByPane();\n\n for (var i = 0; i < panes.length; i++) {\n var pane = panes[i];\n var paneSeries = seriesByPane[pane.options.name || \"default\"] || [];\n this$1.addToLegend(paneSeries);\n var filteredSeries = this$1.filterVisibleSeries(paneSeries);\n\n if (!filteredSeries) {\n continue;\n }\n\n this$1.createHeatmapChart(\n filterSeriesByType(filteredSeries, [ HEATMAP ]),\n pane\n );\n }\n };\n\n HeatmapPlotArea.prototype.createHeatmapChart = function createHeatmapChart (series, pane) {\n var chart = new HeatmapChart(this, {\n series: series\n });\n\n this.appendChart(chart, pane);\n };\n\n HeatmapPlotArea.prototype.seriesPaneName = function seriesPaneName (series) {\n var options = this.options;\n var xAxisName = series.xAxis;\n var xAxisOptions = [].concat(options.xAxis);\n var xAxis = grep(xAxisOptions, function(a) { return a.name === xAxisName; })[0];\n var yAxisName = series.yAxis;\n var yAxisOptions = [].concat(options.yAxis);\n var yAxis = grep(yAxisOptions, function(a) { return a.name === yAxisName; })[0];\n var panes = options.panes || [ {} ];\n var defaultPaneName = panes[0].name || \"default\";\n var paneName = (xAxis || {}).pane || (yAxis || {}).pane || defaultPaneName;\n\n return paneName;\n };\n\n HeatmapPlotArea.prototype.seriesAxes = function seriesAxes (series) {\n var xAxis;\n var yAxis;\n\n var options = this.options;\n\n var xAxisOptions = [].concat(options.xAxis);\n var xAxisName = series.xAxis;\n if (xAxisName) {\n xAxis = xAxisOptions.find(function (axis) { return axis.name === xAxisName; });\n } else {\n xAxis = xAxisOptions[0];\n }\n\n var yAxisOptions = [].concat(options.yAxis);\n var yAxisName = series.yAxis;\n if (yAxisName) {\n yAxis = yAxisOptions.find(function (axis) { return axis.name === yAxisName; });\n } else {\n yAxis = yAxisOptions[0];\n }\n\n if (!xAxis) {\n throw new Error(\"Unable to locate X axis with name \" + xAxisName);\n }\n\n if (!yAxis) {\n throw new Error(\"Unable to locate Y axis with name \" + yAxisName);\n }\n\n return { xAxis: xAxis, yAxis: yAxis };\n };\n\n HeatmapPlotArea.prototype.createAxisLabels = function createAxisLabels () {\n var axes = this.axes;\n for (var i = 0; i < axes.length; i++) {\n axes[i].createLabels();\n }\n };\n\n HeatmapPlotArea.prototype.createXYAxis = function createXYAxis (options, vertical, axisIndex) {\n var axisName = options.name;\n var namedAxes = vertical ? this.namedYAxes : this.namedXAxes;\n var axisOptions = Object.assign({\n axisCrossingValue: 0\n }, options, {\n vertical: vertical,\n reverse: (vertical || this.chartService.rtl) ? !options.reverse : options.reverse,\n justified: false\n });\n var firstCategory = axisOptions.categories ? axisOptions.categories[0] : null;\n var typeSamples = [ axisOptions.min, axisOptions.max, firstCategory ];\n var series = this.series;\n\n for (var seriesIx = 0; seriesIx < series.length; seriesIx++) {\n var currentSeries = series[seriesIx];\n var seriesAxisName = currentSeries[vertical ? \"yAxis\" : \"xAxis\"];\n if ((seriesAxisName === axisOptions.name) || (axisIndex === 0 && !seriesAxisName)) {\n var firstPointValue = SeriesBinder.current.bindPoint(currentSeries, 0).valueFields;\n typeSamples.push(firstPointValue[vertical ? \"y\" : \"x\"]);\n\n break;\n }\n }\n\n var inferredDate;\n\n for (var i = 0; i < typeSamples.length; i++) {\n if (typeSamples[i] instanceof Date) {\n inferredDate = true;\n break;\n }\n }\n\n var axisType;\n if (equalsIgnoreCase(axisOptions.type, DATE) || (!axisOptions.type && inferredDate)) {\n axisType = DateCategoryAxis;\n } else {\n axisType = CategoryAxis;\n }\n\n var axis = new axisType(axisOptions, this.chartService);\n axis.axisIndex = axisIndex;\n\n if (axisName) {\n if (namedAxes[axisName]) {\n throw new Error(((vertical ? \"Y\" : \"X\") + \" axis with name \" + axisName + \" is already defined\"));\n }\n namedAxes[axisName] = axis;\n }\n\n this.appendAxis(axis);\n axis.mapCategories();\n\n return axis;\n };\n\n HeatmapPlotArea.prototype.createAxes = function createAxes (panes) {\n var this$1 = this;\n\n var options = this.options;\n var xAxesOptions = [].concat(options.xAxis);\n var xAxes = [];\n var yAxesOptions = [].concat(options.yAxis);\n var yAxes = [];\n\n for (var idx = 0; idx < xAxesOptions.length; idx++) {\n var axisPane = this$1.findPane(xAxesOptions[idx].pane);\n if (inArray(axisPane, panes)) {\n xAxes.push(this$1.createXYAxis(xAxesOptions[idx], false, idx));\n }\n }\n\n for (var idx$1 = 0; idx$1 < yAxesOptions.length; idx$1++) {\n var axisPane$1 = this$1.findPane(yAxesOptions[idx$1].pane);\n if (inArray(axisPane$1, panes)) {\n yAxes.push(this$1.createXYAxis(yAxesOptions[idx$1], true, idx$1));\n }\n }\n\n this.axisX = this.axisX || xAxes[0];\n this.axisY = this.axisY || yAxes[0];\n };\n\n HeatmapPlotArea.prototype.removeAxis = function removeAxis (axis) {\n var axisName = axis.options.name;\n\n PlotAreaBase.prototype.removeAxis.call(this, axis);\n\n if (axis.options.vertical) {\n delete this.namedYAxes[axisName];\n } else {\n delete this.namedXAxes[axisName];\n }\n\n if (axis === this.axisX) {\n delete this.axisX;\n }\n\n if (axis === this.axisY) {\n delete this.axisY;\n }\n };\n\n HeatmapPlotArea.prototype._dispatchEvent = function _dispatchEvent (chart, e, eventType) {\n var coords = chart._eventCoordinates(e);\n var point = new Point(coords.x, coords.y);\n var allAxes = this.axes;\n var length = allAxes.length;\n var xValues = [];\n var yValues = [];\n\n for (var i = 0; i < length; i++) {\n var axis = allAxes[i];\n var values = axis.options.vertical ? yValues : xValues;\n appendIfNotNull(values, axis.getCategory(point));\n }\n\n if (xValues.length > 0 && yValues.length > 0) {\n chart.trigger(eventType, {\n element: eventElement(e),\n originalEvent: e,\n x: singleItemOrArray(xValues),\n y: singleItemOrArray(yValues)\n });\n }\n };\n\n HeatmapPlotArea.prototype.updateAxisOptions = function updateAxisOptions$1 (axis, options) {\n var vertical = axis.options.vertical;\n var axes = this.groupAxes(this.panes);\n var index = (vertical ? axes.y : axes.x).indexOf(axis);\n\n updateAxisOptions(this.options, index, vertical, options);\n updateAxisOptions(this.originalOptions, index, vertical, options);\n };\n\n HeatmapPlotArea.prototype.crosshairOptions = function crosshairOptions (axis) {\n // Stack the crosshair above the series points.\n return Object.assign({}, axis.options.crosshair, { zIndex: 0 });\n };\n\n return HeatmapPlotArea;\n}(PlotAreaBase));\n\nfunction updateAxisOptions(targetOptions, axisIndex, vertical, options) {\n var axisOptions = ([].concat(vertical ? targetOptions.yAxis : targetOptions.xAxis))[axisIndex];\n deepExtend(axisOptions, options);\n}\n\nsetDefaultOptions(HeatmapPlotArea, {\n xAxis: {},\n yAxis: {}\n});\n\ndeepExtend(HeatmapPlotArea.prototype, PlotAreaEventsMixin);\n\nexport default HeatmapPlotArea;\n","import PlotAreaFactory from './plotarea/plotarea-factory';\nimport SeriesBinder from './series-binder';\nimport DefaultAggregates from './aggregates/default-aggregates';\nimport CategoricalPlotArea from './plotarea/categorical-plotarea';\nimport XYPlotArea from './plotarea/xy-plotarea';\nimport PiePlotArea from './plotarea/pie-plotarea';\nimport DonutPlotArea from './plotarea/donut-plotarea';\nimport PolarPlotArea from './plotarea/polar-plotarea';\nimport RadarPlotArea from './plotarea/radar-plotarea';\nimport FunnelPlotArea from './plotarea/funnel-plotarea';\nimport HeatmapPlotArea from './plotarea/heatmap-plotarea';\n\nimport { COLUMN, DONUT, PIE, FUNNEL, BAR, LINE, VERTICAL_LINE, AREA, VERTICAL_AREA,\n CANDLESTICK, OHLC, BULLET, VERTICAL_BULLET, BOX_PLOT, VERTICAL_BOX_PLOT, RANGE_COLUMN,\n RANGE_BAR, WATERFALL, HORIZONTAL_WATERFALL, SCATTER, SCATTER_LINE, BUBBLE,\n POLAR_AREA, POLAR_LINE, POLAR_SCATTER, RADAR_AREA, RADAR_COLUMN, RADAR_LINE, CATEGORY,\n RANGE_AREA, VERTICAL_RANGE_AREA, X_ERROR_LOW_FIELD, X_ERROR_HIGH_FIELD, Y_ERROR_LOW_FIELD, Y_ERROR_HIGH_FIELD,\n ERROR_LOW_FIELD, ERROR_HIGH_FIELD, HEATMAP, DRILLDOWN_FIELD } from './constants';\nimport { X, Y, VALUE } from '../common/constants';\n\nvar COLOR = \"color\";\nvar FIRST = \"first\";\nvar FROM = \"from\";\nvar MAX = \"max\";\nvar MIN = \"min\";\nvar NOTE_TEXT = \"noteText\";\nvar SUMMARY_FIELD = \"summary\";\nvar TO = \"to\";\n\nPlotAreaFactory.current.register(CategoricalPlotArea, [\n BAR, COLUMN, LINE, VERTICAL_LINE, AREA, VERTICAL_AREA,\n CANDLESTICK, OHLC, BULLET, VERTICAL_BULLET, BOX_PLOT, VERTICAL_BOX_PLOT,\n RANGE_COLUMN, RANGE_BAR, WATERFALL, HORIZONTAL_WATERFALL, RANGE_AREA, VERTICAL_RANGE_AREA\n]);\n\nPlotAreaFactory.current.register(XYPlotArea, [\n SCATTER, SCATTER_LINE, BUBBLE\n]);\n\nPlotAreaFactory.current.register(PiePlotArea, [ PIE ]);\nPlotAreaFactory.current.register(DonutPlotArea, [ DONUT ]);\nPlotAreaFactory.current.register(FunnelPlotArea, [ FUNNEL ]);\n\nPlotAreaFactory.current.register(PolarPlotArea, [ POLAR_AREA, POLAR_LINE, POLAR_SCATTER ]);\nPlotAreaFactory.current.register(RadarPlotArea, [ RADAR_AREA, RADAR_COLUMN, RADAR_LINE ]);\n\nPlotAreaFactory.current.register(HeatmapPlotArea, [ HEATMAP ]);\n\nSeriesBinder.current.register(\n [ BAR, COLUMN, LINE, VERTICAL_LINE, AREA, VERTICAL_AREA ],\n [ VALUE ], [ CATEGORY, COLOR, NOTE_TEXT, ERROR_LOW_FIELD, ERROR_HIGH_FIELD, DRILLDOWN_FIELD ]\n);\n\nSeriesBinder.current.register(\n [ RANGE_COLUMN, RANGE_BAR, RANGE_AREA, VERTICAL_RANGE_AREA ],\n [ FROM, TO ], [ CATEGORY, COLOR, NOTE_TEXT, DRILLDOWN_FIELD ]\n);\n\nSeriesBinder.current.register(\n [ WATERFALL, HORIZONTAL_WATERFALL ],\n [ VALUE ], [ CATEGORY, COLOR, NOTE_TEXT, SUMMARY_FIELD, DRILLDOWN_FIELD ]\n);\n\nSeriesBinder.current.register([ POLAR_AREA, POLAR_LINE, POLAR_SCATTER ], [ X, Y ], [ COLOR, DRILLDOWN_FIELD ]);\nSeriesBinder.current.register([ RADAR_AREA, RADAR_COLUMN, RADAR_LINE ], [ VALUE ], [ COLOR, DRILLDOWN_FIELD ]);\n\nSeriesBinder.current.register(\n [ FUNNEL ],\n [ VALUE ], [ CATEGORY, COLOR, \"visibleInLegend\", \"visible\", DRILLDOWN_FIELD ]\n);\n\nDefaultAggregates.current.register(\n [ BAR, COLUMN, LINE, VERTICAL_LINE, AREA, VERTICAL_AREA, WATERFALL, HORIZONTAL_WATERFALL ],\n { value: MAX, color: FIRST, noteText: FIRST, errorLow: MIN, errorHigh: MAX }\n);\n\nDefaultAggregates.current.register(\n [ RANGE_COLUMN, RANGE_BAR, RANGE_AREA, VERTICAL_RANGE_AREA ],\n { from: MIN, to: MAX, color: FIRST, noteText: FIRST }\n);\n\nDefaultAggregates.current.register(\n [ RADAR_AREA, RADAR_COLUMN, RADAR_LINE ],\n { value: MAX, color: FIRST }\n);\n\nSeriesBinder.current.register(\n [ SCATTER, SCATTER_LINE, BUBBLE ],\n [ X, Y ], [ COLOR, NOTE_TEXT, X_ERROR_LOW_FIELD, X_ERROR_HIGH_FIELD, Y_ERROR_LOW_FIELD, Y_ERROR_HIGH_FIELD ]\n);\n\nSeriesBinder.current.register(\n [ BUBBLE ], [ X, Y, \"size\" ], [ COLOR, CATEGORY, NOTE_TEXT ]\n);\n\nSeriesBinder.current.register(\n [ HEATMAP ],\n [ X, Y, VALUE ], [ COLOR, NOTE_TEXT ]\n);\n\nSeriesBinder.current.register(\n [ CANDLESTICK, OHLC ],\n [ \"open\", \"high\", \"low\", \"close\" ], [ CATEGORY, COLOR, \"downColor\", NOTE_TEXT ]\n);\n\nDefaultAggregates.current.register(\n [ CANDLESTICK, OHLC ],\n { open: MAX, high: MAX, low: MIN, close: MAX,\n color: FIRST, downColor: FIRST, noteText: FIRST }\n);\n\nSeriesBinder.current.register(\n [ BOX_PLOT, VERTICAL_BOX_PLOT ],\n [ \"lower\", \"q1\", \"median\", \"q3\", \"upper\", \"mean\", \"outliers\" ], [ CATEGORY, COLOR, NOTE_TEXT, DRILLDOWN_FIELD ]\n);\n\nDefaultAggregates.current.register(\n [ BOX_PLOT, VERTICAL_BOX_PLOT ],\n { lower: MAX, q1: MAX, median: MAX, q3: MAX, upper: MAX, mean: MAX, outliers: FIRST,\n color: FIRST, noteText: FIRST }\n);\n\nSeriesBinder.current.register(\n [ BULLET, VERTICAL_BULLET ],\n [ \"current\", \"target\" ], [ CATEGORY, COLOR, \"visibleInLegend\", NOTE_TEXT, DRILLDOWN_FIELD ]\n);\n\nDefaultAggregates.current.register(\n [ BULLET, VERTICAL_BULLET ],\n { current: MAX, target: MAX, color: FIRST, noteText: FIRST }\n);\n\nSeriesBinder.current.register(\n [ PIE, DONUT ],\n [ VALUE ], [ CATEGORY, COLOR, \"explode\", \"visibleInLegend\", \"visible\", DRILLDOWN_FIELD ]\n);\n","import { drawing as draw, throttle, geometry } from '@progress/kendo-drawing';\n\nimport { RootElement, Title, CategoryAxis, Point } from '../core';\n\nimport Highlight from './highlight';\nimport Pannable from './pan-and-zoom/pannable';\nimport ZoomSelection from './pan-and-zoom/zoom-selection';\nimport MousewheelZoom from './pan-and-zoom/mousewheel-zoom';\nimport Legend from './legend/legend';\nimport PlotAreaFactory from './plotarea/plotarea-factory';\nimport Selection from './selection';\nimport SeriesBinder from './series-binder';\nimport Tooltip from './tooltip/tooltip';\nimport SharedTooltip from './tooltip/shared-tooltip';\nimport CategoricalPlotArea from './plotarea/categorical-plotarea';\nimport PlotAreaBase from './plotarea/plotarea-base';\nimport { ChartService, DomEventsBuilder } from '../services';\nimport getField from './utils/get-field';\nimport isDateAxis from './utils/is-date-axis';\nimport getDateField from './utils/get-date-field';\nimport { ChartPane, ChartPlotArea, findAxisByName } from './api-elements';\n\nimport { X, Y, VALUE, DEFAULT_WIDTH, DEFAULT_HEIGHT, DEFAULT_SERIES_OPACITY } from '../common/constants';\nimport { addClass, Class, setDefaultOptions, deepExtend, defined, find, isObject, isFunction, elementSize, elementOffset,\n elementScale, elementStyles, eventCoordinates, bindEvents, unbindEvents, mousewheelDelta, FontLoader, inArray, last, round,\n HashMap, valueOrDefault } from '../common';\n\nimport { dateComparer } from '../date-utils';\n\nimport { DRAG_START, DRAG, DRAG_END, ZOOM_START, ZOOM, ZOOM_END, SELECT_START, SELECT, SELECT_END, PLOT_AREA_HOVER, PLOT_AREA_LEAVE,\n RENDER, CATEGORY, PIE, DONUT, FUNNEL, COLUMN, MOUSEWHEEL, MOUSEWHEEL_DELAY, MOUSEWHEEL_ZOOM_RATE, SHOW_TOOLTIP, SERIES_HOVER,\n SERIES_OVER, SERIES_LEAVE, SERIES_CLICK, DRILLDOWN } from './constants';\n\nimport './animations';\nimport './register-charts';\n\nvar AXIS_NAMES = [ CATEGORY, VALUE, X, Y ];\n\nvar MOUSEMOVE = \"mousemove\";\nvar CONTEXTMENU = \"contextmenu\";\nvar MOUSELEAVE = \"mouseleave\";\nvar MOUSEMOVE_DELAY = 20;\n\nvar Chart = (function (Class) {\n function Chart(element, userOptions, themeOptions, context) {\n var this$1 = this;\n if ( context === void 0 ) context = {};\n\n Class.call(this);\n\n this.observers = [];\n this.addObserver(context.observer);\n this.chartService = new ChartService(this, context);\n this.chartService.theme = themeOptions;\n\n this._initElement(element);\n\n var options = deepExtend({}, this.options, userOptions);\n this._originalOptions = deepExtend({}, options);\n this._theme = themeOptions;\n this._initTheme(options, themeOptions);\n\n this._initHandlers();\n this._initSurface();\n\n this.bindCategories();\n FontLoader.preloadFonts(userOptions, function () {\n this$1.fontLoaded = true;\n if (!this$1._destroyed) {\n this$1.trigger('init');\n this$1._redraw();\n this$1._attachEvents();\n }\n });\n }\n\n if ( Class ) Chart.__proto__ = Class;\n Chart.prototype = Object.create( Class && Class.prototype );\n Chart.prototype.constructor = Chart;\n\n Chart.prototype._initElement = function _initElement (element) {\n this._setElementClass(element);\n element.style.position = \"relative\";\n while (element.firstChild) {\n element.removeChild(element.firstChild);\n }\n this.element = element;\n };\n\n Chart.prototype._setElementClass = function _setElementClass (element) {\n addClass(element, \"k-chart\");\n };\n\n Chart.prototype._initTheme = function _initTheme (options, themeOptions) {\n var seriesCopies = [];\n var series = options.series || [];\n\n for (var i = 0; i < series.length; i++) {\n seriesCopies.push(Object.assign({}, series[i]));\n }\n options.series = seriesCopies;\n\n resolveAxisAliases(options);\n this.applyDefaults(options, themeOptions);\n\n // Clean up default if not overriden by data attributes\n if (options.seriesColors === null) {\n delete options.seriesColors;\n }\n\n this.options = deepExtend({}, themeOptions, options);\n this.applySeriesColors();\n };\n\n Chart.prototype.getSize = function getSize () {\n var chartArea = this.options.chartArea || {};\n var width = chartArea.width ? parseInt(chartArea.width, 10) : Math.floor(this.element.offsetWidth);\n var height = chartArea.height ? parseInt(chartArea.height, 10) : Math.floor(this.element.offsetHeight);\n\n return {\n width: width,\n height: height\n };\n };\n\n Chart.prototype.resize = function resize (force) {\n var size = this.getSize();\n var currentSize = this._size;\n var hasSize = size.width > 0 || size.height > 0;\n\n if (force || hasSize && (!currentSize || size.width !== currentSize.width || size.height !== currentSize.height)) {\n this._size = size;\n this._resize(size, force);\n this.trigger(\"resize\", size);\n } else if (hasSize && this._selections && find(this._selections, function (s) { return !s.visible; })) {\n this._destroySelections();\n this._setupSelection();\n }\n };\n\n Chart.prototype._resize = function _resize () {\n this._noTransitionsRedraw();\n };\n\n Chart.prototype.redraw = function redraw (paneName) {\n this.applyDefaults(this.options);\n this.applySeriesColors();\n\n if (paneName) {\n var plotArea = this._model._plotArea;\n var pane = plotArea.findPane(paneName);\n plotArea.redraw(pane);\n } else {\n this._redraw();\n }\n };\n\n Chart.prototype.getAxis = function getAxis (name) {\n return findAxisByName(name, this._plotArea.axes);\n };\n\n Chart.prototype.findAxisByName = function findAxisByName (name) {\n return this.getAxis(name);\n };\n\n Chart.prototype.findPaneByName = function findPaneByName (name) {\n var panes = this._plotArea.panes;\n\n for (var idx = 0; idx < panes.length; idx++) {\n if (panes[idx].options.name === name) {\n return new ChartPane(panes[idx]);\n }\n }\n };\n\n Chart.prototype.findPaneByIndex = function findPaneByIndex (idx) {\n var panes = this._plotArea.panes;\n if (panes[idx]) {\n return new ChartPane(panes[idx]);\n }\n };\n\n Chart.prototype.plotArea = function plotArea () {\n return new ChartPlotArea(this._plotArea);\n };\n\n Chart.prototype.toggleHighlight = function toggleHighlight (show, filter) {\n var plotArea = this._plotArea;\n var firstSeries = (plotArea.srcSeries || plotArea.series || [])[0];\n var points;\n\n if (isFunction(filter)) {\n points = plotArea.filterPoints(filter);\n } else {\n var seriesName, categoryName;\n if (isObject(filter)) {\n seriesName = filter.series;\n categoryName = filter.category;\n } else {\n seriesName = categoryName = filter;\n }\n\n if (firstSeries.type === DONUT) {\n points = pointByCategoryName(plotArea.pointsBySeriesName(seriesName), categoryName);\n } else if (firstSeries.type === PIE || firstSeries.type === FUNNEL) {\n points = pointByCategoryName((plotArea.charts[0] || {}).points, categoryName);\n } else {\n points = plotArea.pointsBySeriesName(seriesName);\n }\n }\n\n if (points) {\n this.togglePointsHighlight(show, points);\n }\n };\n\n Chart.prototype.togglePointsHighlight = function togglePointsHighlight (show, points) {\n var highlight = this._highlight;\n for (var idx = 0; idx < points.length; idx++) {\n highlight.togglePointHighlight(points[idx], show);\n }\n };\n\n Chart.prototype.showTooltip = function showTooltip (filter) {\n var shared = this._sharedTooltip();\n var ref = this;\n var tooltip = ref._tooltip;\n var plotArea = ref._plotArea;\n var point, categoryIndex;\n\n if (isFunction(filter)) {\n point = plotArea.findPoint(filter);\n if (point && shared) {\n categoryIndex = point.categoryIx;\n }\n } else if (shared && defined(filter)) {\n categoryIndex = plotArea.categoryAxis.categoryIndex(filter);\n }\n\n if (shared) {\n if (categoryIndex >= 0) {\n var points = this._plotArea.pointsByCategoryIndex(categoryIndex);\n tooltip.showAt(points);\n }\n } else if (point) {\n tooltip.show(point);\n }\n };\n\n Chart.prototype.hideTooltip = function hideTooltip () {\n this._tooltip.hide();\n };\n\n Chart.prototype._initSurface = function _initSurface () {\n var surface = this.surface;\n var wrap = this._surfaceWrap();\n\n var chartArea = this.options.chartArea || {};\n if (chartArea.width) {\n elementSize(wrap, { width: chartArea.width });\n }\n if (chartArea.height) {\n elementSize(wrap, { height: chartArea.height });\n }\n\n if (!surface || surface.options.type !== this.options.renderAs) {\n this._destroySurface();\n\n this.surface = draw.Surface.create(wrap, {\n type: this.options.renderAs\n });\n\n this.surface.bind(\"mouseenter\", this._surfaceMouseenterHandler);\n this.surface.bind(\"mouseleave\", this._surfaceMouseleaveHandler);\n\n } else {\n this.surface.clear();\n this.surface.resize();\n }\n };\n\n Chart.prototype._surfaceWrap = function _surfaceWrap () {\n return this.element;\n };\n\n Chart.prototype._redraw = function _redraw () {\n var model = this._getModel();\n this._size = {\n width: model.options.width,\n height: model.options.height\n };\n\n this._destroyView();\n\n this._model = model;\n this._plotArea = model._plotArea;\n\n model.renderVisual();\n\n if (this.options.transitions !== false) {\n model.traverse(function(element) {\n if (element.animation) {\n element.animation.setup();\n }\n });\n }\n\n this._initSurface();\n this.surface.draw(model.visual);\n\n if (this.options.transitions !== false) {\n model.traverse(function(element) {\n if (element.animation) {\n element.animation.play();\n }\n });\n }\n\n this._tooltip = this._createTooltip();\n this._highlight = new Highlight();\n this._setupSelection();\n this._createPannable();\n this._createZoomSelection();\n this._createMousewheelZoom();\n\n this.trigger(RENDER);\n triggerPaneRender(this._plotArea.panes);\n\n if (!this._navState) {\n this._cancelDomEvents();\n }\n };\n\n Chart.prototype.exportVisual = function exportVisual (exportOptions) {\n var visual;\n if (exportOptions && (exportOptions.width || exportOptions.height || exportOptions.options)) {\n var currentOptions = this.options;\n var options = deepExtend({}, exportOptions.options, {\n chartArea: {\n width: exportOptions.width,\n height: exportOptions.height\n }\n });\n\n clearMissingValues(this._originalOptions, options);\n this.options = deepExtend({}, this._originalOptions, options);\n this._initTheme(this.options, this._theme);\n this.bindCategories();\n\n var model = this._getModel();\n\n model.renderVisual();\n triggerPaneRender(model._plotArea.panes);\n\n visual = model.visual;\n\n this.options = currentOptions;\n } else {\n visual = this.surface.exportVisual();\n }\n\n return visual;\n };\n\n Chart.prototype._sharedTooltip = function _sharedTooltip () {\n return this._plotArea instanceof CategoricalPlotArea && this.options.tooltip && this.options.tooltip.shared;\n };\n\n Chart.prototype._createPannable = function _createPannable () {\n var options = this.options;\n if (options.pannable !== false) {\n this._pannable = new Pannable(this._plotArea, options.pannable);\n }\n };\n\n Chart.prototype._createZoomSelection = function _createZoomSelection () {\n var zoomable = this.options.zoomable;\n var selection = (zoomable || {}).selection;\n if (zoomable !== false && selection !== false) {\n this._zoomSelection = new ZoomSelection(this, selection);\n }\n };\n\n Chart.prototype._createMousewheelZoom = function _createMousewheelZoom () {\n var zoomable = this.options.zoomable;\n var mousewheel = (zoomable || {}).mousewheel;\n if (zoomable !== false && mousewheel !== false) {\n this._mousewheelZoom = new MousewheelZoom(this, mousewheel);\n }\n };\n\n Chart.prototype._toggleDragZoomEvents = function _toggleDragZoomEvents () {\n var pannable = this.options.pannable;\n var zoomable = this.options.zoomable;\n var selection = (zoomable || {}).selection;\n var mousewheel = (zoomable || {}).mousewheel;\n var allowDrag = !pannable && (zoomable === false || selection === false) && !this.requiresHandlers([ DRAG_START, DRAG, DRAG_END ]);\n var allowZoom = (zoomable === false || mousewheel === false) && !this.requiresHandlers([ ZOOM_START, ZOOM, ZOOM_END ]);\n var element = this.element;\n\n if (this._dragZoomEnabled && allowDrag && allowZoom) {\n element.style.touchAction = this._touchAction || '';\n this._dragZoomEnabled = false;\n } else if (!this._dragZoomEnabled && !(allowDrag && allowZoom)) {\n element.style.touchAction = \"none\";\n\n this._dragZoomEnabled = true;\n }\n\n this._toggleDomEvents(!allowDrag, !allowZoom);\n };\n\n Chart.prototype._toggleDomEvents = function _toggleDomEvents (drag, zoom) {\n var domEvents = this.domEvents;\n if (!domEvents) {\n return;\n }\n\n if (domEvents.toggleDrag) {\n domEvents.toggleDrag(drag);\n }\n\n if (domEvents.toggleZoom) {\n domEvents.toggleZoom(zoom);\n }\n };\n\n Chart.prototype._createTooltip = function _createTooltip () {\n var ref = this;\n var tooltipOptions = ref.options.tooltip;\n var tooltip;\n\n if (this._sharedTooltip()) {\n tooltip = this._createSharedTooltip(tooltipOptions);\n } else {\n tooltip = new Tooltip(this.chartService, tooltipOptions);\n }\n\n return tooltip;\n };\n\n Chart.prototype._createSharedTooltip = function _createSharedTooltip (options) {\n return new SharedTooltip(this._plotArea, options);\n };\n\n Chart.prototype.applyDefaults = function applyDefaults (options, themeOptions) {\n applyAxisDefaults(options, themeOptions);\n applySeriesDefaults(options, themeOptions);\n };\n\n Chart.prototype.applySeriesColors = function applySeriesColors () {\n var options = this.options;\n var series = options.series;\n var colors = options.seriesColors || [];\n\n for (var i = 0; i < series.length; i++) {\n var currentSeries = series[i];\n var seriesColor = colors[i % colors.length];\n var defaults = currentSeries._defaults;\n\n currentSeries.color = currentSeries.color || seriesColor;\n if (defaults) {\n defaults.color = defaults.color || seriesColor;\n }\n }\n };\n\n Chart.prototype._getModel = function _getModel () {\n var options = this.options;\n var plotArea = this._createPlotArea();\n var model = new RootElement(this._modelOptions());\n model.chart = this;\n model._plotArea = plotArea;\n\n var title = Title.buildTitle(options.title);\n var subtitle = Title.buildTitle(options.subtitle, {\n align: options.title.align,\n position: options.title.position\n });\n model.append.apply(model, Title.orderTitles([title, subtitle]));\n\n if (options.legend && options.legend.visible) {\n model.append(new Legend(plotArea.options.legend, this.chartService));\n }\n model.append(plotArea);\n model.reflow();\n\n return model;\n };\n\n Chart.prototype._modelOptions = function _modelOptions () {\n var options = this.options;\n var size = this.getSize();\n\n return deepExtend({\n transitions: options.transitions,\n width: size.width || DEFAULT_WIDTH,\n height: size.height || DEFAULT_HEIGHT\n }, options.chartArea);\n };\n\n Chart.prototype._createPlotArea = function _createPlotArea (skipSeries) {\n var options = this.options;\n\n var plotArea = PlotAreaFactory.current.create(skipSeries ? [] : options.series, options, this.chartService);\n\n return plotArea;\n };\n\n Chart.prototype._setupSelection = function _setupSelection () {\n var this$1 = this;\n\n var ref = this;\n var axes = ref._plotArea.axes;\n var selections = this._selections = [];\n\n for (var i = 0; i < axes.length; i++) {\n var axis = axes[i];\n var options = axis.options;\n if (axis instanceof CategoryAxis && options.select && !options.vertical) {\n var range = axis.range();\n\n var selection = new Selection(this$1, axis,\n deepExtend({ min: range.min, max: range.max }, options.select)\n );\n\n selections.push(selection);\n }\n }\n };\n\n Chart.prototype._selectStart = function _selectStart (e) {\n return this.trigger(SELECT_START, e);\n };\n\n Chart.prototype._select = function _select (e) {\n return this.trigger(SELECT, e);\n };\n\n Chart.prototype._selectEnd = function _selectEnd (e) {\n return this.trigger(SELECT_END, e);\n };\n\n Chart.prototype._initHandlers = function _initHandlers () {\n this._clickHandler = this._click.bind(this);\n this._mousewheelHandler = this._mousewheel.bind(this);\n this._mouseleaveHandler = this._mouseleave.bind(this);\n this._surfaceMouseenterHandler = this._mouseover.bind(this);\n this._surfaceMouseleaveHandler = this._mouseout.bind(this);\n\n this._mousemove = throttle(\n this._mousemove.bind(this),\n MOUSEMOVE_DELAY\n );\n };\n\n Chart.prototype.addObserver = function addObserver (observer) {\n if (observer) {\n this.observers.push(observer);\n }\n };\n\n Chart.prototype.removeObserver = function removeObserver (observer) {\n var index = this.observers.indexOf(observer);\n if (index >= 0) {\n this.observers.splice(index, 1);\n }\n };\n\n Chart.prototype.requiresHandlers = function requiresHandlers (eventNames) {\n var observers = this.observers;\n for (var idx = 0; idx < observers.length; idx++) {\n if (observers[idx].requiresHandlers(eventNames)) {\n return true;\n }\n }\n };\n\n Chart.prototype.trigger = function trigger (name, args) {\n if ( args === void 0 ) args = {};\n\n args.sender = this;\n\n if (name === SHOW_TOOLTIP) {\n args.anchor.point = this._toDocumentCoordinates(args.anchor.point);\n } else if (name === SERIES_OVER) {\n this._updateDrilldownPoint(args.point);\n } else if (name === SERIES_LEAVE) {\n this._resetDrilldownPoint();\n } else if (name === SERIES_CLICK) {\n this._startDrilldown(args.point);\n }\n\n var observers = this.observers;\n var isDefaultPrevented = false;\n for (var idx = 0; idx < observers.length; idx++) {\n if (observers[idx].trigger(name, args)) {\n isDefaultPrevented = true;\n }\n }\n\n return isDefaultPrevented;\n };\n\n Chart.prototype._attachEvents = function _attachEvents () {\n var obj, obj$1;\n\n var element = this.element;\n\n this._touchAction = element.style.touchAction;\n\n bindEvents(element, ( obj = {}, obj[ CONTEXTMENU ] = this._clickHandler, obj[ MOUSEWHEEL ] = this._mousewheelHandler, obj[ MOUSELEAVE ] = this._mouseleaveHandler, obj ));\n\n if (this._shouldAttachMouseMove()) {\n bindEvents(element, ( obj$1 = {}, obj$1[ MOUSEMOVE ] = this._mousemove, obj$1 ));\n }\n\n this.domEvents = DomEventsBuilder.create(this.element, {\n start: this._start.bind(this),\n move: this._move.bind(this),\n end: this._end.bind(this),\n tap: this._tap.bind(this),\n gesturestart: this._gesturestart.bind(this),\n gesturechange: this._gesturechange.bind(this),\n gestureend: this._gestureend.bind(this)\n });\n\n this._toggleDragZoomEvents();\n };\n\n Chart.prototype._mouseleave = function _mouseleave (e) {\n if (this._hoveredPoint) {\n this._hoveredPoint.out(this, e);\n this._hoveredPoint = null;\n }\n\n if (this._plotAreaHovered) {\n this._plotAreaHovered = false;\n this.trigger(PLOT_AREA_LEAVE);\n }\n };\n\n Chart.prototype._cancelDomEvents = function _cancelDomEvents () {\n if (this.domEvents && this.domEvents.cancel) {\n this.domEvents.cancel();\n }\n };\n\n Chart.prototype._gesturestart = function _gesturestart (e) {\n if (this._mousewheelZoom && !this._stopChartHandlers(e)) {\n this._gestureDistance = e.distance;\n this._unsetActivePoint();\n this.surface.suspendTracking();\n }\n };\n\n Chart.prototype._gestureend = function _gestureend (e) {\n if (this._zooming && !this._stopChartHandlers(e)) {\n if (this.surface) {\n this.surface.resumeTracking();\n }\n this._zooming = false;\n this.trigger(ZOOM_END, {});\n }\n };\n\n Chart.prototype._gesturechange = function _gesturechange (e) {\n var mousewheelZoom = this._mousewheelZoom;\n\n if (mousewheelZoom && !this._stopChartHandlers(e)) {\n e.preventDefault();\n var previousGestureDistance = this._gestureDistance;\n var scaleDelta = -e.distance / previousGestureDistance + 1;\n\n if (Math.abs(scaleDelta) >= 0.1) {\n scaleDelta = Math.round(scaleDelta * 10);\n\n this._gestureDistance = e.distance;\n var args = { delta: scaleDelta, axisRanges: axisRanges(this._plotArea.axes), originalEvent: e };\n if (this._zooming || !this.trigger(ZOOM_START, args)) {\n var coords = this._eventCoordinates(e);\n\n if (!this._zooming) {\n this._zooming = true;\n }\n\n var ranges = args.axisRanges = mousewheelZoom.updateRanges(scaleDelta, coords);\n if (ranges && !this.trigger(ZOOM, args)) {\n mousewheelZoom.zoom();\n }\n }\n }\n }\n };\n\n Chart.prototype._mouseout = function _mouseout (e) {\n if (e.element) {\n var element = this._drawingChartElement(e.element, e);\n\n if (element && element.leave) {\n element.leave(this, e.originalEvent);\n }\n }\n };\n\n Chart.prototype._start = function _start (e) {\n var coords = this._eventCoordinates(e);\n\n if (this._stopChartHandlers(e) || !this._plotArea.backgroundContainsPoint(coords)) {\n return;\n }\n\n\n if (this.requiresHandlers([ DRAG_START, DRAG, DRAG_END ])) {\n this._startNavigation(e, coords, DRAG_START);\n }\n\n if (this._pannable && this._pannable.start(e)) {\n this.surface.suspendTracking();\n this._unsetActivePoint();\n this._suppressHover = true;\n this.chartService.panning = true;\n }\n\n if (this._zoomSelection) {\n if (this._zoomSelection.start(e)) {\n this.trigger(ZOOM_START, { axisRanges: axisRanges(this._plotArea.axes), originalEvent: e });\n }\n }\n };\n\n Chart.prototype._move = function _move (e) {\n var ref = this;\n var state = ref._navState;\n var pannable = ref._pannable;\n\n if (this._stopChartHandlers(e)) {\n return;\n }\n\n if (pannable) {\n var ranges = pannable.move(e);\n\n if (ranges && !this.trigger(DRAG, { axisRanges: ranges, originalEvent: e })) {\n pannable.pan();\n }\n } else if (state) {\n var ranges$1 = {};\n var axes = state.axes;\n\n for (var i = 0; i < axes.length; i++) {\n var currentAxis = axes[i];\n var axisName = currentAxis.options.name;\n if (axisName) {\n var axis = currentAxis.options.vertical ? e.y : e.x;\n var delta = axis.startLocation - axis.location;\n\n if (delta !== 0) {\n ranges$1[currentAxis.options.name] = currentAxis.translateRange(delta);\n }\n }\n }\n\n state.axisRanges = ranges$1;\n this.trigger(DRAG, {\n axisRanges: ranges$1,\n originalEvent: e\n });\n }\n\n if (this._zoomSelection) {\n this._zoomSelection.move(e);\n }\n };\n\n Chart.prototype._end = function _end (e) {\n if (this._stopChartHandlers(e)) {\n return;\n }\n\n var pannable = this._pannable;\n if (pannable && pannable.end(e)) {\n this.surface.resumeTracking();\n this.trigger(DRAG_END, {\n axisRanges: axisRanges(this._plotArea.axes),\n originalEvent: e\n });\n this._suppressHover = false;\n this.chartService.panning = false;\n } else {\n this._endNavigation(e, DRAG_END);\n }\n\n if (this._zoomSelection) {\n var ranges = this._zoomSelection.end(e);\n if (ranges && !this.trigger(ZOOM, { axisRanges: ranges, originalEvent: e })) {\n this._zoomSelection.zoom();\n this.trigger(ZOOM_END, { axisRanges: ranges, originalEvent: e });\n }\n }\n };\n\n Chart.prototype._stopChartHandlers = function _stopChartHandlers (e) {\n var selections = this._selections || [];\n if (!selections.length) {\n return false;\n }\n\n var coords = this._eventCoordinates(e);\n var pane = this._plotArea.paneByPoint(coords);\n if (pane) {\n for (var idx = 0; idx < selections.length; idx++) {\n if (selections[idx].onPane(pane)) {\n return true;\n }\n }\n }\n };\n\n Chart.prototype._mousewheelZoomRate = function _mousewheelZoomRate () {\n var zoomable = this.options.zoomable;\n var mousewheel = (zoomable || {}).mousewheel || {};\n return valueOrDefault(mousewheel.rate, MOUSEWHEEL_ZOOM_RATE);\n };\n\n Chart.prototype._mousewheel = function _mousewheel (e) {\n var this$1 = this;\n\n var delta = mousewheelDelta(e);\n var mousewheelZoom = this._mousewheelZoom;\n var coords = this._eventCoordinates(e);\n\n if (this._stopChartHandlers(e) || !this._plotArea.backgroundContainsPoint(coords)) {\n return;\n }\n\n if (mousewheelZoom) {\n var args = { delta: delta, axisRanges: axisRanges(this._plotArea.axes), originalEvent: e };\n if (this._zooming || !this.trigger(ZOOM_START, args)) {\n e.preventDefault();\n\n if (!this._zooming) {\n this._unsetActivePoint();\n this.surface.suspendTracking();\n this._zooming = true;\n }\n\n if (this._mwTimeout) {\n clearTimeout(this._mwTimeout);\n }\n\n args.axisRanges = mousewheelZoom.updateRanges(delta, coords);\n if (args.axisRanges && !this.trigger(ZOOM, args)) {\n mousewheelZoom.zoom();\n }\n\n this._mwTimeout = setTimeout(function () {\n this$1.trigger(ZOOM_END, args);\n this$1._zooming = false;\n if (this$1.surface) {\n this$1.surface.resumeTracking();\n }\n }, MOUSEWHEEL_DELAY);\n }\n } else {\n var state = this._navState;\n if (!state) {\n var prevented = this._startNavigation(e, coords, ZOOM_START);\n if (!prevented) {\n state = this._navState;\n }\n }\n\n if (state) {\n var totalDelta = state.totalDelta || delta;\n state.totalDelta = totalDelta + delta;\n\n var axes = this._navState.axes;\n var ranges = {};\n\n for (var i = 0; i < axes.length; i++) {\n var currentAxis = axes[i];\n var axisName = currentAxis.options.name;\n if (axisName) {\n ranges[axisName] = currentAxis.scaleRange(-totalDelta * this$1._mousewheelZoomRate(), coords);\n }\n }\n\n this.trigger(ZOOM, {\n delta: delta,\n axisRanges: ranges,\n originalEvent: e\n });\n\n if (this._mwTimeout) {\n clearTimeout(this._mwTimeout);\n }\n\n this._mwTimeout = setTimeout(function () {\n this$1._endNavigation(e, ZOOM_END);\n }, MOUSEWHEEL_DELAY);\n }\n }\n };\n\n Chart.prototype._startNavigation = function _startNavigation (e, coords, chartEvent) {\n var plotArea = this._model._plotArea;\n var pane = plotArea.findPointPane(coords);\n var axes = plotArea.axes.slice(0);\n\n if (!pane) {\n return;\n }\n\n var ranges = axisRanges(axes);\n\n var prevented = this.trigger(chartEvent, {\n axisRanges: ranges,\n originalEvent: e\n });\n\n if (prevented) {\n this._cancelDomEvents();\n } else {\n this._suppressHover = true;\n this._unsetActivePoint();\n this._navState = {\n axisRanges: ranges,\n pane: pane,\n axes: axes\n };\n }\n };\n\n Chart.prototype._endNavigation = function _endNavigation (e, chartEvent) {\n if (this._navState) {\n this.trigger(chartEvent, {\n axisRanges: this._navState.axisRanges,\n originalEvent: e\n });\n this._suppressHover = false;\n this._navState = null;\n }\n };\n\n Chart.prototype._getChartElement = function _getChartElement (e, match) {\n var element = this.surface.eventTarget(e);\n if (element) {\n return this._drawingChartElement(element, e, match);\n }\n };\n\n Chart.prototype._drawingChartElement = function _drawingChartElement (element, e, match) {\n var current = element;\n var chartElement;\n while (current && !chartElement) {\n chartElement = current.chartElement;\n current = current.parent;\n }\n\n if (chartElement) {\n if (chartElement.aliasFor) {\n chartElement = chartElement.aliasFor(e, this._eventCoordinates(e));\n }\n\n if (match) {\n chartElement = chartElement.closest(match);\n if (chartElement && chartElement.aliasFor) {\n chartElement = chartElement.aliasFor();\n }\n }\n\n return chartElement;\n }\n };\n\n Chart.prototype._eventCoordinates = function _eventCoordinates (e) {\n var coordinates = eventCoordinates(e);\n return this._toModelCoordinates(coordinates.x, coordinates.y);\n };\n\n Chart.prototype._elementPadding = function _elementPadding () {\n if (!this._padding) {\n var ref = elementStyles(this.element, [ \"paddingLeft\", \"paddingTop\" ]);\n var paddingLeft = ref.paddingLeft;\n var paddingTop = ref.paddingTop;\n this._padding = {\n top: paddingTop,\n left: paddingLeft\n };\n }\n\n return this._padding;\n };\n\n Chart.prototype._toDocumentCoordinates = function _toDocumentCoordinates (point) {\n var padding = this._elementPadding();\n var offset = elementOffset(this.element);\n\n return {\n left: round(point.x + padding.left + offset.left),\n top: round(point.y + padding.top + offset.top)\n };\n };\n\n // TODO: Breaking change due to peer version change\n // Reuse by exposing _surfacePoint on Surface\n Chart.prototype._toModelCoordinates = function _toModelCoordinates (clientX, clientY) {\n var element = this.element;\n var offset = elementOffset(element);\n var padding = this._elementPadding();\n var inverseTransform = elementScale(element).invert();\n var point = new geometry.Point(\n clientX - offset.left - padding.left,\n clientY - offset.top - padding.top\n ).transform(inverseTransform);\n\n return new Point(point.x, point.y);\n };\n\n Chart.prototype._tap = function _tap (e) {\n var this$1 = this;\n\n var drawingElement = this.surface.eventTarget(e);\n var element = this._drawingChartElement(drawingElement, e);\n var sharedTooltip = this._sharedTooltip();\n\n if (!this._startHover(drawingElement, e) && !sharedTooltip) {\n this._unsetActivePoint();\n }\n\n if (sharedTooltip) {\n this._trackSharedTooltip(this._eventCoordinates(e), e, true);\n }\n\n this._propagateClick(element, e);\n\n //part of fix for hover issue on windows touch\n this.handlingTap = true;\n setTimeout(function () {\n this$1.handlingTap = false;\n }, 0);\n };\n\n Chart.prototype._click = function _click (e) {\n var element = this._getChartElement(e);\n this._propagateClick(element, e);\n };\n\n Chart.prototype._propagateClick = function _propagateClick (element, e) {\n var this$1 = this;\n\n var current = element;\n while (current) {\n if (current.click) {\n current.click(this$1, e);\n }\n\n current = current.parent;\n }\n };\n\n Chart.prototype._startHover = function _startHover (element, e) {\n if (this._suppressHover) {\n return false;\n }\n\n var point = this._drawingChartElement(element, e, function(element) {\n return (element.hover || element.over) && !(element instanceof PlotAreaBase);\n });\n\n this._showInactiveOpacity(point, e);\n\n return point;\n };\n\n Chart.prototype._displayTooltip = function _displayTooltip (point) {\n var tooltipOptions = deepExtend({}, this.options.tooltip, point.options.tooltip);\n if (tooltipOptions.visible) {\n this._tooltip.show(point);\n }\n };\n\n Chart.prototype._displayInactiveOpacity = function _displayInactiveOpacity (activePoint, multipleSeries, highlightPoints) {\n var chartInstance = this._activeChartInstance = this._chartInstanceFromPoint(activePoint);\n if (!chartInstance) {\n return;\n }\n\n if (multipleSeries) {\n this._updateSeriesOpacity(activePoint);\n this._applySeriesOpacity(chartInstance.children, null, true);\n this._applySeriesOpacity(chartInstance.children, activePoint.series);\n this._highlight.show(highlightPoints || activePoint);\n } else {\n var inactivePoints;\n\n if (!chartInstance.supportsPointInactiveOpacity()) {\n this._highlight.show(activePoint);\n return;\n }\n\n inactivePoints = this._getInactivePoints(activePoint, chartInstance);\n\n if (inactivePoints && inactivePoints.length) {\n this._highlight.show(inactivePoints, 1 - this._getInactiveOpacityForSeries(activePoint.series));\n }\n }\n };\n\n Chart.prototype._getInactivePoints = function _getInactivePoints (activePoint, chartInstance) {\n var allPoints = this._getAllPointsOfType(chartInstance, activePoint.constructor);\n\n return allPoints.filter(function (point) { return point !== activePoint; });\n };\n\n Chart.prototype._getAllPointsOfType = function _getAllPointsOfType (container, type) {\n var this$1 = this;\n\n var points = [];\n\n for (var i = 0; i < container.children.length; i++) {\n var element = container.children[i];\n\n if (element.constructor === type) {\n points.push(element);\n } else if (element.children && element.children.length) {\n points = points.concat(this$1._getAllPointsOfType(element, type));\n }\n }\n\n return points;\n };\n\n Chart.prototype._updateHoveredPoint = function _updateHoveredPoint (point, e) {\n var hoveredPoint = this._hoveredPoint;\n\n if (hoveredPoint && hoveredPoint !== point) {\n hoveredPoint.out(this, e);\n this._hoveredPoint = null;\n }\n\n if (point && hoveredPoint !== point && point.over) {\n this._hoveredPoint = point;\n point.over(this, e);\n }\n };\n\n Chart.prototype._updateDrilldownPoint = function _updateDrilldownPoint (point) {\n if (!point || !point.series) {\n return;\n }\n\n var ref = SeriesBinder.current.bindPoint(point.series, null, point.dataItem);\n var fields = ref.fields;\n if (fields.drilldown) {\n this._drilldownState = { cursor: this.element.style.cursor };\n this.element.style.cursor = 'pointer';\n }\n };\n\n Chart.prototype._resetDrilldownPoint = function _resetDrilldownPoint () {\n if (this._drilldownState) {\n this.element.style.cursor = this._drilldownState.cursor;\n this._drilldownState = null;\n }\n };\n\n Chart.prototype._startDrilldown = function _startDrilldown (point) {\n if (!point || !point.series) {\n return;\n }\n\n var series = point.series;\n var ref = SeriesBinder.current.bindPoint(series, null, point.dataItem);\n var fields = ref.fields;\n var value = fields.drilldown;\n if (value) {\n var args = { series: series, point: point, value: value, sender: this };\n this.trigger(DRILLDOWN, args);\n }\n };\n\n Chart.prototype._updateSeriesOpacity = function _updateSeriesOpacity (point, resetOpacity) {\n var this$1 = this;\n\n var plotArea = this._plotArea;\n var length = plotArea.series.length;\n\n for (var i = 0; i < length; i++) {\n var currSeries = plotArea.series[i];\n var defaultOpacity = this$1._getDefaultOpacityForSeries(currSeries);\n var inactiveOpacity = this$1._getInactiveOpacityForSeries(currSeries);\n\n if (!resetOpacity && currSeries !== point.series) {\n currSeries.defaultOpacity = defaultOpacity;\n currSeries.opacity = inactiveOpacity;\n\n if (currSeries.line) {\n currSeries.line.opacity = inactiveOpacity;\n }\n } else {\n currSeries.opacity = defaultOpacity;\n\n if (currSeries.line) {\n currSeries.line.opacity = defaultOpacity;\n }\n }\n }\n };\n\n Chart.prototype._applySeriesOpacity = function _applySeriesOpacity (elements, activeSeries, reset, series) {\n var this$1 = this;\n\n for (var i = 0; i < elements.length; i++) {\n var element = elements[i];\n var currSeries = element.series || series;\n var shouldHighlight = currSeries && (currSeries.highlight || {}).visible;\n\n if (shouldHighlight && element.visual) {\n var opacity = series ? series.opacity : element.series.opacity;\n if (currSeries !== activeSeries || reset) {\n element.visual.opacity(reset ? 1 : opacity);\n }\n }\n\n if (element.children && element.children.length) {\n this$1._applySeriesOpacity(element.children, activeSeries, reset, element.series);\n }\n }\n };\n\n Chart.prototype._chartInstanceFromPoint = function _chartInstanceFromPoint (point) {\n var chartInstance = point.parent;\n\n while (chartInstance && !chartInstance.plotArea) {\n chartInstance = chartInstance.parent;\n }\n\n return chartInstance;\n };\n\n Chart.prototype._showInactiveOpacity = function _showInactiveOpacity (point, e) {\n var activePoint = this._activePoint;\n var multipleSeries = this._plotArea.series.length > 1;\n var hasInactiveOpacity = this._hasInactiveOpacity();\n\n this._updateHoveredPoint(point, e);\n\n if (point && activePoint !== point && point.hover) {\n this._activePoint = point;\n\n if (!this._sharedTooltip() && !point.hover(this, e)) {\n this._displayTooltip(point);\n\n if (hasInactiveOpacity) {\n this._displayInactiveOpacity(point, multipleSeries);\n } else {\n this._highlight.show(point);\n }\n }\n }\n\n return point;\n };\n\n Chart.prototype._hideInactiveOpacity = function _hideInactiveOpacity (point) {\n var multipleSeries = this._plotArea.series.length > 1;\n var hasInactiveOpacity = this._hasInactiveOpacity();\n if (hasInactiveOpacity) {\n if (multipleSeries && this._activeChartInstance) {\n this._updateSeriesOpacity(point, true);\n this._applySeriesOpacity(this._activeChartInstance.children, null, true);\n this._activeChartInstance = null;\n }\n this._highlight && this._highlight.hide();\n this._activePoint = null;\n }\n };\n\n Chart.prototype._hasInactiveOpacity = function _hasInactiveOpacity () {\n var hasDefaultInactiveOpacity = this.options.seriesDefaults.highlight.inactiveOpacity !== undefined;\n var hasInactiveOpacity = this.options.series.filter(function (s) { return s.highlight.inactiveOpacity !== undefined; } ).length > 0;\n return hasDefaultInactiveOpacity || hasInactiveOpacity;\n };\n\n Chart.prototype._getInactiveOpacityForSeries = function _getInactiveOpacityForSeries (series) {\n var defaultInactiveOpacity = this.options.seriesDefaults.highlight.inactiveOpacity;\n var seriesInactiveOpacity = series.highlight.inactiveOpacity;\n return seriesInactiveOpacity || defaultInactiveOpacity || series.opacity || DEFAULT_SERIES_OPACITY;\n };\n\n Chart.prototype._getDefaultOpacityForSeries = function _getDefaultOpacityForSeries (series) {\n return series.defaultOpacity || series.opacity || DEFAULT_SERIES_OPACITY;\n };\n\n Chart.prototype._mouseover = function _mouseover (e) {\n var obj;\n\n var point = this._startHover(e.element, e.originalEvent);\n\n if (point && point.tooltipTracking && !this._mouseMoveTrackHandler && !this._sharedTooltip()) {\n this._mouseMoveTrackHandler = this._mouseMoveTracking.bind(this);\n bindEvents(document, ( obj = {}, obj[ MOUSEMOVE ] = this._mouseMoveTrackHandler, obj ));\n }\n };\n\n Chart.prototype._mouseMoveTracking = function _mouseMoveTracking (e) {\n var obj;\n\n var ref = this;\n var options = ref.options;\n var tooltip = ref._tooltip;\n var highlight = ref._highlight;\n var point = ref._activePoint;\n var coords = this._eventCoordinates(e);\n\n if (this._plotArea.box.containsPoint(coords)) {\n if (point && point.tooltipTracking && point.series && point.parent.getNearestPoint) {\n var seriesPoint = point.parent.getNearestPoint(coords.x, coords.y, point.seriesIx);\n if (seriesPoint && seriesPoint !== point) {\n this._activePoint = seriesPoint;\n\n if (!seriesPoint.hover(this, e)) {\n var tooltipOptions = deepExtend({}, options.tooltip, seriesPoint.options.tooltip);\n if (tooltipOptions.visible) {\n tooltip.show(seriesPoint);\n }\n\n highlight.show(seriesPoint);\n }\n }\n }\n } else {\n unbindEvents(document, ( obj = {}, obj[ MOUSEMOVE ] = this._mouseMoveTrackHandler, obj ));\n this._unsetActivePoint();\n this._mouseMoveTrackHandler = null;\n\n this._hideInactiveOpacity(point);\n }\n };\n\n Chart.prototype._mousemove = function _mousemove (e) {\n var coords = this._eventCoordinates(e);\n var plotArea = this._plotArea;\n\n this._trackCrosshairs(coords);\n\n if (plotArea.hover) {\n var overPlotArea = plotArea.backgroundContainsPoint(coords);\n if (overPlotArea) {\n this._plotAreaHovered = true;\n this._plotArea.hover(this, e);\n } else if (this._plotAreaHovered && !overPlotArea) {\n this._plotAreaHovered = false;\n this.trigger(PLOT_AREA_LEAVE);\n }\n }\n\n if (this._sharedTooltip()) {\n this._trackSharedTooltip(coords, e);\n }\n };\n\n Chart.prototype._trackCrosshairs = function _trackCrosshairs (coords) {\n var crosshairs = this._plotArea.crosshairs;\n\n for (var i = 0; i < crosshairs.length; i++) {\n var current = crosshairs[i];\n\n if (current.box.containsPoint(coords)) {\n current.showAt(coords);\n } else {\n current.hide();\n }\n }\n };\n\n Chart.prototype._trackSharedTooltip = function _trackSharedTooltip (coords, e, toggle) {\n if (this._suppressHover) {\n return;\n }\n\n var ref = this;\n var tooltipOptions = ref.options.tooltip;\n var plotArea = ref._plotArea;\n var categoryAxis = ref._plotArea.categoryAxis;\n var tooltip = ref._tooltip;\n var highlight = ref._highlight;\n\n if (plotArea.backgroundContainsPoint(coords)) {\n var index = categoryAxis.pointCategoryIndex(coords);\n if (index !== this._tooltipCategoryIx || (!this._sharedHighlight && toggle)) {\n var points = plotArea.pointsByCategoryIndex(index);\n var pointArgs = points.map(function(point) {\n return point.eventArgs(e);\n });\n var hoverArgs = pointArgs[0] || {};\n hoverArgs.categoryPoints = pointArgs;\n\n if (points.length > 0 && !this.trigger(SERIES_HOVER, hoverArgs)) {\n if (tooltipOptions.visible) {\n tooltip.showAt(points, coords);\n }\n\n highlight.show(points);\n\n this._sharedHighlight = true;\n } else {\n tooltip.hide();\n }\n\n this._tooltipCategoryIx = index;\n } else if (toggle && this._sharedHighlight) {\n highlight.hide();\n tooltip.hide();\n this._sharedHighlight = false;\n }\n } else if (this._sharedHighlight) {\n highlight.hide();\n tooltip.hide();\n this._tooltipCategoryIx = null;\n this._sharedHighlight = false;\n }\n };\n\n Chart.prototype.hideElements = function hideElements (options) {\n var plotArea = this._plotArea;\n this._mousemove.cancel();\n\n plotArea.hideCrosshairs();\n\n this._unsetActivePoint(options);\n };\n\n Chart.prototype._unsetActivePoint = function _unsetActivePoint (options) {\n var ref = this;\n var tooltip = ref._tooltip;\n var highlight = ref._highlight;\n\n this._activePoint = null;\n this._hoveredPoint = null;\n\n if (tooltip && !(options && options.keepTooltipOpen)) {\n tooltip.hide();\n }\n\n this._tooltipCategoryIx = null;\n this._sharedHighlight = false;\n\n if (highlight) {\n highlight.hide();\n }\n };\n\n Chart.prototype._deferRedraw = function _deferRedraw () {\n this._redraw();\n };\n\n Chart.prototype._clearRedrawTimeout = function _clearRedrawTimeout () {\n if (this._redrawTimeout) {\n clearInterval(this._redrawTimeout);\n this._redrawTimeout = null;\n }\n };\n\n Chart.prototype.bindCategories = function bindCategories () {\n var this$1 = this;\n\n var options = this.options;\n var definitions = [].concat(options.categoryAxis);\n\n for (var axisIx = 0; axisIx < definitions.length; axisIx++) {\n var axis = definitions[axisIx];\n if (axis.autoBind !== false) {\n this$1.bindCategoryAxisFromSeries(axis, axisIx);\n }\n }\n };\n\n Chart.prototype.bindCategoryAxisFromSeries = function bindCategoryAxisFromSeries (axis, axisIx) {\n var this$1 = this;\n\n var series = this.options.series;\n var seriesLength = series.length;\n var uniqueCategories = new HashMap();//perf improvement in case type category with dates\n var items = [];\n var bindable = false;\n var dateAxis;\n\n for (var seriesIx = 0; seriesIx < seriesLength; seriesIx++) {\n var s = series[seriesIx];\n var onAxis = s.categoryAxis === axis.name || (!s.categoryAxis && axisIx === 0);\n var data = s.data;\n var dataLength = data.length;\n var bind = s.categoryField && onAxis;\n bindable = bind || bindable;\n\n if (bind && dataLength > 0) {\n dateAxis = isDateAxis(axis, getField(s.categoryField, data[0]));\n\n var getFn = dateAxis ? getDateField : getField;\n\n for (var dataIx = 0; dataIx < dataLength; dataIx++) {\n var dataRow = data[dataIx];\n var category = getFn(s.categoryField, dataRow, this$1.chartService.intl);\n\n if (dateAxis || !uniqueCategories.get(category)) {\n items.push([ category, dataRow ]);\n\n if (!dateAxis) {\n uniqueCategories.set(category, true);\n }\n }\n }\n }\n }\n\n if (items.length > 0) {\n if (dateAxis) {\n items = uniqueDates(items, function(a, b) {\n return dateComparer(a[0], b[0]);\n });\n }\n\n var result = transpose(items);\n axis.categories = result[0];\n } else if (bindable) {\n axis.categories = [];\n }\n };\n\n Chart.prototype._isBindable = function _isBindable (series) {\n var valueFields = SeriesBinder.current.valueFields(series);\n var result = true;\n\n for (var i = 0; i < valueFields.length; i++) {\n var field = valueFields[i];\n if (field === VALUE) {\n field = \"field\";\n } else {\n field = field + \"Field\";\n }\n\n if (!defined(series[field])) {\n result = false;\n break;\n }\n }\n\n return result;\n };\n\n Chart.prototype._noTransitionsRedraw = function _noTransitionsRedraw () {\n var options = this.options;\n var transitionsState;\n\n if (options.transitions !== false) {\n options.transitions = false;\n transitionsState = true;\n }\n\n this._redraw();\n\n if (transitionsState) {\n options.transitions = true;\n }\n };\n\n Chart.prototype._legendItemHover = function _legendItemHover (seriesIndex, pointIndex) {\n var ref = this;\n var plotArea = ref._plotArea;\n var highlight = ref._highlight;\n var currentSeries = (plotArea.srcSeries || plotArea.series)[seriesIndex];\n var items;\n\n if (inArray(currentSeries.type, [ PIE, DONUT, FUNNEL ])) {\n items = plotArea.findPoint(function(point) {\n return point.series.index === seriesIndex && point.index === pointIndex;\n });\n } else {\n items = plotArea.pointsBySeriesIndex(seriesIndex);\n }\n\n if (this._hasInactiveOpacity() && currentSeries.visible && items) {\n var multipleSeries = plotArea.series.length > 1;\n var point = items.length ? items[0] : items;\n\n this._displayInactiveOpacity(point, multipleSeries, items);\n } else {\n highlight.show(items);\n }\n };\n\n Chart.prototype._shouldAttachMouseMove = function _shouldAttachMouseMove () {\n return this._plotArea.crosshairs.length || (this._tooltip && this._sharedTooltip()) || this.requiresHandlers([ PLOT_AREA_HOVER, PLOT_AREA_LEAVE ]);\n };\n\n Chart.prototype.updateMouseMoveHandler = function updateMouseMoveHandler () {\n var obj, obj$1;\n\n unbindEvents(this.element, ( obj = {}, obj[ MOUSEMOVE ] = this._mousemove, obj ));\n\n if (this._shouldAttachMouseMove()) {\n bindEvents(this.element, ( obj$1 = {}, obj$1[ MOUSEMOVE ] = this._mousemove, obj$1 ));\n }\n };\n\n Chart.prototype.applyOptions = function applyOptions (options, theme) {\n clearMissingValues(this._originalOptions, options);\n this._originalOptions = deepExtend(this._originalOptions, options);\n this.options = deepExtend({}, this._originalOptions);\n\n if (theme) {\n this._theme = theme;\n this.chartService.theme = theme;\n }\n this._initTheme(this.options, this._theme);\n\n this._toggleDragZoomEvents();\n };\n\n Chart.prototype.setOptions = function setOptions (options, theme) {\n this.applyOptions(options, theme);\n this.bindCategories();\n this.redraw();\n this.updateMouseMoveHandler();\n };\n\n Chart.prototype.setDirection = function setDirection (rtl) {\n this.chartService.rtl = Boolean(rtl);\n if (this.surface && this.surface.type === 'svg') {\n this._destroySurface();\n }\n };\n\n Chart.prototype.setIntlService = function setIntlService (intl) {\n this.chartService.intl = intl;\n };\n\n Chart.prototype.noTransitionsRedraw = function noTransitionsRedraw () {\n this._noTransitionsRedraw();\n };\n\n Chart.prototype.destroy = function destroy () {\n var obj, obj$1;\n\n this._destroyed = true;\n\n unbindEvents(this.element, ( obj = {}, obj[ CONTEXTMENU ] = this._clickHandler, obj[ MOUSEWHEEL ] = this._mousewheelHandler, obj[ MOUSEMOVE ] = this._mousemove, obj[ MOUSELEAVE ] = this._mouseleaveHandler, obj ));\n\n if (this.domEvents) {\n this.domEvents.destroy();\n delete this.domEvents;\n }\n\n if (this._mouseMoveTrackHandler) {\n unbindEvents(document, ( obj$1 = {}, obj$1[ MOUSEMOVE ] = this._mouseMoveTrackHandler, obj$1 ));\n }\n\n this._destroyView();\n\n this._destroySurface();\n\n this._clearRedrawTimeout();\n };\n\n Chart.prototype._destroySurface = function _destroySurface () {\n var surface = this.surface;\n if (surface) {\n surface.unbind(\"mouseenter\", this._surfaceMouseenterHandler);\n surface.unbind(\"mouseleave\", this._surfaceMouseleaveHandler);\n surface.destroy();\n\n this.surface = null;\n }\n };\n\n Chart.prototype._destroySelections = function _destroySelections () {\n var selections = this._selections;\n\n if (selections) {\n while (selections.length > 0) {\n selections.shift().destroy();\n }\n }\n };\n\n Chart.prototype._destroyView = function _destroyView () {\n var model = this._model;\n\n if (model) {\n model.destroy();\n this._model = null;\n }\n\n this._unsetActivePoint();\n this._resetDrilldownPoint();\n this._destroySelections();\n\n if (this._tooltip) {\n this._tooltip.destroy();\n }\n\n if (this._highlight) {\n this._highlight.destroy();\n }\n\n if (this._zoomSelection) {\n this._zoomSelection.destroy();\n delete this._zoomSelection;\n }\n\n if (this._pannable) {\n this._pannable.destroy();\n delete this._pannable;\n }\n\n if (this._mousewheelZoom) {\n this._mousewheelZoom.destroy();\n delete this._mousewheelZoom;\n }\n };\n\n return Chart;\n}(Class));\n\nfunction resolveAxisAliases(options) {\n var aliases = AXIS_NAMES;\n\n for (var idx = 0; idx < aliases.length; idx++) {\n var alias = aliases[idx] + \"Axes\";\n if (options[alias]) {\n options[aliases[idx] + \"Axis\"] = options[alias];\n delete options[alias];\n }\n }\n}\n\nfunction pointByCategoryName(points, name) {\n if (points) {\n for (var idx = 0; idx < points.length; idx++) {\n if (points[idx].category === name) {\n return [ points[idx] ];\n }\n }\n }\n}\n\nfunction applyAxisDefaults(options, themeOptions) {\n var themeAxisDefaults = ((themeOptions || {}).axisDefaults) || {};\n var axisName, axisDefaults, axes;\n\n function mapAxisOptions(axisOptions) {\n var axisColor = (axisOptions || {}).color || axisDefaults.color;\n var result = deepExtend({},\n themeAxisDefaults,\n themeAxisDefaults[axisName],\n axisDefaults,\n axisDefaults[axisName], {\n line: { color: axisColor },\n labels: { color: axisColor },\n title: { color: axisColor }\n },\n axisOptions\n );\n\n delete result[axisName];\n\n return result;\n }\n\n for (var idx = 0; idx < AXIS_NAMES.length; idx++) {\n axisName = AXIS_NAMES[idx] + \"Axis\";\n axisDefaults = options.axisDefaults || {};\n axes = [].concat(options[axisName]);\n\n axes = axes.map(mapAxisOptions);\n\n options[axisName] = axes.length > 1 ? axes : axes[0];\n }\n}\n\nfunction applySeriesDefaults(options, themeOptions) {\n var series = options.series;\n var seriesLength = series.length;\n var seriesDefaults = options.seriesDefaults;\n var commonDefaults = deepExtend({}, options.seriesDefaults);\n var themeSeriesDefaults = themeOptions ? deepExtend({}, themeOptions.seriesDefaults) : {};\n var commonThemeDefaults = deepExtend({}, themeSeriesDefaults);\n\n cleanupNestedSeriesDefaults(commonDefaults);\n cleanupNestedSeriesDefaults(commonThemeDefaults);\n\n for (var i = 0; i < seriesLength; i++) {\n var seriesType = series[i].type || options.seriesDefaults.type;\n\n var baseOptions = deepExtend(\n { data: [] },\n commonThemeDefaults,\n themeSeriesDefaults[seriesType],\n { tooltip: options.tooltip },\n commonDefaults,\n seriesDefaults[seriesType]\n );\n\n series[i]._defaults = baseOptions;\n series[i] = deepExtend({}, baseOptions, series[i]);\n series[i].data = series[i].data || [];\n }\n}\n\nfunction cleanupNestedSeriesDefaults(seriesDefaults) {\n delete seriesDefaults.bar;\n delete seriesDefaults.column;\n delete seriesDefaults.rangeColumn;\n delete seriesDefaults.line;\n delete seriesDefaults.verticalLine;\n delete seriesDefaults.pie;\n delete seriesDefaults.donut;\n delete seriesDefaults.area;\n delete seriesDefaults.verticalArea;\n delete seriesDefaults.scatter;\n delete seriesDefaults.scatterLine;\n delete seriesDefaults.bubble;\n delete seriesDefaults.candlestick;\n delete seriesDefaults.ohlc;\n delete seriesDefaults.boxPlot;\n delete seriesDefaults.bullet;\n delete seriesDefaults.verticalBullet;\n delete seriesDefaults.polarArea;\n delete seriesDefaults.polarLine;\n delete seriesDefaults.radarArea;\n delete seriesDefaults.radarLine;\n delete seriesDefaults.waterfall;\n}\n\n\nfunction axisRanges(axes) {\n var ranges = {};\n\n for (var i = 0; i < axes.length; i++) {\n var axis = axes[i];\n var axisName = axis.options.name;\n if (axisName) {\n ranges[axisName] = axis.range();\n }\n }\n\n return ranges;\n}\n\nfunction sortDates(dates, comparer) {\n if ( comparer === void 0 ) comparer = dateComparer;\n\n for (var i = 1, length = dates.length; i < length; i++) {\n if (comparer(dates[i], dates[i - 1]) < 0) {\n dates.sort(comparer);\n break;\n }\n }\n\n return dates;\n}\n\nfunction uniqueDates(srcDates, comparer) {\n if ( comparer === void 0 ) comparer = dateComparer;\n\n var dates = sortDates(srcDates, comparer);\n var length = dates.length;\n var result = length > 0 ? [ dates[0] ] : [];\n\n for (var i = 1; i < length; i++) {\n if (comparer(dates[i], last(result)) !== 0) {\n result.push(dates[i]);\n }\n }\n\n return result;\n}\n\nfunction transpose(rows) {\n var rowCount = rows.length;\n var result = [];\n\n for (var rowIx = 0; rowIx < rowCount; rowIx++) {\n var row = rows[rowIx];\n var colCount = row.length;\n\n for (var colIx = 0; colIx < colCount; colIx++) {\n result[colIx] = result[colIx] || [];\n result[colIx].push(row[colIx]);\n }\n }\n\n return result;\n}\n\nvar DATA_FIELDS = [ 'data', 'categories' ];\n\nfunction clearMissingValues(originalOptions, options) {\n for (var field in options) {\n if (!inArray(field, DATA_FIELDS) && options.hasOwnProperty(field)) {\n var fieldValue = options[field];\n var originalValue = originalOptions[field];\n if (defined(originalValue)) {\n var nullValue = fieldValue === null;\n if ((nullValue || !defined(fieldValue))) {\n delete originalOptions[field];\n if (nullValue) {\n delete options[field];\n }\n } else if (originalValue && isObject(fieldValue)) {\n if (isObject(originalValue)) {\n clearMissingValues(originalValue, fieldValue);\n }\n }\n }\n }\n }\n}\n\nfunction triggerPaneRender(panes) {\n for (var idx = 0; idx < panes.length; idx++) {\n panes[idx].notifyRender();\n }\n}\n\nsetDefaultOptions(Chart, {\n renderAs: \"\",\n chartArea: {},\n legend: {\n visible: true,\n labels: {}\n },\n categoryAxis: {},\n seriesDefaults: {\n type: COLUMN,\n data: [],\n highlight: {\n visible: true\n },\n labels: {},\n negativeValues: {\n visible: false\n }\n },\n series: [],\n seriesColors: null,\n tooltip: {\n visible: false\n },\n transitions: true,\n valueAxis: {},\n plotArea: {},\n title: {},\n xAxis: {},\n yAxis: {},\n panes: [ {} ],\n pannable: false,\n zoomable: false\n});\n\nexport default Chart;\n","import { SharedTooltip as ChartSharedTooltip } from '../chart';\nimport { Point } from '../core';\nvar TOP_OFFSET = -2;\n\nvar SharedTooltip = (function (ChartSharedTooltip) {\n function SharedTooltip () {\n ChartSharedTooltip.apply(this, arguments);\n }\n\n if ( ChartSharedTooltip ) SharedTooltip.__proto__ = ChartSharedTooltip;\n SharedTooltip.prototype = Object.create( ChartSharedTooltip && ChartSharedTooltip.prototype );\n SharedTooltip.prototype.constructor = SharedTooltip;\n\n SharedTooltip.prototype._slotAnchor = function _slotAnchor (coords, slot) {\n var axis = this.plotArea.categoryAxis;\n var vertical = axis.options.vertical;\n var align = vertical ? {\n horizontal: \"left\",\n vertical: \"center\"\n } : {\n horizontal: \"center\",\n vertical: \"bottom\"\n };\n\n var point;\n\n if (vertical) {\n point = new Point(this.plotArea.box.x2, slot.center().y);\n } else {\n point = new Point(slot.center().x, TOP_OFFSET);\n }\n\n return {\n point: point,\n align: align\n };\n };\n\n SharedTooltip.prototype._defaultAnchor = function _defaultAnchor (point, slot) {\n return this._slotAnchor({}, slot);\n };\n\n return SharedTooltip;\n}(ChartSharedTooltip));\n\nexport default SharedTooltip;","import { Chart } from '../chart';\nimport { BAR, BULLET, PIE, COLUMN, VERTICAL_BULLET } from '../chart/constants';\nimport{ addClass, deepExtend, elementSize, getSpacing, inArray, isArray, isNumber, setDefaultOptions } from '../common';\nimport SharedTooltip from './shared-tooltip';\n\nvar DEAULT_BAR_WIDTH = 150;\nvar DEAULT_BULLET_WIDTH = 150;\nvar NO_CROSSHAIR = [ BAR, BULLET ];\n\nfunction hide(children) {\n var state = [];\n for (var idx = 0; idx < children.length; idx++) {\n var child = children[idx];\n state[idx] = child.style.display;\n child.style.display = \"none\";\n }\n\n return state;\n}\n\nfunction show(children, state) {\n for (var idx = 0; idx < children.length; idx++) {\n children[idx].style.display = state[idx];\n }\n}\n\nfunction wrapNumber(value) {\n return isNumber(value) ? [ value ] : value;\n}\n\nvar Sparkline = (function (Chart) {\n function Sparkline () {\n Chart.apply(this, arguments);\n }\n\n if ( Chart ) Sparkline.__proto__ = Chart;\n Sparkline.prototype = Object.create( Chart && Chart.prototype );\n Sparkline.prototype.constructor = Sparkline;\n\n Sparkline.prototype._setElementClass = function _setElementClass (element) {\n addClass(element, 'k-sparkline');\n };\n\n Sparkline.prototype._initElement = function _initElement (element) {\n Chart.prototype._initElement.call(this, element);\n\n this._initialWidth = Math.floor(elementSize(element).width);\n };\n\n Sparkline.prototype._resize = function _resize () {\n var element = this.element;\n var state = hide(element.childNodes);\n\n this._initialWidth = Math.floor(elementSize(element).width);\n\n show(element.childNodes, state);\n\n Chart.prototype._resize.call(this);\n };\n\n Sparkline.prototype._modelOptions = function _modelOptions () {\n var chartOptions = this.options;\n var stage = this._surfaceWrap();\n var displayState = hide(stage.childNodes);\n\n var space = document.createElement('span');\n space.innerHTML = ' ';\n\n stage.appendChild(space);\n\n var options = deepExtend({\n width: this._autoWidth,\n height: elementSize(stage).height,\n transitions: chartOptions.transitions\n }, chartOptions.chartArea, {\n inline: true,\n align: false\n });\n\n elementSize(stage, {\n width: options.width,\n height: options.height\n });\n\n stage.removeChild(space);\n\n show(stage.childNodes, displayState);\n\n if (this.surface) {\n this.surface.resize();\n }\n\n return options;\n };\n\n Sparkline.prototype._surfaceWrap = function _surfaceWrap () {\n if (!this.stage) {\n var stage = this.stage = document.createElement('span');\n this.element.appendChild(stage);\n }\n return this.stage;\n };\n\n Sparkline.prototype._createPlotArea = function _createPlotArea (skipSeries) {\n var plotArea = Chart.prototype._createPlotArea.call(this, skipSeries);\n this._autoWidth = this._initialWidth || this._calculateWidth(plotArea);\n\n return plotArea;\n };\n\n Sparkline.prototype._calculateWidth = function _calculateWidth (plotArea) {\n var options = this.options;\n var margin = getSpacing(options.chartArea.margin);\n var charts = plotArea.charts;\n var stage = this._surfaceWrap();\n var total = 0;\n\n\n for (var i = 0; i < charts.length; i++) {\n var currentChart = charts[i];\n var firstSeries = (currentChart.options.series || [])[0];\n if (!firstSeries) {\n continue;\n }\n\n if (firstSeries.type === BAR) {\n return DEAULT_BAR_WIDTH;\n }\n\n if (firstSeries.type === BULLET) {\n return DEAULT_BULLET_WIDTH;\n }\n\n if (firstSeries.type === PIE) {\n return elementSize(stage).height;\n }\n\n var categoryAxis = currentChart.categoryAxis;\n if (categoryAxis) {\n var pointsCount = categoryAxis.categoriesCount() *\n (!currentChart.options.isStacked && inArray(firstSeries.type, [ COLUMN, VERTICAL_BULLET ]) ? currentChart.seriesOptions.length : 1);\n\n total = Math.max(total, pointsCount);\n }\n }\n\n var size = total * options.pointWidth;\n if (size > 0) {\n size += margin.left + margin.right;\n }\n\n return size;\n };\n\n Sparkline.prototype._createSharedTooltip = function _createSharedTooltip (options) {\n return new SharedTooltip(this._plotArea, options);\n };\n\n Sparkline.normalizeOptions = function normalizeOptions (userOptions) {\n var options = wrapNumber(userOptions);\n\n if (isArray(options)) {\n options = { seriesDefaults: { data: options } };\n } else {\n options = deepExtend({}, options);\n }\n\n if (!options.series) {\n options.series = [ { data: wrapNumber(options.data) } ];\n }\n\n deepExtend(options, {\n seriesDefaults: {\n type: options.type\n }\n });\n\n if (inArray(options.series[0].type, NO_CROSSHAIR) ||\n inArray(options.seriesDefaults.type, NO_CROSSHAIR)) {\n options = deepExtend({}, {\n categoryAxis: {\n crosshair: {\n visible: false\n }\n }\n }, options);\n }\n\n return options;\n };\n\n return Sparkline;\n}(Chart));\n\nsetDefaultOptions(Sparkline, {\n chartArea: {\n margin: 2\n },\n axisDefaults: {\n visible: false,\n majorGridLines: {\n visible: false\n },\n valueAxis: {\n narrowRange: true\n }\n },\n seriesDefaults: {\n type: \"line\",\n area: {\n line: {\n width: 0.5\n }\n },\n bar: {\n stack: true\n },\n padding: 2,\n width: 0.5,\n overlay: {\n gradient: null\n },\n highlight: {\n visible: false\n },\n border: {\n width: 0\n },\n markers: {\n size: 2,\n visible: false\n }\n },\n tooltip: {\n visible: true,\n shared: true\n },\n categoryAxis: {\n crosshair: {\n visible: true,\n tooltip: {\n visible: false\n }\n }\n },\n legend: {\n visible: false\n },\n transitions: false,\n\n pointWidth: 5,\n\n panes: [ { clip: false } ]\n});\n\nexport default Sparkline;","import { drawing as draw } from '@progress/kendo-drawing';\n\nimport { interpolateValue, elementStyles } from '../common';\n\nvar FadeOutAnimation = (function (superclass) {\n function FadeOutAnimation () {\n superclass.apply(this, arguments);\n }\n\n if ( superclass ) FadeOutAnimation.__proto__ = superclass;\n FadeOutAnimation.prototype = Object.create( superclass && superclass.prototype );\n FadeOutAnimation.prototype.constructor = FadeOutAnimation;\n\n FadeOutAnimation.prototype.setup = function setup () {\n this._initialOpacity = parseFloat(elementStyles(this.element, 'opacity').opacity);\n };\n\n FadeOutAnimation.prototype.step = function step (pos) {\n elementStyles(this.element, {\n opacity: String(interpolateValue(this._initialOpacity, 0, pos))\n });\n };\n\n FadeOutAnimation.prototype.abort = function abort () {\n superclass.prototype.abort.call(this);\n elementStyles(this.element, {\n display: 'none',\n opacity: String(this._initialOpacity)\n });\n };\n\n FadeOutAnimation.prototype.cancel = function cancel () {\n superclass.prototype.abort.call(this);\n elementStyles(this.element, {\n opacity: String(this._initialOpacity)\n });\n };\n\n return FadeOutAnimation;\n}(draw.Animation));\n\nexport default FadeOutAnimation;","import { Class, deepExtend, elementStyles, getTemplate, setDefaultOptions } from '../common';\nimport { toDate, toTime } from '../date-utils';\nimport FadeOutAnimation from './fade-out-animation';\n\nfunction createDiv(className, style) {\n var div = document.createElement(\"div\");\n div.className = className;\n if (style) {\n div.style.cssText = style;\n }\n\n return div;\n}\n\nvar NavigatorHint = (function (Class) {\n function NavigatorHint(container, chartService, options) {\n Class.call(this);\n\n this.options = deepExtend({}, this.options, options);\n this.container = container;\n this.chartService = chartService;\n\n var padding = elementStyles(container, [ \"paddingLeft\", \"paddingTop\" ]);\n this.chartPadding = {\n top: padding.paddingTop,\n left: padding.paddingLeft\n };\n\n this.createElements();\n container.appendChild(this.element);\n }\n\n if ( Class ) NavigatorHint.__proto__ = Class;\n NavigatorHint.prototype = Object.create( Class && Class.prototype );\n NavigatorHint.prototype.constructor = NavigatorHint;\n\n NavigatorHint.prototype.createElements = function createElements () {\n var element = this.element = createDiv('k-navigator-hint', 'display: none; position: absolute; top: 1px; left: 1px;');\n var tooltip = this.tooltip = createDiv('k-tooltip k-chart-tooltip');\n var scroll = this.scroll = createDiv('k-scroll');\n\n tooltip.innerHTML = ' ';\n\n element.appendChild(tooltip);\n element.appendChild(scroll);\n };\n\n NavigatorHint.prototype.show = function show (from, to, bbox) {\n var ref = this;\n var element = ref.element;\n var options = ref.options;\n var scroll = ref.scroll;\n var tooltip = ref.tooltip;\n var middle = toDate(toTime(from) + toTime(to - from) / 2);\n var scrollWidth = bbox.width() * 0.4;\n var minPos = bbox.center().x - scrollWidth;\n var maxPos = bbox.center().x;\n var posRange = maxPos - minPos;\n var range = options.max - options.min;\n var scale = posRange / range;\n var offset = middle - options.min;\n var text = this.chartService.intl.format(options.format, from, to);\n var template = getTemplate(options);\n\n this.clearHideTimeout();\n\n if (!this._visible) {\n elementStyles(element, {\n visibility: 'hidden',\n display: 'block'\n });\n this._visible = true;\n }\n\n if (template) {\n text = template({\n from: from,\n to: to\n });\n }\n\n tooltip.innerHTML = text;\n elementStyles(tooltip, {\n left: bbox.center().x - tooltip.offsetWidth / 2,\n top: bbox.y1\n });\n\n var tooltipStyle = elementStyles(tooltip, [ 'marginTop', 'borderTopWidth', 'height' ]);\n\n elementStyles(scroll, {\n width: scrollWidth,\n left: minPos + offset * scale,\n top: bbox.y1 + tooltipStyle.marginTop + tooltipStyle.borderTopWidth + tooltipStyle.height / 2\n });\n\n elementStyles(element, {\n visibility: 'visible'\n });\n };\n\n NavigatorHint.prototype.clearHideTimeout = function clearHideTimeout () {\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout);\n }\n\n if (this._hideAnimation) {\n this._hideAnimation.cancel();\n }\n };\n\n NavigatorHint.prototype.hide = function hide () {\n var this$1 = this;\n\n this.clearHideTimeout();\n\n this._hideTimeout = setTimeout(function () {\n this$1._visible = false;\n this$1._hideAnimation = new FadeOutAnimation(this$1.element);\n this$1._hideAnimation.setup();\n this$1._hideAnimation.play();\n }, this.options.hideDelay);\n };\n\n NavigatorHint.prototype.destroy = function destroy () {\n this.clearHideTimeout();\n if (this.container) {\n this.container.removeChild(this.element);\n }\n delete this.container;\n delete this.chartService;\n delete this.element;\n delete this.tooltip;\n delete this.scroll;\n };\n\n return NavigatorHint;\n}(Class));\n\nsetDefaultOptions(NavigatorHint, {\n format: \"{0:d} - {1:d}\",\n hideDelay: 500\n});\n\nexport default NavigatorHint;","var NAVIGATOR_PANE = \"_navigator\";\nvar NAVIGATOR_AXIS = NAVIGATOR_PANE;\nvar DEFAULT_PANE = \"_default\";\n\nexport { NAVIGATOR_AXIS, NAVIGATOR_PANE, DEFAULT_PANE };\n","import NavigatorHint from './navigator-hint';\nimport { Selection, filterSeriesByType } from '../chart';\nimport { DRAG, DRAG_END, EQUALLY_SPACED_SERIES, ZOOM, ZOOM_END } from '../chart/constants';\nimport { DateCategoryAxis } from '../core';\nimport { addDuration, parseDate, toDate, toTime } from '../date-utils';\nimport { Class, deepExtend, defined, getTemplate, InstanceObserver, last, limitValue, valueOrDefault } from '../common';\nimport { NAVIGATOR_AXIS, NAVIGATOR_PANE, DEFAULT_PANE } from './constants';\n\nvar ZOOM_ACCELERATION = 3;\n\nvar Navigator = (function (Class) {\n function Navigator(chart) {\n var obj;\n\n Class.call(this);\n\n this.chart = chart;\n var options = this.options = deepExtend({}, this.options, chart.options.navigator);\n var select = options.select;\n if (select) {\n select.from = this.parseDate(select.from);\n select.to = this.parseDate(select.to);\n }\n\n if (!defined(options.hint.visible)) {\n options.hint.visible = options.visible;\n }\n\n this.chartObserver = new InstanceObserver(this, ( obj = {}, obj[DRAG] = '_drag', obj[DRAG_END] = '_dragEnd', obj[ZOOM] = '_zoom', obj[ZOOM_END] = '_zoomEnd', obj ));\n chart.addObserver(this.chartObserver);\n }\n\n if ( Class ) Navigator.__proto__ = Class;\n Navigator.prototype = Object.create( Class && Class.prototype );\n Navigator.prototype.constructor = Navigator;\n\n Navigator.prototype.parseDate = function parseDate$1 (value) {\n return parseDate(this.chart.chartService.intl, value);\n };\n\n Navigator.prototype.clean = function clean () {\n if (this.selection) {\n this.selection.destroy();\n this.selection = null;\n }\n\n if (this.hint) {\n this.hint.destroy();\n this.hint = null;\n }\n };\n\n Navigator.prototype.destroy = function destroy () {\n if (this.chart) {\n this.chart.removeObserver(this.chartObserver);\n delete this.chart;\n }\n\n this.clean();\n };\n\n Navigator.prototype.redraw = function redraw () {\n this._redrawSelf();\n this.initSelection();\n };\n\n Navigator.prototype.initSelection = function initSelection () {\n var ref = this;\n var chart = ref.chart;\n var options = ref.options;\n var axis = this.mainAxis();\n var ref$1 = axis.roundedRange();\n var min = ref$1.min;\n var max = ref$1.max;\n var ref$2 = options.select;\n var from = ref$2.from;\n var to = ref$2.to;\n var mousewheel = ref$2.mousewheel;\n var axisClone = clone(axis);\n\n if (axis.categoriesCount() === 0) {\n return;\n }\n\n this.clean();\n\n // \"Freeze\" the selection axis position until the next redraw\n axisClone.box = axis.box;\n\n this.selection = new Selection(chart, axisClone, {\n min: min,\n max: max,\n from: from || min,\n to: to || max,\n mousewheel: valueOrDefault(mousewheel, { zoom: \"left\" }),\n visible: options.visible\n }, new InstanceObserver(this, {\n selectStart: '_selectStart',\n select: '_select',\n selectEnd: '_selectEnd'\n }));\n\n if (options.hint.visible) {\n this.hint = new NavigatorHint(chart.element, chart.chartService, {\n min: min,\n max: max,\n template: getTemplate(options.hint),\n format: options.hint.format\n });\n }\n };\n\n Navigator.prototype.setRange = function setRange () {\n var plotArea = this.chart._createPlotArea(true);\n var axis = plotArea.namedCategoryAxes[NAVIGATOR_AXIS];\n\n var ref = axis.roundedRange();\n var min = ref.min;\n var max = ref.max;\n\n var select = this.options.select || {};\n var from = select.from || min;\n if (from < min) {\n from = min;\n }\n\n var to = select.to || max;\n if (to > max) {\n to = max;\n }\n\n this.options.select = deepExtend({}, select, {\n from: from,\n to: to\n });\n\n this.filterAxes();\n };\n\n Navigator.prototype._redrawSelf = function _redrawSelf (silent) {\n var plotArea = this.chart._plotArea;\n\n if (plotArea) {\n plotArea.redraw(last(plotArea.panes), silent);\n }\n };\n\n Navigator.prototype.redrawSlaves = function redrawSlaves () {\n var chart = this.chart;\n var plotArea = chart._plotArea;\n var slavePanes = plotArea.panes.filter(function (pane) { return pane.options.name !== NAVIGATOR_PANE; });\n\n // Update the original series and categoryAxis before partial refresh.\n plotArea.srcSeries = chart.options.series;\n plotArea.options.categoryAxis = chart.options.categoryAxis;\n plotArea.clearSeriesPointsCache();\n\n plotArea.redraw(slavePanes);\n };\n\n Navigator.prototype._drag = function _drag (e) {\n var ref = this;\n var chart = ref.chart;\n var selection = ref.selection;\n var coords = chart._eventCoordinates(e.originalEvent);\n var navigatorAxis = this.mainAxis();\n var naviRange = navigatorAxis.roundedRange();\n var inNavigator = navigatorAxis.pane.box.containsPoint(coords);\n var axis = chart._plotArea.categoryAxis;\n var range = e.axisRanges[axis.options.name];\n var select = this.options.select;\n var duration;\n\n if (!range || inNavigator || !selection) {\n return;\n }\n\n if (select.from && select.to) {\n duration = toTime(select.to) - toTime(select.from);\n } else {\n duration = toTime(selection.options.to) - toTime(selection.options.from);\n }\n\n var from = toDate(limitValue(\n toTime(range.min),\n naviRange.min, toTime(naviRange.max) - duration\n ));\n\n var to = toDate(limitValue(\n toTime(from) + duration,\n toTime(naviRange.min) + duration, naviRange.max\n ));\n\n this.options.select = { from: from, to: to };\n\n if (this.options.liveDrag) {\n this.filterAxes();\n this.redrawSlaves();\n }\n\n selection.set(from, to);\n\n this.showHint(from, to);\n };\n\n Navigator.prototype._dragEnd = function _dragEnd () {\n this.filterAxes();\n this.filter();\n this.redrawSlaves();\n\n if (this.hint) {\n this.hint.hide();\n }\n };\n\n Navigator.prototype.readSelection = function readSelection () {\n var ref = this;\n var ref_selection_options = ref.selection.options;\n var from = ref_selection_options.from;\n var to = ref_selection_options.to;\n var select = ref.options.select;\n\n select.from = from;\n select.to = to;\n };\n\n Navigator.prototype.filterAxes = function filterAxes () {\n var ref = this;\n var select = ref.options.select; if ( select === void 0 ) select = { };\n var chart = ref.chart;\n var allAxes = chart.options.categoryAxis;\n var from = select.from;\n var to = select.to;\n\n for (var idx = 0; idx < allAxes.length; idx++) {\n var axis = allAxes[idx];\n if (axis.pane !== NAVIGATOR_PANE) {\n axis.min = from;\n axis.max = to;\n }\n }\n };\n\n Navigator.prototype.filter = function filter () {\n var ref = this;\n var chart = ref.chart;\n var select = ref.options.select;\n\n if (!chart.requiresHandlers([ \"navigatorFilter\" ])) {\n return;\n }\n\n var mainAxis = this.mainAxis();\n var args = {\n from: select.from,\n to: select.to\n };\n\n if (mainAxis.options.type !== 'category') {\n var axisOptions = new DateCategoryAxis(deepExtend({\n baseUnit: \"fit\"\n }, chart.options.categoryAxis[0], {\n categories: [ select.from, select.to ]\n }), chart.chartService).options;\n\n args.from = addDuration(axisOptions.min, -axisOptions.baseUnitStep, axisOptions.baseUnit);\n args.to = addDuration(axisOptions.max, axisOptions.baseUnitStep, axisOptions.baseUnit);\n }\n\n this.chart.trigger(\"navigatorFilter\", args);\n };\n\n Navigator.prototype._zoom = function _zoom (e) {\n var ref = this;\n var axis = ref.chart._plotArea.categoryAxis;\n var selection = ref.selection;\n var ref_options = ref.options;\n var select = ref_options.select;\n var liveDrag = ref_options.liveDrag;\n var mainAxis = this.mainAxis();\n var delta = e.delta;\n\n if (!selection) {\n return;\n }\n\n var fromIx = mainAxis.categoryIndex(selection.options.from);\n var toIx = mainAxis.categoryIndex(selection.options.to);\n var coords = this.chart._eventCoordinates(e.originalEvent);\n\n e.originalEvent.preventDefault();\n\n if (Math.abs(delta) > 1) {\n delta *= ZOOM_ACCELERATION;\n }\n\n if (toIx - fromIx > 1) {\n selection.zoom(delta, coords);\n this.readSelection();\n } else {\n axis.options.min = select.from;\n select.from = axis.scaleRange(-e.delta * this.chart._mousewheelZoomRate(), coords).min;\n }\n\n if (liveDrag) {\n this.filterAxes();\n this.redrawSlaves();\n }\n\n selection.set(select.from, select.to);\n\n this.showHint(this.options.select.from, this.options.select.to);\n };\n\n Navigator.prototype._zoomEnd = function _zoomEnd (e) {\n this._dragEnd(e);\n };\n\n Navigator.prototype.showHint = function showHint (from, to) {\n var plotArea = this.chart._plotArea;\n\n if (this.hint) {\n this.hint.show(from, to, plotArea.backgroundBox());\n }\n };\n\n Navigator.prototype._selectStart = function _selectStart (e) {\n return this.chart._selectStart(e);\n };\n\n Navigator.prototype._select = function _select (e) {\n this.showHint(e.from, e.to);\n\n return this.chart._select(e);\n };\n\n Navigator.prototype._selectEnd = function _selectEnd (e) {\n if (this.hint) {\n this.hint.hide();\n }\n\n this.readSelection();\n this.filterAxes();\n this.filter();\n this.redrawSlaves();\n\n return this.chart._selectEnd(e);\n };\n\n Navigator.prototype.mainAxis = function mainAxis () {\n var plotArea = this.chart._plotArea;\n\n if (plotArea) {\n return plotArea.namedCategoryAxes[NAVIGATOR_AXIS];\n }\n };\n\n Navigator.prototype.select = function select (from, to) {\n var select = this.options.select;\n\n if (from && to) {\n select.from = this.parseDate(from);\n select.to = this.parseDate(to);\n\n this.filterAxes();\n this.filter();\n this.redrawSlaves();\n\n this.selection.set(from, to);\n }\n\n return {\n from: select.from,\n to: select.to\n };\n };\n\n Navigator.setup = function setup (options, themeOptions) {\n if ( options === void 0 ) options = {};\n if ( themeOptions === void 0 ) themeOptions = {};\n\n if (options.__navi) {\n return;\n }\n options.__navi = true;\n\n var naviOptions = deepExtend({}, themeOptions.navigator, options.navigator);\n var panes = options.panes = [].concat(options.panes);\n var paneOptions = deepExtend({}, naviOptions.pane, { name: NAVIGATOR_PANE });\n\n if (!naviOptions.visible) {\n paneOptions.visible = false;\n paneOptions.height = 0.1;\n }\n\n if (options.navigator.position !== 'top') {\n panes.push(paneOptions);\n } else {\n panes.unshift(paneOptions);\n }\n\n panes.forEach(function (pane) { return pane.name = pane.name || DEFAULT_PANE; });\n\n Navigator.attachAxes(options, naviOptions);\n Navigator.attachSeries(options, naviOptions, themeOptions);\n };\n\n Navigator.attachAxes = function attachAxes (options, naviOptions) {\n var series = naviOptions.series || [];\n var categoryAxes = options.categoryAxis = [].concat(options.categoryAxis);\n var valueAxes = options.valueAxis = [].concat(options.valueAxis);\n var allAxes = categoryAxes.concat(valueAxes);\n allAxes.forEach(function (axis) { return axis.pane = axis.pane || DEFAULT_PANE; });\n\n var equallySpacedSeries = filterSeriesByType(series, EQUALLY_SPACED_SERIES);\n var justifyAxis = equallySpacedSeries.length === 0;\n\n var base = deepExtend({\n type: \"date\",\n pane: NAVIGATOR_PANE,\n roundToBaseUnit: !justifyAxis,\n justified: justifyAxis,\n _collapse: false,\n majorTicks: { visible: true },\n tooltip: { visible: false },\n labels: { step: 1 },\n autoBind: naviOptions.autoBindElements,\n autoBaseUnitSteps: {\n minutes: [ 1 ],\n hours: [ 1, 2 ],\n days: [ 1, 2 ],\n weeks: [],\n months: [ 1 ],\n years: [ 1 ]\n }\n });\n var user = naviOptions.categoryAxis;\n\n categoryAxes.push(\n deepExtend({}, base, {\n maxDateGroups: 200\n }, user, {\n name: NAVIGATOR_AXIS,\n title: null,\n baseUnit: \"fit\",\n baseUnitStep: \"auto\",\n labels: { visible: false },\n majorTicks: { visible: false }\n }), deepExtend({}, base, user, {\n name: NAVIGATOR_AXIS + \"_labels\",\n maxDateGroups: 20,\n baseUnitStep: \"auto\",\n labels: { position: \"\" },\n plotBands: [],\n autoBaseUnitSteps: {\n minutes: []\n },\n _overlap: true\n }), deepExtend({}, base, user, {\n name: NAVIGATOR_AXIS + \"_ticks\",\n maxDateGroups: 200,\n majorTicks: {\n width: 0.5\n },\n plotBands: [],\n title: null,\n labels: { visible: false, mirror: true },\n _overlap: true\n })\n );\n\n valueAxes.push(deepExtend({\n name: NAVIGATOR_AXIS,\n pane: NAVIGATOR_PANE,\n majorGridLines: {\n visible: false\n },\n visible: false\n }, naviOptions.valueAxis));\n };\n\n Navigator.attachSeries = function attachSeries (options, naviOptions, themeOptions) {\n var series = options.series = options.series || [];\n var navigatorSeries = [].concat(naviOptions.series || []);\n var seriesColors = themeOptions.seriesColors;\n var defaults = naviOptions.seriesDefaults;\n\n for (var idx = 0; idx < navigatorSeries.length; idx++) {\n series.push(\n deepExtend({\n color: seriesColors[idx % seriesColors.length],\n categoryField: naviOptions.dateField,\n visibleInLegend: false,\n tooltip: {\n visible: false\n }\n }, defaults, navigatorSeries[idx], {\n axis: NAVIGATOR_AXIS,\n categoryAxis: NAVIGATOR_AXIS,\n autoBind: naviOptions.autoBindElements\n })\n );\n }\n };\n\n return Navigator;\n}(Class));\n\nfunction ClonedObject() { }\nfunction clone(obj) {\n ClonedObject.prototype = obj;\n return new ClonedObject();\n}\n\nexport default Navigator;\n","import { Chart } from '../chart';\n\nimport Navigator from './navigator';\nimport { DEFAULT_WIDTH } from '../common/constants';\nimport { addClass, deepExtend, elementSize, grep, setDefaultOptions } from '../common';\nimport { NAVIGATOR_AXIS, NAVIGATOR_PANE } from './constants';\n\nvar AUTO_CATEGORY_WIDTH = 28;\n\nvar StockChart = (function (Chart) {\n function StockChart () {\n Chart.apply(this, arguments);\n }\n\n if ( Chart ) StockChart.__proto__ = Chart;\n StockChart.prototype = Object.create( Chart && Chart.prototype );\n StockChart.prototype.constructor = StockChart;\n\n StockChart.prototype.applyDefaults = function applyDefaults (options, themeOptions) {\n var width = elementSize(this.element).width || DEFAULT_WIDTH;\n var theme = themeOptions;\n\n var stockDefaults = {\n seriesDefaults: {\n categoryField: options.dateField\n },\n axisDefaults: {\n categoryAxis: {\n name: \"default\",\n majorGridLines: {\n visible: false\n },\n labels: {\n step: 2\n },\n majorTicks: {\n visible: false\n },\n maxDateGroups: Math.floor(width / AUTO_CATEGORY_WIDTH)\n }\n }\n };\n\n if (theme) {\n theme = deepExtend({}, theme, stockDefaults);\n }\n\n Navigator.setup(options, theme);\n\n Chart.prototype.applyDefaults.call(this, options, theme);\n };\n\n StockChart.prototype._setElementClass = function _setElementClass (element) {\n addClass(element, 'k-chart k-stockchart');\n };\n\n StockChart.prototype.setOptions = function setOptions (options) {\n this.destroyNavigator();\n Chart.prototype.setOptions.call(this, options);\n };\n\n StockChart.prototype.noTransitionsRedraw = function noTransitionsRedraw () {\n var transitions = this.options.transitions;\n\n this.options.transitions = false;\n this._fullRedraw();\n this.options.transitions = transitions;\n };\n\n StockChart.prototype._resize = function _resize () {\n this.noTransitionsRedraw();\n };\n\n StockChart.prototype._redraw = function _redraw () {\n var navigator = this.navigator;\n\n if (!this._dirty() && navigator && navigator.options.partialRedraw) {\n navigator.redrawSlaves();\n } else {\n this._fullRedraw();\n }\n };\n\n StockChart.prototype._dirty = function _dirty () {\n var options = this.options;\n var series = [].concat(options.series, options.navigator.series);\n var seriesCount = grep(series, function(s) { return s && s.visible; }).length;\n var dirty = this._seriesCount !== seriesCount;\n this._seriesCount = seriesCount;\n\n return dirty;\n };\n\n StockChart.prototype._fullRedraw = function _fullRedraw () {\n var navigator = this.navigator;\n\n if (!navigator) {\n navigator = this.navigator = new Navigator(this);\n this.trigger(\"navigatorCreated\", { navigator: navigator });\n }\n\n navigator.clean();\n navigator.setRange();\n\n Chart.prototype._redraw.call(this);\n\n navigator.initSelection();\n };\n\n StockChart.prototype._trackSharedTooltip = function _trackSharedTooltip (coords) {\n var plotArea = this._plotArea;\n var pane = plotArea.paneByPoint(coords);\n\n if (pane && pane.options.name === NAVIGATOR_PANE) {\n this._unsetActivePoint();\n } else {\n Chart.prototype._trackSharedTooltip.call(this, coords);\n }\n };\n\n StockChart.prototype.bindCategories = function bindCategories () {\n Chart.prototype.bindCategories.call(this);\n this.copyNavigatorCategories();\n };\n\n StockChart.prototype.copyNavigatorCategories = function copyNavigatorCategories () {\n var definitions = [].concat(this.options.categoryAxis);\n var categories;\n\n for (var axisIx = 0; axisIx < definitions.length; axisIx++) {\n var axis = definitions[axisIx];\n if (axis.name === NAVIGATOR_AXIS) {\n categories = axis.categories;\n } else if (categories && axis.pane === NAVIGATOR_PANE) {\n axis.categories = categories;\n }\n }\n };\n\n StockChart.prototype.destroyNavigator = function destroyNavigator () {\n if (this.navigator) {\n this.navigator.destroy();\n this.navigator = null;\n }\n };\n\n StockChart.prototype.destroy = function destroy () {\n this.destroyNavigator();\n Chart.prototype.destroy.call(this);\n };\n\n StockChart.prototype._stopChartHandlers = function _stopChartHandlers (e) {\n var coords = this._eventCoordinates(e);\n var pane = this._plotArea.paneByPoint(coords);\n\n return Chart.prototype._stopChartHandlers.call(this, e) || (pane && pane.options.name === NAVIGATOR_PANE);\n };\n\n StockChart.prototype._toggleDragZoomEvents = function _toggleDragZoomEvents () {\n if (!this._dragZoomEnabled) {\n this.element.style.touchAction = \"none\";\n\n this._dragZoomEnabled = true;\n }\n };\n\n return StockChart;\n}(Chart));\n\nsetDefaultOptions(StockChart, {\n dateField: \"date\",\n axisDefaults: {\n categoryAxis: {\n type: \"date\",\n baseUnit: \"fit\",\n justified: true\n },\n valueAxis: {\n narrowRange: true,\n labels: {\n format: \"C\"\n }\n }\n },\n navigator: {\n select: {},\n seriesDefaults: {\n markers: {\n visible: false\n },\n tooltip: {\n visible: false\n },\n highlight: {\n visible: false\n },\n line: {\n width: 2\n }\n },\n hint: {},\n visible: true\n },\n tooltip: {\n visible: true\n },\n legend: {\n visible: false\n }\n});\n\nexport default StockChart;\n","var ANGULAR_SPEED = 150;\nvar LINEAR_SPEED = 250;\nvar ARROW = \"arrow\";\nvar ARROW_POINTER = \"arrowPointer\";\nvar BAR_POINTER = \"barPointer\";\nvar DEFAULT_HEIGHT = 200;\nvar DEFAULT_LINE_WIDTH = 0.5;\nvar DEFAULT_WIDTH = 200;\nvar DEGREE = Math.PI / 180;\nvar INSIDE = \"inside\";\nvar LINEAR = \"linear\";\nvar OUTSIDE = \"outside\";\nvar RADIAL_POINTER = \"radialPointer\";\nvar RADIAL_RANGE_POINTER = \"radialRangePointer\";\n\nexport {\n ANGULAR_SPEED, LINEAR_SPEED, ARROW, ARROW_POINTER, BAR_POINTER,\n DEFAULT_HEIGHT, DEFAULT_LINE_WIDTH, DEFAULT_WIDTH,\n DEGREE, INSIDE, LINEAR, OUTSIDE, RADIAL_POINTER, RADIAL_RANGE_POINTER\n};","import { getSpacing } from '../../common';\n\nexport default function pad(bbox, value) {\n var origin = bbox.getOrigin();\n var size = bbox.getSize();\n var spacing = getSpacing(value);\n\n bbox.setOrigin([ origin.x - spacing.left, origin.y - spacing.top ]);\n bbox.setSize([ size.width + (spacing.left + spacing.right), size.height + (spacing.top + spacing.bottom) ]);\n\n return bbox;\n}","import { geometry as geo, drawing } from '@progress/kendo-drawing';\nimport pad from './pad';\n\nvar Group = drawing.Group;\nvar Path = drawing.Path;\nvar Text = drawing.Text;\n\nexport default function buildLabelElement(label, options) {\n var labelBox = label.box;\n var textBox = label.children[0].box;\n var border = options.border || {};\n var background = options.background || \"\";\n\n var wrapper = Path.fromRect(new geo.Rect([ labelBox.x1, labelBox.y1 ], [ labelBox.width(), labelBox.height() ]), {\n stroke: {}\n });\n\n var text = new Text(label.text, new geo.Point(textBox.x1, textBox.y1), {\n font: options.font,\n fill: { color: options.color }\n });\n\n var styleGeometry = pad(text.bbox().clone(), options.padding);\n\n var styleBox = Path.fromRect(styleGeometry, {\n stroke: {\n color: border.width ? border.color : \"\",\n width: border.width,\n opacity: border.opacity,\n dashType: border.dashType,\n lineJoin: \"round\",\n lineCap: \"round\"\n },\n fill: {\n color: background\n }\n });\n\n var elements = new Group();\n elements.append(wrapper);\n elements.append(styleBox);\n elements.append(text);\n\n return elements;\n}","import { defined } from '../../common';\nimport { MIN_VALUE, MAX_VALUE } from '../../common/constants';\n\nexport default function getRange(range, min, max) {\n var from = defined(range.from) ? range.from : MIN_VALUE;\n var to = defined(range.to) ? range.to : MAX_VALUE;\n\n range.from = Math.max(Math.min(to, from), min);\n range.to = Math.min(Math.max(to, from), max);\n\n return range;\n}","import { getSpacing } from '../../common';\nimport pad from './pad';\n\nexport default function unpad(bbox, value) {\n var spacing = getSpacing(value);\n\n spacing.left = -spacing.left; spacing.top = -spacing.top;\n spacing.right = -spacing.right; spacing.bottom = -spacing.bottom;\n\n return pad(bbox, spacing);\n}","import { geometry as geo, drawing } from '@progress/kendo-drawing';\nimport { Class, elementSize, setDefaultOptions, deepExtend, isArray, isNumber } from '../common';\nimport { DEFAULT_WIDTH, DEFAULT_HEIGHT } from './constants';\nimport { ChartService } from '../services';\nimport { unpad } from './utils';\n\nvar DEFAULT_MARGIN = 5;\nvar Path = drawing.Path;\nvar Surface = drawing.Surface;\n\nvar Gauge = (function (Class) {\n function Gauge(element, userOptions, theme, context) {\n if ( context === void 0 ) context = {};\n\n Class.call(this);\n\n this.element = element;\n this.theme = theme;\n this.contextService = new ChartService(this, context);\n this._originalOptions = deepExtend({}, this.options, userOptions);\n this.options = deepExtend({}, this._originalOptions);\n this._initTheme(theme);\n\n this.redraw();\n }\n\n if ( Class ) Gauge.__proto__ = Class;\n Gauge.prototype = Object.create( Class && Class.prototype );\n Gauge.prototype.constructor = Gauge;\n\n Gauge.prototype.destroy = function destroy () {\n if (this.surface) {\n this.surface.destroy();\n this.surface = null;\n }\n\n delete this.element;\n delete this.surfaceElement;\n };\n\n Gauge.prototype.value = function value (pointerValue) {\n var pointer = this.pointers[0];\n\n if (arguments.length === 0) {\n return pointer.value();\n }\n\n pointer.value(pointerValue);\n this._setValueOptions(pointerValue);\n };\n\n Gauge.prototype._draw = function _draw () {\n var surface = this.surface;\n\n surface.clear();\n surface.draw(this._visuals);\n };\n\n Gauge.prototype.exportVisual = function exportVisual () {\n return this._visuals;\n };\n\n Gauge.prototype.allValues = function allValues (values) {\n var pointers = this.pointers;\n var allValues = [];\n\n if (arguments.length === 0) {\n for (var i = 0; i < pointers.length; i++) {\n allValues.push(pointers[i].value());\n }\n\n return allValues;\n }\n\n if (isArray(values)) {\n for (var i$1 = 0; i$1 < values.length; i$1++) {\n if (isNumber(values[i$1])) {\n pointers[i$1].value(values[i$1]);\n }\n }\n }\n\n this._setValueOptions(values);\n };\n\n Gauge.prototype._setValueOptions = function _setValueOptions (values) {\n var pointers = [].concat(this.options.pointer);\n var arrayValues = [].concat(values);\n\n for (var i = 0; i < arrayValues.length; i++) {\n pointers[i].value = arrayValues[i];\n }\n };\n\n Gauge.prototype.resize = function resize () {\n this.noTransitionsRedraw();\n };\n\n Gauge.prototype.noTransitionsRedraw = function noTransitionsRedraw () {\n var transitions = this.options.transitions;\n\n this._toggleTransitions(false);\n\n this.redraw();\n\n this._toggleTransitions(transitions);\n };\n\n Gauge.prototype.redraw = function redraw () {\n var size = this._surfaceSize();\n var wrapper = new geo.Rect([ 0, 0 ], [ size.width, size.height ]);\n\n this._initSurface();\n\n this.gaugeArea = this._createGaugeArea();\n\n this._createModel();\n\n var bbox = unpad(wrapper.bbox(), this._gaugeAreaMargin);\n this.reflow(bbox);\n };\n\n Gauge.prototype.setOptions = function setOptions (options, theme) {\n this._originalOptions = deepExtend(this._originalOptions, options);\n this.options = deepExtend({}, this._originalOptions);\n\n this._initTheme(theme);\n\n this.redraw();\n };\n\n Gauge.prototype.setDirection = function setDirection (rtl) {\n this.contextService.rtl = Boolean(rtl);\n if (this.surface && this.surface.type === 'svg') {\n this.surface.destroy();\n this.surface = null;\n }\n };\n\n Gauge.prototype.setIntlService = function setIntlService (intl) {\n this.contextService.intl = intl;\n };\n\n Gauge.prototype._initTheme = function _initTheme (theme) {\n var currentTheme = theme || this.theme || {};\n this.theme = currentTheme;\n\n this.options = deepExtend({}, currentTheme, this.options);\n var options = this.options;\n var pointer = options.pointer;\n\n if (isArray(pointer)) {\n var pointers = [];\n for (var i = 0; i < pointer.length; i++) {\n pointers.push(deepExtend({}, currentTheme.pointer, pointer[i]));\n }\n options.pointer = pointers;\n }\n };\n\n Gauge.prototype._createGaugeArea = function _createGaugeArea () {\n var options = this.options.gaugeArea;\n var size = this.surface.size();\n var border = options.border || {};\n var areaGeometry = new geo.Rect([ 0, 0 ], [ size.width, size.height ]);\n\n this._gaugeAreaMargin = options.margin || DEFAULT_MARGIN;\n\n if (border.width > 0) {\n areaGeometry = unpad(areaGeometry, border.width);\n }\n\n var gaugeArea = Path.fromRect(areaGeometry, {\n stroke: {\n color: border.width ? border.color : \"\",\n width: border.width,\n dashType: border.dashType,\n lineJoin: \"round\",\n lineCap: \"round\"\n },\n fill: {\n color: options.background\n }\n });\n\n return gaugeArea;\n };\n\n Gauge.prototype._initSurface = function _initSurface () {\n var ref = this;\n var options = ref.options;\n var surface = ref.surface;\n var element = this._surfaceElement();\n var size = this._surfaceSize();\n\n elementSize(element, size);\n\n if (!surface || surface.options.type !== options.renderAs) {\n if (surface) {\n surface.destroy();\n }\n\n this.surface = Surface.create(element, {\n type: options.renderAs\n });\n } else {\n this.surface.clear();\n this.surface.resize();\n }\n };\n\n Gauge.prototype._surfaceSize = function _surfaceSize () {\n var options = this.options;\n var size = this._getSize();\n\n if (options.gaugeArea) {\n deepExtend(size, options.gaugeArea);\n }\n\n return size;\n };\n\n Gauge.prototype._surfaceElement = function _surfaceElement () {\n if (!this.surfaceElement) {\n this.surfaceElement = document.createElement('div');\n this.element.appendChild(this.surfaceElement);\n }\n\n return this.surfaceElement;\n };\n\n Gauge.prototype.getSize = function getSize () {\n return this._getSize();\n };\n\n Gauge.prototype._getSize = function _getSize () {\n var element = this.element;\n var defaultSize = this._defaultSize();\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (!width) {\n width = defaultSize.width;\n }\n\n if (!height) {\n height = defaultSize.height;\n }\n\n return { width: width, height: height };\n };\n\n Gauge.prototype._defaultSize = function _defaultSize () {\n return {\n width: DEFAULT_WIDTH,\n height: DEFAULT_HEIGHT\n };\n };\n\n Gauge.prototype._toggleTransitions = function _toggleTransitions (value) {\n var this$1 = this;\n\n this.options.transitions = value;\n for (var i = 0; i < this.pointers.length; i++) {\n this$1.pointers[i].options.animation.transitions = value;\n }\n };\n\n return Gauge;\n}(Class));\n\nsetDefaultOptions(Gauge, {\n plotArea: {},\n theme: \"default\",\n renderAs: \"\",\n pointer: {},\n scale: {},\n gaugeArea: {}\n});\n\nexport default Gauge;","import { geometry as geo, drawing } from '@progress/kendo-drawing';\nimport { setDefaultOptions, deepExtend, defined } from '../../common';\nimport { BLACK } from '../../common/constants';\nimport { NumericAxis } from '../../core';\nimport { DEFAULT_LINE_WIDTH, INSIDE } from '../constants';\nimport { autoMajorUnit } from '../../core';\nimport { buildLabelElement, getRange } from '../utils';\n\nvar Path = drawing.Path;\nvar Group = drawing.Group;\nvar Point = geo.Point;\n\nfunction renderAxisTick(tickRenderOptions, tickOptions) {\n var position = tickRenderOptions.position;\n var tickX = tickRenderOptions.tickX;\n var tickY = tickRenderOptions.tickY;\n var start, end;\n\n if (tickRenderOptions.vertical) {\n start = new Point(tickX, position);\n end = new Point(tickX + tickOptions.size, position);\n } else {\n start = new Point(position, tickY);\n end = new Point(position, tickY + tickOptions.size);\n }\n\n var tickPath = new Path({\n stroke: {\n color: tickOptions.color,\n width: tickOptions.width\n }\n }).moveTo(start).lineTo(end);\n\n return tickPath;\n}\n\nfunction renderTicks(tickGroup, tickPositions, tickRenderOptions, tickOptions) {\n var count = tickPositions.length;\n\n if (tickOptions.visible) {\n var mirror = tickRenderOptions.mirror;\n var lineBox = tickRenderOptions.lineBox;\n for (var i = tickOptions.skip; i < count; i += tickOptions.step) {\n if (i % tickOptions.skipUnit === 0) {\n continue;\n }\n\n tickRenderOptions.tickX = mirror ? lineBox.x2 : lineBox.x2 - tickOptions.size;\n tickRenderOptions.tickY = mirror ? lineBox.y1 - tickOptions.size : lineBox.y1;\n tickRenderOptions.position = tickPositions[i];\n\n tickGroup.append(renderAxisTick(tickRenderOptions, tickOptions));\n }\n }\n}\n\nvar LinearScale = (function (NumericAxis) {\n function LinearScale(options, service) {\n var scaleOptions = options || {};\n if (!defined(scaleOptions.reverse) && scaleOptions.vertical === false && (service || {}).rtl) {\n scaleOptions = Object.assign({}, scaleOptions, {\n reverse: true\n });\n }\n\n NumericAxis.call(this, 0, 1, scaleOptions, service);\n\n this.options.minorUnit = this.options.minorUnit || this.options.majorUnit / 10;\n }\n\n if ( NumericAxis ) LinearScale.__proto__ = NumericAxis;\n LinearScale.prototype = Object.create( NumericAxis && NumericAxis.prototype );\n LinearScale.prototype.constructor = LinearScale;\n\n LinearScale.prototype.initUserOptions = function initUserOptions (options) {\n var scaleOptions = deepExtend({}, this.options, options);\n scaleOptions = deepExtend({}, scaleOptions , { labels: { mirror: scaleOptions.mirror } });\n scaleOptions.majorUnit = scaleOptions.majorUnit || autoMajorUnit(scaleOptions.min, scaleOptions.max);\n\n return scaleOptions;\n };\n\n LinearScale.prototype.initFields = function initFields () {\n };\n\n LinearScale.prototype.render = function render () {\n var elements = this.elements = new Group();\n var labels = this.renderLabels();\n var scaleLine = this.renderLine();\n var scaleTicks = this.renderTicks();\n var ranges = this.renderRanges();\n\n elements.append(scaleLine, labels, scaleTicks, ranges);\n\n return elements;\n };\n\n LinearScale.prototype.renderRanges = function renderRanges () {\n var this$1 = this;\n\n var options = this.options;\n var min = options.min;\n var max = options.max;\n var vertical = options.vertical;\n var mirror = options.labels.mirror;\n var ranges = options.ranges || [];\n var elements = new Group();\n var count = ranges.length;\n var rangeSize = options.rangeSize || options.minorTicks.size / 2;\n\n for (var i = 0; i < count; i++) {\n var range = getRange(ranges[i], min, max);\n var slot = this$1.getSlot(range.from, range.to);\n var slotX = vertical ? this$1.lineBox() : slot;\n var slotY = vertical ? slot : this$1.lineBox();\n if (vertical) {\n slotX.x1 -= rangeSize * (mirror ? -1 : 1);\n } else {\n slotY.y2 += rangeSize * (mirror ? -1 : 1);\n }\n\n elements.append(Path.fromRect(new geo.Rect([ slotX.x1, slotY.y1 ], [ slotX.x2 - slotX.x1, slotY.y2 - slotY.y1 ]), {\n fill: { color: range.color, opacity: range.opacity },\n stroke: { }\n }));\n }\n\n return elements;\n };\n\n LinearScale.prototype.renderLabels = function renderLabels () {\n var ref = this;\n var labels = ref.labels;\n var options = ref.options;\n var elements = new Group();\n\n for (var i = 0; i < labels.length; i++) {\n elements.append(buildLabelElement(labels[i], options.labels));\n }\n\n return elements;\n };\n\n LinearScale.prototype.renderLine = function renderLine () {\n var line = this.options.line;\n var lineBox = this.lineBox();\n var elements = new Group();\n\n if (line.width > 0 && line.visible) {\n var linePath = new Path({\n stroke: {\n color: line.color,\n dashType: line.dashType,\n width: line.width\n }\n });\n\n linePath.moveTo(lineBox.x1, lineBox.y1).lineTo(lineBox.x2, lineBox.y2);\n elements.append(linePath);\n }\n\n return elements;\n };\n\n LinearScale.prototype.renderTicks = function renderTicks$1 () {\n var ticks = new Group();\n var options = this.options;\n var majorUnit = options.majorTicks.visible ? options.majorUnit : 0;\n var tickRenderOptions = {\n vertical: options.vertical,\n mirror: options.labels.mirror,\n lineBox: this.lineBox()\n };\n\n renderTicks(ticks, this.getMajorTickPositions(), tickRenderOptions, options.majorTicks);\n renderTicks(ticks, this.getMinorTickPositions(), tickRenderOptions, deepExtend({}, {\n skipUnit: majorUnit / options.minorUnit\n }, options.minorTicks));\n\n return ticks;\n };\n\n return LinearScale;\n}(NumericAxis));\n\nsetDefaultOptions(LinearScale, {\n min: 0,\n max: 50,\n\n majorTicks: {\n size: 15,\n align: INSIDE,\n color: BLACK,\n width: DEFAULT_LINE_WIDTH,\n visible: true\n },\n\n minorTicks: {\n size: 10,\n align: INSIDE,\n color: BLACK,\n width: DEFAULT_LINE_WIDTH,\n visible: true\n },\n\n line: {\n width: DEFAULT_LINE_WIDTH\n },\n\n labels: {\n position: INSIDE,\n padding: 2\n },\n mirror: false,\n _alignLines: false\n});\n\nexport default LinearScale;","import { Class, setDefaultOptions, defined, deepExtend, limitValue } from '../common';\nimport { BLACK } from '../common/constants';\n\nvar Pointer = (function (Class) {\n function Pointer(scale, userOptions) {\n Class.call(this);\n\n var ref = scale.options;\n var min = ref.min;\n var max = ref.max;\n var options = this.options = deepExtend({}, this.options, userOptions);\n\n options.fill = options.color;\n\n this.scale = scale;\n\n if (defined(options.value)) {\n options.value = limitValue(options.value, min, max);\n } else {\n options.value = min;\n }\n }\n\n if ( Class ) Pointer.__proto__ = Class;\n Pointer.prototype = Object.create( Class && Class.prototype );\n Pointer.prototype.constructor = Pointer;\n\n Pointer.prototype.value = function value (newValue) {\n var options = this.options;\n var value = options.value;\n\n if (arguments.length === 0) {\n return value;\n }\n\n var ref = this.scale.options;\n var min = ref.min;\n var max = ref.max;\n\n options._oldValue = defined(options._oldValue) ? options.value : min;\n options.value = limitValue(newValue, min, max);\n\n if (this.elements) {\n this.repaint();\n }\n };\n\n return Pointer;\n}(Class));\n\nsetDefaultOptions(Pointer, {\n color: BLACK\n});\n\nexport default Pointer;","import { setDefaultOptions, deepExtend, defined, getSpacing } from '../../common';\nimport { Box } from '../../core';\nimport { BLACK } from '../../common/constants';\nimport { BAR_POINTER } from '../constants';\nimport Pointer from '../pointer';\n\nvar LinearPointer = (function (Pointer) {\n function LinearPointer(scale, options) {\n Pointer.call(this, scale, options);\n\n this.options = deepExtend({\n track: {\n visible: defined(options.track)\n }\n }, this.options);\n }\n\n if ( Pointer ) LinearPointer.__proto__ = Pointer;\n LinearPointer.prototype = Object.create( Pointer && Pointer.prototype );\n LinearPointer.prototype.constructor = LinearPointer;\n\n LinearPointer.prototype.reflow = function reflow () {\n var ref = this;\n var options = ref.options;\n var scale = ref.scale;\n var ref$1 = scale.options;\n var mirror = ref$1.mirror;\n var vertical = ref$1.vertical;\n var scaleLine = scale.lineBox();\n var trackSize = options.track.size || options.size;\n var pointerHalfSize = options.size / 2;\n var margin = getSpacing(options.margin);\n var space = vertical ?\n margin[mirror ? \"left\" : \"right\"] :\n margin[mirror ? \"bottom\" : \"top\"];\n var pointerBox, pointerRangeBox, trackBox;\n\n space = mirror ? -space : space;\n\n if (vertical) {\n trackBox = new Box(\n scaleLine.x1 + space, scaleLine.y1,\n scaleLine.x1 + space, scaleLine.y2);\n\n if (mirror) {\n trackBox.x1 -= trackSize;\n } else {\n trackBox.x2 += trackSize;\n }\n\n if (options.shape !== BAR_POINTER) {\n pointerRangeBox = new Box(\n scaleLine.x2 + space, scaleLine.y1 - pointerHalfSize,\n scaleLine.x2 + space, scaleLine.y2 + pointerHalfSize\n );\n pointerBox = pointerRangeBox;\n }\n } else {\n trackBox = new Box(\n scaleLine.x1, scaleLine.y1 - space,\n scaleLine.x2, scaleLine.y1 - space);\n\n if (mirror) {\n trackBox.y2 += trackSize;\n } else {\n trackBox.y1 -= trackSize;\n }\n\n if (options.shape !== BAR_POINTER) {\n pointerRangeBox = new Box(\n scaleLine.x1 - pointerHalfSize, scaleLine.y1 - space,\n scaleLine.x2 + pointerHalfSize, scaleLine.y1 - space\n );\n pointerBox = pointerRangeBox;\n }\n }\n\n this.trackBox = trackBox;\n this.pointerRangeBox = pointerRangeBox;\n this.box = pointerBox || trackBox.clone().pad(options.border.width);\n };\n\n LinearPointer.prototype.getElementOptions = function getElementOptions () {\n var options = this.options;\n\n return {\n fill: {\n color: options.color,\n opacity: options.opacity\n },\n stroke: defined(options.border) ? {\n color: options.border.width ? options.border.color || options.color : \"\",\n width: options.border.width,\n dashType: options.border.dashType,\n opacity: options.opacity\n } : null\n };\n };\n\n LinearPointer.prototype._margin = function _margin () {\n var ref = this;\n var scale = ref.scale;\n var options = ref.options;\n var ref$1 = scale.options;\n var mirror = ref$1.mirror;\n var vertical = ref$1.vertical;\n var margin = getSpacing(options.margin);\n\n var space = vertical ?\n margin[mirror ? \"left\" : \"right\"] :\n margin[mirror ? \"bottom\" : \"top\"];\n\n return space;\n };\n\n return LinearPointer;\n}(Pointer));\n\nsetDefaultOptions(LinearPointer, {\n shape: BAR_POINTER,\n\n track: {\n border: {\n width: 1\n }\n },\n\n color: BLACK,\n border: {\n width: 1\n },\n opacity: 1,\n\n margin: getSpacing(3),\n animation: {\n type: BAR_POINTER\n },\n visible: true\n});\n\nexport default LinearPointer;","import { geometry, drawing } from '@progress/kendo-drawing';\nimport { interpolateValue, setDefaultOptions } from '../../common';\nimport { ARROW_POINTER, LINEAR_SPEED, LINEAR } from '../constants';\n\nvar ArrowLinearPointerAnimation = (function (superclass) {\n function ArrowLinearPointerAnimation () {\n superclass.apply(this, arguments);\n }\n\n if ( superclass ) ArrowLinearPointerAnimation.__proto__ = superclass;\n ArrowLinearPointerAnimation.prototype = Object.create( superclass && superclass.prototype );\n ArrowLinearPointerAnimation.prototype.constructor = ArrowLinearPointerAnimation;\n\n ArrowLinearPointerAnimation.prototype.setup = function setup () {\n var options = this.options;\n var margin = options.margin;\n var from = options.from;\n var to = options.to;\n var vertical = options.vertical;\n var axis = vertical ? \"x1\" : \"y1\";\n\n if (options.mirror === vertical) {\n from[axis] -= margin; to[axis] -= margin;\n } else {\n from[axis] += margin; to[axis] += margin;\n }\n\n var fromScale = this.fromScale = new geometry.Point(from.x1, from.y1);\n var toScale = this.toScale = new geometry.Point(to.x1, to.y1);\n\n if (options.duration !== 0) {\n options.duration = Math.max((fromScale.distanceTo(toScale) / options.duration) * 1000, 1);\n }\n };\n\n ArrowLinearPointerAnimation.prototype.step = function step (pos) {\n var translateX = interpolateValue(this.fromScale.x, this.toScale.x, pos);\n var translateY = interpolateValue(this.fromScale.y, this.toScale.y, pos);\n\n this.element.transform(geometry.transform().translate(translateX, translateY));\n };\n\n return ArrowLinearPointerAnimation;\n}(drawing.Animation));\n\nsetDefaultOptions(ArrowLinearPointerAnimation, {\n easing: LINEAR,\n duration: LINEAR_SPEED\n});\n\ndrawing.AnimationFactory.current.register(ARROW_POINTER, ArrowLinearPointerAnimation);\n\nexport default ArrowLinearPointerAnimation;","import { geometry as geo, drawing } from '@progress/kendo-drawing';\nimport { deepExtend, defined } from '../../common';\nimport { ARROW_POINTER } from '../constants';\nimport LinearPointer from './linear-pointer';\nimport ArrowLinearPointerAnimation from './arrow-linear-pointer-animation';\n\nvar Point = geo.Point;\nvar Path = drawing.Path;\n\nvar ArrowLinearPointer = (function (LinearPointer) {\n function ArrowLinearPointer(scale, options) {\n LinearPointer.call(this, scale, options);\n\n if (!defined(this.options.size)) {\n this.options.size = this.scale.options.majorTicks.size * 0.6;\n }\n }\n\n if ( LinearPointer ) ArrowLinearPointer.__proto__ = LinearPointer;\n ArrowLinearPointer.prototype = Object.create( LinearPointer && LinearPointer.prototype );\n ArrowLinearPointer.prototype.constructor = ArrowLinearPointer;\n\n ArrowLinearPointer.prototype.pointerShape = function pointerShape () {\n var ref = this;\n var scale = ref.scale;\n var size = ref.options.size;\n var halfSize = size / 2;\n var sign = (scale.options.mirror ? -1 : 1);\n var shape;\n\n if (scale.options.vertical) {\n shape = [\n new Point(0, 0 - halfSize), new Point(0 - sign * size, 0), new Point(0, 0 + halfSize)\n ];\n } else {\n shape = [\n new Point(0 - halfSize, 0), new Point(0, 0 + sign * size), new Point(0 + halfSize, 0)\n ];\n }\n\n return shape;\n };\n\n ArrowLinearPointer.prototype.repaint = function repaint () {\n var ref = this;\n var scale = ref.scale;\n var options = ref.options;\n var animation = new ArrowLinearPointerAnimation(this.elements, deepExtend(options.animation, {\n vertical: scale.options.vertical,\n mirror: scale.options.mirror,\n margin: this._margin(options.margin),\n from: scale.getSlot(options._oldValue),\n to: scale.getSlot(options.value)\n }));\n\n if (options.animation.transitions === false) {\n animation.options.duration = 0;\n }\n\n animation.setup();\n animation.play();\n };\n\n ArrowLinearPointer.prototype.render = function render () {\n var ref = this;\n var scale = ref.scale;\n var options = ref.options;\n var elementOptions = this.getElementOptions();\n var shape = this.pointerShape(options.value);\n\n options.animation.type = ARROW_POINTER;\n\n var elements = new Path({\n stroke: elementOptions.stroke,\n fill: elementOptions.fill\n }).moveTo(shape[0]).lineTo(shape[1]).lineTo(shape[2]).close();\n\n var slot = scale.getSlot(options.value);\n elements.transform(geo.transform().translate(slot.x1, slot.y1));\n\n this.elements = elements;\n\n return elements;\n };\n\n return ArrowLinearPointer;\n}(LinearPointer));\n\nexport default ArrowLinearPointer;","import { drawing } from '@progress/kendo-drawing';\nimport { interpolateValue, setDefaultOptions } from '../../common';\nimport { X, Y } from '../../common/constants';\nimport { BAR_POINTER, LINEAR_SPEED, LINEAR } from '../constants';\n\nvar BarLinearPointerAnimation = (function (superclass) {\n function BarLinearPointerAnimation () {\n superclass.apply(this, arguments);\n }\n\n if ( superclass ) BarLinearPointerAnimation.__proto__ = superclass;\n BarLinearPointerAnimation.prototype = Object.create( superclass && superclass.prototype );\n BarLinearPointerAnimation.prototype.constructor = BarLinearPointerAnimation;\n\n BarLinearPointerAnimation.prototype.setup = function setup () {\n var options = this.options;\n var axis = this.axis = options.vertical ? Y : X;\n var to = this.to = options.newPoints[0][axis];\n var from = this.from = options.oldPoints[0][axis];\n\n if (options.duration !== 0) {\n options.duration = Math.max((Math.abs(to - from) / options.speed) * 1000, 1);\n }\n\n this._set(from);\n };\n\n BarLinearPointerAnimation.prototype.step = function step (pos) {\n var value = interpolateValue(this.from, this.to, pos);\n this._set(value);\n };\n\n BarLinearPointerAnimation.prototype._set = function _set (value) {\n var setter = \"set\" + this.axis.toUpperCase();\n var points = this.options.newPoints;\n\n points[0][setter](value);\n points[1][setter](value);\n };\n\n return BarLinearPointerAnimation;\n}(drawing.Animation));\n\nsetDefaultOptions(BarLinearPointerAnimation, {\n easing: LINEAR,\n speed: LINEAR_SPEED\n});\n\ndrawing.AnimationFactory.current.register(BAR_POINTER, BarLinearPointerAnimation);\n\nexport default BarLinearPointerAnimation;","import { geometry as geo, drawing } from '@progress/kendo-drawing';\nimport { deepExtend, defined } from '../../common';\nimport { X, Y } from '../../common/constants';\nimport LinearPointer from './linear-pointer';\nimport BarLinearPointerAnimation from './bar-linear-pointer-animation';\n\nvar Group = drawing.Group;\nvar Path = drawing.Path;\n\nvar BarLinearPointer = (function (LinearPointer) {\n function BarLinearPointer(scale, options) {\n LinearPointer.call(this, scale, options);\n\n if (!defined(this.options.size)) {\n this.options.size = this.scale.options.majorTicks.size * 0.3;\n }\n }\n\n if ( LinearPointer ) BarLinearPointer.__proto__ = LinearPointer;\n BarLinearPointer.prototype = Object.create( LinearPointer && LinearPointer.prototype );\n BarLinearPointer.prototype.constructor = BarLinearPointer;\n\n BarLinearPointer.prototype.pointerShape = function pointerShape (value) {\n var ref = this;\n var scale = ref.scale;\n var options = ref.options;\n var ref$1 = scale.options;\n var mirror = ref$1.mirror;\n var vertical = ref$1.vertical;\n var dir = mirror === vertical ? -1 : 1;\n var size = options.size * dir;\n var minSlot = scale.getSlot(scale.options.min);\n var slot = scale.getSlot(value);\n var axis = vertical ? Y : X;\n var sizeAxis = vertical ? X : Y;\n var margin = this._margin() * dir;\n\n var p1 = new geo.Point();\n p1[axis] = minSlot[axis + \"1\"];\n p1[sizeAxis] = minSlot[sizeAxis + \"1\"];\n\n var p2 = new geo.Point();\n p2[axis] = slot[axis + \"1\"];\n p2[sizeAxis] = slot[sizeAxis + \"1\"];\n\n if (vertical) {\n p1.translate(margin, 0);\n p2.translate(margin, 0);\n } else {\n p1.translate(0, margin);\n p2.translate(0, margin);\n }\n\n var p3 = p2.clone();\n var p4 = p1.clone();\n\n if (vertical) {\n p3.translate(size, 0);\n p4.translate(size, 0);\n } else {\n p3.translate(0, size);\n p4.translate(0, size);\n }\n\n return [ p1, p2, p3, p4 ];\n };\n\n BarLinearPointer.prototype.repaint = function repaint () {\n var ref = this;\n var scale = ref.scale;\n var options = ref.options;\n var shape = this.pointerShape(options.value);\n var pointerPath = this.pointerPath;\n var oldShape = this.pointerShape(options._oldValue);\n\n pointerPath.moveTo(shape[0]).lineTo(shape[1]).lineTo(shape[2]).lineTo(shape[3]).close();\n\n var animation = new BarLinearPointerAnimation(pointerPath, deepExtend(options.animation, {\n reverse: scale.options.reverse,\n vertical: scale.options.vertical,\n oldPoints: [ oldShape[1], oldShape[2] ],\n newPoints: [ shape[1], shape[2] ]\n }));\n\n if (options.animation.transitions === false) {\n animation.options.duration = 0;\n }\n\n animation.setup();\n animation.play();\n };\n\n BarLinearPointer.prototype.render = function render () {\n var group = new Group();\n var elementOptions = this.getElementOptions();\n\n if (this.options.track.visible) {\n group.append(this.renderTrack());\n }\n\n var pointer = this.pointerPath = new Path({\n stroke: elementOptions.stroke,\n fill: elementOptions.fill\n });\n\n group.append(pointer);\n\n this.elements = group;\n\n return group;\n };\n\n BarLinearPointer.prototype.renderTrack = function renderTrack () {\n var trackOptions = this.options.track;\n var border = trackOptions.border || {};\n var trackBox = this.trackBox.clone().pad(border.width || 0);\n\n return new Path.fromRect(trackBox.toRect(), {\n fill: {\n color: trackOptions.color,\n opacity: trackOptions.opacity\n },\n stroke: {\n color: border.width ? border.color || trackOptions.color : \"\",\n width: border.width,\n dashType: border.dashType\n }\n });\n };\n\n return BarLinearPointer;\n}(LinearPointer));\n\nexport default BarLinearPointer;","import { drawing } from '@progress/kendo-drawing';\nimport { Box } from '../../core';\nimport { setDefaultOptions, deepExtend, isArray } from '../../common';\nimport { ARROW, DEFAULT_WIDTH, DEFAULT_HEIGHT } from '../constants';\nimport Gauge from '../gauge';\nimport LinearScale from './linear-scale';\nimport ArrowLinearPointer from './arrow-linear-pointer';\nimport BarLinearPointer from './bar-linear-pointer';\n\nvar DEFAULT_MIN_WIDTH = 60;\nvar DEFAULT_MIN_HEIGHT = 60;\n\nvar Group = drawing.Group;\n\nvar LinearGauge = (function (Gauge) {\n function LinearGauge () {\n Gauge.apply(this, arguments);\n }\n\n if ( Gauge ) LinearGauge.__proto__ = Gauge;\n LinearGauge.prototype = Object.create( Gauge && Gauge.prototype );\n LinearGauge.prototype.constructor = LinearGauge;\n\n LinearGauge.prototype.reflow = function reflow (bbox) {\n var pointers = this.pointers;\n var bboxX = bbox.origin.x;\n var bboxY = bbox.origin.y;\n\n var box = new Box(bboxX, bboxY, bboxX + bbox.width(), bboxY + bbox.height());\n\n this.scale.reflow(box);\n this._shrinkScaleWidth(box);\n\n for (var i = 0; i < pointers.length; i++) {\n pointers[i].reflow();\n }\n\n this.bbox = this._getBox(box);\n this._alignElements();\n this._shrinkElements();\n this._buildVisual();\n this._draw();\n };\n\n LinearGauge.prototype._buildVisual = function _buildVisual () {\n var visuals = new Group();\n var scaleElements = this.scale.render();\n var pointers = this.pointers;\n\n visuals.append(this.gaugeArea);\n visuals.append(scaleElements);\n\n for (var i = 0; i < pointers.length; i++) {\n var current = pointers[i];\n visuals.append(current.render());\n current.value(current.options.value);\n }\n\n this._visuals = visuals;\n };\n\n LinearGauge.prototype._createModel = function _createModel () {\n var this$1 = this;\n\n var options = this.options;\n var scale = this.scale = new LinearScale(options.scale, this.contextService);\n\n this.pointers = [];\n\n var pointers = options.pointer;\n pointers = isArray(pointers) ? pointers : [ pointers ];\n\n for (var i = 0; i < pointers.length; i++) {\n var currentOptions = deepExtend({}, pointers[i], {\n animation: {\n transitions: options.transitions\n }\n });\n var pointerType = currentOptions.shape === ARROW ? ArrowLinearPointer : BarLinearPointer;\n\n this$1.pointers.push(new pointerType(scale, currentOptions));\n }\n };\n\n LinearGauge.prototype._defaultSize = function _defaultSize () {\n var vertical = this.options.scale.vertical;\n\n return {\n width: vertical ? DEFAULT_MIN_WIDTH : DEFAULT_WIDTH,\n height: vertical ? DEFAULT_HEIGHT : DEFAULT_MIN_HEIGHT\n };\n };\n\n LinearGauge.prototype._getBox = function _getBox (box) {\n var ref = this;\n var scale = ref.scale;\n var pointers = ref.pointers;\n var boxCenter = box.center();\n var plotAreaBox = pointers[0].box.clone().wrap(scale.box);\n\n for (var i = 0; i < pointers.length; i++) {\n plotAreaBox.wrap(pointers[i].box.clone());\n }\n\n var size;\n if (scale.options.vertical) {\n size = plotAreaBox.width() / 2;\n plotAreaBox = new Box(\n boxCenter.x - size, box.y1,\n boxCenter.x + size, box.y2\n );\n } else {\n size = plotAreaBox.height() / 2;\n plotAreaBox = new Box(\n box.x1, boxCenter.y - size,\n box.x2, boxCenter.y + size\n );\n }\n\n return plotAreaBox;\n };\n\n LinearGauge.prototype._alignElements = function _alignElements () {\n var this$1 = this;\n\n var ref = this;\n var scale = ref.scale;\n var pointers = ref.pointers;\n var scaleBox = scale.box;\n var box = pointers[0].box.clone().wrap(scale.box);\n var plotAreaBox = this.bbox;\n\n for (var i = 0; i < pointers.length; i++) {\n box.wrap(pointers[i].box.clone());\n }\n\n var diff;\n if (scale.options.vertical) {\n diff = plotAreaBox.center().x - box.center().x;\n scale.reflow(new Box(\n scaleBox.x1 + diff, plotAreaBox.y1,\n scaleBox.x2 + diff, plotAreaBox.y2\n ));\n } else {\n diff = plotAreaBox.center().y - box.center().y;\n scale.reflow(new Box(\n scaleBox.x1, scaleBox.y1 + diff,\n scaleBox.x2, scaleBox.y2 + diff\n ));\n }\n\n for (var i$1 = 0; i$1 < pointers.length; i$1++) {\n pointers[i$1].reflow(this$1.bbox);\n }\n };\n\n LinearGauge.prototype._shrinkScaleWidth = function _shrinkScaleWidth (bbox) {\n var ref = this;\n var scale = ref.scale;\n if (!scale.options.vertical) {\n var overflow = scale.contentBox().width() - bbox.width();\n if (overflow > 0) {\n scale.box.shrink(overflow, 0);\n scale.box.alignTo(bbox, 'center');\n scale.reflow(scale.box);\n }\n }\n };\n\n LinearGauge.prototype._shrinkElements = function _shrinkElements () {\n var this$1 = this;\n\n var ref = this;\n var scale = ref.scale;\n var pointers = ref.pointers;\n var scaleBox = scale.box.clone();\n var pos = scale.options.vertical ? \"y\" : \"x\";\n var pointerBox = pointers[0].box;\n\n for (var i = 0; i < pointers.length; i++) {\n pointerBox.wrap(pointers[i].box.clone());\n }\n\n scaleBox[pos + 1] += Math.max(scaleBox[pos + 1] - pointerBox[pos + 1], 0);\n scaleBox[pos + 2] -= Math.max(pointerBox[pos + 2] - scaleBox[pos + 2], 0);\n\n scale.reflow(scaleBox);\n\n for (var i$1 = 0; i$1 < pointers.length; i$1++) {\n pointers[i$1].reflow(this$1.bbox);\n }\n };\n\n return LinearGauge;\n}(Gauge));\n\nsetDefaultOptions(LinearGauge, {\n transitions: true,\n gaugeArea: {\n background: \"\"\n },\n scale: {\n vertical: true\n }\n});\n\nexport default LinearGauge;","import GeometryArc from '../geometry/arc';\nimport Element from './element';\nimport { Path } from './path';\nimport paintable from '../mixins/paintable';\nimport measurable from '../mixins/measurable';\nimport withGeometry from '../mixins/with-geometry';\nimport { defined } from '../util';\n\n\nvar DEFAULT_STROKE = \"#000\";\n\nvar Arc = (function (superclass) {\n function Arc(geometry, options) {\n if ( geometry === void 0 ) geometry = new GeometryArc();\n if ( options === void 0 ) options = {};\n\n superclass.call(this, options);\n\n this.geometry(geometry);\n\n if (!defined(this.options.stroke)) {\n this.stroke(DEFAULT_STROKE);\n }\n }\n\n if ( superclass ) Arc.__proto__ = superclass;\n Arc.prototype = Object.create( superclass && superclass.prototype );\n Arc.prototype.constructor = Arc;\n\n var prototypeAccessors = { nodeType: { configurable: true } };\n\n prototypeAccessors.nodeType.get = function () {\n return \"Arc\";\n };\n\n Arc.prototype._bbox = function _bbox (matrix) {\n return this._geometry.bbox(matrix);\n };\n\n Arc.prototype.rawBBox = function rawBBox () {\n return this.geometry().bbox();\n };\n\n Arc.prototype.toPath = function toPath () {\n var path = new Path();\n var curvePoints = this.geometry().curvePoints();\n\n if (curvePoints.length > 0) {\n path.moveTo(curvePoints[0].x, curvePoints[0].y);\n\n for (var i = 1; i < curvePoints.length; i += 3) {\n path.curveTo(curvePoints[i], curvePoints[i + 1], curvePoints[i + 2]);\n }\n }\n\n return path;\n };\n\n Arc.prototype._containsPoint = function _containsPoint (point) {\n return this.geometry().containsPoint(point);\n };\n\n Arc.prototype._isOnPath = function _isOnPath (point) {\n return this.geometry()._isOnPath(point, this.options.stroke.width / 2);\n };\n\n Object.defineProperties( Arc.prototype, prototypeAccessors );\n\n return Arc;\n}(paintable(measurable(withGeometry(Element)))));\n\nexport default Arc;\n","import { geometry as geo, drawing } from '@progress/kendo-drawing';\nimport { setDefaultOptions, deepExtend, defined, round, getSpacing } from '../../common';\nimport { BLACK, COORD_PRECISION } from '../../common/constants';\nimport { autoMajorUnit, Box, NumericAxis } from '../../core';\nimport { buildLabelElement, getRange } from '../utils';\n\nimport { DEGREE, DEFAULT_LINE_WIDTH, INSIDE, OUTSIDE } from '../constants';\n\nvar GEO_ARC_ADJUST_ANGLE = 180;\n\nvar Arc = drawing.Arc;\nvar Path = drawing.Path;\nvar Group = drawing.Group;\n\nfunction drawTicks(arc, tickAngles, unit, tickOptions) {\n var ticks = new Group();\n var center = arc.center;\n var radius = arc.getRadiusX();\n\n if (tickOptions.visible) {\n for (var i = 0; i < tickAngles.length; i++) {\n var tickStart = arc.pointAt(tickAngles[i]);\n var tickEnd = new geo.Point(center.x + radius - tickOptions.size, center.y).rotate(tickAngles[i], center);\n\n ticks.append(new Path({\n stroke: {\n color: tickOptions.color,\n width: tickOptions.width\n }\n }).moveTo(tickStart).lineTo(tickEnd));\n }\n }\n\n return ticks;\n}\n\nfunction rangeSegment(from, to, color, opacity) {\n return { from: from, to: to, color: color, opacity: opacity };\n}\n\nvar RadialScale = (function (NumericAxis) {\n function RadialScale(options, service) {\n NumericAxis.call(this, 0, 1, options, service);\n }\n\n if ( NumericAxis ) RadialScale.__proto__ = NumericAxis;\n RadialScale.prototype = Object.create( NumericAxis && NumericAxis.prototype );\n RadialScale.prototype.constructor = RadialScale;\n\n RadialScale.prototype.initUserOptions = function initUserOptions (options) {\n var scaleOptions = deepExtend({}, this.options, options);\n scaleOptions.majorUnit = scaleOptions.majorUnit || autoMajorUnit(scaleOptions.min, scaleOptions.max);\n scaleOptions.minorUnit = scaleOptions.minorUnit || scaleOptions.majorUnit / 10;\n\n return scaleOptions;\n };\n\n RadialScale.prototype.initFields = function initFields () {\n };\n\n RadialScale.prototype.render = function render (center, radius) {\n var arc = this.renderArc(center, radius);\n\n this.bbox = arc.bbox();\n this.labelElements = this.renderLabels();\n this.ticks = this.renderTicks();\n this.ranges = this.renderRanges();\n };\n\n RadialScale.prototype.reflow = function reflow (bbox) {\n var center = bbox.center();\n var radius = Math.min(bbox.height(), bbox.width()) / 2;\n\n if (defined(this.bbox)) {\n this.bbox = this.arc.bbox();\n this.radius(this.arc.getRadiusX());\n this.repositionRanges();\n this.renderLabels();\n } else {\n return this.render(center, radius);\n }\n };\n\n RadialScale.prototype.slotAngle = function slotAngle (value) {\n var ref = this.options;\n var min = ref.min;\n var max = ref.max;\n var reverse = ref.reverse;\n var startAngle = ref.startAngle;\n var endAngle = ref.endAngle;\n var angle = endAngle - startAngle;\n var result;\n\n if (reverse) {\n result = endAngle - (value - min) / (max - min) * angle;\n } else {\n result = ((value - min) / (max - min) * angle) + startAngle;\n }\n\n return result + GEO_ARC_ADJUST_ANGLE;\n };\n\n RadialScale.prototype.hasRanges = function hasRanges () {\n var ranges = this.options.ranges;\n\n return ranges && ranges.length;\n };\n\n RadialScale.prototype.ticksSize = function ticksSize () {\n var ref = this.options;\n var majorTicks = ref.majorTicks;\n var minorTicks = ref.minorTicks;\n var size = 0;\n if (majorTicks.visible) {\n size = majorTicks.size;\n }\n\n if (minorTicks.visible) {\n size = Math.max(minorTicks.size, size);\n }\n\n return size;\n };\n\n RadialScale.prototype.labelsCount = function labelsCount () {\n var count = NumericAxis.prototype.labelsCount.call(this);\n var options = this.options;\n var angle = options.endAngle - options.startAngle;\n\n if (angle >= 360 && (options.max % options.majorUnit === 0)) {\n count -= 1;\n }\n\n return count;\n };\n\n RadialScale.prototype.renderLabels = function renderLabels () {\n var this$1 = this;\n\n var options = this.options;\n var arc = this.arc.clone();\n var radius = arc.getRadiusX();\n var tickAngles = this.tickAngles(arc, options.majorUnit);\n var rangeSize = options.rangeSize = options.rangeSize || radius * 0.1;\n var labelsGroup = new Group();\n\n var rangeDistance = radius * 0.05;\n if (defined(options.rangeDistance)) {\n rangeDistance = options.rangeDistance;\n } else {\n options.rangeDistance = rangeDistance;\n }\n\n var labelsOptions = options.labels;\n var isInside = labelsOptions.position === INSIDE;\n var hasLabelElements = defined(this.labelElements);\n\n if (isInside) {\n radius -= this.ticksSize();\n\n if (this.hasRanges() && !hasLabelElements) {\n radius -= rangeSize + rangeDistance;\n }\n arc.setRadiusX(radius).setRadiusY(radius);\n }\n\n var labels = this.labels;\n var count = labels.length;\n var padding = getSpacing(labelsOptions.padding);\n var paddingWidth = (padding.left + padding.right) / 2;\n var paddingHeight = (padding.top + padding.bottom) / 2;\n\n for (var i = 0; i < count; i++) {\n var label = labels[i];\n var halfWidth = label.box.width() / 2;\n var halfHeight = label.box.height() / 2;\n var angle = tickAngles[i];\n var labelAngle = (angle - GEO_ARC_ADJUST_ANGLE) * DEGREE;\n\n var lp = arc.pointAt(angle);\n var cx = lp.x + (Math.cos(labelAngle) * (halfWidth + paddingWidth) * (isInside ? 1 : -1));\n var cy = lp.y + (Math.sin(labelAngle) * (halfHeight + paddingHeight) * (isInside ? 1 : -1));\n\n label.reflow(new Box(cx - halfWidth, cy - halfHeight, cx + halfWidth, cy + halfHeight));\n var labelPos = new geo.Point(label.box.x1, label.box.y1);\n\n var labelElement = (void 0);\n if (!hasLabelElements) {\n labelElement = buildLabelElement(label, options.labels);\n labelsGroup.append(labelElement);\n } else {\n labelElement = this$1.labelElements.children[i];\n var prevLabelPos = labelElement.bbox().origin;\n\n var labelTransform = labelElement.transform() || geo.transform();\n labelTransform.translate(labelPos.x - prevLabelPos.x, labelPos.y - prevLabelPos.y);\n labelElement.transform(labelTransform);\n }\n\n this$1.bbox = geo.Rect.union(this$1.bbox, labelElement.bbox());\n }\n\n return labelsGroup;\n };\n\n RadialScale.prototype.repositionRanges = function repositionRanges () {\n var ranges = this.ranges.children;\n\n if (ranges.length > 0) {\n var ref = this.options;\n var rangeDistance = ref.rangeDistance;\n var rangeSize = ref.rangeSize;\n var rangeRadius = this.getRangeRadius();\n\n if (this.options.labels.position === INSIDE) {\n rangeRadius += rangeSize + rangeDistance;\n }\n\n var newRadius = rangeRadius + (rangeSize / 2);\n\n for (var i = 0; i < ranges.length; i++) {\n ranges[i]._geometry.setRadiusX(newRadius).setRadiusY(newRadius);\n }\n\n this.bbox = geo.Rect.union(this.bbox, this.ranges.bbox());\n }\n };\n\n RadialScale.prototype.renderRanges = function renderRanges () {\n var this$1 = this;\n\n var segments = this.rangeSegments();\n var segmentsCount = segments.length;\n var result = new Group();\n\n if (segmentsCount) {\n var ref = this.options;\n var rangeSize = ref.rangeSize;\n var reverse = ref.reverse;\n var rangeDistance = ref.rangeDistance;\n var rangeRadius = this.getRangeRadius();\n\n // move the ticks with a range distance and a range size\n this.radius(this.radius() - rangeSize - rangeDistance);\n\n for (var i = 0; i < segmentsCount; i++) {\n var segment = segments[i];\n var from = this$1.slotAngle(segment[reverse ? \"to\" : \"from\"]);\n var to = this$1.slotAngle(segment[!reverse ? \"to\" : \"from\"]);\n\n if (to - from !== 0) {\n result.append(this$1.createRange(from, to, rangeRadius, segment));\n }\n }\n }\n\n return result;\n };\n\n RadialScale.prototype.createRange = function createRange (startAngle, endAngle, rangeRadius, options) {\n var rangeSize = this.options.rangeSize;\n var rangeGeom = new geo.Arc(this.arc.center, {\n radiusX: rangeRadius + (rangeSize / 2),\n radiusY: rangeRadius + (rangeSize / 2),\n startAngle: startAngle,\n endAngle: endAngle\n });\n\n return new Arc(rangeGeom, {\n stroke: {\n width: rangeSize,\n color: options.color,\n opacity: options.opacity,\n lineCap: options.lineCap\n }\n });\n };\n\n RadialScale.prototype.rangeSegments = function rangeSegments () {\n var options = this.options;\n var ranges = options.ranges || [];\n var count = ranges.length;\n var segments = [];\n\n if (count) {\n var min = options.min;\n var max = options.max;\n var defaultColor = options.rangePlaceholderColor;\n segments.push(rangeSegment(min, max, defaultColor));\n\n for (var i = 0; i < count; i++) {\n var range = getRange(ranges[i], min, max);\n var segmentsCount = segments.length;\n\n for (var j = 0; j < segmentsCount; j++) {\n var segment = segments[j];\n\n if (segment.from <= range.from && range.from <= segment.to) {\n segments.push(rangeSegment(range.from, range.to, range.color, range.opacity));\n\n if (segment.from <= range.to && range.to <= segment.to) {\n segments.push(rangeSegment(range.to, segment.to, defaultColor, range.opacity));\n }\n\n segment.to = range.from;\n\n break;\n }\n }\n }\n }\n\n return segments;\n };\n\n RadialScale.prototype.getRangeRadius = function getRangeRadius () {\n var ref = this;\n var arc = ref.arc;\n var options = ref.options;\n var rangeSize = options.rangeSize;\n var rangeDistance = options.rangeDistance;\n var majorTickSize = options.majorTicks.size;\n var radius;\n\n if (options.labels.position === OUTSIDE) {\n radius = arc.getRadiusX() - majorTickSize - rangeDistance - rangeSize;\n } else {\n radius = arc.getRadiusX() - rangeSize;\n }\n\n return radius;\n };\n\n RadialScale.prototype.renderArc = function renderArc (center, radius) {\n var options = this.options;\n\n var arc = this.arc = new geo.Arc(center, {\n radiusX: radius,\n radiusY: radius,\n startAngle: options.startAngle + GEO_ARC_ADJUST_ANGLE,\n endAngle: options.endAngle + GEO_ARC_ADJUST_ANGLE\n });\n\n return arc;\n };\n\n RadialScale.prototype.renderTicks = function renderTicks () {\n var ref = this;\n var arc = ref.arc;\n var options = ref.options;\n var tickArc = arc.clone();\n\n this.majorTickAngles = this.tickAngles(arc, options.majorUnit);\n this.majorTicks = drawTicks(tickArc, this.majorTickAngles, options.majorUnit, options.majorTicks);\n\n var allTicks = new Group();\n allTicks.append(this.majorTicks);\n\n var majorTickSize = options.majorTicks.size;\n var minorTickSize = options.minorTicks.size;\n\n this._tickDifference = majorTickSize - minorTickSize;\n\n if (options.labels.position === OUTSIDE) {\n var radius = tickArc.getRadiusX();\n tickArc.setRadiusX(radius - majorTickSize + minorTickSize)\n .setRadiusY(radius - majorTickSize + minorTickSize);\n }\n\n this.minorTickAngles = this.normalizeTickAngles(this.tickAngles(arc, options.minorUnit));\n this.minorTicks = drawTicks(tickArc, this.minorTickAngles, options.minorUnit, options.minorTicks);\n allTicks.append(this.minorTicks);\n\n return allTicks;\n };\n\n RadialScale.prototype.normalizeTickAngles = function normalizeTickAngles (angles) {\n var options = this.options;\n var skip = options.majorUnit / options.minorUnit;\n\n for (var i = angles.length - 1; i >= 0; i--) {\n if (i % skip === 0) {\n angles.splice(i, 1);\n }\n }\n\n return angles;\n };\n\n RadialScale.prototype.tickAngles = function tickAngles (ring, stepValue) {\n var options = this.options;\n var reverse = options.reverse;\n var range = options.max - options.min;\n var angle = ring.endAngle - ring.startAngle;\n var tickCount = range / stepValue;\n var pos = ring.startAngle;\n var step = angle / tickCount;\n\n if (reverse) {\n pos += angle;\n step = -step;\n }\n\n if (angle >= 360 && (options.max % stepValue === 0)) {\n tickCount -= 1;\n }\n\n var positions = [];\n for (var i = 0; i < tickCount; i++) {\n positions.push(round(pos, COORD_PRECISION));\n pos += step;\n }\n\n if (round(pos) <= ring.endAngle) {\n positions.push(pos);\n }\n\n return positions;\n };\n\n RadialScale.prototype.radius = function radius (value) {\n if (value) {\n this.arc.setRadiusX(value).setRadiusY(value);\n this.repositionTicks(this.majorTicks.children, this.majorTickAngles);\n this.repositionTicks(this.minorTicks.children, this.minorTickAngles, true);\n } else {\n return this.arc.getRadiusX();\n }\n };\n\n RadialScale.prototype.repositionTicks = function repositionTicks (ticks, tickAngles, minor) {\n var diff = minor ? (this._tickDifference || 0) : 0;\n var tickArc = this.arc;\n var radius = tickArc.getRadiusX();\n\n if (minor && this.options.labels.position === OUTSIDE && diff !== 0) {\n tickArc = this.arc.clone();\n tickArc.setRadiusX(radius - diff).setRadiusY(radius - diff);\n }\n\n for (var i = 0; i < ticks.length; i++) {\n var newPoint = tickArc.pointAt(tickAngles[i]);\n var segments = ticks[i].segments;\n var xDiff = newPoint.x - segments[0].anchor().x;\n var yDiff = newPoint.y - segments[0].anchor().y;\n\n ticks[i].transform(new geo.transform().translate(xDiff, yDiff));\n }\n };\n\n return RadialScale;\n}(NumericAxis));\n\nsetDefaultOptions(RadialScale, {\n min: 0,\n max: 100,\n\n majorTicks: {\n size: 15,\n align: INSIDE,\n color: BLACK,\n width: DEFAULT_LINE_WIDTH,\n visible: true\n },\n\n minorTicks: {\n size: 10,\n align: INSIDE,\n color: BLACK,\n width: DEFAULT_LINE_WIDTH,\n visible: true\n },\n\n startAngle: -30,\n endAngle: 210,\n\n labels: {\n position: INSIDE,\n padding: 2\n }\n});\n\nexport default RadialScale;\n","import { geometry, drawing } from '@progress/kendo-drawing';\nimport { interpolateValue, setDefaultOptions } from '../../common';\nimport { ANGULAR_SPEED, LINEAR, RADIAL_POINTER } from '../constants';\n\nvar RadialPointerAnimation = (function (superclass) {\n function RadialPointerAnimation(element, options) {\n superclass.call(this, element, options);\n\n var animationOptions = this.options;\n\n animationOptions.duration = Math.max((Math.abs(animationOptions.newAngle - animationOptions.oldAngle) / animationOptions.duration) * 1000, 1);\n }\n\n if ( superclass ) RadialPointerAnimation.__proto__ = superclass;\n RadialPointerAnimation.prototype = Object.create( superclass && superclass.prototype );\n RadialPointerAnimation.prototype.constructor = RadialPointerAnimation;\n\n RadialPointerAnimation.prototype.step = function step (pos) {\n var options = this.options;\n var angle = interpolateValue(options.oldAngle, options.newAngle, pos);\n\n this.element.transform(geometry.transform().rotate(angle, options.center));\n };\n\n return RadialPointerAnimation;\n}(drawing.Animation));\n\nsetDefaultOptions(RadialPointerAnimation, {\n easing: LINEAR,\n duration: ANGULAR_SPEED\n});\n\ndrawing.AnimationFactory.current.register(RADIAL_POINTER, RadialPointerAnimation);\n\nexport default RadialPointerAnimation;","import { geometry as geo, drawing } from '@progress/kendo-drawing';\n\nimport { setDefaultOptions, deepExtend, limitValue } from '../../common';\nimport { ANGULAR_SPEED, DEGREE, DEFAULT_LINE_WIDTH, RADIAL_POINTER } from '../constants';\nimport Pointer from '../pointer';\nimport RadialPointerAnimation from './radial-pointer-animation';\n\nvar CAP_SIZE = 0.05;\nvar Circle = drawing.Circle;\nvar Group = drawing.Group;\nvar Path = drawing.Path;\n\nvar RadialPointer = (function (Pointer) {\n function RadialPointer () {\n Pointer.apply(this, arguments);\n }\n\n if ( Pointer ) RadialPointer.__proto__ = Pointer;\n RadialPointer.prototype = Object.create( Pointer && Pointer.prototype );\n RadialPointer.prototype.constructor = RadialPointer;\n\n RadialPointer.prototype.setAngle = function setAngle (angle) {\n this.elements.transform(geo.transform().rotate(angle, this.center));\n };\n\n RadialPointer.prototype.repaint = function repaint () {\n var ref = this;\n var scale = ref.scale;\n var options = ref.options;\n var oldAngle = scale.slotAngle(options._oldValue);\n var newAngle = scale.slotAngle(options.value);\n\n if (options.animation.transitions === false) {\n this.setAngle(newAngle);\n } else {\n new RadialPointerAnimation(this.elements, deepExtend(options.animation, {\n oldAngle: oldAngle,\n newAngle: newAngle\n })).play();\n }\n };\n\n RadialPointer.prototype.render = function render () {\n var ref = this;\n var scale = ref.scale;\n var options = ref.options;\n var elements = new Group();\n\n if (options.animation !== false) {\n deepExtend(options.animation, {\n startAngle: 0,\n center: scale.arc.center,\n reverse: scale.options.reverse\n });\n }\n\n elements.append(this._renderNeedle(), this._renderCap());\n\n this.elements = elements;\n this.setAngle(DEGREE);\n\n return elements;\n };\n\n RadialPointer.prototype.reflow = function reflow (arc) {\n var center = this.center = arc.center;\n var length = limitValue(this.options.length || 1, 0.1, 1.5);\n var radius = this.radius = arc.getRadiusX() * length;\n var capSize = this.capSize = Math.round(radius * this.options.cap.size);\n\n this.bbox = geo.Rect.fromPoints(new geo.Point(center.x - capSize, center.y - capSize),\n new geo.Point(center.x + capSize, center.y + capSize));\n };\n\n RadialPointer.prototype._renderNeedle = function _renderNeedle () {\n var minorTickSize = this.scale.options.minorTicks.size;\n var center = this.center;\n var needleColor = this.options.color;\n\n var needlePath = new Path({\n fill: { color: needleColor },\n stroke: { color: needleColor, width: DEFAULT_LINE_WIDTH }\n });\n\n needlePath.moveTo(center.x + this.radius - minorTickSize, center.y)\n .lineTo(center.x, center.y - (this.capSize / 2))\n .lineTo(center.x, center.y + (this.capSize / 2))\n .close();\n\n return needlePath;\n };\n\n RadialPointer.prototype._renderCap = function _renderCap () {\n var options = this.options;\n var capColor = options.cap.color || options.color;\n var circle = new geo.Circle(this.center, this.capSize);\n\n var cap = new Circle(circle, {\n fill: { color: capColor },\n stroke: { color: capColor }\n });\n\n return cap;\n };\n\n return RadialPointer;\n}(Pointer));\n\nsetDefaultOptions(RadialPointer, {\n cap: {\n size: CAP_SIZE\n },\n arrow: {\n width: 16,\n height: 14\n },\n animation: {\n type: RADIAL_POINTER,\n duration: ANGULAR_SPEED\n }\n});\n\nexport default RadialPointer;\n","import { geometry as geo, drawing } from '@progress/kendo-drawing';\nimport { setDefaultOptions, deepExtend, round, isArray } from '../../common';\nimport { COORD_PRECISION } from '../../common/constants';\nimport Gauge from '../gauge';\nimport RadialScale from './radial-scale';\nimport RadialPointer from './radial-pointer';\n\nvar Group = drawing.Group;\n\nvar RadialGauge = (function (Gauge) {\n function RadialGauge () {\n Gauge.apply(this, arguments);\n }\n\n if ( Gauge ) RadialGauge.__proto__ = Gauge;\n RadialGauge.prototype = Object.create( Gauge && Gauge.prototype );\n RadialGauge.prototype.constructor = RadialGauge;\n\n RadialGauge.prototype.reflow = function reflow (bbox) {\n var this$1 = this;\n\n var pointers = this.pointers;\n this.scale.reflow(bbox);\n this._initialPlotArea = this.scale.bbox;\n\n for (var i = 0; i < pointers.length; i++) {\n pointers[i].reflow(this$1.scale.arc);\n this$1._initialPlotArea = geo.Rect.union(this$1._initialPlotArea, pointers[i].bbox);\n }\n\n this.fitScale(bbox);\n this.alignScale(bbox);\n this._buildVisual(this.gaugeArea, pointers, this.scale);\n this._draw();\n };\n\n RadialGauge.prototype._buildVisual = function _buildVisual (gaugeArea, pointers, scale) {\n var visuals = this._visuals = new Group();\n\n visuals.append(gaugeArea);\n visuals.append(scale.ticks);\n visuals.append(scale.ranges);\n this._buildPointers(pointers);\n visuals.append(scale.labelElements);\n };\n\n RadialGauge.prototype._buildPointers = function _buildPointers (pointers) {\n var this$1 = this;\n\n for (var i = 0; i < pointers.length; i++) {\n var current = pointers[i];\n current.render();\n this$1._visuals.append(current.elements);\n\n current.value(current.options.value);\n }\n };\n\n RadialGauge.prototype.fitScale = function fitScale (bbox) {\n var this$1 = this;\n\n var arc = this.scale.arc;\n var plotAreaBox = this._initialPlotArea;\n var step = Math.abs(this.getDiff(plotAreaBox, bbox));\n var min = round(step, COORD_PRECISION);\n var max = round(-step, COORD_PRECISION);\n var minDiff, midDiff, maxDiff, mid, oldDiff;\n var staleFlag = 0;\n var i = 0;\n\n while (i++ < 100) {\n staleFlag = (oldDiff === maxDiff) ? (staleFlag + 1) : 0;\n\n if (staleFlag > 5) {\n break;\n }\n\n if (min !== mid) {\n minDiff = this$1.getPlotBox(min, bbox, arc);\n if (0 <= minDiff && minDiff <= 2) {\n break;\n }\n }\n\n if (max !== mid) {\n maxDiff = this$1.getPlotBox(max, bbox, arc);\n if (0 <= maxDiff && maxDiff <= 2) {\n break;\n }\n }\n\n if (minDiff > 0 && maxDiff > 0) {\n mid = min * 2;\n } else if (minDiff < 0 && maxDiff < 0) {\n mid = max * 2;\n } else {\n mid = round(((min + max) / 2) || 1, COORD_PRECISION);\n }\n\n midDiff = this$1.getPlotBox(mid, bbox, arc);\n if (0 <= midDiff && midDiff <= 2) {\n break;\n }\n\n oldDiff = maxDiff;\n\n if (midDiff > 0) {\n max = mid;\n maxDiff = midDiff;\n } else {\n min = mid;\n minDiff = midDiff;\n }\n }\n };\n\n RadialGauge.prototype.getPlotBox = function getPlotBox (step, bbox, arc) {\n var this$1 = this;\n\n var scale = this.scale;\n var pointers = this.pointers;\n var radius = arc.getRadiusX();\n var scaleArc = arc.clone();\n\n scaleArc.setRadiusX(radius + step).setRadiusY(radius + step);\n\n scale.arc = scaleArc;\n scale.reflow(bbox);\n this.plotBbox = scale.bbox;\n\n for (var i = 0; i < pointers.length; i++) {\n pointers[i].reflow(scaleArc);\n this$1.plotBbox = geo.Rect.union(this$1.plotBbox, pointers[i].bbox);\n }\n\n return this.getDiff(this.plotBbox, bbox);\n };\n\n RadialGauge.prototype.getDiff = function getDiff (plotBox, box) {\n return Math.min(box.width() - plotBox.width(), box.height() - plotBox.height());\n };\n\n RadialGauge.prototype.alignScale = function alignScale (bbox) {\n var this$1 = this;\n\n var plotBoxCenter = this.plotBbox.center();\n var boxCenter = bbox.center();\n var paddingX = plotBoxCenter.x - boxCenter.x;\n var paddingY = plotBoxCenter.y - boxCenter.y;\n var ref = this;\n var scale = ref.scale;\n var pointers = ref.pointers;\n\n scale.arc.center.x -= paddingX;\n scale.arc.center.y -= paddingY;\n\n scale.reflow(bbox);\n\n for (var i = 0; i < pointers.length; i++) {\n pointers[i].reflow(scale.arc);\n this$1.plotBbox = geo.Rect.union(scale.bbox, pointers[i].bbox);\n }\n };\n\n RadialGauge.prototype._createModel = function _createModel () {\n var this$1 = this;\n\n var options = this.options;\n var pointers = options.pointer;\n var scale = this.scale = new RadialScale(options.scale, this.contextService);\n\n this.pointers = [];\n\n var pointersArr = isArray(pointers) ? pointers : [ pointers ];\n for (var i = 0; i < pointersArr.length; i++) {\n var current = new RadialPointer(scale, deepExtend({}, pointersArr[i], {\n animation: {\n transitions: options.transitions\n }\n }));\n\n this$1.pointers.push(current);\n }\n };\n\n return RadialGauge;\n}(Gauge));\n\nsetDefaultOptions(RadialGauge, {\n transitions: true,\n gaugeArea: {\n background: \"\"\n }\n});\n\nexport default RadialGauge;","import RadialScale from '../radial/radial-scale';\nimport { setDefaultOptions } from '../../common';\n\nvar ArcScale = (function (RadialScale) {\n function ArcScale () {\n RadialScale.apply(this, arguments);\n }\n\n if ( RadialScale ) ArcScale.__proto__ = RadialScale;\n ArcScale.prototype = Object.create( RadialScale && RadialScale.prototype );\n ArcScale.prototype.constructor = ArcScale;\n\n ArcScale.prototype.rangeSegments = function rangeSegments () {\n var ref = this.options;\n var min = ref.min;\n var max = ref.max;\n var rangePlaceholderColor = ref.rangePlaceholderColor;\n var rangeLineCap = ref.rangeLineCap;\n\n return [ { from: min, to: max, color: rangePlaceholderColor, lineCap: rangeLineCap } ];\n };\n\n ArcScale.prototype.hasRanges = function hasRanges () {\n return true;\n };\n\n ArcScale.prototype.placeholderRangeAngle = function placeholderRangeAngle (angle) {\n var geometry = this.ranges.children[0].geometry();\n\n if (this.options.reverse) {\n geometry.setEndAngle(angle);\n } else {\n geometry.setStartAngle(angle);\n }\n };\n\n ArcScale.prototype.addRange = function addRange (from, to, options) {\n var reverse = this.options.reverse;\n\n var startAngle = this.slotAngle(reverse ? to : from);\n var endAngle = this.slotAngle(reverse ? from : to);\n\n var range = this.createRange(startAngle, endAngle, this.getRangeRadius(), options);\n\n this.ranges.append(range);\n\n return range;\n };\n\n return ArcScale;\n}(RadialScale));\n\nsetDefaultOptions(ArcScale, {\n min: 0,\n max: 100,\n\n majorTicks: {\n visible: false\n },\n\n minorTicks: {\n visible: false\n },\n\n labels: {\n visible: false\n },\n\n startAngle: 0,\n endAngle: 180,\n rangeLineCap: 'round'\n});\n\nexport default ArcScale;","import { drawing, Color } from '@progress/kendo-drawing';\nimport { interpolateValue, setDefaultOptions, round, limitValue } from '../../common';\nimport { ANGULAR_SPEED, LINEAR, RADIAL_RANGE_POINTER } from '../constants';\n\nvar MAX_DURATION = 800;\n\nvar RangePointerAnimation = (function (superclass) {\n function RangePointerAnimation(element, options) {\n superclass.call(this, element, options);\n\n var animationOptions = this.options;\n var duration = (Math.abs(animationOptions.newAngle - animationOptions.oldAngle) / animationOptions.duration) * 1000;\n animationOptions.duration = limitValue(duration, ANGULAR_SPEED, MAX_DURATION);\n\n var startColor = element.elements.options.get(\"stroke.color\");\n var color = element.currentColor();\n if (startColor !== color) {\n this.startColor = new Color(startColor);\n this.color = new Color(color);\n }\n }\n\n if ( superclass ) RangePointerAnimation.__proto__ = superclass;\n RangePointerAnimation.prototype = Object.create( superclass && superclass.prototype );\n RangePointerAnimation.prototype.constructor = RangePointerAnimation;\n\n RangePointerAnimation.prototype.step = function step (pos) {\n var ref = this;\n var options = ref.options;\n var startColor = ref.startColor;\n var color = ref.color;\n var angle = interpolateValue(options.oldAngle, options.newAngle, pos);\n this.element.angle(angle);\n\n if (color) {\n var r = round(interpolateValue(startColor.r, color.r, pos));\n var g = round(interpolateValue(startColor.g, color.g, pos));\n var b = round(interpolateValue(startColor.b, color.b, pos));\n\n this.element.stroke(new Color(r, g, b).toHex());\n }\n };\n\n return RangePointerAnimation;\n}(drawing.Animation));\n\nsetDefaultOptions(RangePointerAnimation, {\n easing: LINEAR,\n duration: ANGULAR_SPEED\n});\n\ndrawing.AnimationFactory.current.register(RADIAL_RANGE_POINTER, RangePointerAnimation);\n\nexport default RangePointerAnimation;","import { setDefaultOptions, deepExtend, isNumber } from '../../common';\nimport { ANGULAR_SPEED, RADIAL_RANGE_POINTER } from '../constants';\nimport Pointer from '../pointer';\nimport RangePointerAnimation from './range-pointer-animation';\n\nvar RangePointer = (function (Pointer) {\n function RangePointer () {\n Pointer.apply(this, arguments);\n }\n\n if ( Pointer ) RangePointer.__proto__ = Pointer;\n RangePointer.prototype = Object.create( Pointer && Pointer.prototype );\n RangePointer.prototype.constructor = RangePointer;\n\n RangePointer.prototype.repaint = function repaint () {\n var ref = this;\n var scale = ref.scale;\n var options = ref.options;\n var oldAngle = scale.slotAngle(options._oldValue);\n var newAngle = scale.slotAngle(options.value);\n\n if (this.animation) {\n this.animation.abort();\n }\n\n if (options.animation.transitions === false) {\n this.angle(newAngle);\n this.stroke(this.currentColor());\n } else {\n this.animation = new RangePointerAnimation(this, deepExtend(options.animation, {\n oldAngle: oldAngle,\n newAngle: newAngle\n }));\n\n this.animation.play();\n }\n };\n\n RangePointer.prototype.angle = function angle (value) {\n var geometry = this.elements.geometry();\n if (this.scale.options.reverse) {\n geometry.setStartAngle(value);\n } else {\n geometry.setEndAngle(value);\n }\n this.scale.placeholderRangeAngle(value);\n };\n\n RangePointer.prototype.stroke = function stroke (value) {\n this.elements.stroke(value);\n };\n\n RangePointer.prototype.render = function render () {\n if (this.elements) {\n return;\n }\n\n var ref = this;\n var scale = ref.scale;\n var options = ref.options;\n\n if (options.animation !== false) {\n deepExtend(options.animation, {\n startAngle: 0,\n center: scale.arc.center,\n reverse: scale.options.reverse\n });\n }\n\n this.elements = scale.addRange(scale.options.min, this.options.value, {\n color: this.currentColor(),\n opacity: options.opacity,\n lineCap: scale.options.rangeLineCap\n });\n };\n\n RangePointer.prototype.currentColor = function currentColor () {\n var ref = this.scale.options;\n var min = ref.min;\n var max = ref.max;\n var ref$1 = this.options;\n var colors = ref$1.colors;\n var color = ref$1.color;\n var value = ref$1.value;\n var currentValue = isNumber(value) ? value : min;\n\n if (colors) {\n for (var idx = 0; idx < colors.length; idx++) {\n var ref$2 = colors[idx];\n var rangeColor = ref$2.color;\n var from = ref$2.from; if ( from === void 0 ) from = min;\n var to = ref$2.to; if ( to === void 0 ) to = max;\n\n if (from <= currentValue && currentValue <= to) {\n return rangeColor;\n }\n }\n }\n\n return color;\n };\n\n RangePointer.prototype.reflow = function reflow () {\n this.render();\n\n this.bbox = this.elements.bbox();\n };\n\n return RangePointer;\n}(Pointer));\n\nsetDefaultOptions(RangePointer, {\n animation: {\n type: RADIAL_RANGE_POINTER,\n duration: ANGULAR_SPEED\n }\n});\n\nexport default RangePointer;\n","import RadialGauge from '../radial/radial-gauge';\nimport ArcScale from './arc-scale';\nimport RangePointer from './range-pointer';\n\nimport { deepExtend } from '../../common';\n\n\nvar ArcGauge = (function (RadialGauge) {\n function ArcGauge () {\n RadialGauge.apply(this, arguments);\n }\n\n if ( RadialGauge ) ArcGauge.__proto__ = RadialGauge;\n ArcGauge.prototype = Object.create( RadialGauge && RadialGauge.prototype );\n ArcGauge.prototype.constructor = ArcGauge;\n\n ArcGauge.prototype._initTheme = function _initTheme (theme) {\n RadialGauge.prototype._initTheme.call(this, theme);\n\n this.options.color = this.options.color || (this.theme.pointer || {}).color;\n };\n\n ArcGauge.prototype._createModel = function _createModel () {\n var options = this.options;\n var scale = this.scale = new ArcScale(options.scale, this.contextService);\n\n var pointer = new RangePointer(scale, deepExtend({}, {\n colors: options.colors,\n color: options.color,\n value: options.value,\n opacity: options.opacity,\n animation: {\n transitions: options.transitions\n }\n }));\n\n this.pointers = [ pointer ];\n };\n\n ArcGauge.prototype._buildPointers = function _buildPointers (pointers) {\n for (var i = 0; i < pointers.length; i++) {\n var current = pointers[i];\n current.render();\n\n current.value(current.options.value);\n }\n };\n\n ArcGauge.prototype._setValueOptions = function _setValueOptions (value) {\n this.options.value = value;\n };\n\n ArcGauge.prototype.currentColor = function currentColor () {\n var pointer = this.pointers[0];\n if (pointer) {\n return pointer.currentColor();\n }\n };\n\n ArcGauge.prototype.centerLabelPosition = function centerLabelPosition (width, height) {\n var size = this.getSize();\n var center = this.scale.arc.center;\n\n var left = center.x - width / 2;\n var top = center.y - height / 2;\n\n if (width < size.width) {\n var right = left + width;\n\n left = Math.max(left, 0);\n\n if (right > size.width) {\n left -= right - size.width;\n }\n }\n\n if (height < size.height) {\n var bbox = this.scale.bbox;\n var yLimit = bbox.bottomRight().y;\n var bottom = top + height;\n\n top = Math.max(top, bbox.origin.y);\n\n if (bottom > yLimit) {\n top -= bottom - yLimit;\n }\n }\n\n return {\n left: left,\n top: top\n };\n };\n\n return ArcGauge;\n}(RadialGauge));\n\nexport default ArcGauge;","import ArcGauge from '../arc/arc-gauge';\n\nvar defaultStartAngle = 90;\n\nvar CircularGauge = (function (ArcGauge) {\n function CircularGauge () {\n ArcGauge.apply(this, arguments);\n }\n\n if ( ArcGauge ) CircularGauge.__proto__ = ArcGauge;\n CircularGauge.prototype = Object.create( ArcGauge && ArcGauge.prototype );\n CircularGauge.prototype.constructor = CircularGauge;\n\n CircularGauge.prototype._createModel = function _createModel () {\n var scaleOptions = this.options.scale;\n if (typeof scaleOptions.startAngle !== 'number') {\n scaleOptions.startAngle = defaultStartAngle;\n }\n\n scaleOptions.endAngle = scaleOptions.startAngle + 360;\n\n ArcGauge.prototype._createModel.call(this);\n };\n\n return CircularGauge;\n}(ArcGauge));\n\nexport default CircularGauge;\n","import {\n Class,\n defined,\n setDefaultOptions\n} from '../../common';\n\nvar DEFAULT_QUIET_ZONE_LENGTH = 10;\n\nexport var Encoding = (function (Class) {\n function Encoding(options) {\n Class.call(this);\n this.setOptions(options);\n this.initProperties();\n }\n\n if ( Class ) Encoding.__proto__ = Class;\n Encoding.prototype = Object.create( Class && Class.prototype );\n Encoding.prototype.constructor = Encoding;\n\n Encoding.prototype.initProperties = function initProperties () { };\n\n Encoding.prototype.setOptions = function setOptions (options) {\n this.options = Object.assign({}, this.options, options);\n this.quietZoneLength = this.options.addQuietZone ? 2 * this.options.quietZoneLength : 0;\n };\n\n Encoding.prototype.encode = function encode (value, width, height) {\n var convertedValue = defined(value) ? String(value) : value;\n\n this.initValue(convertedValue, width, height);\n\n if (this.options.addQuietZone) {\n this.addQuietZone();\n }\n\n this.addData();\n\n if (this.options.addQuietZone) {\n this.addQuietZone();\n }\n\n return {\n baseUnit: this.baseUnit,\n pattern: this.pattern\n };\n };\n\n Encoding.prototype.initValue = function initValue () { };\n\n Encoding.prototype.addQuietZone = function addQuietZone () {\n this.pattern.push(this.options.quietZoneLength || DEFAULT_QUIET_ZONE_LENGTH);\n };\n\n Encoding.prototype.addData = function addData () { };\n\n Encoding.prototype.invalidCharacterError = function invalidCharacterError (character) {\n throw new Error((\"Character \\\"\" + character + \"\\\" is not valid for symbology \" + (this.name) + \".\"));\n };\n\n return Encoding;\n}(Class));\n\nsetDefaultOptions(Encoding, {\n quietZoneLength: DEFAULT_QUIET_ZONE_LENGTH,\n addQuietZone: true,\n addCheckSum: true\n});\n","import { Encoding } from './encoding';\nimport { setDefaultOptions } from '../../common';\n\nvar extend = Object.assign;\n\nexport var Code11 = (function (Encoding) {\n function Code11 () {\n Encoding.apply(this, arguments);\n }\n\n if ( Encoding ) Code11.__proto__ = Encoding;\n Code11.prototype = Object.create( Encoding && Encoding.prototype );\n Code11.prototype.constructor = Code11;\n\n Code11.prototype.initProperties = function initProperties () {\n Encoding.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"Code 11\",\n characterMap: [\"111121\", \"211121\", \"121121\", \"221111\", \"112121\", \"212111\", \"122111\", \"111221\", \"211211\", \"211111\", \"112111\"],\n cCheckSumTotal: 10,\n kCheckSumTotal: 9,\n kCheckSumMinLength: 10,\n checkSumMod: 11,\n DASH_VALUE: 10,\n DASH: \"-\",\n START: \"112211\",\n STOP: \"11221\"\n });\n };\n\n Code11.prototype.initValue = function initValue (value, width) {\n this.pattern = [];\n this.value = value;\n this.width = width;\n this.totalUnits = 0;\n };\n\n Code11.prototype.addData = function addData () {\n var this$1 = this;\n\n var value = this.value;\n\n this.addPattern(this.START);\n\n for (var i = 0; i < value.length; i++) {\n this$1.addCharacter(value.charAt(i));\n }\n\n if (this.options.addCheckSum) {\n this.addCheckSum();\n }\n\n this.addPattern(this.STOP);\n this.setBaseUnit();\n };\n\n Code11.prototype.setBaseUnit = function setBaseUnit () {\n this.baseUnit = this.width / (this.totalUnits + this.quietZoneLength);\n };\n\n Code11.prototype.addCheckSum = function addCheckSum () {\n var value = this.value;\n var length = value.length;\n var cValue = this.getWeightedSum(value, length, this.cCheckSumTotal) % this.checkSumMod;\n\n this.checksum = String(cValue);\n this.addPattern(this.characterMap[cValue]);\n\n length++;\n\n if (length >= this.kCheckSumMinLength) {\n var kValue = (cValue + this.getWeightedSum(value, length, this.kCheckSumTotal)) % this.checkSumMod;\n this.checksum += kValue;\n this.addPattern(this.characterMap[kValue]);\n }\n };\n\n Code11.prototype.getWeightedSum = function getWeightedSum (value, length, total) {\n var this$1 = this;\n\n var weightedSum = 0;\n\n for (var i = 0; i < value.length; i++) {\n weightedSum += this$1.weightedValue(this$1.getValue(value.charAt(i)), length, i, total);\n }\n\n return weightedSum;\n };\n\n Code11.prototype.weightedValue = function weightedValue (value, length, index, total) {\n var weight = (length - index) % total || total;\n return weight * value;\n };\n\n Code11.prototype.getValue = function getValue (character) {\n if (!isNaN(character)) {\n return parseInt(character, 10);\n } else if (character !== this.DASH) {\n this.invalidCharacterError(character);\n }\n\n return this.DASH_VALUE;\n };\n\n Code11.prototype.addCharacter = function addCharacter (character) {\n var value = this.getValue(character);\n var pattern = this.characterMap[value];\n\n this.addPattern(pattern);\n };\n\n Code11.prototype.addPattern = function addPattern (pattern) {\n var this$1 = this;\n\n var value;\n\n for (var i = 0; i < pattern.length; i++) {\n value = parseInt(pattern.charAt(i), 10);\n this$1.pattern.push(value);\n this$1.totalUnits += value;\n }\n };\n\n return Code11;\n}(Encoding));\n\nsetDefaultOptions(Code11, {\n addCheckSum: true\n});\n","import { setDefaultOptions } from '../../common';\nimport { Encoding } from './encoding';\n\nvar extend = Object.assign;\n\nexport var Code39Base = (function (Encoding) {\n function Code39Base () {\n Encoding.apply(this, arguments);\n }\n\n if ( Encoding ) Code39Base.__proto__ = Encoding;\n Code39Base.prototype = Object.create( Encoding && Encoding.prototype );\n Code39Base.prototype.constructor = Code39Base;\n\n Code39Base.prototype.initProperties = function initProperties () {\n Encoding.prototype.initProperties.call(this);\n\n extend(this, {\n minBaseUnitLength: 0.7\n });\n };\n\n Code39Base.prototype.addData = function addData () {\n var this$1 = this;\n\n var value = this.value;\n\n this.addStart();\n\n for (var idx = 0; idx < value.length; idx++) {\n this$1.addCharacter(value.charAt(idx));\n }\n\n if (this.options.addCheckSum) {\n this.pushCheckSum();\n }\n\n this.addStop();\n this.prepareValues();\n };\n\n Code39Base.prototype.addCharacter = function addCharacter (character) {\n var characterData = this.characterMap[character];\n\n if (!characterData) {\n this.invalidCharacterError(character);\n }\n\n this.addBase(characterData);\n };\n\n Code39Base.prototype.addBase = function addBase () { };\n\n return Code39Base;\n}(Encoding));\n\nexport var Code39 = (function (Code39Base) {\n function Code39 () {\n Code39Base.apply(this, arguments);\n }\n\n if ( Code39Base ) Code39.__proto__ = Code39Base;\n Code39.prototype = Object.create( Code39Base && Code39Base.prototype );\n Code39.prototype.constructor = Code39;\n\n Code39.prototype.initProperties = function initProperties () {\n Code39Base.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"Code 39\",\n checkSumMod: 43,\n minRatio: 2.5,\n maxRatio: 3,\n gapWidth: 1,\n splitCharacter: \"|\",\n patternMappings: {\n \"b\": \"1|\",\n \"w\": \"1|\",\n \"B\": \"ratio|\",\n \"W\": \"ratio|\"\n },\n characterMap: {\n \"0\": { \"pattern\": \"bwbWBwBwb\", \"value\": 0 },\n \"1\": { \"pattern\": \"BwbWbwbwB\", \"value\": 1 },\n \"2\": { \"pattern\": \"bwBWbwbwB\", \"value\": 2 },\n \"3\": { \"pattern\": \"BwBWbwbwb\", \"value\": 3 },\n \"4\": { \"pattern\": \"bwbWBwbwB\", \"value\": 4 },\n \"5\": { \"pattern\": \"BwbWBwbwb\", \"value\": 5 },\n \"6\": { \"pattern\": \"bwBWBwbwb\", \"value\": 6 },\n \"7\": { \"pattern\": \"bwbWbwBwB\", \"value\": 7 },\n \"8\": { \"pattern\": \"BwbWbwBwb\", \"value\": 8 },\n \"9\": { \"pattern\": \"bwBWbwBwb\", \"value\": 9 },\n \"A\": { \"pattern\": \"BwbwbWbwB\", \"value\": 10 },\n \"B\": { \"pattern\": \"bwBwbWbwB\", \"value\": 11 },\n \"C\": { \"pattern\": \"BwBwbWbwb\", \"value\": 12 },\n \"D\": { \"pattern\": \"bwbwBWbwB\", \"value\": 13 },\n \"E\": { \"pattern\": \"BwbwBWbwb\", \"value\": 14 },\n \"F\": { \"pattern\": \"bwBwBWbwb\", \"value\": 15 },\n \"G\": { \"pattern\": \"bwbwbWBwB\", \"value\": 16 },\n \"H\": { \"pattern\": \"BwbwbWBwb\", \"value\": 17 },\n \"I\": { \"pattern\": \"bwBwbWBwb\", \"value\": 18 },\n \"J\": { \"pattern\": \"bwbwBWBwb\", \"value\": 19 },\n \"K\": { \"pattern\": \"BwbwbwbWB\", \"value\": 20 },\n \"L\": { \"pattern\": \"bwBwbwbWB\", \"value\": 21 },\n \"M\": { \"pattern\": \"BwBwbwbWb\", \"value\": 22 },\n \"N\": { \"pattern\": \"bwbwBwbWB\", \"value\": 23 },\n \"O\": { \"pattern\": \"BwbwBwbWb\", \"value\": 24 },\n \"P\": { \"pattern\": \"bwBwBwbWb\", \"value\": 25 },\n \"Q\": { \"pattern\": \"bwbwbwBWB\", \"value\": 26 },\n \"R\": { \"pattern\": \"BwbwbwBWb\", \"value\": 27 },\n \"S\": { \"pattern\": \"bwBwbwBWb\", \"value\": 28 },\n \"T\": { \"pattern\": \"bwbwBwBWb\", \"value\": 29 },\n \"U\": { \"pattern\": \"BWbwbwbwB\", \"value\": 30 },\n \"V\": { \"pattern\": \"bWBwbwbwB\", \"value\": 31 },\n \"W\": { \"pattern\": \"BWBwbwbwb\", \"value\": 32 },\n \"X\": { \"pattern\": \"bWbwBwbwB\", \"value\": 33 },\n \"Y\": { \"pattern\": \"BWbwBwbwb\", \"value\": 34 },\n \"Z\": { \"pattern\": \"bWBwBwbwb\", \"value\": 35 },\n \"-\": { \"pattern\": \"bWbwbwBwB\", \"value\": 36 },\n \".\": { \"pattern\": \"BWbwbwBwb\", \"value\": 37 },\n \" \": { \"pattern\": \"bWBwbwBwb\", \"value\": 38 },\n \"$\": { \"pattern\": \"bWbWbWbwb\", \"value\": 39 },\n \"/\": { \"pattern\": \"bWbWbwbWb\", \"value\": 40 },\n \"+\": { \"pattern\": \"bWbwbWbWb\", \"value\": 41 },\n \"%\": { \"pattern\": \"bwbWbWbWb\", \"value\": 42 },\n START: { pattern: \"bWbwBwBwb\" }\n }\n });\n };\n\n Code39.prototype.initValue = function initValue (value, width, height) {\n this.width = width;\n this.height = height;\n this.value = value;\n this.dataLength = value.length;\n this.pattern = [];\n this.patternString = \"\";\n };\n\n Code39.prototype.prepareValues = function prepareValues () {\n var this$1 = this;\n\n var minBaseUnit = this.minBaseUnitLength;\n var minRatio = this.minRatio;\n var minHeight = Math.ceil(Math.max(0.15 * this.width, 24));\n var baseUnit;\n var ratio = this.maxRatio;\n\n if (this.height < minHeight) {\n throw new Error((\"Insufficient height for Code39 encoding: the current height is \" + (this.height) + \"px and the minimum height is \" + minHeight + \"px.\"));\n }\n\n baseUnit = this.getBaseUnit(ratio);\n\n while (baseUnit < minBaseUnit && ratio > minRatio) {\n ratio = parseFloat((ratio - 0.1).toFixed(1));\n baseUnit = this$1.getBaseUnit(ratio);\n }\n\n if (baseUnit < minBaseUnit) {\n var minWidth = Math.ceil(this.getBaseWidth(minRatio) * minBaseUnit);\n throw new Error((\"Insufficient width for Code39 encoding: the current width is \" + (this.width) + \"px and the minimum width for value \\\"\" + (this.value) + \"\\\" is \" + minWidth + \"px.\"));\n }\n\n this.ratio = ratio;\n this.baseUnit = baseUnit;\n this.patternString = this.patternString.substring(0, this.patternString.length - 1);\n this.pattern = this.pattern.concat(this.patternString.replace(/ratio/g, ratio).split(this.splitCharacter));\n };\n\n Code39.prototype.getBaseUnit = function getBaseUnit (ratio) {\n return this.width / this.getBaseWidth(ratio);\n };\n\n Code39.prototype.getBaseWidth = function getBaseWidth (ratio) {\n var characterLength = 3 * (ratio + 2);\n return this.quietZoneLength + characterLength * (this.dataLength + 2) + this.gapWidth * (this.dataLength + 1);\n };\n\n Code39.prototype.addStart = function addStart () {\n this.addPattern(this.characterMap.START.pattern);\n this.addCharacterGap();\n };\n\n Code39.prototype.addBase = function addBase (character) {\n this.addPattern(character.pattern);\n this.addCharacterGap();\n };\n\n Code39.prototype.addStop = function addStop () {\n this.addPattern(this.characterMap.START.pattern);\n };\n\n Code39.prototype.addPattern = function addPattern (pattern) {\n var this$1 = this;\n\n for (var i = 0; i < pattern.length; i++) {\n this$1.patternString += this$1.patternMappings[pattern.charAt(i)];\n }\n };\n\n Code39.prototype.addCharacterGap = function addCharacterGap () {\n this.patternString += this.gapWidth + this.splitCharacter;\n };\n\n return Code39;\n}(Code39Base));\n\nsetDefaultOptions(Code39, {\n addCheckSum: false\n});\n","import { Code39 } from './code39';\nimport deepExtend from '../../common/deep-extend';\n\nexport var Code39ExtendedBase = {\n addCharacter: function addCharacter(character) {\n if (this.characterMap[character]) {\n this.addBase(this.characterMap[character]);\n } else if (character.charCodeAt(0) > 127) {\n this.invalidCharacterError(character);\n } else {\n this.addExtended(character.charCodeAt(0));\n }\n },\n\n addExtended: function addExtended(code) {\n var this$1 = this;\n\n var patterns;\n\n for (var i = 0; i < this.extendedMappings.length; i++) {\n patterns = this$1.extendedMappings[i].call(this$1, code);\n\n if (patterns) {\n for (var patternIndex = 0; patternIndex < patterns.length; patternIndex++) {\n var pattern = patterns[patternIndex];\n this$1.addBase(pattern);\n }\n\n this$1.dataLength += patterns.length - 1;\n return;\n }\n }\n },\n\n extendedMappings: [\n function(code) {\n if (97 <= code && code <= 122) {\n return [this.characterMap[this.shiftCharacters[0]], this.characterMap[String.fromCharCode(code - 32)]];\n }\n },\n function(code) {\n if (33 <= code && code <= 58) {\n return [this.characterMap[this.shiftCharacters[1]], this.characterMap[String.fromCharCode(code + 32)]];\n }\n },\n function(code) {\n if (1 <= code && code <= 26) {\n return [this.characterMap[this.shiftCharacters[2]], this.characterMap[String.fromCharCode(code + 64)]];\n }\n },\n function(code) {\n var this$1 = this;\n\n var result;\n var dataCharacter;\n\n if (!this.specialAsciiCodes[code]) {\n dataCharacter = Math.floor(code / 32) * 6 + (code - 27) % 32 + 64;\n result = [this.characterMap[this.shiftCharacters[3]], this.characterMap[String.fromCharCode(dataCharacter)]];\n } else {\n result = [];\n\n for (var i = 0; i < this.specialAsciiCodes[code].length; i++) {\n result.push(this$1.characterMap[this$1.shiftCharacters[3]]);\n result.push(this$1.characterMap[this$1.specialAsciiCodes[code][i]]);\n }\n }\n\n return result;\n }\n ],\n specialAsciiCodes: {\n \"0\": [\"U\"],\n \"64\": [\"V\"],\n \"96\": [\"W\"],\n \"127\": [\"T\", \"X\", \"Y\", \"Z\"]\n },\n shiftValuesAsciiCodes: {\n \"39\": 36,\n \"40\": 47,\n \"41\": 43,\n \"42\": 37\n },\n characterMap: {\n \"+\": false,\n \"/\": false,\n \"$\": false,\n \"%\": false\n },\n shiftCharacters: [\"SHIFT0\", \"SHIFT1\", \"SHIFT2\", \"SHIFT3\"]\n};\n\nexport var Code39Extended = (function (Code39) {\n function Code39Extended () {\n Code39.apply(this, arguments);\n }\n\n if ( Code39 ) Code39Extended.__proto__ = Code39;\n Code39Extended.prototype = Object.create( Code39 && Code39.prototype );\n Code39Extended.prototype.constructor = Code39Extended;\n\n Code39Extended.prototype.initProperties = function initProperties () {\n Code39.prototype.initProperties.call(this);\n\n deepExtend(this, Code39ExtendedBase, {\n name: \"Code 39 extended\",\n characterMap: {\n SHIFT0: { \"pattern\": \"bWbwbWbWb\", \"value\": 41 },\n SHIFT1: { \"pattern\": \"bWbWbwbWb\", \"value\": 40 },\n SHIFT2: { \"pattern\": \"bWbWbWbwb\", \"value\": 39 },\n SHIFT3: { \"pattern\": \"bwbWbWbWb\", \"value\": 42 }\n }\n });\n };\n\n return Code39Extended;\n}(Code39));\n","import { Code39Base } from './code39';\n\nvar extend = Object.assign;\n\nexport var Code93 = (function (Code39Base) {\n function Code93 () {\n Code39Base.apply(this, arguments);\n }\n\n if ( Code39Base ) Code93.__proto__ = Code39Base;\n Code93.prototype = Object.create( Code39Base && Code39Base.prototype );\n Code93.prototype.constructor = Code93;\n\n Code93.prototype.initProperties = function initProperties () {\n Code39Base.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"Code 93\",\n cCheckSumTotal: 20,\n kCheckSumTotal: 15,\n checkSumMod: 47,\n characterMap: {\n \"0\": { \"pattern\": \"131112\", \"value\": 0 },\n \"1\": { \"pattern\": \"111213\", \"value\": 1 },\n \"2\": { \"pattern\": \"111312\", \"value\": 2 },\n \"3\": { \"pattern\": \"111411\", \"value\": 3 },\n \"4\": { \"pattern\": \"121113\", \"value\": 4 },\n \"5\": { \"pattern\": \"121212\", \"value\": 5 },\n \"6\": { \"pattern\": \"121311\", \"value\": 6 },\n \"7\": { \"pattern\": \"111114\", \"value\": 7 },\n \"8\": { \"pattern\": \"131211\", \"value\": 8 },\n \"9\": { \"pattern\": \"141111\", \"value\": 9 },\n \"A\": { \"pattern\": \"211113\", \"value\": 10 },\n \"B\": { \"pattern\": \"211212\", \"value\": 11 },\n \"C\": { \"pattern\": \"211311\", \"value\": 12 },\n \"D\": { \"pattern\": \"221112\", \"value\": 13 },\n \"E\": { \"pattern\": \"221211\", \"value\": 14 },\n \"F\": { \"pattern\": \"231111\", \"value\": 15 },\n \"G\": { \"pattern\": \"112113\", \"value\": 16 },\n \"H\": { \"pattern\": \"112212\", \"value\": 17 },\n \"I\": { \"pattern\": \"112311\", \"value\": 18 },\n \"J\": { \"pattern\": \"122112\", \"value\": 19 },\n \"K\": { \"pattern\": \"132111\", \"value\": 20 },\n \"L\": { \"pattern\": \"111123\", \"value\": 21 },\n \"M\": { \"pattern\": \"111222\", \"value\": 22 },\n \"N\": { \"pattern\": \"111321\", \"value\": 23 },\n \"O\": { \"pattern\": \"121122\", \"value\": 24 },\n \"P\": { \"pattern\": \"131121\", \"value\": 25 },\n \"Q\": { \"pattern\": \"212112\", \"value\": 26 },\n \"R\": { \"pattern\": \"212211\", \"value\": 27 },\n \"S\": { \"pattern\": \"211122\", \"value\": 28 },\n \"T\": { \"pattern\": \"211221\", \"value\": 29 },\n \"U\": { \"pattern\": \"221121\", \"value\": 30 },\n \"V\": { \"pattern\": \"222111\", \"value\": 31 },\n \"W\": { \"pattern\": \"112122\", \"value\": 32 },\n \"X\": { \"pattern\": \"112221\", \"value\": 33 },\n \"Y\": { \"pattern\": \"122121\", \"value\": 34 },\n \"Z\": { \"pattern\": \"123111\", \"value\": 35 },\n \"-\": { \"pattern\": \"121131\", \"value\": 36 },\n \".\": { \"pattern\": \"311112\", \"value\": 37 },\n \" \": { \"pattern\": \"311211\", \"value\": 38 },\n \"$\": { \"pattern\": \"321111\", \"value\": 39 },\n \"/\": { \"pattern\": \"112131\", \"value\": 40 },\n \"+\": { \"pattern\": \"113121\", \"value\": 41 },\n \"%\": { \"pattern\": \"211131\", \"value\": 42 },\n SHIFT0: { \"pattern\": \"122211\", \"value\": 46 },\n SHIFT1: { \"pattern\": \"311121\", \"value\": 45 },\n SHIFT2: { \"pattern\": \"121221\", \"value\": 43 },\n SHIFT3: { \"pattern\": \"312111\", \"value\": 44 },\n START: { \"pattern\": \"111141\" },\n TERMINATION_BAR: \"1\"\n }\n });\n };\n\n Code93.prototype.initValue = function initValue (value, width, height) {\n this.value = value;\n this.width = width;\n this.height = height;\n this.pattern = [];\n this.values = [];\n this.dataLength = value.length;\n };\n\n Code93.prototype.prepareValues = function prepareValues () {\n var minHeight = Math.ceil(Math.max(0.15 * this.width, 24));\n\n if (this.height < minHeight) {\n throw new Error((\"Insufficient height for Code93 encoding: the current height is \" + (this.height) + \"px, the minimum required height is \" + minHeight + \"px.\"));\n }\n\n this.setBaseUnit();\n\n if (this.baseUnit < this.minBaseUnitLength) {\n var minWidth = Math.ceil(this.minBaseUnitLength * (this.width / this.baseUnit));\n throw new Error((\"Insufficient width for Code93 encoding: the current width is \" + (this.width) + \"px and the minimum required width for value \\\"\" + (this.value) + \"\\\" is \" + minWidth + \"px.\"));\n }\n };\n\n Code93.prototype.setBaseUnit = function setBaseUnit () {\n var checkSumLength = 2;\n\n this.baseUnit = this.width / (9 * (this.dataLength + 2 + checkSumLength) + this.quietZoneLength + 1);\n };\n\n Code93.prototype.addStart = function addStart () {\n var pattern = this.characterMap.START.pattern;\n this.addPattern(pattern);\n };\n\n Code93.prototype.addStop = function addStop () {\n this.addStart();\n this.pattern.push(this.characterMap.TERMINATION_BAR);\n };\n\n Code93.prototype.addBase = function addBase (charData) {\n this.addPattern(charData.pattern);\n this.values.push(charData.value);\n };\n\n Code93.prototype.pushCheckSum = function pushCheckSum () {\n var this$1 = this;\n\n var checkValues = this._getCheckValues();\n var charData;\n\n this.checksum = checkValues.join(\"\");\n\n for (var i = 0; i < checkValues.length; i++) {\n charData = this$1.characterMap[this$1._findCharacterByValue(checkValues[i])];\n this$1.addPattern(charData.pattern);\n }\n };\n\n Code93.prototype._getCheckValues = function _getCheckValues () {\n var this$1 = this;\n\n var values = this.values;\n var length = values.length;\n var wightedSum = 0;\n var cValue;\n var kValue;\n var idx;\n\n for (idx = length - 1; idx >= 0; idx--) {\n wightedSum += this$1.weightedValue(values[idx], length - idx, this$1.cCheckSumTotal);\n }\n\n cValue = wightedSum % this.checkSumMod;\n\n wightedSum = this.weightedValue(cValue, 1, this.kCheckSumTotal);\n\n for (idx = length - 1; idx >= 0; idx--) {\n wightedSum += this$1.weightedValue(values[idx], length - idx + 1, this$1.kCheckSumTotal);\n }\n\n kValue = wightedSum % this.checkSumMod;\n return [cValue, kValue];\n };\n\n Code93.prototype._findCharacterByValue = function _findCharacterByValue (value) {\n var this$1 = this;\n\n for (var character in this$1.characterMap) {\n if (this$1.characterMap[character].value === value) {\n return character;\n }\n }\n };\n\n Code93.prototype.weightedValue = function weightedValue (value, index, total) {\n return (index % total || total) * value;\n };\n\n Code93.prototype.addPattern = function addPattern (pattern) {\n var this$1 = this;\n\n var value;\n\n for (var i = 0; i < pattern.length; i++) {\n value = parseInt(pattern.charAt(i), 10);\n this$1.pattern.push(value);\n }\n };\n\n return Code93;\n}(Code39Base));\n","import { Code93 } from './code93';\nimport { Code39ExtendedBase } from './code39-extended';\nimport deepExtend from '../../common/deep-extend';\n\nexport var Code93Extended = (function (Code93) {\n function Code93Extended () {\n Code93.apply(this, arguments);\n }\n\n if ( Code93 ) Code93Extended.__proto__ = Code93;\n Code93Extended.prototype = Object.create( Code93 && Code93.prototype );\n Code93Extended.prototype.constructor = Code93Extended;\n\n Code93Extended.prototype.initProperties = function initProperties () {\n Code93.prototype.initProperties.call(this);\n\n deepExtend(this, Code39ExtendedBase, {\n name: \"Code 93 extended\",\n pushCheckSum: function() {\n var this$1 = this;\n\n var checkValues = this._getCheckValues();\n var value;\n\n this.checksum = checkValues.join(\"\");\n\n for (var i = 0; i < checkValues.length; i++) {\n value = checkValues[i];\n\n if (this$1.shiftValuesAsciiCodes[value]) {\n this$1.addExtended(this$1.shiftValuesAsciiCodes[value]);\n } else {\n var characterByValue = this$1._findCharacterByValue(value);\n this$1.addPattern(this$1.characterMap[characterByValue].pattern);\n }\n }\n }\n });\n };\n\n return Code93Extended;\n}(Code93));\n","import { Encoding } from './encoding';\nimport inArray from '../../common/in-array';\n\nvar numberRegex = /^\\d+$/;\nvar extend = Object.assign;\n\nexport var Postnet = (function (Encoding) {\n function Postnet () {\n Encoding.apply(this, arguments);\n }\n\n if ( Encoding ) Postnet.__proto__ = Encoding;\n Postnet.prototype = Object.create( Encoding && Encoding.prototype );\n Postnet.prototype.constructor = Postnet;\n\n Postnet.prototype.initProperties = function initProperties () {\n Encoding.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"Postnet\",\n START: \"2\",\n VALID_CODE_LENGTHS: [5, 9, 11],\n DIGIT_SEPARATOR: \"-\",\n characterMap: [\"22111\", \"11122\", \"11212\", \"11221\", \"12112\", \"12121\", \"12211\", \"21112\", \"21121\", \"21211\"]\n });\n };\n\n Postnet.prototype.initValue = function initValue (value, width, height) {\n this.height = height;\n this.width = width;\n this.baseHeight = height / 2;\n this.value = value.replace(new RegExp(this.DIGIT_SEPARATOR, \"g\"), \"\");\n this.pattern = [];\n this.validate(this.value);\n this.checkSum = 0;\n this.setBaseUnit();\n };\n\n Postnet.prototype.addData = function addData () {\n var this$1 = this;\n\n var value = this.value;\n\n this.addPattern(this.START);\n\n for (var i = 0; i < value.length; i++) {\n this$1.addCharacter(value.charAt(i));\n }\n\n if (this.options.addCheckSum) {\n this.addCheckSum();\n }\n\n this.addPattern(this.START);\n this.pattern.pop();\n };\n\n Postnet.prototype.addCharacter = function addCharacter (character) {\n var pattern = this.characterMap[character];\n this.checkSum += parseInt(character, 10);\n this.addPattern(pattern);\n };\n\n Postnet.prototype.addCheckSum = function addCheckSum () {\n this.checksum = (10 - (this.checkSum % 10)) % 10;\n this.addCharacter(this.checksum);\n };\n\n Postnet.prototype.setBaseUnit = function setBaseUnit () {\n var startStopLength = 3;\n\n this.baseUnit = this.width / ((this.value.length + 1) * 10 + startStopLength + this.quietZoneLength);\n };\n\n Postnet.prototype.validate = function validate (value) {\n if (!numberRegex.test(value)) {\n this.invalidCharacterError(value.match(/[^0-9]/)[0]);\n }\n\n if (!inArray(value.length, this.VALID_CODE_LENGTHS)) {\n throw new Error(\"Invalid value length. Valid lengths for the Postnet symbology are \" + this.VALID_CODE_LENGTHS.join(\",\") + \".\");\n }\n };\n\n Postnet.prototype.addPattern = function addPattern (pattern) {\n var this$1 = this;\n\n var y1;\n\n for (var i = 0; i < pattern.length; i++) {\n y1 = this$1.height - this$1.baseHeight * pattern.charAt(i);\n this$1.pattern.push({ width: 1, y1: y1, y2: this$1.height });\n this$1.pattern.push(1);\n }\n };\n\n return Postnet;\n}(Encoding));\n","import { Class } from '../../common';\nimport { Encoding } from './encoding';\nimport deepExtend from '../../common/deep-extend';\nimport inArray from '../../common/in-array';\n\nvar numberRegex = /^\\d+$/;\nvar alphanumericRegex = /^[a-z0-9]+$/i;\nvar extend = Object.assign;\n\nexport var State128 = (function (Class) {\n function State128(encoding) {\n Class.call(this);\n this.encoding = encoding;\n this.initProperties();\n }\n\n if ( Class ) State128.__proto__ = Class;\n State128.prototype = Object.create( Class && Class.prototype );\n State128.prototype.constructor = State128;\n\n State128.prototype.initProperties = function initProperties () { };\n\n State128.prototype.addStart = function addStart () { };\n\n State128.prototype.is = function is () { };\n\n State128.prototype.isCode = function isCode () {\n return false;\n };\n\n State128.prototype.move = function move () { };\n\n State128.prototype.pushState = function pushState () { };\n\n return State128;\n}(Class));\n\nexport var State128AB = (function (State128) {\n function State128AB(encoding, states) {\n State128.call(this, encoding);\n this.states = states;\n this._initMoves(states);\n }\n\n if ( State128 ) State128AB.__proto__ = State128;\n State128AB.prototype = Object.create( State128 && State128.prototype );\n State128AB.prototype.constructor = State128AB;\n\n State128AB.prototype.initProperties = function initProperties () {\n State128.prototype.initProperties.call(this);\n\n deepExtend(this, {\n FNC4: \"FNC4\",\n SHIFT: 98\n });\n };\n\n State128AB.prototype.addStart = function addStart () {\n this.encoding.addPattern(this.START);\n };\n\n State128AB.prototype.is = function is (value, index) {\n var code = value.charCodeAt(index);\n return this.isCode(code);\n };\n\n State128AB.prototype.move = function move (encodingState) {\n var idx = 0;\n\n while (!this._moves[idx].call(this, encodingState) && idx < this._moves.length) {\n idx++;\n }\n };\n\n State128AB.prototype.pushState = function pushState (encodingState) {\n var this$1 = this;\n\n var states = this.states,\n value = encodingState.value,\n maxLength = value.length,\n code;\n\n if (inArray(\"C\", states)) {\n var numberMatch = value.substr(encodingState.index).match(/\\d{4,}/g);\n\n if (numberMatch) {\n maxLength = value.indexOf(numberMatch[0], encodingState.index);\n }\n }\n\n while ((code = encodingState.value.charCodeAt(encodingState.index)) >= 0 &&\n this.isCode(code) &&\n encodingState.index < maxLength) {\n this$1.encoding.addPattern(this$1.getValue(code));\n encodingState.index++;\n }\n };\n\n State128AB.prototype._initMoves = function _initMoves (states) {\n this._moves = [];\n\n if (inArray(this.FNC4, states)) {\n this._moves.push(this._moveFNC);\n }\n\n if (inArray(this.shiftKey, states)) {\n this._moves.push(this._shiftState);\n }\n\n this._moves.push(this._moveState);\n };\n\n State128AB.prototype._moveFNC = function _moveFNC (encodingState) {\n if (encodingState.fnc) {\n encodingState.fnc = false;\n return encodingState.previousState === this.key;\n }\n };\n\n State128AB.prototype._shiftState = function _shiftState (encodingState) {\n if (encodingState.previousState === this.shiftKey &&\n (encodingState.index + 1 >= encodingState.value.length ||\n this.encoding[this.shiftKey].is(encodingState.value, encodingState.index + 1))) {\n this.encoding.addPattern(this.SHIFT);\n encodingState.shifted = true;\n return true;\n }\n };\n\n State128AB.prototype._moveState = function _moveState () {\n this.encoding.addPattern(this.MOVE);\n return true;\n };\n\n return State128AB;\n}(State128));\n\nvar states128 = {};\n\nstates128.A = (function (State128AB) {\n function State128A () {\n State128AB.apply(this, arguments);\n }\n\n if ( State128AB ) State128A.__proto__ = State128AB;\n State128A.prototype = Object.create( State128AB && State128AB.prototype );\n State128A.prototype.constructor = State128A;\n\n State128A.prototype.initProperties = function initProperties () {\n State128AB.prototype.initProperties.call(this);\n\n extend(this, {\n key: \"A\",\n shiftKey: \"B\",\n MOVE: 101,\n START: 103\n });\n };\n\n State128A.prototype.isCode = function isCode (code) {\n return 0 <= code && code < 96;\n };\n\n State128A.prototype.getValue = function getValue (code) {\n if (code < 32) {\n return code + 64;\n }\n\n return code - 32;\n };\n\n return State128A;\n}(State128AB));\n\nstates128.B = (function (State128AB) {\n function State128B () {\n State128AB.apply(this, arguments);\n }\n\n if ( State128AB ) State128B.__proto__ = State128AB;\n State128B.prototype = Object.create( State128AB && State128AB.prototype );\n State128B.prototype.constructor = State128B;\n\n State128B.prototype.initProperties = function initProperties () {\n State128AB.prototype.initProperties.call(this);\n\n extend(this, {\n key: \"B\",\n shiftKey: \"A\",\n MOVE: 100,\n START: 104\n });\n };\n\n State128B.prototype.isCode = function isCode (code) {\n return 32 <= code && code < 128;\n };\n\n State128B.prototype.getValue = function getValue (code) {\n return code - 32;\n };\n\n return State128B;\n}(State128AB));\n\nstates128.C = (function (State128) {\n function State128C () {\n State128.apply(this, arguments);\n }\n\n if ( State128 ) State128C.__proto__ = State128;\n State128C.prototype = Object.create( State128 && State128.prototype );\n State128C.prototype.constructor = State128C;\n\n State128C.prototype.initProperties = function initProperties () {\n State128.prototype.initProperties.call(this);\n\n extend(this, {\n key: \"C\",\n MOVE: 99,\n START: 105\n });\n };\n\n State128C.prototype.addStart = function addStart () {\n this.encoding.addPattern(this.START);\n };\n\n State128C.prototype.is = function is (value, index) {\n var next4 = getSubstring(value, index, 4);\n return (index + 4 <= value.length || value.length === 2) && numberRegex.test(next4);\n };\n\n State128C.prototype.move = function move () {\n this.encoding.addPattern(this.MOVE);\n };\n\n State128C.prototype.pushState = function pushState (encodingState) {\n var this$1 = this;\n\n var code;\n\n while ((code = getSubstring(encodingState.value, encodingState.index, 2)) &&\n numberRegex.test(code) && code.length === 2) {\n this$1.encoding.addPattern(parseInt(code, 10));\n encodingState.index += 2;\n }\n };\n\n State128C.prototype.getValue = function getValue (code) {\n return code;\n };\n\n return State128C;\n}(State128));\n\nstates128.FNC4 = (function (State128) {\n function State128FNC4(encoding, states) {\n State128.call(this, encoding);\n this._initSubStates(states);\n }\n\n if ( State128 ) State128FNC4.__proto__ = State128;\n State128FNC4.prototype = Object.create( State128 && State128.prototype );\n State128FNC4.prototype.constructor = State128FNC4;\n\n State128FNC4.prototype.initProperties = function initProperties () {\n State128.prototype.initProperties.call(this);\n\n extend(this, {\n key: \"FNC4\",\n dependentStates: [\"A\", \"B\"]\n });\n };\n\n State128FNC4.prototype.addStart = function addStart (encodingState) {\n var code = encodingState.value.charCodeAt(0) - 128,\n subState = this._getSubState(code);\n\n this.encoding[subState].addStart();\n };\n\n State128FNC4.prototype.is = function is (value, index) {\n var code = value.charCodeAt(index);\n return this.isCode(code);\n };\n\n State128FNC4.prototype.isCode = function isCode (code) {\n return 128 <= code && code < 256;\n };\n\n State128FNC4.prototype.pushState = function pushState (encodingState) {\n var this$1 = this;\n\n var subState = this._initSubState(encodingState),\n encoding = this.encoding,\n length = subState.value.length;\n var code;\n\n encodingState.index += length;\n\n if (length < 3) {\n for (; subState.index < length; subState.index++) {\n code = subState.value.charCodeAt(subState.index);\n subState.state = this$1._getSubState(code);\n\n if (subState.previousState !== subState.state) {\n subState.previousState = subState.state;\n encoding[subState.state].move(subState);\n }\n\n encoding.addPattern(encoding[subState.state].MOVE);\n encoding.addPattern(encoding[subState.state].getValue(code));\n }\n } else {\n if (subState.state !== subState.previousState) {\n encoding[subState.state].move(subState);\n }\n\n this._pushStart(subState);\n encoding.pushData(subState, this.subStates);\n\n if (encodingState.index < encodingState.value.length) {\n this._pushStart(subState);\n }\n }\n\n encodingState.fnc = true;\n encodingState.state = subState.state;\n };\n\n State128FNC4.prototype._pushStart = function _pushStart (subState) {\n this.encoding.addPattern(this.encoding[subState.state].MOVE);\n this.encoding.addPattern(this.encoding[subState.state].MOVE);\n };\n\n State128FNC4.prototype._initSubState = function _initSubState (encodingState) {\n var subState = {\n value: this._getAll(encodingState.value, encodingState.index),\n index: 0\n };\n\n subState.state = this._getSubState(subState.value.charCodeAt(0));\n subState.previousState = encodingState.previousState === this.key ?\n subState.state :\n encodingState.previousState;\n\n return subState;\n };\n\n State128FNC4.prototype._initSubStates = function _initSubStates (states) {\n var this$1 = this;\n\n this.subStates = [];\n\n for (var i = 0; i < states.length; i++) {\n if (inArray(states[i], this$1.dependentStates)) {\n this$1.subStates.push(states[i]);\n }\n }\n };\n\n State128FNC4.prototype._getSubState = function _getSubState (code) {\n var this$1 = this;\n\n for (var i = 0; i < this.subStates.length; i++) {\n if (this$1.encoding[this$1.subStates[i]].isCode(code)) {\n return this$1.subStates[i];\n }\n }\n };\n\n State128FNC4.prototype._getAll = function _getAll (value, index) {\n var code;\n var result = \"\";\n var i = index;\n\n while ((code = value.charCodeAt(i++)) && this.isCode(code)) {\n result += String.fromCharCode(code - 128);\n }\n\n return result;\n };\n\n return State128FNC4;\n}(State128));\n\nstates128.FNC1 = (function (State128) {\n function States128FNC1(encoding, states) {\n State128.call(this, encoding);\n this.states = states;\n }\n\n if ( State128 ) States128FNC1.__proto__ = State128;\n States128FNC1.prototype = Object.create( State128 && State128.prototype );\n States128FNC1.prototype.constructor = States128FNC1;\n\n States128FNC1.prototype.initProperties = function initProperties () {\n State128.prototype.initProperties.call(this);\n\n extend(this, {\n key: \"FNC1\",\n startState: \"C\",\n startAI: \"(\",\n endAI: \")\",\n dependentStates: [\"C\", \"B\"],\n applicationIdentifiers: {\n \"22\": { max: 29, type: \"alphanumeric\" },\n \"402\": { length: 17 },\n \"7004\": { max: 4, type: \"alphanumeric\" },\n \"242\": { max: 6, type: \"alphanumeric\" },\n \"8020\": { max: 25, type: \"alphanumeric\" },\n \"703\": { min: 3, max: 30, type: \"alphanumeric\" },\n \"8008\": { min: 8, max: 12, type: \"alphanumeric\" },\n \"253\": { min: 13, max: 17, type: \"alphanumeric\" },\n \"8003\": { min: 14, max: 30, type: \"alphanumeric\" },\n multiKey: [{\n ids: [\"15\", \"17\", \"8005\", \"8100\"],\n ranges: [\n [11, 13],\n [310, 316],\n [320, 336],\n [340, 369]\n ],\n type: { length: 6 }\n }, {\n ids: [\"240\", \"241\", \"250\", \"251\", \"400\", \"401\", \"403\", \"7002\", \"8004\", \"8007\", \"8110\"],\n ranges: [[90 - 99]],\n type: { max: 30, type: \"alphanumeric\" }\n }, {\n ids: [\"7001\"],\n ranges: [[410, 414]],\n type: { length: 13 }\n }, {\n ids: [\"10\", \"21\", \"254\", \"420\", \"8002\"],\n type: { max: 20, type: \"alphanumeric\" }\n }, {\n ids: [\"00\", \"8006\", \"8017\", \"8018\"],\n type: { length: 18 }\n }, {\n ids: [\"01\", \"02\", \"8001\"],\n type: { length: 14 }\n }, {\n ids: [\"422\"],\n ranges: [\n [424, 426]\n ],\n type: { length: 3 }\n }, {\n ids: [\"20\", \"8102\"],\n type: { length: 2 }\n }, {\n ids: [\"30\", \"37\"],\n type: { max: 8, type: \"alphanumeric\" }\n }, {\n ids: [\"390\", \"392\"],\n type: { max: 15, type: \"alphanumeric\" }\n }, {\n ids: [\"421\", \"423\"],\n type: { min: 3, max: 15, type: \"alphanumeric\" }\n }, {\n ids: [\"391\", \"393\"],\n type: { min: 3, max: 18, type: \"alphanumeric\" }\n }, {\n ids: [\"7003\", \"8101\"],\n type: { length: 10 }\n }]\n },\n START: 102\n });\n };\n\n\n States128FNC1.prototype.addStart = function addStart () {\n this.encoding[this.startState].addStart();\n };\n\n States128FNC1.prototype.is = function is () {\n return inArray(this.key, this.states);\n };\n\n States128FNC1.prototype.pushState = function pushState (encodingState) {\n var this$1 = this;\n\n var encoding = this.encoding,\n value = encodingState.value.replace(/\\s/g, \"\"),\n regexSeparators = new RegExp(\"[\" + this.startAI + this.endAI + \"]\", \"g\"),\n index = encodingState.index,\n subState = {\n state: this.startState\n },\n current,\n nextStart,\n separatorLength;\n\n encoding.addPattern(this.START);\n\n var trueCondition = true;\n\n while (trueCondition) {\n subState.index = 0;\n\n separatorLength = value.charAt(index) === this$1.startAI ? 2 : 0;\n current = separatorLength > 0 ? this$1.getBySeparator(value, index) : this$1.getByLength(value, index);\n\n if (current.ai.length) {\n nextStart = index + separatorLength + current.id.length + current.ai.length;\n } else {\n nextStart = value.indexOf(this$1.startAI, index + 1);\n\n if (nextStart < 0) {\n if (index + current.ai.max + current.id.length + separatorLength < value.length) {\n throw new Error(\"Separators are required after variable length identifiers\");\n }\n\n nextStart = value.length;\n }\n }\n\n subState.value = value.substring(index, nextStart).replace(regexSeparators, \"\");\n this$1.validate(current, subState.value);\n encoding.pushData(subState, this$1.dependentStates);\n\n if (nextStart >= value.length) {\n break;\n }\n\n index = nextStart;\n\n if (subState.state !== this$1.startState) {\n encoding[this$1.startState].move(subState);\n subState.state = this$1.startState;\n }\n\n if (!current.ai.length) {\n encoding.addPattern(this$1.START);\n }\n }\n\n encodingState.index = encodingState.value.length;\n };\n\n States128FNC1.prototype.validate = function validate (current, value) {\n var code = value.substr(current.id.length),\n ai = current.ai;\n\n if (!ai.type && !numberRegex.test(code)) {\n throw new Error(\"Application identifier \" + current.id + \" is numeric only but contains non numeric character(s).\");\n }\n\n if (ai.type === \"alphanumeric\" && !alphanumericRegex.test(code)) {\n throw new Error(\"Application identifier \" + current.id + \" is alphanumeric only but contains non alphanumeric character(s).\");\n }\n\n if (ai.length && ai.length !== code.length) {\n throw new Error(\"Application identifier \" + current.id + \" must be \" + ai.length + \" characters long.\");\n }\n\n if (ai.min && ai.min > code.length) {\n throw new Error(\"Application identifier \" + current.id + \" must be at least \" + ai.min + \" characters long.\");\n }\n\n if (ai.max && ai.max < code.length) {\n throw new Error(\"Application identifier \" + current.id + \" must be at most \" + ai.max + \" characters long.\");\n }\n };\n\n States128FNC1.prototype.getByLength = function getByLength (value, index) {\n var this$1 = this;\n\n var id;\n var applicationIdentifier;\n\n for (var i = 2; i <= 4; i++) {\n id = getSubstring(value, index, i);\n applicationIdentifier = this$1.getApplicationIdentifier(id) || this$1.getApplicationIdentifier(id.substring(0, id.length - 1));\n if (applicationIdentifier) {\n return {\n id: id,\n ai: applicationIdentifier\n };\n }\n }\n this.unsupportedAIError(id);\n };\n\n States128FNC1.prototype.unsupportedAIError = function unsupportedAIError (id) {\n throw new Error(\"'\" + id + \"' is not a supported Application Identifier\");\n };\n\n States128FNC1.prototype.getBySeparator = function getBySeparator (value, index) {\n var start = value.indexOf(this.startAI, index),\n end = value.indexOf(this.endAI, start),\n id = value.substring(start + 1, end),\n ai = this.getApplicationIdentifier(id) || this.getApplicationIdentifier(id.substr(id.length - 1));\n\n if (!ai) {\n this.unsupportedAIError(id);\n }\n\n return {\n ai: ai,\n id: id\n };\n };\n\n States128FNC1.prototype.getApplicationIdentifier = function getApplicationIdentifier (id) {\n var applicationIdentifier = this.applicationIdentifiers,\n multiKey = applicationIdentifier.multiKey;\n\n if (applicationIdentifier[id]) {\n return applicationIdentifier[id];\n }\n\n for (var i = 0; i < multiKey.length; i++) {\n if (multiKey[i].ids && inArray(id, multiKey[i].ids)) {\n return multiKey[i].type;\n } else if (multiKey[i].ranges) {\n var ranges = multiKey[i].ranges;\n\n for (var j = 0; j < ranges.length; j++) {\n if (ranges[j][0] <= id && id <= ranges[j][1]) {\n return multiKey[i].type;\n }\n }\n }\n }\n };\n\n return States128FNC1;\n}(State128));\n\nexport var Code128Base = (function (Encoding) {\n function Code128Base(options) {\n Encoding.call(this, options);\n this._initStates();\n }\n\n if ( Encoding ) Code128Base.__proto__ = Encoding;\n Code128Base.prototype = Object.create( Encoding && Encoding.prototype );\n Code128Base.prototype.constructor = Code128Base;\n\n Code128Base.prototype.initProperties = function initProperties () {\n Encoding.prototype.initProperties.call(this);\n\n extend(this, {\n characterMap: [\n 212222, 222122, 222221, 121223, 121322, 131222, 122213, 122312, 132212, 221213,\n 221312, 231212, 112232, 122132, 122231, 113222, 123122, 123221, 223211, 221132,\n 221231, 213212, 223112, 312131, 311222, 321122, 321221, 312212, 322112, 322211,\n 212123, 212321, 232121, 111323, 131123, 131321, 112313, 132113, 132311, 211313,\n 231113, 231311, 112133, 112331, 132131, 113123, 113321, 133121, 313121, 211331,\n 231131, 213113, 213311, 213131, 311123, 311321, 331121, 312113, 312311, 332111,\n 314111, 221411, 431111, 111224, 111422, 121124, 121421, 141122, 141221, 112214,\n 112412, 122114, 122411, 142112, 142211, 241211, 221114, 413111, 241112, 134111,\n 111242, 121142, 121241, 114212, 124112, 124211, 411212, 421112, 421211, 212141,\n 214121, 412121, 111143, 111341, 131141, 114113, 114311, 411113, 411311, 113141,\n 114131, 311141, 411131, 211412, 211214, 211232, 2331112\n ],\n STOP: 106\n });\n };\n\n Code128Base.prototype._initStates = function _initStates () {\n var this$1 = this;\n\n for (var i = 0; i < this.states.length; i++) {\n this$1[this$1.states[i]] = new states128[this$1.states[i]](this$1, this$1.states);\n }\n };\n\n Code128Base.prototype.initValue = function initValue (value, width, height) {\n this.pattern = [];\n this.value = value;\n this.width = width;\n this.height = height;\n this.checkSum = 0;\n this.totalUnits = 0;\n this.index = 0;\n this.position = 1;\n };\n\n Code128Base.prototype.addData = function addData () {\n var encodingState = {\n value: this.value,\n index: 0,\n state: \"\"\n };\n\n if (this.value.length === 0) {\n return;\n }\n\n encodingState.state =\n encodingState.previousState = this.getNextState(encodingState, this.states);\n\n this.addStart(encodingState);\n\n this.pushData(encodingState, this.states);\n\n this.addCheckSum();\n this.addStop();\n this.setBaseUnit();\n };\n\n Code128Base.prototype.pushData = function pushData (encodingState, states) {\n var this$1 = this;\n\n var trueCondition = true;\n\n while (trueCondition) {\n this$1[encodingState.state].pushState(encodingState);\n\n if (encodingState.index >= encodingState.value.length) {\n break;\n }\n\n if (!encodingState.shifted) {\n encodingState.previousState = encodingState.state;\n encodingState.state = this$1.getNextState(encodingState, states);\n this$1[encodingState.state].move(encodingState);\n } else {\n var temp = encodingState.state;\n encodingState.state = encodingState.previousState;\n encodingState.previousState = temp;\n encodingState.shifted = false;\n }\n }\n };\n\n Code128Base.prototype.addStart = function addStart (encodingState) {\n this[encodingState.state].addStart(encodingState);\n this.position = 1;\n };\n\n Code128Base.prototype.addCheckSum = function addCheckSum () {\n this.checksum = this.checkSum % 103;\n this.addPattern(this.checksum);\n };\n\n Code128Base.prototype.addStop = function addStop () {\n this.addPattern(this.STOP);\n };\n\n Code128Base.prototype.setBaseUnit = function setBaseUnit () {\n this.baseUnit = this.width / (this.totalUnits + this.quietZoneLength);\n };\n\n Code128Base.prototype.addPattern = function addPattern (code) {\n var this$1 = this;\n\n var pattern = this.characterMap[code].toString();\n var value;\n\n for (var i = 0; i < pattern.length; i++) {\n value = parseInt(pattern.charAt(i), 10);\n this$1.pattern.push(value);\n this$1.totalUnits += value;\n }\n this.checkSum += code * this.position++;\n };\n\n Code128Base.prototype.getNextState = function getNextState (encodingState, states) {\n var this$1 = this;\n\n for (var i = 0; i < states.length; i++) {\n if (this$1[states[i]].is(encodingState.value, encodingState.index)) {\n return states[i];\n }\n }\n\n this.invalidCharacterError(encodingState.value.charAt(encodingState.index));\n };\n\n return Code128Base;\n}(Encoding));\n\nexport var Code128a = (function (Code128Base) {\n function Code128a () {\n Code128Base.apply(this, arguments);\n }\n\n if ( Code128Base ) Code128a.__proto__ = Code128Base;\n Code128a.prototype = Object.create( Code128Base && Code128Base.prototype );\n Code128a.prototype.constructor = Code128a;\n\n Code128a.prototype.initProperties = function initProperties () {\n Code128Base.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"Code 128 A\",\n states: [\"A\"]\n });\n };\n\n return Code128a;\n}(Code128Base));\n\nexport var Code128b = (function (Code128Base) {\n function Code128b () {\n Code128Base.apply(this, arguments);\n }\n\n if ( Code128Base ) Code128b.__proto__ = Code128Base;\n Code128b.prototype = Object.create( Code128Base && Code128Base.prototype );\n Code128b.prototype.constructor = Code128b;\n\n Code128b.prototype.initProperties = function initProperties () {\n Code128Base.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"Code 128 B\",\n states: [\"B\"]\n });\n };\n\n return Code128b;\n}(Code128Base));\n\nexport var Code128c = (function (Code128Base) {\n function Code128c () {\n Code128Base.apply(this, arguments);\n }\n\n if ( Code128Base ) Code128c.__proto__ = Code128Base;\n Code128c.prototype = Object.create( Code128Base && Code128Base.prototype );\n Code128c.prototype.constructor = Code128c;\n\n Code128c.prototype.initProperties = function initProperties () {\n Code128Base.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"Code 128 C\",\n states: [\"C\"]\n });\n };\n\n return Code128c;\n}(Code128Base));\n\nexport var Code128 = (function (Code128Base) {\n function Code128 () {\n Code128Base.apply(this, arguments);\n }\n\n if ( Code128Base ) Code128.__proto__ = Code128Base;\n Code128.prototype = Object.create( Code128Base && Code128Base.prototype );\n Code128.prototype.constructor = Code128;\n\n Code128.prototype.initProperties = function initProperties () {\n Code128Base.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"Code 128\",\n states: [\"C\", \"B\", \"A\", \"FNC4\"]\n });\n };\n\n return Code128;\n}(Code128Base));\n\nexport var CodeGS1128 = (function (Code128Base) {\n function CodeGS1128 () {\n Code128Base.apply(this, arguments);\n }\n\n if ( Code128Base ) CodeGS1128.__proto__ = Code128Base;\n CodeGS1128.prototype = Object.create( Code128Base && Code128Base.prototype );\n CodeGS1128.prototype.constructor = CodeGS1128;\n\n CodeGS1128.prototype.initProperties = function initProperties () {\n Code128Base.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"Code GS1-128\",\n states: [\"FNC1\", \"C\", \"B\"]\n });\n };\n\n return CodeGS1128;\n}(Code128Base));\n\nfunction getSubstring(value, index, count) {\n return value.substring(index, index + count);\n}\n","import { Encoding } from './encoding';\n\nvar extend = Object.assign;\n\nexport var MsiBase = (function (Encoding) {\n function MsiBase () {\n Encoding.apply(this, arguments);\n }\n\n if ( Encoding ) MsiBase.__proto__ = Encoding;\n MsiBase.prototype = Object.create( Encoding && Encoding.prototype );\n MsiBase.prototype.constructor = MsiBase;\n\n MsiBase.prototype.initProperties = function initProperties () {\n Encoding.prototype.initProperties.call(this);\n\n extend(this, {\n characterMap: [\n \"12121212\",\n \"12121221\",\n \"12122112\",\n \"12122121\",\n \"12211212\",\n \"12211221\",\n \"12212112\",\n \"12212121\",\n \"21121212\",\n \"21121221\"\n ],\n START: \"21\",\n STOP: \"121\",\n checkSumType: \"\",\n checkSums: checkSums\n });\n };\n\n MsiBase.prototype.initValue = function initValue (value, width) {\n this.pattern = [];\n this.value = value;\n this.checkSumLength = 0;\n this.width = width;\n };\n\n MsiBase.prototype.setBaseUnit = function setBaseUnit () {\n var startStopLength = 7;\n\n this.baseUnit = this.width /\n (12 * (this.value.length + this.checkSumLength) + this.quietZoneLength + startStopLength);\n };\n\n MsiBase.prototype.addData = function addData () {\n var this$1 = this;\n\n var value = this.value;\n\n this.addPattern(this.START);\n\n for (var i = 0; i < value.length; i++) {\n this$1.addCharacter(value.charAt(i));\n }\n\n if (this.options.addCheckSum) {\n this.addCheckSum();\n }\n\n this.addPattern(this.STOP);\n this.setBaseUnit();\n };\n\n MsiBase.prototype.addCharacter = function addCharacter (character) {\n var pattern = this.characterMap[character];\n\n if (!pattern) {\n this.invalidCharacterError(character);\n }\n\n this.addPattern(pattern);\n };\n\n MsiBase.prototype.addPattern = function addPattern (pattern) {\n var this$1 = this;\n\n for (var i = 0; i < pattern.length; i++) {\n this$1.pattern.push(parseInt(pattern.charAt(i), 10));\n }\n };\n\n MsiBase.prototype.addCheckSum = function addCheckSum () {\n var this$1 = this;\n\n var checkSumFunction = this.checkSums[this.checkSumType];\n var checkValues = checkSumFunction.call(this.checkSums, this.value);\n\n this.checksum = checkValues.join(\"\");\n\n for (var i = 0; i < checkValues.length; i++) {\n this$1.checkSumLength++;\n this$1.addPattern(this$1.characterMap[checkValues[i]]);\n }\n };\n\n return MsiBase;\n}(Encoding));\n\nexport var MsiMod10 = (function (MsiBase) {\n function MsiMod10 () {\n MsiBase.apply(this, arguments);\n }\n\n if ( MsiBase ) MsiMod10.__proto__ = MsiBase;\n MsiMod10.prototype = Object.create( MsiBase && MsiBase.prototype );\n MsiMod10.prototype.constructor = MsiMod10;\n\n MsiMod10.prototype.initProperties = function initProperties () {\n MsiBase.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"MSI Modulo10\",\n checkSumType: \"Modulo10\"\n });\n };\n\n return MsiMod10;\n}(MsiBase));\n\nexport var MsiMod11 = (function (MsiBase) {\n function MsiMod11 () {\n MsiBase.apply(this, arguments);\n }\n\n if ( MsiBase ) MsiMod11.__proto__ = MsiBase;\n MsiMod11.prototype = Object.create( MsiBase && MsiBase.prototype );\n MsiMod11.prototype.constructor = MsiMod11;\n\n MsiMod11.prototype.initProperties = function initProperties () {\n MsiBase.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"MSI Modulo11\",\n checkSumType: \"Modulo11\"\n });\n };\n\n return MsiMod11;\n}(MsiBase));\n\nexport var MsiMod1010 = (function (MsiBase) {\n function MsiMod1010 () {\n MsiBase.apply(this, arguments);\n }\n\n if ( MsiBase ) MsiMod1010.__proto__ = MsiBase;\n MsiMod1010.prototype = Object.create( MsiBase && MsiBase.prototype );\n MsiMod1010.prototype.constructor = MsiMod1010;\n\n MsiMod1010.prototype.initProperties = function initProperties () {\n MsiBase.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"MSI Modulo10 Modulo10\",\n checkSumType: \"Modulo10Modulo10\"\n });\n };\n\n return MsiMod1010;\n}(MsiBase));\n\nexport var MsiMod1110 = (function (MsiBase) {\n function MsiMod1110 () {\n MsiBase.apply(this, arguments);\n }\n\n if ( MsiBase ) MsiMod1110.__proto__ = MsiBase;\n MsiMod1110.prototype = Object.create( MsiBase && MsiBase.prototype );\n MsiMod1110.prototype.constructor = MsiMod1110;\n\n MsiMod1110.prototype.initProperties = function initProperties () {\n MsiBase.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"MSI Modulo11 Modulo10\",\n checkSumType: \"Modulo11Modulo10\"\n });\n };\n\n return MsiMod1110;\n}(MsiBase));\n\nvar checkSums = {\n Modulo10: function Modulo10(value) {\n var checkValues = [0, \"\"],\n odd = value.length % 2,\n idx,\n evenSum,\n oddSum;\n\n for (idx = 0; idx < value.length; idx++) {\n checkValues[(idx + odd) % 2] += parseInt(value.charAt(idx), 10);\n }\n\n oddSum = checkValues[0];\n evenSum = (checkValues[1] * 2).toString();\n\n for (idx = 0; idx < evenSum.length; idx++) {\n oddSum += parseInt(evenSum.charAt(idx), 10);\n }\n\n return [(10 - (oddSum % 10)) % 10];\n },\n Modulo11: function Modulo11(value) {\n var weightedSum = 0,\n mod = 11,\n length = value.length,\n weight,\n checkValue;\n\n for (var i = 0; i < length; i++) {\n weight = ((length - i) % 6 || 6) + 1;\n weightedSum += weight * value.charAt(i);\n }\n\n checkValue = (mod - weightedSum % mod) % mod;\n\n if (checkValue !== 10) {\n return [checkValue];\n }\n\n return [1, 0];\n },\n Modulo11Modulo10: function Modulo11Modulo10(value) {\n var checkValues = this.Modulo11(value),\n mod11Value;\n mod11Value = value + checkValues[0];\n\n return checkValues.concat(this.Modulo10(mod11Value));\n },\n Modulo10Modulo10: function Modulo10Modulo10(value) {\n var checkValues = this.Modulo10(value),\n mod10Value;\n mod10Value = value + checkValues[0];\n\n return checkValues.concat(this.Modulo10(mod10Value));\n }\n};\n","import { Encoding } from './encoding';\n\nvar extend = Object.assign;\n\nexport var Ean13 = (function (Encoding) {\n function Ean13 () {\n Encoding.apply(this, arguments);\n }\n\n if ( Encoding ) Ean13.__proto__ = Encoding;\n Ean13.prototype = Object.create( Encoding && Encoding.prototype );\n Ean13.prototype.constructor = Ean13;\n\n Ean13.prototype.initProperties = function initProperties () {\n Encoding.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"EAN 13\",\n keyTable: [\n '000000',\n '001011',\n '001101',\n '001110',\n '010011',\n '011001',\n '011100',\n '010101',\n '010110',\n '011010'\n ],\n characterMap: {\n digits: [\n [3, 2, 1, 1],\n [2, 2, 2, 1],\n [2, 1, 2, 2],\n [1, 4, 1, 1],\n [1, 1, 3, 2],\n [1, 2, 3, 1],\n [1, 1, 1, 4],\n [1, 3, 1, 2],\n [1, 2, 1, 3],\n [3, 1, 1, 2]\n ],\n start: [1, 1, 1],\n middle: [1, 1, 1, 1, 1]\n }\n });\n };\n\n Ean13.prototype.initValue = function initValue (value, width, height) {\n var valueAsString = String(value);\n\n if (valueAsString.length !== 12 || /\\D/.test(valueAsString)) {\n throw new Error('The value of the \"EAN13\" encoding should be 12 symbols');\n }\n\n this.pattern = [];\n this.options.height = height;\n this.baseUnit = width / (95 + this.quietZoneLength);\n this.value = valueAsString;\n this.checksum = this.calculateChecksum();\n this.leftKey = valueAsString[0];\n this.leftPart = valueAsString.substr(1, 6);\n this.rightPart = valueAsString.substr(7) + this.checksum;\n };\n\n Ean13.prototype.addData = function addData () {\n this.addPieces(this.characterMap.start);\n this.addSide(this.leftPart, this.leftKey);\n this.addPieces(this.characterMap.middle);\n this.addSide(this.rightPart);\n this.addPieces(this.characterMap.start);\n };\n\n Ean13.prototype.addSide = function addSide (leftPart, key) {\n var this$1 = this;\n\n for (var i = 0; i < leftPart.length; i++) {\n if (key && parseInt(this$1.keyTable[key].charAt(i), 10)) {\n this$1.addPieces(Array.prototype.slice.call(this$1.characterMap.digits[leftPart.charAt(i)]).reverse(), true);\n } else {\n this$1.addPieces(this$1.characterMap.digits[leftPart.charAt(i)], true);\n }\n }\n };\n\n Ean13.prototype.addPieces = function addPieces (arrToAdd, limitedHeight) {\n var this$1 = this;\n\n for (var i = 0; i < arrToAdd.length; i++) {\n if (limitedHeight) {\n this$1.pattern.push({\n y1: 0,\n y2: this$1.options.height * 0.95,\n width: arrToAdd[i]\n });\n } else {\n this$1.pattern.push(arrToAdd[i]);\n }\n }\n };\n\n Ean13.prototype.calculateChecksum = function calculateChecksum () {\n var odd = 0,\n even = 0,\n value = this.value.split(\"\").reverse().join(\"\");\n\n for (var i = 0; i < value.length; i++) {\n if (i % 2) {\n even += parseInt(value.charAt(i), 10);\n } else {\n odd += parseInt(value.charAt(i), 10);\n }\n }\n\n var checksum = (10 - ((3 * odd + even) % 10)) % 10;\n\n return checksum;\n };\n\n return Ean13;\n}(Encoding));\n","import { Ean13 } from './ean13';\n\nvar extend = Object.assign;\n\nexport var Ean8 = (function (Ean13) {\n function Ean8 () {\n Ean13.apply(this, arguments);\n }\n\n if ( Ean13 ) Ean8.__proto__ = Ean13;\n Ean8.prototype = Object.create( Ean13 && Ean13.prototype );\n Ean8.prototype.constructor = Ean8;\n\n Ean8.prototype.initProperties = function initProperties () {\n Ean13.prototype.initProperties.call(this);\n\n extend(this, {\n name: \"EAN 8\"\n });\n };\n\n Ean8.prototype.initValue = function initValue (value, width, height) {\n if (value.length !== 7 || /\\D/.test(value)) {\n throw new Error('Invalid value provided');\n }\n\n this.value = value;\n this.options.height = height;\n this.checksum = this.calculateChecksum(this.value);\n this.leftPart = this.value.substr(0, 4);\n this.rightPart = this.value.substr(4) + this.checksum;\n this.pattern = [];\n this.baseUnit = width / (67 + this.quietZoneLength);\n };\n\n return Ean8;\n}(Ean13));\n","import { Code11 } from './code11';\nimport { Code39 } from './code39';\nimport { Code39Extended } from './code39-extended';\nimport { Code93 } from './code93';\nimport { Code93Extended } from './code93-extended';\nimport { Postnet } from './postnet';\n\nimport {\n Code128,\n Code128a,\n Code128b,\n Code128c,\n CodeGS1128\n} from './code128';\n\nimport {\n MsiMod10,\n MsiMod11,\n MsiMod1010,\n MsiMod1110\n} from './msi';\n\nimport { Ean8 } from './ean8';\nimport { Ean13 } from './ean13';\n\nexport var Encodings = {\n code11: Code11,\n\n code39: Code39,\n code39extended: Code39Extended,\n\n code93: Code93,\n code93extended: Code93Extended,\n\n code128: Code128,\n code128a: Code128a,\n code128b: Code128b,\n code128c: Code128c\n};\nEncodings[\"gs1-128\"] = CodeGS1128;\nEncodings.msimod10 = MsiMod10;\nEncodings.msimod11 = MsiMod11;\nEncodings.msimod1010 = MsiMod1010;\nEncodings.msimod1110 = MsiMod1110;\nEncodings.postnet = Postnet;\nEncodings.ean8 = Ean8;\nEncodings.ean13 = Ean13;\n","export function surfaceSize(element, surfaceType) {\n var display = element.style.display;\n if (surfaceType === 'canvas') {\n // The Canvas default size is different from SVG for\n // inline-block containers such as the Barcode and QR Code.\n //\n // Switch to display: block to get same dimensions.\n element.style.display = 'block';\n }\n\n var size = {\n width: element.clientWidth,\n height: element.clientHeight\n };\n\n element.style.display = display;\n\n return size;\n}\n","import {\n geometry as geom,\n drawing as draw\n} from '@progress/kendo-drawing';\n\nimport {\n Class,\n defined,\n addClass,\n setDefaultOptions,\n deepExtend,\n getSpacing,\n isObject,\n defaultErrorHandler\n} from '../common';\n\nimport {\n Box,\n TextBox\n} from '../core';\n\nimport { Encodings } from './encodings/main';\nimport { surfaceSize } from './surface-size';\n\nvar DEFAULT_BARCODE_WIDTH = 300;\nvar DEFAULT_BARCODE_HEIGHT = 100;\n\nvar Barcode = (function (Class) {\n function Barcode(element, options, errorHandler) {\n if ( errorHandler === void 0 ) errorHandler = defaultErrorHandler;\n\n Class.call(this);\n\n this.options = deepExtend({}, this.options, options);\n this.element = element;\n this.onError = errorHandler;\n\n this._initElement();\n this._initSurface();\n this._setOptions(options);\n\n if (options && defined(options.value)) {\n this.redraw();\n }\n }\n\n if ( Class ) Barcode.__proto__ = Class;\n Barcode.prototype = Object.create( Class && Class.prototype );\n Barcode.prototype.constructor = Barcode;\n\n Barcode.prototype.destroy = function destroy () {\n this._destroySurface();\n };\n\n Barcode.prototype._initElement = function _initElement () {\n addClass(this.element, \"k-barcode\");\n };\n\n Barcode.prototype._initSurface = function _initSurface () {\n var ref = this;\n var options = ref.options;\n var surface = ref.surface;\n\n if (!surface || surface.options.type !== options.renderAs) {\n this._destroySurface();\n this._initSurfaceElement();\n this.surface = this._createSurface();\n }\n };\n\n Barcode.prototype._createSurface = function _createSurface () {\n return draw.Surface.create(this.surfaceElement, {\n type: this.options.renderAs\n });\n };\n\n Barcode.prototype._destroySurface = function _destroySurface () {\n if (this.surface) {\n this.surface.destroy();\n this.surface = null;\n this._destroySurfaceElement();\n }\n };\n\n Barcode.prototype._initSurfaceElement = function _initSurfaceElement () {\n if (!this.surfaceElement) {\n this.surfaceElement = document.createElement('div');\n this.surfaceElement.style.position = 'relative';\n this.element.appendChild(this.surfaceElement);\n }\n };\n\n Barcode.prototype._destroySurfaceElement = function _destroySurfaceElement () {\n if (this.surfaceElement && this.surfaceElement.parentNode) {\n this.surfaceElement.parentNode.removeChild(this.surfaceElement);\n this.surfaceElement = null;\n }\n };\n\n Barcode.prototype.setOptions = function setOptions (options) {\n this._setOptions(options);\n this._initSurface();\n this.redraw();\n };\n\n Barcode.prototype.redraw = function redraw () {\n var size = this._getSize();\n\n this.surface.clear();\n\n this.surface.setSize({\n width: size.width,\n height: size.height\n });\n\n this.createVisual();\n\n this.surface.draw(this.visual);\n };\n\n Barcode.prototype.getSize = function getSize () {\n return {\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n };\n };\n\n Barcode.prototype._resize = function _resize () {\n this.redraw();\n };\n\n Barcode.prototype.createVisual = function createVisual () {\n this.visual = this._render();\n };\n\n Barcode.prototype._render = function _render () {\n var options = this.options;\n var value = options.value;\n var textOptions = options.text;\n var textMargin = getSpacing(textOptions.margin);\n var size = this._getSize();\n var border = options.border || {};\n var encoding = this.encoding;\n var contentBox = new Box(0, 0, size.width, size.height).unpad(border.width).unpad(options.padding);\n var barHeight = contentBox.height();\n var encodedValue;\n var textToDisplay;\n var textHeight;\n var visual = new draw.Group();\n\n this.contentBox = contentBox;\n visual.append(this._getBackground(size));\n\n if (textOptions.visible) {\n textHeight = draw.util.measureText(value, { font: textOptions.font }).height;\n barHeight -= textHeight + textMargin.top + textMargin.bottom;\n }\n\n try {\n encodedValue = encoding.encode(value, contentBox.width(), barHeight);\n } catch (error) {\n this.onError(error);\n return visual;\n }\n\n if (textOptions.visible) {\n textToDisplay = value;\n\n if (options.checksum && defined(encoding.checksum)) {\n textToDisplay += \" \" + encoding.checksum;\n }\n\n visual.append(this._getText(textToDisplay));\n }\n\n this.barHeight = barHeight;\n this._bandsGroup = this._getBands(encodedValue.pattern, encodedValue.baseUnit);\n visual.append(this._bandsGroup);\n\n return visual;\n };\n\n Barcode.prototype.exportVisual = function exportVisual () {\n return this._render();\n };\n\n Barcode.prototype._getSize = function _getSize () {\n var element = this.element;\n var elementSize = surfaceSize(element, this.options.renderAs);\n var size = new geom.Size(DEFAULT_BARCODE_WIDTH, DEFAULT_BARCODE_HEIGHT);\n\n if (elementSize.width > 0) {\n size.width = elementSize.width;\n }\n\n if (elementSize.height > 0) {\n size.height = elementSize.height;\n }\n\n if (this.options.width) {\n size.width = this.options.width;\n }\n\n if (this.options.height) {\n size.height = this.options.height;\n }\n\n return size;\n };\n\n Barcode.prototype.value = function value (value$1) {\n if (!defined(value$1)) {\n return this.options.value;\n }\n\n this.options.value = String(value$1);\n this.redraw();\n };\n\n Barcode.prototype._getBands = function _getBands (pattern, baseUnit) {\n var this$1 = this;\n\n var contentBox = this.contentBox;\n var offsetX = contentBox.x1;\n var stepX;\n var patternItem;\n var group = new draw.Group();\n\n for (var i = 0; i < pattern.length; i++) {\n patternItem = isObject(pattern[i]) ? pattern[i] : {\n width: pattern[i],\n y1: 0,\n y2: this$1.barHeight\n };\n\n stepX = patternItem.width * baseUnit;\n\n if (i % 2) {\n var rect = geom.Rect.fromPoints(\n new geom.Point(offsetX, patternItem.y1 + contentBox.y1),\n new geom.Point(offsetX + stepX, patternItem.y2 + contentBox.y1)\n );\n\n var path = draw.Path.fromRect(rect, {\n fill: {\n color: this$1.options.color\n },\n stroke: null\n });\n\n group.append(path);\n }\n\n offsetX += stepX;\n }\n\n return group;\n };\n\n Barcode.prototype._getBackground = function _getBackground (size) {\n var options = this.options;\n var border = options.border || {};\n var box = new Box(0, 0, size.width, size.height).unpad(border.width / 2);\n var path = draw.Path.fromRect(box.toRect(), {\n fill: {\n color: options.background\n },\n stroke: {\n color: border.width ? border.color : \"\",\n width: border.width,\n dashType: border.dashType\n }\n });\n\n return path;\n };\n\n Barcode.prototype._getText = function _getText (value) {\n var textOptions = this.options.text;\n var text = this._textbox = new TextBox(value, {\n font: textOptions.font,\n color: textOptions.color,\n align: \"center\",\n vAlign: \"bottom\",\n margin: textOptions.margin\n });\n\n text.reflow(this.contentBox);\n text.renderVisual();\n\n return text.visual;\n };\n\n Barcode.prototype._setOptions = function _setOptions (options) {\n this.type = (options.type || this.options.type).toLowerCase();\n\n if (this.type === \"upca\") {\n this.type = \"ean13\";\n options.value = '0' + options.value;\n }\n\n if (this.type === \"upce\") {\n this.type = \"ean8\";\n options.value = '0' + options.value;\n }\n\n if (!Encodings[this.type]) {\n throw new Error((\"Encoding '\" + (this.type) + \"' is not supported.\"));\n }\n\n this.encoding = new Encodings[this.type]();\n\n this.options = deepExtend({}, this.options, options);\n };\n\n return Barcode;\n}(Class));\n\nsetDefaultOptions(Barcode, {\n name: \"Barcode\",\n renderAs: \"svg\",\n value: \"\",\n type: \"code39\",\n checksum: false,\n width: 0,\n height: 0,\n color: \"black\",\n background: \"white\",\n text: {\n visible: true,\n font: \"16px Consolas, Monaco, Sans Mono, monospace, sans-serif\",\n color: \"black\",\n margin: {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n }\n },\n border: {\n width: 0,\n dashType: \"solid\",\n color: \"black\"\n },\n padding: {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n }\n});\n\nexport default Barcode;\n","import { Encodings } from './encodings/main';\n\nvar validate = function (encoding, size, prefix) { return function (value) {\n try {\n encoding.encode(\n prefix + value,\n size.width,\n size.height\n );\n } catch (error) {\n return {\n valid: false,\n error: error\n };\n }\n\n return {\n valid: true\n };\n}; };\n\n// A default size for encodings, so the validator can check only the value if no size is provided.\nvar fallbackSize = { width: 500, height: 100 };\n\nfunction barcodeValidator(type, size) {\n if ( size === void 0 ) size = fallbackSize;\n\n if (!type) {\n throw new Error(\"Please specify barcode type to validate.\");\n }\n\n var resolvedType = type.toLowerCase();\n var prefix = '';\n if (resolvedType === 'upca') {\n resolvedType = 'ean13';\n prefix = '0';\n } else if (resolvedType === 'upce') {\n resolvedType = 'ean8';\n prefix = '0';\n }\n\n if (!Encodings[resolvedType]) {\n throw new Error((\"Encoding '\" + type + \"' is not supported.\"));\n }\n\n var encoding = new Encodings[resolvedType]();\n return validate(encoding, size, prefix);\n}\n\nexport default barcodeValidator;\n","export var extend = Object.assign;\n\nexport function splitInto(str, chunkLength) {\n var result = [];\n var idx = 0;\n\n while (idx < str.length) {\n result.push(str.substring(idx, idx + chunkLength));\n idx += chunkLength;\n }\n\n return result;\n}\n\nexport function toBitsString(value, length) {\n var bitString = Number(value).toString(2);\n\n if (bitString.length < length) {\n bitString = new Array(length - bitString.length + 1).join(0) + bitString;\n }\n\n return bitString;\n}\n\nexport function toDecimal(value) {\n return parseInt(value, 2);\n}\n\n","import { Class } from '../../common';\n\nexport var FreeCellVisitor = (function (Class) {\n function FreeCellVisitor(matrix) {\n Class.call(this);\n\n this.matrix = matrix;\n this.row = matrix.length - 1;\n this.column = matrix.length - 1;\n this.startColumn = this.column;\n this.dir = -1;\n this.c = 0;\n }\n\n if ( Class ) FreeCellVisitor.__proto__ = Class;\n FreeCellVisitor.prototype = Object.create( Class && Class.prototype );\n FreeCellVisitor.prototype.constructor = FreeCellVisitor;\n\n FreeCellVisitor.prototype.move = function move () {\n this.row += this.dir * this.c;\n this.c ^= 1;\n this.column = this.startColumn - this.c;\n };\n\n FreeCellVisitor.prototype.getNextCell = function getNextCell () {\n var this$1 = this;\n\n while (this.matrix[this.row][this.column] !== undefined) {\n this$1.move();\n\n if (this$1.row < 0 || this$1.row >= this$1.matrix.length) {\n this$1.dir = -this$1.dir;\n this$1.startColumn -= this$1.startColumn !== 8 ? 2 : 3;\n this$1.column = this$1.startColumn;\n this$1.row = this$1.dir < 0 ? this$1.matrix.length - 1 : 0;\n }\n }\n\n return {\n row: this.row,\n column: this.column\n };\n };\n\n FreeCellVisitor.prototype.getNextRemainderCell = function getNextRemainderCell () {\n this.move();\n\n if (this.matrix[this.row][this.column] === undefined) {\n return {\n row: this.row,\n column: this.column\n };\n }\n };\n\n return FreeCellVisitor;\n}(Class));\n","import { Class } from '../../common';\n\nexport var EncodingResult = (function (Class) {\n function EncodingResult(dataString, version) {\n Class.call(this);\n\n this.dataString = dataString;\n this.version = version;\n }\n\n if ( Class ) EncodingResult.__proto__ = Class;\n EncodingResult.prototype = Object.create( Class && Class.prototype );\n EncodingResult.prototype.constructor = EncodingResult;\n\n return EncodingResult;\n}(Class));\n","import { Class } from '../../../common';\nimport { EncodingResult } from '../encoding-result';\nimport {\n getModes,\n getVersion,\n getDataCodewordsCount,\n getDataString\n} from '../encoding';\n\nexport var IsoEncoder = (function (Class) {\n function IsoEncoder () {\n Class.apply(this, arguments);\n }\n\n if ( Class ) IsoEncoder.__proto__ = Class;\n IsoEncoder.prototype = Object.create( Class && Class.prototype );\n IsoEncoder.prototype.constructor = IsoEncoder;\n\n IsoEncoder.prototype.getEncodingResult = function getEncodingResult (inputString, errorCorrectionLevel) {\n var modes = getModes(inputString),\n dataCodewordsCount = getDataCodewordsCount(modes),\n version = getVersion(dataCodewordsCount, errorCorrectionLevel),\n dataString = getDataString(modes, version);\n\n return new EncodingResult(dataString, version);\n };\n\n return IsoEncoder;\n}(Class));\n","import { Class } from '../../../common';\nimport { extend } from '../../utils';\nimport {\n toBitsString\n} from '../../utils';\n\nexport var QRDataMode = (function (Class) {\n function QRDataMode() {\n Class.call(this);\n\n this.initProperties();\n }\n\n if ( Class ) QRDataMode.__proto__ = Class;\n QRDataMode.prototype = Object.create( Class && Class.prototype );\n QRDataMode.prototype.constructor = QRDataMode;\n\n QRDataMode.prototype.initProperties = function initProperties () {\n extend(this, {\n modeIndicator: \"\",\n bitsInCharacterCount: []\n });\n };\n\n QRDataMode.prototype.getVersionIndex = function getVersionIndex (version) {\n if (version < 10) {\n return 0;\n } else if (version > 26) {\n return 2;\n }\n\n return 1;\n };\n\n QRDataMode.prototype.getBitsCharacterCount = function getBitsCharacterCount (version) {\n return this.bitsInCharacterCount[this.getVersionIndex(version || 40)];\n };\n\n QRDataMode.prototype.getModeCountString = function getModeCountString (length, version) {\n return this.modeIndicator + toBitsString(length, this.getBitsCharacterCount(version));\n };\n\n QRDataMode.prototype.encode = function encode () { };\n\n QRDataMode.prototype.getStringBitsLength = function getStringBitsLength () { };\n\n QRDataMode.prototype.getValue = function getValue () { };\n\n return QRDataMode;\n}(Class));\n","import { QRDataMode } from './qr-data-mode';\nimport { extend } from '../../utils';\nimport {\n toBitsString,\n splitInto\n} from '../../utils';\n\nexport var NumericQRDataMode = (function (QRDataMode) {\n function NumericQRDataMode () {\n QRDataMode.apply(this, arguments);\n }\n\n if ( QRDataMode ) NumericQRDataMode.__proto__ = QRDataMode;\n NumericQRDataMode.prototype = Object.create( QRDataMode && QRDataMode.prototype );\n NumericQRDataMode.prototype.constructor = NumericQRDataMode;\n\n NumericQRDataMode.prototype.initProperties = function initProperties () {\n QRDataMode.prototype.initProperties.call(this);\n\n extend(this, {\n bitsInCharacterCount: [10, 12, 14],\n modeIndicator: \"0001\"\n });\n };\n\n NumericQRDataMode.prototype.getValue = function getValue (character) {\n return parseInt(character, 10);\n };\n\n NumericQRDataMode.prototype.encode = function encode (str, version) {\n var mode = this,\n parts = splitInto(str, 3),\n result = mode.getModeCountString(str.length, version);\n var i;\n\n for (i = 0; i < parts.length - 1; i++) {\n result += toBitsString(parts[i], 10);\n }\n\n return result + toBitsString(parts[i], 1 + 3 * parts[i].length);\n };\n\n NumericQRDataMode.prototype.getStringBitsLength = function getStringBitsLength (inputLength, version) {\n var mod3 = inputLength % 3;\n return 4 + this.getBitsCharacterCount(version) + 10 * Math.floor(inputLength / 3) + 3 * mod3 + (mod3 === 0 ? 0 : 1);\n };\n\n return NumericQRDataMode;\n}(QRDataMode));\n","import { QRDataMode } from './qr-data-mode';\nimport { extend } from '../../utils';\nimport {\n toBitsString,\n splitInto\n} from '../../utils';\n\nexport var AlphaNumericQRDataMode = (function (QRDataMode) {\n function AlphaNumericQRDataMode () {\n QRDataMode.apply(this, arguments);\n }\n\n if ( QRDataMode ) AlphaNumericQRDataMode.__proto__ = QRDataMode;\n AlphaNumericQRDataMode.prototype = Object.create( QRDataMode && QRDataMode.prototype );\n AlphaNumericQRDataMode.prototype.constructor = AlphaNumericQRDataMode;\n\n AlphaNumericQRDataMode.prototype.initProperties = function initProperties () {\n QRDataMode.prototype.initProperties.call(this);\n\n extend(this, {\n characters: {\n \"0\": 0,\n \"1\": 1,\n \"2\": 2,\n \"3\": 3,\n \"4\": 4,\n \"5\": 5,\n \"6\": 6,\n \"7\": 7,\n \"8\": 8,\n \"9\": 9,\n \"A\": 10,\n \"B\": 11,\n \"C\": 12,\n \"D\": 13,\n \"E\": 14,\n \"F\": 15,\n \"G\": 16,\n \"H\": 17,\n \"I\": 18,\n \"J\": 19,\n \"K\": 20,\n \"L\": 21,\n \"M\": 22,\n \"N\": 23,\n \"O\": 24,\n \"P\": 25,\n \"Q\": 26,\n \"R\": 27,\n \"S\": 28,\n \"T\": 29,\n \"U\": 30,\n \"V\": 31,\n \"W\": 32,\n \"X\": 33,\n \"Y\": 34,\n \"Z\": 35,\n \" \": 36,\n \"$\": 37,\n \"%\": 38,\n \"*\": 39,\n \"+\": 40,\n \"-\": 41,\n \".\": 42,\n \"/\": 43,\n \":\": 44\n },\n bitsInCharacterCount: [9, 11, 13],\n modeIndicator: \"0010\"\n });\n };\n\n AlphaNumericQRDataMode.prototype.getValue = function getValue (character) {\n return this.characters[character];\n };\n\n AlphaNumericQRDataMode.prototype.encode = function encode (str, version) {\n var this$1 = this;\n\n var\n parts = splitInto(str, 2),\n result = this.getModeCountString(str.length, version),\n value;\n var i;\n\n for (i = 0; i < parts.length - 1; i++) {\n value = 45 * this$1.getValue(parts[i].charAt(0)) + this$1.getValue(parts[i].charAt(1));\n result += toBitsString(value, 11);\n }\n\n value = parts[i].length === 2 ?\n 45 * this.getValue(parts[i].charAt(0)) + this.getValue(parts[i].charAt(1)) :\n this.getValue(parts[i].charAt(0));\n\n return result + toBitsString(value, 1 + 5 * parts[i].length);\n };\n\n AlphaNumericQRDataMode.prototype.getStringBitsLength = function getStringBitsLength (inputLength, version) {\n return 4 + this.getBitsCharacterCount(version) + 11 * Math.floor(inputLength / 2) + 6 * (inputLength % 2);\n };\n\n return AlphaNumericQRDataMode;\n}(QRDataMode));\n","import { QRDataMode } from './qr-data-mode';\nimport { extend } from '../../utils';\nimport {\n toBitsString\n} from '../../utils';\n\nexport var ByteQRDataMode = (function (QRDataMode) {\n function ByteQRDataMode () {\n QRDataMode.apply(this, arguments);\n }\n\n if ( QRDataMode ) ByteQRDataMode.__proto__ = QRDataMode;\n ByteQRDataMode.prototype = Object.create( QRDataMode && QRDataMode.prototype );\n ByteQRDataMode.prototype.constructor = ByteQRDataMode;\n\n ByteQRDataMode.prototype.initProperties = function initProperties () {\n QRDataMode.prototype.initProperties.call(this);\n\n extend(this, {\n bitsInCharacterCount: [8, 16, 16],\n modeIndicator: \"0100\"\n });\n };\n\n ByteQRDataMode.prototype.getValue = function getValue (character) {\n var code = character.charCodeAt(0);\n\n if (code <= 127 || (160 <= code && code <= 255)) {\n return code;\n }\n\n throw new Error((\"Unsupported character in QR Code: \\\"\" + character + \"\\\".\"));\n };\n\n ByteQRDataMode.prototype.encode = function encode (str, version) {\n var mode = this,\n result = mode.getModeCountString(str.length, version);\n\n for (var i = 0; i < str.length; i++) {\n result += toBitsString(mode.getValue(str.charAt(i)), 8);\n }\n\n return result;\n };\n\n ByteQRDataMode.prototype.getStringBitsLength = function getStringBitsLength (inputLength, version) {\n return 4 + this.getBitsCharacterCount(version) + 8 * inputLength;\n };\n\n return ByteQRDataMode;\n}(QRDataMode));\n","import { NumericQRDataMode } from './numeric-data-mode';\nimport { AlphaNumericQRDataMode } from './alpha-numeric-data-mode';\nimport { ByteQRDataMode } from './byte-data-mode';\n\nvar NUMERIC = \"numeric\";\nvar ALPHA_NUMERIC = \"alphanumeric\";\nvar BYTE = \"byte\";\n\nexport var DataModeInstances = {};\nDataModeInstances[NUMERIC] = new NumericQRDataMode();\nDataModeInstances[ALPHA_NUMERIC] = new AlphaNumericQRDataMode();\nDataModeInstances[BYTE] = new ByteQRDataMode();\n","import { Class } from '../../../common';\nimport { EncodingResult } from '../encoding-result';\nimport { DataModeInstances } from '../data-modes/data-mode-instances';\nimport { extend } from '../../utils';\nimport { toBitsString } from '../../utils';\nimport { getVersion } from '../encoding';\n\nvar BYTE = \"byte\";\n\nexport var Utf8Encoder = (function (Class) {\n function Utf8Encoder() {\n Class.call(this);\n\n this.initProperties();\n\n this.mode = DataModeInstances[this.encodingMode];\n }\n\n if ( Class ) Utf8Encoder.__proto__ = Class;\n Utf8Encoder.prototype = Object.create( Class && Class.prototype );\n Utf8Encoder.prototype.constructor = Utf8Encoder;\n\n Utf8Encoder.prototype.initProperties = function initProperties () {\n extend(this, {\n encodingMode: BYTE,\n utfBOM: \"111011111011101110111111\",\n initialModeCountStringLength: 20,\n ranges: [128, 2048, 65536, 2097152, 67108864]\n });\n };\n\n Utf8Encoder.prototype.getEncodingResult = function getEncodingResult (inputString, errorCorrectionLevel) {\n var data = this.encode(inputString),\n dataCodewordsCount = this.getDataCodewordsCount(data),\n version = getVersion(dataCodewordsCount, errorCorrectionLevel),\n dataString = this.mode.getModeCountString(data.length / 8, version) + data;\n\n return new EncodingResult(dataString, version);\n };\n\n Utf8Encoder.prototype.getDataCodewordsCount = function getDataCodewordsCount (data) {\n var dataLength = data.length,\n dataCodewordsCount = Math.ceil((this.initialModeCountStringLength + dataLength) / 8);\n\n return dataCodewordsCount;\n };\n\n Utf8Encoder.prototype.encode = function encode (str) {\n var this$1 = this;\n\n var result = this.utfBOM;\n\n for (var i = 0; i < str.length; i++) {\n result += this$1.encodeCharacter(str.charCodeAt(i));\n }\n\n return result;\n };\n\n Utf8Encoder.prototype.encodeCharacter = function encodeCharacter (code) {\n var bytesCount = this.getBytesCount(code),\n bc = bytesCount - 1,\n result = \"\";\n\n if (bytesCount === 1) {\n result = toBitsString(code, 8);\n } else {\n var significantOnes = 8 - bytesCount;\n\n for (var i = 0; i < bc; i++) {\n result = toBitsString(code >> (i * 6) & 63 | 128, 8) + result;\n }\n\n result = ((code >> bc * 6) | ((255 >> significantOnes) << significantOnes)).toString(2) + result;\n }\n\n return result;\n };\n\n Utf8Encoder.prototype.getBytesCount = function getBytesCount (code) {\n var ranges = this.ranges;\n\n for (var i = 0; i < ranges.length; i++) {\n if (code < ranges[i]) {\n return i + 1;\n }\n }\n };\n\n return Utf8Encoder;\n}(Class));\n","export var VersionsCodewordsInformation = [{\n L: {\n groups: [\n [1, 19]\n ],\n totalDataCodewords: 19,\n errorCodewordsPerBlock: 7\n },\n M: {\n groups: [\n [1, 16]\n ],\n totalDataCodewords: 16,\n errorCodewordsPerBlock: 10\n },\n Q: {\n groups: [\n [1, 13]\n ],\n totalDataCodewords: 13,\n errorCodewordsPerBlock: 13\n },\n H: {\n groups: [\n [1, 9]\n ],\n totalDataCodewords: 9,\n errorCodewordsPerBlock: 17\n }\n}, {\n L: {\n groups: [\n [1, 34]\n ],\n totalDataCodewords: 34,\n errorCodewordsPerBlock: 10\n },\n M: {\n groups: [\n [1, 28]\n ],\n totalDataCodewords: 28,\n errorCodewordsPerBlock: 16\n },\n Q: {\n groups: [\n [1, 22]\n ],\n totalDataCodewords: 22,\n errorCodewordsPerBlock: 22\n },\n H: {\n groups: [\n [1, 16]\n ],\n totalDataCodewords: 16,\n errorCodewordsPerBlock: 28\n }\n}, {\n L: {\n groups: [\n [1, 55]\n ],\n totalDataCodewords: 55,\n errorCodewordsPerBlock: 15\n },\n M: {\n groups: [\n [1, 44]\n ],\n totalDataCodewords: 44,\n errorCodewordsPerBlock: 26\n },\n Q: {\n groups: [\n [2, 17]\n ],\n totalDataCodewords: 34,\n errorCodewordsPerBlock: 18\n },\n H: {\n groups: [\n [2, 13]\n ],\n totalDataCodewords: 26,\n errorCodewordsPerBlock: 22\n }\n}, {\n L: {\n groups: [\n [1, 80]\n ],\n totalDataCodewords: 80,\n errorCodewordsPerBlock: 20\n },\n M: {\n groups: [\n [2, 32]\n ],\n totalDataCodewords: 64,\n errorCodewordsPerBlock: 18\n },\n Q: {\n groups: [\n [2, 24]\n ],\n totalDataCodewords: 48,\n errorCodewordsPerBlock: 26\n },\n H: {\n groups: [\n [4, 9]\n ],\n totalDataCodewords: 36,\n errorCodewordsPerBlock: 16\n }\n}, {\n L: {\n groups: [\n [1, 108]\n ],\n totalDataCodewords: 108,\n errorCodewordsPerBlock: 26\n },\n M: {\n groups: [\n [2, 43]\n ],\n totalDataCodewords: 86,\n errorCodewordsPerBlock: 24\n },\n Q: {\n groups: [\n [2, 15],\n [2, 16]\n ],\n totalDataCodewords: 62,\n errorCodewordsPerBlock: 18\n },\n H: {\n groups: [\n [2, 11],\n [2, 12]\n ],\n totalDataCodewords: 46,\n errorCodewordsPerBlock: 22\n }\n}, {\n L: {\n groups: [\n [2, 68]\n ],\n totalDataCodewords: 136,\n errorCodewordsPerBlock: 18\n },\n M: {\n groups: [\n [4, 27]\n ],\n totalDataCodewords: 108,\n errorCodewordsPerBlock: 16\n },\n Q: {\n groups: [\n [4, 19]\n ],\n totalDataCodewords: 76,\n errorCodewordsPerBlock: 24\n },\n H: {\n groups: [\n [4, 15]\n ],\n totalDataCodewords: 60,\n errorCodewordsPerBlock: 28\n }\n}, {\n L: {\n groups: [\n [2, 78]\n ],\n totalDataCodewords: 156,\n errorCodewordsPerBlock: 20\n },\n M: {\n groups: [\n [4, 31]\n ],\n totalDataCodewords: 124,\n errorCodewordsPerBlock: 18\n },\n Q: {\n groups: [\n [2, 14],\n [4, 15]\n ],\n totalDataCodewords: 88,\n errorCodewordsPerBlock: 18\n },\n H: {\n groups: [\n [4, 13],\n [1, 14]\n ],\n totalDataCodewords: 66,\n errorCodewordsPerBlock: 26\n }\n}, {\n L: {\n groups: [\n [2, 97]\n ],\n totalDataCodewords: 194,\n errorCodewordsPerBlock: 24\n },\n M: {\n groups: [\n [2, 38],\n [2, 39]\n ],\n totalDataCodewords: 154,\n errorCodewordsPerBlock: 22\n },\n Q: {\n groups: [\n [4, 18],\n [2, 19]\n ],\n totalDataCodewords: 110,\n errorCodewordsPerBlock: 22\n },\n H: {\n groups: [\n [4, 14],\n [2, 15]\n ],\n totalDataCodewords: 86,\n errorCodewordsPerBlock: 26\n }\n}, {\n L: {\n groups: [\n [2, 116]\n ],\n totalDataCodewords: 232,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [3, 36],\n [2, 37]\n ],\n totalDataCodewords: 182,\n errorCodewordsPerBlock: 22\n },\n Q: {\n groups: [\n [4, 16],\n [4, 17]\n ],\n totalDataCodewords: 132,\n errorCodewordsPerBlock: 20\n },\n H: {\n groups: [\n [4, 12],\n [4, 13]\n ],\n totalDataCodewords: 100,\n errorCodewordsPerBlock: 24\n }\n}, {\n L: {\n groups: [\n [2, 68],\n [2, 69]\n ],\n totalDataCodewords: 274,\n errorCodewordsPerBlock: 18\n },\n M: {\n groups: [\n [4, 43],\n [1, 44]\n ],\n totalDataCodewords: 216,\n errorCodewordsPerBlock: 26\n },\n Q: {\n groups: [\n [6, 19],\n [2, 20]\n ],\n totalDataCodewords: 154,\n errorCodewordsPerBlock: 24\n },\n H: {\n groups: [\n [6, 15],\n [2, 16]\n ],\n totalDataCodewords: 122,\n errorCodewordsPerBlock: 28\n }\n}, {\n L: {\n groups: [\n [4, 81]\n ],\n totalDataCodewords: 324,\n errorCodewordsPerBlock: 20\n },\n M: {\n groups: [\n [1, 50],\n [4, 51]\n ],\n totalDataCodewords: 254,\n errorCodewordsPerBlock: 30\n },\n Q: {\n groups: [\n [4, 22],\n [4, 23]\n ],\n totalDataCodewords: 180,\n errorCodewordsPerBlock: 28\n },\n H: {\n groups: [\n [3, 12],\n [8, 13]\n ],\n totalDataCodewords: 140,\n errorCodewordsPerBlock: 24\n }\n}, {\n L: {\n groups: [\n [2, 92],\n [2, 93]\n ],\n totalDataCodewords: 370,\n errorCodewordsPerBlock: 24\n },\n M: {\n groups: [\n [6, 36],\n [2, 37]\n ],\n totalDataCodewords: 290,\n errorCodewordsPerBlock: 22\n },\n Q: {\n groups: [\n [4, 20],\n [6, 21]\n ],\n totalDataCodewords: 206,\n errorCodewordsPerBlock: 26\n },\n H: {\n groups: [\n [7, 14],\n [4, 15]\n ],\n totalDataCodewords: 158,\n errorCodewordsPerBlock: 28\n }\n}, {\n L: {\n groups: [\n [4, 107]\n ],\n totalDataCodewords: 428,\n errorCodewordsPerBlock: 26\n },\n M: {\n groups: [\n [8, 37],\n [1, 38]\n ],\n totalDataCodewords: 334,\n errorCodewordsPerBlock: 22\n },\n Q: {\n groups: [\n [8, 20],\n [4, 21]\n ],\n totalDataCodewords: 244,\n errorCodewordsPerBlock: 24\n },\n H: {\n groups: [\n [12, 11],\n [4, 12]\n ],\n totalDataCodewords: 180,\n errorCodewordsPerBlock: 22\n }\n}, {\n L: {\n groups: [\n [3, 115],\n [1, 116]\n ],\n totalDataCodewords: 461,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [4, 40],\n [5, 41]\n ],\n totalDataCodewords: 365,\n errorCodewordsPerBlock: 24\n },\n Q: {\n groups: [\n [11, 16],\n [5, 17]\n ],\n totalDataCodewords: 261,\n errorCodewordsPerBlock: 20\n },\n H: {\n groups: [\n [11, 12],\n [5, 13]\n ],\n totalDataCodewords: 197,\n errorCodewordsPerBlock: 24\n }\n}, {\n L: {\n groups: [\n [5, 87],\n [1, 88]\n ],\n totalDataCodewords: 523,\n errorCodewordsPerBlock: 22\n },\n M: {\n groups: [\n [5, 41],\n [5, 42]\n ],\n totalDataCodewords: 415,\n errorCodewordsPerBlock: 24\n },\n Q: {\n groups: [\n [5, 24],\n [7, 25]\n ],\n totalDataCodewords: 295,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [11, 12],\n [7, 13]\n ],\n totalDataCodewords: 223,\n errorCodewordsPerBlock: 24\n }\n}, {\n L: {\n groups: [\n [5, 98],\n [1, 99]\n ],\n totalDataCodewords: 589,\n errorCodewordsPerBlock: 24\n },\n M: {\n groups: [\n [7, 45],\n [3, 46]\n ],\n totalDataCodewords: 453,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [15, 19],\n [2, 20]\n ],\n totalDataCodewords: 325,\n errorCodewordsPerBlock: 24\n },\n H: {\n groups: [\n [3, 15],\n [13, 16]\n ],\n totalDataCodewords: 253,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [1, 107],\n [5, 108]\n ],\n totalDataCodewords: 647,\n errorCodewordsPerBlock: 28\n },\n M: {\n groups: [\n [10, 46],\n [1, 47]\n ],\n totalDataCodewords: 507,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [1, 22],\n [15, 23]\n ],\n totalDataCodewords: 367,\n errorCodewordsPerBlock: 28\n },\n H: {\n groups: [\n [2, 14],\n [17, 15]\n ],\n totalDataCodewords: 283,\n errorCodewordsPerBlock: 28\n }\n}, {\n L: {\n groups: [\n [5, 120],\n [1, 121]\n ],\n totalDataCodewords: 721,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [9, 43],\n [4, 44]\n ],\n totalDataCodewords: 563,\n errorCodewordsPerBlock: 26\n },\n Q: {\n groups: [\n [17, 22],\n [1, 23]\n ],\n totalDataCodewords: 397,\n errorCodewordsPerBlock: 28\n },\n H: {\n groups: [\n [2, 14],\n [19, 15]\n ],\n totalDataCodewords: 313,\n errorCodewordsPerBlock: 28\n }\n}, {\n L: {\n groups: [\n [3, 113],\n [4, 114]\n ],\n totalDataCodewords: 795,\n errorCodewordsPerBlock: 28\n },\n M: {\n groups: [\n [3, 44],\n [11, 45]\n ],\n totalDataCodewords: 627,\n errorCodewordsPerBlock: 26\n },\n Q: {\n groups: [\n [17, 21],\n [4, 22]\n ],\n totalDataCodewords: 445,\n errorCodewordsPerBlock: 26\n },\n H: {\n groups: [\n [9, 13],\n [16, 14]\n ],\n totalDataCodewords: 341,\n errorCodewordsPerBlock: 26\n }\n}, {\n L: {\n groups: [\n [3, 107],\n [5, 108]\n ],\n totalDataCodewords: 861,\n errorCodewordsPerBlock: 28\n },\n M: {\n groups: [\n [3, 41],\n [13, 42]\n ],\n totalDataCodewords: 669,\n errorCodewordsPerBlock: 26\n },\n Q: {\n groups: [\n [15, 24],\n [5, 25]\n ],\n totalDataCodewords: 485,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [15, 15],\n [10, 16]\n ],\n totalDataCodewords: 385,\n errorCodewordsPerBlock: 28\n }\n}, {\n L: {\n groups: [\n [4, 116],\n [4, 117]\n ],\n totalDataCodewords: 932,\n errorCodewordsPerBlock: 28\n },\n M: {\n groups: [\n [17, 42]\n ],\n totalDataCodewords: 714,\n errorCodewordsPerBlock: 26\n },\n Q: {\n groups: [\n [17, 22],\n [6, 23]\n ],\n totalDataCodewords: 512,\n errorCodewordsPerBlock: 28\n },\n H: {\n groups: [\n [19, 16],\n [6, 17]\n ],\n totalDataCodewords: 406,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [2, 111],\n [7, 112]\n ],\n totalDataCodewords: 1006,\n errorCodewordsPerBlock: 28\n },\n M: {\n groups: [\n [17, 46]\n ],\n totalDataCodewords: 782,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [7, 24],\n [16, 25]\n ],\n totalDataCodewords: 568,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [34, 13]\n ],\n totalDataCodewords: 442,\n errorCodewordsPerBlock: 24\n }\n}, {\n L: {\n groups: [\n [4, 121],\n [5, 122]\n ],\n totalDataCodewords: 1094,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [4, 47],\n [14, 48]\n ],\n totalDataCodewords: 860,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [11, 24],\n [14, 25]\n ],\n totalDataCodewords: 614,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [16, 15],\n [14, 16]\n ],\n totalDataCodewords: 464,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [6, 117],\n [4, 118]\n ],\n totalDataCodewords: 1174,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [6, 45],\n [14, 46]\n ],\n totalDataCodewords: 914,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [11, 24],\n [16, 25]\n ],\n totalDataCodewords: 664,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [30, 16],\n [2, 17]\n ],\n totalDataCodewords: 514,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [8, 106],\n [4, 107]\n ],\n totalDataCodewords: 1276,\n errorCodewordsPerBlock: 26\n },\n M: {\n groups: [\n [8, 47],\n [13, 48]\n ],\n totalDataCodewords: 1000,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [7, 24],\n [22, 25]\n ],\n totalDataCodewords: 718,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [22, 15],\n [13, 16]\n ],\n totalDataCodewords: 538,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [10, 114],\n [2, 115]\n ],\n totalDataCodewords: 1370,\n errorCodewordsPerBlock: 28\n },\n M: {\n groups: [\n [19, 46],\n [4, 47]\n ],\n totalDataCodewords: 1062,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [28, 22],\n [6, 23]\n ],\n totalDataCodewords: 754,\n errorCodewordsPerBlock: 28\n },\n H: {\n groups: [\n [33, 16],\n [4, 17]\n ],\n totalDataCodewords: 596,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [8, 122],\n [4, 123]\n ],\n totalDataCodewords: 1468,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [22, 45],\n [3, 46]\n ],\n totalDataCodewords: 1128,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [8, 23],\n [26, 24]\n ],\n totalDataCodewords: 808,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [12, 15],\n [28, 16]\n ],\n totalDataCodewords: 628,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [3, 117],\n [10, 118]\n ],\n totalDataCodewords: 1531,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [3, 45],\n [23, 46]\n ],\n totalDataCodewords: 1193,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [4, 24],\n [31, 25]\n ],\n totalDataCodewords: 871,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [11, 15],\n [31, 16]\n ],\n totalDataCodewords: 661,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [7, 116],\n [7, 117]\n ],\n totalDataCodewords: 1631,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [21, 45],\n [7, 46]\n ],\n totalDataCodewords: 1267,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [1, 23],\n [37, 24]\n ],\n totalDataCodewords: 911,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [19, 15],\n [26, 16]\n ],\n totalDataCodewords: 701,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [5, 115],\n [10, 116]\n ],\n totalDataCodewords: 1735,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [19, 47],\n [10, 48]\n ],\n totalDataCodewords: 1373,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [15, 24],\n [25, 25]\n ],\n totalDataCodewords: 985,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [23, 15],\n [25, 16]\n ],\n totalDataCodewords: 745,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [13, 115],\n [3, 116]\n ],\n totalDataCodewords: 1843,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [2, 46],\n [29, 47]\n ],\n totalDataCodewords: 1455,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [42, 24],\n [1, 25]\n ],\n totalDataCodewords: 1033,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [23, 15],\n [28, 16]\n ],\n totalDataCodewords: 793,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [17, 115]\n ],\n totalDataCodewords: 1955,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [10, 46],\n [23, 47]\n ],\n totalDataCodewords: 1541,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [10, 24],\n [35, 25]\n ],\n totalDataCodewords: 1115,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [19, 15],\n [35, 16]\n ],\n totalDataCodewords: 845,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [17, 115],\n [1, 116]\n ],\n totalDataCodewords: 2071,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [14, 46],\n [21, 47]\n ],\n totalDataCodewords: 1631,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [29, 24],\n [19, 25]\n ],\n totalDataCodewords: 1171,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [11, 15],\n [46, 16]\n ],\n totalDataCodewords: 901,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [13, 115],\n [6, 116]\n ],\n totalDataCodewords: 2191,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [14, 46],\n [23, 47]\n ],\n totalDataCodewords: 1725,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [44, 24],\n [7, 25]\n ],\n totalDataCodewords: 1231,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [59, 16],\n [1, 17]\n ],\n totalDataCodewords: 961,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [12, 121],\n [7, 122]\n ],\n totalDataCodewords: 2306,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [12, 47],\n [26, 48]\n ],\n totalDataCodewords: 1812,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [39, 24],\n [14, 25]\n ],\n totalDataCodewords: 1286,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [22, 15],\n [41, 16]\n ],\n totalDataCodewords: 986,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [6, 121],\n [14, 122]\n ],\n totalDataCodewords: 2434,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [6, 47],\n [34, 48]\n ],\n totalDataCodewords: 1914,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [46, 24],\n [10, 25]\n ],\n totalDataCodewords: 1354,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [2, 15],\n [64, 16]\n ],\n totalDataCodewords: 1054,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [17, 122],\n [4, 123]\n ],\n totalDataCodewords: 2566,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [29, 46],\n [14, 47]\n ],\n totalDataCodewords: 1992,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [49, 24],\n [10, 25]\n ],\n totalDataCodewords: 1426,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [24, 15],\n [46, 16]\n ],\n totalDataCodewords: 1096,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [4, 122],\n [18, 123]\n ],\n totalDataCodewords: 2702,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [13, 46],\n [32, 47]\n ],\n totalDataCodewords: 2102,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [48, 24],\n [14, 25]\n ],\n totalDataCodewords: 1502,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [42, 15],\n [32, 16]\n ],\n totalDataCodewords: 1142,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [20, 117],\n [4, 118]\n ],\n totalDataCodewords: 2812,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [40, 47],\n [7, 48]\n ],\n totalDataCodewords: 2216,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [43, 24],\n [22, 25]\n ],\n totalDataCodewords: 1582,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [10, 15],\n [67, 16]\n ],\n totalDataCodewords: 1222,\n errorCodewordsPerBlock: 30\n }\n}, {\n L: {\n groups: [\n [19, 118],\n [6, 119]\n ],\n totalDataCodewords: 2956,\n errorCodewordsPerBlock: 30\n },\n M: {\n groups: [\n [18, 47],\n [31, 48]\n ],\n totalDataCodewords: 2334,\n errorCodewordsPerBlock: 28\n },\n Q: {\n groups: [\n [34, 24],\n [34, 25]\n ],\n totalDataCodewords: 1666,\n errorCodewordsPerBlock: 30\n },\n H: {\n groups: [\n [20, 15],\n [61, 16]\n ],\n totalDataCodewords: 1276,\n errorCodewordsPerBlock: 30\n }\n}];\n","import {\n toBitsString,\n toDecimal\n} from '../utils';\nimport { FreeCellVisitor } from './free-cell-visitor';\nimport { IsoEncoder } from './encoders/iso-encoder';\nimport { Utf8Encoder } from './encoders/utf8-encoder';\nimport { VersionsCodewordsInformation } from './version-codewords';\nimport { DataModeInstances } from './data-modes/data-mode-instances';\n\nvar terminator = \"0000\",\n NUMERIC = \"numeric\",\n ALPHA_NUMERIC = \"alphanumeric\",\n BYTE = \"byte\",\n powersOfTwo = { \"1\": 0 },\n powersOfTwoResult = { \"0\": 1 },\n irregularAlignmentPatternsStartDistance = {\n 15: 20, 16: 20, 18: 24, 19: 24, 22: 20,\n 24: 22, 26: 24, 28: 20, 30: 20, 31: 24,\n 32: 28, 33: 24, 36: 18, 37: 22, 39: 20, 40: 24\n },\n finderPattern = [1, 0, 1, 1, 1],\n alignmentPattern = [1, 0, 1],\n errorCorrectionPatterns = { L: \"01\", M: \"00\", Q: \"11\", H: \"10\" },\n formatMaskPattern = \"101010000010010\",\n formatGeneratorPolynomial = \"10100110111\",\n versionGeneratorPolynomial = \"1111100100101\",\n paddingCodewords = [\"11101100\", \"00010001\"],\n finderPatternValue = 93,\n /* eslint-disable arrow-body-style */\n /* eslint-disable no-unused-vars */\n maskPatternConditions = [\n function (row, column) { return (row + column) % 2 === 0; },\n function (row, column) { return row % 2 === 0; },\n function (row, column) { return column % 3 === 0; },\n function (row, column) { return (row + column) % 3 === 0; },\n function (row, column) { return (Math.floor(row / 2) + Math.floor(column / 3)) % 2 === 0; },\n function (row, column) { return ((row * column) % 2) + ((row * column) % 3) === 0; },\n function (row, column) { return (((row * column) % 2) + ((row * column) % 3)) % 2 === 0; },\n function (row, column) { return (((row + column) % 2) + ((row * column) % 3)) % 2 === 0; }\n ],\n /* eslint-enable no-unused-vars */\n /* eslint-enable arrow-body-style */\n numberRegex = /^\\d+/,\n alphaPattern = \"A-Z0-9 $%*+./:-\",\n alphaExclusiveSet = \"A-Z $%*+./:-\",\n alphaRegex = new RegExp(\"^[\" + alphaExclusiveSet + \"]+\"),\n alphaNumericRegex = new RegExp(\"^[\" + alphaPattern + \"]+\"),\n byteRegex = new RegExp(\"^[^\" + alphaPattern + \"]+\"),\n initMinNumericBeforeAlpha = 8,\n initMinNumericBeforeByte = 5,\n initMinAlphaBeforeByte = 8,\n minNumericBeforeAlpha = 17,\n minNumericBeforeByte = 9,\n minAlphaBeforeByte = 16;\n\nexport var generatorPolynomials = [[1, 0], [1, 25, 0]];\n\nexport function fillFunctionCell(matrices, bit, x, y) {\n for (var i = 0; i < matrices.length; i++) {\n matrices[i][x][y] = bit;\n }\n}\n\nexport function fillDataCell(matrices, bit, x, y) {\n for (var i = 0; i < maskPatternConditions.length; i++) {\n matrices[i][x][y] = maskPatternConditions[i](x, y) ? bit ^ 1 : parseInt(bit, 10);\n }\n}\n\nexport function fillData(matrices, blocks) {\n var cellVisitor = new FreeCellVisitor(matrices[0]),\n block,\n codewordIdx,\n cell;\n\n for (var blockIdx = 0; blockIdx < blocks.length; blockIdx++) {\n block = blocks[blockIdx];\n codewordIdx = 0;\n\n while (block.length > 0) {\n for (var i = 0; i < block.length; i++) {\n for (var j = 0; j < 8; j++) {\n cell = cellVisitor.getNextCell();\n fillDataCell(matrices, block[i][codewordIdx].charAt(j), cell.row, cell.column);\n }\n }\n\n codewordIdx++;\n\n while (block[0] && codewordIdx === block[0].length) {\n block.splice(0, 1);\n }\n }\n }\n\n while ((cell = cellVisitor.getNextRemainderCell())) {\n fillDataCell(matrices, 0, cell.row, cell.column);\n }\n}\n\nexport function padDataString(initialDataString, totalDataCodewords) {\n var dataBitsCount = totalDataCodewords * 8,\n terminatorIndex = 0,\n paddingCodewordIndex = 0;\n var dataString = initialDataString;\n\n while (dataString.length < dataBitsCount && terminatorIndex < terminator.length) {\n dataString += terminator.charAt(terminatorIndex++);\n }\n\n if (dataString.length % 8 !== 0) {\n dataString += new Array(9 - dataString.length % 8).join(\"0\");\n }\n\n while (dataString.length < dataBitsCount) {\n dataString += paddingCodewords[paddingCodewordIndex];\n paddingCodewordIndex ^= 1;\n }\n\n return dataString;\n}\n\nexport function generatePowersOfTwo() {\n var result;\n var power;\n\n for (power = 1; power < 255; power++) {\n result = powersOfTwoResult[power - 1] * 2;\n if (result > 255) {\n result = result ^ 285;\n }\n\n powersOfTwoResult[power] = result;\n powersOfTwo[result] = power;\n }\n\n result = (powersOfTwoResult[power - 1] * 2) ^ 285;\n powersOfTwoResult[power] = result;\n powersOfTwoResult[-1] = 0;\n}\n\nexport function xorPolynomials(x, y) {\n var result = [],\n idx = x.length - 2;\n\n for (var i = idx; i >= 0; i--) {\n result[i] = x[i] ^ y[i];\n }\n\n return result;\n}\n\nexport function multiplyPolynomials(x, y) {\n var result = [];\n\n for (var i = 0; i < x.length; i++) {\n for (var j = 0; j < y.length; j++) {\n if (result[i + j] === undefined) {\n result[i + j] = (x[i] + (y[j] >= 0 ? y[j] : 0)) % 255;\n } else {\n result[i + j] = powersOfTwo[powersOfTwoResult[result[i + j]] ^ powersOfTwoResult[(x[i] + y[j]) % 255]];\n }\n }\n }\n\n return result;\n}\n\nexport function generateGeneratorPolynomials() {\n var maxErrorCorrectionCodeWordsCount = 68;\n\n for (var idx = 2; idx <= maxErrorCorrectionCodeWordsCount; idx++) {\n var firstPolynomial = generatorPolynomials[idx - 1],\n secondPolynomial = [idx, 0];\n\n generatorPolynomials[idx] = multiplyPolynomials(firstPolynomial, secondPolynomial);\n }\n}\n\n//possibly generate on demand\ngeneratePowersOfTwo();\ngenerateGeneratorPolynomials();\n\nexport function multiplyByConstant(polynomial, power) {\n var result = [],\n idx = polynomial.length - 1;\n\n do {\n result[idx] = powersOfTwoResult[(polynomial[idx] + power) % 255];\n idx--;\n }\n while (polynomial[idx] !== undefined);\n\n return result;\n}\n\nexport function generateErrorCodewords(data, errorCodewordsCount) {\n var generator = generatorPolynomials[errorCodewordsCount - 1],\n result = new Array(errorCodewordsCount).concat(data),\n generatorPolynomial = new Array(result.length - generator.length).concat(generator),\n steps = data.length,\n errorCodewords = [],\n divisor,\n idx;\n\n for (idx = 0; idx < steps; idx++) {\n divisor = multiplyByConstant(generatorPolynomial, powersOfTwo[result[result.length - 1]]);\n generatorPolynomial.splice(0, 1);\n\n result = xorPolynomials(divisor, result);\n }\n\n for (idx = result.length - 1; idx >= 0; idx--) {\n errorCodewords[errorCodewordsCount - 1 - idx] = toBitsString(result[idx], 8);\n }\n\n return errorCodewords;\n}\n\nexport function getBlocks(dataStream, versionCodewordsInformation) {\n var codewordStart = 0,\n dataBlocks = [],\n errorBlocks = [],\n dataBlock,\n versionGroups = versionCodewordsInformation.groups,\n blockCodewordsCount,\n groupBlocksCount,\n messagePolynomial,\n codeword;\n\n for (var groupIdx = 0; groupIdx < versionGroups.length; groupIdx++) {\n groupBlocksCount = versionGroups[groupIdx][0];\n\n for (var blockIdx = 0; blockIdx < groupBlocksCount; blockIdx++) {\n blockCodewordsCount = versionGroups[groupIdx][1];\n dataBlock = [];\n messagePolynomial = [];\n\n for (var codewordIdx = 1; codewordIdx <= blockCodewordsCount; codewordIdx++) {\n codeword = dataStream.substring(codewordStart, codewordStart + 8);\n dataBlock.push(codeword);\n messagePolynomial[blockCodewordsCount - codewordIdx] = toDecimal(codeword);\n codewordStart += 8;\n }\n\n dataBlocks.push(dataBlock);\n errorBlocks.push(generateErrorCodewords(messagePolynomial,\n versionCodewordsInformation.errorCodewordsPerBlock));\n }\n }\n return [dataBlocks, errorBlocks];\n}\n\nexport function chooseMode(str, minNumericBeforeAlpha, minNumericBeforeByte, minAlphaBeforeByte, previousMode) {\n var numeric = numberRegex.exec(str),\n numericMatch = numeric ? numeric[0] : \"\",\n alpha = alphaRegex.exec(str),\n alphaMatch = alpha ? alpha[0] : \"\",\n alphaNumeric = alphaNumericRegex.exec(str),\n alphaNumericMatch = alphaNumeric ? alphaNumeric[0] : \"\",\n mode,\n modeString;\n\n if (numericMatch &&\n (numericMatch.length >= minNumericBeforeAlpha || str.length === numericMatch.length ||\n (numericMatch.length >= minNumericBeforeByte && !alphaNumericRegex.test(str.charAt(numericMatch.length))))) {\n mode = NUMERIC;\n modeString = numericMatch;\n } else if (alphaNumericMatch && (str.length === alphaNumericMatch.length ||\n alphaNumericMatch.length >= minAlphaBeforeByte || previousMode === ALPHA_NUMERIC)) {\n mode = ALPHA_NUMERIC;\n modeString = numericMatch || alphaMatch;\n } else {\n mode = BYTE;\n\n if (alphaNumericMatch) {\n modeString = alphaNumericMatch + byteRegex.exec(str.substring(alphaNumericMatch.length))[0];\n } else {\n modeString = byteRegex.exec(str)[0];\n }\n }\n\n return {\n mode: mode,\n modeString: modeString\n };\n}\n\nexport function getModes(inputString) {\n var modes = [],\n previousMode,\n idx = 0;\n var str = inputString;\n\n modes.push(chooseMode(str, initMinNumericBeforeAlpha, initMinNumericBeforeByte, initMinAlphaBeforeByte, previousMode));\n previousMode = modes[0].mode;\n str = str.substr(modes[0].modeString.length);\n\n while (str.length > 0) {\n var nextMode = chooseMode(str, minNumericBeforeAlpha, minNumericBeforeByte, minAlphaBeforeByte, previousMode);\n\n if (nextMode.mode !== previousMode) {\n previousMode = nextMode.mode;\n modes.push(nextMode);\n idx++;\n } else {\n modes[idx].modeString += nextMode.modeString;\n }\n\n str = str.substr(nextMode.modeString.length);\n }\n\n return modes;\n}\n\nexport function getDataCodewordsCount(modes) {\n var length = 0,\n mode;\n\n for (var i = 0; i < modes.length; i++) {\n mode = DataModeInstances[modes[i].mode];\n length += mode.getStringBitsLength(modes[i].modeString.length);\n }\n\n return Math.ceil(length / 8);\n}\n\nexport function getVersion(dataCodewordsCount, errorCorrectionLevel) {\n var x = 0,\n y = VersionsCodewordsInformation.length - 1,\n version = Math.floor(VersionsCodewordsInformation.length / 2);\n\n do {\n if (dataCodewordsCount < VersionsCodewordsInformation[version][errorCorrectionLevel].totalDataCodewords) {\n y = version;\n } else {\n x = version;\n }\n\n version = x + Math.floor((y - x) / 2);\n } while (y - x > 1);\n\n if (dataCodewordsCount <= VersionsCodewordsInformation[x][errorCorrectionLevel].totalDataCodewords) {\n return version + 1;\n }\n\n return y + 1;\n}\n\nexport function getDataString(modes, version) {\n var dataString = \"\",\n mode;\n\n for (var i = 0; i < modes.length; i++) {\n mode = DataModeInstances[modes[i].mode];\n dataString += mode.encode(modes[i].modeString, version);\n }\n\n return dataString;\n}\n\n//fix case all zeros\nexport function encodeFormatInformation(format) {\n var formatNumber = toDecimal(format),\n encodedString,\n result = \"\";\n\n if (formatNumber === 0) {\n return \"101010000010010\";\n }\n\n encodedString = encodeBCH(toDecimal(format), formatGeneratorPolynomial, 15);\n\n for (var i = 0; i < encodedString.length; i++) {\n result += encodedString.charAt(i) ^ formatMaskPattern.charAt(i);\n }\n\n return result;\n}\n\nexport function encodeBCH(value, generatorPolynomial, codeLength) {\n var generatorNumber = toDecimal(generatorPolynomial),\n polynomialLength = generatorPolynomial.length - 1,\n valueNumber = value << polynomialLength,\n length = codeLength - polynomialLength,\n valueString = toBitsString(value, length),\n result = dividePolynomials(valueNumber, generatorNumber);\n\n result = valueString + toBitsString(result, polynomialLength);\n\n return result;\n}\n\nexport function dividePolynomials(numberX, numberY) {\n var yLength = numberY.toString(2).length,\n xLength = numberX.toString(2).length;\n var x = numberX;\n\n do {\n x ^= numberY << xLength - yLength;\n xLength = x.toString(2).length;\n }\n while (xLength >= yLength);\n\n return x;\n}\n\nexport function getNumberAt(str, idx) {\n return parseInt(str.charAt(idx), 10);\n}\n\nexport function initMatrices(version) {\n var matrices = [],\n modules = 17 + 4 * version;\n\n for (var i = 0; i < maskPatternConditions.length; i++) {\n matrices[i] = new Array(modules);\n\n for (var j = 0; j < modules; j++) {\n matrices[i][j] = new Array(modules);\n }\n }\n\n return matrices;\n}\n\nexport function addFormatInformation(matrices, formatString) {\n var matrix = matrices[0],\n x,\n y,\n idx = 0,\n length = formatString.length;\n\n for (x = 0, y = 8; x <= 8; x++) {\n if (x !== 6) {\n fillFunctionCell(matrices, getNumberAt(formatString, length - 1 - idx++), x, y);\n }\n }\n\n for (x = 8, y = 7; y >= 0; y--) {\n if (y !== 6) {\n fillFunctionCell(matrices, getNumberAt(formatString, length - 1 - idx++), x, y);\n }\n }\n\n idx = 0;\n\n for (y = matrix.length - 1, x = 8; y >= matrix.length - 8; y--) {\n fillFunctionCell(matrices, getNumberAt(formatString, length - 1 - idx++), x, y);\n }\n\n fillFunctionCell(matrices, 1, matrix.length - 8, 8);\n\n for (x = matrix.length - 7, y = 8; x < matrix.length; x++) {\n fillFunctionCell(matrices, getNumberAt(formatString, length - 1 - idx++), x, y);\n }\n}\n\nexport function encodeVersionInformation(version) {\n return encodeBCH(version, versionGeneratorPolynomial, 18);\n}\n\nexport function addVersionInformation(matrices, dataString) {\n var matrix = matrices[0],\n modules = matrix.length,\n x1 = 0,\n y1 = modules - 11,\n x2 = modules - 11,\n y2 = 0,\n quotient,\n mod,\n value;\n\n for (var idx = 0; idx < dataString.length; idx++) {\n quotient = Math.floor(idx / 3);\n mod = idx % 3;\n value = getNumberAt(dataString, dataString.length - idx - 1);\n\n fillFunctionCell(matrices, value, x1 + quotient, y1 + mod);\n fillFunctionCell(matrices, value, x2 + mod, y2 + quotient);\n }\n}\n\nexport function addCentricPattern(matrices, pattern, x, y) {\n var size = pattern.length + 2,\n length = pattern.length + 1,\n value;\n\n for (var i = 0; i < pattern.length; i++) {\n for (var j = i; j < size - i; j++) {\n value = pattern[i];\n\n fillFunctionCell(matrices, value, x + j, y + i);\n fillFunctionCell(matrices, value, x + i, y + j);\n fillFunctionCell(matrices, value, x + length - j, y + length - i);\n fillFunctionCell(matrices, value, x + length - i, y + length - j);\n }\n }\n}\n\nexport function addFinderSeparator(matrices, direction, x, y) {\n var nextX = x,\n nextY = y,\n matrix = matrices[0];\n\n do {\n fillFunctionCell(matrices, 0, nextX, y);\n fillFunctionCell(matrices, 0, x, nextY);\n nextX += direction[0];\n nextY += direction[1];\n }\n while (nextX >= 0 && nextX < matrix.length);\n}\n\nexport function addFinderPatterns(matrices) {\n var modules = matrices[0].length;\n\n addCentricPattern(matrices, finderPattern, 0, 0);\n addFinderSeparator(matrices, [-1, -1], 7, 7);\n addCentricPattern(matrices, finderPattern, modules - 7, 0);\n addFinderSeparator(matrices, [1, -1], modules - 8, 7);\n addCentricPattern(matrices, finderPattern, 0, modules - 7);\n addFinderSeparator(matrices, [-1, 1], 7, modules - 8);\n}\n\nexport function addAlignmentPatterns(matrices, version) {\n if (version < 2) {\n return;\n }\n\n var matrix = matrices[0],\n modules = matrix.length,\n pointsCount = Math.floor(version / 7),\n points = [6],\n startDistance,\n distance,\n idx = 0;\n\n if ((startDistance = irregularAlignmentPatternsStartDistance[version])) {\n distance = (modules - 13 - startDistance) / pointsCount;\n } else {\n startDistance = distance = (modules - 13) / (pointsCount + 1);\n }\n\n points.push(points[idx++] + startDistance);\n\n while ((points[idx] + distance) < modules) {\n points.push(points[idx++] + distance);\n }\n\n for (var i = 0; i < points.length; i++) {\n for (var j = 0; j < points.length; j++) {\n if (matrix[points[i]][points[j]] === undefined) {\n addCentricPattern(matrices, alignmentPattern, points[i] - 2, points[j] - 2);\n }\n }\n }\n}\n\nexport function addTimingFunctions(matrices) {\n var row = 6,\n column = 6,\n value = 1,\n modules = matrices[0].length;\n\n for (var i = 8; i < modules - 8; i++) {\n fillFunctionCell(matrices, value, row, i);\n fillFunctionCell(matrices, value, i, column);\n value ^= 1;\n }\n}\n\nexport function scoreMaskMatrixes(matrices) {\n var scores = [],\n previousBits = [],\n darkModules = [],\n patterns = [],\n adjacentSameBits = [],\n matrix,\n i,\n row = 0,\n column = 1,\n modulesLength = matrices[0].length;\n\n for (i = 0; i < matrices.length; i++) {\n scores[i] = 0;\n darkModules[i] = 0;\n adjacentSameBits[i] = [0, 0];\n patterns[i] = [0, 0];\n previousBits[i] = [];\n }\n\n for (var rowIndex = 0; rowIndex < modulesLength; rowIndex++) {\n for (var columnIndex = 0; columnIndex < modulesLength; columnIndex++) {\n for (var matrixIndex = 0; matrixIndex < matrices.length; matrixIndex++) {\n matrix = matrices[matrixIndex];\n darkModules[matrixIndex] += parseInt(matrix[rowIndex][columnIndex], 10);\n\n if (previousBits[matrixIndex][row] === matrix[rowIndex][columnIndex] &&\n rowIndex + 1 < modulesLength &&\n columnIndex - 1 >= 0 &&\n matrix[rowIndex + 1][columnIndex] === previousBits[matrixIndex][row] &&\n matrix[rowIndex + 1][columnIndex - 1] === previousBits[matrixIndex][row]) {\n scores[matrixIndex] += 3;\n }\n\n scoreFinderPatternOccurance(matrixIndex, patterns, scores, row, matrix[rowIndex][columnIndex]);\n scoreFinderPatternOccurance(matrixIndex, patterns, scores, column, matrix[columnIndex][rowIndex]);\n scoreAdjacentSameBits(matrixIndex, scores, previousBits, matrix[rowIndex][columnIndex], adjacentSameBits, row);\n scoreAdjacentSameBits(matrixIndex, scores, previousBits, matrix[columnIndex][rowIndex], adjacentSameBits, column);\n }\n }\n }\n\n var total = modulesLength * modulesLength,\n minIdx,\n min = Number.MAX_VALUE;\n\n for (i = 0; i < scores.length; i++) {\n scores[i] += calculateDarkModulesRatioScore(darkModules[i], total);\n\n if (scores[i] < min) {\n min = scores[i];\n minIdx = i;\n }\n }\n\n return minIdx;\n}\n\nexport function scoreFinderPatternOccurance(idx, patterns, scores, rowColumn, bit) {\n patterns[idx][rowColumn] = ((patterns[idx][rowColumn] << 1) ^ bit) % 128;\n\n if (patterns[idx][rowColumn] === finderPatternValue) {\n scores[idx] += 40;\n }\n}\n\nexport function scoreAdjacentSameBits(idx, scores, previousBits, bit, adjacentBits, rowColumn) {\n if (previousBits[idx][rowColumn] === bit) {\n adjacentBits[idx][rowColumn]++;\n } else {\n previousBits[idx][rowColumn] = bit;\n\n if (adjacentBits[idx][rowColumn] >= 5) {\n scores[idx] += 3 + adjacentBits[idx][rowColumn] - 5;\n }\n\n adjacentBits[idx][rowColumn] = 1;\n }\n}\n\nexport function calculateDarkModulesRatioScore(darkModules, total) {\n var percent = Math.floor((darkModules / total) * 100),\n mod5 = percent % 5,\n previous = Math.abs(percent - mod5 - 50),\n next = Math.abs(percent + 5 - mod5 - 50),\n score = 10 * Math.min(previous / 5, next / 5);\n\n return score;\n}\n\nexport function createQRCodeDataEncoder(encoding) {\n if (encoding && encoding.toLowerCase().indexOf(\"utf_8\") >= 0) {\n return new Utf8Encoder();\n }\n\n return new IsoEncoder();\n}\n\nexport function encodeData(inputString, errorCorrectionLevel, encoding) {\n var encoder = createQRCodeDataEncoder(encoding),\n encodingResult = encoder.getEncodingResult(inputString, errorCorrectionLevel),\n version = encodingResult.version,\n versionInformation = VersionsCodewordsInformation[version - 1][errorCorrectionLevel],\n dataString = padDataString(encodingResult.dataString, versionInformation.totalDataCodewords),\n blocks = getBlocks(dataString, versionInformation),\n matrices = initMatrices(version);\n\n addFinderPatterns(matrices);\n addAlignmentPatterns(matrices, version);\n addTimingFunctions(matrices);\n\n if (version >= 7) {\n addVersionInformation(matrices, toBitsString(0, 18));\n }\n\n addFormatInformation(matrices, toBitsString(0, 15));\n fillData(matrices, blocks);\n\n var minIdx = scoreMaskMatrixes(matrices),\n optimalMatrix = matrices[minIdx];\n\n if (version >= 7) {\n addVersionInformation([optimalMatrix], encodeVersionInformation(version));\n }\n\n var formatString = errorCorrectionPatterns[errorCorrectionLevel] + toBitsString(minIdx, 3);\n addFormatInformation([optimalMatrix], encodeFormatInformation(formatString));\n\n return optimalMatrix;\n}\n","import {\n geometry as geom,\n drawing as draw\n} from '@progress/kendo-drawing';\n\nimport {\n Class,\n addClass,\n setDefaultOptions,\n deepExtend,\n defaultErrorHandler\n} from '../common';\n\nimport { Box } from '../core';\nimport { encodeData } from './encodings/encoding';\nimport { extend } from './utils';\n\nimport { surfaceSize } from '../barcode/surface-size';\n\nvar round = Math.round;\nvar crossPattern = [[0, 1], [1, 1], [1, 2], [2, 2], [2, 1], [3, 1], [3, 0], [2, 0], [2, -1], [1, -1], [1, 0]];\nvar squarePattern = [[0, 1], [1, 1], [1, 0]];\n\nvar QRCodeDefaults = {\n DEFAULT_SIZE: 200,\n QUIET_ZONE_LENGTH: 4,\n DEFAULT_ERROR_CORRECTION_LEVEL: \"L\",\n DEFAULT_BACKGROUND: \"#fff\",\n DEFAULT_DARK_MODULE_COLOR: \"#000\",\n MIN_BASE_UNIT_SIZE: 1,\n DEFAULT_LOGO_SIZE: 7\n};\n\nvar QRCode = (function (Class) {\n function QRCode(element, options, errorHandler) {\n if ( errorHandler === void 0 ) errorHandler = defaultErrorHandler;\n\n Class.call(this);\n\n this.options = deepExtend({}, this.options, options);\n this.element = element;\n this.wrapper = this.element;\n this.onError = errorHandler;\n\n this._initElement();\n this._initSurface();\n\n this.setOptions(options);\n }\n\n if ( Class ) QRCode.__proto__ = Class;\n QRCode.prototype = Object.create( Class && Class.prototype );\n QRCode.prototype.constructor = QRCode;\n\n QRCode.prototype.destroy = function destroy () {\n this._destroySurface();\n };\n\n QRCode.prototype._initElement = function _initElement () {\n addClass(this.element, \"k-qrcode\");\n };\n\n QRCode.prototype._initSurface = function _initSurface () {\n var ref = this;\n var options = ref.options;\n var surface = ref.surface;\n\n if (!surface || surface.options.type !== options.renderAs) {\n this._destroySurface();\n this._initSurfaceElement();\n this.surface = this._createSurface();\n }\n };\n\n QRCode.prototype._createSurface = function _createSurface () {\n return draw.Surface.create(this.surfaceElement, {\n type: this.options.renderAs\n });\n };\n\n QRCode.prototype._destroySurface = function _destroySurface () {\n if (this.surface) {\n this.surface.destroy();\n this.surface = null;\n this._destroySurfaceElement();\n }\n };\n\n QRCode.prototype._initSurfaceElement = function _initSurfaceElement () {\n if (!this.surfaceElement) {\n this.surfaceElement = document.createElement('div');\n this.surfaceElement.style.position = \"relative\";\n this.element.appendChild(this.surfaceElement);\n }\n };\n\n QRCode.prototype._destroySurfaceElement = function _destroySurfaceElement () {\n if (this.surfaceElement && this.surfaceElement.parentNode) {\n this.surfaceElement.parentNode.removeChild(this.surfaceElement);\n this.surfaceElement = null;\n }\n };\n\n QRCode.prototype.redraw = function redraw () {\n var size = this._getSize();\n\n this.surface.clear();\n\n this.surface.setSize({\n width: size,\n height: size\n });\n\n this.createVisual();\n\n this.surface.draw(this.visual);\n };\n\n QRCode.prototype.getSize = function getSize () {\n var element = this.element;\n var elementWidth = element.clientWidth;\n var elementHeight = element.clientHeight;\n var size = { width: 0, height: 0 };\n\n if (elementWidth > 0) {\n size.width = elementWidth;\n }\n\n if (elementHeight) {\n size.height = elementHeight;\n }\n\n return size;\n };\n\n QRCode.prototype._resize = function _resize () {\n this.redraw();\n };\n\n QRCode.prototype.createVisual = function createVisual () {\n this.visual = this._render();\n };\n\n QRCode.prototype.exportVisual = function exportVisual () {\n return this._render();\n };\n\n QRCode.prototype._render = function _render () {\n var value = this._value,\n baseUnit,\n border = this.options.border || {},\n padding = this.options.padding || 0,\n borderWidth = border.width || 0,\n quietZoneSize,\n matrix,\n size,\n dataSize,\n contentSize;\n\n border.width = borderWidth;\n\n var visual = new draw.Group();\n\n try {\n if (value) {\n matrix = encodeData(value, this.options.errorCorrection, this.options.encoding);\n size = this._getSize();\n contentSize = size - 2 * (borderWidth + padding);\n baseUnit = this._calculateBaseUnit(contentSize, matrix.length);\n dataSize = matrix.length * baseUnit;\n quietZoneSize = borderWidth + padding + (contentSize - dataSize) / 2;\n\n visual.append(this._renderBackground(size, border));\n visual.append(this._renderMatrix(matrix, baseUnit, quietZoneSize));\n\n if (this._hasCustomLogo()) {\n visual.append(this._renderLogo(size, baseUnit));\n } else if (this._isSwiss()) {\n visual.append(this._renderSwissCode(size, baseUnit));\n }\n }\n } catch (error) {\n this.onError(error);\n }\n\n return visual;\n };\n\n QRCode.prototype._renderLogo = function _renderLogo (qrSize, baseUnit) {\n var image;\n var imageRect;\n var center = round(qrSize / 2);\n var logoSize = this._getLogoSize(baseUnit * QRCodeDefaults.DEFAULT_LOGO_SIZE);\n var logoUrl = this.options.overlay.imageUrl;\n var position = {\n x: center - logoSize.width / 2,\n y: center - logoSize.height / 2\n };\n\n imageRect = new geom.Rect(\n new geom.Point(position.x, position.y),\n new geom.Size(logoSize.width, logoSize.height)\n );\n\n image = new draw.Image(logoUrl, imageRect);\n\n return image;\n };\n\n QRCode.prototype._renderSwissCode = function _renderSwissCode (qrSize, baseUnit) {\n var logoSize = this._getLogoSize(baseUnit * QRCodeDefaults.DEFAULT_LOGO_SIZE);\n logoSize = Math.max(logoSize.width, logoSize.height);\n var crossSize = logoSize / 4;\n var crossOffset = crossSize / 2;\n var center = qrSize / 2;\n var start = {};\n var visual = new draw.Group();\n\n start.x = start.y = Math.ceil(center - baseUnit - logoSize / 2);\n visual.append(this._renderShape(start, Math.ceil(logoSize + baseUnit * 2), squarePattern, \"#fff\"));\n\n start.x = start.y = center - logoSize / 2;\n visual.append(this._renderShape(start, logoSize, squarePattern, this.options.color));\n\n start.x = center + crossOffset - logoSize / 2;\n start.y = center + crossOffset + crossSize - logoSize / 2;\n visual.append(this._renderShape(start, crossSize, crossPattern, \"#fff\"));\n\n return visual;\n };\n\n QRCode.prototype._renderShape = function _renderShape (start, step, pattern, color) {\n var path = new draw.MultiPath({\n fill: {\n color: color\n },\n stroke: null\n });\n\n path.moveTo(start.x, start.y);\n\n for (var i = 0; i < pattern.length; i++) {\n path.lineTo(start.x + step * pattern[i][0], start.y + step * pattern[i][1]);\n }\n\n path.close();\n\n return path;\n };\n\n QRCode.prototype._getSize = function _getSize () {\n var size;\n\n if (this.options.size) {\n size = parseInt(this.options.size, 10);\n } else {\n var element = this.element;\n var elementSize = surfaceSize(element, this.options.renderAs);\n var min = Math.min(elementSize.width, elementSize.height);\n\n if (min > 0) {\n size = min;\n } else {\n size = QRCodeDefaults.DEFAULT_SIZE;\n }\n }\n\n return size;\n };\n\n QRCode.prototype._calculateBaseUnit = function _calculateBaseUnit (size, matrixSize) {\n var baseUnit = Math.floor(size / matrixSize);\n\n if (baseUnit < QRCodeDefaults.MIN_BASE_UNIT_SIZE) {\n var minSize = Math.ceil(matrixSize * QRCodeDefaults.MIN_BASE_UNIT_SIZE);\n this.onError(new Error(\n (\"Insufficient size for QR Code: the current size is \" + size + \"px and the minimum size is \" + minSize + \"px.\")\n ));\n } else if (baseUnit * matrixSize >= size &&\n baseUnit - 1 >= QRCodeDefaults.MIN_BASE_UNIT_SIZE) {\n baseUnit--;\n }\n\n return baseUnit;\n };\n\n QRCode.prototype._renderMatrix = function _renderMatrix (matrix, baseUnit, quietZoneSize) {\n var path = new draw.MultiPath({\n fill: {\n color: this.options.color\n },\n stroke: null\n });\n\n for (var row = 0; row < matrix.length; row++) {\n var y = quietZoneSize + row * baseUnit;\n var column = 0;\n\n while (column < matrix.length) {\n while (matrix[row][column] === 0 && column < matrix.length) {\n column++;\n }\n\n if (column < matrix.length) {\n var x = column;\n while (matrix[row][column] === 1) {\n column++;\n }\n\n var x1 = round(quietZoneSize + x * baseUnit);\n var y1 = round(y);\n var x2 = round(quietZoneSize + column * baseUnit);\n var y2 = round(y + baseUnit);\n\n path.moveTo(x1, y1)\n .lineTo(x1, y2)\n .lineTo(x2, y2)\n .lineTo(x2, y1)\n .close();\n }\n }\n }\n\n return path;\n };\n\n QRCode.prototype._renderBackground = function _renderBackground (size, border) {\n var box = new Box(0, 0, size, size).unpad(border.width / 2);\n var background = draw.Path.fromRect(box.toRect(), {\n fill: {\n color: this.options.background\n },\n stroke: {\n color: border.color,\n width: border.width\n }\n });\n\n return background;\n };\n\n QRCode.prototype.setOptions = function setOptions (options) {\n var newOptions = options || {};\n this.options = extend(this.options, newOptions);\n\n if (options.value !== undefined) {\n this._value = String(this.options.value);\n }\n\n this._initSurface();\n this.redraw();\n };\n\n QRCode.prototype.value = function value (value$1) {\n if (value$1 === undefined) {\n return this._value;\n }\n\n this._value = String(value$1);\n\n this.redraw();\n };\n\n QRCode.prototype._hasCustomLogo = function _hasCustomLogo () {\n return Boolean(this.options.overlay.imageUrl);\n };\n\n QRCode.prototype._isSwiss = function _isSwiss () {\n return this.options.overlay.type === \"swiss\";\n };\n\n QRCode.prototype._getLogoSize = function _getLogoSize (defautLogoSize) {\n var width = this.options.overlay.width;\n var height = this.options.overlay.height;\n\n if (!width && !height) {\n width = height = defautLogoSize;\n } else if (width && !height) {\n height = width;\n } else if (!width && height) {\n width = height;\n }\n\n return {\n width: width,\n height: height\n };\n };\n\n return QRCode;\n}(Class));\n\nsetDefaultOptions(QRCode, {\n name: \"QRCode\",\n renderAs: \"svg\",\n encoding: \"ISO_8859_1\",\n value: \"\",\n errorCorrection: QRCodeDefaults.DEFAULT_ERROR_CORRECTION_LEVEL,\n background: QRCodeDefaults.DEFAULT_BACKGROUND,\n color: QRCodeDefaults.DEFAULT_DARK_MODULE_COLOR,\n size: \"\",\n padding: 0,\n border: {\n color: \"\",\n width: 0\n },\n overlay: {\n type: \"image\",\n imageUrl: \"\",\n width: 0,\n height: 0\n }\n});\n\nexport default QRCode;\n","import { encodeData } from './encodings/encoding';\n\nvar ISO = 'ISO_8859_1';\n\nfunction qrcodeValidator(encoding) {\n if ( encoding === void 0 ) encoding = ISO;\n\n return function(value) {\n try {\n encodeData(value, 'L', encoding);\n } catch (error) {\n return {\n valid: false,\n error: error\n };\n }\n\n return {\n valid: true\n };\n };\n}\n\nexport default qrcodeValidator;\n","// Coordinate reference system\n// World Geodetic System of 1984\nvar WGS84 = {\n a: 6378137, // Semi-major radius\n b: 6356752.314245179, // Semi-minor radius\n f: 0.0033528106647474805, // Flattening\n e: 0.08181919084262149 // Eccentricity\n};\n\n// Geographic coordinate systems use a spheroid to calculate positions on the earth.\n// A datum defines the position of the spheroid relative to the center of the earth\n// it provides a frame of reference for measuring locations on the surface of the earth\n// and defines the origin and orientation of latitude and longitude lines.\nexport var datums = {\n WGS84: WGS84\n};\n","import {\n Class,\n deepExtend,\n deg,\n rad,\n round,\n defined\n} from '../common';\n\nimport {\n datums\n} from './datums';\n\nfunction toSquare(value) {\n return value * value;\n}\n\n\nvar math = Math,\n abs = math.abs,\n atan = math.atan,\n atan2 = math.atan2,\n cos = math.cos,\n sin = math.sin,\n tan = math.tan;\n\nexport var Location = (function (Class) {\n function Location(lat, lng) {\n Class.call(this);\n\n this.initProperties();\n\n if (arguments.length === 1) {\n this.lat = lat[0];\n this.lng = lat[1];\n } else {\n this.lat = lat;\n this.lng = lng;\n }\n }\n\n if ( Class ) Location.__proto__ = Class;\n Location.prototype = Object.create( Class && Class.prototype );\n Location.prototype.constructor = Location;\n\n Location.prototype.initProperties = function initProperties () {\n deepExtend(this, {\n DISTANCE_ITERATIONS: 100,\n DISTANCE_CONVERGENCE: 1e-12,\n DISTANCE_PRECISION: 2,\n FORMAT: '{0:N6}{1:N6}'\n });\n };\n\n Location.prototype.toArray = function toArray () {\n return [\n this.lat,\n this.lng\n ];\n };\n\n Location.prototype.equals = function equals (loc) {\n return loc && loc.lat === this.lat && loc.lng === this.lng;\n };\n\n Location.prototype.clone = function clone () {\n return new Location(this.lat, this.lng);\n };\n\n Location.prototype.round = function round$1 (precision) {\n this.lng = round(this.lng, precision);\n this.lat = round(this.lat, precision);\n return this;\n };\n\n Location.prototype.wrap = function wrap () {\n this.lng = this.lng % 180;\n this.lat = this.lat % 90;\n return this;\n };\n\n Location.prototype.distanceTo = function distanceTo (dest, datum) {\n return this.greatCircleTo(dest, datum).distance;\n };\n\n Location.prototype.destination = function destination (distance, initialBearing, initialDatum) {\n var bearing = rad(initialBearing);\n var datum = initialDatum || datums.WGS84;\n var fromLat = rad(this.lat);\n var fromLng = rad(this.lng);\n var dToR = distance / datum.a;\n var lat = math.asin(sin(fromLat) * cos(dToR) + cos(fromLat) * sin(dToR) * cos(bearing));\n var lng = fromLng + atan2(sin(bearing) * sin(dToR) * cos(fromLat), cos(dToR) - sin(fromLat) * sin(lat));\n\n return new Location(deg(lat), deg(lng));\n };\n\n Location.prototype.greatCircleTo = function greatCircleTo (initialDest, initialDatum) {\n var this$1 = this;\n\n var dest = Location.create(dest);\n var datum = initialDatum || datums.WGS84;\n\n if (!dest || this.clone().round(8).equals(dest.clone().round(8))) {\n return {\n distance: 0,\n azimuthFrom: 0,\n azimuthTo: 0\n };\n }\n\n // See http://en.wikipedia.org/wiki/Vincenty's_formulae#Notation\n // o == sigma\n // A == alpha\n\n var a = datum.a;\n var b = datum.b;\n var f = datum.f;\n var L = rad(dest.lng - this.lng);\n var U1 = atan((1 - f) * tan(rad(this.lat)));\n var sinU1 = sin(U1);\n var cosU1 = cos(U1);\n var U2 = atan((1 - f) * tan(rad(dest.lat)));\n var sinU2 = sin(U2);\n var cosU2 = cos(U2);\n var lambda = L;\n var prevLambda;\n var i = this.DISTANCE_ITERATIONS;\n var converged = false;\n var sinLambda;\n var cosLambda;\n var sino;\n var cosA2;\n var coso;\n var cos2om;\n var sigma;\n\n while (!converged && i-- > 0) {\n sinLambda = sin(lambda);\n cosLambda = cos(lambda);\n sino = math.sqrt(toSquare(cosU2 * sinLambda) + toSquare(cosU1 * sinU2 - sinU1 * cosU2 * cosLambda));\n coso = sinU1 * sinU2 + cosU1 * cosU2 * cosLambda;\n sigma = atan2(sino, coso);\n\n var sinA = cosU1 * cosU2 * sinLambda / sino;\n cosA2 = 1 - toSquare(sinA);\n cos2om = 0;\n\n if (cosA2 !== 0) {\n cos2om = coso - 2 * sinU1 * sinU2 / cosA2;\n }\n\n prevLambda = lambda;\n var C = f / 16 * cosA2 * (4 + f * (4 - 3 * cosA2));\n lambda = L + (1 - C) * f * sinA * (sigma + C * sino * (cos2om + C * coso * (-1 + 2 * toSquare(cos2om))));\n converged = abs(lambda - prevLambda) <= this$1.DISTANCE_CONVERGENCE;\n }\n\n var u2 = cosA2 * (toSquare(a) - toSquare(b)) / toSquare(b);\n var A = 1 + u2 / 16384 * (4096 + u2 * (-768 + u2 * (320 - 175 * u2)));\n var B = u2 / 1024 * (256 + u2 * (-128 + u2 * (74 - 47 * u2)));\n var deltao = B * sino * (cos2om + B / 4 * (coso * (-1 + 2 * toSquare(cos2om)) - B / 6 * cos2om * (-3 + 4 * toSquare(sino)) * (-3 + 4 * toSquare(cos2om))));\n\n var azimuthFrom = atan2(cosU2 * sinLambda, cosU1 * sinU2 - sinU1 * cosU2 * cosLambda);\n var azimuthTo = atan2(cosU1 * sinLambda, -sinU1 * cosU2 + cosU1 * sinU2 * cosLambda);\n\n return {\n distance: round(b * A * (sigma - deltao), this.DISTANCE_PRECISION),\n azimuthFrom: deg(azimuthFrom),\n azimuthTo: deg(azimuthTo)\n };\n };\n\n // IE < 9 doesn't allow to override toString on definition\n Location.prototype.toString = function toString () {\n // return kendo.format(this.FORMAT, this.lat, this.lng);\n return String(this.lat) + \",\" + String(this.lng);\n };\n\n Location.fromLngLat = function fromLngLat (lngAndLat) {\n return new Location(lngAndLat[1], lngAndLat[0]);\n };\n\n Location.fromLatLng = function fromLatLng (lngAndLat) {\n return new Location(lngAndLat[0], lngAndLat[1]);\n };\n\n Location.create = function create (a, b) {\n if (defined(a)) {\n if (a instanceof Location) {\n return a.clone();\n } else if (arguments.length === 1 && a.length === 2) {\n return Location.fromLatLng(a);\n }\n\n return new Location(a, b);\n }\n };\n\n return Location;\n}(Class));\n","import {\n geometry as g\n} from '@progress/kendo-drawing';\n\nimport {\n Class,\n setDefaultOptions,\n limitValue,\n rad,\n deg,\n deepExtend\n} from '../common';\n\nimport {\n Location\n} from './location';\n\nimport {\n datums\n} from './datums';\n\n\nvar math = Math,\n atan = math.atan,\n exp = math.exp,\n pow = math.pow,\n sin = math.sin,\n log = math.log,\n tan = math.tan,\n Point = g.Point;\n\nvar PI = math.PI,\n PI_DIV_2 = PI / 2,\n PI_DIV_4 = PI / 4,\n DEG_TO_RAD = PI / 180;\n\nvar WGS84 = datums.WGS84;\n\n// WGS 84 / World Mercator\nexport var Mercator = (function (Class) {\n function Mercator(options) {\n Class.call(this);\n this.initProperties();\n this._initOptions(options);\n }\n\n if ( Class ) Mercator.__proto__ = Class;\n Mercator.prototype = Object.create( Class && Class.prototype );\n Mercator.prototype.constructor = Mercator;\n\n Mercator.prototype._initOptions = function _initOptions (options) {\n this.options = deepExtend({}, this.options, options);\n };\n\n Mercator.prototype.initProperties = function initProperties () {\n // super.initProperties();\n\n deepExtend(this, {\n MAX_LNG: 180,\n MAX_LAT: 85.0840590501,\n INVERSE_ITERATIONS: 15,\n INVERSE_CONVERGENCE: 1e-12\n });\n };\n\n Mercator.prototype.forward = function forward (loc, clamp) {\n var proj = this,\n options = proj.options,\n datum = options.datum,\n r = datum.a,\n lng0 = options.centralMeridian,\n lat = limitValue(loc.lat, -proj.MAX_LAT, proj.MAX_LAT),\n lng = clamp ? limitValue(loc.lng, -proj.MAX_LNG, proj.MAX_LNG) : loc.lng,\n x = rad(lng - lng0) * r,\n y = proj._projectLat(lat);\n return new Point(x, y);\n };\n Mercator.prototype._projectLat = function _projectLat (lat) {\n var datum = this.options.datum,\n ecc = datum.e,\n r = datum.a,\n y = rad(lat),\n ts = tan(PI_DIV_4 + y / 2),\n con = ecc * sin(y),\n p = pow((1 - con) / (1 + con), ecc / 2);\n\n // See: http://en.wikipedia.org/wiki/Mercator_projection#Generalization_to_the_ellipsoid\n return r * log(ts * p);\n };\n Mercator.prototype.inverse = function inverse (point, clamp) {\n var proj = this,\n options = proj.options,\n datum = options.datum,\n r = datum.a,\n lng0 = options.centralMeridian,\n lng = point.x / (DEG_TO_RAD * r) + lng0,\n lat = limitValue(proj._inverseY(point.y), -proj.MAX_LAT, proj.MAX_LAT);\n if (clamp) {\n lng = limitValue(lng, -proj.MAX_LNG, proj.MAX_LNG);\n }\n return new Location(lat, lng);\n };\n Mercator.prototype._inverseY = function _inverseY (y) {\n var proj = this,\n datum = proj.options.datum,\n r = datum.a,\n ecc = datum.e,\n ecch = ecc / 2,\n ts = exp(-y / r),\n phi = PI_DIV_2 - 2 * atan(ts),\n i;\n for (i = 0; i <= proj.INVERSE_ITERATIONS; i++) {\n var con = ecc * sin(phi),\n p = pow((1 - con) / (1 + con), ecch),\n dphi = PI_DIV_2 - 2 * atan(ts * p) - phi;\n phi += dphi;\n if (math.abs(dphi) <= proj.INVERSE_CONVERGENCE) {\n break;\n }\n }\n return deg(phi);\n };\n\n return Mercator;\n}(Class));\n\nsetDefaultOptions(Mercator, {\n centralMeridian: 0,\n datum: WGS84\n});\n\n\n// WGS 84 / Pseudo-Mercator\n// Used by Google Maps, Bing, OSM, etc.\n// Spherical projection of ellipsoidal coordinates.\nexport var SphericalMercator = (function (Mercator) {\n function SphericalMercator () {\n Mercator.apply(this, arguments);\n }\n\n if ( Mercator ) SphericalMercator.__proto__ = Mercator;\n SphericalMercator.prototype = Object.create( Mercator && Mercator.prototype );\n SphericalMercator.prototype.constructor = SphericalMercator;\n\n SphericalMercator.prototype.initProperties = function initProperties () {\n Mercator.prototype.initProperties.call(this);\n\n deepExtend(this, {\n MAX_LAT: 85.0511287798\n });\n };\n\n SphericalMercator.prototype._projectLat = function _projectLat (lat) {\n var r = this.options.datum.a,\n y = rad(lat),\n ts = tan(PI_DIV_4 + y / 2);\n return r * log(ts);\n };\n\n SphericalMercator.prototype._inverseY = function _inverseY (y) {\n var r = this.options.datum.a,\n ts = exp(-y / r);\n return deg(PI_DIV_2 - 2 * atan(ts));\n };\n\n return SphericalMercator;\n}(Mercator));\n\nexport var Equirectangular = (function (Class) {\n function Equirectangular () {\n Class.apply(this, arguments);\n }\n\n if ( Class ) Equirectangular.__proto__ = Class;\n Equirectangular.prototype = Object.create( Class && Class.prototype );\n Equirectangular.prototype.constructor = Equirectangular;\n\n Equirectangular.prototype.forward = function forward (loc) {\n return new Point(loc.lng, loc.lat);\n };\n Equirectangular.prototype.inverse = function inverse (point) {\n return new Location(point.y, point.x);\n };\n\n return Equirectangular;\n}(Class));\n\n// This is the projected coordinate system used for rendering maps in Google Maps, OpenStreetMap, etc\n// Unit: metre\n// Geodetic CRS: WGS 84\n// Scope: Certain Web mapping and visualisation applications. It is not a recognised geodetic system: for that see ellipsoidal Mercator CRS code 3395 (WGS 84 / World Mercator).\n// Remarks: Uses spherical development of ellipsoidal coordinates. Relative to WGS 84 / World Mercator (CRS code 3395) errors of 0.7 percent in scale and differences in northing of up to 43km in the map (equivalent to 21km on the ground) may arise.\n// Area of use: World between 85.06°S and 85.06°N.\n// Coordinate system: Cartesian 2D CS. Axes: easting, northing (X,Y). Orientations: east, north. UoM: m.\n// https://epsg.io/3857\nexport var EPSG3857 = (function (Class) {\n function EPSG3857() {\n Class.call(this);\n var crs = this,\n proj = crs._proj = new SphericalMercator();\n var c = this.c = 2 * PI * proj.options.datum.a;\n\n // transfrom matrix\n // Scale circumference to 1, mirror Y and shift origin to top left\n this._tm = g.transform().translate(0.5, 0.5).scale(1 / c, -1 / c);\n\n // Inverse transform matrix\n this._itm = g.transform().scale(c, -c).translate(-0.5, -0.5);\n }\n\n if ( Class ) EPSG3857.__proto__ = Class;\n EPSG3857.prototype = Object.create( Class && Class.prototype );\n EPSG3857.prototype.constructor = EPSG3857;\n\n // Location <-> Point (screen coordinates for a given scale)\n EPSG3857.prototype.toPoint = function toPoint (loc, scale, clamp) {\n var point = this._proj.forward(loc, clamp);\n return point.transform(this._tm).scale(scale || 1);\n };\n EPSG3857.prototype.toLocation = function toLocation (point, scale, clamp) {\n var newPoint = point.clone().scale(1 / (scale || 1)).transform(this._itm);\n return this._proj.inverse(newPoint, clamp);\n };\n\n return EPSG3857;\n}(Class));\n\n// Unit: metre\n// Geodetic CRS: WGS 84\n// Scope: Very small scale mapping.\n// Remarks: Euro-centric view of world excluding polar areas.\n// Area of use: World between 80°S and 84°N.\n// Coordinate system: Cartesian 2D CS. Axes: easting, northing (E,N). Orientations: east, north. UoM: m.\n// https://epsg.io/3395\nexport var EPSG3395 = (function (Class) {\n function EPSG3395() {\n Class.call(this);\n this._proj = new Mercator();\n }\n\n if ( Class ) EPSG3395.__proto__ = Class;\n EPSG3395.prototype = Object.create( Class && Class.prototype );\n EPSG3395.prototype.constructor = EPSG3395;\n EPSG3395.prototype.toPoint = function toPoint (loc) {\n return this._proj.forward(loc);\n };\n EPSG3395.prototype.toLocation = function toLocation (point) {\n return this._proj.inverse(point);\n };\n\n return EPSG3395;\n}(Class));\n\n// Unit: degree\n// Geodetic CRS: WGS 84\n// Scope: Horizontal component of 3D system. Used by the GPS satellite navigation system and for NATO military geodetic surveying.\n// Area of use: World.\n// Coordinate system: Ellipsoidal 2D CS. Axes: latitude, longitude. Orientations: north, east. UoM: degree\n// https://epsg.io/4326\nexport var EPSG4326 = (function (Class) {\n function EPSG4326() {\n Class.call(this);\n this._proj = new Equirectangular();\n }\n\n if ( Class ) EPSG4326.__proto__ = Class;\n EPSG4326.prototype = Object.create( Class && Class.prototype );\n EPSG4326.prototype.constructor = EPSG4326;\n EPSG4326.prototype.toPoint = function toPoint (loc) {\n return this._proj.forward(loc);\n };\n EPSG4326.prototype.toLocation = function toLocation (point) {\n return this._proj.inverse(point);\n };\n\n return EPSG4326;\n}(Class));\n","import {\n isFunction,\n isArray\n} from '../common';\n\n/* eslint-disable arrow-body-style */\n\nvar defineProperty = Object.defineProperty;\n\nexport var extend = Object.assign;\n\nexport var convertToHtml = function (html) {\n var div = document.createElement(\"div\");\n div.innerHTML = html;\n return div.firstChild;\n};\n\nexport var appendHtml = function (html, element) {\n var div = document.createElement('div');\n div.innerHTML = html;\n\n // use childNodes instead of children\n // to cover text nodes as well\n while (div.childNodes.length > 0) {\n element.appendChild(div.childNodes[0]);\n }\n};\n\nexport var removeChildren = function (element) {\n while (element.firstChild) {\n element.removeChild(element.firstChild);\n }\n};\n\nexport var prepend = function (element, originElement) {\n originElement.insertBefore(element, originElement.firstChild);\n};\n\nexport var wrapInner = function (parent, wrapper) {\n parent.appendChild(wrapper);\n\n while (parent.firstChild !== wrapper) {\n wrapper.appendChild(parent.firstChild);\n }\n};\n\nexport var toHyphens = function (str) {\n var result = str.replace(/([a-z][A-Z])/g, function(g) {\n return g.charAt(0) + '-' + g.charAt(1).toLowerCase();\n });\n\n return result;\n};\n\nexport var toPixels = function (value) {\n var result;\n\n if (value && String(value).endsWith(\"px\")) {\n result = value;\n } else {\n result = String(value) + \"px\";\n }\n\n return result;\n};\n\nvar detectOS = function (ua) {\n var os = false, minorVersion, match = [],\n // notAndroidPhone = !/mobile safari/i.test(ua),\n agentRxs = {\n wp: /(Windows Phone(?: OS)?)\\s(\\d+)\\.(\\d+(\\.\\d+)?)/,\n fire: /(Silk)\\/(\\d+)\\.(\\d+(\\.\\d+)?)/,\n android: /(Android|Android.*(?:Opera|Firefox).*?\\/)\\s*(\\d+)\\.?(\\d+(\\.\\d+)?)?/,\n iphone: /(iPhone|iPod).*OS\\s+(\\d+)[\\._]([\\d\\._]+)/,\n ipad: /(iPad).*OS\\s+(\\d+)[\\._]([\\d_]+)/,\n meego: /(MeeGo).+NokiaBrowser\\/(\\d+)\\.([\\d\\._]+)/,\n webos: /(webOS)\\/(\\d+)\\.(\\d+(\\.\\d+)?)/,\n blackberry: /(BlackBerry|BB10).*?Version\\/(\\d+)\\.(\\d+(\\.\\d+)?)/,\n playbook: /(PlayBook).*?Tablet\\s*OS\\s*(\\d+)\\.(\\d+(\\.\\d+)?)/,\n windows: /(MSIE)\\s+(\\d+)\\.(\\d+(\\.\\d+)?)/,\n tizen: /(tizen).*?Version\\/(\\d+)\\.(\\d+(\\.\\d+)?)/i,\n sailfish: /(sailfish).*rv:(\\d+)\\.(\\d+(\\.\\d+)?).*firefox/i,\n ffos: /(Mobile).*rv:(\\d+)\\.(\\d+(\\.\\d+)?).*Firefox/\n },\n osRxs = {\n ios: /^i(phone|pad|pod)$/i,\n android: /^android|fire$/i,\n blackberry: /^blackberry|playbook/i,\n windows: /windows/,\n wp: /wp/,\n flat: /sailfish|ffos|tizen/i,\n meego: /meego/\n },\n formFactorRxs = {\n tablet: /playbook|ipad|fire/i\n },\n browserRxs = {\n omini: /Opera\\sMini/i,\n omobile: /Opera\\sMobi/i,\n firefox: /Firefox|Fennec/i,\n mobilesafari: /version\\/.*safari/i,\n ie: /MSIE|Windows\\sPhone/i,\n chrome: /chrome|crios/i,\n webkit: /webkit/i\n };\n\n for (var agent in agentRxs) {\n if (agentRxs.hasOwnProperty(agent)) {\n match = ua.match(agentRxs[agent]);\n if (match) {\n if (agent === \"windows\" && \"plugins\" in navigator) { return false; } // Break if not Metro/Mobile Windows\n\n os = {};\n os.device = agent;\n os.tablet = testRegex(agent, formFactorRxs, false);\n os.browser = testRegex(ua, browserRxs, \"default\");\n os.name = testRegex(agent, osRxs);\n os[os.name] = true;\n os.majorVersion = match[2];\n os.minorVersion = (match[3] || \"0\").replace(\"_\", \".\");\n minorVersion = os.minorVersion.replace(\".\", \"\").substr(0, 2);\n os.flatVersion = os.majorVersion + minorVersion + (new Array(3 - (minorVersion.length < 3 ? minorVersion.length : 2)).join(\"0\"));\n\n\n break;\n }\n }\n }\n\n return os;\n};\n\nfunction testRegex(agent, regexes, dflt) {\n for (var regex in regexes) {\n if (regexes.hasOwnProperty(regex) && regexes[regex].test(agent)) {\n return regex;\n }\n }\n return dflt !== undefined ? dflt : agent;\n}\n\nexport var hasNativeScrolling = function (userAgent) {\n var os = detectOS(userAgent);\n return os.ios || os.android;\n};\n\nvar detectBrowser = function (userAgent) {\n var browser = false,\n match = [],\n browserRxs = {\n edge: /(edge)[ \\/]([\\w.]+)/i,\n webkit: /(chrome|crios)[ \\/]([\\w.]+)/i,\n safari: /(webkit)[ \\/]([\\w.]+)/i,\n opera: /(opera)(?:.*version|)[ \\/]([\\w.]+)/i,\n msie: /(msie\\s|trident.*? rv:)([\\w.]+)/i,\n mozilla: /(mozilla)(?:.*? rv:([\\w.]+)|)/i\n };\n\n for (var agent in browserRxs) {\n if (browserRxs.hasOwnProperty(agent)) {\n match = userAgent.match(browserRxs[agent]);\n\n if (match) {\n browser = {};\n browser[agent] = true;\n browser[match[1].toLowerCase().split(\" \")[0].split(\"/\")[0]] = true;\n browser.version = parseInt(document.documentMode || match[2], 10);\n\n break;\n }\n }\n }\n\n return browser;\n};\n\nexport var getEventMap = function () {\n var eventMap = {\n down: \"touchstart mousedown\",\n move: \"mousemove touchmove\",\n up: \"mouseup touchend touchcancel\",\n cancel: \"mouseleave touchcancel\"\n };\n\n var support = getSupportedFeatures();\n\n if (support.touch && (support.mobileOS.ios || support.mobileOS.android)) {\n eventMap = {\n down: \"touchstart\",\n move: \"touchmove\",\n up: \"touchend touchcancel\",\n cancel: \"touchcancel\"\n };\n } else if (support.pointers) {\n eventMap = {\n down: \"pointerdown\",\n move: \"pointermove\",\n up: \"pointerup\",\n cancel: \"pointercancel pointerleave\"\n };\n } else if (support.msPointers) {\n eventMap = {\n down: \"MSPointerDown\",\n move: \"MSPointerMove\",\n up: \"MSPointerUp\",\n cancel: \"MSPointerCancel MSPointerLeave\"\n };\n }\n\n return eventMap;\n};\n\nexport var getSupportedFeatures = function () {\n var os = detectOS(navigator.userAgent);\n var browser = detectBrowser(navigator.userAgent);\n\n var chrome = browser.chrome,\n mobileChrome = browser.crios,\n mozilla = browser.mozilla,\n safari = browser.safari;\n\n var support = {};\n\n support.mobileOS = os;\n support.touch = \"ontouchstart\" in window;\n support.pointers = !chrome && !mobileChrome && !mozilla && !safari && window.PointerEvent;\n support.msPointers = !chrome && window.MSPointerEvent;\n support.mouseAndTouchPresent = support.touch && !(support.mobileOS.ios || support.mobileOS.android);\n support.eventCapture = document.documentElement.addEventListener;\n\n var table = document.createElement(\"table\");\n\n var transitions = support.transitions = false,\n transforms = support.transforms = false;\n\n var STRING = \"string\";\n\n [\"Moz\", \"webkit\", \"O\", \"ms\"].forEach(function(prefix) {\n var hasTransitions = typeof table.style[prefix + \"Transition\"] === STRING;\n\n if (hasTransitions || typeof table.style[prefix + \"Transform\"] === STRING) {\n var lowPrefix = prefix.toLowerCase();\n\n transforms = {\n css: (lowPrefix !== \"ms\") ? \"-\" + lowPrefix + \"-\" : \"\",\n prefix: prefix,\n event: (lowPrefix === \"o\" || lowPrefix === \"webkit\") ? lowPrefix : \"\"\n };\n\n if (hasTransitions) {\n transitions = transforms;\n transitions.event = transitions.event ? transitions.event + \"TransitionEnd\" : \"transitionend\";\n }\n\n return false;\n }\n });\n\n table = null;\n\n support.transforms = transforms;\n support.transitions = transitions;\n\n support.delayedClick = function() {\n // only the mobile devices with touch events do this.\n if (support.touch) {\n // All iOS devices so far (by the time I am writing this, iOS 9.0.2 is the latest),\n // delay their click events.\n if (support.mobileOS.ios) {\n return true;\n }\n\n if (support.mobileOS.android) {\n\n if (!support.browser.chrome) { // older webkits and webviews delay the click\n return true;\n }\n\n // from here on, we deal with Chrome on Android.\n if (support.browser.version < 32) {\n return false;\n }\n\n // Chrome 32+ does conditional fast clicks if the view port is not user scalable.\n var meta = document.querySelector(\"meta[name=viewport]\");\n var contentAttr = meta ? meta.getAttribute(\"content\") : \"\";\n return !contentAttr.match(/user-scalable=no/i);\n }\n }\n\n return false;\n };\n\n return support;\n};\n\nexport var ownsElement = function (parent, element) {\n if (!element) {\n return false;\n }\n\n var node = element.parentNode;\n\n while (node !== null) {\n if (node === parent) {\n return true;\n }\n\n node = node.parentNode;\n }\n\n return false;\n};\n\nexport var contains = function (parent, element) {\n return parent === element || ownsElement(parent, element);\n};\n\nexport var proxy = function (method, context) {\n return method.bind(context);\n};\n\nfunction isString(value) {\n return typeof(value) === \"string\";\n}\n\nexport var on = function (element, events, filter, handler, useCapture) {\n addEventListeners(element, events, filter, handler, useCapture);\n};\n\nexport var addEventListeners = function (element, events, filter, handler, useCapture) {\n var eventNames = isArray(events) ? events : (events || \"\").split(\" \");\n\n eventNames.forEach(function(eventName) {\n addEventListener(element, eventName, filter, handler, useCapture);\n });\n};\n\nexport var addEventListener = function (element, event, filter, handler, useCapture) {\n var eventHandler = handler;\n var eventFilter;\n\n if (filter && isFunction(filter) && !handler) {\n eventHandler = filter;\n } else if (filter && isString(filter) && isFunction(eventHandler)) {\n eventFilter = filter;\n }\n\n element.addEventListener(event, function(e) {\n var closestMatchingTarget = e.target ? e.target.closest(eventFilter) : null;\n\n if (!eventFilter ||\n (eventFilter && e.target && closestMatchingTarget)) {\n var currentTarget = eventFilter ? closestMatchingTarget : e.currentTarget;\n\n // reassign the property as it is a getters only\n defineProperty(e, \"currentTarget\", { value: currentTarget });\n // keep a reference to the top-level target\n defineProperty(e, \"delegateTarget\", { value: element });\n\n eventHandler(e);\n }\n }, Boolean(useCapture));\n};\n\nexport var off = function (element, events, filter, handler, useCapture) {\n removeEventListeners(element, events, filter, handler, useCapture);\n};\n\nexport var removeEventListeners = function (element, events, handler, useCapture) {\n var eventNames = isArray(events) ? events : (events || \"\").split(\" \");\n\n eventNames.forEach(function(eventName) {\n removeEventListener(element, eventName, handler, useCapture);\n });\n};\n\nexport var removeEventListener = function (element, event, handler, useCapture) {\n element.removeEventListener(event, handler, Boolean(useCapture));\n};\n\nexport var applyEventMap = function (events) {\n var eventMap = getEventMap(navigator.userAgent);\n function queryEventMap(e) {\n return eventMap[e] || e;\n }\n\n var eventRegEx = /([^ ]+)/g;\n var appliedEvents = events.replace(eventRegEx, queryEventMap);\n\n return appliedEvents;\n};\n\nexport var setDefaultEvents = function (type, events) {\n var proto = type.prototype;\n\n if (proto.events) {\n events.forEach(function (event) {\n if (proto.events.indexOf(event) < 0) {\n proto.events.push(event);\n }\n });\n } else {\n proto.events = events;\n }\n};\n\nexport var wheelDeltaY = function (jQueryEvent) {\n var e = jQueryEvent.originalEvent || jQueryEvent;\n var deltaY = e.wheelDeltaY;\n var delta;\n\n if (e.wheelDelta) { // Webkit and IE\n if (deltaY === undefined || deltaY) { // IE does not have deltaY, thus always scroll (horizontal scrolling is treated as vertical)\n delta = e.wheelDelta;\n }\n } else if (e.detail && e.axis === e.VERTICAL_AXIS) { // Firefox and Opera\n delta = (-e.detail) * 10;\n }\n\n return delta;\n};\n\nexport var guid = function () {\n var id = \"\";\n var i;\n var random;\n\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += \"-\";\n }\n\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16); // eslint-disable-line no-nested-ternary\n }\n\n return id;\n};\n\nexport var now = function () {\n return Number(new Date());\n};\n\nexport var noop = function () {};\n\nexport var renderPos = function (pos) {\n var result = [];\n\n if (pos) {\n var parts = toHyphens(pos).split(\"-\");\n\n for (var i = 0; i < parts.length; i++) {\n result.push(\"k-pos-\" + parts[i]);\n }\n }\n\n return result.join(\" \");\n};\n\n/* eslint-enable arrow-body-style */\n","import {\n Class\n} from '../../common';\n\nvar STRING = \"string\";\nvar FUNCTION = \"function\";\n\nvar preventDefault = function() {\n this._defaultPrevented = true;\n};\n\nvar isDefaultPrevented = function() {\n return this._defaultPrevented === true;\n};\n\nexport var Observable = (function (Class) {\n function Observable() {\n Class.call(this);\n this._events = {};\n }\n\n if ( Class ) Observable.__proto__ = Class;\n Observable.prototype = Object.create( Class && Class.prototype );\n Observable.prototype.constructor = Observable;\n\n Observable.prototype.destroy = function destroy () {\n this.unbind();\n };\n\n Observable.prototype.bind = function bind (event, handlers, one) {\n var that = this,\n idx,\n eventNames = typeof event === STRING ? [event] : event || [],\n length,\n original,\n handler,\n handlersIsFunction = typeof handlers === FUNCTION,\n events;\n\n if (handlers === undefined) {\n for (idx in event) {\n that.bind(idx, event[idx]);\n }\n\n return that;\n }\n\n /* eslint-disable no-loop-func */\n var loop = function ( ) {\n var eventName = eventNames[idx];\n\n handler = handlersIsFunction ? handlers : handlers[eventName];\n\n if (handler) {\n if (one) {\n original = handler;\n handler = function() {\n that.unbind(eventName, handler);\n original.apply(that, arguments);\n };\n\n handler.original = original;\n }\n\n events = that._events[eventName] = that._events[eventName] || [];\n events.push(handler);\n }\n };\n\n for (idx = 0, length = eventNames.length; idx < length; idx++) loop( );\n /* eslint-enable no-loop-func */\n\n return that;\n };\n\n Observable.prototype.one = function one (eventNames, handlers) {\n return this.bind(eventNames, handlers, true);\n };\n\n Observable.prototype.first = function first (eventName, handlers) {\n var that = this,\n idx,\n eventNames = typeof eventName === STRING ? [eventName] : eventName,\n length,\n handler,\n handlersIsFunction = typeof handlers === FUNCTION,\n events;\n\n for (idx = 0, length = eventNames.length; idx < length; idx++) {\n var eventName$1 = eventNames[idx];\n\n handler = handlersIsFunction ? handlers : handlers[eventName$1];\n\n if (handler) {\n events = that._events[eventName$1] = that._events[eventName$1] || [];\n events.unshift(handler);\n }\n }\n\n return that;\n };\n\n Observable.prototype.trigger = function trigger (eventName, eventArgs) {\n var that = this,\n events = that._events[eventName],\n idx,\n length;\n\n if (events) {\n var e = eventArgs || {};\n\n e.sender = that;\n\n e._defaultPrevented = false;\n\n e.preventDefault = preventDefault;\n\n e.isDefaultPrevented = isDefaultPrevented;\n\n events = events.slice();\n\n for (idx = 0, length = events.length; idx < length; idx++) {\n events[idx].call(that, e);\n }\n\n return e._defaultPrevented === true;\n }\n\n return false;\n };\n\n Observable.prototype.unbind = function unbind (eventName, handler) {\n var that = this,\n events = that._events[eventName],\n idx;\n\n if (eventName === undefined) {\n that._events = {};\n } else if (events) {\n if (handler) {\n for (idx = events.length - 1; idx >= 0; idx--) {\n if (events[idx] === handler || events[idx].original === handler) {\n events.splice(idx, 1);\n }\n }\n } else {\n that._events[eventName] = [];\n }\n }\n\n return that;\n };\n\n Observable.prototype._setEvents = function _setEvents (options) {\n var this$1 = this;\n\n var length = (this.events || []).length;\n\n for (var idx = 0; idx < length; idx ++) {\n var e = this$1.events[idx];\n\n if (this$1.options[e] && options[e]) {\n this$1.unbind(e, this$1.options[e]);\n\n if (this$1._events && this$1._events[e]) {\n delete this$1._events[e];\n }\n }\n }\n\n this.bind(this.events, options);\n };\n\n return Observable;\n}(Class));\n","import {\n addClass,\n defined,\n valueOrDefault,\n deepExtend,\n setDefaultOptions\n} from '../common';\n\nimport {\n appendHtml,\n removeChildren\n} from './utils';\n\nimport { Observable } from './scroller/observable';\n\nexport var Attribution = (function (Observable) {\n function Attribution(element, options) {\n Observable.call(this);\n this.element = element;\n\n this._initOptions(options);\n this.items = [];\n\n addClass(this.element, 'k-widget k-attribution');\n }\n\n if ( Observable ) Attribution.__proto__ = Observable;\n Attribution.prototype = Object.create( Observable && Observable.prototype );\n Attribution.prototype.constructor = Attribution;\n\n Attribution.prototype._initOptions = function _initOptions (options) {\n this.options = deepExtend({}, this.options, options);\n };\n\n Attribution.prototype.filter = function filter (extent, zoom) {\n this._extent = extent;\n this._zoom = zoom;\n this._render();\n };\n\n Attribution.prototype.add = function add (item) {\n var newItem = item;\n\n if (defined(item)) {\n if (typeof item === 'string') {\n newItem = {\n text: item\n };\n }\n\n this.items.push(newItem);\n this._render();\n }\n };\n\n Attribution.prototype.remove = function remove (text) {\n var this$1 = this;\n\n var result = [];\n\n for (var i = 0; i < this.items.length; i++) {\n var item = this$1.items[i];\n\n if (item.text !== text) {\n result.push(item);\n }\n }\n\n this.items = result;\n this._render();\n };\n\n Attribution.prototype.clear = function clear () {\n this.items = [];\n removeChildren(this.element);\n };\n\n Attribution.prototype._render = function _render () {\n var this$1 = this;\n\n var result = [];\n\n for (var i = 0; i < this.items.length; i++) {\n var item = this$1.items[i];\n var text = this$1._itemText(item);\n\n if (text !== '') {\n result.push(text);\n }\n }\n\n if (result.length > 0) {\n removeChildren(this.element);\n\n var html = result.join(this.options.separator);\n appendHtml(html, this.element);\n\n this.showElement();\n } else {\n this.hideElement();\n }\n };\n\n Attribution.prototype.hideElement = function hideElement () {\n this.element.style.display = \"none\";\n };\n\n Attribution.prototype.showElement = function showElement () {\n this.element.style.display = \"\";\n };\n\n Attribution.prototype._itemText = function _itemText (item) {\n var text = '';\n var inZoomLevel = this._inZoomLevel(item.minZoom, item.maxZoom);\n var inArea = this._inArea(item.extent);\n\n if (inZoomLevel && inArea) {\n text += item.text;\n }\n\n return text;\n };\n\n Attribution.prototype._inZoomLevel = function _inZoomLevel (min, max) {\n var result = true;\n var newMin = valueOrDefault(min, -Number.MAX_VALUE);\n var newMax = valueOrDefault(max, Number.MAX_VALUE);\n\n result = this._zoom > newMin && this._zoom < newMax;\n return result;\n };\n\n Attribution.prototype._inArea = function _inArea (area) {\n var result = true;\n\n if (area) {\n result = area.contains(this._extent);\n }\n\n return result;\n };\n\n return Attribution;\n}(Observable));\n\nsetDefaultOptions(Attribution, {\n name: 'Attribution',\n separator: ' | '\n});\n","import {\n deepExtend,\n addClass,\n keys,\n setDefaultOptions\n} from '../common';\n\nimport {\n Observable\n} from './scroller/observable';\n\nimport {\n proxy,\n on,\n off,\n setDefaultEvents,\n convertToHtml\n} from './utils';\n\nvar PAN = \"pan\";\n\nvar directionsMap = {\n up: {\n className: \"k-navigator-n\",\n iconClass: \"k-i-caret-alt-up\"\n },\n down: {\n className: \"k-navigator-s\",\n iconClass: \"k-i-caret-alt-down\"\n },\n right: {\n className: \"k-navigator-e\",\n iconClass: \"k-i-caret-alt-right\"\n },\n left: {\n className: \"k-navigator-w\",\n iconClass: \"k-i-caret-alt-left\"\n }\n};\n\nfunction createButton(direction) {\n var html =\n '';\n\n return convertToHtml(html);\n}\n\nexport var Navigator = (function (Observable) {\n function Navigator(element, options) {\n Observable.call(this);\n\n this.element = element;\n this._initOptions(options);\n\n var navigateUpButton = createButton(\"up\");\n var navigateRightlButton = createButton(\"right\");\n var navigateDownButton = createButton(\"down\");\n var navigateLeftButton = createButton(\"left\");\n\n this.element.appendChild(navigateUpButton);\n this.element.appendChild(navigateRightlButton);\n this.element.appendChild(navigateDownButton);\n this.element.appendChild(navigateLeftButton);\n\n addClass(this.element, 'k-widget k-navigator');\n\n on(this.element, \"click\", \".k-button\", proxy(this._click, this));\n\n var parentElement = this.element.parentNode.closest(\"[data-role]\");\n\n this._keyroot = parentElement ? parentElement : this.element;\n this._tabindex(this._keyroot);\n\n this._keydownHandler = proxy(this._keydown, this);\n on(this._keyroot, \"keydown\", this._keydownHandler);\n }\n\n if ( Observable ) Navigator.__proto__ = Observable;\n Navigator.prototype = Object.create( Observable && Observable.prototype );\n Navigator.prototype.constructor = Navigator;\n\n Navigator.prototype.destroy = function destroy () {\n this.dispose();\n };\n\n // originates from the kendo.jquery version\n Navigator.prototype.dispose = function dispose () {\n off(this._keyroot, \"keydown\", this._keydownHandler);\n };\n\n Navigator.prototype._tabindex = function _tabindex (target) {\n var targetElement = target || this.wrapper || this.element;\n\n var element = this.element,\n TABINDEX = \"tabindex\",\n tabindex = targetElement.getAttribute(TABINDEX) || element.getAttribute(TABINDEX);\n\n element.removeAttribute(TABINDEX);\n\n targetElement.setAttribute(TABINDEX, !isNaN(tabindex) ? tabindex : 0);\n };\n\n Navigator.prototype._initOptions = function _initOptions (options) {\n this.options = deepExtend({}, this.options, options);\n };\n\n Navigator.prototype._pan = function _pan (x, y) {\n var panStep = this.options.panStep;\n\n this.trigger(PAN, {\n x: x * panStep,\n y: y * panStep\n });\n };\n\n Navigator.prototype._click = function _click (e) {\n var x = 0;\n var y = 0;\n var button = e.currentTarget;\n\n if (button.matches('.k-navigator-n')) {\n y = 1;\n } else if (button.matches('.k-navigator-s')) {\n y = -1;\n } else if (button.matches('.k-navigator-e')) {\n x = 1;\n } else if (button.matches('.k-navigator-w')) {\n x = -1;\n }\n\n this._pan(x, y);\n\n e.preventDefault();\n };\n\n /* eslint-disable indent */\n Navigator.prototype._keydown = function _keydown (e) {\n switch (e.which) {\n case keys.UP:\n this._pan(0, 1);\n e.preventDefault();\n break;\n case keys.DOWN:\n this._pan(0, -1);\n e.preventDefault();\n break;\n case keys.RIGHT:\n this._pan(1, 0);\n e.preventDefault();\n break;\n case keys.LEFT:\n this._pan(-1, 0);\n e.preventDefault();\n break;\n default:\n break;\n }\n };\n\n return Navigator;\n}(Observable));\n\nsetDefaultOptions(Navigator, {\n name: 'Navigator',\n panStep: 1\n});\n\n\nsetDefaultEvents(Navigator, [\n PAN\n]);\n","import {\n deepExtend,\n addClass,\n keys,\n hasClasses,\n setDefaultOptions\n} from '../common';\n\nimport {\n Observable\n} from './scroller/observable';\n\nimport {\n on,\n off,\n setDefaultEvents,\n convertToHtml\n} from './utils';\n\nfunction createButton(direction, iconClass) {\n var html =\n '';\n\n return convertToHtml(html);\n}\n\nvar PLUS = 187;\nvar MINUS = 189;\nvar FF_PLUS = 61;\nvar FF_MINUS = 173;\nvar CHANGE = \"change\";\n\nexport var ZoomControl = (function (Observable) {\n function ZoomControl(element, options) {\n Observable.call(this);\n this.element = element;\n this._initOptions(options);\n\n var zoomInButton = createButton('in', 'k-i-plus');\n var zoomOutButton = createButton('out', 'k-i-minus');\n\n this.element.appendChild(zoomInButton);\n this.element.appendChild(zoomOutButton);\n\n addClass(this.element, 'k-widget k-zoom-control k-button-group k-group-horizontal');\n\n this._clickHandler = this._click.bind(this);\n on(this.element, \"click\", \".k-button\", this._clickHandler);\n\n var parentElement = this.element.parentNode.closest(\"[data-role]\");\n\n this._keyroot = parentElement ? parentElement : this.element;\n\n this._tabindex(this._keyroot);\n\n this._keydownHandler = this._keydown.bind(this);\n on(this._keyroot, \"keydown\", this._keydownHandler);\n }\n\n if ( Observable ) ZoomControl.__proto__ = Observable;\n ZoomControl.prototype = Object.create( Observable && Observable.prototype );\n ZoomControl.prototype.constructor = ZoomControl;\n\n ZoomControl.prototype.destroy = function destroy () {\n if (this.element) {\n off(this.element, \"click\", this._clickHandler);\n }\n\n if (this._keyroot) {\n off(this._keyroot, 'keydown', this._keydownHandler);\n }\n };\n\n ZoomControl.prototype._tabindex = function _tabindex (target) {\n var targetElement = target || this.wrapper || this.element;\n\n var element = this.element,\n TABINDEX = \"tabindex\",\n tabindex = targetElement.getAttribute(TABINDEX) || element.getAttribute(TABINDEX);\n\n element.removeAttribute(TABINDEX);\n\n targetElement.setAttribute(TABINDEX, !isNaN(tabindex) ? tabindex : 0);\n };\n\n ZoomControl.prototype._initOptions = function _initOptions (options) {\n this.options = deepExtend({}, this.options, options);\n };\n\n ZoomControl.prototype._change = function _change (direction) {\n var zoomStep = this.options.zoomStep;\n this.trigger(CHANGE, { delta: direction * zoomStep });\n };\n\n ZoomControl.prototype._click = function _click (e) {\n var button = e.currentTarget;\n var direction = 1;\n\n if (hasClasses(button, 'k-zoom-out')) {\n direction = -1;\n }\n\n this._change(direction);\n e.preventDefault();\n };\n\n /* eslint-disable indent */\n ZoomControl.prototype._keydown = function _keydown (e) {\n switch (e.which) {\n case keys.NUMPAD_PLUS:\n case PLUS:\n case FF_PLUS:\n this._change(1);\n break;\n case keys.NUMPAD_MINUS:\n case MINUS:\n case FF_MINUS:\n this._change(-1);\n break;\n default:\n break;\n }\n };\n\n return ZoomControl;\n}(Observable));\n\nsetDefaultOptions(ZoomControl, {\n name: 'ZoomControl',\n zoomStep: 1\n});\n\nsetDefaultEvents(ZoomControl, [\n CHANGE\n]);\n","import {\n Class,\n valueOrDefault\n} from '../common';\n\nimport { Location } from './location';\n\nvar math = Math,\n max = math.max,\n min = math.min;\n\nexport var Extent = (function (Class) {\n function Extent(initialNw, initialSe) {\n Class.call(this);\n var nw = Location.create(initialNw);\n var se = Location.create(initialSe);\n\n if (nw.lng + 180 > se.lng + 180 && nw.lat + 90 < se.lat + 90) {\n this.se = nw;\n this.nw = se;\n } else {\n this.se = se;\n this.nw = nw;\n }\n }\n\n if ( Class ) Extent.__proto__ = Class;\n Extent.prototype = Object.create( Class && Class.prototype );\n Extent.prototype.constructor = Extent;\n\n var staticAccessors = { World: { configurable: true } };\n\n Extent.prototype.contains = function contains (loc) {\n var nw = this.nw, se = this.se, lng = valueOrDefault(loc.lng, loc[1]), lat = valueOrDefault(loc.lat, loc[0]);\n\n return loc &&\n lng + 180 >= nw.lng + 180 && lng + 180 <= se.lng + 180 &&\n lat + 90 >= se.lat + 90 && lat + 90 <= nw.lat + 90;\n };\n\n Extent.prototype.center = function center () {\n var nw = this.nw;\n var se = this.se;\n var lng = nw.lng + (se.lng - nw.lng) / 2;\n var lat = nw.lat + (se.lat - nw.lat) / 2;\n\n return new Location(lat, lng);\n };\n\n Extent.prototype.containsAny = function containsAny (locs) {\n var this$1 = this;\n\n var result = false;\n\n for (var i = 0; i < locs.length; i++) {\n result = result || this$1.contains(locs[i]);\n }\n\n return result;\n };\n\n Extent.prototype.include = function include (loc) {\n var nw = this.nw, se = this.se, lng = valueOrDefault(loc.lng, loc[1]), lat = valueOrDefault(loc.lat, loc[0]);\n\n nw.lng = min(nw.lng, lng);\n nw.lat = max(nw.lat, lat);\n se.lng = max(se.lng, lng);\n se.lat = min(se.lat, lat);\n };\n\n Extent.prototype.includeAll = function includeAll (locs) {\n var this$1 = this;\n\n for (var i = 0; i < locs.length; i++) {\n this$1.include(locs[i]);\n }\n };\n\n Extent.prototype.edges = function edges () {\n var nw = this.nw, se = this.se;\n\n return {\n nw: this.nw,\n ne: new Location(nw.lat, se.lng),\n se: this.se,\n sw: new Location(se.lat, nw.lng)\n };\n };\n\n Extent.prototype.toArray = function toArray () {\n var nw = this.nw, se = this.se;\n\n return [\n nw,\n new Location(nw.lat, se.lng),\n se,\n new Location(se.lat, nw.lng)\n ];\n };\n\n Extent.prototype.overlaps = function overlaps (extent) {\n return this.containsAny(extent.toArray()) ||\n extent.containsAny(this.toArray());\n };\n\n Extent.create = function create (a, b) {\n if (a instanceof Extent) {\n return a;\n } else if (a && b) {\n return new Extent(a, b);\n } else if (a && a.length === 4 && !b) {\n return new Extent([\n a[0],\n a[1]\n ], [\n a[2],\n a[3]\n ]);\n }\n };\n\n staticAccessors.World.get = function () {\n return new Extent([ 90, -180 ], [ -90, 180 ]);\n };\n\n Object.defineProperties( Extent, staticAccessors );\n\n return Extent;\n}(Class));\n","export var SHOW_TOOLTIP = 'showTooltip';\nexport var HIDE_TOOLTIP = 'hideTooltip';\nexport var CENTER_CHANGE = 'centerChange';\nexport var ZOOM_CHANGE = 'zoomChange';\nexport var INIT = 'init';\n","import { Class, deepExtend, setDefaultOptions } from '../../common';\nimport { SHOW_TOOLTIP, HIDE_TOOLTIP } from '../constants';\n\nexport var Tooltip = (function (Class) {\n function Tooltip(widgetService, options) {\n Class.call(this);\n\n this.widgetService = widgetService;\n this.options = deepExtend({}, this.options, options);\n this.offset = { x: 0, y: 0 };\n }\n\n if ( Class ) Tooltip.__proto__ = Class;\n Tooltip.prototype = Object.create( Class && Class.prototype );\n Tooltip.prototype.constructor = Tooltip;\n\n var prototypeAccessors = { anchor: { configurable: true } };\n\n Tooltip.prototype.show = function show (anchor, args) {\n if (this.location === args.location) {\n return;\n }\n\n this.anchor = anchor;\n this.location = args.location;\n\n this.widgetService.notify(SHOW_TOOLTIP,\n Object.assign({ anchor: this.anchor }, args)\n );\n\n this.visible = true;\n };\n\n Tooltip.prototype.hide = function hide () {\n if (this.widgetService) {\n this.widgetService.notify(HIDE_TOOLTIP);\n }\n\n this.visible = false;\n this.location = null;\n };\n\n prototypeAccessors.anchor.get = function () {\n return this._anchor;\n };\n\n prototypeAccessors.anchor.set = function (anchor) {\n var documentPoint = this.widgetService.widget._toDocumentCoordinates({\n x: anchor.left - this.offset.x,\n y: anchor.top - this.offset.y\n });\n\n this._anchor = {\n left: documentPoint.left,\n top: documentPoint.top\n };\n };\n\n Tooltip.prototype.destroy = function destroy () {\n this.widgetService = null;\n };\n\n Object.defineProperties( Tooltip.prototype, prototypeAccessors );\n\n return Tooltip;\n}(Class));\n\nsetDefaultOptions(Tooltip, {\n border: {\n width: 1\n },\n opacity: 1\n});\n","import {\n Class,\n addClass,\n deepExtend,\n defined\n} from '../../common';\n\nimport {\n Extent\n} from './../extent';\n\nimport {\n getSupportedFeatures\n} from '../utils';\n\nexport var Layer = (function (Class) {\n function Layer(map, options) {\n Class.call(this);\n\n this.support = getSupportedFeatures();\n\n this._initOptions(options);\n this.map = map;\n\n var element = document.createElement(\"div\");\n addClass(element, \"k-layer\");\n element.style.zIndex = this.options.zIndex;\n element.style.opacity = this.options.opacity;\n\n this.element = element;\n\n map.scrollElement.appendChild(this.element);\n\n this._beforeReset = this._beforeReset.bind(this);\n this._reset = this._reset.bind(this);\n this._resize = this._resize.bind(this);\n this._panEnd = this._panEnd.bind(this);\n\n this._activate();\n this._updateAttribution();\n }\n\n if ( Class ) Layer.__proto__ = Class;\n Layer.prototype = Object.create( Class && Class.prototype );\n Layer.prototype.constructor = Layer;\n\n Layer.prototype.destroy = function destroy () {\n this._deactivate();\n };\n\n Layer.prototype._initOptions = function _initOptions (options) {\n this.options = deepExtend({}, this.options, options);\n };\n\n Layer.prototype.show = function show () {\n this.reset();\n this._activate();\n this._applyExtent(true);\n };\n\n Layer.prototype.hide = function hide () {\n this._deactivate();\n this._setVisibility(false);\n };\n\n Layer.prototype.reset = function reset () {\n this._beforeReset();\n this._reset();\n };\n\n Layer.prototype._reset = function _reset () {\n this._applyExtent();\n };\n\n Layer.prototype._beforeReset = function _beforeReset () {\n\n };\n\n Layer.prototype._resize = function _resize () {\n\n };\n\n Layer.prototype._panEnd = function _panEnd () {\n this._applyExtent();\n };\n\n Layer.prototype._applyExtent = function _applyExtent () {\n var options = this.options;\n var zoom = this.map.zoom();\n var matchMinZoom = !defined(options.minZoom) || zoom >= options.minZoom;\n var matchMaxZoom = !defined(options.maxZoom) || zoom <= options.maxZoom;\n var extent = Extent.create(options.extent);\n var inside = !extent || extent.overlaps(this.map.extent());\n\n this._setVisibility(matchMinZoom && matchMaxZoom && inside);\n };\n\n Layer.prototype._setVisibility = function _setVisibility (visible) {\n this.element.style.display = visible ? '' : 'none';\n };\n\n Layer.prototype._activate = function _activate () {\n var map = this.map;\n\n this._deactivate();\n\n map.bind('beforeReset', this._beforeReset);\n map.bind('reset', this._reset);\n map.bind('resize', this._resize);\n map.bind('panEnd', this._panEnd);\n };\n\n Layer.prototype._deactivate = function _deactivate () {\n var map = this.map;\n\n map.unbind('beforeReset', this._beforeReset);\n map.unbind('reset', this._reset);\n map.unbind('resize', this._resize);\n map.unbind('panEnd', this._panEnd);\n };\n\n Layer.prototype._updateAttribution = function _updateAttribution () {\n var attribution = this.map.attribution;\n\n if (attribution) {\n attribution.add(this.options.attribution);\n }\n };\n\n Layer.prototype._readData = function _readData () {\n var data = this.options.data || [];\n return data;\n };\n\n Layer.prototype._hasData = function _hasData () {\n return this._data && this._data.length > 0;\n };\n\n Layer.prototype._layerIndex = function _layerIndex () {\n var layers = this.map.layers || [];\n return layers.indexOf(this);\n };\n\n return Layer;\n}(Class));\n","import {\n geometry as g,\n throttle\n} from '@progress/kendo-drawing';\n\nimport {\n Class,\n deepExtend,\n round,\n limitValue,\n hashKey,\n setDefaultOptions,\n isFunction\n} from '../../common';\n\nimport { removeChildren } from '../utils';\n\nimport { Layer } from './layer';\n\nimport TemplateService from '../../services/template-service';\n\nvar math = Math,\n Point = g.Point;\n\nfunction compileTemplate(template) {\n if (isFunction(template)) {\n return template;\n }\n\n return TemplateService.compile(template);\n}\n\nfunction roundPoint(point) {\n return new Point(round(point.x), round(point.y));\n}\n\nfunction renderSize(size) {\n var newSize = size;\n\n if (typeof(size) !== \"string\") {\n newSize += \"px\";\n }\n\n return newSize;\n}\n\nexport var TileLayer = (function (Layer) {\n function TileLayer(map, options) {\n Layer.call(this, map, options);\n\n if (typeof this.options.subdomains === 'string') {\n this.options.subdomains = this.options.subdomains.split('');\n }\n\n var viewType = this._viewType();\n this._view = new viewType(this.element, this.options);\n }\n\n if ( Layer ) TileLayer.__proto__ = Layer;\n TileLayer.prototype = Object.create( Layer && Layer.prototype );\n TileLayer.prototype.constructor = TileLayer;\n\n TileLayer.prototype.destroy = function destroy () {\n Layer.prototype.destroy.call(this);\n this._view.destroy();\n this._view = null;\n };\n\n TileLayer.prototype._beforeReset = function _beforeReset () {\n var map = this.map;\n var origin = map.locationToLayer(map.extent().nw).round();\n this._view.viewOrigin(origin);\n };\n\n TileLayer.prototype._reset = function _reset () {\n Layer.prototype._reset.call(this);\n this._updateView();\n this._view.reset();\n };\n\n TileLayer.prototype._viewType = function _viewType () {\n return TileView;\n };\n\n TileLayer.prototype._activate = function _activate () {\n Layer.prototype._activate.call(this);\n\n if (!this.support.mobileOS) {\n if (!this._pan) {\n this._pan = throttle(this._render.bind(this), 100);\n }\n\n this.map.bind('pan', this._pan);\n }\n };\n\n TileLayer.prototype._deactivate = function _deactivate () {\n Layer.prototype._deactivate.call(this);\n\n if (this._pan) {\n this.map.unbind('pan', this._pan);\n }\n };\n\n TileLayer.prototype._updateView = function _updateView () {\n var view = this._view,\n map = this.map,\n extent = map.extent(),\n extentToPoint = {\n nw: map.locationToLayer(extent.nw).round(),\n se: map.locationToLayer(extent.se).round()\n };\n\n view.center(map.locationToLayer(map.center()));\n view.extent(extentToPoint);\n view.zoom(map.zoom());\n };\n\n TileLayer.prototype._resize = function _resize () {\n this._render();\n };\n\n TileLayer.prototype._panEnd = function _panEnd (e) {\n Layer.prototype._panEnd.call(this, e);\n this._render();\n };\n\n TileLayer.prototype._render = function _render () {\n this._updateView();\n this._view.render();\n };\n\n return TileLayer;\n}(Layer));\n\nsetDefaultOptions(TileLayer, {\n tileSize: 256,\n subdomains: ['a', 'b', 'c'],\n urlTemplate: '',\n zIndex: 1\n});\n\nexport var TileView = (function (Class) {\n function TileView(element, options) {\n Class.call(this);\n this.element = element;\n this._initOptions(options);\n this.pool = new TilePool();\n }\n\n if ( Class ) TileView.__proto__ = Class;\n TileView.prototype = Object.create( Class && Class.prototype );\n TileView.prototype.constructor = TileView;\n\n TileView.prototype._initOptions = function _initOptions (options) {\n this.options = deepExtend({}, this.options, options);\n };\n\n TileView.prototype.center = function center (center$1) {\n this._center = center$1;\n };\n\n TileView.prototype.extent = function extent (extent$1) {\n this._extent = extent$1;\n };\n\n TileView.prototype.viewOrigin = function viewOrigin (origin) {\n this._viewOrigin = origin;\n };\n\n TileView.prototype.zoom = function zoom (zoom$1) {\n this._zoom = zoom$1;\n };\n\n TileView.prototype.pointToTileIndex = function pointToTileIndex (point) {\n return new Point(math.floor(point.x / this.options.tileSize), math.floor(point.y / this.options.tileSize));\n };\n\n TileView.prototype.tileCount = function tileCount () {\n var size = this.size(),\n firstTileIndex = this.pointToTileIndex(this._extent.nw),\n nw = this._extent.nw,\n point = this.indexToPoint(firstTileIndex).translate(-nw.x, -nw.y);\n\n return {\n x: math.ceil((math.abs(point.x) + size.width) / this.options.tileSize),\n y: math.ceil((math.abs(point.y) + size.height) / this.options.tileSize)\n };\n };\n\n TileView.prototype.size = function size () {\n var nw = this._extent.nw,\n se = this._extent.se,\n diff = se.clone().translate(-nw.x, -nw.y);\n\n return {\n width: diff.x,\n height: diff.y\n };\n };\n\n TileView.prototype.indexToPoint = function indexToPoint (index) {\n var x = index.x,\n y = index.y;\n\n return new Point(x * this.options.tileSize, y * this.options.tileSize);\n };\n\n TileView.prototype.subdomainText = function subdomainText () {\n var subdomains = this.options.subdomains;\n return subdomains[this.subdomainIndex++ % subdomains.length];\n };\n\n TileView.prototype.destroy = function destroy () {\n removeChildren(this.element);\n this.pool.empty();\n };\n\n TileView.prototype.reset = function reset () {\n this.pool.reset();\n this.subdomainIndex = 0;\n this.render();\n };\n\n TileView.prototype.render = function render () {\n var this$1 = this;\n\n var size = this.tileCount(),\n firstTileIndex = this.pointToTileIndex(this._extent.nw),\n tile, x, y;\n\n for (x = 0; x < size.x; x++) {\n for (y = 0; y < size.y; y++) {\n tile = this$1.createTile({\n x: firstTileIndex.x + x,\n y: firstTileIndex.y + y\n });\n\n if (!tile.visible) {\n tile.show();\n }\n }\n }\n };\n\n TileView.prototype.createTile = function createTile (currentIndex) {\n var options = this.tileOptions(currentIndex);\n var tile = this.pool.get(this._center, options);\n\n if (!tile.element.parentNode) {\n this.element.append(tile.element);\n }\n\n return tile;\n };\n\n TileView.prototype.tileOptions = function tileOptions (currentIndex) {\n var index = this.wrapIndex(currentIndex),\n point = this.indexToPoint(currentIndex),\n origin = this._viewOrigin,\n offset = point.clone().translate(-origin.x, -origin.y);\n\n return {\n index: index,\n currentIndex: currentIndex,\n point: point,\n offset: roundPoint(offset),\n zoom: this._zoom,\n size: this.options.tileSize,\n subdomain: this.subdomainText(),\n urlTemplate: this.options.urlTemplate,\n errorUrlTemplate: this.options.errorUrlTemplate\n };\n };\n\n TileView.prototype.wrapIndex = function wrapIndex (index) {\n var boundary = math.pow(2, this._zoom);\n\n return {\n x: this.wrapValue(index.x, boundary),\n y: limitValue(index.y, 0, boundary - 1)\n };\n };\n\n TileView.prototype.wrapValue = function wrapValue (value, boundary) {\n var remainder = math.abs(value) % boundary;\n var wrappedValue = value;\n\n if (value >= 0) {\n wrappedValue = remainder;\n } else {\n wrappedValue = boundary - (remainder === 0 ? boundary : remainder);\n }\n\n return wrappedValue;\n };\n\n return TileView;\n}(Class));\n\nexport var ImageTile = (function (Class) {\n function ImageTile(id, options) {\n Class.call(this);\n this.id = id;\n this.visible = true;\n this._initOptions(options);\n this.createElement();\n this.show();\n }\n\n if ( Class ) ImageTile.__proto__ = Class;\n ImageTile.prototype = Object.create( Class && Class.prototype );\n ImageTile.prototype.constructor = ImageTile;\n\n ImageTile.prototype.destroy = function destroy () {\n var element = this.element;\n var parentNode = element ? element.parentNode : null;\n\n if (element) {\n if (parentNode) {\n parentNode.removeChild(element);\n }\n\n this.element = null;\n }\n };\n\n ImageTile.prototype._initOptions = function _initOptions (options) {\n this.options = deepExtend({}, this.options, options);\n };\n\n ImageTile.prototype.createElement = function createElement () {\n var el = document.createElement(\"img\");\n var size = this.options.size + \"px\";\n el.style.position = \"absolute\";\n el.style.display = \"block\";\n el.style.width = el.style.maxWidth = size;\n el.style.height = el.style.maxHeight = size;\n\n this.element = el;\n\n // todo\n // add on error handler\n\n // this.element =\n // $('\\'\\'')\n // .css({\n // width: this.options.size,\n // height: this.options.size\n // })\n // .on('error', proxy(function(e) {\n // if (this.errorUrl()) {\n // e.target.setAttribute('src', this.errorUrl());\n // } else {\n // e.target.removeAttribute('src');\n // }\n // }, this));\n };\n\n ImageTile.prototype.show = function show () {\n var element = this.element;\n element.style.top = renderSize(this.options.offset.y);\n element.style.left = renderSize(this.options.offset.x);\n\n var url = this.url();\n\n if (url) {\n element.setAttribute('src', url);\n }\n\n element.style.visibility = 'visible';\n this.visible = true;\n };\n\n ImageTile.prototype.hide = function hide () {\n this.element.style.visibility = 'hidden';\n this.visible = false;\n };\n\n ImageTile.prototype.url = function url () {\n var urlResult = compileTemplate(this.options.urlTemplate);\n return urlResult(this.urlOptions());\n };\n\n ImageTile.prototype.errorUrl = function errorUrl () {\n var urlResult = compileTemplate(this.options.errorUrlTemplate);\n return urlResult(this.urlOptions());\n };\n\n ImageTile.prototype.urlOptions = function urlOptions () {\n var options = this.options;\n\n return {\n zoom: options.zoom,\n subdomain: options.subdomain,\n z: options.zoom,\n x: options.index.x,\n y: options.index.y,\n s: options.subdomain,\n quadkey: options.quadkey,\n q: options.quadkey,\n culture: options.culture,\n c: options.culture\n };\n };\n\n return ImageTile;\n}(Class));\n\nsetDefaultOptions(ImageTile, {\n urlTemplate: '',\n errorUrlTemplate: ''\n});\n\nexport var TilePool = (function (Class) {\n function TilePool() {\n Class.call(this);\n this._items = [];\n }\n\n if ( Class ) TilePool.__proto__ = Class;\n TilePool.prototype = Object.create( Class && Class.prototype );\n TilePool.prototype.constructor = TilePool;\n\n TilePool.prototype.get = function get (center, options) {\n if (this._items.length >= this.options.maxSize) {\n this._remove(center);\n }\n\n return this._create(options);\n };\n\n TilePool.prototype.empty = function empty () {\n var items = this._items;\n\n for (var i = 0; i < items.length; i++) {\n items[i].destroy();\n }\n\n this._items = [];\n };\n\n TilePool.prototype.reset = function reset () {\n var items = this._items;\n\n for (var i = 0; i < items.length; i++) {\n items[i].hide();\n }\n };\n\n TilePool.prototype._create = function _create (options) {\n var items = this._items;\n var tile;\n var id = hashKey(options.point.toString() + options.offset.toString() + options.zoom + options.urlTemplate);\n\n for (var i = 0; i < items.length; i++) {\n if (items[i].id === id) {\n tile = items[i];\n break;\n }\n }\n\n if (tile) {\n tile.show();\n } else {\n tile = new ImageTile(id, options);\n this._items.push(tile);\n }\n\n return tile;\n };\n\n TilePool.prototype._remove = function _remove (center) {\n var items = this._items;\n var maxDist = -1;\n var index = -1;\n\n for (var i = 0; i < items.length; i++) {\n var dist = items[i].options.point.distanceTo(center);\n\n if (dist > maxDist && !items[i].visible) {\n index = i;\n maxDist = dist;\n }\n }\n\n if (index !== -1) {\n items[index].destroy();\n items.splice(index, 1);\n }\n };\n\n return TilePool;\n}(Class));\n\nsetDefaultOptions(TilePool, {\n maxSize: 100\n});\n","import {\n Class,\n elementOffset\n} from '../../common';\n\nimport {\n Observable\n} from './observable';\n\nimport {\n getEventMap,\n proxy,\n getSupportedFeatures\n} from '../utils';\n\nvar extend = Object.assign;\n\nvar CHANGE = 'change';\n\nexport var TapCapture = (function (Observable) {\n function TapCapture(element, options) {\n Observable.call(this);\n var that = this,\n domElement = element[0] || element;\n\n that.capture = false;\n\n var eventMap = getEventMap(navigator.userAgent);\n\n if (domElement.addEventListener) {\n eventMap.down.split(' ').forEach(function(event) {\n domElement.addEventListener(event, proxy(that._press, that), true);\n });\n eventMap.up.split(' ').forEach(function(event) {\n domElement.addEventListener(event, proxy(that._release, that), true);\n });\n } else {\n eventMap.down.split(' ').forEach(function(event) {\n domElement.attachEvent(event, proxy(that._press, that));\n });\n eventMap.up.split(' ').forEach(function(event) {\n domElement.attachEvent(event, proxy(that._release, that));\n });\n }\n\n that.bind([\n 'press',\n 'release'\n ], options || {});\n }\n\n if ( Observable ) TapCapture.__proto__ = Observable;\n TapCapture.prototype = Object.create( Observable && Observable.prototype );\n TapCapture.prototype.constructor = TapCapture;\n\n TapCapture.prototype.captureNext = function captureNext () {\n this.capture = true;\n };\n\n TapCapture.prototype.cancelCapture = function cancelCapture () {\n this.capture = false;\n };\n\n TapCapture.prototype._press = function _press (e) {\n var that = this;\n\n that.trigger('press');\n\n if (that.capture) {\n e.preventDefault();\n }\n };\n\n TapCapture.prototype._release = function _release (e) {\n var that = this;\n\n that.trigger('release');\n\n if (that.capture) {\n e.preventDefault();\n that.cancelCapture();\n }\n };\n\n return TapCapture;\n}(Observable));\n\nexport var PaneDimension = (function (Observable) {\n function PaneDimension(options) {\n Observable.call(this);\n var that = this;\n that.forcedEnabled = false;\n extend(that, options);\n that.scale = 1;\n\n if (that.horizontal) {\n that.measure = 'offsetWidth';\n that.scrollSize = 'scrollWidth';\n that.axis = 'x';\n } else {\n that.measure = 'offsetHeight';\n that.scrollSize = 'scrollHeight';\n that.axis = 'y';\n }\n }\n\n if ( Observable ) PaneDimension.__proto__ = Observable;\n PaneDimension.prototype = Object.create( Observable && Observable.prototype );\n PaneDimension.prototype.constructor = PaneDimension;\n\n PaneDimension.prototype.makeVirtual = function makeVirtual () {\n extend(this, {\n virtual: true,\n forcedEnabled: true,\n _virtualMin: 0,\n _virtualMax: 0\n });\n };\n\n PaneDimension.prototype.virtualSize = function virtualSize (min, max) {\n if (this._virtualMin !== min || this._virtualMax !== max) {\n this._virtualMin = min;\n this._virtualMax = max;\n this.update();\n }\n };\n\n PaneDimension.prototype.outOfBounds = function outOfBounds (offset) {\n return offset > this.max || offset < this.min;\n };\n\n PaneDimension.prototype.forceEnabled = function forceEnabled () {\n this.forcedEnabled = true;\n };\n\n PaneDimension.prototype.getSize = function getSize () {\n return this.container[this.measure];\n };\n\n PaneDimension.prototype.getTotal = function getTotal () {\n return this.element[this.scrollSize];\n };\n\n PaneDimension.prototype.rescale = function rescale (scale) {\n this.scale = scale;\n };\n\n PaneDimension.prototype.update = function update (silent) {\n var that = this,\n total = that.virtual ? that._virtualMax : that.getTotal(),\n scaledTotal = total * that.scale,\n size = that.getSize();\n\n if (total === 0 && !that.forcedEnabled) {\n return;\n }\n\n that.max = that.virtual ? -that._virtualMin : 0;\n that.size = size;\n that.total = scaledTotal;\n that.min = Math.min(that.max, size - scaledTotal);\n that.minScale = size / total;\n that.centerOffset = (scaledTotal - size) / 2;\n that.enabled = that.forcedEnabled || scaledTotal > size;\n\n if (!silent) {\n that.trigger(CHANGE, that);\n }\n };\n\n return PaneDimension;\n}(Observable));\n\nexport var PaneDimensions = (function (Observable) {\n function PaneDimensions(options) {\n Observable.call(this);\n var that = this;\n\n that.x = new PaneDimension(extend({\n horizontal: true\n }, options));\n\n that.y = new PaneDimension(extend({\n horizontal: false\n }, options));\n\n that.container = options.container;\n that.forcedMinScale = options.minScale;\n that.maxScale = options.maxScale || 100;\n that.bind(CHANGE, options);\n }\n\n if ( Observable ) PaneDimensions.__proto__ = Observable;\n PaneDimensions.prototype = Object.create( Observable && Observable.prototype );\n PaneDimensions.prototype.constructor = PaneDimensions;\n\n PaneDimensions.prototype.rescale = function rescale (newScale) {\n this.x.rescale(newScale);\n this.y.rescale(newScale);\n this.refresh();\n };\n\n PaneDimensions.prototype.centerCoordinates = function centerCoordinates () {\n return {\n x: Math.min(0, -this.x.centerOffset),\n y: Math.min(0, -this.y.centerOffset)\n };\n };\n\n PaneDimensions.prototype.refresh = function refresh () {\n var that = this;\n that.x.update();\n that.y.update();\n that.enabled = that.x.enabled || that.y.enabled;\n that.minScale = that.forcedMinScale || Math.min(that.x.minScale, that.y.minScale);\n that.fitScale = Math.max(that.x.minScale, that.y.minScale);\n that.trigger(CHANGE);\n };\n\n return PaneDimensions;\n}(Observable));\n\nexport var PaneAxis = (function (Observable) {\n function PaneAxis(options) {\n Observable.call(this);\n extend(this, options);\n }\n\n if ( Observable ) PaneAxis.__proto__ = Observable;\n PaneAxis.prototype = Object.create( Observable && Observable.prototype );\n PaneAxis.prototype.constructor = PaneAxis;\n\n PaneAxis.prototype.outOfBounds = function outOfBounds () {\n return this.dimension.outOfBounds(this.movable[this.axis]);\n };\n\n PaneAxis.prototype.dragMove = function dragMove (delta) {\n var that = this,\n dimension = that.dimension,\n axis = that.axis,\n movable = that.movable,\n position = movable[axis] + delta;\n\n if (!dimension.enabled) {\n return;\n }\n\n var dragDelta = delta;\n\n if (position < dimension.min && delta < 0 || position > dimension.max && delta > 0) {\n dragDelta *= that.resistance;\n }\n\n movable.translateAxis(axis, dragDelta);\n that.trigger(CHANGE, that);\n };\n\n return PaneAxis;\n}(Observable));\n\nexport var Pane = (function (Class) {\n function Pane(options) {\n Class.call(this);\n\n var that = this,\n x, y,\n resistance,\n movable;\n\n extend(that, {\n elastic: true\n }, options);\n\n resistance = that.elastic ? 0.5 : 0;\n movable = that.movable;\n\n that.x = x = new PaneAxis({\n axis: 'x',\n dimension: that.dimensions.x,\n resistance: resistance,\n movable: movable\n });\n\n that.y = y = new PaneAxis({\n axis: 'y',\n dimension: that.dimensions.y,\n resistance: resistance,\n movable: movable\n });\n\n that.userEvents.bind([\n 'press',\n 'move',\n 'end',\n 'gesturestart',\n 'gesturechange'\n ], {\n gesturestart: function gesturestart(e) {\n that.gesture = e;\n\n that.offset = elementOffset(that.dimensions.container);\n },\n press: function press(e) {\n var closestAnchor = e.event.target.closest('a');\n\n if (closestAnchor && closestAnchor.matches('[data-navigate-on-press=true]')) {\n e.sender.cancel();\n }\n },\n gesturechange: function gesturechange(e) {\n var previousGesture = that.gesture,\n previousCenter = previousGesture.center,\n center = e.center,\n scaleDelta = e.distance / previousGesture.distance,\n minScale = that.dimensions.minScale,\n maxScale = that.dimensions.maxScale,\n coordinates;\n if (movable.scale <= minScale && scaleDelta < 1) {\n scaleDelta += (1 - scaleDelta) * 0.8;\n }\n\n if (movable.scale * scaleDelta >= maxScale) {\n scaleDelta = maxScale / movable.scale;\n }\n\n var offsetX = movable.x + that.offset.left,\n offsetY = movable.y + that.offset.top;\n coordinates = {\n x: (offsetX - previousCenter.x) * scaleDelta + center.x - offsetX,\n y: (offsetY - previousCenter.y) * scaleDelta + center.y - offsetY\n };\n\n movable.scaleWith(scaleDelta);\n\n x.dragMove(coordinates.x);\n y.dragMove(coordinates.y);\n\n that.dimensions.rescale(movable.scale);\n that.gesture = e;\n\n e.preventDefault();\n },\n move: function move(e) {\n if (e.event.target.tagName.match(/textarea|input/i)) {\n return;\n }\n\n if (x.dimension.enabled || y.dimension.enabled) {\n x.dragMove(e.x.delta);\n y.dragMove(e.y.delta);\n e.preventDefault();\n } else {\n e.touch.skip();\n }\n },\n end: function end(e) {\n e.preventDefault();\n }\n });\n }\n\n if ( Class ) Pane.__proto__ = Class;\n Pane.prototype = Object.create( Class && Class.prototype );\n Pane.prototype.constructor = Pane;\n\n return Pane;\n}(Class));\n\nvar translate = function(x, y, scale) {\n return 'translate3d(' + x + 'px,' + y + 'px,0) scale(' + scale + ')';\n};\n\nexport var Movable = (function (Observable) {\n function Movable(element) {\n Observable.call(this);\n\n var that = this;\n\n that.support = getSupportedFeatures();\n this.transformStyle = this.support.transitions.prefix + 'Transform';\n that.element = element;\n that.element.style.webkitTransformOrigin = 'left top';\n that.x = 0;\n that.y = 0;\n that.scale = 1;\n\n var coordinates = translate(that.x, that.y, that.scale);\n that.element.style[this.transformStyle] = coordinates;\n\n that._saveCoordinates(coordinates);\n }\n\n if ( Observable ) Movable.__proto__ = Observable;\n Movable.prototype = Object.create( Observable && Observable.prototype );\n Movable.prototype.constructor = Movable;\n\n Movable.prototype.translateAxis = function translateAxis (axis, by) {\n this[axis] += by;\n this.refresh();\n };\n\n Movable.prototype.scaleTo = function scaleTo (scale) {\n this.scale = scale;\n this.refresh();\n };\n\n Movable.prototype.scaleWith = function scaleWith (scaleDelta) {\n this.scale *= scaleDelta;\n this.refresh();\n };\n\n Movable.prototype.translate = function translate (coordinates) {\n this.x += coordinates.x;\n this.y += coordinates.y;\n this.refresh();\n };\n\n Movable.prototype.moveAxis = function moveAxis (axis, value) {\n this[axis] = value;\n this.refresh();\n };\n\n Movable.prototype.moveTo = function moveTo (coordinates) {\n extend(this, coordinates);\n this.refresh();\n };\n\n Movable.prototype.refresh = function refresh () {\n var that = this,\n x = that.x,\n y = that.y,\n newCoordinates;\n\n if (that.round) {\n x = Math.round(x);\n y = Math.round(y);\n }\n\n newCoordinates = translate(x, y, that.scale);\n\n if (newCoordinates !== that.coordinates) {\n that.element.style[this.transformStyle] = newCoordinates;\n\n that._saveCoordinates(newCoordinates);\n that.trigger(CHANGE);\n }\n };\n\n Movable.prototype._saveCoordinates = function _saveCoordinates (coordinates) {\n this.coordinates = coordinates;\n };\n\n return Movable;\n}(Observable));\n","import {\n geometry as g,\n drawing as d\n} from '@progress/kendo-drawing';\n\nimport {\n Class,\n defined,\n last,\n setDefaultOptions\n} from '../../common';\n\nimport {\n proxy\n} from '../utils';\n\nimport {\n Layer\n} from './layer';\n\nimport {\n Movable\n} from '../scroller/draggable';\n\nimport {\n Location\n} from '../location';\n\nvar Group = d.Group;\n\nexport var ShapeLayer = (function (Layer) {\n function ShapeLayer(map, options) {\n Layer.call(this, map, options);\n\n this._pan = proxy(this._pan, this);\n\n this.surface = d.Surface.create(this.element, {\n width: map.scrollElement.clientWidth,\n height: map.scrollElement.clientHeight\n });\n\n this._initRoot();\n this.movable = new Movable(this.surface.element);\n this._markers = [];\n\n this._click = this._handler('shapeClick');\n this.surface.bind('click', this._click);\n this._mouseleave = this._handler('shapeMouseLeave');\n this.surface.bind('mouseleave', this._mouseleave);\n this.surface.bind('mouseenter', this._mouseenter.bind(this));\n }\n\n if ( Layer ) ShapeLayer.__proto__ = Layer;\n ShapeLayer.prototype = Object.create( Layer && Layer.prototype );\n ShapeLayer.prototype.constructor = ShapeLayer;\n\n ShapeLayer.prototype.destroy = function destroy () {\n Layer.prototype.destroy.call(this);\n\n this.surface.destroy();\n };\n\n ShapeLayer.prototype._reset = function _reset () {\n Layer.prototype._reset.call(this);\n\n this._translateSurface();\n\n this._data = this._readData();\n\n if (this._hasData()) {\n this._load(this._data);\n }\n };\n\n ShapeLayer.prototype._initRoot = function _initRoot () {\n this._root = new Group();\n this.surface.draw(this._root);\n };\n\n ShapeLayer.prototype._beforeReset = function _beforeReset () {\n this.surface.clear();\n this._initRoot();\n };\n\n ShapeLayer.prototype._resize = function _resize () {\n this.surface.size(this.map.size());\n };\n\n ShapeLayer.prototype._readData = function _readData () {\n var data = Layer.prototype._readData.call(this);\n\n if (data.type === \"FeatureCollection\") {\n return data.features;\n }\n\n if (data.type === \"GeometryCollection\") {\n return data.geometries;\n }\n\n return data;\n };\n\n ShapeLayer.prototype._load = function _load (data) {\n var this$1 = this;\n\n this._data = data;\n this._clearMarkers();\n\n if (!this._loader) {\n this._loader = new GeoJsonLoader(this.map, this.options.style, this);\n }\n\n var container = new Group();\n\n for (var i = 0; i < data.length; i++) {\n var shape = this$1._loader.parse(data[i]);\n\n if (shape) {\n container.append(shape);\n }\n }\n\n this._root.clear();\n this._root.append(container);\n };\n\n ShapeLayer.prototype.shapeCreated = function shapeCreated (shape) {\n var cancelled = false;\n\n // the GeoJSON loader builds \"Point\" type as a circle\n // use the circle shape type as and indicator for rendering a marker\n // keep the behavior under a setting as this is supported by kendo jQuery Map\n // but we opted out of this in blazor\n if (shape instanceof d.Circle && this.map.options.renderPointsAsMarkers) {\n cancelled = defined(this._createMarker(shape));\n }\n\n if (!cancelled) {\n var args = {\n layer: this,\n shape: shape\n };\n\n cancelled = this.map.trigger('shapeCreated', args);\n }\n\n return cancelled;\n };\n\n ShapeLayer.prototype.featureCreated = function featureCreated (e) {\n e.layer = this;\n this.map.trigger('shapeFeatureCreated', e);\n };\n\n ShapeLayer.prototype._createMarker = function _createMarker (shape) {\n var marker = this.map.markers.bind({\n location: shape.location\n }, shape.dataItem);\n\n if (marker) {\n this._markers.push(marker);\n }\n\n return marker;\n };\n\n ShapeLayer.prototype._clearMarkers = function _clearMarkers () {\n var this$1 = this;\n\n for (var i = 0; i < this._markers.length; i++) {\n this$1.map.markers.remove(this$1._markers[i]);\n }\n\n this._markers = [];\n };\n\n ShapeLayer.prototype._pan = function _pan () {\n if (!this._panning) {\n this._panning = true;\n this.surface.suspendTracking();\n }\n };\n\n ShapeLayer.prototype._panEnd = function _panEnd (e) {\n Layer.prototype._panEnd.call(this, e);\n this._translateSurface();\n this.surface.resumeTracking();\n this._panning = false;\n };\n\n ShapeLayer.prototype._translateSurface = function _translateSurface () {\n var map = this.map;\n var nw = map.locationToView(map.extent().nw);\n\n if (this.surface.translate) {\n this.surface.translate(nw);\n this.movable.moveTo({\n x: nw.x,\n y: nw.y\n });\n }\n };\n\n ShapeLayer.prototype._eventArgs = function _eventArgs (e) {\n return {\n layer: this,\n layerIndex: this._layerIndex(),\n shape: e.element,\n shapeIndex: (this._data || []).indexOf(e.element.dataItem),\n originalEvent: e.originalEvent\n };\n };\n\n ShapeLayer.prototype._handler = function _handler (eventName) {\n var this$1 = this;\n\n return function (e) {\n if (e.element) {\n this$1.map.trigger(eventName, this$1._eventArgs(e));\n }\n };\n };\n\n ShapeLayer.prototype._mouseenter = function _mouseenter (e) {\n if (!e.element) {\n return;\n }\n\n this.map.trigger('shapeMouseEnter', this._eventArgs(e));\n\n var shape = e.element;\n var anchor = this._tooltipAnchor(e);\n this.map._tooltip.show(anchor, this._tooltipContext(shape));\n };\n\n ShapeLayer.prototype._tooltipContext = function _tooltipContext (shape) {\n return {\n type: 'shape',\n layerIndex: this._layerIndex(),\n className: 'k-map-shape-tooltip',\n dataItem: shape.dataItem,\n location: shape.location\n };\n };\n\n ShapeLayer.prototype._tooltipAnchor = function _tooltipAnchor (e) {\n var cursor = this.map.eventOffset(e.originalEvent);\n return {\n top: cursor.y,\n left: cursor.x\n };\n };\n\n ShapeLayer.prototype._activate = function _activate () {\n Layer.prototype._activate.call(this);\n this._panHandler = proxy(this._pan, this);\n this.map.bind('pan', this.panHandler);\n };\n\n ShapeLayer.prototype._deactivate = function _deactivate () {\n Layer.prototype._deactivate.call(this);\n this.map.unbind('pan', this._panHandler);\n };\n\n return ShapeLayer;\n}(Layer));\n\nsetDefaultOptions(ShapeLayer, {\n autoBind: true,\n zIndex: 100\n});\n\nvar GeoJsonLoader = (function (Class) {\n function GeoJsonLoader(locator, defaultStyle, observer) {\n Class.call(this);\n this.observer = observer;\n this.locator = locator;\n this.style = defaultStyle;\n }\n\n if ( Class ) GeoJsonLoader.__proto__ = Class;\n GeoJsonLoader.prototype = Object.create( Class && Class.prototype );\n GeoJsonLoader.prototype.constructor = GeoJsonLoader;\n\n GeoJsonLoader.prototype.parse = function parse (item) {\n var root = new Group();\n var unwrap = true;\n\n if (item.type === 'Feature') {\n unwrap = false;\n this._loadGeometryTo(root, item.geometry, item);\n this._featureCreated(root, item);\n } else {\n this._loadGeometryTo(root, item, item);\n }\n\n if (unwrap && root.children.length < 2) {\n root = root.children[0];\n }\n\n return root;\n };\n\n GeoJsonLoader.prototype._shapeCreated = function _shapeCreated (shape) {\n var cancelled = false;\n\n if (this.observer && this.observer.shapeCreated) {\n cancelled = this.observer.shapeCreated(shape);\n }\n\n return cancelled;\n };\n\n GeoJsonLoader.prototype._featureCreated = function _featureCreated (group, dataItem) {\n if (this.observer && this.observer.featureCreated) {\n this.observer.featureCreated({\n group: group,\n dataItem: dataItem,\n properties: dataItem.properties\n });\n }\n };\n\n /* eslint-disable indent */\n GeoJsonLoader.prototype._loadGeometryTo = function _loadGeometryTo (container, geometry, dataItem) {\n var this$1 = this;\n\n var coords = geometry.coordinates;\n var i;\n var path;\n\n switch (geometry.type) {\n case 'LineString':\n path = this._loadPolygon(container, [coords], dataItem);\n this._setLineFill(path);\n break;\n case 'MultiLineString':\n for (i = 0; i < coords.length; i++) {\n path = this$1._loadPolygon(container, [coords[i]], dataItem);\n this$1._setLineFill(path);\n }\n break;\n case 'Polygon':\n this._loadPolygon(container, coords, dataItem);\n break;\n case 'MultiPolygon':\n for (i = 0; i < coords.length; i++) {\n this$1._loadPolygon(container, coords[i], dataItem);\n }\n break;\n case 'Point':\n this._loadPoint(container, coords, dataItem);\n break;\n case 'MultiPoint':\n for (i = 0; i < coords.length; i++) {\n this$1._loadPoint(container, coords[i], dataItem);\n }\n break;\n default:\n break;\n }\n };\n /* eslint-disable indent */\n\n GeoJsonLoader.prototype._setLineFill = function _setLineFill (path) {\n var segments = path.segments;\n\n if (segments.length < 4 || !segments[0].anchor().equals(last(segments).anchor())) {\n path.options.fill = null;\n }\n };\n\n GeoJsonLoader.prototype._loadShape = function _loadShape (container, shape) {\n if (!this._shapeCreated(shape)) {\n container.append(shape);\n }\n\n return shape;\n };\n\n GeoJsonLoader.prototype._loadPolygon = function _loadPolygon (container, rings, dataItem) {\n var shape = this._buildPolygon(rings);\n shape.dataItem = dataItem;\n shape.location = this.locator.viewToLocation(shape.bbox().center());\n return this._loadShape(container, shape);\n };\n\n GeoJsonLoader.prototype._buildPolygon = function _buildPolygon (rings) {\n var this$1 = this;\n\n var type = rings.length > 1 ? d.MultiPath : d.Path;\n var path = new type(this.style);\n\n for (var i = 0; i < rings.length; i++) {\n for (var j = 0; j < rings[i].length; j++) {\n var point = this$1.locator.locationToView(Location.fromLngLat(rings[i][j]));\n if (j === 0) {\n path.moveTo(point.x, point.y);\n } else {\n path.lineTo(point.x, point.y);\n }\n }\n }\n\n return path;\n };\n\n GeoJsonLoader.prototype._loadPoint = function _loadPoint (container, coords, dataItem) {\n var location = Location.fromLngLat(coords);\n var point = this.locator.locationToView(location);\n var circle = new g.Circle(point, 10);\n var shape = new d.Circle(circle, this.style);\n\n shape.dataItem = dataItem;\n shape.location = location;\n\n return this._loadShape(container, shape);\n };\n\n return GeoJsonLoader;\n}(Class));\n","import {\n geometry as g,\n drawing as d\n} from '@progress/kendo-drawing';\n\nimport {\n Class,\n defined,\n isFunction,\n getter,\n setDefaultOptions\n} from '../../common';\n\nimport {\n ShapeLayer\n} from './shape';\n\nimport {\n Location\n} from '../location';\n\nexport var BubbleLayer = (function (ShapeLayer) {\n function BubbleLayer () {\n ShapeLayer.apply(this, arguments);\n }\n\n if ( ShapeLayer ) BubbleLayer.__proto__ = ShapeLayer;\n BubbleLayer.prototype = Object.create( ShapeLayer && ShapeLayer.prototype );\n BubbleLayer.prototype.constructor = BubbleLayer;\n\n BubbleLayer.prototype._readData = function _readData () {\n var data = this.options.data || [];\n return data;\n };\n\n BubbleLayer.prototype._load = function _load (data) {\n var this$1 = this;\n\n this._data = data;\n this.surface.clear();\n\n if (data.length === 0) {\n return;\n }\n\n var options = this.options;\n var getValue = getter(options.valueField);\n\n var newData = data.slice(0);\n newData.sort(function(a, b) {\n return getValue(b) - getValue(a);\n });\n\n var scaleType = this._scaleType();\n var scale;\n var getLocation = getter(this.options.locationField);\n\n for (var i = 0; i < newData.length; i++) {\n var dataItem = newData[i];\n var location = getLocation(dataItem);\n var value = getValue(dataItem);\n\n if (defined(location) && defined(value)) {\n if (!scale) {\n scale = new scaleType([\n 0,\n value\n ], [\n options.minSize,\n options.maxSize\n ]);\n }\n\n location = Location.create(location);\n\n var center = this$1.map.locationToView(location);\n var size = scale.map(value);\n var symbol = this$1._createSymbol({\n center: center,\n size: size,\n style: options.style,\n dataItem: dataItem,\n location: location\n });\n\n symbol.dataItem = dataItem;\n symbol.location = location;\n symbol.value = value;\n\n this$1._drawSymbol(symbol);\n }\n }\n };\n\n BubbleLayer.prototype._scaleType = function _scaleType () {\n var scale = this.options.scale;\n\n if (isFunction(scale)) {\n return scale;\n }\n\n return Scales[scale];\n };\n\n BubbleLayer.prototype._createSymbol = function _createSymbol (args) {\n var symbol = this.options.symbol;\n\n if (!isFunction(symbol)) {\n symbol = Symbols[symbol];\n }\n\n return symbol(args);\n };\n\n BubbleLayer.prototype._drawSymbol = function _drawSymbol (shape) {\n var args = {\n layer: this,\n shape: shape\n };\n\n var cancelled = this.map.trigger('shapeCreated', args);\n\n if (!cancelled) {\n this.surface.draw(shape);\n }\n };\n\n BubbleLayer.prototype._tooltipContext = function _tooltipContext (shape) {\n return {\n type: 'bubble',\n layerIndex: this._layerIndex(),\n className: 'k-map-bubble-tooltip',\n dataItem: shape.dataItem,\n location: shape.location,\n value: shape.value\n };\n };\n\n BubbleLayer.prototype._tooltipAnchor = function _tooltipAnchor (e) {\n var shape = e.element;\n var center = shape.bbox().center();\n\n return {\n top: center.y,\n left: center.x\n };\n };\n\n return BubbleLayer;\n}(ShapeLayer));\n\nsetDefaultOptions(BubbleLayer, {\n // autoBind: true,\n locationField: 'location',\n valueField: 'value',\n minSize: 0,\n maxSize: 100,\n scale: 'sqrt',\n symbol: 'circle',\n // ensure bubble layers are displayed over tile and shape layers\n zIndex: 200\n});\n\nvar SqrtScale = (function (Class) {\n function SqrtScale(domain, range) {\n Class.call(this);\n\n this._domain = domain;\n this._range = range;\n\n var domainRange = Math.sqrt(domain[1]) - Math.sqrt(domain[0]);\n var outputRange = range[1] - range[0];\n\n this._ratio = outputRange / domainRange;\n }\n\n if ( Class ) SqrtScale.__proto__ = Class;\n SqrtScale.prototype = Object.create( Class && Class.prototype );\n SqrtScale.prototype.constructor = SqrtScale;\n\n SqrtScale.prototype.map = function map (value) {\n var rel = (Math.sqrt(value) - Math.sqrt(this._domain[0])) * this._ratio;\n return this._range[0] + rel;\n };\n\n return SqrtScale;\n}(Class));\n\nvar Scales = {\n sqrt: SqrtScale\n};\n\nvar Symbols = {\n circle: function(args) {\n var geo = new g.Circle(args.center, args.size / 2);\n return new d.Circle(geo, args.style);\n },\n\n square: function(args) {\n var path = new d.Path(args.style);\n var halfSize = args.size / 2;\n var center = args.center;\n path.moveTo(center.x - halfSize, center.y - halfSize).lineTo(center.x + halfSize, center.y - halfSize).lineTo(center.x + halfSize, center.y + halfSize).lineTo(center.x - halfSize, center.y + halfSize).close();\n return path;\n }\n};\n","import {\n Class,\n addClass,\n isArray,\n getter,\n deepExtend,\n setDefaultOptions\n} from '../../common';\n\nimport { Layer } from './layer';\nimport { Location } from '../location';\nimport {\n proxy,\n on,\n off,\n toHyphens,\n toPixels,\n convertToHtml\n} from '../utils';\nimport TemplateService from '../../services/template-service';\n\nvar CLICK = \"click\";\nvar MOUSE_ENTER = \"mouseenter\";\nvar MOUSE_LEAVE = \"mouseleave\";\n\nvar extend = Object.assign;\nvar MARKER_CLASS_NAME = \"k-marker\";\nvar MARKER_CLASS = \".\" + MARKER_CLASS_NAME;\n\nexport var MarkerLayer = (function (Layer) {\n function MarkerLayer(map, options) {\n Layer.call(this, map, options);\n\n this._markerClickHandler = proxy(this._markerClick, this);\n on(this.element, CLICK, MARKER_CLASS, this._markerClickHandler);\n\n this.items = [];\n\n this._load(this._readData());\n }\n\n if ( Layer ) MarkerLayer.__proto__ = Layer;\n MarkerLayer.prototype = Object.create( Layer && Layer.prototype );\n MarkerLayer.prototype.constructor = MarkerLayer;\n\n MarkerLayer.prototype.destroy = function destroy () {\n Layer.prototype.destroy.call(this);\n off(this.element, CLICK, this._markerClickHandler);\n this.clear();\n };\n\n MarkerLayer.prototype.add = function add (args) {\n var this$1 = this;\n\n if (isArray(args)) {\n for (var i = 0; i < args.length; i++) {\n this$1._addOne(args[i]);\n }\n } else {\n return this._addOne(args);\n }\n };\n\n MarkerLayer.prototype.remove = function remove (marker) {\n marker.destroy();\n var index = (this.items || []).indexOf(marker);\n\n if (index > -1) {\n this.items.splice(index, 1);\n }\n };\n\n MarkerLayer.prototype.clear = function clear () {\n var this$1 = this;\n\n for (var i = 0; i < this.items.length; i++) {\n this$1.items[i].destroy();\n }\n\n this.items = [];\n };\n\n MarkerLayer.prototype.update = function update (marker) {\n var location = marker.location();\n\n if (location) {\n marker.showAt(this.map.locationToView(location));\n\n var args = {\n marker: marker,\n layer: this\n };\n\n this.map.trigger('markerActivate', args);\n }\n };\n\n MarkerLayer.prototype._reset = function _reset () {\n var this$1 = this;\n\n Layer.prototype._reset.call(this);\n\n var items = this.items;\n\n for (var i = 0; i < items.length; i++) {\n this$1.update(items[i]);\n }\n };\n\n MarkerLayer.prototype.bind = function bind (options, dataItem) {\n var marker = Marker.create(options, this.options);\n marker.dataItem = dataItem;\n\n var args = {\n marker: marker,\n layer: this\n };\n\n var cancelled = this.map.trigger('markerCreated', args);\n\n if (!cancelled) {\n this.add(marker);\n return marker;\n }\n };\n\n MarkerLayer.prototype._addOne = function _addOne (arg) {\n var marker = Marker.create(arg, this.options);\n marker.addTo(this);\n return marker;\n };\n\n MarkerLayer.prototype._readData = function _readData () {\n var data = this.options.data || [];\n return data;\n };\n\n MarkerLayer.prototype._load = function _load (data) {\n var this$1 = this;\n\n this._data = data;\n this.clear();\n\n var getLocation = getter(this.options.locationField);\n var getTitle = getter(this.options.titleField);\n\n for (var i = 0; i < data.length; i++) {\n var dataItem = data[i];\n\n this$1.bind({\n location: getLocation(dataItem),\n title: getTitle(dataItem)\n }, dataItem);\n }\n };\n\n MarkerLayer.prototype._markerClick = function _markerClick (e) {\n var marker = e.currentTarget._kendoNode;\n\n var args = {\n layer: this,\n layerIndex: this._layerIndex(),\n marker: marker,\n markerIndex: (this.items || []).indexOf(marker),\n originalEvent: e\n };\n\n this.map.trigger('markerClick', args);\n };\n\n MarkerLayer.prototype._markerMouseEnter = function _markerMouseEnter (e) {\n var args = this._createMarkerEventArgs(e);\n this.map.trigger(\"markerMouseEnter\", args);\n };\n\n MarkerLayer.prototype._markerMouseLeave = function _markerMouseLeave (e) {\n var args = this._createMarkerEventArgs(e);\n this.map.trigger(\"markerMouseLeave\", args);\n };\n\n MarkerLayer.prototype._createMarkerEventArgs = function _createMarkerEventArgs (e) {\n var marker = e.marker;\n\n var args = extend({}, {\n layer: this,\n layerIndex: this._layerIndex(),\n marker: marker,\n markerIndex: (this.items || []).indexOf(marker)\n }, e);\n\n return args;\n };\n\n return MarkerLayer;\n}(Layer));\n\nsetDefaultOptions(MarkerLayer, {\n zIndex: 1000,\n autoBind: true,\n locationField: 'location',\n titleField: 'title',\n template: \"\"\n});\n\nexport var Marker = (function (Class) {\n function Marker(options) {\n Class.call(this);\n this.options = options || {};\n }\n\n if ( Class ) Marker.__proto__ = Class;\n Marker.prototype = Object.create( Class && Class.prototype );\n Marker.prototype.constructor = Marker;\n\n Marker.prototype.destroy = function destroy () {\n this.layer = null;\n this.unbindEvents();\n this.hide();\n };\n\n Marker.prototype.addTo = function addTo (parent) {\n this.layer = parent.markers || parent;\n this.layer.items.push(this);\n this.layer.update(this);\n };\n\n Marker.prototype.location = function location (value) {\n if (value) {\n this.options.location = Location.create(value).toArray();\n\n if (this.layer) {\n this.layer.update(this);\n }\n\n return this;\n }\n\n return Location.create(this.options.location);\n };\n\n Marker.prototype.showAt = function showAt (point) {\n this.render();\n\n this._anchor = { left: Math.round(point.x), top: Math.round(point.y) };\n this.element.style.left = toPixels(this._anchor.left);\n this.element.style.top = toPixels(this._anchor.top);\n };\n\n Marker.prototype.hide = function hide () {\n if (this.element) {\n this.element.remove();\n this.element = null;\n }\n };\n\n Marker.prototype.bindEvents = function bindEvents () {\n if (!this.element) {\n return;\n }\n\n this._mouseEnterHandler = proxy(this._mouseEnter, this);\n on(this.element, MOUSE_ENTER, MARKER_CLASS, this._mouseEnterHandler);\n this._mouseLeaveHandler = proxy(this._mouseLeave, this);\n on(this.element, MOUSE_LEAVE, MARKER_CLASS, this._mouseLeaveHandler);\n };\n\n Marker.prototype.unbindEvents = function unbindEvents () {\n if (!this.element) {\n return;\n }\n\n off(this.element, MOUSE_ENTER, this._mouseEnterHandler);\n off(this.element, MOUSE_LEAVE, this._mouseLeaveHandler);\n };\n\n Marker.prototype.render = function render () {\n if (!this.element) {\n var options = this.options;\n var layer = this.layer;\n var element = document.createElement('span');\n addClass(element, MARKER_CLASS_NAME);\n\n if (this.options.template) {\n var templateFn = this._compileTemplate(this.options.template);\n var templateHtml = templateFn(this.dataItem);\n var templateElement = convertToHtml(templateHtml);\n element.appendChild(templateElement);\n } else {\n addClass(element, 'k-icon k-icon-xxl k-i-marker-' + toHyphens(options.shape || 'pin'));\n }\n\n if (options.title) {\n element.setAttribute(\"title\", options.title);\n }\n\n var attributes = options.attributes || {};\n Object.keys(attributes).forEach(function(key) {\n element.setAttribute(key, attributes[key]);\n });\n\n element._kendoNode = this;\n element.style.zIndex = options.zIndex;\n\n this.element = element;\n\n if (layer) {\n layer.element.appendChild(this.element);\n }\n\n this.bindEvents();\n }\n };\n\n Marker.prototype._mouseEnter = function _mouseEnter (e) {\n var args = this._createEventArgs(e);\n this.layer._markerMouseEnter(args);\n\n this.layer.map._tooltip.show({\n top: this._anchor.top - this.element.offsetHeight,\n left: this._anchor.left\n }, this._tooltipContext());\n };\n\n Marker.prototype._tooltipContext = function _tooltipContext () {\n return {\n type: 'marker',\n layerIndex: this.layer._layerIndex(),\n className: 'k-map-marker-tooltip',\n dataItem: this.dataItem,\n title: this.options.title,\n location: this.location()\n };\n };\n\n Marker.prototype._mouseLeave = function _mouseLeave (e) {\n var args = this._createEventArgs(e);\n this.layer._markerMouseLeave(args);\n };\n\n Marker.prototype._createEventArgs = function _createEventArgs (e) {\n var args = {\n marker: this,\n originalEvent: e\n };\n\n return args;\n };\n\n Marker.prototype._compileTemplate = function _compileTemplate (template) {\n return TemplateService.compile(template, {\n paramName: \"dataItem\",\n useWithBlock: false\n });\n };\n\n Marker.create = function create (arg, defaults) {\n if (arg instanceof Marker) {\n return arg;\n }\n\n return new Marker(deepExtend({}, defaults, arg));\n };\n\n return Marker;\n}(Class));\n","import {\n Class\n} from '../../common';\n\nimport {\n proxy,\n now\n} from '../utils';\n\nvar extend = Object.assign;\n\nfunction animationFrame(callback) {\n window.requestAnimationFrame(callback);\n}\n\nexport var Animation = (function (Class) {\n function Animation() {\n Class.call(this);\n var that = this;\n\n that._tickProxy = proxy(that._tick, that);\n that._started = false;\n }\n\n if ( Class ) Animation.__proto__ = Class;\n Animation.prototype = Object.create( Class && Class.prototype );\n Animation.prototype.constructor = Animation;\n\n Animation.prototype.tick = function tick () { };\n Animation.prototype.done = function done () { };\n Animation.prototype.onEnd = function onEnd () { };\n Animation.prototype.onCancel = function onCancel () { };\n\n Animation.prototype.start = function start () {\n if (!this.enabled()) {\n return;\n }\n\n if (!this.done()) {\n this._started = true;\n animationFrame(this._tickProxy);\n } else {\n this.onEnd();\n }\n };\n\n Animation.prototype.enabled = function enabled () {\n return true;\n };\n\n Animation.prototype.cancel = function cancel () {\n this._started = false;\n this.onCancel();\n };\n\n Animation.prototype._tick = function _tick () {\n var that = this;\n\n if (!that._started) {\n return;\n }\n\n that.tick();\n\n if (!that.done()) {\n animationFrame(that._tickProxy);\n } else {\n that._started = false;\n that.onEnd();\n }\n };\n\n return Animation;\n}(Class));\n\nexport var Transition = (function (Animation) {\n function Transition(options) {\n Animation.call(this);\n extend(this, options);\n }\n\n if ( Animation ) Transition.__proto__ = Animation;\n Transition.prototype = Object.create( Animation && Animation.prototype );\n Transition.prototype.constructor = Transition;\n\n Transition.prototype.done = function done () {\n return this.timePassed() >= this.duration;\n };\n\n Transition.prototype.timePassed = function timePassed () {\n return Math.min(this.duration, now() - this.startDate);\n };\n\n Transition.prototype.moveTo = function moveTo (options) {\n var that = this,\n movable = that.movable;\n\n that.initial = movable[that.axis];\n that.delta = options.location - that.initial;\n that.duration = typeof options.duration === 'number' ? options.duration : 300;\n that.tick = that._easeProxy(options.ease);\n that.startDate = now();\n that.start();\n };\n\n Transition.prototype._easeProxy = function _easeProxy (ease) {\n var that = this;\n\n return function() {\n that.movable.moveAxis(that.axis, ease(that.timePassed(), that.initial, that.delta, that.duration));\n };\n };\n\n Transition.easeOutExpo = function easeOutExpo (t, b, c, d) {\n return t === d ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b;\n };\n\n return Transition;\n}(Animation));\n","import {\n Class,\n grep\n} from '../../common';\n\nimport {\n proxy,\n noop,\n applyEventMap,\n getEventMap,\n on,\n off,\n now,\n getSupportedFeatures\n} from '../utils';\n\nimport {\n Observable\n} from './observable';\n\nvar extend = Object.assign;\n\nvar preventDefault = function (e) {\n e.preventDefault();\n};\n\nvar\n DEFAULT_MIN_HOLD = 800,\n CLICK_DELAY = 300,\n // DEFAULT_THRESHOLD = support.browser.msie ? 5 : 0,\n DEFAULT_THRESHOLD = 0,\n PRESS = 'press',\n HOLD = 'hold',\n SELECT = 'select',\n START = 'start',\n MOVE = 'move',\n END = 'end',\n CANCEL = 'cancel',\n TAP = 'tap',\n DOUBLETAP = 'doubleTap',\n RELEASE = 'release',\n GESTURESTART = 'gesturestart',\n GESTURECHANGE = 'gesturechange',\n GESTUREEND = 'gestureend',\n GESTURETAP = 'gesturetap';\n\nvar THRESHOLD = {\n 'api': 0,\n 'touch': 0,\n 'mouse': 9,\n 'pointer': 9\n};\n\nfunction touchDelta(touch1, touch2) {\n var x1 = touch1.x.location,\n y1 = touch1.y.location,\n x2 = touch2.x.location,\n y2 = touch2.y.location,\n dx = x1 - x2,\n dy = y1 - y2;\n\n return {\n center: {\n x: (x1 + x2) / 2,\n y: (y1 + y2) / 2\n },\n distance: Math.sqrt(dx * dx + dy * dy)\n };\n}\n\nfunction getTouches(e) {\n var support = getSupportedFeatures();\n var touches = [],\n originalEvent = e.originalEvent || e,\n currentTarget = e.currentTarget,\n idx = 0,\n length, changedTouches, touch;\n\n if (e.api) {\n touches.push({\n id: 2,\n event: e,\n target: e.target,\n currentTarget: e.target,\n location: e,\n type: 'api'\n });\n } else if (e.type.match(/touch/)) {\n changedTouches = originalEvent ? originalEvent.changedTouches : [];\n\n for (length = changedTouches.length; idx < length; idx++) {\n touch = changedTouches[idx];\n touches.push({\n location: touch,\n event: e,\n target: touch.target,\n currentTarget: currentTarget,\n id: touch.identifier,\n type: 'touch'\n });\n }\n } else if (support.pointers || support.msPointers) {\n touches.push({\n location: originalEvent,\n event: e,\n target: e.target,\n currentTarget: currentTarget,\n id: originalEvent.pointerId,\n type: 'pointer'\n });\n } else {\n touches.push({\n id: 1,\n event: e,\n target: e.target,\n currentTarget: currentTarget,\n location: e,\n type: 'mouse'\n });\n }\n\n return touches;\n}\nexport var TouchAxis = (function (Class) {\n function TouchAxis(axis, location) {\n Class.call(this);\n var that = this;\n\n that.support = getSupportedFeatures();\n that.invalidZeroEvents = this.support.mobileOS && this.support.mobileOS.android;\n that.axis = axis;\n that._updateLocationData(location);\n that.startLocation = that.location;\n that.velocity = that.delta = 0;\n that.timeStamp = now();\n }\n\n if ( Class ) TouchAxis.__proto__ = Class;\n TouchAxis.prototype = Object.create( Class && Class.prototype );\n TouchAxis.prototype.constructor = TouchAxis;\n\n TouchAxis.prototype.move = function move (location) {\n var that = this,\n offset = location['page' + that.axis],\n timeStamp = now(),\n timeDelta = timeStamp - that.timeStamp || 1;\n\n if (!offset && this.invalidZeroEvents) {\n return;\n }\n\n that.delta = offset - that.location;\n that._updateLocationData(location);\n that.initialDelta = offset - that.startLocation;\n that.velocity = that.delta / timeDelta;\n that.timeStamp = timeStamp;\n };\n\n TouchAxis.prototype._updateLocationData = function _updateLocationData (location) {\n var that = this,\n axis = that.axis;\n\n that.location = location['page' + axis];\n that.client = location['client' + axis];\n that.screen = location['screen' + axis];\n };\n\n return TouchAxis;\n}(Class));\n\nexport var Touch = (function (Class) {\n function Touch(userEvents, target, touchInfo) {\n Class.call(this);\n\n extend(this, {\n x: new TouchAxis('X', touchInfo.location),\n y: new TouchAxis('Y', touchInfo.location),\n type: touchInfo.type,\n useClickAsTap: userEvents.useClickAsTap,\n threshold: userEvents.threshold || THRESHOLD[touchInfo.type],\n userEvents: userEvents,\n target: target,\n currentTarget: touchInfo.currentTarget,\n initialTouch: touchInfo.target,\n id: touchInfo.id,\n pressEvent: touchInfo,\n _clicks: userEvents._clicks,\n supportDoubleTap: userEvents.supportDoubleTap,\n _moved: false,\n _finished: false\n });\n }\n\n if ( Class ) Touch.__proto__ = Class;\n Touch.prototype = Object.create( Class && Class.prototype );\n Touch.prototype.constructor = Touch;\n\n Touch.prototype.press = function press () {\n // this._holdTimeout = setTimeout($.proxy(this, '_hold'), this.userEvents.minHold);\n this._holdTimeout = setTimeout(proxy(this._hold, this), this.userEvents.minHold);\n this._trigger(PRESS, this.pressEvent);\n };\n\n Touch.prototype._tap = function _tap (touchInfo) {\n var that = this;\n\n that.userEvents._clicks++;\n\n if (that.userEvents._clicks === 1) {\n that._clickTimeout = setTimeout(function() {\n if (that.userEvents._clicks === 1) {\n that._trigger(TAP, touchInfo);\n } else {\n that._trigger(DOUBLETAP, touchInfo);\n }\n\n that.userEvents._clicks = 0;\n }, CLICK_DELAY);\n }\n };\n\n Touch.prototype._hold = function _hold () {\n this._trigger(HOLD, this.pressEvent);\n };\n\n /* eslint-disable consistent-return */\n Touch.prototype.move = function move (touchInfo) {\n var that = this;\n var preventMove = touchInfo.type !== 'api' && that.userEvents._shouldNotMove;\n\n if (that._finished || preventMove) {\n return;\n }\n\n that.x.move(touchInfo.location);\n that.y.move(touchInfo.location);\n\n if (!that._moved) {\n if (that._withinIgnoreThreshold()) {\n return;\n }\n\n if (!UserEvents.current || UserEvents.current === that.userEvents) {\n that._start(touchInfo);\n } else {\n return that.dispose();\n }\n }\n\n if (!that._finished) {\n that._trigger(MOVE, touchInfo);\n }\n };\n /* eslint-enable consistent-return */\n\n Touch.prototype.end = function end (touchInfo) {\n this.endTime = now();\n\n if (this._finished) {\n return;\n }\n\n this._finished = true;\n this._trigger(RELEASE, touchInfo);\n\n if (this._moved) {\n this._trigger(END, touchInfo);\n } else {\n if (!this.useClickAsTap) {\n if (this.supportDoubleTap) {\n this._tap(touchInfo);\n } else {\n this._trigger(TAP, touchInfo);\n }\n }\n }\n\n clearTimeout(this._holdTimeout);\n this.dispose();\n };\n\n Touch.prototype.dispose = function dispose () {\n var userEvents = this.userEvents,\n activeTouches = userEvents.touches || [];\n\n this._finished = true;\n this.pressEvent = null;\n\n clearTimeout(this._holdTimeout);\n // activeTouches.splice($.inArray(this, activeTouches), 1);\n var activeTouchIndex = activeTouches.indexOf(this);\n activeTouches.splice(activeTouchIndex, 1);\n };\n\n Touch.prototype.skip = function skip () {\n this.dispose();\n };\n\n Touch.prototype.cancel = function cancel () {\n this.dispose();\n };\n\n Touch.prototype.isMoved = function isMoved () {\n return this._moved;\n };\n\n Touch.prototype._start = function _start (touchInfo) {\n clearTimeout(this._holdTimeout);\n this.startTime = now();\n this._moved = true;\n this._trigger(START, touchInfo);\n };\n\n Touch.prototype._trigger = function _trigger (name, touchInfo) {\n var that = this,\n jQueryEvent = touchInfo.event,\n data = {\n touch: that,\n x: that.x,\n y: that.y,\n target: that.target,\n event: jQueryEvent\n };\n if (that.userEvents.notify(name, data)) {\n jQueryEvent.preventDefault();\n }\n };\n\n Touch.prototype._withinIgnoreThreshold = function _withinIgnoreThreshold () {\n var xDelta = this.x.initialDelta,\n yDelta = this.y.initialDelta;\n return Math.sqrt(xDelta * xDelta + yDelta * yDelta) <= this.threshold;\n };\n\n return Touch;\n}(Class));\n\nfunction withEachUpEvent(callback) {\n var eventMap = getEventMap(navigator.userAgent);\n var downEvents = eventMap.up.split(' '),\n idx = 0,\n length = downEvents.length;\n\n for (; idx < length; idx++) {\n callback(downEvents[idx]);\n }\n}\n\nexport var UserEvents = (function (Observable) {\n function UserEvents(element, options) {\n Observable.call(this);\n var that = this;\n var filter;\n\n var support = getSupportedFeatures();\n this.support = support;\n\n /* eslint-disable no-param-reassign */\n options = options || {};\n /* eslint-enable no-param-reassign */\n this.options = options;\n\n filter = that.filter = options.filter;\n that.threshold = options.threshold || DEFAULT_THRESHOLD;\n that.minHold = options.minHold || DEFAULT_MIN_HOLD;\n that.touches = [];\n that._maxTouches = options.multiTouch ? 2 : 1;\n that.allowSelection = options.allowSelection;\n that.captureUpIfMoved = options.captureUpIfMoved;\n that.useClickAsTap = !options.fastTap && !support.delayedClick();\n that._clicks = 0;\n that.supportDoubleTap = options.supportDoubleTap;\n\n var enableGlobalSurface = !support.touch || support.mouseAndTouchPresent;\n\n extend(that, {\n element: element,\n surface: options.global && enableGlobalSurface ?\n element.ownerDocument.documentElement :\n options.surface || element,\n stopPropagation: options.stopPropagation,\n pressed: false\n });\n\n this._surfaceMoveHandler = proxy(this._move, this);\n on(that.surface, applyEventMap('move'), this._surfaceMoveHandler);\n\n this._surfaceEndHandler = proxy(this._end, this);\n on(that.surface, applyEventMap('up cancel'), this._surfaceEndHandler);\n\n this._elementStartHandler = proxy(this._start, this);\n on(element, applyEventMap('down'), filter, this._elementStartHandler);\n\n if (that.useClickAsTap) {\n this._elementClickHandler = proxy(this._click, this);\n on(element, applyEventMap('click'), filter, this._elementClickHandler);\n }\n\n if (support.pointers || support.msPointers) {\n if (support.browser.version < 11) {\n var defaultAction = 'pinch-zoom double-tap-zoom';\n\n element.style['-ms-touch-action'] =\n options.touchAction && options.touchAction !== 'none' ?\n defaultAction + ' ' + options.touchAction :\n defaultAction;\n\n } else {\n element.style['touch-action'] = options.touchAction || 'none';\n }\n }\n if (options.preventDragEvent) {\n this._elementDragStartHandler = preventDefault;\n on(element, applyEventMap('dragstart'), this._elementDragStartHandler);\n }\n\n // element.on(kendo.applyEventMap('mousedown'), filter, {\n // root: element\n // } '_select');\n\n // todo: use root\n this._elementSelectHandler = proxy(this._select, this);\n on(element, applyEventMap('mousedown'), filter, this._elementSelectHandler);\n\n if (that.captureUpIfMoved && support.eventCapture) {\n var surfaceElement = that.surface,\n preventIfMovingProxy = proxy(that.preventIfMoving, that);\n\n withEachUpEvent(function(eventName) {\n surfaceElement.addEventListener(eventName, preventIfMovingProxy, true);\n });\n }\n\n that.bind([\n PRESS,\n HOLD,\n TAP,\n DOUBLETAP,\n START,\n MOVE,\n END,\n RELEASE,\n CANCEL,\n GESTURESTART,\n GESTURECHANGE,\n GESTUREEND,\n GESTURETAP,\n SELECT\n ], options);\n }\n\n if ( Observable ) UserEvents.__proto__ = Observable;\n UserEvents.prototype = Object.create( Observable && Observable.prototype );\n UserEvents.prototype.constructor = UserEvents;\n\n UserEvents.prototype.preventIfMoving = function preventIfMoving (e) {\n if (this._isMoved()) {\n e.preventDefault();\n }\n };\n\n UserEvents.prototype.destroy = function destroy () {\n var that = this;\n var options = this.options;\n var element = this.element;\n\n if (that._destroyed) {\n return;\n }\n\n that._destroyed = true;\n\n if (that.captureUpIfMoved && this.support.eventCapture) {\n var surfaceElement = that.surface;\n withEachUpEvent(function(eventName) {\n surfaceElement.removeEventListener(eventName, that.preventIfMoving);\n });\n }\n\n off(that.surface, applyEventMap('move'), this._surfaceMoveHandler);\n off(that.surface, applyEventMap('up cancel'), this._surfaceEndHandler);\n\n off(element, applyEventMap('down'), this._elementStartHandler);\n\n if (that.useClickAsTap) {\n off(element, applyEventMap('click'), this._elementClickHandler);\n }\n\n if (options.preventDragEvent) {\n off(element, applyEventMap('dragstart'), this._elementDragStartHandler);\n }\n\n off(element, applyEventMap('mousedown'), this._elementSelectHandler);\n\n that._disposeAll();\n that.unbind();\n\n delete that.surface;\n delete that.element;\n delete that.currentTarget;\n };\n\n UserEvents.prototype.capture = function capture () {\n UserEvents.current = this;\n };\n\n UserEvents.prototype.cancel = function cancel () {\n this._disposeAll();\n this.trigger(CANCEL);\n };\n\n /* eslint-disable indent */\n UserEvents.prototype.notify = function notify (event, data) {\n var that = this,\n touches = that.touches;\n var eventName = event;\n\n if (this._isMultiTouch()) {\n switch (eventName) {\n case MOVE:\n eventName = GESTURECHANGE;\n break;\n case END:\n eventName = GESTUREEND;\n break;\n case TAP:\n eventName = GESTURETAP;\n break;\n default:\n break;\n }\n\n extend(data, {\n touches: touches\n }, touchDelta(touches[0], touches[1]));\n }\n\n return this.trigger(eventName, extend(data, {\n type: eventName\n }));\n };\n /* eslint-enable indent */\n\n UserEvents.prototype.press = function press (x, y, target) {\n this._apiCall('_start', x, y, target);\n };\n\n UserEvents.prototype.move = function move (x, y) {\n this._apiCall('_move', x, y);\n };\n\n UserEvents.prototype.end = function end (x, y) {\n this._apiCall('_end', x, y);\n };\n\n UserEvents.prototype._isMultiTouch = function _isMultiTouch () {\n return this.touches.length > 1;\n };\n\n UserEvents.prototype._maxTouchesReached = function _maxTouchesReached () {\n return this.touches.length >= this._maxTouches;\n };\n\n UserEvents.prototype._disposeAll = function _disposeAll () {\n var touches = this.touches;\n while (touches.length > 0) {\n touches.pop().dispose();\n }\n };\n\n UserEvents.prototype._isMoved = function _isMoved () {\n return grep(this.touches, function(touch) {\n return touch.isMoved();\n }).length;\n };\n\n UserEvents.prototype._select = function _select (e) {\n if (!this.allowSelection || this.trigger(SELECT, { event: e })) {\n e.preventDefault();\n }\n };\n\n UserEvents.prototype._start = function _start (e) {\n var that = this,\n idx = 0,\n filter = that.filter,\n target,\n touches = getTouches(e),\n length = touches.length,\n touch,\n which = e.which;\n\n if (which && which > 1 || that._maxTouchesReached()) {\n return;\n }\n\n UserEvents.current = null;\n that.currentTarget = e.currentTarget;\n\n if (that.stopPropagation) {\n e.stopPropagation();\n }\n\n for (; idx < length; idx++) {\n if (that._maxTouchesReached()) {\n break;\n }\n\n touch = touches[idx];\n\n if (filter) {\n target = touch.currentTarget;\n } else {\n target = that.element;\n }\n\n if (target && target.length === 0) {\n continue;\n }\n\n touch = new Touch(that, target, touch);\n that.touches.push(touch);\n touch.press();\n\n if (that._isMultiTouch()) {\n that.notify('gesturestart', {});\n }\n }\n };\n\n UserEvents.prototype._move = function _move (e) {\n this._eachTouch('move', e);\n };\n\n UserEvents.prototype._end = function _end (e) {\n this._eachTouch('end', e);\n };\n\n UserEvents.prototype._click = function _click (e) {\n var data = {\n touch: {\n initialTouch: e.target,\n target: e.currentTarget,\n endTime: now(),\n x: {\n location: e.pageX,\n client: e.clientX\n },\n y: {\n location: e.pageY,\n client: e.clientY\n }\n },\n x: e.pageX,\n y: e.pageY,\n target: e.currentTarget,\n event: e,\n type: 'tap'\n };\n\n if (this.trigger('tap', data)) {\n e.preventDefault();\n }\n };\n\n UserEvents.prototype._eachTouch = function _eachTouch (methodName, e) {\n var that = this,\n dict = {},\n touches = getTouches(e),\n activeTouches = that.touches,\n idx,\n touch,\n touchInfo,\n matchingTouch;\n\n for (idx = 0; idx < activeTouches.length; idx++) {\n touch = activeTouches[idx];\n dict[touch.id] = touch;\n }\n\n for (idx = 0; idx < touches.length; idx++) {\n touchInfo = touches[idx];\n matchingTouch = dict[touchInfo.id];\n\n if (matchingTouch) {\n matchingTouch[methodName](touchInfo);\n }\n }\n };\n\n UserEvents.prototype._apiCall = function _apiCall (type, x, y, target) {\n this[type]({\n api: true,\n pageX: x,\n pageY: y,\n clientX: x,\n clientY: y,\n target: target || this.element,\n stopPropagation: noop,\n preventDefault: noop\n });\n };\n\n UserEvents.defaultThreshold = function defaultThreshold (value) {\n DEFAULT_THRESHOLD = value;\n };\n\n UserEvents.minHold = function minHold (value) {\n DEFAULT_MIN_HOLD = value;\n };\n\n return UserEvents;\n}(Observable));\n","// todo: extract to a separate place\n\nimport {\n Class,\n deepExtend,\n addClass,\n isFunction,\n setDefaultOptions\n} from '../../common';\n\nimport {\n convertToHtml,\n prepend,\n wrapInner,\n contains,\n hasNativeScrolling,\n on,\n off,\n proxy,\n wheelDeltaY,\n setDefaultEvents\n} from '../utils';\n\nimport {\n Transition,\n Animation\n} from './fx';\n\nimport {\n Pane,\n PaneDimensions,\n Movable,\n TapCapture\n} from './draggable';\n\nimport {\n UserEvents\n} from './user-events';\n\nimport {\n Observable\n} from './observable';\n\nvar\n extend = Object.assign,\n abs = Math.abs,\n SNAPBACK_DURATION = 500,\n SCROLLBAR_OPACITY = 0.7,\n FRICTION = 0.96,\n VELOCITY_MULTIPLIER = 10,\n MAX_VELOCITY = 55,\n OUT_OF_BOUNDS_FRICTION = 0.5,\n ANIMATED_SCROLLER_PRECISION = 5,\n // SCROLLER_RELEASE_CLASS = 'km-scroller-release',\n // SCROLLER_REFRESH_CLASS = 'km-scroller-refresh',\n PULL = 'pull',\n CHANGE = 'change',\n RESIZE = 'resize',\n SCROLL = 'scroll',\n MOUSE_WHEEL_ID = 2;\n\nvar ZoomSnapBack = (function (Animation) {\n function ZoomSnapBack(options) {\n Animation.call(this, options);\n var that = this;\n extend(that, options);\n that.userEvents.bind('gestureend', that.start.bind(this));\n that.tapCapture.bind('press', that.cancel.bind(this));\n }\n\n if ( Animation ) ZoomSnapBack.__proto__ = Animation;\n ZoomSnapBack.prototype = Object.create( Animation && Animation.prototype );\n ZoomSnapBack.prototype.constructor = ZoomSnapBack;\n\n ZoomSnapBack.prototype.enabled = function enabled () {\n return this.movable.scale < this.dimensions.minScale;\n };\n\n ZoomSnapBack.prototype.done = function done () {\n return this.dimensions.minScale - this.movable.scale < 0.01;\n };\n\n ZoomSnapBack.prototype.tick = function tick () {\n var movable = this.movable;\n movable.scaleWith(1.1);\n this.dimensions.rescale(movable.scale);\n };\n\n ZoomSnapBack.prototype.onEnd = function onEnd () {\n var movable = this.movable;\n movable.scaleTo(this.dimensions.minScale);\n this.dimensions.rescale(movable.scale);\n };\n\n return ZoomSnapBack;\n}(Animation));\n\nvar DragInertia = (function (Animation) {\n function DragInertia(options) {\n Animation.call(this);\n var that = this;\n\n extend(that, options, {\n transition: new Transition({\n axis: options.axis,\n movable: options.movable,\n onEnd: function onEnd() {\n that._end();\n }\n })\n });\n\n that.tapCapture.bind('press', function() {\n that.cancel();\n });\n\n that.userEvents.bind('end', proxy(that.start, that));\n that.userEvents.bind('gestureend', proxy(that.start, that));\n that.userEvents.bind('tap', proxy(that.onEnd, that));\n }\n\n if ( Animation ) DragInertia.__proto__ = Animation;\n DragInertia.prototype = Object.create( Animation && Animation.prototype );\n DragInertia.prototype.constructor = DragInertia;\n\n DragInertia.prototype.onCancel = function onCancel () {\n this.transition.cancel();\n };\n\n DragInertia.prototype.freeze = function freeze (location) {\n var that = this;\n that.cancel();\n that._moveTo(location);\n };\n\n DragInertia.prototype.onEnd = function onEnd () {\n var that = this;\n if (that.paneAxis.outOfBounds()) {\n that._snapBack();\n } else {\n that._end();\n }\n };\n\n DragInertia.prototype.done = function done () {\n return abs(this.velocity) < 1;\n };\n\n DragInertia.prototype.start = function start (e) {\n var that = this,\n velocity;\n if (!that.dimension.enabled) {\n return;\n }\n if (that.paneAxis.outOfBounds()) {\n if (that.transition._started) {\n that.transition.cancel();\n that.velocity = Math.min(e.touch[that.axis].velocity * that.velocityMultiplier, MAX_VELOCITY);\n Animation.prototype.start.call(this);\n } else {\n that._snapBack();\n }\n } else {\n velocity = e.touch.id === MOUSE_WHEEL_ID ? 0 : e.touch[that.axis].velocity;\n that.velocity = Math.max(Math.min(velocity * that.velocityMultiplier, MAX_VELOCITY), -MAX_VELOCITY);\n that.tapCapture.captureNext();\n Animation.prototype.start.call(this);\n }\n };\n\n DragInertia.prototype.tick = function tick () {\n var that = this,\n dimension = that.dimension,\n friction = that.paneAxis.outOfBounds() ? OUT_OF_BOUNDS_FRICTION : that.friction,\n delta = that.velocity *= friction,\n location = that.movable[that.axis] + delta;\n\n if (!that.elastic && dimension.outOfBounds(location)) {\n location = Math.max(Math.min(location, dimension.max), dimension.min);\n that.velocity = 0;\n }\n\n that.movable.moveAxis(that.axis, location);\n };\n\n DragInertia.prototype._end = function _end () {\n this.tapCapture.cancelCapture();\n this.end();\n };\n\n DragInertia.prototype._snapBack = function _snapBack () {\n var that = this,\n dimension = that.dimension,\n snapBack = that.movable[that.axis] > dimension.max ? dimension.max : dimension.min;\n\n that._moveTo(snapBack);\n };\n\n DragInertia.prototype._moveTo = function _moveTo (location) {\n this.transition.moveTo({\n location: location,\n duration: SNAPBACK_DURATION,\n ease: Transition.easeOutExpo\n });\n };\n\n return DragInertia;\n}(Animation));\n\nvar AnimatedScroller = (function (Animation) {\n function AnimatedScroller(options) {\n Animation.call(this, options);\n var that = this;\n\n extend(that, options, {\n origin: {},\n destination: {},\n offset: {}\n });\n }\n\n if ( Animation ) AnimatedScroller.__proto__ = Animation;\n AnimatedScroller.prototype = Object.create( Animation && Animation.prototype );\n AnimatedScroller.prototype.constructor = AnimatedScroller;\n\n AnimatedScroller.prototype.tick = function tick () {\n this._updateCoordinates();\n this.moveTo(this.origin);\n };\n\n AnimatedScroller.prototype.done = function done () {\n return abs(this.offset.y) < ANIMATED_SCROLLER_PRECISION && abs(this.offset.x) < ANIMATED_SCROLLER_PRECISION;\n };\n\n AnimatedScroller.prototype.onEnd = function onEnd () {\n this.moveTo(this.destination);\n if (this.callback) {\n this.callback.call();\n }\n };\n\n AnimatedScroller.prototype.setCoordinates = function setCoordinates (from, to) {\n this.offset = {};\n this.origin = from;\n this.destination = to;\n };\n\n /* eslint-disable no-param-reassign */\n AnimatedScroller.prototype.setCallback = function setCallback (callback) {\n if (callback && isFunction(callback)) {\n this.callback = callback;\n } else {\n callback = undefined;\n }\n };\n /* eslint-enable no-param-reassign */\n\n AnimatedScroller.prototype._updateCoordinates = function _updateCoordinates () {\n this.offset = {\n x: (this.destination.x - this.origin.x) / 4,\n y: (this.destination.y - this.origin.y) / 4\n };\n this.origin = {\n y: this.origin.y + this.offset.y,\n x: this.origin.x + this.offset.x\n };\n };\n\n return AnimatedScroller;\n}(Animation));\n\nvar ScrollBar = (function (Class) {\n function ScrollBar(options) {\n Class.call(this);\n var that = this,\n horizontal = options.axis === 'x';\n\n var orientation = (horizontal ? 'horizontal' : 'vertical');\n var element = convertToHtml('
');\n\n extend(that, options, {\n element: element,\n elementSize: 0,\n movable: new Movable(element),\n scrollMovable: options.movable,\n alwaysVisible: options.alwaysVisible,\n size: horizontal ? 'width' : 'height'\n });\n\n that.scrollMovable.bind(CHANGE, that.refresh.bind(that));\n\n that.container.appendChild(element);\n\n if (options.alwaysVisible) {\n that.show();\n }\n }\n\n if ( Class ) ScrollBar.__proto__ = Class;\n ScrollBar.prototype = Object.create( Class && Class.prototype );\n ScrollBar.prototype.constructor = ScrollBar;\n\n ScrollBar.prototype.refresh = function refresh () {\n var that = this,\n axis = that.axis,\n dimension = that.dimension,\n paneSize = dimension.size,\n scrollMovable = that.scrollMovable,\n sizeRatio = paneSize / dimension.total,\n position = Math.round(-scrollMovable[axis] * sizeRatio),\n size = Math.round(paneSize * sizeRatio);\n if (sizeRatio >= 1) {\n this.element.style.display = \"none\";\n } else {\n this.element.style.display = \"\";\n }\n if (position + size > paneSize) {\n size = paneSize - position;\n } else if (position < 0) {\n size += position;\n position = 0;\n }\n if (that.elementSize !== size) {\n that.element.style[that.size] = size + 'px';\n that.elementSize = size;\n }\n that.movable.moveAxis(axis, position);\n };\n\n ScrollBar.prototype.show = function show () {\n this.element.style.opacity = SCROLLBAR_OPACITY;\n this.element.style.visibility = \"visible\";\n };\n\n ScrollBar.prototype.hide = function hide () {\n if (!this.alwaysVisible) {\n this.element.style.opacity = 0;\n }\n };\n\n return ScrollBar;\n}(Class));\n\n// export class Scroller extends Class {\nexport var Scroller = (function (Observable) {\n function Scroller(element, options) {\n Observable.call(this);\n var that = this;\n this.element = element;\n\n this._initOptions(options);\n\n var hasScrolling = hasNativeScrolling(navigator.userAgent);\n that._native = that.options.useNative && hasScrolling;\n var scrollHeader = convertToHtml('
');\n\n if (that._native) {\n addClass(element, 'km-native-scroller');\n prepend(scrollHeader, element);\n\n extend(that, {\n scrollElement: element,\n fixedContainer: element.children[0]\n });\n\n return;\n }\n\n element.style.overflow = \"hidden\";\n addClass(element, 'km-scroll-wrapper');\n\n var scrollContainer = convertToHtml('
');\n wrapInner(element, scrollContainer);\n prepend(scrollHeader, element);\n\n var inner = element.children[1],\n tapCapture = new TapCapture(element),\n movable = new Movable(inner),\n\n dimensions = new PaneDimensions({\n element: inner,\n container: element,\n forcedEnabled: that.options.zoom\n }),\n avoidScrolling = this.options.avoidScrolling,\n\n userEvents = new UserEvents(element, {\n touchAction: 'pan-y',\n fastTap: true,\n allowSelection: true,\n preventDragEvent: true,\n captureUpIfMoved: true,\n multiTouch: that.options.zoom,\n supportDoubleTap: that.options.supportDoubleTap,\n start: function start(e) {\n dimensions.refresh();\n var velocityX = abs(e.x.velocity),\n velocityY = abs(e.y.velocity),\n horizontalSwipe = velocityX * 2 >= velocityY,\n originatedFromFixedContainer = contains(that.fixedContainer, e.event.target),\n verticalSwipe = velocityY * 2 >= velocityX;\n if (!originatedFromFixedContainer && !avoidScrolling(e) && that.enabled && (dimensions.x.enabled && horizontalSwipe || dimensions.y.enabled && verticalSwipe)) {\n userEvents.capture();\n } else {\n userEvents.cancel();\n }\n }\n }),\n\n pane = new Pane({\n movable: movable,\n dimensions: dimensions,\n userEvents: userEvents,\n elastic: that.options.elastic\n }),\n\n zoomSnapBack = new ZoomSnapBack({\n movable: movable,\n dimensions: dimensions,\n userEvents: userEvents,\n tapCapture: tapCapture\n }),\n\n animatedScroller = new AnimatedScroller({\n moveTo: function moveTo(coordinates) {\n that.scrollTo(coordinates.x, coordinates.y);\n }\n });\n\n movable.bind(CHANGE, function() {\n that.scrollTop = -movable.y;\n that.scrollLeft = -movable.x;\n that.trigger(SCROLL, {\n scrollTop: that.scrollTop,\n scrollLeft: that.scrollLeft\n });\n });\n\n if (that.options.mousewheelScrolling) {\n this._wheelScrollHandler = this._wheelScroll.bind(this);\n on(element, 'wheel', this._wheelScrollHandler);\n }\n\n extend(that, {\n movable: movable,\n dimensions: dimensions,\n zoomSnapBack: zoomSnapBack,\n animatedScroller: animatedScroller,\n userEvents: userEvents,\n pane: pane,\n tapCapture: tapCapture,\n pulled: false,\n enabled: true,\n scrollElement: inner,\n scrollTop: 0,\n scrollLeft: 0,\n fixedContainer: element.children[0]\n });\n\n that._initAxis('x');\n that._initAxis('y');\n\n that._wheelEnd = function() {\n that._wheel = false;\n that.userEvents.end(0, that._wheelY);\n };\n\n dimensions.refresh();\n\n if (that.options.pullToRefresh) {\n that._initPullToRefresh();\n }\n }\n\n if ( Observable ) Scroller.__proto__ = Observable;\n Scroller.prototype = Object.create( Observable && Observable.prototype );\n Scroller.prototype.constructor = Scroller;\n\n Scroller.prototype._initOptions = function _initOptions (options) {\n this.options = deepExtend({}, this.options, options);\n };\n\n Scroller.prototype._wheelScroll = function _wheelScroll (e) {\n if (e.ctrlKey) {\n return;\n }\n if (!this._wheel) {\n this._wheel = true;\n this._wheelY = 0;\n this.userEvents.press(0, this._wheelY);\n }\n\n clearTimeout(this._wheelTimeout);\n this._wheelTimeout = setTimeout(this._wheelEnd, 50);\n var delta = wheelDeltaY(e);\n\n if (delta) {\n this._wheelY += delta;\n this.userEvents.move(0, this._wheelY);\n }\n\n e.preventDefault();\n };\n\n Scroller.prototype.makeVirtual = function makeVirtual () {\n this.dimensions.y.makeVirtual();\n };\n\n Scroller.prototype.virtualSize = function virtualSize (min, max) {\n this.dimensions.y.virtualSize(min, max);\n };\n\n Scroller.prototype.height = function height () {\n return this.dimensions.y.size;\n };\n\n Scroller.prototype.scrollHeight = function scrollHeight () {\n return this.scrollElement.scrollHeight;\n };\n\n Scroller.prototype.scrollWidth = function scrollWidth () {\n return this.scrollElement.scrollWidth;\n };\n\n Scroller.prototype._resize = function _resize () {\n if (!this._native) {\n this.contentResized();\n }\n };\n\n Scroller.prototype.setOptions = function setOptions (options) {\n var that = this;\n\n this._initOptions(options);\n\n if (options.pullToRefresh) {\n that._initPullToRefresh();\n }\n };\n\n Scroller.prototype.reset = function reset () {\n if (this._native) {\n this.scrollElement.scrollTop(0);\n } else {\n this.movable.moveTo({\n x: 0,\n y: 0\n });\n this._scale(1);\n }\n };\n\n Scroller.prototype.contentResized = function contentResized () {\n this.dimensions.refresh();\n if (this.pane.x.outOfBounds()) {\n this.movable.moveAxis('x', this.dimensions.x.min);\n }\n if (this.pane.y.outOfBounds()) {\n this.movable.moveAxis('y', this.dimensions.y.min);\n }\n };\n\n Scroller.prototype.zoomOut = function zoomOut () {\n var dimensions = this.dimensions;\n dimensions.refresh();\n this._scale(dimensions.fitScale);\n this.movable.moveTo(dimensions.centerCoordinates());\n };\n\n Scroller.prototype.enable = function enable () {\n this.enabled = true;\n };\n\n Scroller.prototype.disable = function disable () {\n this.enabled = false;\n };\n\n Scroller.prototype.scrollTo = function scrollTo (x, y) {\n if (this._native) {\n this.scrollElement.scrollLeft(abs(x));\n this.scrollElement.scrollTop(abs(y));\n } else {\n this.dimensions.refresh();\n this.movable.moveTo({\n x: x,\n y: y\n });\n }\n };\n\n Scroller.prototype.animatedScrollTo = function animatedScrollTo (x, y, callback) {\n var from, to;\n if (this._native) {\n this.scrollTo(x, y);\n } else {\n from = {\n x: this.movable.x,\n y: this.movable.y\n };\n to = {\n x: x,\n y: y\n };\n this.animatedScroller.setCoordinates(from, to);\n this.animatedScroller.setCallback(callback);\n this.animatedScroller.start();\n }\n };\n\n // kept for API compatibility, not used\n Scroller.prototype.pullHandled = function pullHandled () {\n // let that = this;\n\n // removeClass(that.refreshHint, SCROLLER_REFRESH_CLASS);\n // that.hintContainer.innerHTML = that.pullTemplate({}));\n\n // that.yinertia.onEnd();\n // that.xinertia.onEnd();\n // that.userEvents.cancel();\n };\n\n Scroller.prototype.destroy = function destroy () {\n var element = this.element;\n\n off(element, 'wheel', this._wheelScrollHandler);\n\n if (this.userEvents) {\n this.userEvents.destroy();\n }\n };\n\n Scroller.prototype._scale = function _scale (scale) {\n this.dimensions.rescale(scale);\n this.movable.scaleTo(scale);\n };\n\n Scroller.prototype._initPullToRefresh = function _initPullToRefresh () {\n };\n\n // kept for API compatibility, not used\n Scroller.prototype._dragEnd = function _dragEnd () {\n // let that = this;\n\n // if (!that.pulled) {\n // return;\n // }\n\n // that.pulled = false;\n\n // removeClass(that.refreshHint, SCROLLER_RELEASE_CLASS);\n // addClass(that.refreshHint, SCROLLER_REFRESH_CLASS);\n\n // that.hintContainer.innerHTML = that.refreshTemplate({});\n\n // that.yinertia.freeze(that.options.pullOffset / 2);\n // that.trigger('pull');\n };\n\n // kept for API compatibility, not used\n Scroller.prototype._paneChange = function _paneChange () {\n // let that = this;\n // if (that.movable.y / OUT_OF_BOUNDS_FRICTION > that.options.pullOffset) {\n // if (!that.pulled) {\n // that.pulled = true;\n // that.refreshHint.removeClass(SCROLLER_REFRESH_CLASS).addClass(SCROLLER_RELEASE_CLASS);\n // that.hintContainer.html(that.releaseTemplate({}));\n // that.hintContainer.html(that.releaseTemplate({}));\n // }\n // } else if (that.pulled) {\n // that.pulled = false;\n // that.refreshHint.removeClass(SCROLLER_RELEASE_CLASS);\n // that.hintContainer.html(that.pullTemplate({}));\n // }\n };\n\n Scroller.prototype._initAxis = function _initAxis (axis) {\n var that = this,\n movable = that.movable,\n dimension = that.dimensions[axis],\n tapCapture = that.tapCapture,\n paneAxis = that.pane[axis],\n scrollBar = new ScrollBar({\n axis: axis,\n movable: movable,\n dimension: dimension,\n container: that.element,\n alwaysVisible: that.options.visibleScrollHints\n });\n\n dimension.bind(CHANGE, function() {\n scrollBar.refresh();\n });\n\n paneAxis.bind(CHANGE, function() {\n scrollBar.show();\n });\n\n that[axis + 'inertia'] = new DragInertia({\n axis: axis,\n paneAxis: paneAxis,\n movable: movable,\n tapCapture: tapCapture,\n userEvents: that.userEvents,\n dimension: dimension,\n elastic: that.options.elastic,\n friction: that.options.friction || FRICTION,\n velocityMultiplier: that.options.velocityMultiplier || VELOCITY_MULTIPLIER,\n end: function end() {\n scrollBar.hide();\n that.trigger('scrollEnd', {\n axis: axis,\n scrollTop: that.scrollTop,\n scrollLeft: that.scrollLeft\n });\n }\n });\n };\n\n return Scroller;\n}(Observable));\n\nsetDefaultOptions(Scroller, {\n name: 'Scroller',\n zoom: false,\n pullOffset: 140,\n visibleScrollHints: false,\n elastic: true,\n useNative: false,\n mousewheelScrolling: true,\n avoidScrolling: function avoidScrolling() {\n return false;\n },\n pullToRefresh: false,\n messages: {\n pullTemplate: 'Pull to refresh',\n releaseTemplate: 'Release to refresh',\n refreshTemplate: 'Refreshing'\n }\n});\n\nsetDefaultEvents(Scroller, [\n PULL,\n SCROLL,\n RESIZE\n]);\n\n","var MapService = function MapService(widget, context) {\n if ( context === void 0 ) context = {};\n\n this.sender = context.sender || widget;\n this.widget = widget;\n this.rtl = Boolean(context.rtl);\n};\n\nMapService.prototype.notify = function notify (name, args) {\n if (this.widget) {\n this.widget.trigger(name, args);\n }\n};\n\nexport default MapService;\n","import {\n geometry as g,\n throttle\n} from '@progress/kendo-drawing';\n\nimport {\n addClass,\n setDefaultOptions,\n valueOrDefault,\n defined,\n mousewheelDelta,\n limitValue,\n deepExtend,\n elementOffset,\n isArray,\n round\n} from '../common';\n\nimport {\n EPSG3857\n} from './crs';\n\nimport {\n Attribution\n} from './attribution';\n\nimport {\n Navigator\n} from './navigator';\n\nimport {\n ZoomControl\n} from './zoom';\n\nimport {\n Location\n} from './location';\n\nimport {\n Extent\n} from './extent';\n\nimport { Tooltip } from './tooltip/tooltip';\n\nimport {\n TileLayer\n} from './layers/tile';\n\nimport {\n BubbleLayer\n} from './layers/bubble';\n\nimport {\n ShapeLayer\n} from './layers/shape';\n\nimport {\n MarkerLayer\n} from './layers/marker';\n\nimport {\n removeChildren,\n setDefaultEvents,\n proxy,\n now,\n on,\n off,\n getSupportedFeatures,\n convertToHtml,\n renderPos\n} from './utils';\n\nimport {\n Scroller\n} from './scroller/scroller';\n\nimport {\n Observable\n} from './scroller/observable';\n\nimport MapService from './../services/map-service';\n\nimport { CENTER_CHANGE, INIT, ZOOM_CHANGE } from './constants';\n\nvar math = Math,\n min = math.min,\n pow = math.pow,\n Point = g.Point,\n MARKER = \"marker\",\n LOCATION = \"location\",\n FRICTION = 0.9,\n FRICTION_MOBILE = 0.93,\n MOUSEWHEEL = 'wheel',\n MOUSEWHEEL_THROTTLE = 50,\n VELOCITY_MULTIPLIER = 5,\n DEFAULT_ZOOM_RATE = 1;\n\nvar layersMap = {\n bubble: BubbleLayer,\n shape: ShapeLayer,\n tile: TileLayer\n};\nlayersMap[MARKER] = MarkerLayer;\n\nvar Map = (function (Observable) {\n function Map(element, options, themeOptions, context) {\n if ( options === void 0 ) options = {};\n if ( themeOptions === void 0 ) themeOptions = {};\n if ( context === void 0 ) context = {};\n\n Observable.call(this);\n\n this._init(element, options, themeOptions, context);\n }\n\n if ( Observable ) Map.__proto__ = Observable;\n Map.prototype = Object.create( Observable && Observable.prototype );\n Map.prototype.constructor = Map;\n\n Map.prototype.destroy = function destroy () {\n var this$1 = this;\n\n this.scroller.destroy();\n\n if (this._tooltip) {\n this._tooltip.destroy();\n }\n\n if (this.navigator) {\n this.navigator.destroy();\n }\n if (this.attribution) {\n this.attribution.destroy();\n }\n if (this.zoomControl) {\n this.zoomControl.destroy();\n }\n\n if (isArray(this.markers)) {\n this.markers.forEach(function (markerLayer) {\n markerLayer.destroy();\n });\n } else {\n this.markers.destroy();\n }\n\n for (var i = 0; i < this.layers.length; i++) {\n this$1.layers[i].destroy();\n }\n\n off(this.element, MOUSEWHEEL, this._mousewheelHandler);\n\n Observable.prototype.destroy.call(this);\n };\n\n Map.prototype._init = function _init (element, options, themeOptions, context) {\n if ( options === void 0 ) options = {};\n if ( themeOptions === void 0 ) themeOptions = {};\n if ( context === void 0 ) context = {};\n\n this.support = getSupportedFeatures();\n this.context = context;\n\n this.initObserver(context);\n this.initServices(context);\n this._notifyObserver(INIT);\n\n this._initOptions(options);\n this._setEvents(options);\n this.crs = new EPSG3857();\n\n this._initElement(element);\n\n this._viewOrigin = this._getOrigin();\n\n this._tooltip = this._createTooltip();\n this._initScroller();\n this._initMarkers();\n this._initControls();\n this._initLayers();\n this._reset();\n\n var mousewheelThrottled = throttle(this._mousewheel.bind(this), MOUSEWHEEL_THROTTLE);\n this._mousewheelHandler = function (e) {\n e.preventDefault();\n mousewheelThrottled(e);\n };\n on(this.element, MOUSEWHEEL, this._mousewheelHandler);\n };\n\n Map.prototype._initOptions = function _initOptions (options) {\n this.options = deepExtend({}, this.options, options);\n };\n\n Map.prototype._initElement = function _initElement (element) {\n this.element = element;\n\n addClass(element, \"k-map\");\n element.style.position = \"relative\";\n element.setAttribute(\"data-role\", \"map\");\n removeChildren(element);\n\n var div = convertToHtml(\"
\");\n this.element.appendChild(div);\n };\n\n Map.prototype.initServices = function initServices (context) {\n if ( context === void 0 ) context = {};\n\n this.widgetService = new MapService(this, context);\n };\n\n Map.prototype.initObserver = function initObserver (context) {\n if ( context === void 0 ) context = {};\n\n this.observers = [];\n this.addObserver(context.observer);\n };\n\n Map.prototype.addObserver = function addObserver (observer) {\n if (observer) {\n this.observers.push(observer);\n }\n };\n\n Map.prototype.removeObserver = function removeObserver (observer) {\n var index = this.observers.indexOf(observer);\n\n if (index >= 0) {\n this.observers.splice(index, 1);\n }\n };\n\n Map.prototype.requiresHandlers = function requiresHandlers (eventNames) {\n var observers = this.observers;\n\n for (var idx = 0; idx < observers.length; idx++) {\n if (observers[idx].requiresHandlers(eventNames)) {\n return true;\n }\n }\n };\n\n Map.prototype.trigger = function trigger (name, args) {\n if ( args === void 0 ) args = {};\n\n args.sender = this;\n\n var observers = this.observers;\n var isDefaultPrevented = false;\n\n for (var idx = 0; idx < observers.length; idx++) {\n if (observers[idx].trigger(name, args)) {\n isDefaultPrevented = true;\n }\n }\n\n if (!isDefaultPrevented) {\n Observable.prototype.trigger.call(this, name, args);\n }\n\n return isDefaultPrevented;\n };\n\n Map.prototype._notifyObserver = function _notifyObserver (name, args) {\n if ( args === void 0 ) args = {};\n\n args.sender = this;\n\n var observers = this.observers;\n var isDefaultPrevented = false;\n\n for (var idx = 0; idx < observers.length; idx++) {\n if (observers[idx].trigger(name, args)) {\n isDefaultPrevented = true;\n }\n }\n\n return isDefaultPrevented;\n };\n\n Map.prototype.zoom = function zoom (level) {\n var options = this.options;\n var result;\n\n if (defined(level)) {\n var zoomLevel = math.round(limitValue(level, options.minZoom, options.maxZoom));\n\n if (options.zoom !== zoomLevel) {\n options.zoom = zoomLevel;\n this.widgetService.notify(ZOOM_CHANGE, { zoom: options.zoom });\n\n this._reset();\n }\n result = this;\n } else {\n result = options.zoom;\n }\n\n return result;\n };\n\n Map.prototype.center = function center (center$1) {\n var result;\n\n if (center$1) {\n var current = Location.create(center$1);\n var previous = Location.create(this.options.center);\n if (!current.equals(previous)) {\n this.options.center = current.toArray();\n this.widgetService.notify(CENTER_CHANGE, { center: this.options.center });\n this._reset();\n }\n\n result = this;\n } else {\n result = Location.create(this.options.center);\n }\n\n return result;\n };\n\n Map.prototype.extent = function extent (extent$1) {\n var result;\n\n if (extent$1) {\n this._setExtent(extent$1);\n result = this;\n } else {\n result = this._getExtent();\n }\n\n return result;\n };\n\n Map.prototype.setOptions = function setOptions (options) {\n if ( options === void 0 ) options = {};\n\n var element = this.element;\n\n this.destroy();\n removeChildren(element);\n this._init(element, options, {}, this.context);\n\n this._reset();\n };\n\n Map.prototype.locationToLayer = function locationToLayer (location, zoom) {\n var clamp = !this.options.wraparound;\n var locationObject = Location.create(location);\n\n return this.crs.toPoint(locationObject, this._layerSize(zoom), clamp);\n };\n\n Map.prototype.layerToLocation = function layerToLocation (point, zoom) {\n var clamp = !this.options.wraparound;\n var pointObject = Point.create(point);\n\n return this.crs.toLocation(pointObject, this._layerSize(zoom), clamp);\n };\n\n Map.prototype.locationToView = function locationToView (location) {\n var locationObject = Location.create(location);\n var origin = this.locationToLayer(this._viewOrigin);\n var point = this.locationToLayer(locationObject);\n\n return point.translateWith(origin.scale(-1));\n };\n\n Map.prototype.viewToLocation = function viewToLocation (point, zoom) {\n var origin = this.locationToLayer(this._getOrigin(), zoom);\n var pointObject = Point.create(point);\n var pointResult = pointObject.clone().translateWith(origin);\n\n return this.layerToLocation(pointResult, zoom);\n };\n\n Map.prototype.eventOffset = function eventOffset (e) {\n var x;\n var y;\n var offset = elementOffset(this.element);\n\n if ((e.x && e.x[LOCATION]) || (e.y && e.y[LOCATION])) {\n x = e.x[LOCATION] - offset.left;\n y = e.y[LOCATION] - offset.top;\n } else {\n var event = e.originalEvent || e;\n x = valueOrDefault(event.pageX, event.clientX) - offset.left;\n y = valueOrDefault(event.pageY, event.clientY) - offset.top;\n }\n\n var point = new g.Point(x, y);\n\n return point;\n };\n\n Map.prototype.eventToView = function eventToView (e) {\n var cursor = this.eventOffset(e);\n return this.locationToView(this.viewToLocation(cursor));\n };\n\n Map.prototype.eventToLayer = function eventToLayer (e) {\n return this.locationToLayer(this.eventToLocation(e));\n };\n\n Map.prototype.eventToLocation = function eventToLocation (e) {\n var cursor = this.eventOffset(e);\n return this.viewToLocation(cursor);\n };\n\n Map.prototype.viewSize = function viewSize () {\n var element = this.element;\n var scale = this._layerSize();\n var width = element.clientWidth;\n\n if (!this.options.wraparound) {\n width = min(scale, width);\n }\n\n return {\n width: width,\n height: min(scale, element.clientHeight)\n };\n };\n\n Map.prototype.exportVisual = function exportVisual () {\n this._reset();\n return false;\n };\n\n Map.prototype.hideTooltip = function hideTooltip () {\n if (this._tooltip) {\n this._tooltip.hide();\n }\n };\n\n Map.prototype._setOrigin = function _setOrigin (origin, zoom) {\n var size = this.viewSize(),\n topLeft;\n\n var originLocation = this._origin = Location.create(origin);\n topLeft = this.locationToLayer(originLocation, zoom);\n topLeft.x += size.width / 2;\n topLeft.y += size.height / 2;\n this.options.center = this.layerToLocation(topLeft, zoom).toArray();\n this.widgetService.notify(CENTER_CHANGE, { center: this.options.center });\n\n return this;\n };\n\n Map.prototype._getOrigin = function _getOrigin (invalidate) {\n var size = this.viewSize(),\n topLeft;\n\n if (invalidate || !this._origin) {\n topLeft = this.locationToLayer(this.center());\n topLeft.x -= size.width / 2;\n topLeft.y -= size.height / 2;\n this._origin = this.layerToLocation(topLeft);\n }\n\n return this._origin;\n };\n\n Map.prototype._setExtent = function _setExtent (newExtent) {\n var this$1 = this;\n\n var raw = Extent.create(newExtent);\n var se = raw.se.clone();\n\n if (this.options.wraparound && se.lng < 0 && newExtent.nw.lng > 0) {\n se.lng = 180 + (180 + se.lng);\n }\n\n var extent = new Extent(raw.nw, se);\n this.center(extent.center());\n var width = this.element.clientWidth;\n var height = this.element.clientHeight;\n var zoom;\n\n for (zoom = this.options.maxZoom; zoom >= this.options.minZoom; zoom--) {\n var topLeft = this$1.locationToLayer(extent.nw, zoom);\n var bottomRight = this$1.locationToLayer(extent.se, zoom);\n var layerWidth = math.abs(bottomRight.x - topLeft.x);\n var layerHeight = math.abs(bottomRight.y - topLeft.y);\n\n if (layerWidth <= width && layerHeight <= height) {\n break;\n }\n }\n\n this.zoom(zoom);\n };\n\n Map.prototype._getExtent = function _getExtent () {\n var nw = this._getOrigin();\n var bottomRight = this.locationToLayer(nw);\n var size = this.viewSize();\n\n bottomRight.x += size.width;\n bottomRight.y += size.height;\n\n var se = this.layerToLocation(bottomRight);\n\n return new Extent(nw, se);\n };\n\n Map.prototype._zoomAround = function _zoomAround (pivot, level) {\n this._setOrigin(this.layerToLocation(pivot, level), level);\n this.zoom(level);\n };\n\n Map.prototype._initControls = function _initControls () {\n var controls = this.options.controls;\n if (controls.attribution) {\n this._createAttribution(controls.attribution);\n }\n\n if (!this.support.mobileOS) {\n if (controls.navigator) {\n this._createNavigator(controls.navigator);\n }\n\n if (controls.zoom) {\n this._createZoomControl(controls.zoom);\n }\n }\n };\n\n Map.prototype._createControlElement = function _createControlElement (options, defaultPosition) {\n var pos = options.position || defaultPosition;\n var posSelector = '.' + renderPos(pos).replace(' ', '.');\n var wrap = this.element.querySelector('.k-map-controls' + posSelector) || [];\n\n if (wrap.length === 0) {\n var div$1 = document.createElement(\"div\");\n addClass(div$1, 'k-map-controls ' + renderPos(pos));\n wrap = div$1;\n this.element.appendChild(wrap);\n }\n\n var div = document.createElement(\"div\");\n\n wrap.appendChild(div);\n\n return div;\n };\n\n Map.prototype._createAttribution = function _createAttribution (options) {\n var element = this._createControlElement(options, 'bottomRight');\n this.attribution = new Attribution(element, options);\n };\n\n Map.prototype._createNavigator = function _createNavigator (options) {\n var element = this._createControlElement(options, 'topLeft');\n var navigator = this.navigator = new Navigator(element, options);\n\n this._navigatorPan = this._navigatorPan.bind(this);\n navigator.bind('pan', this._navigatorPan);\n\n this._navigatorCenter = this._navigatorCenter.bind(this);\n navigator.bind('center', this._navigatorCenter);\n };\n\n Map.prototype._navigatorPan = function _navigatorPan (e) {\n var scroller = this.scroller;\n var x = scroller.scrollLeft + e.x;\n var y = scroller.scrollTop - e.y;\n var bounds = this._virtualSize;\n var width = this.element.clientWidth;\n var height = this.element.clientHeight;\n\n // TODO: Move limits to scroller\n x = limitValue(x, bounds.x.min, bounds.x.max - width);\n y = limitValue(y, bounds.y.min, bounds.y.max - height);\n\n this.scroller.one('scroll', proxy(this._scrollEnd, this));\n\n this.scroller.scrollTo(-x, -y);\n };\n\n Map.prototype._navigatorCenter = function _navigatorCenter () {\n this.center(this.options.center);\n };\n\n Map.prototype._createZoomControl = function _createZoomControl (options) {\n var element = this._createControlElement(options, 'topLeft');\n var zoomControl = this.zoomControl = new ZoomControl(element, options);\n\n this._zoomControlChange = this._zoomControlChange.bind(this);\n zoomControl.bind('change', this._zoomControlChange);\n };\n\n Map.prototype._zoomControlChange = function _zoomControlChange (e) {\n if (!this.trigger('zoomStart', { originalEvent: e })) {\n this.zoom(this.zoom() + e.delta);\n\n this.trigger('zoomEnd', {\n originalEvent: e\n });\n }\n };\n\n Map.prototype._initScroller = function _initScroller () {\n var friction = this.support.mobileOS ? FRICTION_MOBILE : FRICTION;\n var zoomable = this.options.zoomable !== false;\n var scroller = this.scroller = new Scroller(this.element.children[0], {\n friction: friction,\n velocityMultiplier: VELOCITY_MULTIPLIER,\n zoom: zoomable,\n mousewheelScrolling: false,\n supportDoubleTap: true\n });\n\n scroller.bind('scroll', proxy(this._scroll, this));\n scroller.bind('scrollEnd', proxy(this._scrollEnd, this));\n\n scroller.userEvents.bind('gesturestart', proxy(this._scaleStart, this));\n scroller.userEvents.bind('gestureend', proxy(this._scale, this));\n scroller.userEvents.bind('doubleTap', proxy(this._doubleTap, this));\n scroller.userEvents.bind('tap', proxy(this._tap, this));\n\n this.scrollElement = scroller.scrollElement;\n };\n\n Map.prototype._initLayers = function _initLayers () {\n var this$1 = this;\n\n var defs = this.options.layers,\n layers = this.layers = [];\n\n for (var i = 0; i < defs.length; i++) {\n var options = defs[i];\n\n var layer = this$1._createLayer(options);\n layers.push(layer);\n }\n };\n\n Map.prototype._createLayer = function _createLayer (options) {\n var type = options.type || 'shape';\n var layerDefaults = this.options.layerDefaults[type];\n var layerOptions = type === MARKER ?\n deepExtend({}, this.options.markerDefaults, options) :\n deepExtend({}, layerDefaults, options);\n\n var layerConstructor = layersMap[type];\n var layer = new layerConstructor(this, layerOptions);\n\n if (type === MARKER) {\n this.markers = layer;\n }\n\n return layer;\n };\n\n Map.prototype._createTooltip = function _createTooltip () {\n return new Tooltip(this.widgetService, this.options.tooltip);\n };\n\n /* eslint-disable arrow-body-style */\n Map.prototype._initMarkers = function _initMarkers () {\n var markerLayers = (this.options.layers || []).filter(function (x) {\n return x && x.type === MARKER;\n });\n\n if (markerLayers.length > 0) {\n // render the markers from options.layers\n // instead of options.markers\n return;\n }\n\n this.markers = new MarkerLayer(this, this.options.markerDefaults);\n this.markers.add(this.options.markers);\n };\n /* eslint-enable arrow-body-style */\n\n Map.prototype._scroll = function _scroll (e) {\n var origin = this.locationToLayer(this._viewOrigin).round();\n var movable = e.sender.movable;\n var offset = new g.Point(movable.x, movable.y).scale(-1).scale(1 / movable.scale);\n\n origin.x += offset.x;\n origin.y += offset.y;\n this._scrollOffset = offset;\n\n this._tooltip.offset = offset;\n this.hideTooltip();\n\n this._setOrigin(this.layerToLocation(origin));\n\n this.trigger('pan', {\n originalEvent: e,\n origin: this._getOrigin(),\n center: this.center()\n });\n };\n\n Map.prototype._scrollEnd = function _scrollEnd (e) {\n if (!this._scrollOffset || !this._panComplete()) {\n return;\n }\n\n this._scrollOffset = null;\n this._panEndTimestamp = now();\n\n this.trigger('panEnd', {\n originalEvent: e,\n origin: this._getOrigin(),\n center: this.center()\n });\n };\n\n Map.prototype._panComplete = function _panComplete () {\n return now() - (this._panEndTimestamp || 0) > 50;\n };\n\n Map.prototype._scaleStart = function _scaleStart (e) {\n if (this.trigger('zoomStart', { originalEvent: e })) {\n var touch = e.touches[1];\n\n if (touch) {\n touch.cancel();\n }\n }\n };\n\n Map.prototype._scale = function _scale (e) {\n var scale = this.scroller.movable.scale;\n var zoom = this._scaleToZoom(scale);\n var gestureCenter = new g.Point(e.center.x, e.center.y);\n var centerLocation = this.viewToLocation(gestureCenter, zoom);\n var centerPoint = this.locationToLayer(centerLocation, zoom);\n var originPoint = centerPoint.translate(-gestureCenter.x, -gestureCenter.y);\n\n this._zoomAround(originPoint, zoom);\n\n this.trigger('zoomEnd', {\n originalEvent: e\n });\n };\n\n Map.prototype._scaleToZoom = function _scaleToZoom (scaleDelta) {\n var scale = this._layerSize() * scaleDelta;\n var tiles = scale / this.options.minSize;\n var zoom = math.log(tiles) / math.log(2);\n\n return math.round(zoom);\n };\n\n Map.prototype._reset = function _reset () {\n if (this.attribution) {\n this.attribution.filter(this.center(), this.zoom());\n }\n\n this._viewOrigin = this._getOrigin(true);\n\n this._resetScroller();\n this.hideTooltip();\n\n this.trigger('beforeReset');\n this.trigger('reset');\n };\n\n Map.prototype._resetScroller = function _resetScroller () {\n var scroller = this.scroller;\n var x = scroller.dimensions.x;\n var y = scroller.dimensions.y;\n var scale = this._layerSize();\n var nw = this.extent().nw;\n var topLeft = this.locationToLayer(nw).round();\n\n scroller.movable.round = true;\n scroller.reset();\n scroller.userEvents.cancel();\n\n var zoom = this.zoom();\n\n scroller.dimensions.forcedMinScale = pow(2, this.options.minZoom - zoom);\n scroller.dimensions.maxScale = pow(2, this.options.maxZoom - zoom);\n\n var xBounds = {\n min: -topLeft.x,\n max: scale - topLeft.x\n };\n\n var yBounds = {\n min: -topLeft.y,\n max: scale - topLeft.y\n };\n\n if (this.options.wraparound) {\n xBounds.max = 20 * scale;\n xBounds.min = -xBounds.max;\n }\n\n if (this.options.pannable === false) {\n var viewSize = this.viewSize();\n xBounds.min = yBounds.min = 0;\n xBounds.max = viewSize.width;\n yBounds.max = viewSize.height;\n }\n\n x.makeVirtual();\n y.makeVirtual();\n\n x.virtualSize(xBounds.min, xBounds.max);\n y.virtualSize(yBounds.min, yBounds.max);\n\n this._virtualSize = {\n x: xBounds,\n y: yBounds\n };\n };\n\n // kept for API compatibility, not used\n Map.prototype._renderLayers = function _renderLayers () {\n };\n\n Map.prototype._layerSize = function _layerSize (zoom) {\n var newZoom = valueOrDefault(zoom, this.options.zoom);\n return this.options.minSize * pow(2, newZoom);\n };\n\n Map.prototype._tap = function _tap (e) {\n if (!this._panComplete()) {\n return;\n }\n\n var cursor = this.eventOffset(e);\n this.hideTooltip();\n\n this.trigger('click', {\n originalEvent: e,\n location: this.viewToLocation(cursor)\n });\n };\n\n Map.prototype._doubleTap = function _doubleTap (e) {\n var options = this.options;\n\n if (options.zoomable !== false) {\n if (!this.trigger('zoomStart', { originalEvent: e })) {\n var toZoom = this.zoom() + DEFAULT_ZOOM_RATE;\n var cursor = this.eventOffset(e);\n var location = this.viewToLocation(cursor);\n var postZoom = this.locationToLayer(location, toZoom);\n var origin = postZoom.translate(-cursor.x, -cursor.y);\n\n this._zoomAround(origin, toZoom);\n\n this.trigger('zoomEnd', {\n originalEvent: e\n });\n }\n }\n };\n\n Map.prototype._mousewheel = function _mousewheel (e) {\n var delta = mousewheelDelta(e) > 0 ? -1 : 1;\n var options = this.options;\n var fromZoom = this.zoom();\n var toZoom = limitValue(fromZoom + delta, options.minZoom, options.maxZoom);\n\n if (options.zoomable !== false && toZoom !== fromZoom) {\n if (!this.trigger('zoomStart', { originalEvent: e })) {\n var cursor = this.eventOffset(e);\n var location = this.viewToLocation(cursor);\n var postZoom = this.locationToLayer(location, toZoom);\n var origin = postZoom.translate(-cursor.x, -cursor.y);\n\n this._zoomAround(origin, toZoom);\n\n this.trigger('zoomEnd', {\n originalEvent: e\n });\n }\n }\n };\n\n Map.prototype._toDocumentCoordinates = function _toDocumentCoordinates (point) {\n var offset = elementOffset(this.element);\n\n return {\n left: round(point.x + offset.left),\n top: round(point.y + offset.top)\n };\n };\n\n return Map;\n}(Observable));\n\nsetDefaultOptions(Map, {\n name: 'Map',\n controls: {\n attribution: true,\n navigator: {\n panStep: 100\n },\n zoom: true\n },\n layers: [],\n layerDefaults: {\n shape: {\n style: {\n fill: {\n color: '#fff'\n },\n stroke: {\n color: '#aaa',\n width: 0.5\n }\n }\n },\n bubble: {\n style: {\n fill: {\n color: '#fff',\n opacity: 0.5\n },\n stroke: {\n color: '#aaa',\n width: 0.5\n }\n }\n },\n marker: {\n shape: 'pinTarget',\n tooltip: {\n position: 'top'\n }\n }\n },\n center: [\n 0,\n 0\n ],\n zoom: 3,\n minSize: 256,\n minZoom: 1,\n maxZoom: 19,\n markers: [],\n markerDefaults: {\n shape: 'pinTarget',\n tooltip: {\n position: 'top'\n }\n },\n wraparound: true,\n // If set to true, GeoJSON layer \"Point\" features will be rendered as markers.\n // Otherwise, the points will be rendered as circles.\n // Defaults to `true` for KUI/jQuery, `false` everywhere else.\n renderPointsAsMarkers: false\n});\n\nsetDefaultEvents(Map, [\n 'beforeReset',\n 'click',\n 'markerActivate',\n 'markerClick',\n 'markerCreated',\n\n // Events for implementing custom tooltips.\n 'markerMouseEnter',\n 'markerMouseLeave',\n\n 'pan',\n 'panEnd',\n 'reset',\n 'shapeClick',\n 'shapeCreated',\n 'shapeFeatureCreated',\n 'shapeMouseEnter',\n 'shapeMouseLeave',\n 'zoomEnd',\n 'zoomStart'\n]);\n\nexport default Map;\n","var BAR_GAP = 1.5;\nvar BAR_SPACING = 0.4;\nvar BLACK = '#000';\nvar SANS = 'Arial, Helvetica, sans-serif';\nvar SANS11 = \"11px \" + SANS;\nvar SANS12 = '12px ' + SANS;\nvar SANS16 = '16px ' + SANS;\nvar TRANSPARENT = 'transparent';\nvar WHITE = '#fff';\n\nvar notes = function () { return ({\n icon: {\n border: {\n width: 1\n }\n },\n label: {\n font: SANS12,\n padding: 3\n },\n line: {\n length: 10,\n width: 2\n },\n visible: true\n}); };\n\nvar axisDefaults = function () { return ({\n labels: {\n font: SANS12\n },\n notes: notes(),\n title: {\n font: SANS16,\n margin: 5\n }\n}); };\n\nvar areaSeries = function () { return ({\n highlight: {\n markers: {\n border: {}\n }\n },\n line: {\n opacity: 1,\n width: 0\n },\n markers: {\n size: 6,\n visible: false\n },\n opacity: 0.4\n}); };\n\nvar rangeAreaSeries = function () { return ({\n highlight: {\n markers: {\n border: {}\n }\n },\n line: {\n opacity: 1,\n width: 0\n },\n markers: {\n size: 6,\n visible: false\n },\n opacity: 0.4\n}); };\n\nvar barSeries = function () { return ({\n gap: BAR_GAP,\n spacing: BAR_SPACING\n}); };\n\nvar boxPlotSeries = function () { return ({\n outliersField: \"\",\n meanField: \"\",\n border: {\n _brightness: 0.8,\n width: 1\n },\n downColor: WHITE,\n gap: 1,\n highlight: {\n border: {\n opacity: 1,\n width: 2\n },\n whiskers: {\n width: 3\n },\n mean: {\n width: 2\n },\n median: {\n width: 2\n }\n },\n mean: {\n width: 2\n },\n median: {\n width: 2\n },\n spacing: 0.3,\n whiskers: {\n width: 2\n }\n}); };\n\nvar bubbleSeries = function () { return ({\n border: {\n width: 0\n },\n labels: {\n background: TRANSPARENT\n },\n opacity: 0.6\n}); };\n\nvar bulletSeries = function () { return ({\n gap: BAR_GAP,\n spacing: BAR_SPACING,\n target: {\n color: \"#ff0000\"\n }\n}); };\n\nvar candlestickSeries = function () { return ({\n border: {\n _brightness: 0.8,\n width: 1\n },\n downColor: WHITE,\n gap: 1,\n highlight: {\n border: {\n opacity: 1,\n width: 2\n },\n line: {\n width: 2\n }\n },\n line: {\n color: BLACK,\n width: 1\n },\n spacing: 0.3\n}); };\n\nvar columnSeries = function () { return ({\n gap: BAR_GAP,\n spacing: BAR_SPACING\n}); };\n\nvar donutSeries = function () { return ({\n margin: 1\n}); };\n\nvar lineSeries = function () { return ({\n width: 2\n}); };\n\nvar ohlcSeries = function () { return ({\n gap: 1,\n highlight: {\n line: {\n opacity: 1,\n width: 3\n }\n },\n line: {\n width: 1\n },\n spacing: 0.3\n}); };\n\nvar radarAreaSeries = function () { return ({\n line: {\n opacity: 1,\n width: 0\n },\n markers: {\n size: 6,\n visible: false\n },\n opacity: 0.5\n}); };\n\nvar radarLineSeries = function () { return ({\n markers: {\n visible: false\n },\n width: 2\n}); };\n\nvar rangeBarSeries = function () { return ({\n gap: BAR_GAP,\n spacing: BAR_SPACING\n}); };\n\nvar rangeColumnSeries = function () { return ({\n gap: BAR_GAP,\n spacing: BAR_SPACING\n}); };\n\nvar scatterLineSeries = function () { return ({\n width: 1\n}); };\n\nvar waterfallSeries = function () { return ({\n gap: 0.5,\n line: {\n color: BLACK,\n width: 1\n },\n spacing: BAR_SPACING\n}); };\n\nvar pieSeries = function () { return ({\n labels: {\n background: '',\n color: '',\n padding: {\n top: 5,\n bottom: 5,\n left: 7,\n right: 7\n }\n }\n}); };\n\nvar funnelSeries = function () { return ({\n labels: {\n background: '',\n color: '',\n padding: {\n top: 5,\n bottom: 5,\n left: 7,\n right: 7\n }\n }\n}); };\n\nvar heatmapSeries = function () { return ({\n labels: {\n color: '',\n background: TRANSPARENT,\n visible: true\n },\n highlight: {\n border: {\n width: 0\n }\n }\n}); };\n\nvar seriesDefaults = function (options) { return ({\n visible: true,\n labels: {\n font: SANS11\n },\n overlay: options.gradients ? {} : {\n gradient: \"none\"\n },\n area: areaSeries(),\n rangeArea: rangeAreaSeries(),\n verticalRangeArea: rangeAreaSeries(),\n bar: barSeries(),\n boxPlot: boxPlotSeries(),\n bubble: bubbleSeries(),\n bullet: bulletSeries(),\n candlestick: candlestickSeries(),\n column: columnSeries(),\n heatmap: heatmapSeries(),\n pie: pieSeries(),\n donut: donutSeries(),\n funnel: funnelSeries(),\n horizontalWaterfall: waterfallSeries(),\n line: lineSeries(),\n notes: notes(),\n ohlc: ohlcSeries(),\n radarArea: radarAreaSeries(),\n radarLine: radarLineSeries(),\n polarArea: radarAreaSeries(),\n polarLine: radarLineSeries(),\n rangeBar: rangeBarSeries(),\n rangeColumn: rangeColumnSeries(),\n scatterLine: scatterLineSeries(),\n verticalArea: areaSeries(),\n verticalBoxPlot: boxPlotSeries(),\n verticalBullet: bulletSeries(),\n verticalLine: lineSeries(),\n waterfall: waterfallSeries()\n}); };\n\nvar title = function () { return ({\n font: SANS16\n}); };\n\nvar subtitle = function () { return ({\n font: SANS12\n}); };\n\nvar legend = function () { return ({\n labels: {\n font: SANS12\n }\n}); };\n\nexport var baseTheme = function (options) {\n if ( options === void 0 ) options = {};\n\n return ({\n axisDefaults: axisDefaults(),\n categoryAxis: {\n majorGridLines: {\n visible: true\n }\n },\n navigator: {\n pane: {\n height: 90,\n margin: {\n top: 10\n }\n }\n },\n seriesDefaults: seriesDefaults(options),\n title: title(),\n subtitle: subtitle(),\n legend: legend()\n});\n};\n\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/**\n * @hidden\n */\nfunction hasParent(element, parent) {\n var current = element;\n while (current && current !== parent) {\n current = current.parentNode;\n }\n return current ? true : false;\n}\n/**\n * @hidden\n */\nfunction removeUndefinedProps(obj) {\n var clonedObject = __assign({}, obj);\n Object.keys(clonedObject).forEach(function (key) {\n if (clonedObject[key] === undefined) {\n delete clonedObject[key];\n }\n if (key === 'dataItems') {\n clonedObject.data = clonedObject[key];\n delete clonedObject[key];\n }\n if (key === 'lineStyle' && clonedObject[key]) {\n clonedObject.style = clonedObject[key];\n delete clonedObject[key];\n }\n });\n return clonedObject;\n}\n/**\n * @hidden\n */\nfunction validateChildren(props, propName, componentName, childType) {\n var prop = props[propName];\n if (prop) {\n if (Array.isArray(prop)) {\n for (var _i = 0, prop_1 = prop; _i < prop_1.length; _i++) {\n var value = prop_1[_i];\n if (!value.type || value.type !== childType) {\n return new Error(\"\".concat(componentName, \" children should be Array of type \").concat(childType.displayName, \".\"));\n }\n }\n }\n }\n return null;\n}\n/**\n * @hidden\n */\nvar toggle = function (flag) { return flag === undefined ? false : !flag; };\nexport { hasParent, validateChildren, toggle, removeUndefinedProps };\n","var getTouch = function (domEvent) {\n return {\n x: {\n location: domEvent.pageX\n },\n y: {\n location: domEvent.pageY\n }\n };\n};\nvar eventArgs = function (e, previousArgs) {\n var pointers = e.pointers;\n var pointer = pointers[0];\n var xLocation = pointer.pageX;\n var yLocation = pointer.pageY;\n var distance = 0;\n if (pointers.length > 1) {\n var pointer1 = pointers[0];\n var pointer2 = pointers[1];\n distance = Math.sqrt(Math.pow(pointer1.pageX - pointer2.pageX, 2) +\n Math.pow(pointer1.pageY - pointer2.pageY, 2));\n }\n return {\n distance: distance,\n event: e.srcEvent,\n preventDefault: function () {\n e.preventDefault();\n },\n target: e.target,\n touches: pointers.map(getTouch),\n type: e.type,\n x: {\n delta: previousArgs ? xLocation - previousArgs.x.location : 0,\n initialDelta: e.deltaX,\n location: xLocation,\n startLocation: xLocation - e.deltaX\n },\n y: {\n delta: previousArgs ? yLocation - previousArgs.y.location : 0,\n initialDelta: e.deltaY,\n location: yLocation,\n startLocation: yLocation - e.deltaY\n }\n };\n};\nfunction shouldBindGroup(groupNames, events) {\n for (var idx = 0; idx < groupNames.length; idx++) {\n if (events[groupNames[idx]]) {\n return true;\n }\n }\n return false;\n}\nvar eventGroups = [{\n end: 'panend',\n move: 'panmove',\n start: 'panstart'\n }, {\n gesturechange: 'pinchmove',\n gestureend: 'pinchend',\n gesturestart: 'pinchstart'\n }, {\n press: 'press'\n }, {\n tap: 'tap'\n }];\n/**\n * @hidden\n */\nvar DomEvents = /** @class */ (function () {\n function DomEvents(hammerInstance, events) {\n this.hammerInstance = hammerInstance;\n this.eventHandlers = {};\n this.tap = this.tap.bind(this);\n this.press = this.press.bind(this);\n this.panstart = this.panstart.bind(this);\n this.panmove = this.panmove.bind(this);\n this.panend = this.panend.bind(this);\n this.pinchstart = this.pinchstart.bind(this);\n this.pinchmove = this.pinchmove.bind(this);\n this.pinchend = this.pinchend.bind(this);\n if (events) {\n this.bind(events);\n }\n }\n DomEvents.prototype.tap = function (e) {\n this.trigger('tap', e);\n };\n DomEvents.prototype.press = function (e) {\n this.trigger('press', e);\n };\n DomEvents.prototype.panstart = function (e) {\n delete this.previous;\n this.previous = this.trigger('start', e);\n };\n DomEvents.prototype.panmove = function (e) {\n this.previous = this.trigger('move', e);\n };\n DomEvents.prototype.panend = function (e) {\n this.trigger('end', e);\n delete this.previous;\n };\n DomEvents.prototype.pinchstart = function (e) {\n this.trigger('gesturestart', e);\n };\n DomEvents.prototype.pinchmove = function (e) {\n this.trigger('gesturechange', e);\n };\n DomEvents.prototype.pinchend = function (e) {\n this.trigger('gestureend', e);\n };\n DomEvents.prototype.trigger = function (name, e) {\n var args = eventArgs(e, this.previous);\n if (this.eventHandlers[name]) {\n this.eventHandlers[name](args);\n }\n return args;\n };\n DomEvents.prototype.bind = function (events) {\n if (events === void 0) { events = {}; }\n this.unbind();\n this.eventHandlers = events;\n for (var idx = 0; idx < eventGroups.length; idx++) {\n var eventGroup = eventGroups[idx];\n var groupNames = Object.keys(eventGroup);\n if (shouldBindGroup(groupNames, events)) {\n for (var nameIdx = 0; nameIdx < groupNames.length; nameIdx++) {\n var name_1 = eventGroup[groupNames[nameIdx]];\n this.hammerInstance.on(name_1, this[name_1]);\n }\n }\n }\n };\n DomEvents.prototype.unbind = function () {\n if (this.hammerInstance) {\n this.hammerInstance.off();\n }\n this.eventHandlers = {};\n };\n DomEvents.prototype.destroy = function () {\n if (this.hammerInstance) {\n this.hammerInstance.destroy();\n delete this.hammerInstance;\n }\n delete this.eventHandlers;\n };\n DomEvents.prototype.toggleDrag = function (enable) {\n this.toggle('pan', enable);\n };\n DomEvents.prototype.toggleZoom = function (enable) {\n this.toggle('pinch', enable);\n };\n DomEvents.prototype.toggle = function (recognizer, enable) {\n if (this.hammerInstance) {\n var instanceRecognizer = this.hammerInstance.get(recognizer);\n instanceRecognizer.set({\n enable: enable\n });\n }\n };\n return DomEvents;\n}());\nexport { DomEvents };\n","import { DomEvents } from './dom-events';\nvar MISSING_HAMMER_MESSAGE = 'Hammerjs is not loaded.' +\n 'Solution: http://www.telerik.com/kendo-vue-ui/components/charts/troubleshooting/#toc-installation';\n/**\n * @hidden\n */\nvar DomEventsBuilder = /** @class */ (function () {\n function DomEventsBuilder() {\n }\n DomEventsBuilder.create = function (element, events) {\n if (typeof window !== 'undefined') {\n var HAMMER = window.Hammer;\n if (!HAMMER) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(MISSING_HAMMER_MESSAGE);\n }\n return;\n }\n var hammerInstance = new HAMMER(element, {\n recognizers: [\n [HAMMER.Tap],\n [HAMMER.Pan],\n [HAMMER.Pinch],\n [HAMMER.Press, { time: 0 }]\n ]\n });\n return new DomEvents(hammerInstance, events);\n }\n };\n return DomEventsBuilder;\n}());\nexport { DomEventsBuilder };\n","/**\n * @hidden\n */\nvar BaseEvent = /** @class */ (function () {\n /**\n * @hidden\n */\n function BaseEvent(target) {\n this.target = target;\n }\n return BaseEvent;\n}());\nexport { BaseEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/* eslint-disable max-line-length */\n/**\n * Arguments for the `axisLabelClick` event.\n */\nvar AxisLabelClickEvent = /** @class */ (function (_super) {\n __extends(AxisLabelClickEvent, _super);\n /**\n * @hidden\n */\n function AxisLabelClickEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.axis = e.axis;\n _this.dataItem = e.dataItem;\n _this.index = e.index;\n _this.text = e.text;\n _this.value = e.value;\n return _this;\n }\n return AxisLabelClickEvent;\n}(BaseEvent));\nexport { AxisLabelClickEvent };\n// tslint:enable:max-line-length\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/**\n * @hidden\n */\nvar PreventableEvent = /** @class */ (function (_super) {\n __extends(PreventableEvent, _super);\n function PreventableEvent() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.prevented = false;\n return _this;\n }\n /* eslint-disable max-line-length */\n /**\n * Prevents the default action for a specified event. In this way, the source component suppresses the built-in behavior that follows the event.\n */\n PreventableEvent.prototype.preventDefault = function () {\n this.prevented = true;\n };\n /**\n * Returns `true` if the event was prevented by any of its subscribers.\n *\n * @returns `true` if the default action was prevented.\n * Otherwise, returns `false`.\n */\n PreventableEvent.prototype.isDefaultPrevented = function () {\n return this.prevented;\n };\n return PreventableEvent;\n}(BaseEvent));\nexport { PreventableEvent };\n// tslint:enable:max-line-length\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PreventableEvent } from './preventable-event';\n/**\n * Arguments for the `drag` event.\n */\nvar DragEvent = /** @class */ (function (_super) {\n __extends(DragEvent, _super);\n /**\n * @hidden\n */\n function DragEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.axisRanges = e.axisRanges;\n _this.nativeEvent = e.originalEvent;\n return _this;\n }\n return DragEvent;\n}(PreventableEvent));\nexport { DragEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/* eslint-disable max-line-length */\n/**\n * Arguments for the `dragEnd` event.\n */\nvar DragEndEvent = /** @class */ (function (_super) {\n __extends(DragEndEvent, _super);\n /**\n * @hidden\n */\n function DragEndEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.axisRanges = e.axisRanges;\n _this.nativeEvent = e.originalEvent;\n return _this;\n }\n return DragEndEvent;\n}(BaseEvent));\nexport { DragEndEvent };\n// tslint:enable:max-line-length\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PreventableEvent } from './preventable-event';\n/**\n * Arguments for the `dragStart` event.\n */\nvar DragStartEvent = /** @class */ (function (_super) {\n __extends(DragStartEvent, _super);\n /**\n * @hidden\n */\n function DragStartEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.axisRanges = e.axisRanges;\n _this.nativeEvent = e.originalEvent;\n return _this;\n }\n return DragStartEvent;\n}(PreventableEvent));\nexport { DragStartEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PreventableEvent } from './preventable-event';\n/**\n * Arguments for the `legendItemHover` event.\n */\nvar LegendItemHoverEvent = /** @class */ (function (_super) {\n __extends(LegendItemHoverEvent, _super);\n /**\n * @hidden\n */\n function LegendItemHoverEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.series = e.series;\n _this.seriesIndex = e.seriesIndex;\n _this.pointIndex = e.pointIndex;\n _this.text = e.text;\n return _this;\n }\n /**\n * If called, the series highlight is not shown as a result of hovering over the legend item.\n */\n LegendItemHoverEvent.prototype.preventDefault = function () {\n _super.prototype.preventDefault.call(this);\n };\n return LegendItemHoverEvent;\n}(PreventableEvent));\nexport { LegendItemHoverEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PreventableEvent } from './preventable-event';\n/**\n * Arguments for the `legendItemClick` event.\n */\nvar LegendItemClickEvent = /** @class */ (function (_super) {\n __extends(LegendItemClickEvent, _super);\n /**\n * @hidden\n */\n function LegendItemClickEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.series = e.series;\n _this.seriesIndex = e.seriesIndex;\n _this.pointIndex = e.pointIndex;\n _this.text = e.text;\n return _this;\n }\n /**\n * If called, the series visibility is not toggled as a result of clicking the legend item.\n */\n LegendItemClickEvent.prototype.preventDefault = function () {\n _super.prototype.preventDefault.call(this);\n };\n return LegendItemClickEvent;\n}(PreventableEvent));\nexport { LegendItemClickEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PreventableEvent } from './preventable-event';\n/**\n * Arguments for the `legendItemLeave` event.\n */\nvar LegendItemLeaveEvent = /** @class */ (function (_super) {\n __extends(LegendItemLeaveEvent, _super);\n /**\n * @hidden\n */\n function LegendItemLeaveEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.series = e.series;\n _this.seriesIndex = e.seriesIndex;\n _this.pointIndex = e.pointIndex;\n _this.text = e.text;\n return _this;\n }\n /**\n * @hidden\n */\n LegendItemLeaveEvent.prototype.preventDefault = function () {\n _super.prototype.preventDefault.call(this);\n };\n return LegendItemLeaveEvent;\n}(PreventableEvent));\nexport { LegendItemLeaveEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/**\n * The arguments for the `navigatorFilter` event.\n */\nvar NavigatorFilterEvent = /** @class */ (function (_super) {\n __extends(NavigatorFilterEvent, _super);\n /**\n * Constructs the event arguments from a raw object.\n */\n function NavigatorFilterEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.from = e.from;\n _this.to = e.to;\n return _this;\n }\n return NavigatorFilterEvent;\n}(BaseEvent));\nexport { NavigatorFilterEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/**\n * Arguments for the `noteClick` event.\n */\nvar NoteClickEvent = /** @class */ (function (_super) {\n __extends(NoteClickEvent, _super);\n /**\n * @hidden\n */\n function NoteClickEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.category = e.category;\n _this.dataItem = e.dataItem;\n _this.series = e.series;\n _this.value = e.value;\n _this.visual = e.visual;\n return _this;\n }\n return NoteClickEvent;\n}(BaseEvent));\nexport { NoteClickEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/**\n * Arguments for the `noteHover` event.\n */\nvar NoteHoverEvent = /** @class */ (function (_super) {\n __extends(NoteHoverEvent, _super);\n /**\n * @hidden\n */\n function NoteHoverEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.category = e.category;\n _this.dataItem = e.dataItem;\n _this.series = e.series;\n _this.value = e.value;\n _this.visual = e.visual;\n return _this;\n }\n return NoteHoverEvent;\n}(BaseEvent));\nexport { NoteHoverEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/**\n * Arguments for the `plotAreaClick` event.\n */\nvar PlotAreaClickEvent = /** @class */ (function (_super) {\n __extends(PlotAreaClickEvent, _super);\n /**\n * @hidden\n */\n function PlotAreaClickEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.category = e.category;\n _this.nativeEvent = e.originalEvent;\n _this.value = e.value;\n _this.x = e.x;\n _this.y = e.y;\n return _this;\n }\n return PlotAreaClickEvent;\n}(BaseEvent));\nexport { PlotAreaClickEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/**\n * Arguments for the `plotAreaHover` event.\n */\nvar PlotAreaHoverEvent = /** @class */ (function (_super) {\n __extends(PlotAreaHoverEvent, _super);\n /**\n * @hidden\n */\n function PlotAreaHoverEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.category = e.category;\n _this.nativeEvent = e.originalEvent;\n _this.value = e.value;\n _this.x = e.x;\n _this.y = e.y;\n return _this;\n }\n return PlotAreaHoverEvent;\n}(BaseEvent));\nexport { PlotAreaHoverEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/**\n * Arguments for the `render` event.\n */\nvar RenderEvent = /** @class */ (function (_super) {\n __extends(RenderEvent, _super);\n /**\n * @hidden\n */\n function RenderEvent(_e, sender) {\n return _super.call(this, sender) || this;\n }\n return RenderEvent;\n}(BaseEvent));\nexport { RenderEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PreventableEvent } from './preventable-event';\n/**\n * Arguments for the `select` event.\n */\nvar SelectEvent = /** @class */ (function (_super) {\n __extends(SelectEvent, _super);\n /**\n * @hidden\n */\n function SelectEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.axis = e.axis;\n _this.from = e.from;\n _this.to = e.to;\n return _this;\n }\n return SelectEvent;\n}(PreventableEvent));\nexport { SelectEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/**\n * Arguments for the `selectEnd` event.\n */\nvar SelectEndEvent = /** @class */ (function (_super) {\n __extends(SelectEndEvent, _super);\n /**\n * @hidden\n */\n function SelectEndEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.axis = e.axis;\n _this.from = e.from;\n _this.to = e.to;\n return _this;\n }\n return SelectEndEvent;\n}(BaseEvent));\nexport { SelectEndEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PreventableEvent } from './preventable-event';\n/**\n * Arguments for the `selectStart` event.\n */\nvar SelectStartEvent = /** @class */ (function (_super) {\n __extends(SelectStartEvent, _super);\n /**\n * @hidden\n */\n function SelectStartEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.axis = e.axis;\n _this.from = e.from;\n _this.to = e.to;\n return _this;\n }\n return SelectStartEvent;\n}(PreventableEvent));\nexport { SelectStartEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/* eslint-disable max-line-length */\n/**\n * Arguments for the `seriesClick` event.\n */\nvar SeriesClickEvent = /** @class */ (function (_super) {\n __extends(SeriesClickEvent, _super);\n // tslint:enable:max-line-length\n /**\n * @hidden\n */\n function SeriesClickEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.category = e.category;\n _this.dataItem = e.dataItem;\n _this.nativeEvent = e.originalEvent;\n _this.percentage = e.percentage;\n _this.point = e.point;\n _this.series = e.series;\n _this.stackValue = e.stackValue;\n _this.value = e.value;\n return _this;\n }\n return SeriesClickEvent;\n}(BaseEvent));\nexport { SeriesClickEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PreventableEvent } from './preventable-event';\n/* eslint-disable max-line-length */\n/**\n * Arguments for the `seriesHover` event.\n */\nvar SeriesHoverEvent = /** @class */ (function (_super) {\n __extends(SeriesHoverEvent, _super);\n /**\n * @hidden\n */\n function SeriesHoverEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.category = e.category;\n _this.categoryPoints = e.categoryPoints;\n _this.dataItem = e.dataItem;\n _this.nativeEvent = e.originalEvent;\n _this.percentage = e.percentage;\n _this.point = e.point;\n _this.series = e.series;\n _this.stackValue = e.stackValue;\n _this.value = e.value;\n return _this;\n }\n return SeriesHoverEvent;\n}(PreventableEvent));\nexport { SeriesHoverEvent };\n// tslint:enable:max-line-length\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PreventableEvent } from './preventable-event';\n/* eslint-disable max-line-length */\n/**\n * Arguments for the `zoom` event.\n */\nvar ZoomEvent = /** @class */ (function (_super) {\n __extends(ZoomEvent, _super);\n // tslint:enable:max-line-length\n /**\n * @hidden\n */\n function ZoomEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.axisRanges = e.axisRanges;\n _this.delta = e.delta;\n _this.nativeEvent = e.originalEvent;\n return _this;\n }\n return ZoomEvent;\n}(PreventableEvent));\nexport { ZoomEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { BaseEvent } from './base-event';\n/* eslint-disable max-line-length */\n/**\n * Arguments for the `zoomEnd` event.\n */\nvar ZoomEndEvent = /** @class */ (function (_super) {\n __extends(ZoomEndEvent, _super);\n // tslint:enable:max-line-length\n /**\n * @hidden\n */\n function ZoomEndEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.axisRanges = e.axisRanges;\n _this.nativeEvent = e.originalEvent;\n return _this;\n }\n return ZoomEndEvent;\n}(BaseEvent));\nexport { ZoomEndEvent };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { PreventableEvent } from './preventable-event';\n/* eslint-disable max-line-length */\n/**\n * Arguments for the `zoomStart` event.\n */\nvar ZoomStartEvent = /** @class */ (function (_super) {\n __extends(ZoomStartEvent, _super);\n // tslint:enable:max-line-length\n /**\n * @hidden\n */\n function ZoomStartEvent(e, target) {\n var _this = _super.call(this, target) || this;\n _this.axisRanges = e.axisRanges;\n _this.nativeEvent = e.originalEvent;\n return _this;\n }\n return ZoomStartEvent;\n}(PreventableEvent));\nexport { ZoomStartEvent };\n","import { AxisLabelClickEvent } from './axis-label-click-event';\nimport { DragEvent } from './drag-event';\nimport { DragEndEvent } from './drag-end-event';\nimport { DragStartEvent } from './drag-start-event';\nimport { LegendItemHoverEvent } from './legend-item-hover-event';\nimport { LegendItemClickEvent } from './legend-item-click-event';\nimport { LegendItemLeaveEvent } from './legend-item-leave-event';\nimport { NavigatorFilterEvent } from './navigator-filter-event';\nimport { NoteClickEvent } from './note-click-event';\nimport { NoteHoverEvent } from './note-hover-event';\nimport { PlotAreaClickEvent } from './plot-area-click-event';\nimport { PlotAreaHoverEvent } from './plot-area-hover-event';\nimport { RenderEvent } from './render-event';\nimport { SelectEvent } from './select-event';\nimport { SelectEndEvent } from './select-end-event';\nimport { SelectStartEvent } from './select-start-event';\nimport { SeriesClickEvent } from './series-click-event';\nimport { SeriesHoverEvent } from './series-hover-event';\nimport { ZoomEvent } from './zoom-event';\nimport { ZoomEndEvent } from './zoom-end-event';\nimport { ZoomStartEvent } from './zoom-start-event';\nvar EVENT_MAP = {\n axisLabelClick: AxisLabelClickEvent,\n drag: DragEvent,\n dragEnd: DragEndEvent,\n dragStart: DragStartEvent,\n legendItemHover: LegendItemHoverEvent,\n legendItemClick: LegendItemClickEvent,\n legendItemLeave: LegendItemLeaveEvent,\n navigatorFilter: NavigatorFilterEvent,\n noteClick: NoteClickEvent,\n noteHover: NoteHoverEvent,\n plotAreaClick: PlotAreaClickEvent,\n plotAreaHover: PlotAreaHoverEvent,\n render: RenderEvent,\n select: SelectEvent,\n selectEnd: SelectEndEvent,\n selectStart: SelectStartEvent,\n seriesClick: SeriesClickEvent,\n seriesHover: SeriesHoverEvent,\n zoom: ZoomEvent,\n zoomEnd: ZoomEndEvent,\n zoomStart: ZoomStartEvent\n};\n/**\n * @hidden\n */\nfunction create(name, args, sender) {\n if (EVENT_MAP[name]) {\n return new EVENT_MAP[name](args, sender);\n }\n}\nexport { create };\n","/**\n * @hidden\n */\nvar DomEvent = /** @class */ (function () {\n /**\n * @hidden\n */\n function DomEvent(sender, e) {\n this.sender = sender;\n this.event = e;\n }\n return DomEvent;\n}());\nexport { DomEvent };\nfunction toDomEvent(sender, e) {\n return new DomEvent(sender, e);\n}\nexport { toDomEvent };\n","import { chartBaseTheme } from '@progress/kendo-charts';\nvar font = function (style) { return \"\".concat(style.fontWeight, \" \").concat(style.fontSize, \" \").concat(style.fontFamily); };\nvar computedBackgroundColor = function (element) { return window.getComputedStyle(element).backgroundColor; };\nvar letterPos = function (letter) { return letter.toLowerCase().charCodeAt(0) - 'a'.charCodeAt(0); };\nvar seriesPos = function (name) {\n var alpha = name.match(/series-([a-z])$/);\n if (alpha !== null) {\n return letterPos(alpha[1]);\n }\n var num = name.split('--series-')[1];\n return parseInt(num, 10) - 1;\n};\nvar SERIES_COLORS = 30;\nvar seriesTemplate = function () {\n var result = \"\\n
\\n
\\n
\\n
\\n
\\n
\\n\";\n for (var i = 0; i < SERIES_COLORS; i++) {\n result += \"\\n
\");\n }\n return result;\n};\nvar template = \"\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n \".concat(seriesTemplate(), \"\\n
\\n\");\n/**\n * @hidden\n */\nvar ThemeService = /** @class */ (function () {\n function ThemeService(store) {\n this.store = store;\n }\n ThemeService.prototype.setStyle = function (field, value) {\n this.store.dispatch({ type: 'set', payload: { field: field, value: value } });\n };\n ThemeService.prototype.setColors = function () {\n this.mapColor('axisDefaults.crosshair.color', 'chart-crosshair-background');\n this.mapColor('axisDefaults.labels.color', 'normal-text-color');\n this.mapColor('axisDefaults.line.color', 'chart-major-lines');\n this.mapColor('axisDefaults.majorGridLines.color', 'chart-major-lines');\n this.mapColor('axisDefaults.minorGridLines.color', 'chart-minor-lines');\n this.mapColor('axisDefaults.notes.icon.background', 'chart-notes-background');\n this.mapColor('axisDefaults.notes.icon.border.color', 'chart-notes-border');\n this.mapColor('axisDefaults.notes.line.color', 'chart-notes-lines');\n this.mapColor('axisDefaults.title.color', 'normal-text-color');\n this.mapColor('chartArea.background', 'background');\n this.mapColor('legend.inactiveItems.labels.color', 'chart-inactive');\n this.mapColor('legend.inactiveItems.markers.color', 'chart-inactive');\n this.mapColor('legend.labels.color', 'normal-text-color');\n this.mapColor('seriesDefaults.boxPlot.downColor', 'chart-major-lines');\n this.mapColor('seriesDefaults.boxPlot.mean.color', 'base');\n this.mapColor('seriesDefaults.boxPlot.median.color', 'base');\n this.mapColor('seriesDefaults.boxPlot.whiskers.color', 'primary');\n this.mapColor('seriesDefaults.bullet.target.color', 'normal-text-color');\n this.mapColor('seriesDefaults.candlestick.downColor', 'normal-text-color');\n this.mapColor('seriesDefaults.candlestick.line.color', 'normal-text-color');\n this.mapColor('seriesDefaults.errorBars.color', 'chart-error-bars-background');\n this.mapColor('seriesDefaults.horizontalWaterfall.line.color', 'chart-major-lines');\n this.mapColor('seriesDefaults.icon.border.color', 'chart-major-lines');\n this.mapColor('seriesDefaults.labels.background', 'background');\n this.mapColor('seriesDefaults.labels.color', 'normal-text-color');\n this.mapColor('seriesDefaults.notes.icon.background', 'chart-notes-background');\n this.mapColor('seriesDefaults.notes.icon.border.color', 'chart-notes-border');\n this.mapColor('seriesDefaults.notes.line.color', 'chart-notes-lines');\n this.mapColor('seriesDefaults.verticalBoxPlot.downColor', 'chart-major-lines');\n this.mapColor('seriesDefaults.verticalBoxPlot.mean.color', 'base');\n this.mapColor('seriesDefaults.verticalBoxPlot.median.color', 'base');\n this.mapColor('seriesDefaults.verticalBoxPlot.whiskers.color', 'primary');\n this.mapColor('seriesDefaults.verticalBullet.target.color', 'normal-text-color');\n this.mapColor('seriesDefaults.waterfall.line.color', 'chart-major-lines');\n this.mapColor('title.color', 'normal-text-color');\n var opacity = parseFloat(this.queryStyle('chart-area-opacity').opacity);\n if (!isNaN(opacity)) {\n this.setStyle('seriesDefaults.area.opacity', opacity);\n this.setStyle('seriesDefaults.radarArea.opacity', opacity);\n this.setStyle('seriesDefaults.verticalArea.opacity', opacity);\n this.setStyle('seriesDefaults.labels.opacity', opacity);\n }\n this.setInactiveOpacity(['area', 'verticalArea'], 'chart-area-inactive-opacity');\n this.setInactiveOpacity(['line', 'verticalLine'], 'chart-line-inactive-opacity');\n };\n ThemeService.prototype.setFonts = function () {\n var defaultFont = font(this.queryStyle('chart-font'));\n var titleFont = font(this.queryStyle('chart-title-font'));\n var paneTitleFont = font(this.queryStyle('chart-pane-title-font'));\n var labelFont = font(this.queryStyle('chart-label-font'));\n this.setStyle('axisDefaults.labels.font', labelFont);\n this.setStyle('axisDefaults.notes.label.font', defaultFont);\n this.setStyle('axisDefaults.title.font', defaultFont);\n this.setStyle('legend.labels.font', defaultFont);\n this.setStyle('seriesDefaults.labels.font', labelFont);\n this.setStyle('seriesDefaults.notes.label.font', defaultFont);\n this.setStyle('title.font', titleFont);\n this.setStyle('paneDefaults.title.font', paneTitleFont);\n };\n ThemeService.prototype.setSeriesColors = function () {\n var element = this.element;\n var series = [].slice.call(element === null || element === void 0 ? void 0 : element.querySelectorAll('.k-var--series div'));\n var unsetColor = computedBackgroundColor(element === null || element === void 0 ? void 0 : element.querySelector('.k-var--series-unset'));\n var seriesColors = series.reduce(function (arr, el) {\n var pos = seriesPos(el.className);\n var color = computedBackgroundColor(el);\n if (color !== unsetColor) {\n arr[pos] = color;\n }\n return arr;\n }, [] // Will populate the series colors in this array\n );\n this.setStyle('seriesColors', seriesColors);\n };\n ThemeService.prototype.mapColor = function (key, varName) {\n this.setStyle(key, this.queryStyle(varName).backgroundColor);\n };\n ThemeService.prototype.queryStyle = function (varName) {\n var element = this.element;\n return window.getComputedStyle(element === null || element === void 0 ? void 0 : element.querySelector(\".k-var--\".concat(varName)));\n };\n ThemeService.prototype.setInactiveOpacity = function (seriesTypes, selector) {\n var _this = this;\n var inactiveOpacity = parseFloat(this.queryStyle(selector).opacity);\n if (!isNaN(inactiveOpacity) && inactiveOpacity < 1) {\n seriesTypes.forEach(function (type) {\n return _this.setStyle(\"seriesDefaults.\".concat(type, \".highlight.inactiveOpacity\"), inactiveOpacity);\n });\n }\n };\n return ThemeService;\n}());\nvar loadTheme = function (store, done) {\n var service = new ThemeService(store);\n if (typeof document === 'undefined') {\n store.dispatch({ type: 'push', payload: chartBaseTheme() });\n return;\n }\n var container = service.element = document.createElement('div');\n container.style.display = 'none';\n container.innerHTML = template;\n document.body.appendChild(container);\n try {\n store.dispatch({ type: 'push', payload: chartBaseTheme() });\n service.setColors();\n service.setFonts();\n service.setSeriesColors();\n }\n finally {\n document.body.removeChild(service.element);\n delete service.element;\n done();\n }\n};\nexport { loadTheme };\n","import { canUseDOM } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nexport var THROTTLE_MS = 1000 / 60;\n/**\n * @hidden\n */\nvar createStore = function (reducer) {\n var state;\n var timerId;\n var listeners = [];\n var getState = function () { return state; };\n var dispatch = function (action) {\n state = reducer(state, action);\n if (canUseDOM) {\n window.clearTimeout(timerId);\n timerId = window.setTimeout(function () { return listeners.forEach(function (l) { return l(); }); }, THROTTLE_MS);\n }\n };\n var subscribe = function (listener) {\n listeners.push(listener);\n return function () { return listeners = listeners.filter(function (l) { return l !== listener; }); };\n };\n dispatch({});\n return { getState: getState, dispatch: dispatch, subscribe: subscribe };\n};\nexport default createStore;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/**\n * @hidden\n */\nvar optionsReducer = function (currentState, action) {\n if (action.chartCollectionIdxKey) {\n return reducers.collectionConfigurationItem(currentState, action);\n }\n else if (action.chartKey) {\n return reducers.configurationItem(currentState, action);\n }\n else {\n return {};\n }\n};\n/**\n * @hidden\n */\nvar themeReducer = function (currentState, action) {\n if (action.type) {\n switch (action.type) {\n case 'set':\n return reducers.themeItem(currentState, action);\n case 'push':\n return Object.assign(currentState, action.payload);\n default:\n return currentState;\n }\n }\n else {\n return {};\n }\n};\n/**\n * @hidden\n */\nvar observersReducer = function (currentState, action) {\n if (action.type) {\n switch (action.type) {\n case 'add':\n return __spreadArray(__spreadArray([], currentState, true), [action.payload], false);\n case 'remove':\n return currentState.filter(function (element) { return element !== action.payload; });\n default:\n return currentState;\n }\n }\n else {\n return [];\n }\n};\n/**\n * @hidden\n */\nvar reducers = {\n configurationItem: function (currentState, action) {\n var _a, _b;\n if (currentState[action.chartKey] && Object.keys(currentState[action.chartKey]).length) {\n return Object.assign(currentState, (_a = {},\n _a[action.chartKey] = __assign(__assign({}, currentState[action.chartKey]), action.payload),\n _a));\n }\n return Object.assign(currentState, (_b = {},\n _b[action.chartKey] = action.payload,\n _b));\n },\n collectionConfigurationItem: function (currentState, action) {\n var _a, _b, _c;\n var inCollection = false;\n var _d = action.chartCollectionIdxKey.split('_'), collectionName = _d[0], collectionIdx = _d[1];\n var currentCollection = action.parentKey ?\n currentState[action.parentKey] ? (currentState[action.parentKey][collectionName] || []) : []\n : (currentState[collectionName] || []);\n var collection = currentCollection.map(function (item, index) {\n if (parseInt(collectionIdx, 10) === index ||\n (action.payload && action.payload.uid === item.uid)) {\n inCollection = true;\n return action.payload;\n }\n return item;\n });\n if (inCollection === false && !action.uid) {\n collection.splice(parseInt(collectionIdx, 10), 0, action.payload);\n }\n if (action.uid) {\n var index = collection.findIndex(function (i) { return i.uid === action.uid; });\n if (index > -1) {\n collection.splice(index, 1);\n }\n }\n if (action.parentKey) {\n return Object.assign(currentState, (_a = {},\n _a[action.parentKey] = (_b = {},\n _b[collectionName] = collection,\n _b),\n _a));\n }\n return Object.assign(currentState, (_c = {},\n _c[collectionName] = collection,\n _c));\n },\n themeItem: function (currentState, action) {\n var store = {};\n var nextStore = Object.assign(store, currentState);\n var _a = action.payload, field = _a.field, value = _a.value;\n var parts = field.split('.');\n var key = parts.shift();\n while (parts.length > 0) {\n store = store[key] = store[key] || {};\n key = parts.shift();\n }\n store[key] = value;\n return nextStore;\n }\n};\nexport { optionsReducer, themeReducer, observersReducer };\n","import { DateCategoryAxis, DateValueAxis } from '@progress/kendo-charts';\nvar dateCategoryAxisFormats = DateCategoryAxis.prototype.options.labels.dateFormats;\nvar dateValueAxisFormats = DateValueAxis.prototype.options.labels.dateFormats;\nvar dateFormats = {\n milliseconds: 'HH:mm:ss.SSS',\n seconds: { time: 'medium' },\n minutes: { time: 'short' },\n hours: { time: 'short' },\n days: { skeleton: 'Md' },\n weeks: { skeleton: 'Md' },\n months: { skeleton: 'yyMMM' },\n years: { skeleton: 'y' }\n};\nObject.assign(dateCategoryAxisFormats, dateFormats);\nObject.assign(dateValueAxisFormats, dateFormats);\n","/**\n * The point that is passed to the tooltip component.\n */\nvar TooltipPoint = /** @class */ (function () {\n /**\n * @hidden\n */\n function TooltipPoint(point, format) {\n this.value = point.value;\n this.category = point.category;\n this.categoryIndex = point.categoryIx;\n this.series = point.series;\n this.dataItem = point.dataItem;\n this.percentage = point.percentage;\n this.runningTotal = point.runningTotal;\n this.total = point.total;\n this.low = point.low;\n this.high = point.high;\n this.xLow = point.xLow;\n this.xHigh = point.xHigh;\n this.yLow = point.yLow;\n this.yHigh = point.yHigh;\n this.point = point;\n this.format = ((point.options || {}).tooltip || {}).format || format;\n }\n Object.defineProperty(TooltipPoint.prototype, \"formattedValue\", {\n get: function () {\n return this.format ? this.point.formatValue(this.format) : String(this.value);\n },\n enumerable: false,\n configurable: true\n });\n return TooltipPoint;\n}());\nexport { TooltipPoint };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar TOOLTIP_MARKER_CLASS = 'k-chart-shared-tooltip-marker';\n/**\n * @hidden\n */\nvar SharedTooltipContentVue2 = {\n name: 'KendoSharedTooltipPopup',\n props: {\n categoryText: String,\n colorMarker: {\n type: Boolean,\n default: undefined\n },\n colspan: Number,\n nameColumn: {\n type: Boolean,\n default: undefined\n },\n points: Array\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n categoryText = _a.categoryText,\n colorMarker = _a.colorMarker,\n colspan = _a.colspan,\n nameColumn = _a.nameColumn,\n points = _a.points;\n var pointsMap = function pointsMap(point, idx) {\n var defaultTD = h('span', {\n domProps: {\n innerHTML: point.formattedValue\n },\n innerHTML: point.formattedValue\n });\n return h(\"tr\", {\n key: idx\n }, [colorMarker && h(\"td\", [h(\"span\", {\n \"class\": TOOLTIP_MARKER_CLASS,\n style: {\n backgroundColor: point.series.color\n }\n })]), nameColumn && h(\"td\", [point.series.name]), defaultTD]);\n };\n return h(\"table\", [h(\"thead\", [h(\"tr\", [h(\"th\", {\n colspan: colspan,\n attrs: this.v3 ? undefined : {\n colspan: colspan\n }\n }, [categoryText])])]), h(\"tbody\", [points.map(pointsMap.bind(this), this)])]);\n }\n};\n/**\n * @hidden\n */\nvar SharedTooltipContent = SharedTooltipContentVue2;\nexport { SharedTooltipContent, SharedTooltipContentVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { InstanceObserver } from '@progress/kendo-charts';\nimport { hasParent } from '../utils/main';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { getDefaultSlots, getRef, setRef } from '@progress/kendo-vue-common';\nvar COLLISION = {\n horizontal: 'fit',\n vertical: 'fit'\n};\nvar TOOLTIP_CLASS = 'k-chart-tooltip';\nvar POPUP_WRAPPER_CLASS = 'k-chart-tooltip-wrapper';\n/**\n * @hidden\n */\nvar TooltipPopupVue2 = {\n name: 'KendoTooltipPopup',\n props: {\n className: String,\n popupShown: Boolean,\n popupAlign: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n popupOffset: {\n type: Object\n },\n popupStyles: {\n type: Object\n },\n popupContent: Function\n },\n inject: {\n options: {\n default: {\n state: {}\n }\n },\n dispatchOptions: {\n default: null\n },\n observersState: {\n default: null\n },\n dispatchObservers: {\n default: null\n },\n childrenObserver: {\n default: null\n }\n },\n created: function created() {\n this.chartObserver = new InstanceObserver(this, {\n onMouseLeave: 'onChartMouseLeave'\n });\n this.dispatchObservers({\n type: 'add',\n payload: this.chartObserver\n });\n },\n mounted: function mounted() {\n this.element = getRef(this, 'element');\n },\n destroyed: !!isV3 ? undefined : function () {\n this.dispatchObservers({\n type: 'remove',\n payload: this.chartObserver\n });\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.dispatchObservers({\n type: 'remove',\n payload: this.chartObserver\n });\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var _a = this.$props,\n popupShown = _a.popupShown,\n popupAlign = _a.popupAlign,\n popupOffset = _a.popupOffset,\n popupStyles = _a.popupStyles,\n popupContent = _a.popupContent,\n className = _a.className;\n var wrapperClass = [TOOLTIP_CLASS, className].join(' ').trim();\n return (\n // @ts-ignore function children\n h(Popup, {\n animate: false,\n attrs: this.v3 ? undefined : {\n animate: false,\n popupAlign: popupAlign,\n offset: popupOffset,\n show: popupShown,\n collision: COLLISION\n },\n popupAlign: popupAlign,\n offset: popupOffset,\n show: popupShown,\n collision: COLLISION,\n \"class\": POPUP_WRAPPER_CLASS\n }, this.v3 ? function () {\n return [h(\"div\", {\n \"class\": wrapperClass,\n style: popupStyles,\n onMouseleave: _this.onMouseLeave,\n on: _this.v3 ? undefined : {\n \"mouseleave\": _this.onMouseLeave\n },\n ref: setRef(_this, 'element')\n }, [defaultSlots])];\n } : [h(\"div\", {\n \"class\": wrapperClass,\n style: popupStyles,\n onMouseleave: _this.onMouseLeave,\n on: _this.v3 ? undefined : {\n \"mouseleave\": _this.onMouseLeave\n },\n ref: setRef(_this, 'element')\n }, [defaultSlots])])\n );\n },\n methods: {\n onChartMouseLeave: function onChartMouseLeave(e) {\n var event = e.event;\n if (hasParent(event.relatedTarget, this.element)) {\n /* prevent default behavior so that the tooltip won't be hidden */\n return true;\n }\n return false;\n },\n onMouseLeave: function onMouseLeave(_e) {\n // const domEvent = toDomEvent(this, e);\n // const isDefaultPrevented = this.context.childrenObserver.trigger('onMouseLeave', domEvent);\n // if (isDefaultPrevented) {\n // e.preventDefault();\n // }\n }\n }\n};\n/**\n * @hidden\n */\nvar TooltipPopup = TooltipPopupVue2;\nexport { TooltipPopup, TooltipPopupVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getTemplate } from '@progress/kendo-vue-common';\nimport { InstanceObserver } from '@progress/kendo-charts';\nimport { TooltipPoint } from './Point';\nimport { SharedTooltipContent } from './SharedTooltipContent';\nimport { TooltipPopup } from './Popup';\nvar SHARED_TOOLTIP_CLASS = 'k-chart-shared-tooltip';\nvar INVERSE_TOOLTIP_CLASS = 'k-chart-tooltip-inverse';\n/**\n * @hidden\n */\nvar SeriesTooltipVue2 = {\n name: 'KendoSeriesTooltip',\n // static contextType = ChartContext;\n data: function data() {\n return {\n popupShown: false,\n popupAlign: undefined,\n popupOffset: undefined,\n popupContext: {},\n popupStyles: undefined,\n className: undefined,\n shared: undefined\n };\n },\n inject: {\n optionsState: {\n default: {}\n },\n observersState: {\n default: null\n },\n dispatchObservers: {\n default: null\n }\n },\n // chartObserver: InstanceObserver;\n mounted: function mounted() {\n // This is moved here as calls to the listed methods contains\n // setState which is restricted before component mount\n this.chartObserver = new InstanceObserver(this, {\n showTooltip: 'onShowTooltip',\n hideTooltip: 'onHideTooltip'\n });\n this.dispatchObservers({\n type: 'add',\n payload: this.chartObserver\n });\n },\n destroyed: !!isV3 ? undefined : function () {\n this.dispatchObservers({\n type: 'remove',\n payload: this.chartObserver\n });\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.dispatchObservers({\n type: 'remove',\n payload: this.chartObserver\n });\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n var _a;\n var h = gh || createElement;\n var tooltipContent = this.popupShown ? function () {\n var render = this.findRenderFunction();\n if (this.shared) {\n var defaultSharedToolTip =\n // @ts-ignore function children\n h(SharedTooltipContent, {\n categoryText: this.popupContext.categoryText,\n attrs: this.v3 ? undefined : {\n categoryText: this.popupContext.categoryText,\n colorMarker: this.popupContext.colorMarker,\n colspan: this.popupContext.colspan,\n nameColumn: this.popupContext.nameColumn,\n points: this.popupContext.points\n },\n colorMarker: this.popupContext.colorMarker,\n colspan: this.popupContext.colspan,\n nameColumn: this.popupContext.nameColumn,\n points: this.popupContext.points\n });\n return getTemplate.call(this, {\n h: h,\n template: render,\n defaultRendering: defaultSharedToolTip,\n additionalProps: Object.assign({}, this.popupContext)\n });\n } else {\n var point = this.popupContext.point;\n var seriesRenderer = this.findRenderFunctionByIndex(point.series.index);\n var defaultTooltip = h('span', {\n domProps: {\n innerHTML: this.popupContext.point.formattedValue\n },\n innerHTML: this.popupContext.point.formattedValue\n });\n if (seriesRenderer !== null) {\n return getTemplate.call(this, {\n h: h,\n template: seriesRenderer,\n defaultRendering: defaultTooltip,\n additionalProps: Object.assign({}, this.popupContext)\n });\n } else if (render !== null) {\n return getTemplate.call(this, {\n h: h,\n template: render,\n defaultRendering: defaultTooltip,\n additionalProps: Object.assign({}, this.popupContext)\n });\n } else {\n return defaultTooltip;\n }\n }\n } : Function.prototype;\n var popupContainerClassName = classNames((_a = {}, _a[SHARED_TOOLTIP_CLASS] = this.shared, _a[INVERSE_TOOLTIP_CLASS] = !!this.className, _a));\n return (\n // @ts-ignore function children\n h(TooltipPopup, {\n popupShown: this.popupShown,\n attrs: this.v3 ? undefined : {\n popupShown: this.popupShown,\n popupAlign: this.popupAlign,\n popupOffset: this.popupOffset,\n popupStyles: this.popupStyles,\n className: popupContainerClassName\n },\n popupAlign: this.popupAlign,\n popupOffset: this.popupOffset,\n popupStyles: this.popupStyles,\n className: popupContainerClassName\n }, this.v3 ? function () {\n return [tooltipContent.call(_this)];\n } : [tooltipContent.call(_this)])\n );\n },\n methods: {\n onShowTooltip: function onShowTooltip(e) {\n var anchor = e.anchor,\n style = e.style,\n shared = e.shared,\n className = e.className,\n crosshair = e.crosshair;\n var context;\n if (crosshair) {\n return;\n }\n if (shared) {\n context = this.createSharedTooltipContext(e);\n } else {\n context = this.createTooltipContext(e);\n }\n this.popupShown = true;\n this.popupAlign = anchor.align;\n this.popupOffset = anchor.point;\n this.popupContext = context;\n this.popupStyles = style;\n this.className = className;\n this.shared = shared;\n },\n onHideTooltip: function onHideTooltip() {\n this.popupShown = false;\n this.popupStyles = {};\n this.className = undefined;\n },\n createSharedTooltipContext: function createSharedTooltipContext(e) {\n var points = e.points,\n categoryText = e.categoryText;\n var nameColumn = points.filter(function (point) {\n return typeof point.series.name !== 'undefined';\n }).length > 0;\n var colorMarker = e.series.length > 1;\n var colspan = 1;\n if (nameColumn) {\n colspan++;\n }\n if (colorMarker) {\n colspan++;\n }\n return {\n categoryText: categoryText,\n colorMarker: colorMarker,\n colspan: colspan,\n nameColumn: nameColumn,\n points: e.points.map(function (point) {\n return new TooltipPoint(point, e.format);\n })\n };\n },\n createTooltipContext: function createTooltipContext(e) {\n var point = e.point,\n format = e.format;\n return {\n point: new TooltipPoint(point, format)\n };\n },\n findRenderFunctionByIndex: function findRenderFunctionByIndex(seriesIdx) {\n var series = this.optionsState.series;\n if (series !== undefined && Array.isArray(series) && series[seriesIdx] !== undefined && series[seriesIdx].hasOwnProperty('tooltip') && series[seriesIdx].tooltip.hasOwnProperty('render')) {\n return series[seriesIdx].tooltip.render;\n }\n return null;\n },\n findRenderFunction: function findRenderFunction() {\n var tooltip = this.optionsState.tooltip;\n if (tooltip !== undefined && tooltip.hasOwnProperty('render')) {\n return tooltip.render;\n }\n return null;\n }\n }\n};\n/**\n * @hidden\n */\nvar SeriesTooltip = SeriesTooltipVue2;\nexport { SeriesTooltip, SeriesTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { InstanceObserver } from '@progress/kendo-charts';\nimport { TooltipPopup } from './Popup';\nvar CROSSHAIR_TOOLTIP_CLASS = 'k-chart-crosshair-tooltip';\nvar INVERSE_TOOLTIP_CLASS = 'k-chart-tooltip-inverse';\n/**\n * @hidden\n */\nvar CrosshairTooltipVue2 = {\n name: 'KendoCrosshairTooltip',\n props: {\n index: Number,\n name: String\n },\n data: function data() {\n return {\n popupShown: false,\n popupAlign: undefined,\n popupOffset: undefined,\n popupContent: undefined,\n popupStyles: undefined,\n className: undefined\n };\n },\n inject: {\n optionsState: {\n default: {}\n },\n dispatchOptions: {\n default: null\n },\n observersStore: {\n default: null\n },\n dispatchObservers: {\n default: null\n },\n childrenObserver: {\n default: null\n }\n },\n created: function created() {\n this.chartObserver = new InstanceObserver(this, {\n showTooltip: 'onShowTooltip',\n hideTooltip: 'onHideTooltip'\n });\n this.dispatchObservers({\n type: 'add',\n payload: this.chartObserver\n });\n },\n destroyed: !!isV3 ? undefined : function () {\n this.dispatchObservers({\n type: 'remove',\n payload: this.chartObserver\n });\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.dispatchObservers({\n type: 'remove',\n payload: this.chartObserver\n });\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var tooltipContent = this.popupShown ? this.popupContent : Function.prototype;\n var popupContainerClassName = classNames((_a = {}, _a[CROSSHAIR_TOOLTIP_CLASS] = true, _a[INVERSE_TOOLTIP_CLASS] = !!this.className, _a));\n return (\n // @ts-ignore function children\n h(TooltipPopup, {\n popupShown: this.popupShown,\n attrs: this.v3 ? undefined : {\n popupShown: this.popupShown,\n popupAlign: this.popupAlign,\n popupOffset: this.popupOffset,\n popupStyles: this.popupStyles,\n className: popupContainerClassName\n },\n popupAlign: this.popupAlign,\n popupOffset: this.popupOffset,\n popupStyles: this.popupStyles,\n className: popupContainerClassName\n }, this.v3 ? function () {\n return [tooltipContent];\n } : [tooltipContent])\n );\n },\n methods: {\n onShowTooltip: function onShowTooltip(e) {\n var anchor = e.anchor,\n style = e.style,\n className = e.className,\n crosshair = e.crosshair,\n axisName = e.axisName,\n axisIndex = e.axisIndex,\n value = e.value;\n var _a = this.$props,\n name = _a.name,\n index = _a.index;\n if (!crosshair) {\n return;\n }\n if (axisName === name && axisIndex === index) {\n this.popupShown = true;\n this.popupAlign = anchor.align;\n this.popupOffset = anchor.point;\n this.popupContent = value;\n this.popupStyles = style;\n this.className = className;\n }\n },\n onHideTooltip: function onHideTooltip() {\n this.popupShown = false;\n this.popupStyles = {};\n this.className = undefined;\n }\n }\n};\n/**\n * @hidden\n */\nvar CrosshairTooltip = CrosshairTooltipVue2;\nexport { CrosshairTooltip, CrosshairTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { CrosshairTooltip } from './Crosshair';\nvar AXES = ['categoryAxis', 'valueAxis', 'xAxis', 'yAxis'];\nfunction mapTooltips(options) {\n var map = {};\n for (var idx = 0; idx < AXES.length; idx++) {\n var tooltips = axesCrosshairTooltipOptions(options, AXES[idx]);\n for (var tooltipIdx = 0; tooltipIdx < tooltips.length; tooltipIdx++) {\n var tooltip = tooltips[tooltipIdx];\n map[tooltip.name + tooltip.index] = tooltip;\n }\n }\n return map;\n}\nfunction axesCrosshairTooltipOptions(options, name) {\n var result = [];\n if (options[name]) {\n var axes = [].concat(options[name]);\n for (var idx = 0; idx < axes.length; idx++) {\n var tooltip = (axes[idx].crosshair || {}).tooltip;\n if (tooltip && tooltip.visible) {\n result.push({\n index: idx,\n name: name\n });\n }\n }\n }\n return result;\n}\n/**\n * @hidden\n */\nvar CrosshairContainerVue2 = {\n name: 'KendoCrosshairContainer',\n props: {\n optionsState: Object\n },\n computed: {\n tooltips: function tooltips() {\n return mapTooltips(this.optionsState);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var childrenMap = Object.keys(this.tooltips).map(function (key) {\n return (\n // @ts-ignore function children\n h(CrosshairTooltip, {\n index: this.tooltips[key].index,\n attrs: this.v3 ? undefined : {\n index: this.tooltips[key].index,\n name: this.tooltips[key].name\n },\n name: this.tooltips[key].name,\n key: key\n })\n );\n }, this);\n return h(\"div\", [childrenMap]);\n }\n};\n/**\n * @hidden\n */\nvar CrosshairContainer = CrosshairContainerVue2;\nexport { CrosshairContainer, CrosshairContainerVue2 };","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-charts',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052207,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { provideIntlService } from '@progress/kendo-vue-intl';\nimport { DomEventsBuilder as ChartDomEventsBuilder, InstanceObserver } from '@progress/kendo-charts';\nimport { getDefaultSlots, hasListener, isRtl, setRef, getRef } from '@progress/kendo-vue-common';\nimport { hasParent } from './utils/main';\nimport { DomEventsBuilder } from './events/dom-events-builder';\nimport { create as createEvent } from './events/chart-event-builder';\nimport { toDomEvent } from './events/dom-event';\nimport { loadTheme } from './theming/theme-service';\nimport createStore from './store/store';\nimport { optionsReducer, themeReducer, observersReducer } from './store/reducer';\nimport { toggle } from './utils/main';\nimport './defaults';\nimport { SeriesTooltip } from './tooltip/Series';\nimport { CrosshairContainer } from './tooltip/CrosshairContainer';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\n/**\n * @hidden\n */\nvar BaseChartVue2 = {\n name: 'KendoBaseChart',\n props: {\n deriveOptionsFromParent: {\n type: Function,\n default: undefined\n },\n chartConstructor: {\n type: [Object, Function],\n default: function _default() {\n return undefined;\n }\n },\n className: String,\n chartStyle: Object,\n wrapper: String,\n getTarget: {\n type: Function,\n default: undefined\n },\n dataItems: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n dir: String,\n renderAs: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['svg', 'canvas'].includes(value);\n }\n },\n pannable: {\n type: [Boolean, Object],\n default: function _default() {\n return undefined;\n }\n },\n zoomable: {\n type: [Boolean, Object],\n default: function _default() {\n return undefined;\n }\n },\n seriesColors: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n transitions: {\n type: Boolean,\n default: true\n },\n paneDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n panes: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n seriesDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n axisDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n allListeners: {\n type: Object,\n default: undefined\n }\n },\n inject: {\n kendoIntlService: {\n default: null\n }\n },\n provide: function provide() {\n return {\n optionsState: this.optionsState,\n dispatchOptions: this.dispatchOptions,\n observersState: this.observersState,\n dispatchObservers: this.dispatchObservers,\n childrenObserver: this.childrenObserver,\n chartRefresh: this.refresh\n };\n },\n created: function created() {\n this.chartInstance = null;\n this.element = null;\n this.suppressTransitions = false;\n validatePackage(packageMetadata);\n this.themeStore = createStore(themeReducer);\n this.chartObserver = new InstanceObserver(this, {\n render: 'onRender',\n legendItemClick: 'onLegendItemClick'\n });\n },\n data: function data() {\n return {\n optionsState: {},\n observersState: [],\n childrenObserver: new InstanceObserver(this, {\n onMouseLeave: 'onChildMouseLeave'\n })\n };\n },\n mounted: function mounted() {\n this.element = getRef(this, 'element');\n loadTheme(this.themeStore, this.instantiateCoreChart);\n window.addEventListener('resize', this.onWindowResize);\n },\n destroyed: !!isV3 ? undefined : function () {\n this.onDestroyed();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.onDestroyed();\n },\n updated: function updated() {\n // const { dir, children, ...spreadProps } = this.$props;\n if (this.chartInstance !== null) {\n var currentIntlService = provideIntlService(this);\n var chartService = this.chartInstance.chartService;\n var localeChanged = currentIntlService.locale !== chartService._intlService.locale;\n // const shouldUpdate = (Object as any).entries(prevProps)\n // .filter((keyValue) => (keyValue[0] !== 'dir' && keyValue[0] !== 'children'))\n // .some((keyValue) => {\n // const [key, value] = keyValue;\n // return !(spreadProps.hasOwnProperty(key) && spreadProps[key] === value);\n // });\n if (localeChanged) {\n this.chartInstance.chartService._intlService = currentIntlService;\n this.chartInstance.chartService.format._intlService = currentIntlService;\n // if (!shouldUpdate) {\n this.chartInstance.noTransitionsRedraw();\n // }\n }\n // if (shouldUpdate) {\n this.refresh();\n // }\n // if (prevProps.dir !== dir) {\n // this.chartInstance.setDirection(this.getDirection(dir));\n // }\n }\n },\n\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var _a = this.$props,\n _b = _a.chartStyle,\n chartStyle = _b === void 0 ? {} : _b,\n className = _a.className,\n wrapper = _a.wrapper;\n var chartStyles = Object.assign({}, chartStyle, {\n position: 'relative'\n });\n var divContent = function divContent() {\n return h(\"div\", {\n onMouseleave: this.onChartMouseLeave,\n on: this.v3 ? undefined : {\n \"mouseleave\": this.onChartMouseLeave\n },\n ref: setRef(this, 'element'),\n \"class\": \"k-chart-surface\"\n }, [defaultSlots]);\n };\n return h(wrapper, {\n style: chartStyles,\n class: className,\n key: 'chartElement'\n }, [h(SeriesTooltip, {\n key: 'seriesTooltip'\n }), h(CrosshairContainer, {\n key: 'crosshairTooltips',\n optionsState: __assign({}, this.optionsState),\n attrs: this.v3 ? undefined : {\n optionsState: __assign({}, this.optionsState)\n }\n }), divContent.call(this)]);\n },\n methods: {\n dispatchOptions: function dispatchOptions(action) {\n optionsReducer(this.optionsState, action);\n },\n dispatchObservers: function dispatchObservers(action) {\n this.observersState = observersReducer(this.observersState, action);\n },\n onDestroyed: function onDestroyed() {\n if (this.chartInstance !== null) {\n this.chartInstance.destroy();\n this.chartInstance = null;\n }\n window.removeEventListener('resize', this.onWindowResize);\n },\n getDirection: function getDirection(dir) {\n return dir !== undefined ? dir === 'rtl' : isRtl(this.element);\n },\n getChartOptions: function getChartOptions() {\n var _a = this.$props,\n renderAs = _a.renderAs,\n pannable = _a.pannable,\n zoomable = _a.zoomable,\n paneDefaults = _a.paneDefaults,\n panes = _a.panes,\n transitions = _a.transitions,\n seriesColors = _a.seriesColors,\n seriesDefaults = _a.seriesDefaults,\n axisDefaults = _a.axisDefaults,\n deriveOptionsFromParent = _a.deriveOptionsFromParent;\n var chartOptions = {};\n // undefined clears chart defaults which leads to several issues\n if (renderAs !== undefined) {\n chartOptions.renderAs = renderAs;\n }\n if (pannable !== undefined) {\n chartOptions.pannable = pannable;\n }\n if (zoomable !== undefined) {\n chartOptions.zoomable = zoomable;\n }\n if (paneDefaults !== undefined) {\n chartOptions.paneDefaults = paneDefaults;\n }\n if (panes !== undefined) {\n chartOptions.panes = panes;\n }\n if (transitions !== undefined) {\n chartOptions.transitions = transitions;\n }\n if (seriesColors !== undefined) {\n chartOptions.seriesColors = seriesColors;\n }\n if (seriesDefaults !== undefined) {\n chartOptions.seriesDefaults = seriesDefaults;\n }\n if (axisDefaults !== undefined) {\n chartOptions.axisDefaults = axisDefaults;\n }\n chartOptions = Object.assign(chartOptions, this.optionsState);\n if (deriveOptionsFromParent) {\n chartOptions = deriveOptionsFromParent(chartOptions);\n }\n return chartOptions;\n },\n refresh: function refresh() {\n if (this.chartInstance !== null) {\n var themeOptions = this.themeStore.getState();\n var chartOptions = this.getChartOptions();\n var transitions = chartOptions.transitions;\n if (this.suppressTransitions) {\n chartOptions.transitions = false;\n }\n if (hasListener.call(this, 'refresh')) {\n this.trigger('refresh', {\n chartOptions: chartOptions,\n themeOptions: themeOptions,\n chartInstance: this.chartInstance\n });\n } else {\n this.chartInstance.setOptions(chartOptions, themeOptions);\n }\n if (this.suppressTransitions) {\n chartOptions.transitions = transitions;\n this.suppressTransitions = false;\n }\n }\n },\n instantiateCoreChart: function instantiateCoreChart() {\n var _a = this.$props,\n dir = _a.dir,\n chartConstructor = _a.chartConstructor;\n var chartOptions = this.getChartOptions();\n var temp = null;\n if (this.element) {\n temp = this.element.lastElementChild;\n if (temp) {\n this.element.removeChild(temp);\n }\n }\n this.chartInstance = new chartConstructor(this.element, chartOptions, this.themeStore.getState(), {\n rtl: this.getDirection(dir),\n intlService: provideIntlService(this),\n observer: this.chartObserver,\n sender: this\n });\n if (this.element && temp) {\n this.element.appendChild(temp);\n }\n },\n trigger: function trigger(name, e) {\n var target = this.$props.getTarget();\n var eventObject = createEvent(name, e, target);\n var observers = this.observersState;\n var isDefaultPrevented = false;\n for (var idx = 0; idx < observers.length; idx++) {\n if (observers[idx].trigger(name, e)) {\n isDefaultPrevented = true;\n }\n }\n /* We have not prevented the event internally, now pass it to the user */\n if (isDefaultPrevented === false && eventObject) {\n this.$emit('basechartevent', name.toLowerCase(), eventObject);\n return eventObject.isDefaultPrevented && eventObject.isDefaultPrevented();\n }\n return isDefaultPrevented;\n },\n triggerDomEvent: function triggerDomEvent(name, e) {\n var observers = this.observersState;\n var isDefaultPrevented = false;\n for (var idx = 0; idx < observers.length; idx++) {\n if (observers[idx].trigger(name, e)) {\n isDefaultPrevented = true;\n }\n }\n return isDefaultPrevented;\n },\n onRender: function onRender(e) {\n if (this.chartInstance !== null) {\n this.surface = e.sender.surface;\n this.trigger('render', e);\n }\n },\n hasListener: function hasListener(name) {\n if (!this.$props.allListeners) {\n return false;\n }\n return Object.keys(this.$props.allListeners).some(function (item) {\n return item.toLowerCase().indexOf(name.toLowerCase()) !== -1;\n });\n },\n onLegendItemClick: function onLegendItemClick(e) {\n if (this.chartInstance !== null) {\n /**\n * In \"controlled\" state the user should toggle the series data visibility\n */\n if (this.hasListener('legendItemClick')) {\n this.trigger('legendItemClick', e);\n } else {\n var series = this.optionsState.series;\n if (!series) {\n return;\n }\n var payload = {};\n var seriesIndex = e.seriesIndex,\n pointIndex = e.pointIndex;\n var seriesByIndex = series[seriesIndex];\n if (pointIndex === undefined) {\n payload = Object.assign({}, seriesByIndex, {\n visible: toggle(seriesByIndex.visible)\n });\n } else {\n var pv = seriesByIndex.pointVisibility = seriesByIndex.pointVisibility || [];\n pv[pointIndex] = toggle(pv[pointIndex]);\n payload = Object.assign({}, seriesByIndex);\n }\n this.dispatchOptions({\n chartCollectionIdxKey: \"series_\".concat(seriesIndex),\n payload: payload\n });\n this.suppressTransitions = true;\n this.refresh();\n }\n }\n },\n onWindowResize: function onWindowResize() {\n if (this.chartInstance !== null) {\n this.chartInstance.resize();\n }\n },\n onChartMouseLeave: function onChartMouseLeave(e) {\n var domEvent = toDomEvent(this, e);\n var isDefaultPrevented = this.triggerDomEvent('onMouseLeave', domEvent);\n if (isDefaultPrevented) {\n e.preventDefault();\n } else if (this.chartInstance !== null) {\n this.chartInstance.hideElements();\n }\n },\n onChildMouseLeave: function onChildMouseLeave(e) {\n var event = e.event;\n if (this.chartInstance && !hasParent(event.relatedTarget, this.element)) {\n this.chartInstance.hideElements();\n }\n return false;\n },\n requiresHandlers: function requiresHandlers(names) {\n for (var idx = 0; idx < names.length; idx++) {\n var name_1 = names[idx];\n if (this.hasListener(name_1)) {\n return true;\n }\n }\n return false;\n }\n }\n};\n/**\n * @hidden\n */\nvar BaseChart = BaseChartVue2;\nexport { BaseChart, BaseChartVue2 };\nChartDomEventsBuilder.register(DomEventsBuilder);","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { InstanceObserver } from '@progress/kendo-charts';\nimport { getTemplate } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar DonutCenterVue2 = {\n name: 'KendoDonutCenter',\n props: {\n render: [String, Function, Object]\n },\n data: function data() {\n return {\n donutCenterStyles: null\n };\n },\n inject: {\n optionsState: {\n default: {}\n },\n dispatchOptions: {\n default: null\n },\n dispatchObservers: {\n default: null\n },\n childrenObserver: {\n default: null\n }\n },\n created: function created() {\n this.dispatchObservers({\n type: 'add',\n payload: new InstanceObserver(this, {\n render: 'onRender'\n })\n });\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var render = this.$props.render;\n var renderer = h(\"span\");\n var centerElement = getTemplate.call(this, {\n h: h,\n template: render,\n defaultRendering: null\n });\n if (render && this.donutCenterStyles) {\n renderer = h(\"div\", {\n \"class\": \"k-chart-donut-center\",\n style: this.donutCenterStyles\n }, [centerElement]);\n }\n return renderer;\n },\n methods: {\n onRender: function onRender(event) {\n var series = this.optionsState.series;\n var firstSeries = Array.isArray(series) ? series[0] : null;\n var charts = event.sender._plotArea.charts;\n if (!firstSeries || firstSeries.type !== 'donut' || charts[0].points.length === 0) {\n return;\n }\n var sector = charts[0].points[0].sector;\n var radius = sector.innerRadius;\n var top = sector.center.y - radius;\n var left = sector.center.x - radius;\n var size = radius * 2;\n this.donutCenterStyles = {\n height: size + 'px',\n left: left + 'px',\n top: top + 'px',\n width: size + 'px'\n };\n }\n }\n};\n/**\n * @hidden\n */\nvar DonutCenter = DonutCenterVue2;\nexport { DonutCenter, DonutCenterVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { BaseChart } from './BaseChart';\nimport { DonutCenter } from './DonutCenter';\nimport { Chart as KendoChart } from '@progress/kendo-charts';\nimport { classNames, getDefaultSlots, getListeners, getRef, setRef, templateRendering } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ChartVue2 = {\n name: 'KendoChart',\n props: {\n donutCenterRender: [String, Function, Object],\n dir: String,\n renderAs: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['svg', 'canvas'].includes(value);\n }\n },\n pannable: {\n type: [Boolean, Object],\n default: function _default() {\n return undefined;\n }\n },\n zoomable: {\n type: [Boolean, Object],\n default: function _default() {\n return undefined;\n }\n },\n seriesColors: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n transitions: {\n type: Boolean,\n default: true\n },\n paneDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n panes: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n seriesDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n axisDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n updated: function updated() {\n this.baseChart = getRef(this, 'baseChart');\n },\n mounted: function mounted() {\n this.baseChart = getRef(this, 'baseChart');\n },\n methods: {\n chartInstance: function chartInstance() {\n if (this.baseChart !== null) {\n return this.baseChart.chartInstance;\n }\n return null;\n },\n surface: function surface() {\n if (this.baseChart !== null) {\n return this.baseChart.surface;\n }\n return null;\n },\n element: function element() {\n if (this.baseChart !== null) {\n return this.baseChart.element;\n }\n return null;\n },\n getTarget: function getTarget() {\n return this;\n },\n handleBaseChartEvents: function handleBaseChartEvents(name, options) {\n this.$emit(name, options);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var _a = this.$props,\n donutCenterRender = _a.donutCenterRender,\n dir = _a.dir,\n renderAs = _a.renderAs,\n pannable = _a.pannable,\n zoomable = _a.zoomable,\n seriesColors = _a.seriesColors,\n transitions = _a.transitions,\n paneDefaults = _a.paneDefaults,\n panes = _a.panes,\n seriesDefaults = _a.seriesDefaults,\n axisDefaults = _a.axisDefaults;\n var centerRender = donutCenterRender ? templateRendering.call(this, donutCenterRender, getListeners.call(this)) : null;\n return (\n // @ts-ignore function children\n h(BaseChart, {\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir,\n renderAs: renderAs,\n pannable: pannable,\n zoomable: zoomable,\n seriesColors: seriesColors,\n transitions: transitions,\n paneDefaults: paneDefaults,\n panes: panes,\n seriesDefaults: seriesDefaults,\n axisDefaults: axisDefaults,\n chartConstructor: KendoChart,\n getTarget: this.getTarget,\n wrapper: \"div\",\n allListeners: getListeners.call(this)\n },\n renderAs: renderAs,\n pannable: pannable,\n zoomable: zoomable,\n seriesColors: seriesColors,\n transitions: transitions,\n paneDefaults: paneDefaults,\n panes: panes,\n seriesDefaults: seriesDefaults,\n axisDefaults: axisDefaults,\n ref: setRef(this, 'baseChart'),\n chartConstructor: KendoChart,\n getTarget: this.getTarget,\n wrapper: \"div\",\n \"class\": classNames('k-chart k-widget'),\n onBasechartevent: this.handleBaseChartEvents,\n on: this.v3 ? undefined : {\n \"basechartevent\": this.handleBaseChartEvents\n },\n allListeners: getListeners.call(this)\n }, this.v3 ? function () {\n return [defaultSlots,\n // @ts-ignore\n h(DonutCenter, {\n render: centerRender,\n attrs: _this.v3 ? undefined : {\n render: centerRender\n }\n })];\n } : [defaultSlots, h(DonutCenter, {\n render: centerRender,\n attrs: _this.v3 ? undefined : {\n render: centerRender\n }\n })])\n );\n }\n};\n/**\n * @hidden\n */\nvar Chart = ChartVue2;\nexport { Chart, ChartVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { BaseChart } from './BaseChart';\nimport { Sparkline as KendoSparkline } from '@progress/kendo-charts';\nimport { classNames, getDefaultSlots, getRef, setRef } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar SparklineVue2 = {\n name: 'KendoSparkline',\n props: {\n dataItems: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n type: String,\n dir: String,\n renderAs: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['svg', 'canvas'].includes(value);\n }\n },\n pannable: {\n type: [Boolean, Object],\n default: function _default() {\n return undefined;\n }\n },\n zoomable: {\n type: [Boolean, Object],\n default: function _default() {\n return undefined;\n }\n },\n seriesColors: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n transitions: {\n type: Boolean,\n default: true\n },\n paneDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n panes: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n seriesDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n axisDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n updated: function updated() {\n this.baseChart = getRef(this, 'baseChart');\n },\n mounted: function mounted() {\n this.baseChart = getRef(this, 'baseChart');\n },\n methods: {\n chartInstance: function chartInstance() {\n if (this.baseChart !== null) {\n return this.baseChart.chartInstance;\n }\n return null;\n },\n surface: function surface() {\n if (this.baseChart !== null) {\n return this.baseChart.surface;\n }\n return null;\n },\n element: function element() {\n if (this.baseChart !== null) {\n return this.baseChart.element;\n }\n return null;\n },\n getTarget: function getTarget() {\n return this;\n },\n deriveOptionsFromParent: function deriveOptionsFromParent(options) {\n var _a = this.$props,\n type = _a.type,\n dataItems = _a.dataItems;\n var sparklineOptions = Object.assign({}, options, {\n type: type,\n data: dataItems\n });\n return KendoSparkline.normalizeOptions(sparklineOptions);\n },\n handleBaseChartEvents: function handleBaseChartEvents(name, options) {\n this.$emit(name, options);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var _a = this.$props,\n dataItems = _a.dataItems,\n dir = _a.dir,\n renderAs = _a.renderAs,\n pannable = _a.pannable,\n zoomable = _a.zoomable,\n seriesColors = _a.seriesColors,\n transitions = _a.transitions,\n paneDefaults = _a.paneDefaults,\n panes = _a.panes,\n seriesDefaults = _a.seriesDefaults,\n axisDefaults = _a.axisDefaults;\n return (\n // @ts-ignore function children\n h(BaseChart, {\n dataItems: dataItems,\n attrs: this.v3 ? undefined : {\n dataItems: dataItems,\n dir: dir,\n renderAs: renderAs,\n pannable: pannable,\n zoomable: zoomable,\n seriesColors: seriesColors,\n transitions: transitions,\n paneDefaults: paneDefaults,\n panes: panes,\n seriesDefaults: seriesDefaults,\n axisDefaults: axisDefaults,\n chartConstructor: KendoSparkline,\n getTarget: this.getTarget,\n wrapper: \"span\",\n deriveOptionsFromParent: this.deriveOptionsFromParent\n },\n dir: dir,\n renderAs: renderAs,\n pannable: pannable,\n zoomable: zoomable,\n seriesColors: seriesColors,\n transitions: transitions,\n paneDefaults: paneDefaults,\n panes: panes,\n seriesDefaults: seriesDefaults,\n axisDefaults: axisDefaults,\n ref: setRef(this, 'baseChart'),\n chartConstructor: KendoSparkline,\n getTarget: this.getTarget,\n wrapper: \"span\",\n deriveOptionsFromParent: this.deriveOptionsFromParent,\n \"class\": classNames('k-sparkline k-widget'),\n onBasechartevent: this.handleBaseChartEvents,\n on: this.v3 ? undefined : {\n \"basechartevent\": this.handleBaseChartEvents\n }\n }, this.v3 ? function () {\n return [defaultSlots];\n } : [defaultSlots])\n );\n }\n};\n/**\n * @hidden\n */\nvar Sparkline = SparklineVue2;\nexport { Sparkline, SparklineVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { BaseChart } from './BaseChart';\nimport { StockChart as KendoStockChart } from '@progress/kendo-charts';\nimport { classNames, getDefaultSlots, getRef, setRef } from '@progress/kendo-vue-common';\nvar NAVIGATOR_DEFAULTS = {\n autoBindElements: true,\n liveDrag: false,\n partialRedraw: true\n};\n/**\n * @hidden\n */\nvar StockChartVue2 = {\n name: 'KendoStockChart',\n props: {\n partialRedraw: {\n type: Boolean,\n default: undefined\n },\n dir: String,\n renderAs: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['svg', 'canvas'].includes(value);\n }\n },\n pannable: {\n type: [Boolean, Object],\n default: function _default() {\n return undefined;\n }\n },\n zoomable: {\n type: [Boolean, Object],\n default: function _default() {\n return undefined;\n }\n },\n seriesColors: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n transitions: {\n type: Boolean,\n default: true\n },\n paneDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n panes: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n seriesDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n axisDefaults: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n updated: function updated() {\n this.baseChart = getRef(this, 'baseChart');\n },\n mounted: function mounted() {\n this.baseChart = getRef(this, 'baseChart');\n },\n methods: {\n chartInstance: function chartInstance() {\n if (this.baseChart !== null) {\n return this.baseChart.chartInstance;\n }\n return null;\n },\n surface: function surface() {\n if (this.baseChart !== null) {\n return this.baseChart.surface;\n }\n return null;\n },\n element: function element() {\n if (this.baseChart !== null) {\n return this.baseChart.element;\n }\n return null;\n },\n getTarget: function getTarget() {\n return this;\n },\n deriveOptionsFromParent: function deriveOptionsFromParent(options) {\n var navigator = Object.assign({}, options.navigator || {}, NAVIGATOR_DEFAULTS);\n return Object.assign({}, options, {\n navigator: navigator\n });\n },\n onRefresh: function onRefresh(chartOptions, themeOptions, chartInstance) {\n if (this.$props.partialRedraw) {\n chartInstance.applyOptions(chartOptions);\n chartInstance.bindCategories();\n chartInstance.navigator.redrawSlaves();\n } else {\n chartInstance.setOptions(chartOptions, themeOptions);\n }\n },\n handleBaseChartEvents: function handleBaseChartEvents(name, options) {\n this.$emit(name, options);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var _a = this.$props,\n partialRedraw = _a.partialRedraw,\n dir = _a.dir,\n renderAs = _a.renderAs,\n pannable = _a.pannable,\n zoomable = _a.zoomable,\n seriesColors = _a.seriesColors,\n transitions = _a.transitions,\n paneDefaults = _a.paneDefaults,\n panes = _a.panes,\n seriesDefaults = _a.seriesDefaults,\n axisDefaults = _a.axisDefaults;\n return (\n // @ts-ignore function children\n h(BaseChart, {\n partialRedraw: partialRedraw,\n attrs: this.v3 ? undefined : {\n partialRedraw: partialRedraw,\n dir: dir,\n renderAs: renderAs,\n pannable: pannable,\n zoomable: zoomable,\n seriesColors: seriesColors,\n transitions: transitions,\n paneDefaults: paneDefaults,\n panes: panes,\n seriesDefaults: seriesDefaults,\n axisDefaults: axisDefaults,\n chartConstructor: KendoStockChart,\n getTarget: this.getTarget,\n wrapper: \"div\",\n deriveOptionsFromParent: this.deriveOptionsFromParent\n },\n dir: dir,\n renderAs: renderAs,\n pannable: pannable,\n zoomable: zoomable,\n seriesColors: seriesColors,\n transitions: transitions,\n paneDefaults: paneDefaults,\n panes: panes,\n seriesDefaults: seriesDefaults,\n axisDefaults: axisDefaults,\n ref: setRef(this, 'baseChart'),\n chartConstructor: KendoStockChart,\n getTarget: this.getTarget,\n wrapper: \"div\",\n deriveOptionsFromParent: this.deriveOptionsFromParent,\n onRefresh: this.onRefresh,\n on: this.v3 ? undefined : {\n \"refresh\": this.onRefresh,\n \"basechartevent\": this.handleBaseChartEvents\n },\n \"class\": classNames('k-stockchart k-widget'),\n onBasechartevent: this.handleBaseChartEvents\n }, this.v3 ? function () {\n return [defaultSlots];\n } : [defaultSlots])\n );\n }\n};\n/**\n * @hidden\n */\nvar StockChart = StockChartVue2;\nexport { StockChart, StockChartVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { guid, noop, getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ConfigurationVue2 = {\n name: 'KendoConfiguration',\n props: {\n chartKey: String,\n config: {\n type: Object,\n default: function _default() {\n return {};\n }\n }\n },\n data: function data() {\n return {\n childState: {},\n index: null\n };\n },\n provide: function provide() {\n return {\n addChild: this.addChildOption,\n removeChild: this.removeChildOption,\n childOption: true\n };\n },\n inject: {\n childOption: {\n default: null\n },\n addChild: {\n default: noop\n },\n removeChild: {\n default: noop\n },\n child: {\n default: {}\n },\n parentKey: {\n default: null\n },\n chartCollection: {\n default: null\n },\n dispatchOptions: {\n default: null\n },\n childrenObserver: {\n default: null\n }\n },\n created: function created() {\n this.currentIndex = undefined;\n this.uid = guid();\n if (this.addChild) {\n this.addChild({\n chartKey: this.$props.chartKey,\n payload: Object.assign({}, this.$props.config),\n uid: this.uid\n });\n }\n },\n mounted: function mounted() {\n this.dispatch();\n },\n watch: {\n config: function config(newValue, oldValue) {\n if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {\n this.dispatch();\n }\n }\n },\n destroyed: !!isV3 ? undefined : function () {\n this.onDestroyed();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.onDestroyed();\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", [defaultSlots]);\n },\n methods: {\n onDestroyed: function onDestroyed() {\n if (this.removeChild) {\n this.removeChild({\n uid: this.uid\n });\n var _a = this.$props,\n chartKey = _a.chartKey,\n parentStore = _a.parentStore,\n config = _a.config;\n var dispatchOptions = parentStore || this.dispatchOptions;\n dispatchOptions({\n chartKey: chartKey,\n parentKey: this.parentKey,\n chartCollectionIdxKey: this.chartCollection + '_',\n uid: this.uid\n });\n }\n },\n addChildOption: function addChildOption(newChildState) {\n var _a;\n this.childState = __assign(__assign({}, this.childState), (_a = {}, _a[newChildState.chartKey] = newChildState.payload, _a));\n this.dispatch();\n },\n removeChildOption: function removeChildOption() {\n this.childState = {};\n },\n dispatch: function dispatch() {\n var _this = this;\n var _a = this.$props,\n chartKey = _a.chartKey,\n parentStore = _a.parentStore,\n config = _a.config;\n var dispatchOptions = parentStore || this.dispatchOptions;\n if (this.childOption) {\n this.addChild({\n chartKey: chartKey,\n payload: Object.assign({}, config, this.childState)\n });\n return;\n }\n if (this.chartCollection) {\n this.currentIndex = this.child.collection.findIndex(function (c) {\n return c.uid === _this.uid;\n });\n dispatchOptions({\n chartKey: chartKey,\n parentKey: this.parentKey,\n chartCollectionIdxKey: this.chartCollection + '_' + this.currentIndex,\n payload: Object.assign({}, config, {\n uid: this.uid\n }, this.childState)\n });\n } else {\n dispatchOptions({\n chartKey: chartKey,\n payload: Object.assign({}, config, this.childState)\n });\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar Configuration = ConfigurationVue2;\nexport { Configuration, ConfigurationVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartAreaVue2 = {\n name: 'KendoChartArea',\n props: {\n background: {\n type: String,\n default: undefined\n },\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n height: {\n type: Number,\n default: undefined\n },\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n opacity: {\n type: Number,\n default: undefined\n },\n width: {\n type: Number,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'chartArea'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'chartArea'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartArea = ChartAreaVue2;\nexport { ChartArea, ChartAreaVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartAxisDefaultsVue2 = {\n name: 'KendoChartAxisDefaults',\n props: {\n background: {\n type: String,\n default: undefined\n },\n color: {\n type: String,\n default: undefined\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n minorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n minorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n narrowRange: {\n type: Boolean,\n default: undefined\n },\n pane: {\n type: String,\n default: undefined\n },\n plotBands: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n reverse: {\n type: Boolean,\n default: undefined\n },\n startAngle: {\n type: Number,\n default: undefined\n },\n visible: {\n type: Boolean,\n default: undefined\n },\n crosshair: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n labels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n title: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'axisDefaults'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'axisDefaults'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartAxisDefaults = ChartAxisDefaultsVue2;\nexport { ChartAxisDefaults, ChartAxisDefaultsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar CollectionConfigurationVue2 = {\n name: 'KendoCollectionConfiguration',\n props: {\n chartKey: String,\n parentKey: String,\n parentStore: Object\n },\n provide: function provide() {\n return {\n childOption: false,\n chartCollection: this.$props.chartKey,\n parentKey: this.$props.parentKey,\n child: this.child,\n addChild: this.addChild,\n removeChild: this.removeChild\n };\n },\n inject: {\n dispatchOptions: {\n default: null\n },\n observersStore: {\n default: null\n },\n childrenObserver: {\n default: null\n }\n },\n created: function created() {\n var dispatchOptions = this.dispatchOptions;\n dispatchOptions({\n chartKey: this.$props.chartKey,\n payload: []\n });\n },\n data: function data() {\n return {\n child: {\n collection: []\n }\n };\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", [defaultSlots, \" \"]);\n },\n methods: {\n addChild: function addChild(item) {\n this.child.collection.push(item);\n },\n removeChild: function removeChild(item) {\n var index = this.child.collection.findIndex(function (ch) {\n return ch.uid === item.uid;\n });\n this.child.collection.splice(index, 1);\n }\n }\n};\n/**\n * @hidden\n */\nvar CollectionConfiguration = CollectionConfigurationVue2;\nexport { CollectionConfiguration, CollectionConfigurationVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { CollectionConfiguration } from './base/CollectionConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ChartCategoryAxisVue2 = {\n name: 'KendoChartCategoryAxis',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return (\n // @ts-ignore function children\n h(CollectionConfiguration, {\n chartKey: \"categoryAxis\",\n attrs: this.v3 ? undefined : {\n chartKey: \"categoryAxis\"\n }\n }, this.v3 ? function () {\n return [defaultSlots];\n } : [defaultSlots])\n );\n }\n};\n/**\n * @hidden\n */\nvar ChartCategoryAxis = ChartCategoryAxisVue2;\nexport { ChartCategoryAxis, ChartCategoryAxisVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartCategoryAxisItemVue2 = {\n name: 'KendoChartCategoryAxisItem',\n props: {\n autoBaseUnitSteps: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n axisCrossingValue: {\n type: [Object, Array, Date, Number],\n default: function _default() {\n return undefined;\n }\n },\n background: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n baseUnit: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['milliseconds', 'seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'years', 'auto', 'fit'].includes(value);\n }\n },\n baseUnitStep: {\n type: [Number, String],\n default: function _default() {\n return undefined;\n }\n },\n categories: {\n type: [Array, Object],\n default: function _default() {\n return undefined;\n }\n },\n color: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n justified: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n max: {\n type: [Number, Object, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n maxDateGroups: {\n type: Number,\n default: function _default() {\n return undefined;\n }\n },\n maxDivisions: {\n type: Number,\n default: function _default() {\n return undefined;\n }\n },\n min: {\n type: [Number, Object, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n minorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n minorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n name: {\n type: String,\n default: undefined\n },\n rangeLabels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n pane: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n plotBands: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n reverse: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n roundToBaseUnit: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n startAngle: {\n type: Number,\n default: function _default() {\n return undefined;\n }\n },\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['category', 'date'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n weekStartDay: {\n type: Number,\n default: function _default() {\n return undefined;\n }\n },\n crosshair: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n labels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n notes: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n select: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n title: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartCategoryAxisItem = ChartCategoryAxisItemVue2;\nexport { ChartCategoryAxisItem, ChartCategoryAxisItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartLegendVue2 = {\n name: 'KendoChartLegend',\n props: {\n align: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['start', 'center', 'end'].includes(value);\n }\n },\n background: {\n type: String,\n default: undefined\n },\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n height: {\n type: Number,\n default: undefined\n },\n labels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n offsetX: {\n type: Number,\n default: undefined\n },\n offsetY: {\n type: Number,\n default: undefined\n },\n orientation: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['vertical', 'horizontal'].includes(value);\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right', 'custom'].includes(value);\n }\n },\n reverse: {\n type: Boolean,\n default: undefined\n },\n visible: {\n type: Boolean,\n default: true\n },\n width: {\n type: Number,\n default: undefined\n },\n inactiveItems: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n item: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n spacing: {\n type: Number,\n default: undefined\n },\n title: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'legend'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'legend'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartLegend = ChartLegendVue2;\nexport { ChartLegend, ChartLegendVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorVue2 = {\n name: 'KendoChartNavigator',\n props: {\n visible: {\n type: Boolean,\n default: true\n },\n categoryAxis: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n hint: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n pane: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n select: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n series: {\n type: [Object, Array],\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'navigator'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'navigator'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigator = ChartNavigatorVue2;\nexport { ChartNavigator, ChartNavigatorVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartPaneVue2 = {\n name: 'KendoChartPane',\n props: {\n background: {\n type: String,\n default: undefined\n },\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n clip: {\n type: Boolean,\n default: undefined\n },\n height: {\n type: Number,\n default: undefined\n },\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n name: {\n type: String,\n default: undefined\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n title: {\n type: [Object, String],\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartPane = ChartPaneVue2;\nexport { ChartPane, ChartPaneVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartPaneDefaultsVue2 = {\n name: 'KendoChartPaneDefaults',\n props: {\n background: {\n type: String,\n default: undefined\n },\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n clip: {\n type: Boolean,\n default: undefined\n },\n height: {\n type: Number,\n default: undefined\n },\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n name: {\n type: String,\n default: undefined\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n title: {\n type: [Object, String],\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'paneDefaults'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'paneDefaults'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartPaneDefaults = ChartPaneDefaultsVue2;\nexport { ChartPaneDefaults, ChartPaneDefaultsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { CollectionConfiguration } from './base/CollectionConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ChartPanesVue2 = {\n name: 'KendoChartPanes',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return (\n // @ts-ignore function children\n h(CollectionConfiguration, {\n chartKey: \"panes\",\n attrs: this.v3 ? undefined : {\n chartKey: \"panes\"\n }\n }, this.v3 ? function () {\n return [defaultSlots];\n } : [defaultSlots])\n );\n }\n};\n/**\n * @hidden\n */\nvar ChartPanes = ChartPanesVue2;\nexport { ChartPanes, ChartPanesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartPlotAreaVue2 = {\n name: 'KendoChartPlotArea',\n props: {\n background: {\n type: String,\n default: undefined\n },\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n opacity: {\n type: Number,\n default: undefined\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'plotArea'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'plotArea'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartPlotArea = ChartPlotAreaVue2;\nexport { ChartPlotArea, ChartPlotAreaVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { CollectionConfiguration } from './base/CollectionConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ChartSeriesVue2 = {\n name: 'KendoChartSeries',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return (\n // @ts-ignore function children\n h(CollectionConfiguration, {\n chartKey: \"series\",\n attrs: this.v3 ? undefined : {\n chartKey: \"series\"\n }\n }, this.v3 ? function () {\n return [defaultSlots];\n } : [defaultSlots])\n );\n }\n};\n/**\n * @hidden\n */\nvar ChartSeries = ChartSeriesVue2;\nexport { ChartSeries, ChartSeriesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsVue2 = {\n name: 'KendoChartSeriesDefaults',\n props: {\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n gap: Number,\n overlay: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n spacing: Number,\n stack: {\n type: [Boolean, String, Object],\n default: function _default() {\n return undefined;\n }\n },\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['area', 'bar', 'boxPlot', 'bubble', 'bullet', 'candlestick', 'column', 'donut', 'funnel', 'horizontalWaterfall', 'line', 'ohlc', 'pie', 'polarArea', 'polarLine', 'polarScatter', 'radarArea', 'radarColumn', 'radarLine', 'rangeArea', 'rangeBar', 'rangeColumn', 'scatter', 'scatterLine', 'verticalArea', 'verticalBoxPlot', 'verticalBullet', 'verticalLine', 'verticalRangeArea', 'waterfall'].includes(value);\n }\n },\n visual: {\n type: Function,\n default: undefined\n },\n labels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n notes: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n tooltip: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'seriesDefaults'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'seriesDefaults'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesDefaults = ChartSeriesDefaultsVue2;\nexport { ChartSeriesDefaults, ChartSeriesDefaultsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar reactive = allVue.reactive;\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots, noop } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesItemVue2 = {\n name: 'KendoChartSeriesItem',\n props: {\n autoFit: Boolean,\n aggregate: {\n type: [String, Function, Object],\n default: function _default() {\n return undefined;\n }\n },\n axis: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n categoryAxis: String,\n categoryField: String,\n closeField: String,\n color: {\n type: [String, Function],\n default: function _default() {\n return undefined;\n }\n },\n colorField: String,\n connectors: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n currentField: String,\n dashType: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['dash', 'dashDot', 'dot', 'longDash', 'longDashDot', 'longDashDotDot', 'solid'].includes(value);\n }\n },\n dataItems: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n downColor: String,\n downColorField: String,\n dynamicHeight: {\n type: Boolean,\n default: undefined\n },\n dynamicSlope: {\n type: Boolean,\n default: undefined\n },\n errorHighField: String,\n errorLowField: String,\n explodeField: String,\n field: String,\n fromField: String,\n gap: Number,\n highField: String,\n holeSize: Number,\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n lowField: String,\n lowerField: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n maxSize: Number,\n meanField: String,\n medianField: String,\n minSize: Number,\n missingValues: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['gap', 'interpolate', 'zero'].includes(value);\n }\n },\n name: String,\n neckRatio: Number,\n negativeColor: String,\n negativeValues: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n noteTextField: String,\n opacity: Number,\n openField: String,\n outliersField: String,\n overlay: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n padding: Number,\n q1Field: String,\n q3Field: String,\n segmentSpacing: Number,\n size: Number,\n sizeField: String,\n spacing: Number,\n stack: {\n type: [Boolean, String, Object],\n default: function _default() {\n return undefined;\n }\n },\n startAngle: Number,\n lineStyle: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['normal', 'step', 'smooth'].includes(value);\n }\n },\n summaryField: String,\n target: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n toField: String,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['area', 'bar', 'boxPlot', 'bubble', 'bullet', 'candlestick', 'column', 'donut', 'funnel', 'horizontalWaterfall', 'line', 'ohlc', 'pie', 'polarArea', 'polarLine', 'polarScatter', 'radarArea', 'radarColumn', 'radarLine', 'rangeArea', 'rangeBar', 'rangeColumn', 'scatter', 'scatterLine', 'verticalArea', 'verticalBoxPlot', 'verticalBullet', 'verticalLine', 'verticalRangeArea', 'waterfall'].includes(value);\n }\n },\n upperField: String,\n visible: {\n type: Boolean,\n default: undefined\n },\n visibleInLegend: {\n type: Boolean,\n default: undefined\n },\n visibleInLegendField: String,\n visual: {\n type: Function,\n default: undefined\n },\n width: Number,\n xAxis: String,\n xErrorHighField: String,\n xErrorLowField: String,\n xField: String,\n yAxis: String,\n yErrorHighField: String,\n yErrorLowField: String,\n yField: String,\n zIndex: Number,\n errorBars: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n extremes: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n highlight: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n /**\n * The configuration of the Chart series label. The Chart displays the series labels when the [`series.labels.visible`]({% slug api_charts_chartserieslabelsprops %}#toc-visible) option is set to `true`.\n */\n labels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n markers: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n notes: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n outliers: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n tooltip: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n inject: {\n chartRefresh: {\n default: noop\n }\n },\n watch: {\n dataItems: {\n handler: function handler() {\n this.chartRefresh();\n },\n deep: true\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesItem = ChartSeriesItemVue2;\nexport { ChartSeriesItem, ChartSeriesItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartTitleVue2 = {\n name: 'KendoChartTitle',\n props: {\n background: {\n type: String,\n default: undefined\n },\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n align: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['center', 'left', 'right'].includes(value);\n }\n },\n color: {\n type: String,\n default: undefined\n },\n font: {\n type: String,\n default: undefined\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['top', 'bottom'].includes(value);\n }\n },\n text: {\n type: String,\n default: undefined\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'title'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'title'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartTitle = ChartTitleVue2;\nexport { ChartTitle, ChartTitleVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots, getListeners, templateRendering } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartTooltipVue2 = {\n name: 'KendoChartTooltip',\n props: {\n background: {\n type: String,\n default: undefined\n },\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n color: {\n type: String,\n default: undefined\n },\n render: [String, Function, Object],\n font: {\n type: String,\n default: undefined\n },\n format: {\n type: String,\n default: undefined\n },\n opacity: {\n type: Number,\n default: undefined\n },\n shared: {\n type: Boolean,\n default: undefined\n },\n visible: {\n type: Boolean,\n default: true\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n var render = templateRendering.call(this, this.$props.render, getListeners.call(this));\n return this.v3 ? h(Configuration, {\n config: __assign(__assign({}, config), {\n render: render\n }),\n chartKey: 'tooltip'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: __assign(__assign({}, config), {\n render: render\n }),\n chartKey: 'tooltip'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartTooltip = ChartTooltipVue2;\nexport { ChartTooltip, ChartTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { CollectionConfiguration } from './base/CollectionConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ChartValueAxisVue2 = {\n name: 'KendoChartValueAxis',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return (\n // @ts-ignore function children\n h(CollectionConfiguration, {\n chartKey: \"valueAxis\",\n attrs: this.v3 ? undefined : {\n chartKey: \"valueAxis\"\n }\n }, this.v3 ? function () {\n return [defaultSlots];\n } : [defaultSlots])\n );\n }\n};\n/**\n * @hidden\n */\nvar ChartValueAxis = ChartValueAxisVue2;\nexport { ChartValueAxis, ChartValueAxisVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartValueAxisItemVue2 = {\n name: 'KendoChartValueAxisItem',\n props: {\n axisCrossingValue: {\n type: [Array, Object, Date, Number],\n default: function _default() {\n return undefined;\n }\n },\n background: {\n type: String,\n default: undefined\n },\n color: {\n type: String,\n default: undefined\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorUnit: {\n type: Number,\n default: undefined\n },\n max: {\n type: [Number, Object, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n min: {\n type: [Number, Object, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n minorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n minorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n minorUnit: {\n type: Number,\n default: undefined\n },\n name: {\n type: String,\n default: undefined\n },\n narrowRange: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n pane: {\n type: String,\n default: undefined\n },\n plotBands: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n reverse: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['numeric', 'log'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n crosshair: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n labels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n notes: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n title: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartValueAxisItem = ChartValueAxisItemVue2;\nexport { ChartValueAxisItem, ChartValueAxisItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { CollectionConfiguration } from './base/CollectionConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ChartXAxisVue2 = {\n name: 'KendoChartXAxis',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return (\n // @ts-ignore function children\n h(CollectionConfiguration, {\n chartKey: \"xAxis\",\n attrs: this.v3 ? undefined : {\n chartKey: \"xAxis\"\n }\n }, this.v3 ? function () {\n return [defaultSlots];\n } : [defaultSlots])\n );\n }\n};\n/**\n * @hidden\n */\nvar ChartXAxis = ChartXAxisVue2;\nexport { ChartXAxis, ChartXAxisVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartXAxisItemVue2 = {\n name: 'KendoChartXAxisItem',\n props: {\n axisCrossingValue: {\n type: [Array, Object, Date, Number],\n default: function _default() {\n return undefined;\n }\n },\n background: {\n type: String,\n default: undefined\n },\n baseUnit: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['milliseconds', 'seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'years', 'auto', 'fit'].includes(value);\n }\n },\n color: {\n type: String,\n default: undefined\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorUnit: {\n type: Number,\n default: undefined\n },\n max: {\n type: [Number, Object, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n min: {\n type: [Number, Object, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n minorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n minorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n minorUnit: {\n type: Number,\n default: undefined\n },\n name: {\n type: String,\n default: undefined\n },\n narrowRange: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n pane: {\n type: String,\n default: undefined\n },\n plotBands: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n startAngle: {\n type: Number,\n default: undefined\n },\n reverse: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['numeric', 'log', 'date'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n crosshair: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n labels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n notes: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n title: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartXAxisItem = ChartXAxisItemVue2;\nexport { ChartXAxisItem, ChartXAxisItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { CollectionConfiguration } from './base/CollectionConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ChartYAxisVue2 = {\n name: 'KendoChartYAxis',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return (\n // @ts-ignore function children\n h(CollectionConfiguration, {\n chartKey: \"yAxis\",\n attrs: this.v3 ? undefined : {\n chartKey: \"yAxis\"\n }\n }, this.v3 ? function () {\n return [defaultSlots];\n } : [defaultSlots])\n );\n }\n};\n/**\n * @hidden\n */\nvar ChartYAxis = ChartYAxisVue2;\nexport { ChartYAxis, ChartYAxisVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartYAxisItemVue2 = {\n name: 'KendoChartYAxisItem',\n props: {\n axisCrossingValue: {\n type: [Array, Object, Date, Number],\n default: function _default() {\n return undefined;\n }\n },\n background: {\n type: String,\n default: undefined\n },\n baseUnit: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['milliseconds', 'seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'years', 'auto', 'fit'].includes(value);\n }\n },\n color: {\n type: String,\n default: undefined\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorUnit: {\n type: Number,\n default: undefined\n },\n max: {\n type: [Number, Object, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n min: {\n type: [Number, Object, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n minorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n minorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n minorUnit: {\n type: Number,\n default: undefined\n },\n name: {\n type: String,\n default: undefined\n },\n narrowRange: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n pane: {\n type: String,\n default: undefined\n },\n plotBands: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n reverse: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['numeric', 'log', 'date'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n crosshair: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n labels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n notes: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n title: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartYAxisItem = ChartYAxisItemVue2;\nexport { ChartYAxisItem, ChartYAxisItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../utils/main';\n/**\n * @hidden\n */\nvar ChartZoomableVue2 = {\n name: 'KendoChartZoomable',\n props: {\n mousewheel: {\n type: [Boolean, Object],\n default: function _default() {\n return undefined;\n }\n },\n selection: {\n type: [Boolean, Object],\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'zoomable'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'zoomable'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartZoomable = ChartZoomableVue2;\nexport { ChartZoomable, ChartZoomableVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartAxisDefaultsTitleVue2 = {\n name: 'KendoChartAxisDefaultsTitle',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right', 'center'].includes(value);\n }\n },\n rotation: Number,\n text: String,\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'title'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'title'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartAxisDefaultsTitle = ChartAxisDefaultsTitleVue2;\nexport { ChartAxisDefaultsTitle, ChartAxisDefaultsTitleVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartAxisDefaultsLabelsVue2 = {\n name: 'KendoChartAxisDefaultsLabels',\n props: {\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n mirror: Boolean,\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n rotation: {\n type: [Object, Number, String],\n default: function _default() {\n return undefined;\n }\n },\n skip: Number,\n step: Number,\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'labels'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'labels'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartAxisDefaultsLabels = ChartAxisDefaultsLabelsVue2;\nexport { ChartAxisDefaultsLabels, ChartAxisDefaultsLabelsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartAxisDefaultsCrosshairVue2 = {\n name: 'KendoChartAxisDefaultsCrosshair',\n props: {\n color: String,\n dashType: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['dash', 'dashDot', 'dot', 'longDash', 'longDashDot', 'longDashDotDot', 'solid'].includes(value);\n }\n },\n opacity: Number,\n visible: {\n type: Boolean,\n default: true\n },\n width: Number,\n tooltip: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'crosshair'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'crosshair'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartAxisDefaultsCrosshair = ChartAxisDefaultsCrosshairVue2;\nexport { ChartAxisDefaultsCrosshair, ChartAxisDefaultsCrosshairVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartAxisDefaultsCrosshairTooltipVue2 = {\n name: 'KendoChartAxisDefaultsCrosshairTooltip',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n format: String,\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n visible: {\n type: Boolean,\n default: true\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'tooltip'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'tooltip'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartAxisDefaultsCrosshairTooltip = ChartAxisDefaultsCrosshairTooltipVue2;\nexport { ChartAxisDefaultsCrosshairTooltip, ChartAxisDefaultsCrosshairTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartCategoryAxisCrosshairVue2 = {\n name: 'KendoChartCategoryAxisCrosshair',\n props: {\n color: String,\n dashType: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['dash', 'dashDot', 'dot', 'longDash', 'longDashDot', 'longDashDotDot', 'solid'].includes(value);\n }\n },\n opacity: Number,\n visible: {\n type: Boolean,\n default: true\n },\n width: Number,\n tooltip: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'crosshair'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'crosshair'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartCategoryAxisCrosshair = ChartCategoryAxisCrosshairVue2;\nexport { ChartCategoryAxisCrosshair, ChartCategoryAxisCrosshairVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartCategoryAxisCrosshairTooltipVue2 = {\n name: 'KendoChartCategoryAxisCrosshairTooltip',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n format: String,\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n visible: {\n type: Boolean,\n default: true\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'tooltip'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'tooltip'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartCategoryAxisCrosshairTooltip = ChartCategoryAxisCrosshairTooltipVue2;\nexport { ChartCategoryAxisCrosshairTooltip, ChartCategoryAxisCrosshairTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartCategoryAxisSelectVue2 = {\n name: 'KendoChartCategoryAxisSelect',\n props: {\n from: {\n type: [Object, Number, String],\n default: function _default() {\n return undefined;\n }\n },\n max: {\n type: [Object, Number, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n min: {\n type: [Object, Number, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n mousewheel: {\n type: [Object, Boolean],\n default: function _default() {\n return undefined;\n }\n },\n to: {\n type: [Object, Number, String],\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'select'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'select'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartCategoryAxisSelect = ChartCategoryAxisSelectVue2;\nexport { ChartCategoryAxisSelect, ChartCategoryAxisSelectVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartCategoryAxisTitleVue2 = {\n name: 'KendoChartCategoryAxisTitle',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right', 'center'].includes(value);\n }\n },\n rotation: Number,\n text: String,\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'title'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'title'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartCategoryAxisTitle = ChartCategoryAxisTitleVue2;\nexport { ChartCategoryAxisTitle, ChartCategoryAxisTitleVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartCategoryAxisLabelsVue2 = {\n name: 'KendoChartCategoryAxisLabels',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n culture: String,\n dateFormats: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n mirror: {\n type: Boolean,\n default: undefined\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['start', 'end', 'onAxis', ''].includes(value);\n }\n },\n rotation: {\n type: [Object, Number, String],\n default: function _default() {\n return undefined;\n }\n },\n skip: Number,\n step: Number,\n visible: {\n type: Boolean,\n default: true\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'labels'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'labels'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartCategoryAxisLabels = ChartCategoryAxisLabelsVue2;\nexport { ChartCategoryAxisLabels, ChartCategoryAxisLabelsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartCategoryAxisNotesVue2 = {\n name: 'KendoChartCategoryAxisNotes',\n props: {\n dataItems: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right'].includes(value);\n }\n },\n visual: {\n type: Function,\n default: undefined\n },\n icon: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n label: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'notes'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'notes'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartCategoryAxisNotes = ChartCategoryAxisNotesVue2;\nexport { ChartCategoryAxisNotes, ChartCategoryAxisNotesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartCategoryAxisNotesIconVue2 = {\n name: 'KendoChartCategoryAxisNotesIcon',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'icon'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'icon'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartCategoryAxisNotesIcon = ChartCategoryAxisNotesIconVue2;\nexport { ChartCategoryAxisNotesIcon, ChartCategoryAxisNotesIconVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartCategoryAxisNotesLabelVue2 = {\n name: 'KendoChartCategoryAxisNotesLabel',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['inside', 'outside'].includes(value);\n }\n },\n rotation: Number,\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'label'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'label'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartCategoryAxisNotesLabel = ChartCategoryAxisNotesLabelVue2;\nexport { ChartCategoryAxisNotesLabel, ChartCategoryAxisNotesLabelVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartCategoryAxisRangeLabelsVue2 = {\n name: 'KendoChartCategoryAxisRangeLabels',\n props: {\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['start', 'end', 'onAxis', ''].includes(value);\n }\n },\n skip: Number,\n step: Number,\n visible: {\n type: Boolean,\n default: true\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'rangeLabels'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'rangeLabels'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartCategoryAxisRangeLabels = ChartCategoryAxisRangeLabelsVue2;\nexport { ChartCategoryAxisRangeLabels, ChartCategoryAxisRangeLabelsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartPaneTitleVue2 = {\n name: 'KendoChartPaneTitle',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['center', 'left', 'right'].includes(value);\n }\n },\n text: String,\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'title'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'title'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartPaneTitle = ChartPaneTitleVue2;\nexport { ChartPaneTitle, ChartPaneTitleVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartPaneDefaultsTitleVue2 = {\n name: 'KendoChartPaneDefaultsTitle',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['center', 'left', 'right'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'title'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'title'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartPaneDefaultsTitle = ChartPaneDefaultsTitleVue2;\nexport { ChartPaneDefaultsTitle, ChartPaneDefaultsTitleVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartLegendItemVue2 = {\n name: 'KendoChartLegendItem',\n props: {\n cursor: String,\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'item'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'item'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartLegendItem = ChartLegendItemVue2;\nexport { ChartLegendItem, ChartLegendItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartLegendTitleVue2 = {\n name: 'KendoChartLegendTitle',\n props: {\n align: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['center', 'left', 'right'].includes(value);\n }\n },\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['top', 'bottom'].includes(value);\n }\n },\n text: String,\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'title'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'title'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartLegendTitle = ChartLegendTitleVue2;\nexport { ChartLegendTitle, ChartLegendTitleVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartLegendInactiveItemsVue2 = {\n name: 'KendoChartLegendInactiveItems',\n props: {\n labels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'inactiveItems'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'inactiveItems'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartLegendInactiveItems = ChartLegendInactiveItemsVue2;\nexport { ChartLegendInactiveItems, ChartLegendInactiveItemsVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots, getListeners, templateRendering } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsItemTooltipVue2 = {\n name: 'KendoChartSeriesDefaultsItemTooltip',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n format: String,\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n },\n render: [String, Function, Object]\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n var render = templateRendering.call(this, this.$props.render, getListeners.call(this));\n return this.v3 ? h(Configuration, {\n config: __assign(__assign({}, config), {\n render: render\n }),\n chartKey: 'tooltip'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: __assign(__assign({}, config), {\n render: render\n }),\n chartKey: 'tooltip'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsItemTooltip = ChartSeriesDefaultsItemTooltipVue2;\nexport { ChartSeriesDefaultsItemTooltip, ChartSeriesDefaultsItemTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsLabelsVue2 = {\n name: 'KendoChartSeriesDefaultsLabels',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n visible: {\n type: Boolean,\n default: true\n },\n visual: {\n type: Function,\n default: undefined\n },\n from: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n to: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'labels'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'labels'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsLabels = ChartSeriesDefaultsLabelsVue2;\nexport { ChartSeriesDefaultsLabels, ChartSeriesDefaultsLabelsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsLabelsFromVue2 = {\n name: 'KendoChartSeriesDefaultsLabelsFrom',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'from'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'from'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsLabelsFrom = ChartSeriesDefaultsLabelsFromVue2;\nexport { ChartSeriesDefaultsLabelsFrom, ChartSeriesDefaultsLabelsFromVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsLabelsToVue2 = {\n name: 'KendoChartSeriesDefaultsLabelsTo',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'to'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'to'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsLabelsTo = ChartSeriesDefaultsLabelsToVue2;\nexport { ChartSeriesDefaultsLabelsTo, ChartSeriesDefaultsLabelsToVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsNotesVue2 = {\n name: 'KendoChartSeriesDefaultsNotes',\n props: {\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n visual: {\n type: Function,\n default: undefined\n },\n icon: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n label: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'notes'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'notes'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsNotes = ChartSeriesDefaultsNotesVue2;\nexport { ChartSeriesDefaultsNotes, ChartSeriesDefaultsNotesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsNotesIconVue2 = {\n name: 'KendoChartSeriesDefaultsNotesIcon',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'icon'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'icon'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsNotesIcon = ChartSeriesDefaultsNotesIconVue2;\nexport { ChartSeriesDefaultsNotesIcon, ChartSeriesDefaultsNotesIconVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsNotesLabelVue2 = {\n name: 'KendoChartSeriesDefaultsNotesLabel',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['inside', 'outside'].includes(value);\n }\n },\n rotation: Number,\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'label'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'label'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesDefaultsNotesLabel = ChartSeriesDefaultsNotesLabelVue2;\nexport { ChartSeriesDefaultsNotesLabel, ChartSeriesDefaultsNotesLabelVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots, getListeners, templateRendering } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesItemTooltipVue2 = {\n name: 'KendoChartSeriesItemTooltip',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n format: String,\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n render: [String, Function, Object],\n visible: {\n type: Boolean,\n default: true\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n var render = templateRendering.call(this, this.$props.render, getListeners.call(this));\n return this.v3 ? h(Configuration, {\n config: __assign(__assign({}, config), {\n render: render\n }),\n chartKey: 'tooltip'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: __assign(__assign({}, config), {\n render: render\n }),\n chartKey: 'tooltip'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesItemTooltip = ChartSeriesItemTooltipVue2;\nexport { ChartSeriesItemTooltip, ChartSeriesItemTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesItemOutliersVue2 = {\n name: 'KendoChartSeriesItemOutliers',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n rotation: Number,\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'outliers'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'outliers'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesItemOutliers = ChartSeriesItemOutliersVue2;\nexport { ChartSeriesItemOutliers, ChartSeriesItemOutliersVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesNotesVue2 = {\n name: 'KendoChartSeriesNotes',\n props: {\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right'].includes(value);\n }\n },\n visual: {\n type: Function,\n default: undefined\n },\n icon: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n label: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'notes'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'notes'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesNotes = ChartSeriesNotesVue2;\nexport { ChartSeriesNotes, ChartSeriesNotesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesMarkersVue2 = {\n name: 'KendoChartSeriesMarkers',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n rotation: Number,\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n },\n from: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n to: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'markers'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'markers'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesMarkers = ChartSeriesMarkersVue2;\nexport { ChartSeriesMarkers, ChartSeriesMarkersVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesLabelsVue2 = {\n name: 'KendoChartSeriesLabels',\n props: {\n align: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['circle', 'column', 'center', 'right', 'left'].includes(value);\n }\n },\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n distance: Number,\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['auto', 'above', 'below', 'center', 'insideBase', 'insideEnd', 'left', 'outsideEnd', 'right', 'top', 'bottom'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: true\n },\n visual: {\n type: Function,\n default: undefined\n },\n from: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n to: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'labels'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'labels'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesLabels = ChartSeriesLabelsVue2;\nexport { ChartSeriesLabels, ChartSeriesLabelsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesHighlightVue2 = {\n name: 'KendoChartSeriesHighlight',\n props: {\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n opacity: Number,\n toggle: {\n type: Function,\n default: undefined\n },\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'highlight'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'highlight'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesHighlight = ChartSeriesHighlightVue2;\nexport { ChartSeriesHighlight, ChartSeriesHighlightVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesExtremesVue2 = {\n name: 'KendoChartSeriesExtremes',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n rotation: Number,\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'extremes'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'extremes'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesExtremes = ChartSeriesExtremesVue2;\nexport { ChartSeriesExtremes, ChartSeriesExtremesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesErrorBarsVue2 = {\n name: 'KendoChartSeriesErrorBars',\n props: {\n color: String,\n endCaps: {\n type: Boolean,\n default: undefined\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n value: String,\n visual: {\n type: Function,\n default: undefined\n },\n xValue: String,\n yValue: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'errorBars'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'errorBars'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesErrorBars = ChartSeriesErrorBarsVue2;\nexport { ChartSeriesErrorBars, ChartSeriesErrorBarsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesLabelsFromVue2 = {\n name: 'KendoChartSeriesLabelsFrom',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['center', 'insideBase', 'insideEnd', 'outsideEnd'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'from'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'from'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesLabelsFrom = ChartSeriesLabelsFromVue2;\nexport { ChartSeriesLabelsFrom, ChartSeriesLabelsFromVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesLabelsToVue2 = {\n name: 'KendoChartSeriesLabelsTo',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['center', 'insideBase', 'insideEnd', 'outsideEnd'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'to'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'to'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesLabelsTo = ChartSeriesLabelsToVue2;\nexport { ChartSeriesLabelsTo, ChartSeriesLabelsToVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesNotesLabelVue2 = {\n name: 'KendoChartSeriesNotesLabel',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['inside', 'outside'].includes(value);\n }\n },\n rotation: Number,\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'label'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'label'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesNotesLabel = ChartSeriesNotesLabelVue2;\nexport { ChartSeriesNotesLabel, ChartSeriesNotesLabelVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartSeriesNotesIconVue2 = {\n name: 'KendoChartSeriesNotesIcon',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'icon'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'icon'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartSeriesNotesIcon = ChartSeriesNotesIconVue2;\nexport { ChartSeriesNotesIcon, ChartSeriesNotesIconVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartValueAxisCrosshairVue2 = {\n name: 'KendoChartValueAxisCrosshair',\n props: {\n color: String,\n opacity: Number,\n visible: {\n type: Boolean,\n default: true\n },\n width: Number,\n tooltip: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'crosshair'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'crosshair'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartValueAxisCrosshair = ChartValueAxisCrosshairVue2;\nexport { ChartValueAxisCrosshair, ChartValueAxisCrosshairVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartValueAxisCrosshairTooltipVue2 = {\n name: 'KendoChartValueAxisCrosshairTooltip',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n format: String,\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n visible: {\n type: Boolean,\n default: true\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'tooltip'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'tooltip'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartValueAxisCrosshairTooltip = ChartValueAxisCrosshairTooltipVue2;\nexport { ChartValueAxisCrosshairTooltip, ChartValueAxisCrosshairTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartValueAxisLabelsVue2 = {\n name: 'KendoChartValueAxisLabels',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n mirror: {\n type: Boolean,\n default: undefined\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n rotation: {\n type: [Object, Number, String],\n default: function _default() {\n return undefined;\n }\n },\n skip: Number,\n step: Number,\n visible: {\n type: Boolean,\n default: true\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'labels'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'labels'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartValueAxisLabels = ChartValueAxisLabelsVue2;\nexport { ChartValueAxisLabels, ChartValueAxisLabelsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartValueAxisNotesVue2 = {\n name: 'KendoChartValueAxisNotes',\n props: {\n dataItems: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right'].includes(value);\n }\n },\n visual: {\n type: Function,\n default: undefined\n },\n icon: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n label: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'notes'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'notes'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartValueAxisNotes = ChartValueAxisNotesVue2;\nexport { ChartValueAxisNotes, ChartValueAxisNotesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartValueAxisNotesIconVue2 = {\n name: 'KendoChartValueAxisNotesIcon',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'icon'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'icon'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartValueAxisNotesIcon = ChartValueAxisNotesIconVue2;\nexport { ChartValueAxisNotesIcon, ChartValueAxisNotesIconVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartValueAxisNotesLabelVue2 = {\n name: 'KendoChartValueAxisNotesLabel',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['inside', 'outside'].includes(value);\n }\n },\n rotation: Number,\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'label'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'label'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartValueAxisNotesLabel = ChartValueAxisNotesLabelVue2;\nexport { ChartValueAxisNotesLabel, ChartValueAxisNotesLabelVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartValueAxisTitleVue2 = {\n name: 'KendoChartValueAxisTitle',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right', 'center'].includes(value);\n }\n },\n rotation: Number,\n text: String,\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'title'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'title'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartValueAxisTitle = ChartValueAxisTitleVue2;\nexport { ChartValueAxisTitle, ChartValueAxisTitleVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartXAxisCrosshairVue2 = {\n name: 'KendoChartXAxisCrosshair',\n props: {\n color: String,\n opacity: Number,\n visible: {\n type: Boolean,\n default: true\n },\n width: Number,\n tooltip: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'crosshair'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'crosshair'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartXAxisCrosshair = ChartXAxisCrosshairVue2;\nexport { ChartXAxisCrosshair, ChartXAxisCrosshairVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartXAxisCrosshairTooltipVue2 = {\n name: 'KendoChartXAxisCrosshairTooltip',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n format: String,\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n visible: {\n type: Boolean,\n default: true\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'tooltip'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'tooltip'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartXAxisCrosshairTooltip = ChartXAxisCrosshairTooltipVue2;\nexport { ChartXAxisCrosshairTooltip, ChartXAxisCrosshairTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartXAxisLabelsVue2 = {\n name: 'KendoChartXAxisLabels',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n culture: String,\n dateFormats: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n mirror: {\n type: Boolean,\n default: undefined\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n rotation: {\n type: [Object, Number, String],\n default: function _default() {\n return undefined;\n }\n },\n skip: Number,\n step: Number,\n visible: {\n type: Boolean,\n default: true\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'labels'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'labels'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartXAxisLabels = ChartXAxisLabelsVue2;\nexport { ChartXAxisLabels, ChartXAxisLabelsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartXAxisNotesVue2 = {\n name: 'KendoChartXAxisNotes',\n props: {\n dataItems: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right'].includes(value);\n }\n },\n visual: {\n type: Function,\n default: undefined\n },\n icon: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n label: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'notes'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'notes'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartXAxisNotes = ChartXAxisNotesVue2;\nexport { ChartXAxisNotes, ChartXAxisNotesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartXAxisNotesIconVue2 = {\n name: 'KendoChartXAxisNotesIcon',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'icon'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'icon'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartXAxisNotesIcon = ChartXAxisNotesIconVue2;\nexport { ChartXAxisNotesIcon, ChartXAxisNotesIconVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartXAxisNotesLabelVue2 = {\n name: 'KendoChartXAxisNotesLabel',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['inside', 'outside'].includes(value);\n }\n },\n rotation: Number,\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'label'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'label'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartXAxisNotesLabel = ChartXAxisNotesLabelVue2;\nexport { ChartXAxisNotesLabel, ChartXAxisNotesLabelVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartXAxisTitleVue2 = {\n name: 'KendoChartXAxisTitle',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right', 'center'].includes(value);\n }\n },\n rotation: Number,\n text: String,\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'title'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'title'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartXAxisTitle = ChartXAxisTitleVue2;\nexport { ChartXAxisTitle, ChartXAxisTitleVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartYAxisCrosshairVue2 = {\n name: 'KendoChartYAxisCrosshair',\n props: {\n color: String,\n opacity: Number,\n visible: {\n type: Boolean,\n default: true\n },\n width: Number,\n tooltip: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'crosshair'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'crosshair'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartYAxisCrosshair = ChartYAxisCrosshairVue2;\nexport { ChartYAxisCrosshair, ChartYAxisCrosshairVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartYAxisCrosshairTooltipVue2 = {\n name: 'KendoChartYAxisCrosshairTooltip',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n format: String,\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n visible: {\n type: Boolean,\n default: true\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'tooltip'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'tooltip'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartYAxisCrosshairTooltip = ChartYAxisCrosshairTooltipVue2;\nexport { ChartYAxisCrosshairTooltip, ChartYAxisCrosshairTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartYAxisLabelsVue2 = {\n name: 'KendoChartYAxisLabels',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n culture: String,\n dateFormats: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n mirror: {\n type: Boolean,\n default: undefined\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n rotation: {\n type: [Object, Number, String],\n default: function _default() {\n return undefined;\n }\n },\n skip: Number,\n step: Number,\n visible: {\n type: Boolean,\n default: true\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'labels'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'labels'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartYAxisLabels = ChartYAxisLabelsVue2;\nexport { ChartYAxisLabels, ChartYAxisLabelsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartYAxisNotesVue2 = {\n name: 'KendoChartYAxisNotes',\n props: {\n dataItems: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right'].includes(value);\n }\n },\n visual: {\n type: Function,\n default: undefined\n },\n icon: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n label: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'notes'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'notes'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartYAxisNotes = ChartYAxisNotesVue2;\nexport { ChartYAxisNotes, ChartYAxisNotesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartYAxisNotesIconVue2 = {\n name: 'KendoChartYAxisNotesIcon',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'icon'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'icon'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartYAxisNotesIcon = ChartYAxisNotesIconVue2;\nexport { ChartYAxisNotesIcon, ChartYAxisNotesIconVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartYAxisNotesLabelVue2 = {\n name: 'KendoChartYAxisNotesLabel',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['inside', 'outside'].includes(value);\n }\n },\n rotation: Number,\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'label'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'label'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartYAxisNotesLabel = ChartYAxisNotesLabelVue2;\nexport { ChartYAxisNotesLabel, ChartYAxisNotesLabelVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartYAxisTitleVue2 = {\n name: 'KendoChartYAxisTitle',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right', 'center'].includes(value);\n }\n },\n rotation: Number,\n text: String,\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'title'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'title'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartYAxisTitle = ChartYAxisTitleVue2;\nexport { ChartYAxisTitle, ChartYAxisTitleVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisVue2 = {\n name: 'KendoChartNavigatorCategoryAxis',\n props: {\n autoBaseUnitSteps: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n axisCrossingValue: {\n type: [Object, Array, Date, Number],\n default: function _default() {\n return undefined;\n }\n },\n background: {\n type: String,\n default: undefined\n },\n baseUnit: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['milliseconds', 'seconds', 'minutes', 'hours', 'days', 'weeks', 'months', 'years', 'auto', 'fit'].includes(value);\n }\n },\n baseUnitStep: {\n type: [Number, String],\n default: function _default() {\n return undefined;\n }\n },\n categories: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n color: {\n type: String,\n default: undefined\n },\n justified: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n majorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n max: {\n type: [Number, Object, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n maxDateGroups: {\n type: Number,\n default: undefined\n },\n maxDivisions: {\n type: Number,\n default: undefined\n },\n min: {\n type: [Number, Object, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n minorGridLines: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n minorTicks: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n name: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n rangeLabels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n pane: {\n type: String,\n default: undefined\n },\n plotBands: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n reverse: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n roundToBaseUnit: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n startAngle: {\n type: Number,\n default: undefined\n },\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['category', 'date'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: function _default() {\n return undefined;\n }\n },\n weekStartDay: {\n type: Number,\n default: undefined\n },\n crosshair: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n labels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n notes: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n select: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n title: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'categoryAxis'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'categoryAxis'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxis = ChartNavigatorCategoryAxisVue2;\nexport { ChartNavigatorCategoryAxis, ChartNavigatorCategoryAxisVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorHintVue2 = {\n name: 'KendoChartNavigatorHint',\n props: {\n content: {\n type: Function,\n default: undefined\n },\n format: String,\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'hint'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'hint'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorHint = ChartNavigatorHintVue2;\nexport { ChartNavigatorHint, ChartNavigatorHintVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorPaneVue2 = {\n name: 'KendoChartNavigatorPane',\n props: {\n background: {\n type: String,\n default: undefined\n },\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n clip: {\n type: Boolean,\n default: undefined\n },\n height: {\n type: Number,\n default: undefined\n },\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n name: {\n type: String,\n default: undefined\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n title: {\n type: [Object, String],\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'pane'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'pane'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorPane = ChartNavigatorPaneVue2;\nexport { ChartNavigatorPane, ChartNavigatorPaneVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSelectVue2 = {\n name: 'KendoChartNavigatorSelect',\n props: {\n from: {\n type: Date,\n default: function _default() {\n return undefined;\n }\n },\n mousewheel: {\n type: [Object, Boolean],\n default: function _default() {\n return undefined;\n }\n },\n to: {\n type: Date,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'select'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'select'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSelect = ChartNavigatorSelectVue2;\nexport { ChartNavigatorSelect, ChartNavigatorSelectVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { CollectionConfiguration } from './../base/CollectionConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesVue2 = {\n name: 'KendoChartNavigatorSeries',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return (\n // @ts-ignore function children\n h(CollectionConfiguration, {\n chartKey: \"series\",\n attrs: this.v3 ? undefined : {\n chartKey: \"series\",\n parentKey: \"navigator\"\n },\n parentKey: \"navigator\"\n }, this.v3 ? function () {\n return [defaultSlots];\n } : [defaultSlots])\n );\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeries = ChartNavigatorSeriesVue2;\nexport { ChartNavigatorSeries, ChartNavigatorSeriesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesItemVue2 = {\n name: 'KendoChartNavigatorSeriesItem',\n props: {\n aggregate: {\n type: [String, Function, Object],\n default: function _default() {\n return undefined;\n }\n },\n axis: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n categoryAxis: String,\n categoryField: String,\n closeField: String,\n color: {\n type: [String, Function],\n default: function _default() {\n return undefined;\n }\n },\n colorField: String,\n connectors: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n currentField: String,\n dashType: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['dash', 'dashDot', 'dot', 'longDash', 'longDashDot', 'longDashDotDot', 'solid'].includes(value);\n }\n },\n dataItems: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n downColor: String,\n downColorField: String,\n dynamicHeight: {\n type: Boolean,\n default: undefined\n },\n dynamicSlope: {\n type: Boolean,\n default: undefined\n },\n errorHighField: String,\n errorLowField: String,\n explodeField: String,\n field: String,\n fromField: String,\n gap: Number,\n highField: String,\n holeSize: Number,\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n lowField: String,\n lowerField: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n maxSize: Number,\n meanField: String,\n medianField: String,\n minSize: Number,\n missingValues: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['gap', 'interpolate', 'zero'].includes(value);\n }\n },\n name: String,\n neckRatio: Number,\n negativeColor: String,\n negativeValues: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n noteTextField: String,\n opacity: Number,\n openField: String,\n outliersField: String,\n overlay: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n padding: Number,\n q1Field: String,\n q3Field: String,\n segmentSpacing: Number,\n size: Number,\n sizeField: String,\n spacing: Number,\n stack: {\n type: [Boolean, String, Object],\n default: function _default() {\n return undefined;\n }\n },\n startAngle: Number,\n lineStyle: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['normal', 'step', 'smooth'].includes(value);\n }\n },\n summaryField: String,\n target: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n toField: String,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['area', 'bar', 'boxPlot', 'bubble', 'bullet', 'candlestick', 'column', 'donut', 'funnel', 'horizontalWaterfall', 'line', 'ohlc', 'pie', 'polarArea', 'polarLine', 'polarScatter', 'radarArea', 'radarColumn', 'radarLine', 'rangeArea', 'rangeBar', 'rangeColumn', 'scatter', 'scatterLine', 'verticalArea', 'verticalBoxPlot', 'verticalBullet', 'verticalLine', 'verticalRangeArea', 'waterfall'].includes(value);\n }\n },\n upperField: String,\n visible: {\n type: Boolean,\n default: undefined\n },\n visibleInLegend: {\n type: Boolean,\n default: undefined\n },\n visibleInLegendField: String,\n visual: {\n type: Function,\n default: undefined\n },\n width: Number,\n xAxis: String,\n xErrorHighField: String,\n xErrorLowField: String,\n xField: String,\n yAxis: String,\n yErrorHighField: String,\n yErrorLowField: String,\n yField: String,\n zIndex: Number,\n errorBars: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n extremes: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n highlight: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n /**\n * The configuration of the Chart series label. The Chart displays the series labels when the [`series.labels.visible`]({% slug api_charts_chartserieslabelsprops %}#toc-visible) option is set to `true`.\n */\n labels: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n markers: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n notes: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n outliers: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n tooltip: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesItem = ChartNavigatorSeriesItemVue2;\nexport { ChartNavigatorSeriesItem, ChartNavigatorSeriesItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisCrosshairVue2 = {\n name: 'KendoChartNavigatorCategoryAxisCrosshair',\n props: {\n color: String,\n dashType: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['dash', 'dashDot', 'dot', 'longDash', 'longDashDot', 'longDashDotDot', 'solid'].includes(value);\n }\n },\n opacity: Number,\n visible: {\n type: Boolean,\n default: true\n },\n width: Number,\n tooltip: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'crosshair'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'crosshair'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisCrosshair = ChartNavigatorCategoryAxisCrosshairVue2;\nexport { ChartNavigatorCategoryAxisCrosshair, ChartNavigatorCategoryAxisCrosshairVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisCrosshairTooltipVue2 = {\n name: 'KendoChartNavigatorCategoryAxisCrosshairTooltip',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n format: String,\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n visible: {\n type: Boolean,\n default: true\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'tooltip'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'tooltip'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisCrosshairTooltip = ChartNavigatorCategoryAxisCrosshairTooltipVue2;\nexport { ChartNavigatorCategoryAxisCrosshairTooltip, ChartNavigatorCategoryAxisCrosshairTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisSelectVue2 = {\n name: 'KendoChartNavigatorCategoryAxisSelect',\n props: {\n from: {\n type: [Object, Number, String],\n default: function _default() {\n return undefined;\n }\n },\n max: {\n type: [Object, Number, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n min: {\n type: [Object, Number, String, Date],\n default: function _default() {\n return undefined;\n }\n },\n mousewheel: {\n type: [Object, Boolean],\n default: function _default() {\n return undefined;\n }\n },\n to: {\n type: [Object, Number, String],\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'select'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'select'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisSelect = ChartNavigatorCategoryAxisSelectVue2;\nexport { ChartNavigatorCategoryAxisSelect, ChartNavigatorCategoryAxisSelectVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisTitleVue2 = {\n name: 'KendoChartNavigatorCategoryAxisTitle',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right', 'center'].includes(value);\n }\n },\n rotation: Number,\n text: String,\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'title'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'title'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisTitle = ChartNavigatorCategoryAxisTitleVue2;\nexport { ChartNavigatorCategoryAxisTitle, ChartNavigatorCategoryAxisTitleVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisLabelsVue2 = {\n name: 'KendoChartNavigatorCategoryAxisLabels',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n culture: String,\n dateFormats: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n mirror: {\n type: Boolean,\n default: undefined\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['circle', 'column', 'center', 'right', 'left'].includes(value);\n }\n },\n rotation: {\n type: [Object, Number, String],\n default: function _default() {\n return undefined;\n }\n },\n skip: Number,\n step: Number,\n visible: {\n type: Boolean,\n default: true\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'labels'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'labels'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisLabels = ChartNavigatorCategoryAxisLabelsVue2;\nexport { ChartNavigatorCategoryAxisLabels, ChartNavigatorCategoryAxisLabelsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisNotesVue2 = {\n name: 'KendoChartNavigatorCategoryAxisNotes',\n props: {\n dataItems: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right'].includes(value);\n }\n },\n visual: {\n type: Function,\n default: undefined\n },\n icon: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n label: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'notes'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'notes'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisNotes = ChartNavigatorCategoryAxisNotesVue2;\nexport { ChartNavigatorCategoryAxisNotes, ChartNavigatorCategoryAxisNotesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisNotesIconVue2 = {\n name: 'KendoChartNavigatorCategoryAxisNotesIcon',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'icon'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'icon'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisNotesIcon = ChartNavigatorCategoryAxisNotesIconVue2;\nexport { ChartNavigatorCategoryAxisNotesIcon, ChartNavigatorCategoryAxisNotesIconVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisNotesLabelVue2 = {\n name: 'KendoChartNavigatorCategoryAxisNotesLabel',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['start', 'end', 'onAxis', ''].includes(value);\n }\n },\n rotation: Number,\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'label'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'label'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorCategoryAxisNotesLabel = ChartNavigatorCategoryAxisNotesLabelVue2;\nexport { ChartNavigatorCategoryAxisNotesLabel, ChartNavigatorCategoryAxisNotesLabelVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorPaneTitleVue2 = {\n name: 'KendoChartNavigatorPaneTitle',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['center', 'left', 'right'].includes(value);\n }\n },\n text: String,\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'title'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'title'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorPaneTitle = ChartNavigatorPaneTitleVue2;\nexport { ChartNavigatorPaneTitle, ChartNavigatorPaneTitleVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots, getListeners, templateRendering } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesItemTooltipVue2 = {\n name: 'KendoChartNavigatorSeriesItemTooltip',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n font: String,\n format: String,\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n render: [String, Function, Object],\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n var render = templateRendering.call(this, this.$props.render, getListeners.call(this));\n return this.v3 ? h(Configuration, {\n config: __assign(__assign({}, config), {\n render: render\n }),\n chartKey: 'tooltip'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: __assign(__assign({}, config), {\n render: render\n }),\n chartKey: 'tooltip'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesItemTooltip = ChartNavigatorSeriesItemTooltipVue2;\nexport { ChartNavigatorSeriesItemTooltip, ChartNavigatorSeriesItemTooltipVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesItemOutliersVue2 = {\n name: 'KendoChartNavigatorSeriesItemOutliers',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n rotation: Number,\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'outliers'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'outliers'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesItemOutliers = ChartNavigatorSeriesItemOutliersVue2;\nexport { ChartNavigatorSeriesItemOutliers, ChartNavigatorSeriesItemOutliersVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesNotesVue2 = {\n name: 'KendoChartNavigatorSeriesNotes',\n props: {\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['top', 'bottom', 'left', 'right'].includes(value);\n }\n },\n visual: {\n type: Function,\n default: undefined\n },\n icon: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n label: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'notes'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'notes'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesNotes = ChartNavigatorSeriesNotesVue2;\nexport { ChartNavigatorSeriesNotes, ChartNavigatorSeriesNotesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesMarkersVue2 = {\n name: 'KendoChartNavigatorSeriesMarkers',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n rotation: Number,\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n },\n from: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n to: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'markers'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'markers'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesMarkers = ChartNavigatorSeriesMarkersVue2;\nexport { ChartNavigatorSeriesMarkers, ChartNavigatorSeriesMarkersVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesLabelsVue2 = {\n name: 'KendoChartNavigatorSeriesLabels',\n props: {\n align: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['circle', 'column', 'center', 'right', 'left'].includes(value);\n }\n },\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n distance: Number,\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['auto', 'above', 'below', 'center', 'insideBase', 'insideEnd', 'left', 'outsideEnd', 'right', 'top', 'bottom'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: true\n },\n visual: {\n type: Function,\n default: undefined\n },\n from: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n to: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'labels'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'labels'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesLabels = ChartNavigatorSeriesLabelsVue2;\nexport { ChartNavigatorSeriesLabels, ChartNavigatorSeriesLabelsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesHighlightVue2 = {\n name: 'KendoChartNavigatorSeriesHighlight',\n props: {\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n opacity: Number,\n toggle: {\n type: Function,\n default: undefined\n },\n visible: {\n type: Boolean,\n default: undefined\n },\n visual: {\n type: Function,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'highlight'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'highlight'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesHighlight = ChartNavigatorSeriesHighlightVue2;\nexport { ChartNavigatorSeriesHighlight, ChartNavigatorSeriesHighlightVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesExtremesVue2 = {\n name: 'KendoChartNavigatorSeriesExtremes',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n rotation: Number,\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'extremes'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'extremes'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesExtremes = ChartNavigatorSeriesExtremesVue2;\nexport { ChartNavigatorSeriesExtremes, ChartNavigatorSeriesExtremesVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesErrorBarsVue2 = {\n name: 'KendoChartNavigatorSeriesErrorBars',\n props: {\n color: String,\n endCaps: {\n type: Boolean,\n default: undefined\n },\n line: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n value: String,\n visual: {\n type: Function,\n default: undefined\n },\n xValue: String,\n yValue: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'errorBars'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'errorBars'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesErrorBars = ChartNavigatorSeriesErrorBarsVue2;\nexport { ChartNavigatorSeriesErrorBars, ChartNavigatorSeriesErrorBarsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesLabelsFromVue2 = {\n name: 'KendoChartNavigatorSeriesLabelsFrom',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['center', 'insideBase', 'insideEnd', 'outsideEnd'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'from'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'from'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesLabelsFrom = ChartNavigatorSeriesLabelsFromVue2;\nexport { ChartNavigatorSeriesLabelsFrom, ChartNavigatorSeriesLabelsFromVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesLabelsToVue2 = {\n name: 'KendoChartNavigatorSeriesLabelsTo',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n margin: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n padding: {\n type: [Object, Number],\n default: function _default() {\n return undefined;\n }\n },\n position: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['center', 'insideBase', 'insideEnd', 'outsideEnd'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'to'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'to'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesLabelsTo = ChartNavigatorSeriesLabelsToVue2;\nexport { ChartNavigatorSeriesLabelsTo, ChartNavigatorSeriesLabelsToVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesNotesLabelVue2 = {\n name: 'KendoChartNavigatorSeriesNotesLabel',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n color: String,\n content: {\n type: Function,\n default: undefined\n },\n font: String,\n format: String,\n position: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['inside', 'outside'].includes(value);\n }\n },\n rotation: Number,\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'label'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'label'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesNotesLabel = ChartNavigatorSeriesNotesLabelVue2;\nexport { ChartNavigatorSeriesNotesLabel, ChartNavigatorSeriesNotesLabelVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Configuration } from './../../base/ConfigurationComponent';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { removeUndefinedProps } from '../../../utils/main';\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesNotesIconVue2 = {\n name: 'KendoChartNavigatorSeriesNotesIcon',\n props: {\n background: String,\n border: {\n type: Object,\n default: function _default() {\n return undefined;\n }\n },\n size: Number,\n type: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['square', 'circle', 'triangle', 'cross'].includes(value);\n }\n },\n visible: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var config = removeUndefinedProps(this.$props);\n return this.v3 ? h(Configuration, {\n config: config,\n chartKey: 'icon'\n }, function () {\n return defaultSlots;\n }) : h(Configuration, {\n props: {\n config: config,\n chartKey: 'icon'\n }\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar ChartNavigatorSeriesNotesIcon = ChartNavigatorSeriesNotesIconVue2;\nexport { ChartNavigatorSeriesNotesIcon, ChartNavigatorSeriesNotesIconVue2 };","/**\n * @hidden\n */\nexport var isObject = function (value) {\n return typeof value === 'object';\n};\n","import { isObject } from './isObject';\n/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg)\n ? classNames.apply(void 0, arg) : isObject(arg)\n ? Object\n .keys(arg)\n .map(function (key, idx) { return arg[idx] || (arg[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ')\n : arg;\n })\n .filter(function (arg) { return !!arg; })\n .join(' ');\n};\n","/* tslint:disable:no-bitwise */\n/**\n * @hidden\n */\nvar guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\nexport { guid };\n","/**\n * @hidden\n */\nvar Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\nexport { Keys };\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getRef(comp, refName, customRef) {\n return comp.v3 ? comp[\"\".concat(refName, \"Ref\")] : comp.$refs[\"\".concat(customRef || refName)];\n}\n/**\n * @hidden\n */\nexport function setRef(comp, refName, customRef) {\n return (comp.v3 ? function (el) {\n comp[\"\".concat(refName, \"Ref\")] = el;\n } : customRef || refName);\n}\n","import { Keys } from './keys';\nvar FOCUSABLE_SELECTOR = 'input, [tabindex]:not([tabindex=\"-1\"])';\n/**\n * @hidden\n */\nexport var firstFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[0].focus) {\n return elements[0];\n }\n }\n return undefined;\n};\n/**\n * @hidden\n */\nexport var lastFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[elements.length - 1].focus) {\n return elements[elements.length - 1];\n }\n }\n return undefined;\n};\n/**\n * @hidden\n */\nexport var focusFirstFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[0].focus) {\n elements[0].focus();\n }\n }\n};\n/**\n * @hidden\n */\nexport var focusLastFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[elements.length - 1].focus) {\n elements[elements.length - 1].focus();\n }\n }\n};\n/**\n * @hidden\n */\nexport var focusContainer = function (e, containerElement) {\n var focusState = true;\n if (e.keyCode !== Keys.enter && e.target === containerElement) {\n return false;\n }\n if (e.keyCode === Keys.enter && e.target === containerElement) {\n focusState = true;\n setTimeout(function () {\n focusFirstFocusableChild(containerElement);\n }, 1);\n }\n else if (e.keyCode === Keys.esc) {\n focusState = false;\n containerElement.focus();\n }\n else if (e.keyCode === Keys.tab) {\n var firstChild = firstFocusableChild(containerElement);\n var lastChild = lastFocusableChild(containerElement);\n if (lastChild && !e.shiftKey && e.target === lastChild) {\n e.preventDefault();\n firstChild.focus();\n }\n if (firstChild && e.shiftKey && e.target === firstChild) {\n e.preventDefault();\n lastChild.focus();\n }\n }\n return focusState;\n};\n","var _DraggableVue;\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return (typeof key === \"undefined\" ? \"undefined\" : _typeof(key)) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if ((typeof input === \"undefined\" ? \"undefined\" : _typeof(input)) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if ((typeof res === \"undefined\" ? \"undefined\" : _typeof(res)) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport * as d from '@progress/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * @hidden\n */\nvar DraggableVue2 = (_DraggableVue = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n var draggable = d;\n var dp = typeof draggable !== 'undefined' && draggable.Draggable ? draggable : draggable.default;\n this.draggable = new dp.Draggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!isV3 ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_DraggableVue, \"setup\", !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n}), _defineProperty(_DraggableVue, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _DraggableVue);\n/**\n * @hidden\n */\nvar Draggable = DraggableVue2;\nexport { Draggable, DraggableVue2 };","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","import { isObject } from './isObject';\n/**\n * @hidden\n */\nexport var cloneDate = function (date) { return date ? new Date(date.getTime()) : null; };\n/**\n * @hidden\n */\nexport function clone(obj) {\n var result = {};\n cloneObject(obj, result);\n return result;\n}\n/**\n * @hidden\n */\nexport function cloneObject(obj, result) {\n for (var field in obj) {\n if (obj.hasOwnProperty(field)) {\n var value = obj[field];\n result[field] = cloneValue(value, result[field]);\n }\n }\n}\n/**\n * @hidden\n */\nexport function cloneValue(value, nextValue) {\n if (Array.isArray(value)) {\n return cloneArray(value);\n }\n else if (value instanceof Date) {\n return cloneDate(value);\n }\n else if (value && isObject(value)) {\n var newNextValue = nextValue || {};\n cloneObject(value, newNextValue);\n return newNextValue;\n }\n else {\n return value;\n }\n}\n/**\n * @hidden\n */\nexport function cloneArray(array) {\n return array.map(function (value) { return cloneValue(value, undefined); });\n}\n","/**\n * @hidden\n */\nvar noop = function () { };\nexport { noop };\n","/**\n * @hidden\n */\nexport var FIELD_REGEX = /\\[(?:(\\d+)|['\"](.*?)['\"])\\]|((?:(?!\\[.*?\\]|\\.).)+)/g;\n","import { FIELD_REGEX } from './constants/main';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants/main';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","/**\n * @hidden\n */\nexport function hasListener(eventName) {\n if (this.v3) {\n return Object.keys(this.$attrs).map(function (name) { return name.toLowerCase(); })\n .some(function (event) { return event.endsWith(eventName.toLowerCase()); });\n }\n else {\n return this.$listeners[eventName];\n }\n}\n/**\n * @hidden\n */\nexport function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in (this.$attrs)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n return listeners;\n }\n else {\n return this.$listeners;\n }\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nimport { isObject } from './isObject';\nvar allVue = Vue;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nexport var templateDefinition = {\n type: [String, Function, Object, Boolean],\n default: function () {\n return undefined;\n }\n};\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template && template !== false) {\n return undefined;\n }\n if (template.kt) {\n return template;\n }\n var scopedSlot = isV3 ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n if (typeof template === 'string' && scopedSlot) {\n return { kt: true, type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || isObject(template) ||\n (typeof template === 'function' && template.component)) {\n return { kt: true, type: 'component', render: template, listeners: listeners };\n }\n return { kt: true, type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template || (template && template.render === true)) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (isV3) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return isV3\n ? slotTemplate\n : slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render ? template.render(h, defaultRendering, defaultSlots, props, events) : undefined;\n }\n return template.render ? template.render(h, defaultRendering, props, events, defaultSlots) : undefined;\n }\n else {\n return h(template.render, componentOptions, isV3 ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n if (parsedTabIndex === NaN) {\n return undefined;\n }\n return parsedTabIndex !== undefined\n ? parsedTabIndex\n : disabled ?\n (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n : DEFAULT_TABINDEX;\n};\n","import { canUseDOM } from './canUseDOM';\n/**\n * @hidden\n */\nexport function isRtl(element) {\n return Boolean(canUseDOM && element && getComputedStyle(element).direction === 'rtl');\n}\n/**\n * @hidden\n */\nexport function getDir(element, initialDir) {\n if (!initialDir && canUseDOM && element) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(element).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n return rtlCandidate;\n }\n }\n return initialDir;\n}\n","import * as l from '@progress/kendo-licensing';\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n var licensing = l;\n var ls = typeof licensing !== 'undefined' && licensing.validatePackage\n ? licensing\n : licensing.default;\n if (ls && ls.validatePackage) {\n ls.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \".concat(packageMetadata.name, \"\\n\");\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \".concat(packageMetadata.licensingDocsUrl, \" for more information.\\n\");\n console.warn(message);\n }\n}\n","/** @hidden */\nexport var kendoThemeMaps = {\n sizeMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n },\n roundedMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n }\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n// Gets and sets the children. Returns the children or the re-created item with the new children.\nfunction children(item, subItemsField, subItems) {\n var _a;\n if (subItems) {\n return __assign(__assign({}, item), (_a = {}, _a[subItemsField] = subItems.length ? __spreadArray([], subItems, true) : undefined, _a));\n }\n else {\n return item && item[subItemsField] ? __spreadArray([], item[subItemsField], true) : [];\n }\n}\nfunction mapItem(dataItem, subItemsField, callbackfn) {\n if (dataItem[subItemsField]) {\n var subItems = children(dataItem, subItemsField).map(function (child) { return mapItem(child, subItemsField, callbackfn); });\n return callbackfn(children(dataItem, subItemsField, subItems));\n }\n return callbackfn(dataItem);\n}\n/**\n * Creates a new array with the results of calling the provided callback function\n * on every element in the provided data tree.\n *\n * @param {any[]} tree - The data tree.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @param {(value: any) => any} callback - The callback function.\n * @returns {any[]} - The new data tree.\n */\nexport var mapTree = function (tree, subItemsField, callback) {\n return __spreadArray([], tree.map(function (item) { return mapItem(item, subItemsField, callback); }), true);\n};\n/**\n * Creates a new array with the results of calling the provided callback function\n * on the element which match the `level` in the provided data tree.\n *\n * @param {any[]} tree - The data tree.\n * @param {number[]} level - An array of indexes of each parent and current item in the data tree.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @param {(value: any) => any} callback - The callback function.\n * @returns {any[]} - The new data tree.\n */\nexport var mapTreeItem = function (tree, level, subItemsField, callback) {\n var curData = tree;\n var parentNodes = [];\n for (var i = 0; i < level.length; i++) {\n curData = curData[level[i]];\n curData = Array.isArray(curData) ? curData : curData[subItemsField];\n parentNodes.push(curData);\n }\n var parent = parentNodes.length > 1 ? parentNodes[parentNodes.length - 2] : tree;\n var newItemIndex = level[level.length - 1];\n var newItem = callback(parent[newItemIndex]);\n parent.splice(newItemIndex, 1, newItem);\n};\n/**\n * Similar to the `Object.assign` function. Additionally, creates a new array for the subitems.\n *\n * @param {object} item - The source data item.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @param {object} propsToExtend - The props with which the source data item will be extended.\n * @returns {object} - The target data item.\n */\nexport var extendDataItem = function (item, subItemsField, propsToExtend) {\n var _a;\n return Object.assign({}, item, item[subItemsField] ? (_a = {}, _a[subItemsField] = item[subItemsField].slice(), _a) : {}, propsToExtend || {});\n};\n/**\n * Returns the data item path in the tree based on the level parameter.\n *\n * @param {any[]} tree - The data tree.\n * @param {number[]} level - The level of the target tree item.\n * @param {string} subItemsField - The field which points to the subitems collection of each data item.\n * @returns {any[]} - The path of the data item.\n */\nexport var getItemPath = function (tree, level, subItemsField) {\n var nodes = [];\n var itemLevel = __spreadArray([], level, true);\n if (itemLevel.length) {\n var element = tree[itemLevel.shift() || 0];\n nodes.push(element);\n while (itemLevel.length && subItemsField) {\n element = element[subItemsField][itemLevel.shift() || 0];\n nodes.push(element);\n }\n }\n return nodes;\n};\n/**\n * @hidden\n */\nexport function getNestedValue(fieldName, dataItem) {\n var path = fieldName.split('.');\n var data = dataItem;\n path.forEach(function (p) {\n data = data ? data[p] : undefined;\n });\n return data;\n}\n","/**\n * @hidden\n */\nvar getDocument = function () { return typeof document !== 'undefined' ? document : {}; };\n/**\n * @hidden\n */\nvar BrowserSupportService = /** @class */ (function () {\n function BrowserSupportService() {\n }\n Object.defineProperty(BrowserSupportService.prototype, \"scrollbarWidth\", {\n get: function () {\n var document = getDocument();\n if (!this.scrollbar && document && document.createElement) {\n var div = document.createElement('div');\n div.style.cssText = 'overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block';\n div.innerHTML = ' ';\n document.body.appendChild(div);\n this.scrollbar = div.offsetWidth - div.scrollWidth;\n document.body.removeChild(div);\n }\n return this.scrollbar;\n },\n enumerable: false,\n configurable: true\n });\n return BrowserSupportService;\n}());\nexport { BrowserSupportService };\n","import { canUseDOM } from './canUseDOM';\n/** @hidden */\nexport var hasRelativeStackingContext = function (elementSource) {\n if (!canUseDOM) {\n return false;\n }\n // Component need to pass element to make sure document owner is correct.\n // This however might be performance hit if checked for example on each drag event.\n var currentDocument = elementSource ? elementSource.ownerDocument : document;\n if (!currentDocument || !currentDocument.body) {\n return false;\n }\n var top = 10;\n var parent = currentDocument.createElement('div');\n parent.style.transform = 'matrix(10, 0, 0, 10, 0, 0)';\n var child = currentDocument.createElement('div');\n child.appendChild(currentDocument.createTextNode('child'));\n child.style.position = 'fixed';\n child.style.top = top + 'px';\n parent.appendChild(child);\n currentDocument.body.appendChild(parent);\n var isDifferent = child.getBoundingClientRect().top !== top;\n currentDocument.body.removeChild(parent);\n return isDifferent;\n};\n","/**\n * @hidden\n */\nexport var SIZE_CLASSES = {\n 'default': '',\n 'xsmall': 'k-icon-xs',\n 'small': 'k-icon-sm',\n 'medium': 'k-icon-md',\n 'large': 'k-icon-lg',\n 'xlarge': 'k-icon-xl',\n 'xxlarge': 'k-icon-xxl',\n 'xxxlarge': 'k-icon-xxxl'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { SIZE_CLASSES } from './constants';\n/**\n * @hidden\n */\nvar FontIconVue2 = {\n name: 'KendoFontIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n name: String,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n title: String,\n tabIndex: Number\n },\n computed: {\n fontClassNames: function fontClassNames() {\n var _a;\n var _b = this.$props,\n name = _b.name,\n flip = _b.flip,\n size = _b.size,\n themeColor = _b.themeColor;\n return _a = {\n 'k-icon': true\n }, _a['k-i-' + name] = name, _a['k-color-' + themeColor] = themeColor, _a['k-flip-h'] = flip === 'horizontal' || flip === 'both', _a['k-flip-v'] = flip === 'vertical' || flip === 'both', _a[SIZE_CLASSES[size]] = size, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n id = _a.id,\n title = _a.title,\n tabIndex = _a.tabIndex,\n ariaLabel = _a.ariaLabel;\n return h(\"span\", {\n \"class\": this.fontClassNames,\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n title: title,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex,\n role: \"presentation\"\n },\n title: title,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex,\n role: \"presentation\",\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n }\n });\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar FontIcon = FontIconVue2;\nexport { FontIcon, FontIconVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { SIZE_CLASSES } from './constants';\nimport { getDefaultSlots } from '../defaultSlots';\n/**\n * @hidden\n */\nvar SvgIconVue2 = {\n name: 'KendoSvgIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n icon: Object,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n title: String,\n viewBox: {\n type: String,\n default: '0 0 24 24'\n },\n tabIndex: Number\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n var _b = this.$props,\n name = _b.name,\n flip = _b.flip,\n size = _b.size,\n themeColor = _b.themeColor;\n return _a = {\n 'k-svg-icon': true\n }, _a['k-color-' + themeColor] = themeColor, _a['k-svg-i-' + name] = name, _a['k-flip-h'] = flip === 'horizontal' || flip === 'both', _a['k-flip-v'] = flip === 'vertical' || flip === 'both', _a[SIZE_CLASSES[size]] = size, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n svgClassName = _a.svgClassName,\n icon = _a.icon,\n id = _a.id,\n tabIndex = _a.tabIndex,\n svgStyle = _a.svgStyle,\n viewBox = _a.viewBox,\n title = _a.title,\n ariaLabel = _a.ariaLabel;\n var innerHTML = icon ? icon.content : undefined;\n var attrs = {\n id: id,\n title: title,\n 'aria-hidden': true,\n tabIndex: tabIndex,\n ariaLabel: ariaLabel,\n focusable: 'false',\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: icon ? icon.viewBox : viewBox\n };\n var svg = h('svg', __assign(__assign({}, attrs), {\n attrs: this.v3 ? undefined : attrs,\n domProps: this.v3 ? undefined : {\n innerHTML: innerHTML\n },\n innerHTML: innerHTML,\n 'class': svgClassName,\n style: svgStyle\n }), [icon ? undefined : defaultSlot]);\n return h(\"span\", {\n \"class\": this.wrapperClass,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n }\n }, [svg]);\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar SvgIcon = SvgIconVue2;\nexport { SvgIcon, SvgIconVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { FontIcon } from './FontIcon';\nimport { SvgIcon } from './SvgIcon';\n/**\n * @hidden\n */\nvar IconVue2 = {\n name: 'KendoIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n inject: {\n kendoIcons: {\n default: {\n type: 'svg',\n icons: {}\n }\n }\n },\n props: {\n name: String,\n icon: Object,\n title: String,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n viewBox: {\n type: String,\n default: '0 0 24 24'\n },\n tabIndex: Number\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n name = _a.name,\n icon = _a.icon,\n themeColor = _a.themeColor,\n size = _a.size,\n flip = _a.flip,\n id = _a.id,\n viewBox = _a.viewBox,\n tabIndex = _a.tabIndex,\n title = _a.title,\n ariaLabel = _a.ariaLabel;\n var svg = name && this.kendoIcons && this.kendoIcons.icons && this.kendoIcons.icons[name] || icon;\n var renderSVG = this.kendoIcons && this.kendoIcons.type === 'svg' && svg !== undefined;\n var newSize = this.kendoIcons && this.kendoIcons.size ? this.kendoIcons.size : size;\n var newFlip = this.kendoIcons && this.kendoIcons.flip ? this.kendoIcons.flip : flip;\n var resolvedName = name || (icon && icon.name ? icon.name : undefined);\n var commonProps = {\n themeColor: themeColor,\n size: newSize,\n flip: newFlip,\n id: id,\n tabIndex: tabIndex,\n title: title,\n ariaLabel: ariaLabel\n };\n var fontIcon = h(FontIcon, __assign(__assign({}, commonProps), {\n name: resolvedName,\n attrs: this.v3 ? undefined : __assign(__assign({}, commonProps), {\n name: resolvedName\n }),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n 'click': this.handleClick\n }\n }));\n var svgIcon = h(SvgIcon, __assign(__assign({}, commonProps), {\n icon: svg,\n viewBox: viewBox,\n attrs: this.v3 ? undefined : __assign(__assign({}, commonProps), {\n icon: svg,\n viewBox: viewBox\n }),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n 'click': this.handleClick\n }\n }));\n return renderSVG ? svgIcon : fontIcon;\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar Icon = IconVue2;\nexport { Icon, IconVue2 };","var getIconName = function (iconName) {\n return (iconName && iconName.indexOf('k-i-') !== -1)\n ? iconName.split('k-i-')[1]\n : iconName;\n};\nexport { getIconName };\n","/**\n * Enumeration which represents the week days.\n */\nexport var Day;\n(function (Day) {\n /**\n * The Sunday value with an underlying `0` number value.\n */\n Day[Day[\"Sunday\"] = 0] = \"Sunday\";\n /**\n * The Monday value with an underlying `1` number value.\n */\n Day[Day[\"Monday\"] = 1] = \"Monday\";\n /**\n * The Tuesday value with an underlying `2` number value.\n */\n Day[Day[\"Tuesday\"] = 2] = \"Tuesday\";\n /**\n * The Wednesday value with an underlying `3` number value.\n */\n Day[Day[\"Wednesday\"] = 3] = \"Wednesday\";\n /**\n * The Thursday value with an underlying `4` number value.\n */\n Day[Day[\"Thursday\"] = 4] = \"Thursday\";\n /**\n * The Friday value with an underlying `5` number value.\n */\n Day[Day[\"Friday\"] = 5] = \"Friday\";\n /**\n * The Saturday value with an underlying `6` number value.\n */\n Day[Day[\"Saturday\"] = 6] = \"Saturday\";\n})(Day || (Day = {}));\n","/**\n * A function that clones the passed date. The parameter could be `null`.\n *\n * @param date - The initial date value.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * cloneDate(new Date(2016, 0, 1)); // returns new Date(2016, 0, 1);\n * cloneDate(null); // returns null\n * ```\n */\nexport var cloneDate = function (date) { return date ? new Date(date.getTime()) : null; };\n","import { cloneDate } from './clone-date';\n/**\n * @hidden\n */\nexport var adjustDST = function (date, hour) {\n var newDate = cloneDate(date);\n if (hour === 0 && newDate.getHours() === 23) {\n newDate.setHours(newDate.getHours() + 2);\n }\n return newDate;\n};\n","import { adjustDST } from './adjust-dst';\n/**\n * A function which returns a new `Date` instance.\n *\n * @param year - The year value.\n * @param month - The month value.\n * @param day - The day value.\n * @param hours - The hours value.\n * @param minutes - The minutes value.\n * @param seconds - The seconds value.\n * @param milliseconds - milliseconds value.\n * @returns The date instance.\n *\n * @example\n * ```ts-no-run\n * createDate(2016, 0, 15); // 2016-01-15 00:00:00\n * createDate(2016, 0, 15, 22, 22, 20); // 2016-01-15 22:22:20\n * ```\n */\nexport var createDate = function (year, month, day, hours, minutes, seconds, milliseconds) {\n if (hours === void 0) { hours = 0; }\n if (minutes === void 0) { minutes = 0; }\n if (seconds === void 0) { seconds = 0; }\n if (milliseconds === void 0) { milliseconds = 0; }\n var date = new Date(year, month, day, hours, minutes, seconds, milliseconds);\n if (year > -1 && year < 100) {\n date.setFullYear(date.getFullYear() - 1900);\n }\n return adjustDST(date, hours);\n};\n","import { createDate } from './create-date';\n/**\n * A function which returns the passed date with a midnight time portion.\n *\n * @param date - The initial date.\n * @returns - The date with a midnight time portion.\n *\n * @example\n * ```ts-no-run\n * getDate(new Date(2016, 0, 15, 14, 30, 30)); // 2016-01-15 00:00:00\n * ```\n */\nexport var getDate = function (date) {\n return createDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);\n};\n","/**\n * A function that compares two dates. The comparison also includes the time portion.\n *\n * @param candidate - The candidate date.\n * @param expected - The expected date.\n * @returns - A Boolean value indicating whether the values are equal.\n *\n * @example\n * ```ts-no-run\n * isEqual(new Date(2016, 0, 1), new Date(2016, 0, 1)); // true\n * isEqual(new Date(2016, 0, 1), new Date(2016, 0, 2)); // false\n * isEqual(new Date(2016, 0, 1, 10), new Date(2016, 0, 1, 20)); // false\n * ```\n */\nexport var isEqual = function (candidate, expected) {\n if (!candidate && !expected) {\n return true;\n }\n return candidate && expected && candidate.getTime() === expected.getTime();\n};\n","import { getDate } from './get-date';\nimport { isEqual } from './is-equal';\n/**\n * A function that compares the date portions of 2 dates.\n *\n * @param candidate - The candidate date.\n * @param expected - The expected date.\n * @returns - A Boolean value whether the values are equal.\n *\n * @example\n * ```ts-no-run\n * isEqualDate(new Date(2016, 0, 1, 10), new Date(2016, 0, 1, 20)); // true\n * isEqualDate(new Date(2016, 0, 1, 10), new Date(2016, 0, 2, 10)); // false\n * ```\n */\nexport var isEqualDate = function (candidate, expected) {\n if (!candidate && !expected) {\n return true;\n }\n return candidate && expected && isEqual(getDate(candidate), getDate(expected));\n};\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-dateinputs',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052630,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","import { adjustDST } from './adjust-dst';\nimport { cloneDate } from './clone-date';\n/**\n * A function that adds and subtracts days from a `Date` object.\n *\n * @param date - The initial date value.\n * @param offset - The number of days to add and subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addDays(new Date(2016, 0, 1), 5); // 2016-1-6\n * addDays(new Date(2016, 0, 1), -5); // 2015-12-26\n * ```\n */\nexport var addDays = function (date, offset) {\n var newDate = cloneDate(date);\n newDate.setDate(newDate.getDate() + offset);\n return adjustDST(newDate, date.getHours());\n};\n","// tslint:disable:max-line-length\n/**\n * An enumeration which represents the horizontal direction. The `Forward` option moves forward. The `Backward` option moves backward.\n */\nexport var Direction;\n(function (Direction) {\n /**\n * The `Forward` value with an underlying `1` number value.\n */\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n /**\n * The `Backward` value with an underlying `-1` (minus one) number value.\n */\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n// tslint:enable:max-line-length\n","import { Direction } from \"./direction.enum\";\nimport { adjustDST } from \"./adjust-dst\";\nimport { cloneDate } from './clone-date';\n/**\n * @hidden\n *\n * A function which returns the next or previous date for a specific week day. For example, `Day.Monday`.\n *\n * @param date - The date to calculate from.\n * @param weekDay - The `Day` enum specifying the desired week day.\n * @param direction - The `Direction` enum specifying the calculation direction.\n * @returns - A `Date` instance.\n *\n * @example\n * ```ts-no-run\n * dayOfWeek(new Date(2016, 0, 1), Day.Wednesday, Direction.Forward); // 2016-01-06, Wednesday\n * dayOfWeek(new Date(2016, 0, 1), Day.Wednesday, Direction.Backward); // 2015-12-30, Wednesday\n * ```\n */\nexport var dayOfWeek = function (date, weekDay, direction) {\n if (direction === void 0) { direction = Direction.Forward; }\n var newDate = cloneDate(date);\n var newDay = ((weekDay - newDate.getDay()) + (7 * direction)) % 7;\n newDate.setDate(newDate.getDate() + newDay);\n return adjustDST(newDate, date.getHours());\n};\n","/**\n * @hidden\n */\nexport var Action;\n(function (Action) {\n Action[Action[\"Left\"] = 0] = \"Left\";\n Action[Action[\"Right\"] = 1] = \"Right\";\n Action[Action[\"Up\"] = 2] = \"Up\";\n Action[Action[\"Down\"] = 3] = \"Down\";\n Action[Action[\"PrevView\"] = 4] = \"PrevView\";\n Action[Action[\"NextView\"] = 5] = \"NextView\";\n Action[Action[\"FirstInView\"] = 6] = \"FirstInView\";\n Action[Action[\"LastInView\"] = 7] = \"LastInView\";\n Action[Action[\"LowerView\"] = 8] = \"LowerView\";\n Action[Action[\"UpperView\"] = 9] = \"UpperView\";\n})(Action || (Action = {}));\n","/**\n * The Enum which defines all possible Calendar view types.\n */\nexport var CalendarViewEnum;\n(function (CalendarViewEnum) {\n CalendarViewEnum[CalendarViewEnum[\"month\"] = 0] = \"month\";\n CalendarViewEnum[CalendarViewEnum[\"year\"] = 1] = \"year\";\n CalendarViewEnum[CalendarViewEnum[\"decade\"] = 2] = \"decade\";\n CalendarViewEnum[CalendarViewEnum[\"century\"] = 3] = \"century\";\n})(CalendarViewEnum || (CalendarViewEnum = {}));\n","import { Direction } from \"./direction.enum\";\nimport { dayOfWeek } from './day-of-week';\n/**\n * A function which returns a date by a specific week name. For example, `Day.Monday`.\n *\n * @param date - The date to calculate from.\n * @param weekDay - The `Day` enum specifying the desired week day.\n * @returns - A `Date` instance.\n *\n * @example\n * ```ts-no-run\n * prevDayOfWeek(new Date(2016, 0, 1), Day.Wednesday); // 2015-12-30, Wednesday\n * ```\n */\nexport var prevDayOfWeek = function (date, weekDay) {\n return dayOfWeek(date, weekDay, Direction.Backward);\n};\n","/**\n * The number of milliseconds in one minute.\n */\nexport var MS_PER_MINUTE = 60000;\n/**\n * The number of milliseconds in one hour.\n */\nexport var MS_PER_HOUR = 3600000;\n/**\n * The number of milliseconds in one standard day.\n */\nexport var MS_PER_DAY = 86400000;\n","import { Day } from './day.enum';\nimport { addDays } from './add-days';\nimport { createDate } from './create-date';\nimport { prevDayOfWeek } from './prev-day-of-week';\nimport { MS_PER_DAY } from './constants';\nvar moveDateToWeekStart = function (date, weekStartDay) {\n if (weekStartDay !== Day.Monday) {\n return addDays(prevDayOfWeek(date, weekStartDay), 4);\n }\n return addDays(date, (4 - (date.getDay() || 7)));\n};\nvar calcWeekInYear = function (date, weekStartDay) {\n var firstWeekInYear = createDate(date.getFullYear(), 0, 1, -6);\n var newDate = moveDateToWeekStart(date, weekStartDay);\n var diffInMS = newDate.getTime() - firstWeekInYear.getTime();\n var days = Math.floor(diffInMS / MS_PER_DAY);\n return 1 + Math.floor(days / 7);\n};\n/**\n * A function that returns the number of the week within a year, which is calculated in relation to the date.\n *\n * For more information, refer to the [**ISO week date**](https://en.wikipedia.org/wiki/ISO_week_date) article.\n *\n * @param date - The date used for the week number calculation.\n * @param weekStartDay - The first day of the week. By default, the first week day is Monday.\n * @returns - The number of the week within the year.\n *\n * @example\n * ```ts-no-run\n * weekInYear(new Date(2016, 0, 1)); // Week 53, 2015\n * weekInYear(new Date(2016, 0, 5)); // Week 1, 2016\n * weekInYear(new Date(2017, 0, 1)); // Week 52, 2016\n * weekInYear(new Date(2017, 0, 2)); // Week 1, 2017\n * ```\n */\nexport var weekInYear = function (date, weekStartDay) {\n if (weekStartDay === void 0) { weekStartDay = Day.Monday; }\n var prevWeekDate = addDays(date, -7);\n var nextWeekDate = addDays(date, 7);\n var weekNumber = calcWeekInYear(date, weekStartDay);\n if (weekNumber === 0) {\n return calcWeekInYear(prevWeekDate, weekStartDay) + 1;\n }\n if (weekNumber === 53 && calcWeekInYear(nextWeekDate, weekStartDay) > 1) {\n return 1;\n }\n return weekNumber;\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar compareProps = function compareProps(x, y) {\n var xProps = Object.getOwnPropertyNames(x);\n var yProps = Object.getOwnPropertyNames(y);\n if (xProps.length !== yProps.length) {\n return false;\n }\n for (var i = 0; i < xProps.length; i++) {\n var propName = xProps[i];\n if (x[propName] !== y[propName]) {\n return false;\n }\n }\n return true;\n};\n/**\n * @hidden\n */\nvar CalendarCellVue2 = {\n name: 'KendoCalendarCell',\n // @ts-ignore\n emits: {\n 'click': null,\n 'mousedown': null,\n 'mouseenter': null,\n 'mouseleave': null\n },\n props: {\n isDisabled: Boolean,\n view: Number,\n formattedValue: String,\n id: String,\n isWeekend: Boolean,\n isFocused: Boolean,\n isSelected: Boolean,\n isInRange: Boolean,\n isRangeStart: Boolean,\n isRangeEnd: Boolean,\n isRangeMid: Boolean,\n isRangeSplitEnd: Boolean,\n isRangeSplitStart: Boolean,\n isToday: Boolean,\n title: String,\n value: Date\n },\n // Manually checking if the component needs an update\n // due to date object being compared by instance\n // and new Date object is created\n // every time and fails the shallow compare of the Vue.\n /**\n * @hidden\n */\n updated: function updated() {\n // const { value, ...props } = this.props;\n // const { value: newValue, ...newProps } = nextProps;\n // const valueEqual = !(value && newValue) || value.getTime() === newValue.getTime();\n // return !(valueEqual && compareProps(props, newProps));\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // tslint:disable:max-line-length\n /**\n * @return\n * Returns a `` element with a `` inside to apply the styles. The text inside is the [`formattedValue`]({% slug api_dateinputs_calendarcellprops %}#toc-formattedvalue) of the `cell`.\n */\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n formattedValue = _a.formattedValue,\n isWeekend = _a.isWeekend,\n isFocused = _a.isFocused,\n isInRange = _a.isInRange,\n isSelected = _a.isSelected,\n isRangeStart = _a.isRangeStart,\n isRangeMid = _a.isRangeMid,\n isRangeEnd = _a.isRangeEnd,\n isRangeSplitStart = _a.isRangeSplitStart,\n isRangeSplitEnd = _a.isRangeSplitEnd,\n isToday = _a.isToday,\n isDisabled = _a.isDisabled,\n view = _a.view,\n value = _a.value;\n var isEndActive = this.$props.activeRangeEnd === 'end' && isRangeEnd;\n var isStartActive = this.$props.activeRangeEnd === 'start' && isRangeStart;\n return h(\"td\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n title: this.$props.title\n },\n title: this.$props.title,\n \"class\": {\n 'k-calendar-td': true,\n 'k-range-end': isRangeEnd,\n 'k-range-mid': isRangeMid,\n 'k-range-split-end': isRangeSplitEnd,\n 'k-range-split-start': isRangeSplitStart,\n 'k-range-start': isRangeStart,\n 'k-active': isStartActive || isEndActive,\n 'k-focus': isFocused,\n 'k-selected': isSelected || isRangeStart || isRangeEnd,\n 'k-today': isToday,\n 'k-weekend': isWeekend,\n 'k-disabled': isDisabled\n },\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseenter\": this.handleMouseEnter,\n \"mouseleave\": this.handleMouseLeave\n },\n onMousedown: this.handleMouseDown,\n onMouseenter: this.handleMouseEnter,\n onMouseleave: this.handleMouseLeave\n }, [h(\"span\", {\n \"class\": \"k-link\"\n }, [defaultSlot])]);\n },\n // tslint:enable:max-line-length\n methods: {\n handleClick: function handleClick(event) {\n var value = this.$props.value;\n this.$emit('click', value, event);\n },\n handleMouseDown: function handleMouseDown(event) {\n var value = this.$props.value;\n this.$emit('mousedown', value, event);\n },\n handleMouseEnter: function handleMouseEnter() {\n var value = this.$props.value;\n this.$emit('mouseenter', value);\n },\n handleMouseLeave: function handleMouseLeave() {\n var value = this.$props.value;\n this.$emit('mouseleave', value);\n }\n }\n};\n/**\n * @hidden\n */\nvar CalendarCell = CalendarCellVue2;\nexport { CalendarCell, CalendarCellVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar CalendarWeekCellVue2 = {\n props: {\n id: String,\n value: Number\n },\n // @ts-ignore\n emits: {\n 'click': null\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n /**\n * @return\n * Returns a `` element with the [`value`]({% slug api_dateinputs_calendarweekcellprops %}#toc-value) as a child.\n */\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"td\", {\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n },\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id\n }\n }, [this.$props.value !== undefined ? this.$props.value : defaultSlot]);\n },\n methods: {\n handleClick: function handleClick(event) {\n var value = this.$props.value;\n this.$emit('click', value, event);\n }\n }\n};\n/**\n * @hidden\n */\nvar CalendarWeekCell = CalendarWeekCellVue2;\nexport { CalendarWeekCell, CalendarWeekCellVue2 };","/**\n * @hidden\n */\nexport var EMPTY_SELECTIONRANGE = { start: null, end: null };\n","var _a;\n/* tslint:disable:object-literal-sort-keys */\nimport { addDecades, addCenturies, cloneDate, durationInCenturies, firstYearOfDecade, firstDecadeOfCentury, lastDecadeOfCentury } from '@progress/kendo-date-math';\nimport { Action, EMPTY_SELECTIONRANGE } from '../models/main';\nimport { getToday, isInRange, isInSelectionRange, range } from '../../utils';\nvar EMPTY_DATA = [[]];\nvar CELLS_LENGTH = 4;\nvar ROWS_LENGTH = 3;\nvar ACTIONS = (_a = {},\n _a[Action.Left] = function (date) { return addDecades(date, -1); },\n _a[Action.Up] = function (date) { return addDecades(date, -4); },\n _a[Action.Right] = function (date) { return addDecades(date, 1); },\n _a[Action.Down] = function (date) { return addDecades(date, 4); },\n _a[Action.PrevView] = function (date) { return addCenturies(date, -1); },\n _a[Action.NextView] = function (date) { return addCenturies(date, 1); },\n _a[Action.FirstInView] = function (date) { return firstDecadeOfCentury(date); },\n _a[Action.LastInView] = function (date) { return lastDecadeOfCentury(date); },\n _a);\n/**\n * @hidden\n */\nvar CenturyViewService = /** @class */ (function () {\n function CenturyViewService() {\n }\n CenturyViewService.prototype.addToDate = function (min, skip) {\n return addCenturies(min, skip);\n };\n CenturyViewService.prototype.datesList = function (start, count) {\n return range(0, count).map(function (i) { return addCenturies(start, i); });\n };\n CenturyViewService.prototype.data = function (options) {\n var _this = this;\n var cellUID = options.cellUID, focusedDate = options.focusedDate, isActiveView = options.isActiveView, max = options.max, min = options.min, selectedDate = options.selectedDate, _a = options.selectionRange, selectionRange = _a === void 0 ? EMPTY_SELECTIONRANGE : _a, viewDate = options.viewDate;\n if (!viewDate) {\n return EMPTY_DATA;\n }\n var cells = range(0, CELLS_LENGTH);\n var firstDate = firstDecadeOfCentury(viewDate);\n var lastDate = lastDecadeOfCentury(viewDate);\n var today = getToday();\n return range(0, ROWS_LENGTH).map(function (rowOffset) {\n var baseDate = addDecades(firstDate, rowOffset * CELLS_LENGTH);\n return cells.map(function (cellOffset) {\n var cellDate = _this.normalize(addDecades(baseDate, cellOffset), min, max);\n var changedDecade = !_this.isInSameView(cellDate, lastDate);\n if (changedDecade) {\n return null;\n }\n var isRangeStart = _this.isEqual(cellDate, selectionRange.start);\n var isRangeEnd = _this.isEqual(cellDate, selectionRange.end);\n var isInMiddle = !isRangeStart && !isRangeEnd;\n var isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);\n var isSelected = isActiveView && (!Array.isArray(selectedDate)\n ? isInRange(selectedDate, min, max) && _this.isEqual(cellDate, selectedDate)\n : _this.isSelectedFromArray(cellDate, selectedDate, min, max));\n return {\n formattedValue: _this.value(cellDate),\n id: \"\".concat(cellUID).concat(cellDate.getTime()),\n isFocused: _this.isEqual(cellDate, focusedDate),\n isSelected: isSelected,\n isWeekend: false,\n isInRange: isInRange(cellDate, min, max),\n isRangeStart: isRangeStart,\n isRangeMid: isRangeMid,\n isRangeEnd: isRangeEnd,\n isRangeSplitEnd: isRangeMid && _this.isEqual(cellDate, lastDate),\n isRangeSplitStart: isRangeMid && _this.isEqual(cellDate, firstDate),\n isToday: _this.isEqual(cellDate, today),\n title: _this.cellTitle(cellDate),\n value: cellDate\n };\n });\n });\n };\n CenturyViewService.prototype.isSelectedFromArray = function (candidate, dates, min, max) {\n var _this = this;\n var result = false;\n dates.forEach(function (date) {\n if (isInRange(candidate, min, max) && _this.isEqual(candidate, date)) {\n result = true;\n }\n });\n return result;\n };\n CenturyViewService.prototype.isEqual = function (candidate, expected) {\n if (!candidate || !expected) {\n return false;\n }\n // TODO: double-check this!\n return firstYearOfDecade(candidate).getFullYear() === firstYearOfDecade(expected).getFullYear();\n };\n CenturyViewService.prototype.isInArray = function (date, dates) {\n if (!dates.length) {\n return false;\n }\n var year = date.getFullYear();\n return dates[0].getFullYear() <= year && year <= (dates[dates.length - 1].getFullYear() + 99);\n };\n CenturyViewService.prototype.isInRange = function (candidate, min, max) {\n var year = firstYearOfDecade(candidate).getFullYear();\n var aboveMin = !min || firstYearOfDecade(min).getFullYear() <= year;\n var belowMax = !max || year <= firstYearOfDecade(max).getFullYear();\n return aboveMin && belowMax;\n };\n CenturyViewService.prototype.isInSameView = function (candidate, value) {\n return durationInCenturies(candidate, value) === 0;\n };\n CenturyViewService.prototype.isRangeStart = function (value) {\n return value.getFullYear() % 1000 === 0;\n };\n CenturyViewService.prototype.move = function (value, action) {\n var modifier = ACTIONS[action];\n if (!modifier) {\n return value;\n }\n return modifier(value);\n };\n CenturyViewService.prototype.cellTitle = function (value) {\n return firstYearOfDecade(value).getFullYear().toString();\n };\n CenturyViewService.prototype.navigationTitle = function (value) {\n return value ? firstDecadeOfCentury(value).getFullYear().toString() : '';\n };\n CenturyViewService.prototype.title = function (value) {\n if (!value) {\n return '';\n }\n return \"\".concat(firstDecadeOfCentury(value).getFullYear(), \" - \").concat(lastDecadeOfCentury(value).getFullYear());\n };\n CenturyViewService.prototype.rowLength = function (_) {\n return CELLS_LENGTH;\n };\n CenturyViewService.prototype.skip = function (value, min) {\n return durationInCenturies(min, value);\n };\n CenturyViewService.prototype.total = function (min, max) {\n return durationInCenturies(min, max) + 1;\n };\n CenturyViewService.prototype.value = function (current) {\n return current ? firstYearOfDecade(current).getFullYear().toString() : '';\n };\n CenturyViewService.prototype.viewDate = function (date, max, border) {\n if (border === void 0) { border = 1; }\n var renderTwoViews = durationInCenturies(date, max) < border;\n return renderTwoViews ? addCenturies(date, -1) : date;\n };\n CenturyViewService.prototype.normalize = function (cellDate, min, max) {\n if (cellDate < min && this.isEqual(cellDate, min)) {\n return cloneDate(min);\n }\n if (cellDate > max && this.isEqual(cellDate, max)) {\n return cloneDate(max);\n }\n return cellDate;\n };\n return CenturyViewService;\n}());\nexport { CenturyViewService };\n","var _a;\nimport { addDecades, addYears, cloneDate, durationInDecades, firstYearOfDecade, lastYearOfDecade } from '@progress/kendo-date-math';\nimport { Action } from '../models/NavigationAction';\nimport { EMPTY_SELECTIONRANGE } from '../models/SelectionRange';\nimport { getToday, isInRange, isInSelectionRange, range } from '../../utils';\nvar EMPTY_DATA = [[]];\nvar CELLS_LENGTH = 4;\nvar ROWS_LENGTH = 3;\nvar ACTIONS = (_a = {},\n _a[Action.Left] = function (date) { return addYears(date, -1); },\n _a[Action.Up] = function (date) { return addYears(date, -4); },\n _a[Action.Right] = function (date) { return addYears(date, 1); },\n _a[Action.Down] = function (date) { return addYears(date, 4); },\n _a[Action.PrevView] = function (date) { return addDecades(date, -1); },\n _a[Action.NextView] = function (date) { return addDecades(date, 1); },\n _a[Action.FirstInView] = function (date) { return firstYearOfDecade(date); },\n _a[Action.LastInView] = function (date) { return lastYearOfDecade(date); },\n _a);\n/**\n * @hidden\n */\nvar DecadeViewService = /** @class */ (function () {\n function DecadeViewService() {\n }\n DecadeViewService.prototype.addToDate = function (min, skip) {\n return addDecades(min, skip);\n };\n DecadeViewService.prototype.datesList = function (start, count) {\n return range(0, count).map(function (i) { return addDecades(firstYearOfDecade(start), i); });\n };\n DecadeViewService.prototype.data = function (options) {\n var _this = this;\n var cellUID = options.cellUID, focusedDate = options.focusedDate, isActiveView = options.isActiveView, max = options.max, min = options.min, selectedDate = options.selectedDate, _a = options.selectionRange, selectionRange = _a === void 0 ? EMPTY_SELECTIONRANGE : _a, viewDate = options.viewDate;\n if (!viewDate) {\n return EMPTY_DATA;\n }\n var cells = range(0, CELLS_LENGTH);\n var firstDate = firstYearOfDecade(viewDate);\n var lastDate = lastYearOfDecade(viewDate);\n var today = getToday();\n return range(0, ROWS_LENGTH).map(function (rowOffset) {\n var baseDate = addYears(firstDate, rowOffset * CELLS_LENGTH);\n return cells.map(function (cellOffset) {\n var cellDate = _this.normalize(addYears(baseDate, cellOffset), min, max);\n var changedDecade = !_this.isInSameView(cellDate, lastDate);\n if (changedDecade) {\n return null;\n }\n var isRangeStart = _this.isEqual(cellDate, selectionRange.start);\n var isRangeEnd = _this.isEqual(cellDate, selectionRange.end);\n var isInMiddle = !isRangeStart && !isRangeEnd;\n var isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);\n var isSelected = isActiveView && (!Array.isArray(selectedDate)\n ? isInRange(selectedDate, min, max) && _this.isEqual(cellDate, selectedDate)\n : _this.isSelectedFromArray(cellDate, selectedDate, min, max));\n return {\n formattedValue: _this.value(cellDate),\n id: \"\".concat(cellUID).concat(cellDate.getTime()),\n isFocused: _this.isEqual(cellDate, focusedDate),\n isSelected: isSelected,\n isWeekend: false,\n isInRange: isInRange(cellDate, min, max),\n isRangeStart: isRangeStart,\n isRangeMid: isRangeMid,\n isRangeEnd: isRangeEnd,\n isRangeSplitEnd: isRangeMid && _this.isEqual(cellDate, lastDate),\n isRangeSplitStart: isRangeMid && _this.isEqual(cellDate, firstDate),\n isToday: _this.isEqual(cellDate, today),\n title: _this.cellTitle(cellDate),\n value: cellDate\n };\n });\n });\n };\n DecadeViewService.prototype.isSelectedFromArray = function (candidate, dates, min, max) {\n var _this = this;\n var result = false;\n dates.forEach(function (date) {\n if (isInRange(candidate, min, max) && _this.isEqual(candidate, date)) {\n result = true;\n }\n });\n return result;\n };\n DecadeViewService.prototype.isEqual = function (candidate, expected) {\n if (!candidate || !expected) {\n return false;\n }\n return candidate.getFullYear() === expected.getFullYear();\n };\n DecadeViewService.prototype.isInArray = function (date, dates) {\n if (!dates.length) {\n return false;\n }\n var year = date.getFullYear();\n return dates[0].getFullYear() <= year && year <= (dates[dates.length - 1].getFullYear() + 9);\n };\n DecadeViewService.prototype.isInRange = function (candidate, min, max) {\n var year = candidate.getFullYear();\n var aboveMin = !min || min.getFullYear() <= year;\n var belowMax = !max || year <= max.getFullYear();\n return aboveMin && belowMax;\n };\n DecadeViewService.prototype.isRangeStart = function (value) {\n return value.getFullYear() % 100 === 0;\n };\n DecadeViewService.prototype.isInSameView = function (candidate, value) {\n return durationInDecades(candidate, value) === 0;\n };\n DecadeViewService.prototype.move = function (value, action) {\n var modifier = ACTIONS[action];\n if (!modifier) {\n return value;\n }\n return modifier(value);\n };\n DecadeViewService.prototype.cellTitle = function (value) {\n return value.getFullYear().toString();\n };\n DecadeViewService.prototype.navigationTitle = function (value) {\n return value ? firstYearOfDecade(value).getFullYear().toString() : '';\n };\n DecadeViewService.prototype.title = function (value) {\n if (!value) {\n return '';\n }\n return \"\".concat(firstYearOfDecade(value).getFullYear(), \" - \").concat(lastYearOfDecade(value).getFullYear());\n };\n DecadeViewService.prototype.rowLength = function (_) {\n return CELLS_LENGTH;\n };\n DecadeViewService.prototype.skip = function (value, min) {\n return durationInDecades(min, value);\n };\n DecadeViewService.prototype.total = function (min, max) {\n return durationInDecades(min, max) + 1;\n };\n DecadeViewService.prototype.value = function (current) {\n return current ? current.getFullYear().toString() : '';\n };\n DecadeViewService.prototype.viewDate = function (date, max, border) {\n if (border === void 0) { border = 1; }\n var renderTwoViews = durationInDecades(date, max) < border;\n return renderTwoViews ? addDecades(date, -1) : date;\n };\n DecadeViewService.prototype.normalize = function (cellDate, min, max) {\n if (cellDate < min && this.isEqual(cellDate, min)) {\n return cloneDate(min);\n }\n if (cellDate > max && this.isEqual(cellDate, max)) {\n return cloneDate(max);\n }\n return cellDate;\n };\n return DecadeViewService;\n}());\nexport { DecadeViewService };\n","var _a;\nimport { addDays, addWeeks, addMonths, dayOfWeek, durationInMonths, getDate, firstDayOfMonth, lastDayOfMonth } from '@progress/kendo-date-math';\nimport { Action } from '../models/NavigationAction';\nimport { EMPTY_SELECTIONRANGE } from '../models/SelectionRange';\nimport { getToday, isInRange, isInSelectionRange, range } from '../../utils';\nvar EMPTY_DATA = [[]];\nvar CELLS_LENGTH = 7;\nvar ROWS_LENGTH = 6;\nvar SATURDAY = 6;\nvar SUNDAY = 0;\nvar ACTIONS = (_a = {},\n _a[Action.Left] = function (date) { return addDays(date, -1); },\n _a[Action.Up] = function (date) { return addWeeks(date, -1); },\n _a[Action.Right] = function (date) { return addDays(date, 1); },\n _a[Action.Down] = function (date) { return addWeeks(date, 1); },\n _a[Action.PrevView] = function (date) { return addMonths(date, -1); },\n _a[Action.NextView] = function (date) { return addMonths(date, 1); },\n _a[Action.FirstInView] = function (date) { return firstDayOfMonth(date); },\n _a[Action.LastInView] = function (date) { return lastDayOfMonth(date); },\n _a);\n/**\n * @hidden\n */\nvar MonthViewService = /** @class */ (function () {\n function MonthViewService(intl) {\n this.intl = intl;\n }\n MonthViewService.prototype.addToDate = function (min, skip) {\n return addMonths(min, skip);\n };\n MonthViewService.prototype.datesList = function (start, count) {\n return range(0, count).map(function (i) { return addMonths(start, i); });\n };\n MonthViewService.prototype.data = function (options) {\n var _this = this;\n var cellUID = options.cellUID, focusedDate = options.focusedDate, isActiveView = options.isActiveView, max = options.max, min = options.min, selectedDate = options.selectedDate, _a = options.selectionRange, selectionRange = _a === void 0 ? EMPTY_SELECTIONRANGE : _a, viewDate = options.viewDate;\n if (!viewDate) {\n return EMPTY_DATA;\n }\n var firstMonthDate = firstDayOfMonth(viewDate);\n var lastMonthDate = lastDayOfMonth(viewDate);\n var backward = -1;\n var date = dayOfWeek(firstMonthDate, this.intl.firstDay(), backward);\n var cells = range(0, CELLS_LENGTH);\n var today = getToday();\n return range(0, ROWS_LENGTH).map(function (rowOffset) {\n var baseDate = addDays(date, rowOffset * CELLS_LENGTH);\n return cells.map(function (cellOffset) {\n var cellDate = _this.normalize(addDays(baseDate, cellOffset), min, max);\n var otherMonth = cellDate < firstMonthDate || cellDate > lastMonthDate;\n if (otherMonth) {\n return null;\n }\n var isRangeStart = _this.isEqual(cellDate, selectionRange.start);\n var isRangeEnd = _this.isEqual(cellDate, selectionRange.end);\n var isInMiddle = !isRangeStart && !isRangeEnd;\n var isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);\n var isSelected = isActiveView && (!Array.isArray(selectedDate)\n ? isInRange(selectedDate, min, max) && _this.isEqual(cellDate, selectedDate)\n : _this.isSelectedFromArray(cellDate, selectedDate, min, max));\n var cell = {\n formattedValue: _this.value(cellDate),\n id: \"\".concat(cellUID).concat(cellDate.getTime()),\n isFocused: _this.isEqual(cellDate, focusedDate),\n isSelected: isSelected,\n isInRange: isInRange(cellDate, min, max),\n isWeekend: _this.isWeekend(cellDate),\n isRangeStart: isRangeStart,\n isRangeMid: isRangeMid,\n isRangeEnd: isRangeEnd,\n isRangeSplitStart: isRangeMid && _this.isEqual(cellDate, firstMonthDate),\n isRangeSplitEnd: isRangeMid && _this.isEqual(cellDate, lastMonthDate),\n isToday: _this.isEqual(cellDate, today),\n title: _this.cellTitle(cellDate),\n value: cellDate\n };\n return cell;\n });\n });\n };\n MonthViewService.prototype.isEqual = function (candidate, expected) {\n if (!candidate || !expected) {\n return false;\n }\n return getDate(candidate).getTime() === getDate(expected).getTime();\n };\n MonthViewService.prototype.isSelectedFromArray = function (candidate, dates, min, max) {\n var _this = this;\n var result = false;\n dates.forEach(function (date) {\n if (isInRange(candidate, min, max) && _this.isEqual(candidate, date)) {\n result = true;\n }\n });\n return result;\n };\n MonthViewService.prototype.isInArray = function (date, dates) {\n return !!dates.length && firstDayOfMonth(dates[0]) <= date && date <= lastDayOfMonth(dates[dates.length - 1]);\n };\n MonthViewService.prototype.isInRange = function (candidate, min, max) {\n var value = getDate(candidate);\n var aboveMin = !min || getDate(min) <= value;\n var belowMax = !max || value <= getDate(max);\n return aboveMin && belowMax;\n };\n MonthViewService.prototype.isInSameView = function (candidate, value) {\n return durationInMonths(candidate, value) === 0;\n };\n MonthViewService.prototype.isRangeStart = function (value) {\n return !value.getMonth();\n };\n MonthViewService.prototype.move = function (value, action) {\n var modifier = ACTIONS[action];\n if (!modifier) {\n return value;\n }\n return modifier(value);\n };\n MonthViewService.prototype.cellTitle = function (value) {\n return this.intl.formatDate(value, 'D');\n };\n MonthViewService.prototype.navigationTitle = function (value) {\n if (!value) {\n return '';\n }\n return this.isRangeStart(value) ? value.getFullYear().toString() : this.abbrMonthNames()[value.getMonth()];\n };\n MonthViewService.prototype.title = function (current) {\n return \"\".concat(this.wideMonthNames()[current.getMonth()], \" \").concat(current.getFullYear());\n };\n MonthViewService.prototype.rowLength = function (prependCell) {\n return CELLS_LENGTH + (prependCell ? 1 : 0);\n };\n MonthViewService.prototype.skip = function (value, min) {\n return durationInMonths(min, value);\n };\n MonthViewService.prototype.total = function (min, max) {\n return durationInMonths(min, max) + 1;\n };\n MonthViewService.prototype.value = function (current) {\n return current ? current.getDate().toString() : '';\n };\n MonthViewService.prototype.viewDate = function (date, max, border) {\n if (border === void 0) { border = 1; }\n var renderTwoViews = durationInMonths(date, max) < border;\n return renderTwoViews ? addMonths(date, -1) : date;\n };\n MonthViewService.prototype.isWeekend = function (date) {\n var day = date.getDay();\n return day === SATURDAY || day === SUNDAY;\n };\n MonthViewService.prototype.abbrMonthNames = function () {\n return this.intl.dateFormatNames({ nameType: 'abbreviated', type: 'months' });\n };\n MonthViewService.prototype.normalize = function (cellDate, min, max) {\n if (cellDate < min && this.isEqual(cellDate, min)) {\n return getDate(min);\n }\n if (cellDate > max && this.isEqual(cellDate, max)) {\n return getDate(max);\n }\n return cellDate;\n };\n MonthViewService.prototype.wideMonthNames = function () {\n return this.intl.dateFormatNames({ nameType: 'wide', type: 'months', standAlone: true });\n };\n return MonthViewService;\n}());\nexport { MonthViewService };\n","var _a;\nimport { addMonths, addYears, createDate, durationInYears, firstMonthOfYear, lastMonthOfYear } from '@progress/kendo-date-math';\nimport { Action } from '../models/NavigationAction';\nimport { getToday, isInRange, isInSelectionRange, range } from '../../utils';\nimport { EMPTY_SELECTIONRANGE } from '../models/SelectionRange';\nimport { cloneDate } from '@progress/kendo-vue-common';\nvar EMPTY_DATA = [[]];\nvar CELLS_LENGTH = 4;\nvar ROWS_LENGTH = 3;\nvar ACTIONS = (_a = {},\n _a[Action.Left] = function (date) { return addMonths(date, -1); },\n _a[Action.Up] = function (date) { return addMonths(date, -4); },\n _a[Action.Right] = function (date) { return addMonths(date, 1); },\n _a[Action.Down] = function (date) { return addMonths(date, 4); },\n _a[Action.PrevView] = function (date) { return addYears(date, -1); },\n _a[Action.NextView] = function (date) { return addYears(date, 1); },\n _a[Action.FirstInView] = function (date) { return firstMonthOfYear(date); },\n _a[Action.LastInView] = function (date) { return lastMonthOfYear(date); },\n _a);\n/**\n * @hidden\n */\nvar YearViewService = /** @class */ (function () {\n function YearViewService(intl) {\n this._intl = intl;\n }\n YearViewService.prototype.addToDate = function (min, skip) {\n return addYears(min, skip);\n };\n YearViewService.prototype.datesList = function (start, count) {\n return range(0, count).map(function (i) { return addYears(start, i); });\n };\n YearViewService.prototype.data = function (options) {\n var _this = this;\n var cellUID = options.cellUID, focusedDate = options.focusedDate, isActiveView = options.isActiveView, max = options.max, min = options.min, selectedDate = options.selectedDate, _a = options.selectionRange, selectionRange = _a === void 0 ? EMPTY_SELECTIONRANGE : _a, viewDate = options.viewDate;\n if (!viewDate) {\n return EMPTY_DATA;\n }\n var months = this.abbrMonthNames();\n var firstDate = firstMonthOfYear(viewDate);\n var lastDate = lastMonthOfYear(viewDate);\n var currentYear = firstDate.getFullYear();\n var cells = range(0, CELLS_LENGTH);\n var today = getToday();\n return range(0, ROWS_LENGTH).map(function (rowOffset) {\n var baseDate = addMonths(firstDate, rowOffset * CELLS_LENGTH);\n return cells.map(function (cellOffset) {\n var cellDate = _this.normalize(addMonths(baseDate, cellOffset), min, max);\n if (!cellDate) {\n return null;\n }\n var changedYear = currentYear < cellDate.getFullYear();\n if (changedYear) {\n return null;\n }\n var isRangeStart = _this.isEqual(cellDate, selectionRange.start);\n var isRangeEnd = _this.isEqual(cellDate, selectionRange.end);\n var isInMiddle = !isRangeStart && !isRangeEnd;\n var isRangeMid = isInMiddle && isInSelectionRange(cellDate, selectionRange);\n var isSelected = isActiveView && (!Array.isArray(selectedDate)\n ? isInRange(selectedDate, min, max) && _this.isEqual(cellDate, selectedDate)\n : _this.isSelectedFromArray(cellDate, selectedDate, min, max));\n return {\n formattedValue: months[cellDate.getMonth()],\n id: \"\".concat(cellUID).concat(cellDate.getTime()),\n isFocused: _this.isEqual(cellDate, focusedDate),\n isSelected: isSelected,\n isInRange: isInRange(cellDate, min, max),\n isWeekend: false,\n isRangeStart: isRangeStart,\n isRangeMid: isRangeMid,\n isRangeEnd: isRangeEnd,\n isRangeSplitEnd: isRangeMid && _this.isEqual(cellDate, lastDate),\n isRangeSplitStart: isRangeMid && _this.isEqual(cellDate, firstDate),\n isToday: _this.isEqual(cellDate, today),\n title: _this.cellTitle(cellDate),\n value: cellDate\n };\n });\n });\n };\n YearViewService.prototype.isSelectedFromArray = function (candidate, dates, min, max) {\n var _this = this;\n var result = false;\n dates.forEach(function (date) {\n if (isInRange(candidate, min, max) && _this.isEqual(candidate, date)) {\n result = true;\n }\n });\n return result;\n };\n YearViewService.prototype.isEqual = function (candidate, expected) {\n if (!candidate || !expected) {\n return false;\n }\n return candidate.getFullYear() === expected.getFullYear() &&\n candidate.getMonth() === expected.getMonth();\n };\n YearViewService.prototype.isInArray = function (date, dates) {\n if (!dates.length) {\n return false;\n }\n var year = date.getFullYear();\n return dates[0].getFullYear() <= year && year <= dates[dates.length - 1].getFullYear();\n };\n YearViewService.prototype.isInRange = function (candidate, min, max) {\n var candidateValue = createDate(candidate.getFullYear(), candidate.getMonth(), 1);\n var aboveMin = !min || createDate(min.getFullYear(), min.getMonth(), 1) <= candidateValue;\n var belowMax = !max || candidateValue <= createDate(max.getFullYear(), max.getMonth(), 1);\n return aboveMin && belowMax;\n };\n YearViewService.prototype.isInSameView = function (candidate, value) {\n return durationInYears(candidate, value) === 0;\n };\n YearViewService.prototype.isRangeStart = function (value) {\n return value.getFullYear() % 10 === 0;\n };\n YearViewService.prototype.move = function (value, action) {\n var modifier = ACTIONS[action];\n if (!modifier) {\n return value;\n }\n return modifier(value);\n };\n YearViewService.prototype.cellTitle = function (value) {\n return \"\".concat(value.getFullYear(), \" \").concat(this.value(value));\n };\n YearViewService.prototype.navigationTitle = function (value) {\n return this.title(value);\n };\n YearViewService.prototype.title = function (current) {\n return current ? current.getFullYear().toString() : '';\n };\n YearViewService.prototype.rowLength = function (_) {\n return CELLS_LENGTH;\n };\n YearViewService.prototype.skip = function (value, min) {\n return durationInYears(min, value);\n };\n YearViewService.prototype.total = function (min, max) {\n return durationInYears(min, max) + 1;\n };\n YearViewService.prototype.value = function (current) {\n return current ? this.abbrMonthNames()[current.getMonth()] : '';\n };\n YearViewService.prototype.viewDate = function (date, max, border) {\n if (border === void 0) { border = 1; }\n var renderTwoViews = durationInYears(date, max) < border;\n return renderTwoViews ? addYears(date, -1) : date;\n };\n YearViewService.prototype.abbrMonthNames = function () {\n return this._intl.dateFormatNames({ nameType: 'abbreviated', type: 'months' });\n };\n YearViewService.prototype.normalize = function (cellDate, min, max) {\n if (cellDate < min && this.isEqual(cellDate, min)) {\n return cloneDate(min);\n }\n if (cellDate > max && this.isEqual(cellDate, max)) {\n return cloneDate(max);\n }\n return cellDate;\n };\n return YearViewService;\n}());\nexport { YearViewService };\n","var _a;\nimport { CenturyViewService } from './CenturyViewService';\nimport { DecadeViewService } from './DecadeViewService';\nimport { MonthViewService } from './MonthViewService';\nimport { YearViewService } from './YearViewService';\nimport { CalendarViewEnum } from '../models/CalendarViewEnum';\nvar services = (_a = {},\n _a[CalendarViewEnum.month] = MonthViewService,\n _a[CalendarViewEnum.year] = YearViewService,\n _a[CalendarViewEnum.decade] = DecadeViewService,\n _a[CalendarViewEnum.century] = CenturyViewService,\n _a);\nvar viewOffset = function (view, offset) {\n var candidate = CalendarViewEnum[CalendarViewEnum[view + offset]];\n return candidate !== undefined ? candidate : view;\n};\n/**\n * @hidden\n */\nvar BusViewService = /** @class */ (function () {\n function BusViewService(onViewChanged) {\n this.bottom = CalendarViewEnum.month;\n this.top = CalendarViewEnum.century;\n this.onViewChanged = onViewChanged;\n }\n BusViewService.prototype.configure = function (bottom, top) {\n this.bottom = bottom;\n this.top = top;\n };\n BusViewService.prototype.service = function (view, intl) {\n return new services[\"\".concat(view)](intl);\n };\n BusViewService.prototype.moveDown = function (view, event) {\n this.move(view, -1, event);\n };\n BusViewService.prototype.moveUp = function (view, event) {\n this.move(view, 1, event);\n };\n BusViewService.prototype.moveToBottom = function (activeView) {\n if (activeView === this.bottom) {\n return;\n }\n this.onViewChanged({ view: this.bottom });\n };\n BusViewService.prototype.canMoveDown = function (view) {\n return this.bottom < view;\n };\n BusViewService.prototype.canMoveUp = function (view) {\n return view < this.top;\n };\n BusViewService.prototype.clamp = function (view) {\n if (view < this.bottom) {\n return this.bottom;\n }\n if (view > this.top) {\n return this.top;\n }\n return view;\n };\n BusViewService.prototype.move = function (view, offset, event) {\n var candidate = this.clamp(viewOffset(view, offset));\n if (candidate === view) {\n return;\n }\n this.onViewChanged({ view: candidate }, event);\n };\n return BusViewService;\n}());\nexport { BusViewService };\n","var _a;\n/**\n * @hidden\n */\nexport var prevView = 'calendar.prevView';\n/**\n * @hidden\n */\nexport var nextView = 'calendar.nextView';\n/**\n * @hidden\n */\nexport var increaseValue = 'dateinput.increment';\n/**\n * @hidden\n */\nexport var decreaseValue = 'dateinput.decrement';\n/**\n * @hidden\n */\nexport var today = 'calendar.today';\n/**\n * @hidden\n */\nexport var toggleCalendar = 'datepicker.toggleCalendar';\n/**\n * @hidden\n */\nexport var swapStartEnd = 'daterangepicker.swapStartEnd';\n/**\n * @hidden\n */\nexport var start = 'daterangepicker.start';\n/**\n * @hidden\n */\nexport var end = 'daterangepicker.end';\n/**\n * @hidden\n */\nexport var separator = 'daterangepicker.separator';\n/**\n * @hidden\n */\nexport var toggleDateTimeSelector = 'datetimepicker.toggleDateTimeSelector';\n/**\n * @hidden\n */\nexport var now = 'timepicker.now';\n/**\n * @hidden\n */\nexport var selectNow = 'timepicker.selectNow';\n/**\n * @hidden\n */\nexport var timePickerCancel = 'timepicker.cancel';\n/**\n * @hidden\n */\nexport var timePickerSet = 'timepicker.set';\n/**\n * @hidden\n */\nexport var toggleTimeSelector = 'timepicker.toggleTimeSelector';\n/**\n * @hidden\n */\nexport var toggleClock = 'timepicker.toggleClock';\n/**\n * @hidden\n */\nexport var date = 'datetimepicker.date';\n/**\n * @hidden\n */\nexport var time = 'datetimepicker.time';\n/**\n * @hidden\n */\nexport var dateTimePickerCancel = 'datetimepicker.cancel';\n/**\n * @hidden\n */\nexport var dateTimePickerSet = 'datetimepicker.set';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[today] = 'Today',\n _a[now] = 'NOW',\n _a[timePickerSet] = 'Set',\n _a[timePickerCancel] = 'Cancel',\n _a[date] = 'Date',\n _a[time] = 'Time',\n _a[dateTimePickerCancel] = 'Cancel',\n _a[dateTimePickerSet] = 'Set',\n _a[start] = 'Start',\n _a[end] = 'End',\n _a[separator] = ' ',\n _a[selectNow] = 'Select Now',\n _a[toggleTimeSelector] = 'Toggle TimeSelector',\n _a[toggleClock] = 'Toggle Clock',\n _a[increaseValue] = 'Increase value',\n _a[decreaseValue] = 'Decrease value',\n _a[toggleCalendar] = 'Toggle calendar',\n _a[prevView] = 'Navigate to previous view',\n _a[nextView] = 'Navigate to next view',\n _a[swapStartEnd] = 'Swap start and end values',\n _a[toggleDateTimeSelector] = 'Toggle date-time selector',\n _a);\n","var _a, _b, _c;\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { RowHeightService, ScrollerService } from './services/main';\n/**\n * @hidden\n */\nexport var ScrollDirection;\n(function (ScrollDirection) {\n ScrollDirection[ScrollDirection[\"Backward\"] = 0] = \"Backward\";\n ScrollDirection[ScrollDirection[\"Forward\"] = 1] = \"Forward\";\n})(ScrollDirection || (ScrollDirection = {}));\nvar differenceToScroll = function differenceToScroll(scrollTop, staticOffset, maxScrollDifference) {\n return Math.min(Math.abs(staticOffset - scrollTop), maxScrollDifference);\n};\nvar FRAME_DURATION = 17;\nvar scrollModifiers = (_a = {}, _a[ScrollDirection.Forward] = function (step) {\n return function (value) {\n return value + step;\n };\n}, _a[ScrollDirection.Backward] = function (step) {\n return function (value) {\n return value - step;\n };\n}, _a);\nvar scrollNormalizers = (_b = {}, _b[ScrollDirection.Forward] = function (end) {\n return function (value) {\n return Math.min(value, end);\n };\n}, _b[ScrollDirection.Backward] = function (end) {\n return function (value) {\n return Math.max(value, end);\n };\n}, _b);\nvar scrollValidators = (_c = {}, _c[ScrollDirection.Forward] = function (end) {\n return function (start) {\n return start < end;\n };\n}, _c[ScrollDirection.Backward] = function (end) {\n return function (start) {\n return start > end;\n };\n}, _c);\n/**\n * @hidden\n */\nvar VirtualizationVue2 = {\n name: 'Virtualization',\n // @ts-ignore\n emits: {\n scroll: null,\n scrollaction: null\n },\n props: {\n bottomOffset: {\n type: Number,\n required: true\n },\n direction: {\n type: String,\n default: function _default() {\n return 'vertical';\n }\n },\n forceScroll: {\n type: Boolean,\n default: false\n },\n itemHeight: Number,\n itemWidth: Number,\n maxScrollDifference: {\n type: Number,\n default: 100\n },\n scrollDuration: {\n type: Number,\n default: 100\n },\n scrollOffsetSize: {\n type: Number,\n default: 0\n },\n skip: {\n type: Number,\n required: true\n },\n tabIndex: Number,\n take: {\n type: Number,\n required: true\n },\n topOffset: {\n type: Number,\n required: true\n },\n total: {\n type: Number,\n required: true\n },\n role: String\n },\n created: function created() {\n this.animationInProgress = false;\n this.lastTotal = undefined;\n this.scrollerService = new ScrollerService(this.handleScrollAction, this.handlePageAction);\n },\n mounted: function mounted() {\n this.scrollContainer = this.$refs.scrollContainer;\n },\n computed: {\n element: function element() {\n return this.scrollContainer;\n }\n },\n methods: {\n containerOffsetSize: function containerOffsetSize() {\n return this.getContainerProperty(this.$props.direction === 'vertical' ? 'offsetHeight' : 'offsetWidth');\n },\n containerScrollSize: function containerScrollSize() {\n return this.getContainerProperty(this.$props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth');\n },\n containerScrollPosition: function containerScrollPosition() {\n return this.getContainerProperty(this.$props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft');\n },\n activeIndex: function activeIndex() {\n return this.itemIndex(Math.ceil(this.containerScrollPosition()));\n },\n itemIndex: function itemIndex(offset) {\n if (!this.rowHeightService) {\n return 0;\n }\n return this.rowHeightService.index(offset);\n },\n itemOffset: function itemOffset(index) {\n if (!this.rowHeightService) {\n return 0;\n }\n return this.rowHeightService.offset(index);\n },\n isIndexVisible: function isIndexVisible(index) {\n if (!this.rowHeightService) {\n return false;\n }\n var containerTop = this.containerScrollPosition();\n var containerBottom = containerTop + this.containerOffsetSize();\n var top = this.rowHeightService.offset(index);\n var bottom = top + this.rowHeightService.height(index);\n return top >= containerTop && bottom <= containerBottom;\n },\n isListScrolled: function isListScrolled(index) {\n if (!this.rowHeightService) {\n return false;\n }\n return this.containerScrollPosition() !== this.rowHeightService.offset(index);\n },\n scrollTo: function scrollTo(value) {\n var scrollProperty = this.$props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';\n if (!this.scrollContainer) {\n return;\n }\n this.scrollContainer[scrollProperty] = value;\n },\n scrollToIndex: function scrollToIndex(index) {\n if (!this.rowHeightService) {\n return;\n }\n this.animationInProgress = false;\n this.scrollTo(this.rowHeightService.offset(index));\n },\n animateToIndex: function animateToIndex(index) {\n var _this = this;\n if (!this.rowHeightService || !window) {\n return;\n }\n window.cancelAnimationFrame(this.cancelAnimation);\n var indexOffset = this.rowHeightService.offset(index);\n var direction = this.getContainerScrollDirection(indexOffset);\n var _a = this.scrollRange(indexOffset, direction),\n start = _a.start,\n end = _a.end;\n if (start === end) {\n return;\n }\n var step = this.scrollStep(start, end);\n var modifyScroll = scrollModifiers[direction](step);\n var normalizeScroll = scrollNormalizers[direction](end);\n var isScrollValid = scrollValidators[direction](modifyScroll(end));\n var animate = function animate(progress) {\n _this.animationInProgress = true;\n var next = modifyScroll(progress);\n _this.scrollTo(normalizeScroll(next));\n isScrollValid(next) ? _this.cancelAnimation = window.requestAnimationFrame(function () {\n animate(next);\n }) : _this.animationInProgress = false;\n };\n this.cancelAnimation = window.requestAnimationFrame(function () {\n animate(start);\n });\n },\n scrollToBottom: function scrollToBottom() {\n if (!this.rowHeightService) {\n return;\n }\n this.scrollTo(this.rowHeightService.totalHeight() + this.$props.bottomOffset);\n },\n scrollStep: function scrollStep(start, end) {\n var duration = this.$props.scrollDuration;\n return Math.abs(end - start) / (duration / FRAME_DURATION);\n },\n scrollRange: function scrollRange(indexOffset, direction) {\n var containerScroll = this.containerScrollPosition();\n if (parseInt(\"\".concat(indexOffset), 10) === parseInt(\"\".concat(containerScroll), 10)) {\n return {\n start: indexOffset,\n end: indexOffset\n };\n }\n var maxScroll = this.containerMaxScroll();\n var sign = direction === ScrollDirection.Backward ? 1 : -1;\n var difference = differenceToScroll(containerScroll, indexOffset, this.$props.maxScrollDifference);\n var end = Math.min(indexOffset, maxScroll);\n var start = Math.min(Math.max(end + sign * difference, 0), maxScroll);\n return {\n start: start,\n end: end\n };\n },\n containerMaxScroll: function containerMaxScroll() {\n return this.containerScrollSize() - this.containerOffsetSize();\n },\n getContainerScrollDirection: function getContainerScrollDirection(indexOffset) {\n return indexOffset < this.containerScrollPosition() ? ScrollDirection.Backward : ScrollDirection.Forward;\n },\n initServices: function initServices(newProps) {\n var props = newProps || this.$props;\n var dimension = props.direction === 'vertical' ? props.itemHeight : props.itemWidth;\n if (dimension === undefined) {\n return;\n }\n this.rowHeightService = new RowHeightService(props.total, dimension, 0);\n this.scrollerService.create(this.rowHeightService, props.skip, props.take, props.total, props.topOffset, this.$props.scrollOffsetSize, this.$props.direction);\n },\n getContainerProperty: function getContainerProperty(propertyName) {\n if (!this.scrollContainer) {\n return 0;\n }\n return this.scrollContainer[propertyName];\n },\n handleScroll: function handleScroll(event) {\n if (!this.scrollContainer || !this.rowHeightService) {\n return;\n }\n var target = event.target;\n this.scrollerService.onScroll({\n scrollLeft: target.scrollLeft,\n scrollTop: target.scrollTop,\n offsetHeight: target.offsetHeight,\n offsetWidth: target.offsetWidth\n });\n var index = this.rowHeightService.index(this.containerScrollPosition() - this.$props.topOffset);\n var args = {\n index: index,\n target: target,\n scrollAction: this.scrollAction,\n pageAction: this.pageAction,\n animationInProgress: this.animationInProgress\n };\n this.$emit('scrollaction', args);\n this.scrollAction = undefined;\n this.pageAction = undefined;\n },\n handleScrollAction: function handleScrollAction(action) {\n this.scrollAction = action;\n },\n handlePageAction: function handlePageAction(action) {\n this.pageAction = action;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n if (this.lastTotal !== this.$props.total || this.lastDirection !== this.$props.direction || this.lastTake !== this.$props.take) {\n this.initServices();\n this.lastTotal = this.$props.total;\n this.lastDirection = this.$props.direction;\n this.lastTake = this.$props.take;\n }\n var vertexLength = \"\".concat((this.rowHeightService ? this.rowHeightService.totalHeight() : 0) + this.$props.bottomOffset);\n var placeholderStyle = this.$props.direction === 'vertical' ? {\n height: \"\".concat(vertexLength, \"px\")\n } : {\n width: \"\".concat(vertexLength, \"px\")\n };\n var rootClassNames = classNames('k-content k-scrollable', {\n 'k-scrollable-horizontal': this.$props.direction === 'horizontal'\n });\n var scrollableClassNames = classNames('k-scrollable-placeholder', {\n 'k-scrollable-horizontal-placeholder': this.$props.direction === 'horizontal'\n });\n return h(\"div\", {\n ref: 'scrollContainer',\n onScroll: this.handleScroll,\n on: this.v3 ? undefined : {\n \"scroll\": this.handleScroll\n },\n \"class\": rootClassNames,\n tabindex: this.$props.tabIndex,\n attrs: this.v3 ? undefined : {\n tabindex: this.$props.tabIndex,\n role: this.$props.role\n },\n role: this.$props.role\n }, [defaultSlot, h(\"div\", {\n style: placeholderStyle,\n \"class\": scrollableClassNames\n })]);\n }\n};\n/**\n * @hidden\n */\nvar Virtualization = VirtualizationVue2;\nexport { Virtualization, VirtualizationVue2 };","import { cloneDate, isEqual } from '@progress/kendo-date-math';\nimport { getDate } from '@progress/kendo-date-math';\nimport { EMPTY_SELECTIONRANGE } from './calendar/models/SelectionRange';\n/**\n * @hidden\n */\nexport var isEqualRange = function (initial, updated) {\n var _a = initial || EMPTY_SELECTIONRANGE, initialStart = _a.start, initialEnd = _a.end;\n var _b = updated || EMPTY_SELECTIONRANGE, updatedStart = _b.start, updatedEnd = _b.end;\n if (initialStart === null || initialEnd === null || updatedStart === null || updatedEnd === null) {\n return false;\n }\n return isEqual(initialStart, updatedStart) && isEqual(initialEnd, updatedEnd);\n};\n/**\n * @hidden\n */\nexport var viewInRange = function (candidate, min, max) {\n if (min === undefined || max === undefined) {\n return candidate;\n }\n return min <= candidate && candidate <= max\n ? candidate\n : candidate < min\n ? min\n : max;\n};\n/**\n * @hidden\n */\nexport var MIDNIGHT_DATE = new Date(1980, 0, 1);\n/**\n * @hidden\n */\nexport var MIN_DATE = new Date(1900, 0, 1);\n/**\n * @hidden\n */\nexport var MAX_DATE = new Date(2099, 11, 31);\n/**\n * @hidden\n */\nexport var MIN_TIME = new Date(1980, 0, 1);\n/**\n * @hidden\n */\nexport var MAX_TIME = new Date(1980, 0, 1, 23, 59, 59);\nvar isSet = function (value) { return value !== null && value !== undefined; };\n/**\n * @hidden\n */\nexport var isValidRange = function (min, max) { return (!isSet(min) || !isSet(max) || min <= max); };\n/**\n * @hidden\n */\nexport var setTime = function (origin, candidate) {\n var date = cloneDate(origin);\n date.setHours(candidate.getHours(), candidate.getMinutes(), candidate.getSeconds(), candidate.getMilliseconds());\n return date;\n};\n/**\n * @hidden\n */\nexport var getToday = function () { return getDate(new Date()); };\n/**\n * @hidden\n */\nexport var isInRange = function (candidate, min, max) { return (!candidate || !((min && min > candidate) || (max && max < candidate))); };\n/**\n * @hidden\n */\nexport var isInDateRange = function (candidate, min, max) { return (candidate === null\n || !((min && getDate(min) > getDate(candidate))\n || (max && getDate(max) < getDate(candidate)))); };\n/**\n * @hidden\n */\nexport var isInSelectionRange = function (value, selectionRange) {\n var _a = selectionRange || EMPTY_SELECTIONRANGE, start = _a.start, end = _a.end;\n if (!start || !end) {\n return false;\n }\n return start < value && value < end;\n};\n/**\n * @hidden\n */\nexport var range = function (start, end, step) {\n if (step === void 0) { step = 1; }\n var result = [];\n for (var i = start; i < end; i = i + step) {\n result.push(i);\n }\n return result;\n};\n/**\n * @hidden\n */\nexport var shiftWeekNames = function (names, offset) { return (names.slice(offset).concat(names.slice(0, offset))); };\n/**\n * @hidden\n */\nexport var dateInRange = function (candidate, min, max) {\n if (!candidate) {\n return candidate;\n }\n if (min && candidate < min) {\n return cloneDate(min);\n }\n if (max && candidate > max) {\n return cloneDate(max);\n }\n return candidate;\n};\n/**\n * @hidden\n */\nexport var domContainerFactory = function (type) { return function (children, classes, styles) {\n if (classes === void 0) { classes = ''; }\n if (styles === void 0) { styles = {}; }\n var container = document.createElement(type);\n container.className = classes;\n Object.keys(styles).map(function (key) { return container.style[key] = styles[key]; });\n if (typeof children === 'string') {\n container.innerHTML = children || '';\n }\n else {\n (children || []).forEach(function (child) { return child && container.appendChild(child); });\n }\n return container;\n}; };\n","import { addDays } from './add-days';\nimport { createDate } from './create-date';\n/**\n * A function which returns the last date of the month.\n *\n * @param date - The initial date.\n * @returns - The last date of the initial date month.\n *\n * @example\n * ```ts-no-run\n * lastDayOfMonth(new Date(2016, 0, 15)); // 2016-01-31\n * ```\n */\nexport var lastDayOfMonth = function (date) {\n var newDate = createDate(date.getFullYear(), date.getMonth() + 1, 1, date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n return addDays(newDate, -1);\n};\n","import { adjustDST } from './adjust-dst';\nimport { cloneDate } from './clone-date';\nimport { lastDayOfMonth } from './last-day-of-month';\nvar MONTHS_LENGTH = 12;\nvar normalize = function (date, expectedMonth) { return (date.getMonth() !== expectedMonth ? lastDayOfMonth(addMonths(date, -1)) : date //tslint:disable-line:no-use-before-declare\n); };\n/**\n * A function that adds and subtracts months from a `Date` object.\n *\n * @param date - The initial date value.\n * @param offset - The number of months to add or subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addMonths(new Date(2016, 5, 1), 5); // 2016-11-1\n * addMonths(new Date(2016, 5, 1), -5); // 2015-1-1\n * ```\n */\nexport var addMonths = function (date, offset) {\n var newDate = cloneDate(date);\n var diff = (newDate.getMonth() + offset) % MONTHS_LENGTH;\n var expectedMonth = (MONTHS_LENGTH + diff) % MONTHS_LENGTH;\n newDate.setMonth(newDate.getMonth() + offset);\n return normalize(adjustDST(newDate, date.getHours()), expectedMonth);\n};\n","import { addMonths } from './add-months';\nimport { createDate } from './create-date';\nimport { lastDayOfMonth } from './last-day-of-month';\n/**\n * @hidden\n */\nexport var setYear = function (value, year) {\n var month = value.getMonth();\n var candidate = createDate(year, month, value.getDate(), value.getHours(), value.getMinutes(), value.getSeconds(), value.getMilliseconds());\n return candidate.getMonth() === month ? candidate : lastDayOfMonth(addMonths(candidate, -1));\n};\n","import { adjustDST } from './adjust-dst';\nimport { setYear } from './set-year';\n/**\n * A function that adds and subtracts years from a `Date` object.\n *\n * @param date - The initial date value.\n * @param offset - The number of years to add or subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addYears(new Date(2016, 5, 1), 5); // 2011-6-1\n * addYears(new Date(2016, 5, 1), -5); // 2021-6-1\n * ```\n */\nexport var addYears = function (value, offset) {\n return adjustDST(setYear(value, value.getFullYear() + offset), value.getHours());\n};\n","import { addYears } from './add-years';\n/**\n * A function that adds and subtracts decades from a `Date` object.\n *\n * @param date - The initial date value.\n * @param offset - The number of decades to add or subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addDecades(new Date(2016, 5, 1), 5); // 2066-6-1\n * addDecades(new Date(2016, 5, 1), -5); // 1966-6-1\n * ```\n */\nexport var addDecades = function (value, offset) {\n return addYears(value, 10 * offset);\n};\n","import { addYears } from './add-years';\n/**\n * A function that adds and subtracts centuries from a `Date` object.\n *\n * @param date - The initial date value.\n * @param offset - The number of centuries to add or subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addCenturies(new Date(2016, 5, 1), 5); // 2516-6-1\n * addCenturies(new Date(2016, 5, 1), -5); // 1516-6-1\n * ```\n */\nexport var addCenturies = function (value, offset) {\n return addYears(value, 100 * offset);\n};\n","import { setYear } from './set-year';\n/**\n * @hidden\n */\nexport var normalizeYear = function (value, year) { return (setYear(value, year(value.getFullYear()))); };\n","import { normalizeYear } from './normalize-year';\n/**\n * A function that returns a `Date` object of the first decade in a century.\n *\n * @param date - The start date value.\n * @returns - The first year in a century.\n *\n * @example\n * ```ts-no-run\n * firstDecadeOfCentury(new Date(2017, 0, 1)); // 2000-1-1\n * firstDecadeOfCentury(new Date(2007, 10, 22)); // 2000-11-22\n * firstDecadeOfCentury(new Date(2126, 0, 1)); // 2100-1-1\n * ```\n */\nexport var firstDecadeOfCentury = function (value) { return (normalizeYear(value, function (y) { return y - (y % 100); })); };\n","import { normalizeYear } from './normalize-year';\n/**\n * A function that returns a `Date` object of the last decade in a century.\n *\n * @param date - The start date value.\n * @returns - The last year in a decade.\n *\n * @example\n * ```ts-no-run\n * lastDecadeOfCentury(new Date(2017, 0, 1)); // 2090-1-1\n * lastDecadeOfCentury(new Date(2007, 10, 22)); // 2090-11-22\n * lastDecadeOfCentury(new Date(2126, 0, 1)); // 2190-1-1\n * ```\n */\nexport var lastDecadeOfCentury = function (value) { return (normalizeYear(value, function (y) { return y - (y % 100) + 90; })); };\n","import { normalizeYear } from './normalize-year';\n/**\n * A function that returns a `Date` object of the first year in a decade.\n *\n * @param date - The start date value.\n * @returns - The first year in a decade.\n *\n * @example\n * ```ts-no-run\n * firstYearOfDecade(new Date(2017, 0, 1)); // 2010-1-1\n * firstYearOfDecade(new Date(2007, 10, 22)); // 2000-11-22\n * firstYearOfDecade(new Date(2026, 0, 1)); // 2020-1-1\n * ```\n */\nexport var firstYearOfDecade = function (value) { return (normalizeYear(value, function (y) { return y - (y % 10); })); };\n","import { firstDecadeOfCentury } from './first-decade-of-century';\n/**\n * A function that calculates duration in centuries between two `Date` objects.\n *\n * @param start - The start date value.\n * @param end - The end date value.\n * @returns - The duration in months.\n *\n * @example\n * ```ts-no-run\n * durationInCenturies(new Date(2016, 0, 1), new Date(3216, 0, 1)); // 12\n * durationInCenturies(new Date(2016, 6, 1), new Date(2617, 0, 1)); // 6\n * durationInCenturies(new Date(2016, 0, 1), new Date(2016, 0, 1)); // 0\n * ```\n */\nexport var durationInCenturies = function (start, end) { return ((firstDecadeOfCentury(end).getFullYear() - firstDecadeOfCentury(start).getFullYear()) / 100); };\n","import { normalizeYear } from './normalize-year';\n/**\n * A function that returns a `Date` object of the last year in a decade.\n *\n * @param date - The start date value.\n * @returns - The last year in a decade.\n *\n * @example\n * ```ts-no-run\n * lastYearOfDecade(new Date(2017, 0, 1)); // 2019-1-1\n * lastYearOfDecade(new Date(2007, 10, 22)); // 2009-11-22\n * lastYearOfDecade(new Date(2026, 0, 1)); // 2029-1-1\n * ```\n */\nexport var lastYearOfDecade = function (value) { return (normalizeYear(value, function (y) { return y - (y % 10) + 9; })); };\n","import { firstYearOfDecade } from './first-year-of-decade';\n/**\n * A function that calculates duration in decades between two `Date` objects.\n *\n * @param start - The start date value.\n * @param end - The end date value.\n * @returns - The duration in months.\n *\n * @example\n * ```ts-no-run\n * durationInDecades(new Date(2016, 0, 1), new Date(2136, 0, 1)); // 12\n * durationInDecades(new Date(2016, 0, 1), new Date(2016, 0, 1)); // 0\n * ```\n */\nexport var durationInDecades = function (start, end) { return ((firstYearOfDecade(end).getFullYear() - firstYearOfDecade(start).getFullYear()) / 10); };\n","import { addDays } from './add-days';\n/**\n * A function that adds and subtracts weeks from a Date object.\n *\n * @param date - The initial date value.\n * @param offset - The number of weeks to add/subtract from the date.\n * @returns - A new `Date` instance.\n *\n * @example\n * ```ts-no-run\n * addWeeks(new Date(2016, 5, 1), 3); // 2016-6-22\n * addWeeks(new Date(2016, 5, 1), -3); // 2015-5-11\n * ```\n */\nexport var addWeeks = function (date, offset) {\n return addDays(date, offset * 7);\n};\n","import { createDate } from './create-date';\n/**\n * A function which returns the first date of the month.\n *\n * @param date - The initial date.\n * @returns - The first date of the initial date month.\n *\n * @example\n * ```ts-no-run\n * firstDayOfMonth(new Date(2016, 0, 15)); // 2016-01-01\n * ```\n */\nexport var firstDayOfMonth = function (date) {\n return createDate(date.getFullYear(), date.getMonth(), 1, date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n};\n","/**\n * A function that calculates duration in months between two `Date` objects.\n *\n * @param start - The start date value.\n * @param end - The end date value.\n * @returns - The duration in months.\n *\n * @example\n * ```ts-no-run\n * durationInMonths(new Date(2016, 0, 1), new Date(2017, 0, 1)); // 12\n * durationInMonths(new Date(2016, 6, 1), new Date(2017, 0, 1)); // 6\n * durationInMonths(new Date(2016, 0, 1), new Date(2016, 0, 1)); // 0\n * ```\n */\nexport var durationInMonths = function (start, end) { return (((end.getFullYear() - start.getFullYear())) * 12 + (end.getMonth() - start.getMonth())); };\n","import { addMonths } from './add-months';\nimport { createDate } from './create-date';\nimport { lastDayOfMonth } from './last-day-of-month';\n/**\n * @hidden\n */\nexport var setMonth = function (value, month) {\n var day = value.getDate();\n var candidate = createDate(value.getFullYear(), month, day, value.getHours(), value.getMinutes(), value.getSeconds(), value.getMilliseconds());\n return candidate.getDate() === day ? candidate : lastDayOfMonth(addMonths(candidate, -1));\n};\n","import { setMonth } from './set-month';\n/**\n * A function that returns a `Date` object of the first month in a year.\n *\n * @param date - The start date value.\n * @returns - The first month in a year.\n *\n * @example\n * ```ts-no-run\n * firstMonthOfYear(new Date(2017, 11, 1)); // 2017-1-1\n * firstMonthOfYear(new Date(2017, 0, 1)); // 2017-1-1\n * ```\n */\nexport var firstMonthOfYear = function (value) { return setMonth(value, 0); };\n","import { setMonth } from './set-month';\n/**\n * A function that returns a `Date` object of the last month in a year.\n *\n * @param date - The start date value.\n * @returns - The last month in a year.\n *\n * @example\n * ```ts-no-run\n * lastMonthOfYear(new Date(2017, 5, 3)); // 2017-12-3\n * lastMonthOfYear(new Date(2017, 11, 3)); // 2017-12-3\n * ```\n */\nexport var lastMonthOfYear = function (value) { return setMonth(value, 11); };\n","/**\n * A function that calculates duration in years between two `Date` objects.\n *\n * @param start - The start date value.\n * @param end - The end date value.\n * @returns - The duration in years.\n *\n * @example\n * ```ts-no-run\n * durationInYears(new Date(2016, 0, 1), new Date(2028, 0, 1)); // 12\n * durationInYears(new Date(2016, 0, 1), new Date(2022, 0, 1)); // 6\n * durationInYears(new Date(2016, 0, 1), new Date(2016, 0, 1)); // 0\n * ```\n */\nexport var durationInYears = function (start, end) { return (end.getFullYear() - start.getFullYear()); };\n","import { CalendarViewEnum } from '../models/CalendarViewEnum';\nimport { domContainerFactory as containerFactory } from '../../utils';\nimport { canUseDOM } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar DOMService = /** @class */ (function () {\n function DOMService() {\n this.didCalculate = false;\n }\n DOMService.prototype.ensureHeights = function () {\n if (this.calendarHeight !== undefined) {\n return;\n }\n this.calculateHeights();\n };\n DOMService.prototype.calculateHeights = function (container) {\n var _this = this;\n if (!canUseDOM) {\n return;\n }\n var div = containerFactory('div');\n var ul = containerFactory('ul');\n var li = containerFactory('li');\n var td = containerFactory('td');\n var th = containerFactory('th');\n var tr = containerFactory('tr');\n var tbody = containerFactory('tbody');\n var thead = containerFactory('thead');\n var table = containerFactory('table');\n var monthHeader = function () { return (div(\"\\n March 2017\\n TODAY\\n \", 'k-calendar-header')); };\n var monthWeekHeader = function () { return (table([\n thead([\n tr([th('MO')])\n ])\n ], 'k-calendar-weekdays')); };\n var repeat = function (count, mapper) { return new Array(count).fill('1').map(mapper); };\n var content = function (rows, cells) {\n if (cells === void 0) { cells = 1; }\n return (table([\n tbody([tr([th('1')])].concat(repeat(rows, function () { return tr(repeat(cells, function (c) { return td(\"\".concat(c, \"\")); })); })))\n ]));\n };\n var scrollable = function (children) { return div(children, 'k-content k-scrollable'); };\n var view = function (contentElement, className, renderWeekHeader) { return (div(renderWeekHeader\n ? [\n monthHeader(),\n monthWeekHeader(),\n scrollable([contentElement, contentElement])\n ]\n : [\n monthHeader(),\n scrollable([contentElement, contentElement])\n ], className, { left: '-10000px', position: 'absolute' })); };\n var navigationList = (function () {\n var navElement;\n return function () {\n if (!canUseDOM) {\n return null;\n }\n if (!navElement) {\n navElement = div([scrollable([ul([li('FEB')])])], 'k-calendar-navigation', { left: '0px', position: 'absolute' });\n }\n return navElement;\n };\n })();\n var viewFactory = function (_a, className, renderWeekHeader) {\n var cells = _a.cells, rows = _a.rows;\n var viewElement;\n return function () {\n if (!canUseDOM) {\n return null;\n }\n if (!viewElement) {\n viewElement = view(content(rows, cells), className, renderWeekHeader);\n }\n return viewElement;\n };\n };\n var getScrollable = function (element) { return element.querySelector('.k-scrollable'); };\n var horizontal = function (element) {\n var scrollableElement = getScrollable(element);\n scrollableElement.className = \"\".concat(scrollableElement.className, \" k-scrollable-horizontal\");\n return element;\n };\n var monthView = viewFactory({ cells: 7, rows: 6 }, 'k-calendar-view k-calendar-monthview', true);\n var yearView = viewFactory({ cells: 5, rows: 3 }, 'k-calendar-view k-calendar-yearview', false);\n var decadeView = viewFactory({ cells: 5, rows: 2 }, 'k-calendar-view k-calendar-decadeview', false);\n var horzMonthView = function () { return horizontal(monthView()); };\n var horzYearView = function () { return horizontal(yearView()); };\n var horzDecadeView = function () { return horizontal(decadeView()); };\n var height = function (element) { return (parseFloat(window.getComputedStyle(element).height) || element.offsetHeight); };\n var width = function (element) {\n var styles = window.getComputedStyle(element);\n var computed = parseFloat(styles.width)\n + parseFloat(styles.paddingLeft)\n + parseFloat(styles.paddingRight);\n return computed || element.offsetWidth;\n };\n var getBody = function (element) { return element.querySelector('tbody'); };\n this.didCalculate = true;\n if (container) {\n this.hostContainer = container;\n }\n this.batch(monthView(), function (contentElement) {\n var viewElement = getBody(contentElement);\n _this.calendarHeight = height(contentElement);\n _this.monthViewHeight = height(viewElement);\n _this.headerHeight = height(viewElement.children[0]);\n _this.scrollableContentHeight = height(getScrollable(contentElement));\n });\n this.batch(horzMonthView(), function (contentElement) {\n var viewElement = getBody(contentElement);\n _this.calendarWidth = width(contentElement);\n _this.monthViewWidth = width(viewElement);\n _this.scrollableContentWidth = width(getScrollable(contentElement));\n });\n this.batch(yearView(), function (contentElement) {\n _this.yearViewHeight = height(getBody(contentElement));\n _this.scrollableYearContentHeight = height(getScrollable(contentElement));\n });\n this.batch(horzYearView(), function (contentElement) {\n _this.yearViewWidth = width(getBody(contentElement));\n });\n this.batch(decadeView(), function (contentElement) {\n _this.decadeViewHeight = height(getBody(contentElement));\n _this.centuryViewHeight = _this.decadeViewHeight;\n });\n this.batch(horzDecadeView(), function (contentElement) {\n _this.decadeViewWidth = width(getBody(contentElement));\n _this.centuryViewWidth = _this.decadeViewWidth;\n });\n this.batch(navigationList(), function (contentElement) {\n _this.navigationItemHeight = height(contentElement.querySelector('li'));\n });\n };\n DOMService.prototype.viewHeight = function (viewType) {\n return this.viewDimension(viewType, 'height');\n };\n DOMService.prototype.viewWidth = function (viewType) {\n return this.viewDimension(viewType, 'width');\n };\n DOMService.prototype.viewDimension = function (viewType, dimension) {\n var viewProp = dimension === 'height' ? 'ViewHeight' : 'ViewWidth';\n switch (viewType) {\n case CalendarViewEnum.month:\n return this[\"month\".concat(viewProp)];\n case CalendarViewEnum.year:\n return this[\"year\".concat(viewProp)];\n case CalendarViewEnum.decade:\n return this[\"decade\".concat(viewProp)];\n case CalendarViewEnum.century:\n return this[\"century\".concat(viewProp)];\n default:\n return 1;\n }\n };\n DOMService.prototype.batch = function (contentElement, action) {\n var hostContainer = this.hostContainer || document.body;\n var appendedContent = hostContainer.appendChild(contentElement);\n action(appendedContent);\n hostContainer.removeChild(appendedContent);\n };\n return DOMService;\n}());\nexport { DOMService };\n","import { Action } from '../models/NavigationAction';\nvar KEY_TO_ACTION = {\n '33': Action.PrevView,\n '34': Action.NextView,\n '35': Action.LastInView,\n '36': Action.FirstInView,\n '37': Action.Left,\n '38': Action.Up,\n '39': Action.Right,\n '40': Action.Down,\n 'meta+38': Action.UpperView,\n 'meta+40': Action.LowerView,\n 'meta+37': Action.PrevView,\n 'meta+39': Action.NextView\n};\n/**\n * @hidden\n */\nvar NavigationService = /** @class */ (function () {\n function NavigationService(bus) {\n this.bus = bus;\n }\n NavigationService.prototype.action = function (event) {\n var action = \"\".concat(event.ctrlKey || event.metaKey ? 'meta+' : '').concat(event.keyCode);\n return KEY_TO_ACTION[action];\n };\n NavigationService.prototype.move = function (value, action, activeView, service, event) {\n if (!service) {\n return value;\n }\n if (action === Action.UpperView && this.bus.canMoveUp(activeView)) {\n this.bus.moveUp(activeView, event);\n return value;\n }\n if (action === Action.LowerView && this.bus.canMoveDown(activeView)) {\n this.bus.moveDown(activeView, event);\n return value;\n }\n return service.move(value, action);\n };\n return NavigationService;\n}());\nexport { NavigationService };\n","import { shiftWeekNames } from '../../utils';\n/**\n * @hidden\n */\nvar WeekNamesService = /** @class */ (function () {\n function WeekNamesService(intl) {\n this.intl = intl;\n }\n WeekNamesService.prototype.getWeekNames = function (includeWeekNumber) {\n if (includeWeekNumber === void 0) { includeWeekNumber = false; }\n var weekNames = shiftWeekNames(this.intl.dateFormatNames({ nameType: 'short', type: 'days' }), this.intl.firstDay());\n return includeWeekNumber ? [''].concat(weekNames) : weekNames;\n };\n return WeekNamesService;\n}());\nexport { WeekNamesService };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar inject = allVue.inject;\nimport { weekInYear, cloneDate } from '@progress/kendo-date-math';\nimport { provideIntlService } from '@progress/kendo-vue-intl';\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport { CalendarCell } from './CalendarCell';\nimport { CalendarWeekCell } from './CalendarWeekCell';\nimport { CalendarViewEnum } from '../models/main';\nimport { setTime, getToday } from '../../utils';\nimport { WeekNamesService } from '../services/main';\n/**\n * @hidden\n */\nvar ViewVue2 = {\n name: 'KendoView',\n inject: {\n kendoIntlService: {\n default: null\n }\n },\n props: {\n activeRangeEnd: {\n type: String\n },\n activeView: {\n type: Number,\n required: true\n },\n cell: [String, Function, Object],\n cellUID: {\n type: String,\n required: true\n },\n direction: {\n type: String,\n default: 'vertical'\n },\n isActive: {\n type: Boolean,\n default: undefined\n },\n focusedDate: {\n type: Date,\n required: true\n },\n max: {\n type: Date,\n required: true\n },\n min: {\n type: Date,\n required: true\n },\n selectedDate: {\n type: [Date, Array, Object],\n default: function _default() {\n return getToday();\n }\n },\n selectionRange: Object,\n showWeekNumbers: {\n type: Boolean,\n default: false\n },\n viewDate: {\n type: Date,\n required: true\n },\n weekCell: [String, Function, Object],\n bus: Object,\n service: Object\n },\n computed: {\n isHorizontal: {\n get: function get() {\n return this.$props.direction === 'horizontal';\n }\n },\n isMonthView: {\n get: function get() {\n return this.$props.activeView === CalendarViewEnum.month;\n }\n },\n weekNumber: {\n get: function get() {\n return Boolean(this.$props.showWeekNumbers && this.$props.activeView === CalendarViewEnum.month);\n }\n }\n },\n methods: {\n getWeekNumber: function getWeekNumber(date) {\n if (!this.weekNumber) {\n return null;\n }\n return weekInYear(date, this._intl.firstDay());\n },\n firstDate: function firstDate(row) {\n var cell = this.firstWeekDateContext(row);\n return cell ? cell.value : null;\n },\n firstWeekDateContext: function firstWeekDateContext(rowCtx) {\n if (!this.weekNumber) {\n return null;\n }\n var idx = 0;\n var ctx = rowCtx[idx];\n while (!ctx && idx < rowCtx.length) {\n ctx = rowCtx[++idx];\n }\n return ctx;\n },\n handleClick: function handleClick(value, event) {\n var args = {\n value: cloneDate(value),\n target: this,\n event: event\n };\n this.$emit('change', args);\n },\n handleWeekCellClick: function handleWeekCellClick(value, event) {\n var args = {\n value: value,\n event: event\n };\n this.$emit('weekcellclick', args);\n },\n handleMouseDown: function handleMouseDown(value, event) {\n var args = {\n value: cloneDate(value),\n target: this,\n event: event\n };\n this.$emit('viewmousedown', args);\n },\n handleMouseEnter: function handleMouseEnter(value) {\n this.$emit('cellenter', cloneDate(value));\n },\n handleMouseLeave: function handleMouseLeave(value) {\n this.$emit('cellleave', cloneDate(value));\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoIntlService = inject('kendoIntlService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n this._intl = provideIntlService(this);\n this._weekService = new WeekNamesService(this._intl);\n // tslint:disable-next-line jsx-use-translation-function\n var emptyCell = function emptyCell(idx) {\n return h(\"td\", {\n key: idx\n });\n };\n // const weekNames = this._weekService.getWeekNames(this.weekNumber);\n // const colSpan = this.$props.service.rowLength(this.weekNumber);\n // const title = this.$props.service.title(this.$props.viewDate);\n var time = getToday();\n var focusedDate = this.$props.isActive ? this.$props.focusedDate : null;\n var viewDate = setTime(this.$props.viewDate, time);\n var currentData = this.$props.service.data({\n cellUID: this.$props.cellUID,\n min: this.$props.min,\n max: this.$props.max,\n focusedDate: focusedDate,\n isActiveView: !this.$props.bus.canMoveDown(this.$props.activeView),\n selectedDate: this.$props.selectedDate,\n selectionRange: this.$props.selectionRange,\n viewDate: viewDate\n });\n var buildWeekNumber = function buildWeekNumber(row, idx) {\n var firstDayOfWeek = this.firstDate(row);\n if (!firstDayOfWeek) {\n return emptyCell(\"week-cell-\".concat(idx));\n }\n var weekCellValue = this.getWeekNumber(this.firstDate(row));\n var uniqueID = \"kendo-vue-calendar-week-cell-\".concat(weekCellValue);\n var cellDefaultRendering =\n // @ts-ignore function children\n h(CalendarWeekCell, {\n \"class\": 'k-calendar-td k-alt',\n value: weekCellValue,\n attrs: this.v3 ? undefined : {\n value: weekCellValue\n },\n onClick: this.handleWeekCellClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleWeekCellClick\n },\n key: uniqueID\n }, this.v3 ? function () {\n return [weekCellValue];\n } : [weekCellValue]);\n return getTemplate.call(this, {\n h: h,\n template: this.$props.weekCell,\n defaultRendering: cellDefaultRendering,\n defaultSlots: weekCellValue,\n additionalListeners: {\n click: this.handleWeekCellClick\n },\n additionalProps: {\n value: weekCellValue,\n key: uniqueID\n }\n });\n };\n var buildRow = function buildRow(row) {\n return row.map(function (cell, idx) {\n if (!cell) {\n return emptyCell(idx);\n }\n var uniqueID = \"kendo-vue-calendar-cell-\".concat(cell.value.getTime());\n var cellDefaultRendering =\n // @ts-ignore function children\n h(CalendarCell, {\n \"aria-selected\": cell.isSelected,\n attrs: this.v3 ? undefined : {\n \"aria-selected\": cell.isSelected,\n formattedValue: cell.formattedValue,\n id: cell.id,\n isFocused: cell.isFocused,\n isSelected: cell.isSelected,\n isInRange: cell.isInRange,\n isWeekend: cell.isWeekend,\n isRangeStart: cell.isRangeStart,\n isRangeMid: cell.isRangeMid,\n isRangeEnd: cell.isRangeEnd,\n isRangeSplitStart: cell.isRangeSplitStart,\n isRangeSplitEnd: cell.isRangeSplitEnd,\n isToday: cell.isToday,\n title: cell.title,\n value: cell.value,\n isDisabled: !cell.isInRange,\n view: this.$props.activeView\n },\n formattedValue: cell.formattedValue,\n id: cell.id,\n isFocused: cell.isFocused,\n isSelected: cell.isSelected,\n isInRange: cell.isInRange,\n isWeekend: cell.isWeekend,\n isRangeStart: cell.isRangeStart,\n isRangeMid: cell.isRangeMid,\n isRangeEnd: cell.isRangeEnd,\n isRangeSplitStart: cell.isRangeSplitStart,\n isRangeSplitEnd: cell.isRangeSplitEnd,\n isToday: cell.isToday,\n title: cell.title,\n value: cell.value,\n isDisabled: !cell.isInRange,\n view: this.$props.activeView,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseenter\": this.handleMouseEnter,\n \"mouseleave\": this.handleMouseLeave\n },\n onMousedown: this.handleMouseDown,\n onMouseenter: this.handleMouseEnter,\n onMouseleave: this.handleMouseLeave,\n key: uniqueID\n }, this.v3 ? function () {\n return [cell.formattedValue];\n } : [cell.formattedValue]);\n return getTemplate.call(this, {\n h: h,\n template: this.$props.cell,\n defaultRendering: cellDefaultRendering,\n defaultSlots: cell.formattedValue,\n additionalListeners: {\n click: this.handleClick,\n mousedown: this.handleMouseDown,\n mouseenter: this.handleMouseEnter,\n mouseleave: this.handleMouseLeave\n },\n additionalProps: {\n formattedValue: cell.formattedValue,\n id: cell.id,\n isFocused: cell.isFocused,\n isSelected: cell.isSelected,\n isInRange: cell.isInRange,\n isWeekend: cell.isWeekend,\n isRangeStart: cell.isRangeStart,\n isRangeMid: cell.isRangeMid,\n isRangeEnd: cell.isRangeEnd,\n isRangeSplitStart: cell.isRangeSplitStart,\n isRangeSplitEnd: cell.isRangeSplitEnd,\n isToday: cell.isToday,\n title: cell.title,\n value: cell.value,\n isDisabled: !cell.isInRange,\n view: this.$props.activeView,\n key: uniqueID\n }\n });\n }, this);\n };\n return h(\"tbody\", {\n \"class\": 'k-calendar-tbody',\n role: 'rowgroup',\n attrs: this.v3 ? undefined : {\n role: 'rowgroup'\n }\n }, [currentData.map(function (row, idx) {\n return h(\"tr\", {\n \"class\": 'k-calendar-tr',\n role: \"row\",\n attrs: this.v3 ? undefined : {\n role: \"row\"\n },\n key: idx\n }, [this.weekNumber && buildWeekNumber.call(this, row, idx), buildRow.call(this, row)]);\n }, this)]);\n }\n};\n/**\n * @hidden\n */\nvar View = ViewVue2;\nexport { View, ViewVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar inject = allVue.inject;\nimport { cloneDate } from '@progress/kendo-date-math';\nimport { provideIntlService } from '@progress/kendo-vue-intl';\nvar DEFAULT_FETCH_MONTHS_COUNT = 1;\nimport { View } from './View';\nimport { shiftWeekNames } from '../../utils';\nimport { CalendarViewEnum } from '../models/main';\nimport { classNames } from '@progress/kendo-vue-common';\nvar VIEWS_COUNT = 5;\n/**\n * @hidden\n */\nvar ViewListVue2 = {\n name: 'KendoViewList',\n inheritAttrs: false,\n inject: {\n kendoIntlService: {\n default: null\n }\n },\n props: {\n allowReverse: Boolean,\n hasFocusedDate: Boolean,\n activeView: {\n type: Number,\n required: true\n },\n bottomOffset: {\n type: Number\n },\n cell: [String, Function, Object],\n cellUID: {\n type: String,\n required: true\n },\n dates: Array,\n focusedDate: {\n type: Date,\n required: true\n },\n isActive: {\n type: Boolean,\n default: undefined\n },\n max: {\n type: Date,\n required: true\n },\n min: {\n type: Date,\n required: true\n },\n selectionRange: Object,\n showWeekNumbers: {\n type: Boolean,\n default: false\n },\n take: {\n type: Number,\n default: VIEWS_COUNT\n },\n value: {\n type: [Date, Array, Object]\n },\n views: {\n type: Number,\n default: DEFAULT_FETCH_MONTHS_COUNT\n },\n viewHeight: Number,\n viewOffset: Number,\n bus: Object,\n dom: Object,\n weekCell: [String, Function, Object],\n service: Object\n },\n data: function data() {\n return {\n lastViewsCount: 0,\n valueHasUpdated: false\n };\n },\n computed: {\n weekNames: {\n get: function get() {\n this._intl = provideIntlService(this);\n var weekNames = shiftWeekNames(this._intl.dateFormatNames({\n nameType: 'short',\n type: 'days'\n }), this._intl.firstDay());\n return this.weekNumber ? [''].concat(weekNames) : weekNames;\n }\n },\n weekNumber: {\n get: function get() {\n return Boolean(this.$props.showWeekNumbers && this.$props.activeView === CalendarViewEnum.month);\n }\n }\n },\n created: function created() {\n this.lastView = this.$props.activeView;\n this.lastFocus = this.$props.focusedDate;\n this.shouldScroll = false;\n // this.$data.skip = this.$props.service.skip(this.$props.focusedDate, this.$props.min);\n // this.$data.index = this.$props.service.skip(this.$props.focusedDate, this.$props.min);\n },\n\n updated: function updated() {\n this.shouldScroll = false;\n this.lastView = this.$props.activeView;\n this.$data.lastViewsCount = this.$props.views;\n // this.lastFocus = this.$props.focusedDate;\n this.indexToScroll = undefined;\n },\n methods: {\n handleFocus: function handleFocus(event) {\n this.$emit('listfocus', event);\n },\n handleBlur: function handleBlur(event) {\n this.$emit('listblur', event);\n },\n handleKeyDown: function handleKeyDown(event) {\n this.$emit('listkeydown', event);\n },\n handleVirtualizationMount: function handleVirtualizationMount(_virtualization) {\n // this.virtualization = virtualization;\n // if (this.virtualization && this.table) {\n // this.table.style.transform = `translateY(${this.viewOffset}px)`;\n // const viewDate = dateInRange(this.$props.focusedDate, this.$props.min, this.$props.max);\n // const indexToScroll = this.$props.service.skip(viewDate, this.$props.min);\n // // this.virtualization.scrollToIndex(indexToScroll);\n // }\n },\n calculateHeights: function calculateHeights() {\n if (!this.$props.dom) {\n return;\n }\n var scrollableHeight = this.$props.activeView === CalendarViewEnum.month ? this.$props.dom.scrollableContentHeight : this.$props.dom.scrollableYearContentHeight;\n this._bottomOffset = scrollableHeight - this.$props.dom.viewHeight(this.$props.activeView);\n this._viewOffset = -1 * this.$props.dom.headerHeight;\n this._viewHeight = this.$props.dom.viewHeight(this.$props.activeView) || 1;\n },\n getTake: function getTake(skip, total) {\n return Math.min(total - skip, this.$props.take);\n },\n handleScrollAction: function handleScrollAction() {\n // const skip = pageAction ? pageAction.skip : this.$data.skip;\n // if (this.$data.index !== index || this.$data.skip !== skip) {\n // this.$data.index = skip;\n // }\n // if (this.table && scrollAction) {\n // const translate = `translateY(${scrollAction.offset}px)`;\n // this.table.style.transform = translate;\n // }\n },\n handleTodayClick: function handleTodayClick(event) {\n this.shouldScroll = true;\n this.handleDateChange(event, true);\n },\n handleMouseDown: function handleMouseDown(event) {\n var args = {\n event: event.event,\n value: cloneDate(event.value),\n target: this\n };\n this.$emit('listmousedown', args);\n },\n handleDateChange: function handleDateChange(event, isTodayClick) {\n if (isTodayClick === void 0) {\n isTodayClick = false;\n }\n var args = {\n event: event.event,\n value: cloneDate(event.value),\n target: this,\n isTodayClick: isTodayClick\n };\n this.$emit('change', args);\n },\n handleWeekCellClick: function handleWeekCellClick(event) {\n this.$emit('weekcellclick', event);\n },\n handleWeekNameClick: function handleWeekNameClick(event, value) {\n var args = {\n value: value,\n event: event\n };\n this.$emit('weeknameclick', args);\n },\n handleCellEnter: function handleCellEnter(event) {\n this.$emit('cellenter', event);\n },\n rotateSelectionRange: function rotateSelectionRange(selectionRange) {\n if (selectionRange.start === null || selectionRange.end === null) {\n return selectionRange;\n }\n var needRotate = selectionRange.end < selectionRange.start;\n return {\n start: needRotate ? selectionRange.end : selectionRange.start,\n end: needRotate ? selectionRange.start : selectionRange.end\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoIntlService = inject('kendoIntlService', {});\n return {\n v3: v3,\n kendoIntlService: kendoIntlService\n };\n },\n mounted: function mounted() {\n this._calendarView = this.$refs.calendarView;\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var selectionRange = this.$props.allowReverse ? this.rotateSelectionRange(this.$props.selectionRange) : this.$props.selectionRange;\n var rootClassNames = classNames('k-calendar-view', 'k-hstack k-align-items-start k-justify-content-center', {\n 'k-calendar-monthview': this.$props.activeView === CalendarViewEnum.month,\n 'k-calendar-yearview': this.$props.activeView === CalendarViewEnum.year,\n 'k-calendar-decadeview': this.$props.activeView === CalendarViewEnum.decade,\n 'k-calendar-centuryview': this.$props.activeView === CalendarViewEnum.century\n });\n var tableClassNames = classNames('k-calendar-table', {\n 'k-month': this.$props.activeView === CalendarViewEnum.month,\n 'k-year': this.$props.activeView === CalendarViewEnum.year,\n 'k-decade': this.$props.activeView === CalendarViewEnum.decade,\n 'k-century': this.$props.activeView === CalendarViewEnum.century\n });\n var buildMonthView = function buildMonthView(weekNames) {\n var that = this;\n return h(\"thead\", {\n \"class\": 'k-calendar-thead'\n }, [h(\"tr\", {\n \"class\": 'k-calendar-tr k-calendar-weekdays'\n }, [weekNames.map(function (name, idx) {\n return h(\"th\", {\n \"class\": 'k-calendar-caption',\n key: idx,\n onClick: function onClick(ev) {\n return that.handleWeekNameClick(ev, name);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(ev) {\n return that.handleWeekNameClick(ev, name);\n }\n }\n }, [name]);\n }, this)])]);\n };\n var buildDates = function buildDates() {\n var cellUID = this.$props.cellUID;\n return this.$props.dates.map(function (vDate) {\n return h(\"table\", {\n role: \"grid\",\n attrs: this.v3 ? undefined : {\n role: \"grid\",\n \"aria-label\": this.$props.service.title(this.$props.focusedDate),\n \"aria-live\": 'polite',\n \"aria-activedescendant\": cellUID + this.$props.focusedDate.getTime(),\n tabindex: this.$attrs.tabIndex\n },\n \"aria-label\": this.$props.service.title(this.$props.focusedDate),\n \"aria-live\": 'polite',\n \"aria-activedescendant\": cellUID + this.$props.focusedDate.getTime(),\n tabindex: this.$attrs.tabIndex,\n \"class\": tableClassNames,\n onKeydown: this.handleKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.handleKeyDown\n }\n }, [this.$props.activeView === CalendarViewEnum.month && buildMonthView.call(this, this.weekNames),\n // @ts-ignore function children\n h(View, {\n key: vDate.getTime(),\n activeView: this.$props.activeView,\n attrs: this.v3 ? undefined : {\n activeView: this.$props.activeView,\n viewDate: vDate,\n min: this.$props.min,\n max: this.$props.max,\n cellUID: cellUID,\n isActive: this.$props.isActive,\n focusedDate: this.$props.focusedDate,\n cell: this.$props.cell,\n selectionRange: selectionRange,\n selectedDate: this.$props.value,\n showWeekNumbers: this.weekNumber,\n bus: this.$props.bus,\n service: this.$props.service,\n weekCell: this.$props.weekCell\n },\n viewDate: vDate,\n min: this.$props.min,\n max: this.$props.max,\n cellUID: cellUID,\n isActive: this.$props.isActive,\n focusedDate: this.$props.focusedDate,\n cell: this.$props.cell,\n selectionRange: selectionRange,\n selectedDate: this.$props.value,\n showWeekNumbers: this.weekNumber,\n onChange: this.handleDateChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleDateChange,\n \"weekcellclick\": this.handleWeekCellClick,\n \"cellenter\": this.handleCellEnter,\n \"viewmousedown\": this.handleMouseDown\n },\n onWeekcellclick: this.handleWeekCellClick,\n onCellenter: this.handleCellEnter,\n onViewmousedown: this.handleMouseDown,\n bus: this.$props.bus,\n service: this.$props.service,\n weekCell: this.$props.weekCell\n })]);\n }, this);\n };\n return h(\"div\", {\n style: this.$attrs.style,\n \"class\": rootClassNames,\n onFocusin: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocus,\n \"focusout\": this.handleBlur\n },\n onFocusout: this.handleBlur\n }, [buildDates.call(this)]);\n }\n};\n/**\n * @hidden\n */\nvar ViewList = ViewListVue2;\nexport { ViewList, ViewListVue2 };","/**\n * @hidden\n */\nexport var MIDNIGHT_DATE = new Date(1980, 0, 1);\n/**\n * @hidden\n */\nexport var MIN_DATE = new Date(1900, 0, 1);\n/**\n * @hidden\n */\nexport var MAX_DATE = new Date(2099, 11, 31);\n/**\n * @hidden\n */\nexport var MIN_TIME = new Date(1980, 0, 1);\n/**\n * @hidden\n */\nexport var MAX_TIME = new Date(1980, 0, 1, 23, 59, 59);\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { Button as KButton } from '@progress/kendo-vue-buttons';\n/**\n * @hidden\n */\nvar CalendarHeaderTitleVue2 = {\n name: 'KendoHeaderTitle',\n // @ts-ignore\n emits: {\n 'click': null\n },\n props: {\n id: String,\n value: String,\n view: Number\n },\n methods: {\n handleClick: function handleClick(event) {\n this.$emit('click', event);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n /**\n * @return\n * Returns a `\n * \n * \n * \n *
\n * \n * ```\n *\n *\n * ### props [GridToolbarProps]({% slug api_grid_gridtoolbarprops %})\n */\nvar GridToolbar = GridToolbarVue2;\nexport { GridToolbar, GridToolbarVue2 };","import { Grid, GridVue2 } from './Grid';\nimport { GridColumnMenuSort, GridColumnMenuSortVue2, sortGroupByField } from './columnMenu/GridColumnMenuSort';\nimport { GridColumnMenuFilter, GridColumnMenuFilterVue2, filterGroupByField } from './columnMenu/GridColumnMenuFilter';\nimport { GridColumnMenuFilterUI, GridColumnMenuFilterUIVue2 } from './columnMenu/GridColumnMenuFilterUI';\nimport { GridColumnMenuFilterCell, GridColumnMenuFilterCellVue2 } from './columnMenu/GridColumnMenuFilterCell';\nimport { GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterVue2 } from './columnMenu/GridColumnMenuCheckboxFilter';\nimport { GridCell, GridCellVue2 } from './cells/GridCell';\nimport { GridEditCell, GridEditCellVue2 } from './cells/GridEditCell';\nimport { GridGroupCell, GridGroupCellVue2 } from './cells/GridGroupCell';\nimport { GridHierarchyCell, GridHierarchyCellVue2 } from './cells/GridHierarchyCell';\nimport { GridFilterCell, GridFilterCellVue2 } from './cells/GridFilterCell';\nimport { GridHeaderCell, GridHeaderCellVue2 } from './header/GridHeaderCell';\nimport { Footer, FooterVue2 } from './footer/Footer';\nimport { FooterRow, FooterRowVue2 } from './footer/FooterRow';\nimport { GridDetailRow, GridDetailRowVue2 } from './rows/GridDetailRow';\nimport { GridRow, GridRowVue2 } from './rows/GridRow';\nimport { GridToolbar, GridToolbarVue2 } from './GridToolbar';\nimport { GridNoRecords, GridNoRecordsVue2 } from './GridNoRecords';\nimport { GridColumnMenuItem, GridColumnMenuItemVue2 } from './columnMenu/GridColumnMenuItem';\nimport { GridColumnMenuItemContent, GridColumnMenuItemContentVue2 } from './columnMenu/GridColumnMenuItemContent';\nimport { GridColumnMenuItemGroup, GridColumnMenuItemGroupVue2 } from './columnMenu/GridColumnMenuItemGroup';\nexport * from './utils/main';\nexport * from './interfaces/events';\nexport { Grid, GridVue2, GridCell, GridCellVue2, GridEditCell, GridEditCellVue2, GridGroupCell, GridHierarchyCell, GridGroupCellVue2, GridHierarchyCellVue2, GridDetailRow, GridDetailRowVue2, GridRow, GridRowVue2, GridFilterCell, GridFilterCellVue2, GridHeaderCell, GridHeaderCellVue2, Footer, FooterRow, FooterVue2, FooterRowVue2, GridColumnMenuSort, GridColumnMenuSortVue2, sortGroupByField, GridColumnMenuFilter, GridColumnMenuFilterVue2, filterGroupByField, GridColumnMenuItem, GridColumnMenuItemVue2, GridColumnMenuItemContent, GridColumnMenuItemContentVue2, GridColumnMenuItemGroup, GridColumnMenuItemGroupVue2, GridColumnMenuFilterUI, GridColumnMenuFilterUIVue2, GridColumnMenuFilterCell, GridColumnMenuFilterCellVue2, GridColumnMenuCheckboxFilter, GridColumnMenuCheckboxFilterVue2, GridToolbar, GridToolbarVue2, GridNoRecords, GridNoRecordsVue2 };\n// Automatic installation if Vue has been added to the global scope.\nvar vue = 'Vue';\nif (typeof window !== 'undefined' && window[vue] && window[vue].component) {\n window[vue].component('kendo-grid', Grid);\n window[vue].component('kendo-grid-toolbar', GridToolbar);\n window[vue].component('kendo-grid-norecords', GridNoRecords);\n}\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-inputs',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052328,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","/**\n * @hidden\n */\nexport var isPresent = function (value) { return value !== null && value !== undefined; };\n/**\n * @hidden\n *\n * Fits the contender number into the specified bounds.\n * If the number is NaN or null, the minimum is returned.\n *\n * @param contender Represents the number you want to fit into the specified bounds.\n * @param min The inclusive lower bound number.\n * @param max The inclusive upper bound number.\n */\nexport var fitIntoBounds = function (contender, min, max) {\n if (!isPresent(contender) || isNaN(contender)) {\n return min;\n }\n return contender <= min ? min : contender >= max ? max : contender;\n};\n","import { parseColor as parse, Color } from '@progress/kendo-drawing';\nimport { isPresent, fitIntoBounds } from './misc';\n/**\n * @hidden\n *\n * Returns the hex or RGBA string representation of the color.\n */\nexport var parseColor = function (value, format, opacityEnabled, safe) {\n if (opacityEnabled === void 0) { opacityEnabled = false; }\n if (safe === void 0) { safe = true; }\n var allowedFormats = ['hex', 'rgba']; // TODO: constant?\n // Angular supports third type: name : const allowedFormats: Array = ['hex', 'rgba', 'name'];\n if (allowedFormats.indexOf(format) === -1) {\n throw new Error(\"Unsupported color output format '\".concat(format, \"'. The available options are 'hex' or 'rgba'.\"));\n }\n if (!isPresent(value)) {\n return;\n }\n var parsedColor = parse(value.trim(), safe);\n if (!isPresent(parsedColor)) {\n return;\n }\n return format === 'hex' ? getHexValue(parsedColor, opacityEnabled) : parsedColor.toCssRgba();\n};\n/**\n * @hidden\n *\n * Returns the HEX value.\n */\nexport var getHexValue = function (color, opacity) {\n return opacity && color.a < 1 ? color.toCss({ alpha: true }) : color.toCss();\n};\n/**\n * @hidden\n *\n * Returns an HSV object representation of the color string.\n */\nexport var getHSV = function (value, safe) {\n if (safe === void 0) { safe = true; }\n var parsed = parse(value, safe);\n if (!isPresent(parsed)) {\n return {};\n }\n return parsed.toHSV();\n};\n/**\n * @hidden\n *\n * Returns an RGBA object representation of the color string.\n */\nexport var getRGBA = function (value, safe) {\n if (safe === void 0) { safe = true; }\n var parsed = parse(value, safe);\n if (!isPresent(parsed)) {\n return {};\n }\n return parsed.toBytes();\n};\n/**\n * @hidden\n *\n * Returns the RGBA string representation of the color.\n */\nexport var getColorFromHSV = function (hsva) {\n var hue = fitIntoBounds(hsva.h, 0, 359.9);\n var saturation = fitIntoBounds(hsva.s, 0, 1);\n var value = fitIntoBounds(hsva.v, 0, 1);\n var alpha = fitIntoBounds(hsva.a, 0, 1);\n return Color.fromHSV(hue, saturation, value, alpha).toCssRgba();\n};\n/**\n * @hidden\n *\n * Returns the RGBA string representation of the color based on the `hue` and\n * assuming the `value`, `saturation`, and `alpha` have a value of `1`.\n */\nexport var getColorFromHue = function (hue) {\n return getColorFromHSV({ h: hue, s: 1, v: 1, a: 1 });\n};\n/**\n * @hidden\n *\n * Returns the RGBA string representation of the color.\n */\nexport var getColorFromRGBA = function (rgba) {\n var red = fitIntoBounds(rgba.r, 0, 255);\n var green = fitIntoBounds(rgba.g, 0, 255);\n var blue = fitIntoBounds(rgba.b, 0, 255);\n var alpha = fitIntoBounds(rgba.a, 0, 1);\n return Color.fromBytes(red, green, blue, alpha).toCssRgba();\n};\n/**\n * @hidden\n *\n * Returns the RGB object representation of the color based on the background color.\n */\nexport var getRGBFromRGBA = function (foregroundColor, backgroundColor) {\n var r1 = fitIntoBounds(foregroundColor.r, 0, 255);\n var g1 = fitIntoBounds(foregroundColor.g, 0, 255);\n var b1 = fitIntoBounds(foregroundColor.b, 0, 255);\n var a1 = fitIntoBounds(foregroundColor.a, 0, 1);\n var r2 = fitIntoBounds(backgroundColor.r, 0, 255);\n var g2 = fitIntoBounds(backgroundColor.g, 0, 255);\n var b2 = fitIntoBounds(backgroundColor.b, 0, 255);\n return {\n r: Math.round(((1 - a1) * r2) + (a1 * r1)),\n g: Math.round(((1 - a1) * g2) + (a1 * g1)),\n b: Math.round(((1 - a1) * b2) + (a1 * b1))\n };\n};\n/**\n * @hidden\n *\n * Returns the relative luminance.\n */\nexport var getLuminance = function (rgb) {\n // @ts-ignore\n var a = [rgb.r, rgb.g, rgb.b].map(function (v) {\n v /= 255;\n return v <= 0.03928\n ? v / 12.92\n : Math.pow((v + 0.055) / 1.055, 2.4);\n });\n // @ts-ignore\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\n};\n/**\n * @hidden\n *\n * Returns the color contrast.\n */\nexport var getContrast = function (luminance1, luminance2) {\n var brightest = Math.max(luminance1, luminance2);\n var darkest = Math.min(luminance1, luminance2);\n return (brightest + 0.05)\n / (darkest + 0.05);\n};\n/**\n * @hidden\n *\n * Returns the color contrast from two RGBA colors.\n */\nexport var getContrastFromTwoRGBAs = function (a, b) {\n return getContrast(getLuminance(getRGBFromRGBA(a, b)), getLuminance(getRGBFromRGBA(b, { r: 0, g: 0, b: 0, a: 1 })));\n};\n","import { isPresent } from './misc';\nimport { parseColor } from '@progress/kendo-drawing';\n/**\n * @hidden\n */\nvar ColorPaletteService = /** @class */ (function () {\n function ColorPaletteService() {\n this.colorRows = [];\n }\n ColorPaletteService.prototype.setColorMatrix = function (palette, columns) {\n this.colorRows = [];\n if (!(isPresent(palette) && palette.length)) {\n return;\n }\n columns = columns || palette.length;\n for (var start = 0; start < palette.length; start += columns) {\n var row = palette.slice(start, columns + start);\n this.colorRows.push(row);\n }\n };\n ColorPaletteService.prototype.isInColors = function (colors, current) {\n return colors.some(function (c) { return c === current; });\n };\n ColorPaletteService.prototype.getCellCoordsFor = function (color) {\n if (!isPresent(color)) {\n return;\n }\n var parsedColor = color ? parseColor(color, true) : color;\n var colors = [color];\n if (isPresent(parsedColor)) {\n colors.push(parsedColor.toCss(), parsedColor.toCssRgba());\n }\n for (var row = 0; row < this.colorRows.length; row++) {\n for (var col = 0; col < this.colorRows[row].length; col++) {\n if (this.isInColors(colors, this.colorRows[row][col])) {\n return { row: row, col: col };\n }\n }\n }\n };\n ColorPaletteService.prototype.getColorAt = function (cellCoords) {\n if (!(isPresent(cellCoords) && isPresent(this.colorRows[cellCoords.row]))) {\n return;\n }\n return this.colorRows[cellCoords.row][cellCoords.col];\n };\n ColorPaletteService.prototype.getNextCell = function (current, horizontalStep, verticalStep) {\n if (!(isPresent(current) && isPresent(current.row) && isPresent(current.col))) {\n return { row: 0, col: 0 };\n }\n var row = this.clampIndex(current.row + verticalStep, this.colorRows.length - 1);\n var col = this.clampIndex(current.col + horizontalStep, this.colorRows[row].length - 1);\n return { row: row, col: col };\n };\n ColorPaletteService.prototype.clampIndex = function (index, max) {\n var minArrayIndex = 0;\n if (index < minArrayIndex) {\n return minArrayIndex;\n }\n if (index > max) {\n return max;\n }\n return index;\n };\n return ColorPaletteService;\n}());\nexport { ColorPaletteService };\n","/* eslint-disable max-len */\n/**\n * @hidden\n */\nexport var PALETTEPRESETS = {\n basic: {\n colors: ['#000000', '#7f7f7f', '#880015', '#ed1c24', '#ff7f27', '#fff200', '#22b14c', '#00a2e8', '#3f48cc', '#a349a4', ' ffffff', '#c3c3c3', '#b97a57', '#ffaec9', '#ffc90e', '#efe4b0', '#b5e61d', '#99d9ea', '#7092be', '#c8bfe7'],\n columns: 10\n },\n office: {\n colors: ['#ffffff', '#000000', '#e6e6e6', '#435569', '#4371c4', '#ed7e32', '#a5a4a5', '#febf04', '#5a9bd5', '#71ae48', '#f2f2f3', '#7f7f7f', '#d1cece', '#d5dde3', '#dae1f4', '#fce5d4', '#deeded', '#fff2cc', '#deeaf6', '#e1efd9', '#d7d8d8', '#585959', '#aeabab', '#adbaca', '#b4c5e7', '#f6caac', '#dbdbdb', '#ffe498', '#bcd6ee', '#c5e0b2', '#bfbfc0', '#3f3f3f', '#767070', '#8595b1', '#8fabdb', '#f5b183', '#c9c8c9', '#fed965', '#9bc4e5', '#a8d08d', '#a5a5a6', '#262625', '#393939', '#334050', '#2e5496', '#c45a11', '#7b7b7a', '#bf9000', '#2f75b5', '#548235', '#7f7f7f', '#0b0c0c', '#161616', '#222a34', '#203764', '#843d0b', '#525252', '#7f6000', '#1d4d79', '#375623'],\n columns: 10\n },\n apex: {\n colors: ['#ffffff', '#000000', '#c9c2d1', '#69676d', '#ceb966', '#9cb084', '#6bb1c9', '#6585cf', '#7e6bc9', '#a379bb', '#f2f2f2', '#7f7f7f', '#f4f2f5', '#e0e0e2', '#f5f1e0', '#ebefe6', '#e1eff4', '#e0e6f5', '#e5e1f4', '#ece4f1', '#d8d8d8', '#595959', '#e9e6ec', '#c2c1c5', '#ebe3c1', '#d7dfcd', '#c3dfe9', '#c1ceeb', '#cbc3e9', '#dac9e3', '#bfbfbf', '#3f3f3f', '#dedae3', '#a4a3a8', '#e1d5a3', '#c3cfb5', '#a6d0de', '#a2b5e2', '#b1a6de', '#c7aed6', '#a5a5a5', '#262626', '#9688a5', '#4e4d51', '#ae9638', '#758c5a', '#3d8da9', '#365bb0', '#533da9', '#7d4d99', '#7f7f7f', '#0c0c0c', '#635672', '#343336', '#746425', '#4e5d3c', '#295e70', '#243c75', '#372970', '#533366'],\n columns: 10\n },\n austin: {\n colors: ['#ffffff', '#000000', '#caf278', '#3e3d2d', '#94c600', '#71685a', '#ff6700', '#909465', '#956b43', '#fea022', '#f2f2f2', '#7f7f7f', '#f4fce4', '#dddcd0', '#efffc0', '#e3e1dc', '#ffe0cb', '#e8e9df', '#ece1d6', '#feecd2', '#d8d8d8', '#595959', '#e9f9c9', '#bbb9a1', '#dfff82', '#c8c3ba', '#ffc299', '#d2d4c0', '#dac3ad', '#fed9a6', '#bfbfbf', '#3f3f3f', '#dff7ae', '#ada598', '#cfff43', '#ada598', '#ffa365', '#bcbfa1', '#c8a585', '#fec67a', '#a5a5a5', '#262626', '#a9ea25', '#2e2d21', '#6f9400', '#544e43', '#bf4d00', '#6c6f4b', '#6f5032', '#d77b00', '#7f7f7f', '#0c0c0c', '#74a50f', '#1f1e16', '#4a6300', '#38342d', '#7f3300', '#484a32', '#4a3521', '#8f5200'],\n columns: 10\n },\n clarity: {\n colors: ['#ffffff', '#292934', '#f3f2dc', '#d2533c', '#93a299', '#ad8f67', '#726056', '#4c5a6a', '#808da0', '#79463d', '#f2f2f2', '#e7e7ec', '#e7e5b9', '#f6dcd8', '#e9ecea', '#eee8e0', '#e4dedb', '#d8dde3', '#e5e8ec', '#e9d6d3', '#d8d8d8', '#c4c4d1', '#d5d185', '#edbab1', '#d3d9d6', '#ded2c2', '#c9beb8', '#b2bcc8', '#ccd1d9', '#d3aea7', '#bfbfbf', '#8a8aa3', '#aca73b', '#e4978a', '#bec7c1', '#cdbba3', '#af9e94', '#8c9bac', '#b2bac6', '#bd857c', '#a5a5a5', '#56566e', '#56531d', '#a43925', '#6b7c72', '#866b48', '#554840', '#39434f', '#5c697b', '#5a342d', '#7f7f7f', '#3b3b4b', '#22210b', '#6d2619', '#47534c', '#594730', '#39302b', '#262d35', '#3d4652', '#3c231e'],\n columns: 10\n },\n slipstream: {\n colors: ['#ffffff', '#000000', '#b4dcfa', '#212745', '#4e67c8', '#5eccf3', '#a7ea52', '#5dceaf', '#ff8021', '#f14124', '#f2f2f2', '#7f7f7f', '#8bc9f7', '#c7cce4', '#dbe0f4', '#def4fc', '#edfadc', '#def5ef', '#ffe5d2', '#fcd9d3', '#d8d8d8', '#595959', '#4facf3', '#909aca', '#b8c2e9', '#beeafa', '#dbf6b9', '#beebdf', '#ffcca6', '#f9b3a7', '#bfbfbf', '#3f3f3f', '#0d78c9', '#5967af', '#94a3de', '#9ee0f7', '#caf297', '#9de1cf', '#ffb279', '#f68d7b', '#a5a5a5', '#262626', '#063c64', '#181d33', '#31479f', '#11b2eb', '#81d319', '#34ac8b', '#d85c00', '#c3260c', '#7f7f7f', '#0c0c0c', '#021828', '#101322', '#202f6a', '#0b769c', '#568c11', '#22725c', '#903d00', '#821908'],\n columns: 10\n },\n metro: {\n colors: ['#ffffff', '#000000', '#d6ecff', '#4e5b6f', '#7fd13b', '#ea157a', '#feb80a', '#00addc', '#738ac8', '#1ab39f', '#f2f2f2', '#7f7f7f', '#a7d6ff', '#d9dde4', '#e5f5d7', '#fad0e4', '#fef0cd', '#c5f2ff', '#e2e7f4', '#c9f7f1', '#d8d8d8', '#595959', '#60b5ff', '#b3bcca', '#cbecb0', '#f6a1c9', '#fee29c', '#8be6ff', '#c7d0e9', '#94efe3', '#bfbfbf', '#3f3f3f', '#007dea', '#8d9baf', '#b2e389', '#f272af', '#fed46b', '#51d9ff', '#aab8de', '#5fe7d5', '#a5a5a5', '#262626', '#003e75', '#3a4453', '#5ea226', '#af0f5b', '#c58c00', '#0081a5', '#425ea9', '#138677', '#7f7f7f', '#0c0c0c', '#00192e', '#272d37', '#3f6c19', '#750a3d', '#835d00', '#00566e', '#2c3f71', '#0c594f'],\n columns: 10\n },\n flow: {\n colors: ['#ffffff', '#000000', '#dbf5f9', '#04617b', '#0f6fc6', '#009dd9', '#0bd0d9', '#10cf9b', '#7cca62', '#a5c249', '#f2f2f2', '#7f7f7f', '#b2e9f2', '#b4ecfc', '#c7e2fa', '#c4eeff', '#c9fafc', '#c9faed', '#e4f4df', '#edf2da', '#d8d8d8', '#595959', '#76d9e8', '#6adafa', '#90c6f6', '#89deff', '#93f5f9', '#94f6db', '#cae9c0', '#dbe6b6', '#bfbfbf', '#3f3f3f', '#21b2c8', '#20c8f7', '#59a9f2', '#4fceff', '#5df0f6', '#5ff2ca', '#b0dfa0', '#c9da91', '#a5a5a5', '#262626', '#105964', '#02485c', '#0b5394', '#0075a2', '#089ca2', '#0b9b74', '#54a838', '#7e9532', '#7f7f7f', '#0c0c0c', '#062328', '#01303d', '#073763', '#004e6c', '#05686c', '#07674d', '#387025', '#546321'],\n columns: 10\n },\n hardcover: {\n colors: ['#ffffff', '#000000', '#ece9c6', '#895d1d', '#873624', '#d6862d', '#d0be40', '#877f6c', '#972109', '#aeb795', '#f2f2f2', '#7f7f7f', '#e1dca5', '#f2e0c6', '#f0d0c9', '#f6e6d5', '#f5f2d8', '#e7e5e1', '#fbc7bc', '#eef0e9', '#d8d8d8', '#595959', '#d0c974', '#e6c28d', '#e2a293', '#eeceaa', '#ece5b2', '#cfccc3', '#f78f7a', '#dee2d4', '#bfbfbf', '#3f3f3f', '#a29a36', '#daa454', '#d4735e', '#e6b681', '#e2d88c', '#b7b2a5', '#f35838', '#ced3bf', '#a5a5a5', '#262626', '#514d1b', '#664515', '#65281a', '#a2641f', '#a39428', '#655f50', '#711806', '#879464', '#7f7f7f', '#0c0c0c', '#201e0a', '#442e0e', '#431b11', '#6c4315', '#6d621a', '#433f35', '#4b1004', '#5a6243'],\n columns: 10\n },\n trek: {\n colors: ['#ffffff', '#000000', '#fbeec9', '#4e3b30', '#f0a22e', '#a5644e', '#b58b80', '#c3986d', '#a19574', '#c17529', '#f2f2f2', '#7f7f7f', '#f7e09e', '#e1d6cf', '#fcecd5', '#eddfda', '#f0e7e5', '#f3eae1', '#ece9e3', '#f5e3d1', '#d8d8d8', '#595959', '#f3cc5f', '#c4ad9f', '#f9d9ab', '#dcc0b6', '#e1d0cc', '#e7d5c4', '#d9d4c7', '#ebc7a3', '#bfbfbf', '#3f3f3f', '#d29f0f', '#a78470', '#f6c781', '#cba092', '#d2b9b2', '#dbc1a7', '#c6bfab', '#e1ac76', '#a5a5a5', '#262626', '#694f07', '#3a2c24', '#c87d0e', '#7b4b3a', '#926255', '#a17242', '#7b7153', '#90571e', '#7f7f7f', '#0c0c0c', '#2a1f03', '#271d18', '#855309', '#523226', '#614138', '#6b4c2c', '#524b37', '#603a14'],\n columns: 10\n },\n verve: {\n colors: ['#ffffff', '#000000', '#d2d2d2', '#666666', '#ff388c', '#e40059', '#9c007f', '#68007f', '#005bd3', '#00349e', '#f2f2f2', '#7f7f7f', '#bdbdbd', '#e0e0e0', '#ffd7e8', '#ffc6dc', '#ffb8f1', '#f1b2ff', '#c3dcff', '#b8cfff', '#d8d8d8', '#595959', '#9d9d9d', '#c1c1c1', '#ffafd1', '#ff8eba', '#ff71e4', '#e365ff', '#87baff', '#72a0ff', '#bfbfbf', '#3f3f3f', '#696969', '#a3a3a3', '#ff87ba', '#ff5597', '#ff2ad7', '#d519ff', '#4b98ff', '#2b71ff', '#a5a5a5', '#262626', '#343434', '#4c4c4c', '#e90062', '#ab0042', '#75005f', '#4e005f', '#00449e', '#002676', '#7f7f7f', '#0c0c0c', '#151515', '#333333', '#9b0041', '#72002c', '#4e003f', '#34003f', '#002d69', '#00194f'],\n columns: 10\n },\n monochrome: {\n colors: ['#000000', '#1a1a1a', '#333333', '#4d4d4d', '#666666', '#808080', '#999999', '#b3b3b3', '#cccccc', '#e6e6e6', '#f2f2f2', '#ffffff'],\n columns: 12\n }\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { ColorPaletteService } from './utils/color-palette.service';\nimport { classNames, Keys, guid, getTabIndex, validatePackage, setRef, getRef } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { PALETTEPRESETS } from './models/palette-presets';\nimport { isPresent } from './utils/misc';\nimport { parseColor } from './utils/color-parser';\n/**\n * @hidden\n */\nexport var DEFAULT_TILE_SIZE = 24;\n/**\n * @hidden\n */\nexport var DEFAULT_COLUMNS_COUNT = 10;\n/**\n * @hidden\n */\nexport var DEFAULT_PRESET = 'office';\n/**\n * @hidden\n */\nvar ColorPaletteVue2 = {\n name: 'KendoColorPalette',\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'keydown': null,\n 'focus': null,\n 'blur': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'update:modelRgbaValue': null,\n 'change': null\n },\n props: {\n palette: {\n type: [String, Array],\n default: DEFAULT_PRESET\n },\n columns: Number,\n tileSize: {\n type: [Number, Object],\n default: DEFAULT_TILE_SIZE\n },\n modelValue: String,\n modelRgbaValue: String,\n defaultValue: String,\n value: String,\n disabled: Boolean,\n tabIndex: Number,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.guid = guid();\n },\n mounted: function mounted() {\n this.wrapper = getRef(this, 'wrapper');\n },\n updated: function updated() {\n this.wrapper = getRef(this, 'wrapper');\n },\n computed: {\n focusedColorCooridanates: function focusedColorCooridanates() {\n return this.focusedColor ? this.paletteService.getCellCoordsFor(this.focusedColor) : undefined;\n },\n isUncontrolled: function isUncontrolled() {\n return this.$props.value === undefined;\n },\n selectedColor: function selectedColor() {\n return this.$props.value !== undefined ? this.$props.value : this.modelValue !== undefined ? this.modelValue : this.modelRgbaValue !== undefined ? this.modelRgbaValue : this.currentValue !== undefined ? this.currentValue : this.$props.defaultValue;\n }\n },\n data: function data() {\n return {\n focusedColor: this.$props.value,\n currentValue: undefined\n };\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var paletteInfo = this.getPaletteInfo();\n var svc = this.paletteService = new ColorPaletteService();\n svc.setColorMatrix(paletteInfo.colors, paletteInfo.columns);\n var selectedCellCoords = svc.getCellCoordsFor(this.selectedColor);\n var focusedCellCoords = svc.getCellCoordsFor(this.focusedColor);\n var className = classNames('k-colorpalette', {\n 'k-disabled': this.$props.disabled\n });\n var renderColumns = function renderColumns(columns, rowIndex, cSelectedCellCoords, cFocusedCellCoords) {\n var rowIsSelected = cSelectedCellCoords !== undefined && cSelectedCellCoords.row === rowIndex;\n var selectedColumn = cSelectedCellCoords && cSelectedCellCoords.col;\n var rowIsFocused = cFocusedCellCoords !== undefined && cFocusedCellCoords.row === rowIndex;\n var focusedColumn = cFocusedCellCoords && cFocusedCellCoords.col;\n var tileSize = typeof this.$props.tileSize !== 'number' ? this.$props.tileSize : {\n width: this.$props.tileSize,\n height: this.$props.tileSize\n };\n var width = tileSize.width + 'px';\n var height = tileSize.height + 'px';\n return columns.map(function (color, i) {\n var _this = this;\n var isSelected = rowIsSelected && selectedColumn === i;\n var tdClassName = classNames('k-colorpalette-tile', {\n 'k-selected': isSelected,\n 'k-focus': rowIsFocused && focusedColumn === i\n });\n return h(\"td\", {\n \"class\": tdClassName,\n \"aria-label\": color,\n attrs: this.v3 ? undefined : {\n \"aria-label\": color,\n \"aria-selected\": isSelected ? true : this.$props.disabled ? undefined : false,\n id: this.createCellId({\n row: rowIndex,\n col: i\n }),\n role: 'gridcell'\n },\n \"aria-selected\": isSelected ? true : this.$props.disabled ? undefined : false,\n style: {\n backgroundColor: color,\n width: width,\n height: height,\n minWidth: width\n },\n onClick: function onClick(event) {\n return _this.onColorClick(color, event);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(event) {\n return _this.onColorClick(color, event);\n }\n },\n id: this.createCellId({\n row: rowIndex,\n col: i\n }),\n key: i,\n role: 'gridcell'\n });\n }, this);\n };\n var renderRows = function renderRows(rows, rSelectedCellCoords, rFocusedCellCoords) {\n return rows.map(function (row, i) {\n return h(\"tr\", {\n role: \"row\",\n attrs: this.v3 ? undefined : {\n role: \"row\"\n },\n key: i\n }, [renderColumns.call(this, row, i, rSelectedCellCoords, rFocusedCellCoords)]);\n }, this);\n };\n if (paletteInfo.colors.length) {\n return h(\"div\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined,\n \"aria-activedescendant\": focusedCellCoords && this.createCellId(focusedCellCoords),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n role: \"grid\",\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled)\n },\n \"class\": className,\n onFocusin: this.onFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.onFocus,\n \"focusout\": this.onBlur,\n \"keydown\": this.onKeyDown\n },\n onFocusout: this.onBlur,\n onKeydown: this.onKeyDown,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined,\n \"aria-activedescendant\": focusedCellCoords && this.createCellId(focusedCellCoords),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n role: \"grid\",\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled),\n ref: setRef(this, 'wrapper')\n }, [h(\"table\", {\n \"class\": \"k-colorpalette-table k-palette\",\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [h(\"tbody\", [renderRows.call(this, svc.colorRows, selectedCellCoords, focusedCellCoords)])])]);\n } else {\n // In this way, the code prevents an eventual focus of the component when no cells are available.\n // This is needed because upon focus the first cell gets focused.\n return '';\n }\n },\n methods: {\n focus: function focus() {\n if (this.wrapper) {\n this.wrapper.focus();\n }\n },\n onKeyDown: function onKeyDown(event) {\n switch (event.keyCode) {\n case Keys.down:\n this.handleCellNavigation(event, 0, 1);\n break;\n case Keys.up:\n this.handleCellNavigation(event, 0, -1);\n break;\n case Keys.right:\n this.handleCellNavigation(event, 1, 0);\n break;\n case Keys.left:\n this.handleCellNavigation(event, -1, 0);\n break;\n case Keys.enter:\n this.handleEnter(event);\n break;\n default:\n this.$emit('keydown', event);\n return;\n }\n this.$emit('keydown', event);\n },\n onColorClick: function onColorClick(color, event) {\n if (this.isUncontrolled) {\n this.currentValue = color;\n this.focusedColor = color;\n } else {\n this.focusedColor = color;\n }\n this.dispatchChangeEvent(color, event);\n },\n onFocus: function onFocus(event) {\n this.focusedColor = this.selectedColor || this.paletteService.colorRows[0][0];\n this.$emit('focus', {\n event: event,\n target: this\n });\n },\n onBlur: function onBlur(event) {\n this.focusedColor = undefined;\n this.$emit('blur', {\n event: event,\n target: this\n });\n },\n handleCellNavigation: function handleCellNavigation(event, horizontalStep, verticalStep) {\n event.preventDefault();\n if (this.focusedColorCooridanates) {\n var newCoords = this.paletteService.getNextCell(this.focusedColorCooridanates, horizontalStep, verticalStep);\n this.focusedColor = this.paletteService.getColorAt(newCoords);\n } else {\n this.focusedColor = this.paletteService.colorRows[0][0];\n }\n },\n handleEnter: function handleEnter(event) {\n if (this.isUncontrolled) {\n this.currentValue = this.focusedColor;\n }\n this.dispatchChangeEvent(this.focusedColor, event);\n },\n dispatchChangeEvent: function dispatchChangeEvent(value, event) {\n var rgbaValue = parseColor(value, 'rgba');\n this.$emit('changemodel', value);\n this.$emit('update:modelValue', value);\n this.$emit('update:modelRgbaValue', rgbaValue);\n this.$emit('change', {\n event: event,\n component: this,\n value: value,\n rgbaValue: rgbaValue\n });\n },\n getPaletteInfo: function getPaletteInfo() {\n if (typeof this.$props.palette === 'string') {\n var preset = PALETTEPRESETS[this.$props.palette];\n if (isPresent(preset)) {\n return {\n colors: preset.colors,\n columns: this.$props.columns || preset.columns || DEFAULT_COLUMNS_COUNT\n };\n } else {\n return {\n colors: [],\n columns: 0\n };\n }\n } else {\n return {\n colors: this.$props.palette || [],\n columns: this.$props.columns || DEFAULT_COLUMNS_COUNT\n };\n }\n },\n createCellId: function createCellId(cellCoords) {\n return \"\".concat(this.guid, \"_\").concat(cellCoords.row, \"_\").concat(cellCoords.col);\n }\n }\n};\n/**\n * @hidden\n */\nvar ColorPalette = ColorPaletteVue2;\nexport { ColorPalette, ColorPaletteVue2 };","import { DEFAULT_PRESET, DEFAULT_TILE_SIZE } from '../ColorPalette';\nvar cache = {};\n/**\n * @hidden\n */\nexport var DEFAULT_GRADIENT_SETTINGS = {\n opacity: true\n};\n/**\n * @hidden\n */\nexport var DEFAULT_PALETTE_SETTINGS = {\n palette: DEFAULT_PRESET,\n tileSize: DEFAULT_TILE_SIZE\n};\n/**\n * @hidden\n */\nexport function cacheHsva(componentGuid, value, hsva) {\n cache[componentGuid] = { value: value, hsva: hsva };\n}\n/**\n * @hidden\n */\nexport function cacheRgba(componentGuid, value, rgba) {\n cache[componentGuid] = { value: value, rgba: rgba };\n}\n/**\n * @hidden\n */\nexport function cacheHex(componentGuid, value, hex) {\n cache[componentGuid] = { value: value, hex: hex };\n}\n/**\n * @hidden\n */\nexport function removeCachedColor(componentGuid) {\n delete cache[componentGuid];\n}\n/**\n * @hidden\n */\nexport function getCachedHex(componentGuid, value) {\n if (componentGuid) {\n var cachedColor = cache[componentGuid];\n return cachedColor && cachedColor.value === value ? cachedColor.hex : undefined;\n }\n else {\n return undefined;\n }\n}\n/**\n * @hidden\n */\nexport function getCachedHsva(componentGuid, value) {\n if (componentGuid) {\n var cachedColor = cache[componentGuid];\n return cachedColor && cachedColor.value === value ? cachedColor.hsva : undefined;\n }\n else {\n return undefined;\n }\n}\n/**\n * @hidden\n */\nexport function getCachedRgba(componentGuid, value) {\n if (componentGuid) {\n var cachedColor = cache[componentGuid];\n return cachedColor && cachedColor.value === value ? cachedColor.rgba : undefined;\n }\n else {\n return undefined;\n }\n}\n","var _a;\n/**\n * @hidden\n */\nexport var numericIncreaseValue = 'numerictextbox.increment';\n/**\n * @hidden\n */\nexport var numericDecreaseValue = 'numerictextbox.decrement';\n/**\n * @hidden\n */\nexport var sliderIncreaseValue = 'slider.increment';\n/**\n * @hidden\n */\nexport var sliderDecreaseValue = 'slider.decrement';\n/**\n * @hidden\n */\nexport var sliderDragTitle = 'slider.dragTitle';\n/**\n * @hidden\n */\nexport var colorGradientDragHandle = 'colorGradient.dragHandle';\n/**\n * @hidden\n */\nexport var colorGradientR = 'colorGradient.r';\n/**\n * @hidden\n */\nexport var colorGradientG = 'colorGradient.g';\n/**\n * @hidden\n */\nexport var colorGradientB = 'colorGradient.b';\n/**\n * @hidden\n */\nexport var colorGradientA = 'colorGradient.a';\n/**\n * @hidden\n */\nexport var colorGradientHex = 'colorGradient.hex';\n/**\n * @hidden\n */\nexport var colorGradientHexLabel = 'colorGradient.hexLabel';\n/**\n * @hidden\n */\nexport var colorGradientInputColorButton = 'colorGradient.inputColorButton';\n/**\n * @hidden\n */\nexport var colorGradientRLabel = 'colorGradient.rLabel';\n/**\n * @hidden\n */\nexport var colorGradientGLabel = 'colorGradient.gLabel';\n/**\n * @hidden\n */\nexport var colorGradientBLabel = 'colorGradient.bLabel';\n/**\n * @hidden\n */\nexport var colorGradientALabel = 'colorGradient.aLabel';\n/**\n * @hidden\n */\nexport var colorGradientContrastRatio = 'colorGradient.contrastRatio';\n/**\n * @hidden\n */\nexport var colorGradientAALevel = 'colorGradient.colorGradientAALevel';\n/**\n * @hidden\n */\nexport var colorGradientAAALevel = 'colorGradient.colorGradientAAALevel';\n/**\n * @hidden\n */\nexport var colorGradientPass = 'colorGradient.colorGradientPass';\n/**\n * @hidden\n */\nexport var colorGradientFail = 'colorGradient.colorGradientFail';\n/**\n * @hidden\n */\nexport var colorGradientHueSliderLabel = 'colorGradient.hueSliderLabel';\n/**\n * @hidden\n */\nexport var colorGradientAlphaSliderLabel = 'colorGradient.alphaSliderLabel';\n/**\n * @hidden\n */\nexport var flatColorPickerCancelBtn = 'flatColorPicker.cancelBtn';\n/**\n * @hidden\n */\nexport var flatColorPickerApplyBtn = 'flatColorPicker.applyBtn';\n/**\n * @hidden\n */\nexport var flatColorPickerGradientBtn = 'flatColorPicker.gradientBtn';\n/**\n * @hidden\n */\nexport var flatColorPickerPaletteBtn = 'flatColorPicker.paletterBtn';\n/**\n * @hidden\n */\nexport var flatColorPickerClearBtn = 'flatColorPicker.clearBtn';\n/**\n * @hidden\n */\nexport var checkboxValidation = 'checkbox.validation';\n/**\n * @hidden\n */\nexport var checkboxOptionalText = 'checkbox.optionalText';\n/**\n * @hidden\n */\nexport var radioButtonValidation = 'radioButton.validation';\n/**\n * @hidden\n */\nexport var switchValidation = 'switch.validation';\n/**\n * @hidden\n */\nexport var colorPickerDropdownButtonAriaLabel = 'colorPicker.dropdownButtonAriaLabel';\n/**\n * @hidden\n */\nexport var colorGradientToggleInputsButton = 'colorGradient.toggleInputsButton';\n/**\n * @hidden\n */\nexport var ratingAriaLabel = 'rating.ariaLabel';\n/**\n * @hidden\n */\nexport var signatureClear = 'signature.clear';\n/**\n * @hidden\n */\nexport var signatureMaximize = 'signature.maximize';\n/**\n * @hidden\n */\nexport var signatureMinimize = 'signature.minimize';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[numericIncreaseValue] = 'Increase value',\n _a[numericDecreaseValue] = 'Decrease value',\n _a[sliderIncreaseValue] = 'Increase',\n _a[sliderDecreaseValue] = 'Decrease',\n _a[sliderDragTitle] = 'Drag',\n _a[colorGradientDragHandle] = \"Color well with two-dimensional slider for selecting\\n saturation and lightness. Selected color is\",\n _a[colorGradientInputColorButton] = 'Change the color input',\n _a[colorGradientR] = 'r',\n _a[colorGradientG] = 'g',\n _a[colorGradientB] = 'b',\n _a[colorGradientA] = 'a',\n _a[colorGradientRLabel] = 'red chanel',\n _a[colorGradientGLabel] = 'green chanel',\n _a[colorGradientBLabel] = 'blue chanel',\n _a[colorGradientALabel] = 'alpha chanel',\n _a[colorGradientHex] = 'hex',\n _a[colorGradientHexLabel] = 'HEX',\n _a[colorGradientContrastRatio] = 'Contrast ratio',\n _a[colorGradientAALevel] = 'AA',\n _a[colorGradientAAALevel] = 'AAA',\n _a[colorGradientPass] = 'Pass',\n _a[colorGradientFail] = 'Fail',\n _a[colorGradientHueSliderLabel] = 'Hue slider',\n _a[colorGradientAlphaSliderLabel] = 'Alpha slider',\n _a[colorGradientToggleInputsButton] = 'Toggle colorgradient inputs',\n _a[flatColorPickerCancelBtn] = 'Cancel',\n _a[flatColorPickerApplyBtn] = 'Apply',\n _a[flatColorPickerGradientBtn] = 'Gradient',\n _a[flatColorPickerPaletteBtn] = 'Palette',\n _a[flatColorPickerClearBtn] = 'Clear',\n _a[checkboxValidation] = 'Please check this box if you want to proceed!',\n _a[checkboxOptionalText] = '(Optional)',\n _a[radioButtonValidation] = 'Please select option if you want to proceed!',\n _a[switchValidation] = 'Please turn on if you want to proceed!',\n _a[colorPickerDropdownButtonAriaLabel] = 'Select',\n _a[ratingAriaLabel] = 'Rating',\n _a[signatureClear] = 'Clear',\n _a[signatureMaximize] = 'Maximize',\n _a[signatureMinimize] = 'Minimize',\n _a);\n","/**\n * @hidden\n */\nexport var ResultType;\n(function (ResultType) {\n ResultType[ResultType[\"Literal\"] = 0] = \"Literal\";\n ResultType[ResultType[\"Mask\"] = 1] = \"Mask\";\n ResultType[ResultType[\"Undefined\"] = 2] = \"Undefined\";\n})(ResultType || (ResultType = {}));\n/**\n * @hidden\n */\nvar Result = /** @class */ (function () {\n function Result(value, rest, type) {\n if (type === void 0) { type = ResultType.Undefined; }\n this.value = value;\n this.rest = rest;\n this.type = type;\n }\n // map :: Functor f => f a ~> (a -> b) -> f b\n Result.prototype.map = function (fn) {\n return new Result(fn(this.value), this.rest);\n };\n // chain :: Chain m => m a ~> (a -> m b) -> m b\n Result.prototype.chain = function (fn) {\n return fn(this.value, this.rest);\n };\n Result.prototype.fold = function (s, _ /*we don't need it*/) {\n return s(this.value, this.rest);\n };\n Result.prototype.concat = function (r) {\n return this.map(function (vs, _) { return r.chain(function (v, __) { return vs.concat([v]); }); });\n };\n Result.prototype.toString = function () {\n return \"Result({ value: '\".concat(this.value, \"', rest: \").concat(this.rest, \" })\");\n };\n return Result;\n}());\nexport { Result };\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { guid, templateDefinition, validatePackage, kendoThemeMaps, templateRendering, getListeners, getTemplate, Icon } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { FloatingLabel } from '@progress/kendo-vue-labels';\nimport { checkIcon, exclamationCircleIcon, xIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar InputVue2 = {\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'input': null,\n 'change': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'focus': null,\n 'blur': null,\n 'keyup': null,\n 'keydown': null,\n 'keypress': null\n },\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined\n },\n disabled: {\n type: Boolean,\n default: undefined\n },\n defaultValue: {\n type: [String, Number],\n default: ''\n },\n value: {\n type: [String, Number]\n },\n label: {\n type: String\n },\n placeholder: {\n type: String\n },\n required: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large', 'full'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'solid', 'flat', 'outline'].includes(value);\n }\n },\n dir: {\n type: String\n },\n id: String,\n valid: {\n type: Boolean,\n default: undefined\n },\n validate: {\n type: Boolean\n },\n validationMessage: {\n type: String\n },\n validityStyles: {\n type: Boolean,\n default: true\n },\n iconName: String,\n inputPrefix: templateDefinition,\n inputSuffix: templateDefinition,\n showValidationIcon: Boolean,\n showLoadingIcon: Boolean,\n showClearButton: Boolean,\n inputClass: String,\n wrapperClass: String,\n tabIndex: Number,\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n data: function data() {\n return {\n hasMounted: false,\n autofill: false,\n currentValue: '',\n valueDuringOnChange: '',\n focused: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this._input = undefined;\n this._inputId = guid();\n this.$data.valueDuringOnChange = undefined;\n this.$data.currentValue = this.$props.defaultValue;\n },\n mounted: function mounted() {\n this._input = this.v3 ? this.inputRef : this.$refs.input;\n this.wrapper = this.v3 ? this.wrapperRef : this.$refs.wrapper;\n this.$data.hasMounted = true;\n this.setValidity();\n },\n updated: function updated() {\n this.setValidity();\n this.updateValidClass();\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var isValid = !this.$props.validityStyles || this.validity().valid;\n var _a = this.$props,\n label = _a.label,\n id = _a.id,\n required = _a.required,\n iconName = _a.iconName,\n showValidationIcon = _a.showValidationIcon,\n showLoadingIcon = _a.showLoadingIcon,\n showClearButton = _a.showClearButton,\n tabIndex = _a.tabIndex,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy;\n var inputId = id || this._inputId;\n var textbox = h('input', __assign(__assign({\n domProps: this.v3 ? null : __assign(__assign({}, this.$attrs), {\n placeholder: this.$props.placeholder,\n id: inputId,\n required: required,\n disabled: this.$props.disabled,\n value: this.computedValue\n }),\n attrs: this.v3 ? undefined : __assign(__assign({}, this.$attrs), {\n tabindex: tabIndex\n })\n }, this.$attrs), {\n placeholder: this.$props.placeholder,\n id: inputId,\n tabindex: tabIndex,\n required: required,\n ariaLabelledby: ariaLabelledBy,\n ariaDescribedby: ariaDescribedBy,\n ariaDisabled: this.$props.disabled,\n disabled: this.$props.disabled,\n value: this.computedValue,\n class: this.inputInnerClass,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n on: this.v3 ? null : {\n change: this.handleChange,\n focus: this.emitFocus,\n blur: this.emitBlur,\n keydown: this.handleKeydown,\n keyup: this.handleKeyup,\n keypress: this.handleKeypress,\n input: this.handleInput,\n animationstart: this.handleAutoFill,\n animationend: this.handleAutoFillEnd\n },\n onKeydown: this.handleKeydown,\n onKeyup: this.handleKeyup,\n onKeypress: this.handleKeypress,\n onChange: this.handleChange,\n onFocus: this.emitFocus,\n onBlur: this.emitBlur,\n onInput: this.handleInput,\n onAnimationstart: this.handleAutoFill,\n onAnimationend: this.handleAutoFillEnd\n }));\n var inputPrefixTemplate = templateRendering.call(this, this.$props.inputPrefix, getListeners.call(this));\n var inputSuffixTemplate = templateRendering.call(this, this.$props.inputSuffix, getListeners.call(this));\n var inputPrefix = getTemplate.call(this, {\n h: h,\n template: inputPrefixTemplate,\n additionalProps: {\n value: this.computedValue,\n valid: isValid\n }\n });\n var inputSuffix = getTemplate.call(this, {\n h: h,\n template: inputSuffixTemplate,\n additionalProps: {\n value: this.computedValue,\n valid: isValid\n }\n });\n var inputWrapper = h(\"span\", {\n \"class\": this.inputWrapperClass(),\n ref: this.v3 ? function (el) {\n _this.wrapperRef = el;\n } : 'wrapper'\n }, [iconName && h(Icon, {\n name: iconName,\n attrs: this.v3 ? undefined : {\n name: iconName\n },\n \"class\": \"k-input-icon\"\n }), this.$props.inputPrefix && h(\"span\", {\n \"class\": \"k-input-prefix\"\n }, [inputPrefix]), textbox, this.$props.inputSuffix && h(\"span\", {\n \"class\": \"k-input-suffix\"\n }, [inputSuffix]), showValidationIcon && isValid && h(Icon, {\n name: 'check',\n attrs: this.v3 ? undefined : {\n name: 'check',\n icon: checkIcon\n },\n icon: checkIcon,\n \"class\": \"k-input-validation-icon\"\n }), showValidationIcon && !isValid && h(Icon, {\n name: 'exclamation-circle',\n attrs: this.v3 ? undefined : {\n name: 'exclamation-circle',\n icon: exclamationCircleIcon\n },\n icon: exclamationCircleIcon,\n \"class\": \"k-input-validation-icon\"\n }), showLoadingIcon && h(Icon, {\n name: 'loading',\n attrs: this.v3 ? undefined : {\n name: 'loading'\n },\n \"class\": 'k-input-loading-icon'\n }), showClearButton && this.computedValue && h(\"span\", {\n onClick: this.clearClick,\n on: this.v3 ? undefined : {\n \"click\": this.clearClick\n },\n \"class\": \"k-clear-value\"\n }, [h(Icon, {\n name: 'x',\n attrs: this.v3 ? undefined : {\n name: 'x',\n icon: xIcon\n },\n icon: xIcon\n })])]);\n return label ?\n // @ts-ignore function children\n h(FloatingLabel, {\n label: label,\n attrs: this.v3 ? undefined : {\n label: label,\n editorId: inputId,\n editorValue: this.computedValue,\n editorValid: isValid,\n editorDisabled: this.$props.disabled,\n editorPlaceholder: this.$data.focused ? this.$props.placeholder : '',\n dir: this.$props.dir\n },\n editorId: inputId,\n editorValue: this.computedValue,\n editorValid: isValid,\n editorDisabled: this.$props.disabled,\n editorPlaceholder: this.$data.focused ? this.$props.placeholder : '',\n dir: this.$props.dir\n }, this.v3 ? function () {\n return [inputWrapper];\n } : [inputWrapper]) : inputWrapper;\n },\n methods: {\n updateValidClass: function updateValidClass() {\n this.wrapper.classList.toggle('k-invalid', !this.validity().valid);\n },\n emitFocus: function emitFocus(e) {\n this.$emit('focus', e);\n this.$data.focused = true;\n },\n emitBlur: function emitBlur(e) {\n this.$emit('blur', e);\n this.$data.focused = false;\n },\n handleKeydown: function handleKeydown(e) {\n this.$emit('keydown', e);\n },\n handleKeyup: function handleKeyup(e) {\n this.$emit('keyup', e);\n },\n handleKeypress: function handleKeypress(e) {\n this.$emit('keypress', e);\n },\n clearClick: function clearClick(event) {\n this.emitUpdate(event, 'change', '');\n },\n focus: function focus() {\n if (this._input) {\n this._input.focus();\n }\n },\n validity: function validity() {\n var result = {\n badInput: this._input ? this._input.validity.badInput : false,\n patternMismatch: this._input ? this._input.validity.patternMismatch : false,\n rangeOverflow: this._input ? this._input.validity.rangeOverflow : false,\n rangeUnderflow: this._input ? this._input.validity.rangeUnderflow : false,\n stepMismatch: this._input ? this._input.validity.stepMismatch : false,\n tooLong: this._input ? this._input.validity.tooLong : false,\n tooShort: this._input ? this._input.validity.tooShort : false,\n typeMismatch: this._input ? this._input.validity.typeMismatch : false,\n valueMissing: this._input ? this._input.validity.valueMissing : false\n };\n return __assign(__assign({}, result), {\n customError: this.$props.validationMessage !== undefined,\n valid: this.$props.valid !== undefined ? this.$props.valid : this._input ? !this.isInvalid(result) : true\n });\n },\n isInvalid: function isInvalid(state) {\n var result = false;\n for (var prop in state) {\n if (state.hasOwnProperty(prop)) {\n result = result || state[prop];\n }\n }\n return result;\n },\n setValidity: function setValidity() {\n if (this._input && this._input.setCustomValidity) {\n this._input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || '');\n }\n },\n handleInput: function handleInput(event) {\n this.emitUpdate(event, 'input', event.target.value);\n },\n handleChange: function handleChange(event) {\n this.emitUpdate(event, 'change', event.target.value);\n },\n emitUpdate: function emitUpdate(event, eventName, value) {\n var that = this;\n if (this.disabled) {\n return;\n }\n this.$data.currentValue = value;\n this.$data.valueDuringOnChange = value;\n this.$nextTick(function () {\n that.$emit('changemodel', value);\n that.$emit('update:modelValue', value);\n that.$emit(eventName, {\n event: event,\n value: value,\n component: that,\n target: event.target,\n validity: that.validity()\n });\n that.$data.valueDuringOnChange = undefined;\n });\n },\n handleAutoFill: function handleAutoFill(e) {\n if (e.animationName === 'autoFillStart') {\n var parent_1 = e.target.parentNode;\n if (parent_1 && parent_1.classList.contains('k-empty')) {\n this.$data.autofill = true;\n parent_1.classList.remove('k-empty');\n }\n }\n },\n handleAutoFillEnd: function handleAutoFillEnd(e) {\n if (e.animationName === 'autoFillEnd') {\n var parent_2 = e.target.parentNode;\n if (parent_2) {\n this.$data.autofill = false;\n }\n }\n },\n name: function name() {\n return this.$props.name;\n },\n inputWrapperClass: function inputWrapperClass() {\n var _a;\n var _b = this.$props,\n size = _b.size,\n fillMode = _b.fillMode,\n rounded = _b.rounded;\n var isValid = !this.$data.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return _a = {\n 'k-textbox': true,\n 'k-input': true\n }, _a[\"k-input-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-input-\".concat(fillMode)] = fillMode, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-invalid'] = !isValid, _a['k-required'] = this.required, _a['k-disabled'] = this.$props.disabled, _a[this.wrapperClass] = this.wrapperClass, _a;\n }\n },\n computed: {\n spanClassNames: {\n get: function get() {\n var isValid = !this.$data.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-floating-label-container': true,\n 'k-focus': this.$data.focused,\n 'k-empty': !((this.computedValue === 0 ? true : this.computedValue) || this.$props.placeholder || this.$data.autofill),\n 'k-autofill': this.$data.autofill,\n 'k-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n },\n inputInnerClass: function inputInnerClass() {\n var _a;\n return _a = {\n 'k-input-inner': true\n }, _a[this.inputClass] = this.inputClass, _a;\n },\n computedValue: {\n get: function get() {\n return this.$data.valueDuringOnChange !== undefined ? this.$data.valueDuringOnChange : this.$props.value !== undefined ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.$data.currentValue;\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar Input = InputVue2;\nexport { Input, InputVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { parseColor } from './utils/color-parser';\nimport { isPresent } from './utils/misc';\nimport { Input as KInput } from '../input/Input';\n/**\n * @hidden\n */\nvar HexInputVue2 = {\n name: 'KendoHexInput',\n // @ts-ignore\n emits: {\n 'hexchange': null,\n 'blur': null,\n 'focus': null\n },\n props: {\n tabIndex: Number,\n hex: String,\n disabled: Boolean\n },\n computed: {\n isHexValid: function isHexValid() {\n return !!parseColor(this.currentHex, 'rgba');\n }\n },\n data: function data() {\n return {\n currentHex: this.$props.hex,\n originalHex: this.$props.hex\n };\n },\n mounted: function mounted() {\n this._input = this.$refs.input._input;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n watch: {\n hex: function hex(newValue) {\n this.currentHex = newValue;\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n return h(KInput, {\n value: this.currentHex,\n attrs: this.v3 ? undefined : {\n value: this.currentHex,\n valid: this.isHexValid,\n disabled: this.$props.disabled,\n tabIndex: this.tabIndex\n },\n onInput: this.onChange,\n on: this.v3 ? undefined : {\n \"input\": this.onChange,\n \"change\": this.onChange,\n \"focus\": this.onFocus,\n \"blur\": this.onBlur\n },\n onChange: this.onChange,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n valid: this.isHexValid,\n disabled: this.$props.disabled,\n tabIndex: this.tabIndex,\n ref: 'input'\n });\n },\n methods: {\n onChange: function onChange(event) {\n var hex = event.target.value;\n var value = parseColor(hex, 'rgba');\n this.currentHex = hex;\n if (isPresent(value)) {\n this.$emit('hexchange', {\n hex: hex,\n value: value,\n event: event\n });\n }\n },\n onBlur: function onBlur(event) {\n if (!isPresent(parseColor(this.hex, 'rgba'))) {\n this.currentHex = this.originalHex;\n }\n this.$emit('blur', event);\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', event);\n }\n }\n};\n/**\n * @hidden\n */\nvar HexInput = HexInputVue2;\nexport { HexInput, HexInputVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { NumericTextBox } from '../main';\nimport { HexInput } from './HexInput';\nimport { Button } from '@progress/kendo-vue-buttons';\nimport { Label } from '@progress/kendo-vue-labels';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, colorGradientR, colorGradientHex, colorGradientA, colorGradientB, colorGradientG, colorGradientRLabel, colorGradientGLabel, colorGradientBLabel, colorGradientALabel, colorGradientInputColorButton } from '../messages/main';\nimport { guid, Keys } from '@progress/kendo-vue-common';\nimport { caretAltExpandIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar modes = ['rgba', 'rgb', 'hex'];\n/**\n * @hidden\n */\nvar ColorInputVue2 = {\n name: 'KendoColorInput',\n // @ts-ignore\n emits: {\n 'hexchange': null,\n 'rgbachange': null\n },\n props: {\n tabIndex: Number,\n rgba: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n hex: String,\n opacity: Boolean,\n disabled: Boolean\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n created: function created() {\n this.hexInputId = guid();\n },\n data: function data() {\n return {\n inputMode: modes[1]\n };\n },\n mounted: function mounted() {\n this.lastFocusable = this.$refs.hexinput || this.$refs.numerica || this.$refs.numericb;\n },\n updated: function updated() {\n this.lastFocusable = this.$refs.hexinput || this.$refs.numerica || this.$refs.numericb;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var localizationService = provideLocalizationService(this);\n var hexMessage = localizationService.toLanguageString(colorGradientHex, messages[colorGradientHex]);\n var buttonMessage = localizationService.toLanguageString(colorGradientInputColorButton, messages[colorGradientInputColorButton]);\n var rMessage = localizationService.toLanguageString(colorGradientR, messages[colorGradientR]);\n var gMessage = localizationService.toLanguageString(colorGradientG, messages[colorGradientG]);\n var bMessage = localizationService.toLanguageString(colorGradientB, messages[colorGradientB]);\n var aMessage = localizationService.toLanguageString(colorGradientA, messages[colorGradientA]);\n var rLabelMessage = localizationService.toLanguageString(colorGradientRLabel, messages[colorGradientRLabel]);\n var gLabelMessage = localizationService.toLanguageString(colorGradientGLabel, messages[colorGradientGLabel]);\n var bLabelMessage = localizationService.toLanguageString(colorGradientBLabel, messages[colorGradientBLabel]);\n var aLabelMessage = localizationService.toLanguageString(colorGradientALabel, messages[colorGradientALabel]);\n return h(\"div\", {\n \"class\": \"k-colorgradient-inputs k-hstack\"\n }, [h(\"div\", {\n \"class\": \"k-vstack\"\n }, [h(Button, {\n ariaLabel: buttonMessage,\n attrs: this.v3 ? undefined : {\n ariaLabel: buttonMessage,\n tabIndex: this.tabIndex,\n type: \"button\",\n fillMode: 'flat',\n icon: 'caret-alt-expand',\n svgIcon: caretAltExpandIcon\n },\n tabIndex: this.tabIndex,\n type: \"button\",\n fillMode: 'flat',\n icon: 'caret-alt-expand',\n svgIcon: caretAltExpandIcon,\n \"class\": \"k-colorgradient-toggle-mode k-icon-button\",\n onClick: this.onToggleModeChange,\n on: this.v3 ? undefined : {\n \"click\": this.onToggleModeChange,\n \"keydown\": this.onKeyDown\n },\n onKeydown: this.onKeyDown\n })]), this.inputMode === 'hex' && h(\"div\", {\n \"class\": \"k-vstack k-flex-1\"\n }, [h(\"span\", {\n \"class\": \"k-hex-value\"\n }, [h(HexInput, {\n id: this.hexInputId,\n attrs: this.v3 ? undefined : {\n id: this.hexInputId,\n tabIndex: this.tabIndex,\n hex: this.$props.hex,\n disabled: this.$props.disabled\n },\n tabIndex: this.tabIndex,\n hex: this.$props.hex,\n onHexchange: this.onHexChange,\n on: this.v3 ? undefined : {\n \"hexchange\": this.onHexChange\n },\n disabled: this.$props.disabled,\n ref: 'hexinput'\n })]),\n // @ts-ignore function children\n h(Label, {\n \"class\": \"k-colorgradient-input-label\",\n \"for\": this.hexInputId,\n attrs: this.v3 ? undefined : {\n \"for\": this.hexInputId\n }\n }, this.v3 ? function () {\n return [hexMessage];\n } : [hexMessage])]), (this.inputMode === 'rgb' || this.inputMode === 'rgba') && [h(\"div\", {\n \"class\": \"k-vstack\"\n }, [h(NumericTextBox, {\n inputType: 'number',\n attrs: this.v3 ? undefined : {\n inputType: 'number',\n tabIndex: this.tabIndex,\n value: this.$props.rgba.r,\n min: 0,\n max: 255,\n spinners: false,\n format: \"n\",\n ariaLabel: rLabelMessage,\n disabled: this.$props.disabled\n },\n tabIndex: this.tabIndex,\n value: this.$props.rgba.r,\n min: 0,\n max: 255,\n spinners: false,\n format: \"n\",\n ariaLabel: rLabelMessage,\n onChange: this.onRgbaRChange,\n on: this.v3 ? undefined : {\n \"change\": this.onRgbaRChange\n },\n disabled: this.$props.disabled\n }),\n // @ts-ignore function children\n h(Label, {\n \"class\": \"k-colorgradient-input-label\"\n }, this.v3 ? function () {\n return [rMessage];\n } : [rMessage])]), h(\"div\", {\n \"class\": \"k-vstack\"\n }, [h(NumericTextBox, {\n inputType: 'number',\n attrs: this.v3 ? undefined : {\n inputType: 'number',\n tabIndex: this.tabIndex,\n value: this.$props.rgba.g,\n min: 0,\n max: 255,\n spinners: false,\n format: \"n\",\n ariaLabel: gLabelMessage,\n disabled: this.$props.disabled\n },\n tabIndex: this.tabIndex,\n value: this.$props.rgba.g,\n min: 0,\n max: 255,\n spinners: false,\n format: \"n\",\n ariaLabel: gLabelMessage,\n onChange: this.onRgbaGChange,\n on: this.v3 ? undefined : {\n \"change\": this.onRgbaGChange\n },\n disabled: this.$props.disabled\n }),\n // @ts-ignore function children\n h(Label, {\n \"class\": \"k-colorgradient-input-label\"\n }, this.v3 ? function () {\n return [gMessage];\n } : [gMessage])]), h(\"div\", {\n \"class\": \"k-vstack\"\n }, [h(NumericTextBox, {\n inputType: 'number',\n attrs: this.v3 ? undefined : {\n inputType: 'number',\n tabIndex: this.tabIndex,\n value: this.$props.rgba.b,\n min: 0,\n max: 255,\n spinners: false,\n format: \"n\",\n ariaLabel: bLabelMessage,\n disabled: this.$props.disabled\n },\n tabIndex: this.tabIndex,\n value: this.$props.rgba.b,\n min: 0,\n max: 255,\n spinners: false,\n format: \"n\",\n ariaLabel: bLabelMessage,\n onChange: this.onRgbaBChange,\n on: this.v3 ? undefined : {\n \"change\": this.onRgbaBChange\n },\n disabled: this.$props.disabled,\n ref: 'numericb'\n }),\n // @ts-ignore function children\n h(Label, {\n \"class\": \"k-colorgradient-input-label\"\n }, this.v3 ? function () {\n return [bMessage];\n } : [bMessage])])], this.inputMode === 'rgba' && h(\"div\", {\n \"class\": \"k-vstack\"\n }, [this.$props.opacity && h(NumericTextBox, {\n inputType: 'number',\n attrs: this.v3 ? undefined : {\n inputType: 'number',\n tabIndex: this.tabIndex,\n value: this.$props.rgba.a,\n min: 0,\n max: 1,\n step: 0.01,\n spinners: false,\n format: \"n2\",\n ariaLabel: aLabelMessage,\n disabled: this.$props.disabled\n },\n tabIndex: this.tabIndex,\n value: this.$props.rgba.a,\n min: 0,\n max: 1,\n step: 0.01,\n spinners: false,\n format: \"n2\",\n ariaLabel: aLabelMessage,\n onChange: this.onRgbaAChange,\n on: this.v3 ? undefined : {\n \"change\": this.onRgbaAChange\n },\n disabled: this.$props.disabled,\n ref: 'numerica'\n }), this.$props.opacity &&\n // @ts-ignore function children\n h(Label, {\n \"class\": \"k-colorgradient-input-label\"\n }, this.v3 ? function () {\n return [aMessage];\n } : [aMessage])])]);\n },\n methods: {\n onHexChange: function onHexChange(event) {\n this.$emit('hexchange', event.hex, event.value, event);\n },\n onRgbaRChange: function onRgbaRChange(event) {\n this.dispatchRgbaChange({\n r: event.value\n }, event);\n },\n onRgbaGChange: function onRgbaGChange(event) {\n this.dispatchRgbaChange({\n g: event.value\n }, event);\n },\n onRgbaBChange: function onRgbaBChange(event) {\n this.dispatchRgbaChange({\n b: event.value\n }, event);\n },\n onRgbaAChange: function onRgbaAChange(event) {\n this.dispatchRgbaChange({\n a: event.value\n }, event);\n },\n dispatchRgbaChange: function dispatchRgbaChange(newValue, event) {\n var rgba = __assign({}, this.$props.rgba);\n if (newValue.r !== undefined) {\n rgba.r = newValue.r;\n }\n if (newValue.g !== undefined) {\n rgba.g = newValue.g;\n }\n if (newValue.b !== undefined) {\n rgba.b = newValue.b;\n }\n if (newValue.a !== undefined) {\n rgba.a = newValue.a;\n }\n this.$emit('rgbachange', rgba, event);\n },\n onToggleModeChange: function onToggleModeChange() {\n var index = modes.length - 1 === modes.indexOf(this.inputMode) ? 0 : modes.indexOf(this.inputMode) + 1;\n if (!this.$props.opacity) {\n var nextIndex = modes[index] === 'rgba' ? index + 1 : index;\n this.inputMode = modes[nextIndex];\n } else {\n this.inputMode = modes[index];\n }\n },\n onKeyDown: function onKeyDown(e) {\n if (e.keyCode === Keys.enter) {\n e.stopPropagation();\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar ColorInput = ColorInputVue2;\nexport { ColorInput, ColorInputVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { checkIcon, xIcon } from '@progress/kendo-svg-icons';\nimport { messages, colorGradientContrastRatio, colorGradientAALevel, colorGradientAAALevel, colorGradientPass, colorGradientFail } from '../messages/main';\nimport { getContrastFromTwoRGBAs } from './utils/color-parser';\nimport { Icon } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ColorContrastLabelsVue2 = {\n name: 'KendoColorContrastLabels',\n props: {\n bgColor: Object,\n rgba: Object\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var ls = provideLocalizationService(this);\n var contrastRatioMessage = ls.toLanguageString(colorGradientContrastRatio, messages[colorGradientContrastRatio]);\n var AALevelMessage = ls.toLanguageString(colorGradientAALevel, messages[colorGradientAALevel]);\n var AAALevelMessage = ls.toLanguageString(colorGradientAAALevel, messages[colorGradientAAALevel]);\n var passMessage = ls.toLanguageString(colorGradientPass, messages[colorGradientPass]);\n var failMessage = ls.toLanguageString(colorGradientFail, messages[colorGradientFail]);\n var contrast = getContrastFromTwoRGBAs(this.$props.rgba, this.$props.bgColor);\n var requiredAAContrast = 4.5.toFixed(1);\n var requiredAAAContrast = 7.0.toFixed(1);\n var contrastText = \"\".concat(contrastRatioMessage, \": \").concat(contrast.toFixed(2));\n var aaText = \"\".concat(AALevelMessage, \": \").concat(requiredAAContrast);\n var aaaText = \"\".concat(AAALevelMessage, \": \").concat(requiredAAAContrast);\n var aaPass = contrast >= 4.5;\n var aaaPass = contrast >= 7;\n var success = h(\"span\", {\n key: 1,\n \"class\": \"k-contrast-validation k-text-success\"\n }, [passMessage, \" \", h(Icon, {\n name: \"check\",\n attrs: this.v3 ? undefined : {\n name: \"check\",\n icon: checkIcon\n },\n icon: checkIcon\n })]);\n var error = h(\"span\", {\n key: 2,\n \"class\": \"k-contrast-validation k-text-error\"\n }, [failMessage, \" \", h(Icon, {\n name: \"x\",\n attrs: this.v3 ? undefined : {\n name: \"x\",\n icon: xIcon\n },\n icon: xIcon\n })]);\n return h(\"div\", {\n \"class\": \"k-vbox k-colorgradient-color-contrast\"\n }, [h(\"div\", {\n \"class\": \"k-contrast-ratio\"\n }, [h(\"span\", {\n \"class\": \"k-contrast-ratio-text\"\n }, [contrastText]), aaPass ? h(\"span\", {\n \"class\": \"k-contrast-validation k-text-success\"\n }, [h(Icon, {\n name: \"check\",\n attrs: this.v3 ? undefined : {\n name: \"check\",\n icon: checkIcon\n },\n icon: checkIcon\n }), aaaPass && h(Icon, {\n name: \"check\",\n attrs: this.v3 ? undefined : {\n name: \"check\",\n icon: checkIcon\n },\n icon: checkIcon\n })]) : h(\"span\", {\n \"class\": \"k-contrast-validation k-text-error\"\n }, [h(Icon, {\n name: \"x\",\n attrs: this.v3 ? undefined : {\n name: \"x\",\n icon: xIcon\n },\n icon: xIcon\n })])]), h(\"div\", [h(\"span\", [aaText]), aaPass ? success : error]), h(\"div\", [h(\"span\", [aaaText]), aaaPass ? success : error])]);\n }\n};\n/**\n * @hidden\n */\nvar ColorContrastLabels = ColorContrastLabelsVue2;\nexport { ColorContrastLabels, ColorContrastLabelsVue2 };","/**\n * @hidden\n *\n * Render the svg element.\n *\n * @param points (array) Represents the points coordinates as an array of tuples.\n * @param command (function) The command that is used (bezierCommand, lineCommand).\n * @param point (array) [x,y] Represents the current point coordinates.\n * @param i (integer) Represents the index of 'point' in the array 'a'.\n * @param a (array) Represents the complete array of points coordinates.\n * @output (string) a svg path command.\n * @output (string) a Svg element\n */\nexport var svgPath = function (points, command) {\n if (points.length === 0) {\n return '';\n }\n // build the d attributes by looping over the points\n var d = points.reduce(function (acc, point, i, a) {\n return i === 0 ?\n // if first point\n \"M \".concat(point[0], \",\").concat(point[1]) :\n // else\n \"\".concat(acc, \" \").concat(command(point, i, a));\n }, '');\n return \"\");\n};\n/**\n * @hidden\n *\n * Returns the properties of a line.\n *\n * @param pointA (array) [x,y] Represents the start point coordinates.\n * @param pointB (array) [x,y] Represents the end point coordinates.\n * @output (object) { length: (integer), angle: (integer) }\n */\nexport var line = function (pointA, pointB) {\n var lengthX = pointB[0] - pointA[0];\n var lengthY = pointB[1] - pointA[1];\n return {\n length: Math.sqrt(Math.pow(lengthX, 2) + Math.pow(lengthY, 2)),\n angle: Math.atan2(lengthY, lengthX)\n };\n};\n/**\n * @hidden\n *\n * Create a function to calculate the position of the control point.\n *\n * @param lineCalc (function) Represents the line function.\n * @param pointA (array) [x,y] Represents the start point coordinates.\n * @param pointB (array) [x,y] Represents the end point coordinates.\n * @output (object) { length: (integer), angle: (integer) }\n * @output (function) closure.\n * @param current (array) [x, y] Represents the current point coordinates.\n * @param previous (array) [x, y] Represents the previous point coordinates.\n * @param next (array) [x, y] ]Represents the next point coordinates.\n * @param reverse (boolean, optional) Sets the direction.\n * @output (array) [x, y] coordinates of a control point.\n */\nexport var controlPoint = function (lineCalc) {\n return function (current, previous, next, reverse) {\n // when 'current' is the first or last point of the array\n // 'previous' and 'next' are undefined \n // replace with 'current'\n var p = previous || current;\n var n = next || current;\n var smooth = 0.1;\n // properties of the line between previous and next \n var l = lineCalc(p, n);\n // If is end-control-point, add PI to the angle to go backward\n var angle = l.angle + (reverse ? Math.PI : 0);\n var length = l.length * smooth;\n // The control point position is relative to the current point\n var x = current[0] + Math.cos(angle) * length;\n var y = current[1] + Math.sin(angle) * length;\n return [x, y];\n };\n};\n/**\n * @hidden\n *\n * Create a function to calculate a bezier curve command.\n *\n * @param controlPointCalc (function) Represents the controlPoint function.\n * @param current (array) [x, y] Represents the current point coordinates.\n * @param previous (array) [x, y] Represents the previous point coordinates.\n * @param next (array) [x, y] ]Represents the next point coordinates.\n * @param reverse (boolean, optional) Sets the direction.\n * @output (array) [x, y] coordinates of a control point.\n * @output (function) closure.\n * @param point (array) [x,y] Represents the current point coordinates.\n * @param i (integer) Represents the index of 'point' in the array 'a'.\n * @param a (array) Represents the complete array of points coordinates.\n * @output (string) 'C x2,y2 x1,y1 x,y' Cubic bezier command.\n */\nexport var bezierCommand = function (controlPointCalc) { return function (point, i, a) {\n // start control point\n var _a = controlPointCalc(a[i - 1], a[i - 2], point), cpsX = _a[0], cpsY = _a[1];\n // end control point\n var _b = controlPointCalc(point, a[i - 1], a[i + 1], true), cpeX = _b[0], cpeY = _b[1];\n return \"C \".concat(cpsX, \",\").concat(cpsY, \" \").concat(cpeX, \",\").concat(cpeY, \" \").concat(point[0], \",\").concat(point[1]);\n}; };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { bezierCommand, controlPoint, line } from './utils/svg-calc';\nimport { getColorFromHSV, getRGBA, getContrastFromTwoRGBAs } from './utils/color-parser';\nvar AA_CONTRAST = 4.5;\nvar AAA_CONTRAST = 7;\nvar STEP_COUNT = 16;\n/**\n * @hidden\n */\nvar ColorContrastSvgVue2 = {\n name: 'KendoColorContrastSvg',\n props: {\n metrics: Object,\n backgroundColor: String,\n hsva: Object\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var svgPath = function svgPath(points, command) {\n if (points.length === 0) {\n return '';\n }\n // build the d attributes by looping over the points\n var d = points.reduce(function (acc, point, i, a) {\n return i === 0 ?\n // if first point\n \"M \".concat(point[0], \",\").concat(point[1]) :\n // else\n \"\".concat(acc, \" \").concat(command(point, i, a));\n }, '');\n return h(\"path\", {\n d: d,\n attrs: this.v3 ? undefined : {\n d: d,\n fill: \"none\",\n stroke: \"white\",\n \"stroke-width\": \"1\"\n },\n fill: \"none\",\n stroke: \"white\",\n \"stroke-width\": \"1\"\n });\n };\n var gradientRectMetrics = this.$props.metrics;\n var findValue = function findValue(contrast, saturation, low, high, comparer) {\n var mid = (low + high) / 2;\n var hsva = Object.assign({}, _this.$props.hsva, {\n s: saturation / gradientRectMetrics.width,\n v: 1 - mid / gradientRectMetrics.height\n });\n var currentContrast = getContrastFromTwoRGBAs(getRGBA(getColorFromHSV(hsva)), getRGBA(_this.$props.backgroundColor || ''));\n if (low + 0.5 > high) {\n if (currentContrast < contrast + 1 && currentContrast > contrast - 1) {\n return mid;\n } else {\n return null;\n }\n }\n if (comparer(currentContrast, contrast)) {\n return findValue(contrast, saturation, low, high - (high - low) / 2, comparer);\n }\n return findValue(contrast, saturation, low + (high - low) / 2, high, comparer);\n };\n var getPaths = function getPaths(contrast, stepCount, reversed) {\n if (reversed === void 0) {\n reversed = false;\n }\n var points = [];\n for (var i = 0; i <= gradientRectMetrics.width; i += gradientRectMetrics.width / stepCount) {\n var value = findValue(contrast, i, 0, gradientRectMetrics.height, reversed ? function (a, b) {\n return a < b;\n } : function (a, b) {\n return a > b;\n });\n if (value !== null) {\n points.push([i, value]);\n }\n }\n return points;\n };\n var bezierCommandCalc = bezierCommand(controlPoint(line));\n return h(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n attrs: this.v3 ? undefined : {\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n \"class\": 'k-color-contrast-svg',\n style: {\n position: 'absolute',\n overflow: 'visible',\n pointerEvents: 'none',\n left: 0,\n top: 0,\n zIndex: 3\n }\n }, [svgPath.call(this, getPaths(AA_CONTRAST, STEP_COUNT), bezierCommandCalc), svgPath.call(this, getPaths(AA_CONTRAST, STEP_COUNT, true), bezierCommandCalc), svgPath.call(this, getPaths(AAA_CONTRAST, STEP_COUNT), bezierCommandCalc), svgPath.call(this, getPaths(AAA_CONTRAST, STEP_COUNT, true), bezierCommandCalc)]);\n }\n};\n/**\n * @hidden\n */\nvar ColorContrastSvg = ColorContrastSvgVue2;\nexport { ColorContrastSvg, ColorContrastSvgVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Draggable, guid, classNames, focusFirstFocusableChild, getTabIndex, Keys, setRef, getRef, focusContainer } from '@progress/kendo-vue-common';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { Slider } from './../main';\nimport { fitIntoBounds, isPresent } from './utils/misc';\nimport { getColorFromHue, parseColor, getHSV, getColorFromHSV, getRGBA, getColorFromRGBA } from './utils/color-parser';\nimport { removeCachedColor } from './utils/color-cache';\nimport { ColorInput } from './ColorInput';\nimport { ColorContrastLabels } from './ColorContrastLabels';\nimport { ColorContrastSvg } from './ColorContrastSvg';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { colorGradientDragHandle, colorGradientHueSliderLabel, colorGradientAlphaSliderLabel, messages } from '../messages/main';\nvar FORMAT = 'rgba';\nvar DEFAULT_SELECTED_COLOR = 'rgba(255, 255, 255, 1)';\n/**\n * @hidden\n */\nvar ColorGradientVue2 = {\n name: 'KendoColorGradient',\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'change': null,\n 'focus': null,\n 'blur': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'update:modelRgbaValue': null,\n 'keydown': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n props: {\n modelValue: String,\n modelRgbaValue: String,\n defaultValue: String,\n value: String,\n opacity: {\n type: Boolean,\n default: true\n },\n backgroundColor: String,\n disabled: Boolean,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n tabIndex: Number,\n innerTabIndex: {\n type: Number,\n default: undefined\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.guid = guid();\n },\n computed: {\n valueSet: function valueSet() {\n return this.value || this.modelValue || this.modelRgbaValue;\n },\n computedValue: function computedValue() {\n var value = this.valueSet || this.currentValue || this.defaultValue || parseColor(DEFAULT_SELECTED_COLOR, FORMAT);\n if (!isPresent(parseColor(value, 'hex', this.opacity))) {\n // Validate/sanitize the input.\n value = DEFAULT_SELECTED_COLOR;\n }\n return value;\n },\n hsva: function hsva() {\n return this.valueSet ? getHSV(this.computedValue) : this.currentHsva || getHSV(this.computedValue);\n },\n rgba: function rgba() {\n return this.valueSet ? getRGBA(this.computedValue) : this.currentRgba;\n },\n hex: function hex() {\n return this.valueSet ? parseColor(this.computedValue, 'hex', this.opacity) : this.currentHex;\n },\n computedBgColor: function computedBgColor() {\n return this.currentBgColor || getColorFromHue(this.hsva.h);\n },\n computedTabIndex: function computedTabIndex() {\n return this.innerTabIndex !== undefined ? this.innerTabIndex : this.focused ? 0 : -1;\n }\n },\n data: function data() {\n return {\n currentValue: undefined,\n currentBgColor: undefined,\n isFirstRender: true,\n currentHsva: undefined,\n currentRgba: undefined,\n currentHex: undefined,\n focused: false\n };\n },\n mounted: function mounted() {\n this.setAlphaSliderBackground(this.computedBgColor);\n if (this.$el) {\n this.draggable = this.$refs.draggable;\n this.gradientWrapper = this.draggable && this.draggable.element;\n }\n this.alphaSlider = this.v3 ? this.alphaSliderRef : this.$refs.alphaSlider;\n if (this.isFirstRender) {\n this.isFirstRender = false;\n }\n },\n destroyed: function destroyed() {\n removeCachedColor(this.guid);\n },\n updated: function updated() {\n this.setAlphaSliderBackground(this.computedBgColor);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this2 = this;\n var _this = this;\n var h = gh || createElement;\n var className = classNames('k-colorgradient', {\n 'k-disabled': this.$props.disabled\n });\n var localizationService = provideLocalizationService(this);\n // tslint:disable-next-line:max-line-length\n var colorGradientHueSliderLabelMessage = localizationService.toLanguageString(colorGradientHueSliderLabel, messages[colorGradientHueSliderLabel]);\n // tslint:disable-next-line:max-line-length\n var colorGradientAlphaSliderLabelMessage = localizationService.toLanguageString(colorGradientAlphaSliderLabel, messages[colorGradientAlphaSliderLabel]);\n var dragHandle = localizationService.toLanguageString(colorGradientDragHandle, messages[colorGradientDragHandle]);\n var renderRectangleDragHandle = function renderRectangleDragHandle() {\n var style = {};\n if (!this.isFirstRender) {\n var gradientRectMetrics = this.getGradientRectMetrics();\n var top_1 = (1 - this.hsva.v) * gradientRectMetrics.height;\n var left = this.hsva.s * gradientRectMetrics.width;\n style.top = \"\".concat(top_1, \"px\");\n style.left = \"\".concat(left, \"px\");\n }\n return h(\"div\", {\n \"class\": \"k-hsv-draghandle k-draghandle\",\n role: \"slider\",\n attrs: this.v3 ? undefined : {\n role: \"slider\",\n \"aria-orientation\": 'undefined',\n \"aria-label\": dragHandle + \"\".concat(this.value || 'none'),\n \"aria-valuenow\": Math.round(this.hsva.s * 100),\n \"aria-valuetext\": \"\\n saturation: \".concat(Math.round(this.hsva.s * 100), \"%,\\n value: \").concat(Math.round(this.hsva.v * 100), \"%\"),\n tabindex: this.computedTabIndex\n },\n \"aria-orientation\": 'undefined',\n \"aria-label\": dragHandle + \"\".concat(this.value || 'none'),\n \"aria-valuenow\": Math.round(this.hsva.s * 100),\n \"aria-valuetext\": \"\\n saturation: \".concat(Math.round(this.hsva.s * 100), \"%,\\n value: \").concat(Math.round(this.hsva.v * 100), \"%\"),\n tabindex: this.computedTabIndex,\n onKeydown: this.dragKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.dragKeyDown\n },\n style: style,\n ref: setRef(this, 'draghandle')\n });\n };\n return h(\"div\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n role: this.$props.tabIndex !== -1 ? 'textbox' : undefined,\n \"aria-disabled\": this.$props.disabled,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy\n },\n \"class\": className,\n role: this.$props.tabIndex !== -1 ? 'textbox' : undefined,\n \"aria-disabled\": this.$props.disabled,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n onFocus: this.onFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.onFocus,\n \"blur\": this.onBlur,\n \"keydown\": this.onKeyDownHandler\n },\n onBlur: this.onBlur,\n onKeydown: this.onKeyDownHandler\n }, [h(\"div\", {\n \"class\": \"k-colorgradient-canvas k-hstack\"\n }, [h(\"div\", {\n \"class\": \"k-hsv-rectangle\",\n style: {\n background: this.computedBgColor\n }\n }, [\n // @ts-ignore function children\n h(Draggable, {\n onDrag: this.onDrag,\n on: this.v3 ? undefined : {\n \"drag\": this.onDrag,\n \"release\": this.onRelease\n },\n onRelease: this.onRelease,\n ref: 'draggable'\n }, this.v3 ? function () {\n return [h(\"div\", {\n \"class\": \"k-hsv-gradient\",\n style: {\n touchAction: 'none'\n },\n tabindex: -1,\n attrs: _this2.v3 ? undefined : {\n tabindex: -1\n },\n onClick: _this2.onGradientWrapperClick,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.onGradientWrapperClick\n }\n }, [renderRectangleDragHandle.call(_this2)])];\n } : [h(\"div\", {\n \"class\": \"k-hsv-gradient\",\n style: {\n touchAction: 'none'\n },\n tabindex: -1,\n attrs: _this2.v3 ? undefined : {\n tabindex: -1\n },\n onClick: _this2.onGradientWrapperClick,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.onGradientWrapperClick\n }\n }, [renderRectangleDragHandle.call(_this2)])]), this.backgroundColor && !this.isFirstRender && h(ColorContrastSvg, {\n metrics: this.gradientWrapper ? this.getGradientRectMetrics() : undefined,\n attrs: this.v3 ? undefined : {\n metrics: this.gradientWrapper ? this.getGradientRectMetrics() : undefined,\n hsva: this.hsva,\n backgroundColor: this.backgroundColor\n },\n hsva: this.hsva,\n backgroundColor: this.backgroundColor\n })]), h(\"div\", {\n \"class\": \"k-hsv-controls k-hstack\"\n }, [h(Slider, {\n tabIndex: this.computedTabIndex,\n attrs: this.v3 ? undefined : {\n tabIndex: this.computedTabIndex,\n value: this.hsva.h,\n buttons: false,\n vertical: true,\n min: 0,\n max: 360,\n step: 5,\n disabled: this.$props.disabled,\n ariaLabel: colorGradientHueSliderLabelMessage\n },\n value: this.hsva.h,\n buttons: false,\n vertical: true,\n min: 0,\n max: 360,\n step: 5,\n onChange: this.onHueSliderChange,\n on: this.v3 ? undefined : {\n \"change\": this.onHueSliderChange\n },\n \"class\": \"k-hue-slider k-colorgradient-slider\",\n disabled: this.$props.disabled,\n ariaLabel: colorGradientHueSliderLabelMessage\n }), this.$props.opacity && h(Slider, {\n tabIndex: this.computedTabIndex,\n attrs: this.v3 ? undefined : {\n tabIndex: this.computedTabIndex,\n value: isPresent(this.hsva.a) ? this.hsva.a * 100 : 100,\n buttons: false,\n vertical: true,\n min: 0,\n max: 100,\n step: 1,\n disabled: this.$props.disabled,\n ariaLabel: colorGradientAlphaSliderLabelMessage\n },\n value: isPresent(this.hsva.a) ? this.hsva.a * 100 : 100,\n buttons: false,\n vertical: true,\n min: 0,\n max: 100,\n step: 1,\n onChange: this.onAlphaSliderChange,\n on: this.v3 ? undefined : {\n \"change\": this.onAlphaSliderChange\n },\n \"class\": \"k-alpha-slider k-colorgradient-slider\",\n disabled: this.$props.disabled,\n ariaLabel: colorGradientAlphaSliderLabelMessage,\n ref: this.v3 ? function (el) {\n _this.alphaSliderRef = el;\n } : 'alphaSlider'\n })])]), h(ColorInput, {\n tabIndex: this.computedTabIndex,\n attrs: this.v3 ? undefined : {\n tabIndex: this.computedTabIndex,\n rgba: this.rgba,\n hex: this.hex,\n opacity: this.$props.opacity,\n disabled: this.$props.disabled\n },\n rgba: this.rgba,\n onRgbachange: this.onRgbaChange,\n on: this.v3 ? undefined : {\n \"rgbachange\": this.onRgbaChange,\n \"hexchange\": this.onHexChange\n },\n hex: this.hex,\n onHexchange: this.onHexChange,\n opacity: this.$props.opacity,\n disabled: this.$props.disabled,\n ref: 'colorInput'\n }), this.backgroundColor && h(ColorContrastLabels, {\n bgColor: getRGBA(this.backgroundColor),\n attrs: this.v3 ? undefined : {\n bgColor: getRGBA(this.backgroundColor),\n rgba: this.rgba\n },\n rgba: this.rgba\n })]);\n },\n methods: {\n onKeyDownHandler: function onKeyDownHandler(e) {\n var element = this.$el;\n if (this.innerTabIndex === undefined) {\n this.focused = focusContainer(e, element);\n }\n this.$emit('keydown', e);\n },\n onHexChange: function onHexChange(hex, value, event) {\n var rgba = getRGBA(value);\n var hsva = getHSV(value);\n this.currentHsva = hsva;\n this.currentBgColor = getColorFromHue(hsva.h);\n this.currentRgba = rgba;\n this.currentHex = hex;\n this.dispatchChangeEvent(value, event.event, hex, value);\n },\n onRgbaChange: function onRgbaChange(rgba, event) {\n var value = getColorFromRGBA(rgba);\n var hex = parseColor(value, 'hex', this.opacity);\n var hsva = getHSV(value);\n this.currentHsva = hsva;\n this.currentBgColor = getColorFromHue(hsva.h);\n this.currentRgba = rgba;\n this.currentHex = hex;\n this.dispatchChangeEvent(value, event.event, hex, value);\n },\n onAlphaSliderChange: function onAlphaSliderChange(event) {\n this.handleHsvaChange(Object.assign({}, this.hsva, {\n a: event.value / 100\n }), event.event);\n },\n onHueSliderChange: function onHueSliderChange(event) {\n this.handleHsvaChange(Object.assign({}, this.hsva, {\n h: event.value\n }), event.event);\n },\n onDrag: function onDrag(e) {\n this.gradientWrapper.classList.add('k-dragging');\n this.changePosition(e);\n },\n onRelease: function onRelease() {\n this.gradientWrapper.classList.remove('k-dragging');\n },\n onGradientWrapperClick: function onGradientWrapperClick(event) {\n this.firstFocusable = getRef(this, 'draghandle');\n if (this.firstFocusable) {\n this.firstFocusable.focus();\n }\n this.changePosition(event);\n },\n move: function move(e, prop, d) {\n var c = this.hsva;\n c[prop] += d * (e.shiftKey ? 0.01 : 0.05);\n if (c[prop] < 0) {\n c[prop] = 0;\n }\n if (c[prop] > 1) {\n c[prop] = 1;\n }\n e.preventDefault();\n this.handleHsvaChange(c, e);\n },\n dragKeyDown: function dragKeyDown(e) {\n switch (e.keyCode) {\n case Keys.left:\n this.move(e, 's', -1);\n break;\n case Keys.right:\n this.move(e, 's', 1);\n break;\n case Keys.up:\n this.move(e, 'v', 1);\n break;\n case Keys.down:\n this.move(e, 'v', -1);\n break;\n case Keys.enter:\n break;\n case Keys.esc:\n break;\n default:\n break;\n }\n },\n changePosition: function changePosition(event) {\n var gradientRectMetrics = this.getGradientRectMetrics();\n var deltaX = event.clientX - gradientRectMetrics.left;\n var deltaY = event.clientY - gradientRectMetrics.top;\n var left = fitIntoBounds(deltaX, 0, gradientRectMetrics.width);\n var top = fitIntoBounds(deltaY, 0, gradientRectMetrics.height);\n var hsva = Object.assign({}, this.hsva, {\n s: left / gradientRectMetrics.width,\n v: 1 - top / gradientRectMetrics.height\n });\n this.handleHsvaChange(hsva, event, event.event);\n },\n handleHsvaChange: function handleHsvaChange(hsva, event) {\n var value = getColorFromHSV(hsva);\n var hex = parseColor(value, 'hex', this.opacity);\n var rgba = parseColor(value, 'rgba');\n this.currentHsva = hsva;\n this.currentBgColor = getColorFromHue(hsva.h);\n this.currentRgba = getRGBA(value);\n this.currentHex = hex;\n this.dispatchChangeEvent(value, event, hex, rgba);\n },\n dispatchChangeEvent: function dispatchChangeEvent(value, event, hex, rgbaValue) {\n this.currentValue = value;\n this.$emit('changemodel', hex);\n this.$emit('update:modelRgbaValue', rgbaValue);\n this.$emit('update:modelValue', hex);\n this.$emit('change', {\n event: event,\n target: this,\n value: hex,\n rgbaValue: rgbaValue\n });\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', {\n event: event,\n target: this\n });\n },\n onBlur: function onBlur(event) {\n this.$emit('blur', {\n event: event,\n target: this\n });\n },\n setAlphaSliderBackground: function setAlphaSliderBackground(backgroundColor) {\n if (this.$props.opacity && this.alphaSlider && this.alphaSlider.sliderTrack) {\n this.alphaSlider.sliderTrack.style.background = \"linear-gradient(to top, transparent, \".concat(backgroundColor, \")\");\n }\n },\n getGradientRectMetrics: function getGradientRectMetrics() {\n var rect = this.gradientWrapper.getBoundingClientRect();\n return {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.width,\n height: rect.height,\n x: rect.x,\n y: rect.y\n };\n },\n focus: function focus() {\n var _this = this;\n this.focused = true;\n setTimeout(function () {\n focusFirstFocusableChild(_this.$el);\n }, 1);\n }\n }\n};\n/**\n * @hidden\n */\nvar ColorGradient = ColorGradientVue2;\nexport { ColorGradient, ColorGradientVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { classNames, getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ANCHOR_VERTICAL_ALIGN = 'bottom';\n/**\n * @hidden\n */\nvar POPUP_VERTICAL_ALIGN = 'top';\n/**\n * @hidden\n */\nvar PickerVue2 = {\n name: 'KendoPicker',\n props: {\n popupSettings: Object,\n dir: String,\n open: Boolean,\n popupAnchor: String,\n id: String\n },\n computed: {\n horizontalAlign: function horizontalAlign() {\n return this.$props.dir === 'rtl' ? 'right' : 'left';\n },\n anchorAlign: function anchorAlign() {\n return {\n horizontal: this.horizontalAlign,\n vertical: ANCHOR_VERTICAL_ALIGN\n };\n },\n popupAlign: function popupAlign() {\n return {\n horizontal: this.horizontalAlign,\n vertical: POPUP_VERTICAL_ALIGN\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props.popupSettings,\n popupClass = _a.popupClass,\n appendTo = _a.appendTo,\n animate = _a.animate,\n className = _a.className;\n return (\n // @ts-ignore function children\n h(Popup, {\n id: this.id,\n attrs: this.v3 ? undefined : {\n id: this.id,\n anchor: this.$props.popupAnchor,\n anchorAlign: this.anchorAlign,\n popupAlign: this.popupAlign,\n show: this.$props.open,\n appendTo: appendTo,\n animate: animate,\n popupClass: popupClass\n },\n anchor: this.$props.popupAnchor,\n anchorAlign: this.anchorAlign,\n popupAlign: this.popupAlign,\n show: this.$props.open,\n onOpen: this.onOpen,\n on: this.v3 ? undefined : {\n \"open\": this.onOpen,\n \"close\": this.onClose\n },\n onClose: this.onClose,\n appendTo: appendTo,\n animate: animate,\n popupClass: popupClass,\n \"class\": classNames('k-reset', className)\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n },\n methods: {\n onOpen: function onOpen() {\n this.$emit('open');\n },\n onClose: function onClose() {\n this.$emit('close');\n }\n }\n};\n/**\n * @hidden\n */\nvar Picker = PickerVue2;\nexport { Picker, PickerVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { dropletSlashIcon, dropletSliderIcon, paletteIcon } from '@progress/kendo-svg-icons';\nimport { classNames, validatePackage, getTabIndex, setRef, focusContainer, focusFirstFocusableChild, Keys, templateRendering, getListeners, getTemplate, Icon } from '@progress/kendo-vue-common';\nimport { ButtonGroup, Button } from '@progress/kendo-vue-buttons';\nimport { ColorPalette } from './ColorPalette';\nimport { ColorGradient } from './ColorGradient';\nimport { packageMetadata } from '../package-metadata';\nimport { messages, flatColorPickerApplyBtn, flatColorPickerCancelBtn, flatColorPickerGradientBtn, flatColorPickerPaletteBtn, flatColorPickerClearBtn } from '../messages/main';\nimport { parseColor } from './utils/color-parser';\nimport { DEFAULT_GRADIENT_SETTINGS, DEFAULT_PALETTE_SETTINGS } from './utils/color-cache';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\n/**\n * @hidden\n */\nvar FlatColorPickerVue2 = {\n name: 'KendoFlatColorPicker',\n // @ts-ignore\n emits: {\n 'viewchange': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'update:modelRgbaValue': null,\n 'focus': null,\n 'blur': null,\n 'focusout': null,\n 'keydown': null,\n 'change': null\n },\n props: {\n modelValue: String,\n modelRgbaValue: String,\n value: String,\n prevValue: String,\n tabIndex: Number,\n disabled: Boolean,\n view: {\n type: String,\n default: 'combo',\n validator: function validator(value) {\n return ['gradient', 'palette', 'combo'].includes(value);\n }\n },\n selectedView: {\n type: Number,\n default: undefined\n },\n header: [String, Function, Object],\n footer: [String, Function, Object],\n showClearButton: {\n type: Boolean,\n default: true\n },\n showPreview: {\n type: Boolean,\n default: true\n },\n showButtons: {\n type: Boolean,\n default: true\n },\n gradientSettings: {\n type: Object,\n default: function _default() {\n return DEFAULT_GRADIENT_SETTINGS;\n }\n },\n paletteSettings: {\n type: Object,\n default: function _default() {\n return DEFAULT_PALETTE_SETTINGS;\n }\n }\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n isColorGradient: function isColorGradient() {\n return this.view !== 'combo' ? this.view === 'gradient' : this.selectedView !== undefined ? this.selectedView === 0 : this.currentView === 'gradient';\n },\n computedColor: function computedColor() {\n return this.value !== undefined ? this.value : this.modelValue !== undefined ? this.modelValue : this.modelRgbaValue !== undefined ? this.modelRgbaValue : this.colorValue;\n },\n computedPrevColor: function computedPrevColor() {\n return this.prevValue !== undefined ? this.prevValue : this.currentPrevColor;\n },\n previewClass: function previewClass() {\n return {\n 'k-coloreditor-preview-color': true,\n 'k-color-preview': true,\n 'k-no-color': !this.colorValue\n };\n },\n currentClass: function currentClass() {\n return {\n 'k-coloreditor-current-color': true,\n 'k-color-preview': true,\n 'k-no-color': !this.computedPrevColor\n };\n },\n computedTabIndex: function computedTabIndex() {\n return this.focused ? 0 : -1;\n }\n },\n data: function data() {\n var initialValue = this.value || this.defaultValue || this.modelValue || this.modelRgbaValue;\n return {\n currentView: 'gradient',\n colorValue: initialValue,\n currentPrevColor: initialValue,\n focused: false\n };\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this2 = this;\n var _this = this;\n var h = gh || createElement;\n var localizationService = provideLocalizationService(this);\n var gradientMessage = localizationService.toLanguageString(flatColorPickerGradientBtn, messages[flatColorPickerGradientBtn]);\n var paletteMessage = localizationService.toLanguageString(flatColorPickerPaletteBtn, messages[flatColorPickerPaletteBtn]);\n var clearMessage = localizationService.toLanguageString(flatColorPickerClearBtn, messages[flatColorPickerClearBtn]);\n var cancelMessage = localizationService.toLanguageString(flatColorPickerCancelBtn, messages[flatColorPickerCancelBtn]);\n var applyMessage = localizationService.toLanguageString(flatColorPickerApplyBtn, messages[flatColorPickerApplyBtn]);\n var headerTemplate = templateRendering.call(this, this.$props.header, getListeners.call(this));\n var footerTemplate = templateRendering.call(this, this.$props.footer, getListeners.call(this));\n var header = getTemplate.call(this, {\n h: h,\n template: headerTemplate\n });\n var footer = getTemplate.call(this, {\n h: h,\n template: footerTemplate\n });\n var renderGradiente = function renderGradiente() {\n return h(ColorGradient, __assign({\n attrs: this.v3 ? undefined : __assign({\n tabIndex: -1,\n value: this.colorValue,\n innerTabIndex: this.computedTabIndex\n }, this.gradientSettings),\n ref: setRef(this, 'gradient'),\n tabIndex: -1,\n value: this.colorValue,\n innerTabIndex: this.computedTabIndex,\n onChange: this.handleColorChange,\n onKeydown: this.innerKeyDown,\n on: this.v3 ? undefined : {\n 'change': this.handleColorChange,\n 'keydown': this.innerKeyDown\n }\n }, this.gradientSettings));\n };\n var renderPalette = function renderPalette() {\n return h(ColorPalette, __assign({\n on: this.v3 ? undefined : {\n 'change': this.handlePaletteColorChange,\n 'keydown': this.gradientKeyDown\n },\n ref: setRef(this, 'palette'),\n tabIndex: this.computedTabIndex,\n value: this.colorValue,\n attrs: this.v3 ? undefined : __assign({\n tabIndex: this.computedTabIndex,\n value: this.colorValue\n }, this.paletteSettings),\n onChange: this.handlePaletteColorChange,\n onKeydown: this.gradientKeyDown\n }, this.paletteSettings));\n };\n return h(\"div\", {\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled),\n attrs: this.v3 ? undefined : {\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled),\n \"aria-disabled\": this.$props.disabled\n },\n onFocus: this.onFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.onFocus,\n \"blur\": this.onBlur,\n \"focusout\": this.onFocusout,\n \"keydown\": this.onKeyDownHandler\n },\n onBlur: this.onBlur,\n onFocusout: this.onFocusout,\n onKeydown: this.onKeyDownHandler,\n \"class\": classNames('k-flatcolorpicker k-coloreditor', {\n 'k-disabled': this.$props.disabled\n }),\n \"aria-disabled\": this.$props.disabled\n }, [header, this.$props.showClearButton && this.$props.showPreview && h(\"div\", {\n \"class\": \"k-coloreditor-header k-hstack\"\n }, [this.$props.view === 'combo' && h(\"div\", {\n \"class\": \"k-coloreditor-header-actions k-hstack\"\n }, [\n // @ts-ignore function children\n h(ButtonGroup, {\n \"class\": \"k-button-group-flat\"\n }, this.v3 ? function () {\n return [\n // @ts-ignore function children\n h(Button, {\n tabIndex: _this2.computedTabIndex,\n attrs: _this2.v3 ? undefined : {\n tabIndex: _this2.computedTabIndex,\n type: \"button\",\n togglable: true,\n fillMode: 'flat',\n selected: _this2.isColorGradient,\n ariaLabel: gradientMessage\n },\n type: \"button\",\n togglable: true,\n fillMode: 'flat',\n selected: _this2.isColorGradient,\n onKeydown: _this2.handleButtonKeydown,\n on: _this2.v3 ? undefined : {\n \"keydown\": _this2.handleButtonKeydown,\n \"click\": function click(e) {\n return _this.handleViewChange(e, 'gradient');\n }\n },\n ariaLabel: gradientMessage,\n onClick: function click(e) {\n return _this.handleViewChange(e, 'gradient');\n }\n }, _this2.v3 ? function () {\n return [h(Icon, {\n name: \"droplet-slider\",\n attrs: _this2.v3 ? undefined : {\n name: \"droplet-slider\",\n icon: dropletSliderIcon\n },\n icon: dropletSliderIcon\n })];\n } : [h(Icon, {\n name: \"droplet-slider\",\n attrs: _this2.v3 ? undefined : {\n name: \"droplet-slider\",\n icon: dropletSliderIcon\n },\n icon: dropletSliderIcon\n })]),\n // @ts-ignore function children\n h(Button, {\n tabIndex: _this2.computedTabIndex,\n attrs: _this2.v3 ? undefined : {\n tabIndex: _this2.computedTabIndex,\n type: \"button\",\n togglable: true,\n fillMode: 'flat',\n selected: !_this2.isColorGradient,\n ariaLabel: paletteMessage\n },\n type: \"button\",\n togglable: true,\n fillMode: 'flat',\n selected: !_this2.isColorGradient,\n onKeydown: _this2.handleButtonKeydown,\n on: _this2.v3 ? undefined : {\n \"keydown\": _this2.handleButtonKeydown,\n \"click\": function click(e) {\n return _this.handleViewChange(e, 'palette');\n }\n },\n ariaLabel: paletteMessage,\n onClick: function click(e) {\n return _this.handleViewChange(e, 'palette');\n }\n }, _this2.v3 ? function () {\n return [h(Icon, {\n name: \"palette\",\n attrs: _this2.v3 ? undefined : {\n name: \"palette\",\n icon: paletteIcon\n },\n icon: paletteIcon\n })];\n } : [h(Icon, {\n name: \"palette\",\n attrs: _this2.v3 ? undefined : {\n name: \"palette\",\n icon: paletteIcon\n },\n icon: paletteIcon\n })])];\n } : [h(Button, {\n tabIndex: _this2.computedTabIndex,\n attrs: _this2.v3 ? undefined : {\n tabIndex: _this2.computedTabIndex,\n type: \"button\",\n togglable: true,\n fillMode: 'flat',\n selected: _this2.isColorGradient,\n ariaLabel: gradientMessage\n },\n type: \"button\",\n togglable: true,\n fillMode: 'flat',\n selected: _this2.isColorGradient,\n onKeydown: _this2.handleButtonKeydown,\n on: _this2.v3 ? undefined : {\n \"keydown\": _this2.handleButtonKeydown,\n \"click\": function click(e) {\n return _this.handleViewChange(e, 'gradient');\n }\n },\n ariaLabel: gradientMessage,\n onClick: function click(e) {\n return _this.handleViewChange(e, 'gradient');\n }\n }, _this2.v3 ? function () {\n return [h(Icon, {\n name: \"droplet-slider\",\n attrs: _this2.v3 ? undefined : {\n name: \"droplet-slider\",\n icon: dropletSliderIcon\n },\n icon: dropletSliderIcon\n })];\n } : [h(Icon, {\n name: \"droplet-slider\",\n attrs: _this2.v3 ? undefined : {\n name: \"droplet-slider\",\n icon: dropletSliderIcon\n },\n icon: dropletSliderIcon\n })]), h(Button, {\n tabIndex: _this2.computedTabIndex,\n attrs: _this2.v3 ? undefined : {\n tabIndex: _this2.computedTabIndex,\n type: \"button\",\n togglable: true,\n fillMode: 'flat',\n selected: !_this2.isColorGradient,\n ariaLabel: paletteMessage\n },\n type: \"button\",\n togglable: true,\n fillMode: 'flat',\n selected: !_this2.isColorGradient,\n onKeydown: _this2.handleButtonKeydown,\n on: _this2.v3 ? undefined : {\n \"keydown\": _this2.handleButtonKeydown,\n \"click\": function click(e) {\n return _this.handleViewChange(e, 'palette');\n }\n },\n ariaLabel: paletteMessage,\n onClick: function click(e) {\n return _this.handleViewChange(e, 'palette');\n }\n }, _this2.v3 ? function () {\n return [h(Icon, {\n name: \"palette\",\n attrs: _this2.v3 ? undefined : {\n name: \"palette\",\n icon: paletteIcon\n },\n icon: paletteIcon\n })];\n } : [h(Icon, {\n name: \"palette\",\n attrs: _this2.v3 ? undefined : {\n name: \"palette\",\n icon: paletteIcon\n },\n icon: paletteIcon\n })])])]), h(\"div\", {\n \"class\": \"k-spacer\"\n }), h(\"div\", {\n \"class\": \"k-coloreditor-header-actions k-hstack\"\n }, [this.$props.showClearButton &&\n // @ts-ignore function children\n h(Button, {\n tabIndex: this.computedTabIndex,\n attrs: this.v3 ? undefined : {\n tabIndex: this.computedTabIndex,\n type: \"button\",\n fillMode: 'flat',\n ariaLabel: clearMessage\n },\n type: \"button\",\n fillMode: 'flat',\n ariaLabel: clearMessage,\n onKeydown: this.handleButtonKeydown,\n on: this.v3 ? undefined : {\n \"keydown\": this.handleButtonKeydown,\n \"click\": this.handleResetColor\n },\n onClick: this.handleResetColor\n }, this.v3 ? function () {\n return [h(Icon, {\n name: \"droplet-slash\",\n attrs: _this2.v3 ? undefined : {\n name: \"droplet-slash\",\n icon: dropletSlashIcon\n },\n icon: dropletSlashIcon\n })];\n } : [h(Icon, {\n name: \"droplet-slash\",\n attrs: _this2.v3 ? undefined : {\n name: \"droplet-slash\",\n icon: dropletSlashIcon\n },\n icon: dropletSlashIcon\n })]), this.$props.showPreview && h(\"div\", {\n \"class\": \"k-coloreditor-preview k-vstack\"\n }, [h(\"span\", {\n \"class\": this.previewClass,\n style: {\n background: this.colorValue\n }\n }, [!this.colorValue && h(\"span\", {\n \"class\": \"k-color-preview-mask\"\n })]), h(\"span\", {\n \"class\": this.currentClass,\n style: {\n background: this.computedPrevColor\n },\n onClick: this.handlePrevColorClick,\n on: this.v3 ? undefined : {\n \"click\": this.handlePrevColorClick\n }\n }, [!this.computedPrevColor && h(\"span\", {\n \"class\": \"k-color-preview-mask\"\n })])])])]), h(\"div\", {\n \"class\": \"k-coloreditor-views k-vstack\"\n }, [this.isColorGradient ? renderGradiente.call(this) : renderPalette.call(this)]), this.$props.showButtons && h(\"div\", {\n \"class\": \"k-coloreditor-footer k-actions k-actions-end\"\n }, [\n // @ts-ignore function children\n h(Button, {\n tabIndex: this.computedTabIndex,\n attrs: this.v3 ? undefined : {\n tabIndex: this.computedTabIndex,\n type: \"button\"\n },\n type: \"button\",\n \"class\": \"k-coloreditor-cancel\",\n onKeydown: this.handleButtonKeydown,\n on: this.v3 ? undefined : {\n \"keydown\": this.handleButtonKeydown,\n \"click\": this.handleCancelBtnClick\n },\n onClick: this.handleCancelBtnClick\n }, this.v3 ? function () {\n return [cancelMessage];\n } : [cancelMessage]),\n // @ts-ignore function children\n h(Button, {\n tabIndex: this.computedTabIndex,\n attrs: this.v3 ? undefined : {\n tabIndex: this.computedTabIndex,\n type: \"button\"\n },\n type: \"button\",\n \"class\": \"k-coloreditor-apply k-primary\",\n onKeydown: this.handleButtonKeydown,\n on: this.v3 ? undefined : {\n \"keydown\": this.handleButtonKeydown,\n \"click\": this.triggerChange\n },\n onClick: this.triggerChange\n }, this.v3 ? function () {\n return [applyMessage];\n } : [applyMessage])]), footer]);\n },\n methods: {\n focus: function focus() {\n var _this = this;\n this.focused = true;\n setTimeout(function () {\n focusFirstFocusableChild(_this.$el);\n }, 1);\n },\n onKeyDownHandler: function onKeyDownHandler(e) {\n var element = this.$el;\n this.focused = focusContainer(e, element);\n this.$emit('keydown', e);\n },\n handleViewChange: function handleViewChange(event, viewType) {\n this.currentView = viewType;\n this.$emit('viewchange', {\n event: event,\n viewType: viewType\n });\n },\n handleResetColor: function handleResetColor() {\n this.colorValue = null;\n if (!this.showButtons) {\n this.triggerChange();\n }\n },\n handleColorChange: function handleColorChange(event) {\n this.colorValue = event.value;\n if (!this.showButtons) {\n this.triggerChange(event);\n }\n },\n handlePaletteColorChange: function handlePaletteColorChange(event) {\n this.colorValue = event.value;\n if (!this.showButtons) {\n this.triggerChange(event);\n }\n },\n triggerChange: function triggerChange(event) {\n var rgbaValue = parseColor(this.colorValue, 'rgba');\n this.currentPrevColor = this.colorValue;\n this.$emit('changemodel', this.colorValue);\n this.$emit('update:modelValue', this.colorValue);\n this.$emit('update:modelRgbaValue', rgbaValue);\n this.$emit('change', {\n event: event,\n value: this.colorValue,\n rgbaValue: rgbaValue\n });\n },\n innerKeyDown: function innerKeyDown(event) {\n if (event.keyCode === Keys.enter) {\n this.triggerChange(event);\n }\n },\n gradientKeyDown: function gradientKeyDown(event) {\n event.stopPropagation();\n if (!this.showButtons && event.keyCode === Keys.enter) {\n this.triggerChange(event);\n }\n },\n handleButtonKeydown: function handleButtonKeydown(e) {\n if (e.keyCode === Keys.enter) {\n e.stopPropagation();\n }\n },\n handleCancelBtnClick: function handleCancelBtnClick() {\n this.colorValue = this.computedPrevColor;\n },\n handlePrevColorClick: function handlePrevColorClick() {\n this.colorValue = this.computedPrevColor;\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', {\n event: event,\n target: this\n });\n },\n onBlur: function onBlur(event) {\n this.$emit('blur', {\n event: event,\n target: this\n });\n },\n onFocusout: function onFocusout(event) {\n this.$emit('focusout', {\n event: event,\n target: this\n });\n }\n }\n};\n/**\n * @hidden\n */\nvar FlatColorPicker = FlatColorPickerVue2;\nexport { FlatColorPicker, FlatColorPickerVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Button } from '@progress/kendo-vue-buttons';\nimport { classNames, Keys,\n// useDir, \ngetTabIndex, guid, kendoThemeMaps, validatePackage, setRef, getRef, Icon, getIconName } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { Picker } from './Picker';\nimport { FlatColorPicker } from './FlatColorPicker';\nimport { DEFAULT_GRADIENT_SETTINGS, DEFAULT_PALETTE_SETTINGS } from './utils/color-cache';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, colorPickerDropdownButtonAriaLabel } from '../messages/main';\nimport { caretAltDownIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar isControlled = function isControlled(prop) {\n return prop !== undefined;\n};\n/**\n * @hidden\n */\nvar ColorPickerVue2 = {\n name: 'KendoColorPicker',\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'open': null,\n 'close': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'update:modelRgbaValue': null,\n 'activecolorclick': null,\n 'focus': null,\n 'blur': null,\n 'change': null,\n 'viewchange': null\n },\n props: {\n modelValue: String,\n modelRgbaValue: String,\n value: {\n type: String,\n default: undefined\n },\n defaultValue: String,\n disabled: Boolean,\n dir: String,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n showClearButton: {\n type: Boolean,\n default: true\n },\n showPreview: {\n type: Boolean,\n default: true\n },\n showButtons: {\n type: Boolean,\n default: true\n },\n paletteSettings: {\n type: Object,\n default: function _default() {\n return DEFAULT_PALETTE_SETTINGS;\n }\n },\n valid: {\n type: Boolean,\n default: true\n },\n tabIndex: {\n type: Number,\n default: 0\n },\n title: String,\n icon: String,\n svgIcon: Object,\n iconClassName: String,\n popupSettings: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n gradientSettings: {\n type: Object,\n default: function _default() {\n return DEFAULT_GRADIENT_SETTINGS;\n }\n },\n flatColorPickerSettings: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n open: {\n type: Boolean,\n default: undefined\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large', 'full'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'solid', 'flat', 'outline'].includes(value);\n }\n },\n view: {\n type: String,\n default: 'combo',\n validator: function validator(value) {\n return ['gradient', 'palette', 'combo'].includes(value);\n }\n },\n selectedView: {\n type: Number,\n default: undefined\n }\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n focused: false,\n currentValue: this.$props.defaultValue,\n currentOpen: false\n };\n },\n computed: {\n isValueControlled: function isValueControlled() {\n return this.$props.value !== undefined;\n },\n isOpenControlled: function isOpenControlled() {\n return this.$props.open !== undefined;\n },\n computedValue: function computedValue() {\n return this.isValueControlled ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.$props.modelRgbaValue !== undefined ? this.$props.modelRgbaValue : this.currentValue !== undefined ? this.currentValue : this.defaultValue;\n },\n computedOpen: function computedOpen() {\n return this.isOpenControlled ? this.$props.open : this.currentOpen;\n },\n wrapperClassName: function wrapperClassName() {\n var _a;\n var _b = this.$props,\n size = _b.size,\n fillMode = _b.fillMode,\n rounded = _b.rounded;\n return _a = {\n 'k-picker': true,\n 'k-colorpicker': true,\n 'k-icon-picker': true\n }, _a[\"k-picker-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-picker-\".concat(fillMode)] = fillMode, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-invalid'] = !this.valid, _a['k-disabled'] = this.disabled, _a['k-focus'] = this.focused, _a;\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this._popupId = 'popup' + guid();\n this.focusableElementGuid = guid();\n },\n mounted: function mounted() {\n this.button = getRef(this, 'button');\n },\n updated: function updated() {\n // this.button = getRef(this, 'button');\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this2 = this;\n var _this = this;\n var localizationService = provideLocalizationService(this);\n // tslint:disable-next-line:max-line-length\n var colorPickerLabelMessage = localizationService.toLanguageString(colorPickerDropdownButtonAriaLabel, messages[colorPickerDropdownButtonAriaLabel]);\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n tabIndex = _a.tabIndex,\n dir = _a.dir,\n view = _a.view,\n selectedView = _a.selectedView,\n showClearButton = _a.showClearButton,\n showPreview = _a.showPreview,\n showButtons = _a.showButtons,\n popupSettings = _a.popupSettings;\n var renderFlatColorPicker = function renderFlatColorPicker() {\n return h(FlatColorPicker, __assign({\n onKeydown: this.onKeyDownHandler,\n on: this.v3 ? undefined : {\n 'keydown': this.onKeyDownHandler,\n 'change': this.onFlatChangeHandler,\n 'focusout': this.onBlurHandler,\n 'viewchange': this.onViewChange\n },\n ref: setRef(this, 'flatcolorpicker'),\n view: view,\n selectedView: selectedView,\n showClearButton: showClearButton,\n showPreview: showPreview,\n showButtons: showButtons,\n value: this.computedValue || undefined,\n attrs: this.v3 ? undefined : __assign({\n view: view,\n selectedView: selectedView,\n showClearButton: showClearButton,\n showPreview: showPreview,\n showButtons: showButtons,\n value: this.computedValue || undefined,\n paletteSettings: this.paletteSettings,\n gradientSettings: this.gradientSettings\n }, this.flatColorPickerSettings),\n onChange: this.onFlatChangeHandler,\n onFocusout: this.onBlurHandler,\n onViewchange: this.onViewChange,\n paletteSettings: this.paletteSettings,\n gradientSettings: this.gradientSettings\n }, this.flatColorPickerSettings));\n };\n // const dir = useDir(focusableElementGuid, props.dir);\n return h(\"span\", {\n \"class\": this.wrapperClassName,\n role: 'combobox',\n attrs: this.v3 ? undefined : {\n role: 'combobox',\n dir: dir,\n id: this.$props.id,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-disabled\": this.$props.disabled,\n \"aria-haspopup\": 'dialog',\n \"aria-expanded\": this.computedOpen,\n tabindex: getTabIndex(tabIndex, disabled),\n title: this.$props.title\n },\n dir: dir,\n id: this.$props.id,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-disabled\": this.$props.disabled,\n \"aria-haspopup\": 'dialog',\n \"aria-expanded\": this.computedOpen,\n ref: this.focusableElementGuid,\n tabindex: getTabIndex(tabIndex, disabled),\n title: this.$props.title,\n onKeydown: this.onButtonKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onButtonKeyDown,\n \"focusin\": this.onFocusHandler,\n \"focusout\": this.onButtonBlur\n },\n onFocusin: this.onFocusHandler,\n onFocusout: this.onButtonBlur\n }, [h(\"span\", {\n onClick: this.onActiveColorClickHandler,\n on: this.v3 ? undefined : {\n \"click\": this.onActiveColorClickHandler\n },\n \"class\": 'k-input-inner'\n }, [h(\"span\", {\n \"class\": classNames('k-value-icon', 'k-color-preview', {\n 'k-no-color': !this.computedValue,\n 'k-icon-color-preview': this.icon || this.iconClassName\n })\n }, [(this.iconClassName || this.icon || this.svgIcon) && h(Icon, {\n \"class\": classNames('k-color-preview-icon', this.iconClassName),\n name: getIconName(this.icon),\n attrs: this.v3 ? undefined : {\n name: getIconName(this.icon),\n icon: this.svgIcon\n },\n icon: this.svgIcon\n }), h(\"span\", {\n \"class\": \"k-color-preview-mask\",\n style: {\n backgroundColor: this.computedValue\n }\n })])]),\n // @ts-ignore\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n tabindex: -1,\n rounded: null,\n icon: 'caret-alt-down',\n svgIcon: caretAltDownIcon,\n \"aria-label\": colorPickerLabelMessage\n },\n tabindex: -1,\n ref: this.v3 ? function (el) {\n _this.buttonRef = el;\n } : 'button',\n onClick: this.onClickHandler,\n on: this.v3 ? undefined : {\n \"click\": this.onClickHandler\n },\n rounded: null,\n \"class\": \"k-input-button\",\n icon: 'caret-alt-down',\n svgIcon: caretAltDownIcon,\n \"aria-label\": colorPickerLabelMessage\n }),\n // @ts-ignore function children\n h(Picker, {\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir,\n id: this._popupId,\n open: this.computedOpen,\n popupAnchor: this.focusableElementGuid,\n popupSettings: __assign({}, popupSettings)\n },\n id: this._popupId,\n open: this.computedOpen,\n onOpen: this.onOpenHandler,\n on: this.v3 ? undefined : {\n \"open\": this.onOpenHandler\n },\n popupAnchor: this.focusableElementGuid,\n popupSettings: __assign({}, popupSettings)\n }, this.v3 ? function () {\n return [renderFlatColorPicker.call(_this2)];\n } : [renderFlatColorPicker.call(_this2)])]);\n },\n methods: {\n focusElement: function focusElement() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n setOpen: function setOpen(nextOpen, isBlur) {\n if (!nextOpen && !isBlur && this.$el) {\n this.$el.focus();\n }\n this.currentOpen = nextOpen;\n this.$emit(nextOpen ? 'open' : 'close');\n },\n onButtonKeyDown: function onButtonKeyDown(event) {\n var altKey = event.altKey,\n keyCode = event.keyCode;\n if (keyCode === Keys.esc) {\n event.preventDefault();\n event.stopPropagation();\n this.setOpen(false);\n return;\n }\n if (keyCode === Keys.enter) {\n event.preventDefault();\n event.stopPropagation();\n this.setOpen(!this.computedOpen);\n return;\n }\n if (altKey && keyCode === Keys.down) {\n event.preventDefault();\n event.stopPropagation();\n this.setOpen(true);\n }\n },\n onKeyDownHandler: function onKeyDownHandler(event) {\n var altKey = event.altKey,\n keyCode = event.keyCode;\n if (keyCode === Keys.esc) {\n event.preventDefault();\n event.stopPropagation();\n this.setOpen(false);\n return;\n }\n if (keyCode === Keys.enter) {\n event.preventDefault();\n event.stopPropagation();\n this.focusElement();\n return;\n }\n if (altKey && keyCode === Keys.up) {\n event.preventDefault();\n event.stopPropagation();\n this.setOpen(false);\n this.focusElement();\n }\n },\n onOpenHandler: function onOpenHandler() {\n // Skip content autofocus when in controlled mode\n var flatcolorpicker = getRef(this, 'flatcolorpicker');\n if (flatcolorpicker) {\n flatcolorpicker.focus();\n }\n },\n onClickHandler: function onClickHandler() {\n this.setOpen(!this.computedOpen, true);\n },\n onActiveColorClickHandler: function onActiveColorClickHandler(event) {\n this.$emit('activecolorclick', {\n event: event,\n value: this.computedValue\n });\n },\n isViewFocused: function isViewFocused() {\n return !!(document.activeElement && document.activeElement.closest(\"#\".concat(this._popupId)));\n },\n onButtonBlur: function onButtonBlur(event) {\n this.focused = this.isViewFocused();\n this.$emit('blur', {\n event: event\n });\n },\n onFocusHandler: function onFocusHandler(event) {\n if (this.blurTimeoutRef) {\n clearTimeout(this.blurTimeoutRef);\n this.blurTimeoutRef = undefined;\n // case where moving back to input from popup\n if (event.target === this.$el) {\n this.setOpen(false); // in this case we should focus input on keydown\n }\n } else {\n this.focused = true;\n }\n this.$emit('focus', {\n event: event\n });\n },\n onBlurTimeout: function onBlurTimeout() {\n var viewIsFocused = this.isViewFocused();\n if (!viewIsFocused) {\n this.setOpen(false, true);\n }\n this.focused = viewIsFocused;\n this.blurTimeoutRef = undefined;\n },\n onBlurHandler: function onBlurHandler() {\n clearTimeout(this.blurTimeoutRef);\n this.palette = getRef(this, 'palette');\n this.gradient = getRef(this, 'gradient');\n this.blurTimeoutRef = setTimeout(this.onBlurTimeout, 200);\n },\n onViewChange: function onViewChange(event) {\n this.$emit('viewchange', event);\n },\n onChangeHandler: function onChangeHandler(event, isPalette) {\n var currentValue = event.value;\n if (!this.isValueControlled) {\n this.currentValue = currentValue;\n }\n if (isPalette) {\n this.setOpen(false);\n }\n this.$emit('changemodel', currentValue);\n this.$emit('update:modelRgbaValue', event.rgbaValue);\n this.$emit('update:modelValue', currentValue);\n this.$emit('change', {\n value: currentValue,\n rgbaValue: event.rgbaValue,\n event: event\n });\n },\n onFlatChangeHandler: function onFlatChangeHandler(event) {\n this.onChangeHandler(event, true);\n }\n }\n};\n/**\n * @hidden\n */\nvar ColorPicker = ColorPickerVue2;\nexport { ColorPicker, ColorPickerVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { guid, noop, Keys, getTabIndex, validatePackage, isRtl, kendoThemeMaps, setRef, getRef } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, switchValidation } from '../messages/main';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar SwitchVue2 = {\n name: 'KendoSwitch',\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'change': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'focus': null,\n 'blur': null\n },\n props: {\n name: String,\n accessKey: String,\n checked: {\n type: Boolean,\n default: undefined\n },\n className: String,\n disabled: {\n type: Boolean,\n default: false\n },\n defaultChecked: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n trackRounded: {\n type: String,\n default: 'full',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large', 'full'].includes(value);\n }\n },\n thumbRounded: {\n type: String,\n default: 'full',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large', 'full'].includes(value);\n }\n },\n dir: String,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n offLabel: {\n type: String,\n default: 'OFF'\n },\n onLabel: {\n type: String,\n default: 'ON'\n },\n required: {\n type: Boolean,\n default: false\n },\n tabIndex: Number,\n valid: Boolean,\n validityStyles: {\n type: Boolean,\n default: false\n },\n validationMessage: String,\n value: {\n type: [String, Number, Boolean],\n default: undefined\n },\n modelValue: {\n type: Boolean,\n default: undefined\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this._id = guid();\n this.defaultValidationMessage = provideLocalizationService(this);\n },\n data: function data() {\n return {\n currentChecked: this.$props.defaultChecked,\n valueDuringOnChange: undefined,\n focused: false,\n currentDir: undefined\n };\n },\n computed: {\n computedValue: function computedValue() {\n return this.valueDuringOnChange !== undefined ? this.valueDuringOnChange : this.$props.checked !== undefined ? this.$props.checked : this.$props.value !== undefined ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.currentChecked;\n },\n switchClassName: function switchClassName() {\n var _a;\n var isValid = !this.validityStyles || this.validity().valid;\n var rounded = this.$props.trackRounded;\n return _a = {\n 'k-switch': true\n }, _a[\"k-switch-\".concat(kendoThemeMaps.sizeMap[this.$props.size])] = this.$props.size, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-switch-on'] = this.computedValue, _a['k-switch-off'] = !this.computedValue, _a['k-focus'] = this.focused, _a['k-disabled'] = this.$props.disabled, _a['k-invalid'] = !isValid, _a;\n },\n switchTrackClass: function switchTrackClass() {\n var _a;\n var rounded = this.$props.trackRounded;\n return _a = {\n 'k-switch-track': true\n }, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a;\n },\n switchThumbClass: function switchThumbClass() {\n var _a;\n var rounded = this.$props.thumbRounded;\n return _a = {\n 'k-switch-thumb': true\n }, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a;\n }\n },\n mounted: function mounted() {\n this._element = getRef(this, 'element');\n this.input = getRef(this, 'input');\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : isRtl(this.$el) ? 'rtl' : 'ltr';\n this.setValidity();\n },\n updated: function updated() {\n this.setValidity();\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n id = _a.id,\n offLabel = _a.offLabel,\n onLabel = _a.onLabel,\n tabIndex = _a.tabIndex,\n required = _a.required;\n return h(\"span\", {\n \"class\": this.switchClassName,\n role: 'switch',\n attrs: this.v3 ? undefined : {\n role: 'switch',\n \"aria-checked\": this.computedValue,\n \"aria-disabled\": disabled || undefined,\n dir: this.currentDir\n },\n \"aria-checked\": this.computedValue,\n \"aria-disabled\": disabled || undefined,\n dir: this.currentDir,\n onKeydown: this.handleKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.handleKeyDown,\n \"click\": this.handleClick,\n \"focusout\": this.handleWrapperBlur,\n \"focusin\": this.handleWrapperFocus\n },\n onClick: this.handleClick,\n onFocusout: this.handleWrapperBlur,\n onFocusin: this.handleWrapperFocus\n }, [h(\"span\", {\n \"class\": this.switchTrackClass,\n id: id || this._id,\n attrs: this.v3 ? undefined : {\n id: id || this._id,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n tabindex: getTabIndex(tabIndex, disabled, undefined),\n accesskey: this.$props.accessKey\n },\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n ref: setRef(this, 'element'),\n tabindex: getTabIndex(tabIndex, disabled, undefined),\n accesskey: this.$props.accessKey\n }, [h(\"input\", {\n type: \"checkbox\",\n attrs: this.v3 ? undefined : {\n type: \"checkbox\",\n tabindex: -1,\n name: this.$props.name,\n required: required !== undefined ? required : false,\n \"aria-hidden\": true\n },\n checked: this.v3 ? this.$props.checked : null,\n domProps: this.v3 ? undefined : {\n \"checked\": this.$props.checked,\n \"value\": this.computedValue\n },\n ref: setRef(this, 'input'),\n tabindex: -1,\n name: this.$props.name,\n required: required !== undefined ? required : false,\n \"aria-hidden\": true,\n value: this.v3 ? this.computedValue : null,\n style: {\n opacity: 0,\n width: 1,\n border: 0,\n zIndex: -1,\n position: 'absolute',\n left: '50%'\n },\n onChange: noop,\n on: this.v3 ? undefined : {\n \"change\": noop\n }\n }), h(\"span\", {\n \"class\": 'k-switch-label-on'\n }, [onLabel]), h(\"span\", {\n \"class\": 'k-switch-label-off'\n }, [offLabel])]), h(\"span\", {\n \"class\": 'k-switch-thumb-wrap'\n }, [h(\"span\", {\n \"class\": this.switchThumbClass\n })])]);\n },\n methods: {\n focus: function focus() {\n if (this._element) {\n this._element.focus();\n }\n },\n element: function element() {\n return this._element;\n },\n validity: function validity() {\n var customError = this.$props.validationMessage !== undefined;\n var isValid = this.$props.valid !== undefined ? this.$props.valid : !this.$props.required ? true : this.computedValue ? true : false;\n var valid = this.$props.valid !== undefined ? this.$props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.computedValue === null\n };\n },\n setValidity: function setValidity() {\n if (this.input && this.input.setCustomValidity) {\n this.input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || this.defaultValidationMessage.toLanguageString(switchValidation, messages[switchValidation]));\n }\n },\n limit: function limit(offset, drag, wrapper) {\n var wrapperWidth = wrapper.offsetWidth;\n var margin = drag.offsetWidth;\n if (offset < 0) {\n return 0;\n } else if (offset > wrapperWidth - margin) {\n return wrapperWidth - margin;\n }\n return offset;\n },\n toggle: function toggle(value, event) {\n this.currentChecked = value;\n this.valueDuringOnChange = value;\n this.$emit('changemodel', value);\n this.$emit('update:modelValue', value);\n this.$emit('change', {\n event: event,\n component: this,\n target: {\n value: value\n },\n name: this.$props.name,\n value: value,\n validity: this.validity()\n });\n this.valueDuringOnChange = undefined;\n },\n handleClick: function handleClick(event) {\n if (this.eventTimeStamp === event.timeStamp) {\n // This is guard against the case when wrapped in label, click event is emmited twice\n return;\n }\n this.eventTimeStamp = event.timeStamp;\n this.toggle(!this.computedValue, event);\n },\n handleKeyDown: function handleKeyDown(event) {\n if (this.$props.disabled) {\n return;\n }\n var keyCode = event.keyCode;\n if (keyCode === Keys.space || keyCode === Keys.enter) {\n this.toggle(!this.computedValue, event);\n }\n },\n handleWrapperFocus: function handleWrapperFocus(event) {\n if (this.$props.disabled) {\n return;\n }\n this.focused = true;\n this.$emit('focus', event);\n },\n handleWrapperBlur: function handleWrapperBlur(event) {\n if (this.$props.disabled) {\n return;\n }\n this.focused = false;\n this.$emit('blur', event);\n }\n }\n};\n/**\n * Represents the [Kendo UI for Vue Native Switch component]({% slug overview_switch %}).\n * Accepts properties of type [SwitchProps]({% slug api_inputs_switchprops %}).\n */\nvar Switch = SwitchVue2;\nexport { Switch, SwitchVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { packageMetadata } from '../package-metadata';\nimport { validatePackage } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar InputSeparatorVue2 = {\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"span\", {\n \"class\": 'k-input-separator'\n });\n }\n};\n/**\n * Represents the Kendo UI for Vue InputSeparator component. It can be used as a semarator\n * between horizontal icons in prefi and suffic templates.\n *\n * ```jsx\n * \n * ```\n */\nvar InputSeparator = InputSeparatorVue2;\nexport { InputSeparator, InputSeparatorVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { guid, templateDefinition, validatePackage, kendoThemeMaps, templateRendering, getListeners, getTemplate, Icon } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { FloatingLabel } from '@progress/kendo-vue-labels';\nimport { checkIcon, exclamationCircleIcon, xIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar TextBoxVue2 = {\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'input': null,\n 'change': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'focus': null,\n 'blur': null,\n 'keyup': null,\n 'keydown': null,\n 'keypress': null\n },\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined\n },\n disabled: {\n type: Boolean,\n default: undefined\n },\n defaultValue: {\n type: [String, Number],\n default: ''\n },\n value: {\n type: [String, Number]\n },\n label: {\n type: String\n },\n placeholder: {\n type: String\n },\n required: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large', 'full'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'solid', 'flat', 'outline'].includes(value);\n }\n },\n dir: {\n type: String\n },\n id: String,\n valid: {\n type: Boolean,\n default: undefined\n },\n validate: {\n type: Boolean\n },\n validationMessage: {\n type: String\n },\n validityStyles: {\n type: Boolean,\n default: true\n },\n iconName: String,\n inputPrefix: templateDefinition,\n inputSuffix: templateDefinition,\n showValidationIcon: Boolean,\n showLoadingIcon: Boolean,\n showClearButton: Boolean,\n inputClass: String,\n wrapperClass: String,\n tabIndex: Number,\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n data: function data() {\n return {\n hasMounted: false,\n autofill: false,\n currentValue: '',\n valueDuringOnChange: '',\n focused: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this._input = undefined;\n this._inputId = guid();\n this.$data.valueDuringOnChange = undefined;\n this.$data.currentValue = this.$props.defaultValue;\n },\n mounted: function mounted() {\n this._input = this.v3 ? this.inputRef : this.$refs.input;\n this.wrapper = this.v3 ? this.wrapperRef : this.$refs.wrapper;\n this.$data.hasMounted = true;\n this.setValidity();\n },\n updated: function updated() {\n this.setValidity();\n this.updateValidClass();\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var isValid = !this.$props.validityStyles || this.validity().valid;\n var _a = this.$props,\n label = _a.label,\n id = _a.id,\n required = _a.required,\n iconName = _a.iconName,\n showValidationIcon = _a.showValidationIcon,\n showLoadingIcon = _a.showLoadingIcon,\n showClearButton = _a.showClearButton,\n tabIndex = _a.tabIndex,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy;\n var inputId = id || this._inputId;\n var textbox = h('input', __assign(__assign({\n domProps: this.v3 ? null : __assign(__assign({}, this.$attrs), {\n placeholder: this.$props.placeholder,\n id: inputId,\n required: required,\n disabled: this.$props.disabled,\n value: this.computedValue\n }),\n attrs: this.v3 ? undefined : __assign(__assign({}, this.$attrs), {\n tabindex: tabIndex\n })\n }, this.$attrs), {\n placeholder: this.$props.placeholder,\n id: inputId,\n tabindex: tabIndex,\n required: required,\n ariaLabelledby: ariaLabelledBy,\n ariaDescribedby: ariaDescribedBy,\n ariaDisabled: this.$props.disabled,\n disabled: this.$props.disabled,\n value: this.computedValue,\n class: this.inputInnerClass,\n ref: this.v3 ? function (el) {\n _this.inputRef = el;\n } : 'input',\n on: this.v3 ? null : {\n change: this.handleChange,\n focus: this.emitFocus,\n blur: this.emitBlur,\n keydown: this.handleKeydown,\n keyup: this.handleKeyup,\n keypress: this.handleKeypress,\n input: this.handleInput,\n animationstart: this.handleAutoFill,\n animationend: this.handleAutoFillEnd\n },\n onKeydown: this.handleKeydown,\n onKeyup: this.handleKeyup,\n onKeypress: this.handleKeypress,\n onChange: this.handleChange,\n onFocus: this.emitFocus,\n onBlur: this.emitBlur,\n onInput: this.handleInput,\n onAnimationstart: this.handleAutoFill,\n onAnimationend: this.handleAutoFillEnd\n }));\n var inputPrefixTemplate = templateRendering.call(this, this.$props.inputPrefix, getListeners.call(this));\n var inputSuffixTemplate = templateRendering.call(this, this.$props.inputSuffix, getListeners.call(this));\n var inputPrefix = getTemplate.call(this, {\n h: h,\n template: inputPrefixTemplate,\n additionalProps: {\n value: this.computedValue,\n valid: isValid\n }\n });\n var inputSuffix = getTemplate.call(this, {\n h: h,\n template: inputSuffixTemplate,\n additionalProps: {\n value: this.computedValue,\n valid: isValid\n }\n });\n var inputWrapper = h(\"span\", {\n \"class\": this.inputWrapperClass(),\n ref: this.v3 ? function (el) {\n _this.wrapperRef = el;\n } : 'wrapper'\n }, [iconName && h(Icon, {\n name: iconName,\n attrs: this.v3 ? undefined : {\n name: iconName\n },\n \"class\": \"k-input-icon\"\n }), this.$props.inputPrefix && h(\"span\", {\n \"class\": \"k-input-prefix\"\n }, [inputPrefix]), textbox, this.$props.inputSuffix && h(\"span\", {\n \"class\": \"k-input-suffix\"\n }, [inputSuffix]), showValidationIcon && isValid && h(Icon, {\n name: 'check',\n attrs: this.v3 ? undefined : {\n name: 'check',\n icon: checkIcon\n },\n icon: checkIcon,\n \"class\": \"k-input-validation-icon\"\n }), showValidationIcon && !isValid && h(Icon, {\n name: 'exclamation-circle',\n attrs: this.v3 ? undefined : {\n name: 'exclamation-circle',\n icon: exclamationCircleIcon\n },\n icon: exclamationCircleIcon,\n \"class\": \"k-input-validation-icon\"\n }), showLoadingIcon && h(Icon, {\n name: 'loading',\n attrs: this.v3 ? undefined : {\n name: 'loading'\n },\n \"class\": 'k-input-loading-icon'\n }), showClearButton && this.computedValue && h(\"span\", {\n onClick: this.clearClick,\n on: this.v3 ? undefined : {\n \"click\": this.clearClick\n },\n \"class\": \"k-clear-value\"\n }, [h(Icon, {\n name: 'x',\n attrs: this.v3 ? undefined : {\n name: 'x',\n icon: xIcon\n },\n icon: xIcon\n })])]);\n return label ?\n // @ts-ignore function children\n h(FloatingLabel, {\n label: label,\n attrs: this.v3 ? undefined : {\n label: label,\n editorId: inputId,\n editorValue: this.computedValue,\n editorValid: isValid,\n editorDisabled: this.$props.disabled,\n editorPlaceholder: this.$data.focused ? this.$props.placeholder : '',\n dir: this.$props.dir\n },\n editorId: inputId,\n editorValue: this.computedValue,\n editorValid: isValid,\n editorDisabled: this.$props.disabled,\n editorPlaceholder: this.$data.focused ? this.$props.placeholder : '',\n dir: this.$props.dir\n }, this.v3 ? function () {\n return [inputWrapper];\n } : [inputWrapper]) : inputWrapper;\n },\n methods: {\n updateValidClass: function updateValidClass() {\n this.wrapper.classList.toggle('k-invalid', !this.validity().valid);\n },\n emitFocus: function emitFocus(e) {\n this.$emit('focus', e);\n this.$data.focused = true;\n },\n emitBlur: function emitBlur(e) {\n this.$emit('blur', e);\n this.$data.focused = false;\n },\n handleKeydown: function handleKeydown(e) {\n this.$emit('keydown', e);\n },\n handleKeyup: function handleKeyup(e) {\n this.$emit('keyup', e);\n },\n handleKeypress: function handleKeypress(e) {\n this.$emit('keypress', e);\n },\n clearClick: function clearClick(event) {\n this.emitUpdate(event, 'change', '');\n },\n focus: function focus() {\n if (this._input) {\n this._input.focus();\n }\n },\n validity: function validity() {\n var result = {\n badTextBox: this._input ? this._input.validity.badTextBox : false,\n patternMismatch: this._input ? this._input.validity.patternMismatch : false,\n rangeOverflow: this._input ? this._input.validity.rangeOverflow : false,\n rangeUnderflow: this._input ? this._input.validity.rangeUnderflow : false,\n stepMismatch: this._input ? this._input.validity.stepMismatch : false,\n tooLong: this._input ? this._input.validity.tooLong : false,\n tooShort: this._input ? this._input.validity.tooShort : false,\n typeMismatch: this._input ? this._input.validity.typeMismatch : false,\n valueMissing: this._input ? this._input.validity.valueMissing : false\n };\n return __assign(__assign({}, result), {\n customError: this.$props.validationMessage !== undefined,\n valid: this.$props.valid !== undefined ? this.$props.valid : this._input ? !this.isInvalid(result) : true\n });\n },\n isInvalid: function isInvalid(state) {\n var result = false;\n for (var prop in state) {\n if (state.hasOwnProperty(prop)) {\n result = result || state[prop];\n }\n }\n return result;\n },\n setValidity: function setValidity() {\n if (this._input && this._input.setCustomValidity) {\n this._input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || '');\n }\n },\n handleInput: function handleInput(event) {\n this.emitUpdate(event, 'input', event.target.value);\n },\n handleChange: function handleChange(event) {\n this.emitUpdate(event, 'change', event.target.value);\n },\n emitUpdate: function emitUpdate(event, eventName, value) {\n var that = this;\n if (this.disabled) {\n return;\n }\n this.$data.currentValue = value;\n this.$data.valueDuringOnChange = value;\n this.$nextTick(function () {\n that.$emit('changemodel', value);\n that.$emit('update:modelValue', value);\n that.$emit(eventName, {\n event: event,\n value: value,\n component: that,\n target: event.target,\n validity: that.validity()\n });\n that.$data.valueDuringOnChange = undefined;\n });\n },\n handleAutoFill: function handleAutoFill(e) {\n if (e.animationName === 'autoFillStart') {\n var parent_1 = e.target.parentNode;\n if (parent_1 && parent_1.classList.contains('k-empty')) {\n this.$data.autofill = true;\n parent_1.classList.remove('k-empty');\n }\n }\n },\n handleAutoFillEnd: function handleAutoFillEnd(e) {\n if (e.animationName === 'autoFillEnd') {\n var parent_2 = e.target.parentNode;\n if (parent_2) {\n this.$data.autofill = false;\n }\n }\n },\n name: function name() {\n return this.$props.name;\n },\n inputWrapperClass: function inputWrapperClass() {\n var _a;\n var _b = this.$props,\n size = _b.size,\n fillMode = _b.fillMode,\n rounded = _b.rounded;\n var isValid = !this.$data.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return _a = {\n 'k-textbox': true,\n 'k-input': true\n }, _a[\"k-input-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-input-\".concat(fillMode)] = fillMode, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-invalid'] = !isValid, _a['k-required'] = this.required, _a['k-disabled'] = this.$props.disabled, _a[this.wrapperClass] = this.wrapperClass, _a;\n }\n },\n computed: {\n spanClassNames: {\n get: function get() {\n var isValid = !this.$data.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return {\n 'k-floating-label-container': true,\n 'k-focus': this.$data.focused,\n 'k-empty': !((this.computedValue === 0 ? true : this.computedValue) || this.$props.placeholder || this.$data.autofill),\n 'k-autofill': this.$data.autofill,\n 'k-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n }\n },\n inputInnerClass: function inputInnerClass() {\n var _a;\n return _a = {\n 'k-input-inner': true\n }, _a[this.inputClass] = this.inputClass, _a;\n },\n computedValue: {\n get: function get() {\n return this.$data.valueDuringOnChange !== undefined ? this.$data.valueDuringOnChange : this.$props.value !== undefined ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.$data.currentValue;\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar TextBox = TextBoxVue2;\nexport { TextBox, TextBoxVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar DEFAULT_NUMBER = 1111111.1111111;\nvar MAX_DECIMAL = 0.31111111111111117;\nvar MIN_DECIMAL = 1;\nvar ONE_NUMBER = 1;\nvar ZERO_NUMBER = 0;\nvar DIGITS_REGEX = /\\d/;\nvar MAX_PRECISION = 15;\n/**\n * @hidden\n */\nexport var getInitialState = function getInitialState() {\n return {\n eventValue: null,\n prevLooseValue: '',\n currentLooseValue: '',\n focused: false,\n selectionStart: undefined,\n selectionEnd: undefined,\n decimalSelect: false,\n valueIsCorrected: false,\n valueIsOutOfRange: false\n };\n};\n/**\n * @hidden\n */\nexport var getStateOrPropsValue = function getStateOrPropsValue(value, stateValue) {\n return value !== undefined ? value : stateValue;\n};\n/**\n * @hidden\n */\nexport var formatValue = function formatValue(value, format, intlService) {\n if (value === null && value === undefined) {\n return '';\n }\n if (typeof value === 'string') {\n return value;\n }\n return intlService.formatNumber(value, format);\n};\n/**\n * @hidden\n */\nexport var fractionLength = function fractionLength(value) {\n return (String(value).split('.')[1] || '').length;\n};\n/**\n * @hidden\n */\nvar maxFractionLength = function maxFractionLength(value1, value2) {\n return Math.max(fractionLength(value1), fractionLength(value2));\n};\n/**\n * @hidden\n */\nexport var limitPrecision = function limitPrecision(precision) {\n return Math.min(precision, MAX_PRECISION);\n};\n/**\n * @hidden\n */\nexport var toFixedPrecision = function toFixedPrecision(value, precision) {\n var maxPrecision = limitPrecision(precision);\n return parseFloat(value.toFixed(maxPrecision));\n};\n/**\n * @hidden\n */\nexport var increaseValue = function increaseValue(value, newState, step, min, max, format, intlService) {\n var maxPrecision = maxFractionLength(value || 0, step || 0);\n var increasedValue = rangeValue(toFixedPrecision((value || 0) + (step || 0), maxPrecision), min, max);\n newState.eventValue = increasedValue;\n newState.currentLooseValue = formatValue(increasedValue, format, intlService);\n newState.selectionStart = newState.selectionEnd = getLastNumberIndex(newState.currentLooseValue, DIGITS_REGEX);\n};\n/**\n * @hidden\n */\nexport var decreaseValue = function decreaseValue(value, newState, step, min, max, format, intlService) {\n var maxPrecision = maxFractionLength(value || 0, step || 0);\n var decreasedValue = rangeValue(toFixedPrecision((value || 0) - (step || 0), maxPrecision), min, max);\n newState.eventValue = decreasedValue;\n newState.currentLooseValue = formatValue(decreasedValue, format, intlService);\n newState.selectionStart = newState.selectionEnd = getLastNumberIndex(newState.currentLooseValue, DIGITS_REGEX);\n};\n/**\n * @hidden\n */\nexport var rangeValue = function rangeValue(value, min, max) {\n if (value == null) {\n return value;\n }\n if (!(value > 1 || value < 1 || value === 1)) {\n // null, undefined or NaN\n return null;\n }\n if (max !== undefined && min !== undefined && max < min) {\n return null;\n }\n if (max !== undefined && value > max) {\n value = max;\n }\n if (min !== undefined && value < min) {\n value = min;\n }\n return value;\n};\n/**\n * @hidden\n */\nexport var getMaxCursorPosition = function getMaxCursorPosition(nextValue, formatInfo) {\n var formatSuffixIndex = formatInfo.findIndex(function (_a) {\n var _ = _a[0],\n currSuffix = _a[1];\n return Boolean(currSuffix) && nextValue.indexOf(currSuffix) === nextValue.length - currSuffix.length;\n });\n if (formatSuffixIndex === -1) {\n return -1;\n }\n var suffix = formatInfo[formatSuffixIndex][1];\n return nextValue.length - suffix.length;\n};\n/**\n * @hidden\n */\nexport var getMinCursorPosition = function getMinCursorPosition(nextValue, formatInfo) {\n var formatPrefixIndex = formatInfo.findIndex(function (_a) {\n var currPrefix = _a[0],\n _ = _a[1];\n return Boolean(currPrefix) && nextValue.indexOf(currPrefix) === 0;\n });\n if (formatPrefixIndex === -1) {\n return -1;\n }\n var prefix = formatInfo[formatPrefixIndex][0];\n return prefix.length;\n};\n/**\n * @hidden\n */\nexport var rangeSelection = function rangeSelection(nextLooseValue, formatInfo, newState) {\n var maxPosition = getMaxCursorPosition(nextLooseValue, formatInfo);\n if (maxPosition !== -1 && newState.selectionStart > maxPosition) {\n newState.selectionStart = newState.selectionEnd = maxPosition;\n return;\n }\n if (newState.selectionStart > nextLooseValue.length) {\n newState.selectionStart = newState.selectionEnd = nextLooseValue.length;\n }\n var minPosition = getMinCursorPosition(nextLooseValue, formatInfo);\n if (minPosition !== -1 && newState.selectionStart < minPosition) {\n newState.selectionStart = newState.selectionEnd = minPosition;\n }\n if (newState.selectionStart === -1) {\n newState.selectionStart = newState.selectionEnd = 0;\n }\n};\n/**\n * @hidden\n */\nexport var setSelection = function setSelection(newState, newIndex, nextLooseValue, formatInfo) {\n newState.selectionStart = newState.selectionEnd = newIndex;\n rangeSelection(nextLooseValue, formatInfo, newState);\n};\n/**\n * @hidden\n */\nexport var setInvalid = function setInvalid(newState, format, formatInfo, intlService) {\n newState.eventValue = intlService.parseNumber(newState.prevLooseValue, format);\n newState.currentLooseValue = newState.prevLooseValue;\n newState.valueIsCorrected = true;\n setSelection(newState, newState.selectionStart, newState.currentLooseValue, formatInfo);\n};\n/**\n * @hidden\n */\nexport var isMinusSymbolAdded = function isMinusSymbolAdded(newState, symbols) {\n var newText = String(newState.currentLooseValue);\n var oldText = String(newState.prevLooseValue);\n return newText.split(symbols.minusSign).length !== oldText.split(symbols.minusSign).length && newText.length === oldText.length + symbols.minusSign.length;\n};\n/**\n * @hidden\n */\nexport var isMinusSymbolRemoved = function isMinusSymbolRemoved(newState, symbols) {\n var newText = String(newState.currentLooseValue);\n var oldText = String(newState.prevLooseValue);\n return newText.indexOf(symbols.minusSign) === -1 && oldText.indexOf(symbols.minusSign) !== -1;\n};\n/**\n * @hidden\n */\nexport var isDecimalDuplicated = function isDecimalDuplicated(newState, symbols) {\n var newText = String(newState.currentLooseValue);\n return newText.split(symbols.decimal).length > 2;\n};\n/**\n * @hidden\n */\nexport var getFormatPrefixSufix = function getFormatPrefixSufix(format, intlService) {\n var positiveResult = intlService.formatNumber(DEFAULT_NUMBER, format);\n var negativeResult = intlService.formatNumber(-DEFAULT_NUMBER, format);\n var zeroResult = intlService.formatNumber(ZERO_NUMBER, format);\n var oneResult = intlService.formatNumber(ONE_NUMBER, format);\n var positivePrefix = getPrefix(positiveResult);\n var negativePrefix = getPrefix(negativeResult);\n var zeroPrefix = getPrefix(zeroResult);\n var onePrefix = getPrefix(oneResult);\n var positiveSuffix = getSuffix(positiveResult);\n var negativeSuffix = getSuffix(negativeResult);\n var zeroSuffix = getSuffix(zeroResult);\n var oneSuffix = getSuffix(oneResult);\n return {\n positiveInfo: [positivePrefix, positiveSuffix],\n negativeInfo: [negativePrefix, negativeSuffix],\n zeroInfo: [zeroPrefix, zeroSuffix],\n oneInfo: [onePrefix, oneSuffix]\n };\n};\n/**\n * @hidden\n */\nexport var getFormatSymbols = function getFormatSymbols(format, intlService) {\n var positiveResult = intlService.formatNumber(DEFAULT_NUMBER, format);\n var negativeResult = intlService.formatNumber(-DEFAULT_NUMBER, format);\n var zeroResult = intlService.formatNumber(ZERO_NUMBER, format);\n var oneResult = intlService.formatNumber(ONE_NUMBER, format);\n var symbols = intlService.numberSymbols();\n var sanitizeRegex = new RegExp(\"[\\\\d\\\\\".concat(symbols.decimal).concat(symbols.group, \"]\"), 'g');\n var resultWithDuplicates = [positiveResult, negativeResult, zeroResult, oneResult].map(function (result) {\n return result.replace(sanitizeRegex, '');\n }).join('');\n return resultWithDuplicates.split('').filter(function (x, n, s) {\n return s.indexOf(x) === n;\n }).join('');\n};\n/**\n * @hidden\n */\nexport var getInitialPosition = function getInitialPosition(nextLooseValue, symbols) {\n var decimalIdex = nextLooseValue.indexOf(symbols.decimal);\n if (decimalIdex > -1) {\n return decimalIdex;\n }\n return getLastNumberIndex(nextLooseValue, DIGITS_REGEX);\n};\n/**\n * @hidden\n */\nexport var reverseString = function reverseString(str) {\n return str.split('').reverse().join('');\n};\n/**\n * @hidden\n */\nexport var getLastNumberIndex = function getLastNumberIndex(currentLooseValue, inputRegex) {\n return currentLooseValue.length - reverseString(currentLooseValue).search(inputRegex);\n};\n/**\n * @hidden\n */\nexport var getPrefix = function getPrefix(str) {\n return str.split(str[str.search(DIGITS_REGEX)])[0];\n};\n/**\n * @hidden\n */\nexport var getSuffix = function getSuffix(str) {\n var reversedString = reverseString(str);\n return reverseString(reversedString.split(reversedString[reversedString.search(DIGITS_REGEX)])[0]);\n};\n/**\n * @hidden\n */\nexport var getFirstNumberIndex = function getFirstNumberIndex(prevLooseValue, inputRegex) {\n return prevLooseValue.search(inputRegex);\n};\n/**\n * @hidden\n */\nexport var getDecimalCount = function getDecimalCount(value, decimal) {\n var currentDecimalPlace = value.indexOf(decimal);\n return currentDecimalPlace > -1 ? value.length - currentDecimalPlace - 1 : 0;\n};\n/**\n * @hidden\n */\nexport var changeBasedSelection = function changeBasedSelection(currentValue, nextValue, selectionPosition, isDelete, sanitizeRegex) {\n var isCurrentLeadingZero = currentValue.replace(sanitizeRegex, '')[0] === '0';\n var isNextLeadingZero = nextValue.replace(sanitizeRegex, '')[0] === '0';\n if (isCurrentLeadingZero && !isNextLeadingZero) {\n return selectionPosition - 1;\n }\n if (isNextLeadingZero && isDelete) {\n return selectionPosition + 1;\n }\n var numberCounter = 0;\n for (var idx = 0; idx < selectionPosition; idx++) {\n if (DIGITS_REGEX.test(currentValue.charAt(idx))) {\n numberCounter++;\n }\n }\n var newSelection = 0;\n while (numberCounter > 0 && nextValue.length > newSelection) {\n if (DIGITS_REGEX.test(nextValue.charAt(newSelection))) {\n numberCounter--;\n }\n newSelection++;\n }\n return newSelection;\n};\n/**\n * @hidden\n */\nexport var sanitizeNumber = function sanitizeNumber(state, format, intlService) {\n var newState = __assign({}, state);\n var prevLooseValue = newState.prevLooseValue;\n var symbols = intlService.numberSymbols();\n var restrictedSymbols = getFormatSymbols(format, intlService);\n var currentLooseValueAsString = String(newState.currentLooseValue);\n var prevLooseValueAsString = String(prevLooseValue);\n var sanitizeRegex = new RegExp(\"[^\\\\d\\\\\".concat(symbols.decimal, \"]\"), 'g');\n var sanitizeGroupRegex = new RegExp(\"[^\\\\d\\\\\".concat(symbols.decimal, \"\\\\\").concat(symbols.group, \"]\"), 'g');\n var allSymbolsRegex = new RegExp(\"[\\\\d\\\\\".concat(symbols.decimal, \"\\\\\").concat(symbols.group, \"]\"));\n var sanitizedString = currentLooseValueAsString.replace(sanitizeRegex, '');\n var numberStart = getFirstNumberIndex(currentLooseValueAsString, DIGITS_REGEX);\n var numberEnd = numberStart === -1 ? -1 : getLastNumberIndex(currentLooseValueAsString, DIGITS_REGEX);\n var decimalIndex = currentLooseValueAsString.indexOf(symbols.decimal);\n var sanitizedFormattedString = (currentLooseValueAsString.substring(0, numberStart) + currentLooseValueAsString.substring(numberStart, numberEnd).replace(sanitizeGroupRegex, '') + currentLooseValueAsString.substring(numberEnd, currentLooseValueAsString.length)).split('').filter(function (s) {\n return restrictedSymbols.indexOf(s) !== -1 || s.search(allSymbolsRegex) !== -1;\n }).join('');\n var formattedMax = intlService.formatNumber(MAX_DECIMAL, format).replace(sanitizeRegex, '');\n var maxDecimalIndex = formattedMax.indexOf(symbols.decimal);\n var maxDecimalCount = maxDecimalIndex > -1 ? formattedMax.length - maxDecimalIndex - 1 : 0;\n var formattedMin = intlService.formatNumber(MIN_DECIMAL, format).replace(sanitizeRegex, '');\n var minDecimalIndex = formattedMin.indexOf(symbols.decimal);\n var minDecimalCount = minDecimalIndex > -1 ? formattedMin.length - minDecimalIndex - 1 : 0;\n var _a = getFormatPrefixSufix(format, intlService),\n positiveInfo = _a.positiveInfo,\n negativeInfo = _a.negativeInfo,\n zeroInfo = _a.zeroInfo,\n oneInfo = _a.oneInfo;\n var formatInfo = [positiveInfo, negativeInfo, zeroInfo, oneInfo];\n var isFormatContainPrefixSuffix = formatInfo.findIndex(function (info) {\n return info.findIndex(function (nestedInfo) {\n return Boolean(nestedInfo);\n }) !== -1;\n }) !== 1;\n var isDelete = currentLooseValueAsString.length > 0 && currentLooseValueAsString.length < prevLooseValueAsString.length;\n var isPercentFormat = format && format[0] === 'p' && currentLooseValueAsString && currentLooseValueAsString.indexOf(symbols.percentSign) === -1;\n if (!newState.isPaste) {\n // 1. Empty input\n if (currentLooseValueAsString === '') {\n newState.eventValue = null;\n newState.currentLooseValue = '';\n return newState;\n }\n // 2. Check is minus sign\n if (newState.currentLooseValue === symbols.minusSign && intlService.formatNumber(-0, format) !== prevLooseValueAsString) {\n newState.eventValue = -0;\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n setSelection(newState, getInitialPosition(newState.currentLooseValue, symbols), newState.currentLooseValue, formatInfo);\n return newState;\n }\n // 3. Minus sign toggle\n if (isMinusSymbolAdded(newState, symbols)) {\n var nextValue = intlService.parseNumber(prevLooseValue, format);\n newState.eventValue = -(nextValue !== null ? nextValue : 0);\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n var currentNumberStart = getFirstNumberIndex(newState.currentLooseValue, DIGITS_REGEX);\n var oldNumberStart = getFirstNumberIndex(prevLooseValueAsString, DIGITS_REGEX);\n setSelection(newState, newState.selectionEnd - 1 + (currentNumberStart - oldNumberStart), newState.currentLooseValue, formatInfo);\n return newState;\n }\n if (isMinusSymbolRemoved(newState, symbols)) {\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n setSelection(newState, newState.selectionStart, newState.currentLooseValue, formatInfo);\n return newState;\n }\n // 4. Check is decimal symbol\n if (newState.currentLooseValue === symbols.decimal) {\n newState.eventValue = 0;\n var valueCandidate = formatValue(newState.eventValue, format, intlService);\n if (minDecimalCount === 0 && maxDecimalCount > 0) {\n var currentLastNumberIndex = getLastNumberIndex(valueCandidate, DIGITS_REGEX);\n newState.currentLooseValue = valueCandidate.substring(0, currentLastNumberIndex) + symbols.decimal + valueCandidate.substring(currentLastNumberIndex);\n } else {\n newState.currentLooseValue = valueCandidate;\n }\n setSelection(newState, getInitialPosition(newState.currentLooseValue, symbols) + 1, newState.currentLooseValue, formatInfo);\n return newState;\n }\n // 5. Duplicate decimal - it's possible only as trailing\n if (isDecimalDuplicated(newState, symbols)) {\n setInvalid(newState, format, formatInfo, intlService);\n return newState;\n }\n // 6. Percent format\n if (isPercentFormat) {\n newState.eventValue = intlService.parseNumber(currentLooseValueAsString, format) / 100;\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n return newState;\n }\n // 7. More than 15 numeric symbols\n var numericSymbols = String(newState.currentLooseValue).replace(/[^\\d]/g, '');\n if (numericSymbols.length > MAX_PRECISION) {\n setInvalid(newState, format, formatInfo, intlService);\n return newState;\n }\n // 8. Check prefix / suffix for modifications\n if (sanitizedString !== currentLooseValueAsString && currentLooseValueAsString && isFormatContainPrefixSuffix) {\n var formatInfoIndex = formatInfo.findIndex(function (_a) {\n var prefix = _a[0],\n suffix = _a[1];\n var prefixIndex = currentLooseValueAsString.indexOf(prefix);\n var suffixIndex = currentLooseValueAsString.indexOf(suffix);\n var prefixFound = prefixIndex === 0;\n var suffixFound = suffixIndex === currentLooseValueAsString.length - suffix.length;\n var prefixGap = prefixIndex + prefix.length !== numberStart && numberStart !== -1 && currentLooseValueAsString[prefixIndex + prefix.length] !== symbols.decimal;\n var suffixGap = suffixIndex !== numberEnd && numberEnd !== -1 && currentLooseValueAsString[suffixIndex - 1] !== symbols.decimal;\n if (prefix && suffix) {\n if (prefixGap || suffixGap) {\n return false;\n }\n return prefixFound && suffixFound;\n }\n if (prefix) {\n if (prefixGap) {\n return false;\n }\n return prefixFound;\n }\n if (suffix) {\n if (suffixGap) {\n return false;\n }\n return suffixFound;\n }\n return false;\n });\n if (formatInfoIndex === -1) {\n setInvalid(newState, format, formatInfo, intlService);\n return newState;\n }\n }\n // 9. Value ending on decimal separator (here as decimal might be typed inside format)\n if (sanitizedString[sanitizedString.length - 1] === symbols.decimal && maxDecimalCount > 0) {\n newState.eventValue = intlService.parseNumber(currentLooseValueAsString, format);\n newState.currentLooseValue = sanitizedFormattedString;\n return newState;\n }\n // 10. prevent deleting decimal and group symbols\n if (newState.currentLooseValue && prevLooseValue) {\n var isSpecialSymbolDeleted = (restrictedSymbols + symbols.decimal + symbols.group).split('').findIndex(function (s) {\n if (currentLooseValueAsString.split('').filter(function (x) {\n return x === s;\n }).length < prevLooseValueAsString.split('').filter(function (x) {\n return x === s;\n }).length && currentLooseValueAsString.length + 1 === prevLooseValueAsString.length) {\n if (s === symbols.decimal && getDecimalCount(prevLooseValueAsString.replace(sanitizeRegex, ''), symbols.decimal) === 0) {\n return false;\n }\n return true;\n }\n return false;\n }) > -1;\n if (isSpecialSymbolDeleted) {\n newState.eventValue = intlService.parseNumber(state.prevLooseValue, format);\n newState.currentLooseValue = state.prevLooseValue;\n return newState;\n }\n }\n var currentDecimalCount = getDecimalCount(sanitizedString, symbols.decimal);\n var endsOnDecimal = sanitizedString[sanitizedString.length - 1] === '0';\n // 11. Deleting more decimals than allowed\n if (isDelete && endsOnDecimal && currentDecimalCount < minDecimalCount) {\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n return newState;\n }\n // 12. Ending on zero OR more decimals than allowed\n if (currentDecimalCount > 0) {\n var valueUntillDecimal = currentLooseValueAsString.substring(0, decimalIndex);\n if (endsOnDecimal && (!valueUntillDecimal || prevLooseValueAsString.indexOf(valueUntillDecimal) !== 0)) {\n // ending on zero but typing before decimal separator\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n var nextLooseValue = formatValue(newState.eventValue, format, intlService);\n setSelection(newState, changeBasedSelection(currentLooseValueAsString, nextLooseValue, newState.selectionEnd, isDelete, sanitizeRegex), nextLooseValue, formatInfo);\n newState.currentLooseValue = nextLooseValue;\n return newState;\n }\n if (currentDecimalCount > maxDecimalCount) {\n // typing more symbols than format allows\n var looseDecimalPlace = currentLooseValueAsString.indexOf(symbols.decimal);\n var result = currentLooseValueAsString.substring(0, looseDecimalPlace) + currentLooseValueAsString.substring(looseDecimalPlace, looseDecimalPlace + 1 + maxDecimalCount) + currentLooseValueAsString.substring(numberEnd, String(newState.currentLooseValue).length);\n newState.eventValue = intlService.parseNumber(result, format);\n newState.currentLooseValue = result;\n setSelection(newState, newState.selectionStart, result, formatInfo);\n return newState;\n }\n if (minDecimalCount !== maxDecimalCount && currentDecimalCount <= maxDecimalCount && endsOnDecimal) {\n // adding trailing zeroes\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n newState.currentLooseValue = sanitizedFormattedString;\n return newState;\n }\n if (currentDecimalCount < minDecimalCount) {\n // deleting more decimals than allowed\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n newState.currentLooseValue = formatValue(newState.eventValue, format, intlService);\n return newState;\n }\n }\n }\n // X. All other values should be parsed\n newState.eventValue = intlService.parseNumber(newState.currentLooseValue, format);\n if (isPercentFormat) {\n newState.eventValue = newState.eventValue / 100;\n }\n if (typeof newState.eventValue === 'number') {\n var nextLooseValue = formatValue(newState.eventValue, format, intlService);\n // First digit add\n if (currentLooseValueAsString.length === 1) {\n setSelection(newState, getInitialPosition(nextLooseValue, symbols), nextLooseValue, formatInfo);\n } else {\n setSelection(newState, changeBasedSelection(currentLooseValueAsString, nextLooseValue, newState.selectionEnd, isDelete, sanitizeRegex), nextLooseValue, formatInfo);\n }\n newState.currentLooseValue = nextLooseValue;\n } else {\n // Case when deleting last number\n newState.currentLooseValue = formatValue(intlService.parseNumber(sanitizedString), format, intlService);\n }\n return newState;\n};","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { canUseDOM, getDefaultSlots, getListeners, getRef, getTemplate, Icon, kendoThemeMaps, setRef, templateDefinition, templateRendering } from '@progress/kendo-vue-common';\nimport { provideIntlService, provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { guid, validatePackage } from '@progress/kendo-vue-common';\nimport { Button as KButton } from '@progress/kendo-vue-buttons';\nimport { messages, numericIncreaseValue, numericDecreaseValue } from '../messages/main';\nimport { formatValue, sanitizeNumber, rangeValue, increaseValue, decreaseValue, getStateOrPropsValue } from './utils/main';\nimport { packageMetadata } from '../package-metadata';\nimport { caretAltDownIcon, caretAltUpIcon, checkIcon, exclamationCircleIcon, xIcon } from '@progress/kendo-svg-icons';\nvar VALIDATION_MESSAGE = 'Please enter a valid value!';\n/**\n * @hidden\n */\nvar NumericTextBoxVue2 = {\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'change': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'focus': null,\n 'blur': null\n },\n props: {\n modelValue: Number,\n value: Number,\n defaultValue: Number,\n step: {\n type: Number,\n default: 1\n },\n format: [String, Object],\n tabIndex: Number,\n accessKey: String,\n title: String,\n placeholder: String,\n min: Number,\n max: Number,\n spinners: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n dir: String,\n name: String,\n label: String,\n validationMessage: String,\n validityStyles: {\n type: Boolean,\n default: true\n },\n valid: {\n type: Boolean,\n default: undefined\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large', 'full'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'solid', 'flat', 'outline'].includes(value);\n }\n },\n required: {\n type: Boolean,\n default: false\n },\n id: String,\n ariaLabel: String,\n iconName: String,\n inputPrefix: templateDefinition,\n inputSuffix: templateDefinition,\n showValidationIcon: Boolean,\n showLoadingIcon: Boolean,\n showClearButton: Boolean,\n inputClass: String,\n inputType: {\n type: String,\n default: 'tel'\n },\n wrapperClass: String\n },\n inject: {\n kendoIntlService: {\n default: null\n },\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n hasMounted: false,\n isInvalid: false,\n isEmpty: false,\n currentValue: 0,\n valueDuringOnChange: 0,\n currentLooseValue: '',\n selectionStart: 0,\n selectionEnd: 0,\n decimalSelect: false,\n focused: false,\n forceUpdate: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this._textBeforeInput = '';\n this._inputId = guid();\n this.$data.currentLooseValue = null;\n this.$data.valueDuringOnChange = undefined;\n this._intl = provideIntlService(this);\n this._symbols = this._intl.numberSymbols();\n if (this.$props.value !== undefined) {\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n this.$data.currentValue = this.$props.modelValue;\n } else if (this.$props.defaultValue !== undefined) {\n this.$data.currentValue = this.$props.defaultValue;\n } else {\n this.$data.currentValue = null;\n }\n },\n mounted: function mounted() {\n this._input = getRef(this, 'input');\n this._elementWrapper = this.v3 ? this.elementWrapperRef : this.$refs.elementWrapper;\n this.$data.hasMounted = true;\n if (this._input) {\n this._textBeforeInput = this._input.value;\n }\n this.setValidity();\n },\n updated: function updated() {\n if (!(canUseDOM && document.activeElement !== this._input || !this._input) && this.$data.currentLooseValue !== null) {\n if (this.$data.forceUpdate) {\n this._input.selectionStart = this.$data.selectionStart;\n this._input.selectionEnd = this.$data.selectionEnd;\n this.$data.forceUpdate = false;\n }\n }\n if (this._input) {\n this._textBeforeInput = this._input.value;\n }\n this.setValidity();\n },\n computed: {\n computedValue: {\n get: function get() {\n if (this.$data.valueDuringOnChange !== undefined) {\n return this.$data.valueDuringOnChange;\n } else {\n return this.$data.currentValue;\n }\n }\n },\n looseValue: {\n get: function get() {\n return formatValue(this.$data.focused ? this.$data.currentLooseValue : getStateOrPropsValue(this.$props.value, this.$data.currentValue), this.$props.format, this._intl);\n }\n },\n spanClassNames: {\n get: function get() {\n var _a;\n var isValid = !this.$data.hasMounted || !this.$props.validityStyles || this.validity().valid;\n var compValue = this.computedValue;\n return _a = {\n 'k-floating-label-container': true,\n 'k-focus': this.$data.focused,\n 'k-empty': !(compValue === 0 ? true : compValue || this.$props.placeholder),\n 'k-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl'\n }, _a[this.inputClass] = this.inputClass, _a;\n }\n },\n wrapperClassNames: function wrapperClassNames() {\n var _a;\n var _b = this.$props,\n size = _b.size,\n fillMode = _b.fillMode,\n rounded = _b.rounded,\n required = _b.required,\n disabled = _b.disabled;\n var isValid = !this.$props.validityStyles || this.validity().valid;\n return _a = {\n 'k-input': true,\n 'k-numerictextbox': true\n }, _a[\"k-input-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-input-\".concat(fillMode)] = fillMode, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-invalid'] = !isValid, _a['k-required'] = required, _a['k-disabled'] = disabled, _a['k-loading'] = this.showLoadingIcon, _a[this.wrapperClass] = this.wrapperClass, _a;\n },\n inputInnerClass: function inputInnerClass() {\n var _a;\n return _a = {\n 'k-input-inner': true\n }, _a[this.inputClass] = this.inputClass, _a;\n }\n },\n methods: {\n validity: function validity() {\n // The NumericTextBox currently autocorrect its' value,\n // so the only invalid state is if it's required and\n // the value is null!\n var customError = this.$props.validationMessage !== undefined;\n var isValid = !this.$data.valueIsOutOfRange && (!this.$props.required || this.computedValue !== null);\n var valid = this.$props.valid !== undefined ? this.$props.valid : isValid;\n return {\n customError: customError,\n valid: valid,\n valueMissing: this.computedValue === null\n };\n },\n clearClick: function clearClick(event) {\n if (this.$props.value !== undefined) {\n // controlled\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n this.$data.currentValue = this.$props.modelValue;\n } else {\n // uncontrolled\n this.$data.currentValue = null;\n }\n this.$emit('changemodel', null);\n this.$emit('update:modelValue', null);\n this.$emit('change', {\n event: event,\n value: null,\n component: this,\n target: {\n name: this.$props.name,\n value: null\n },\n validity: this.validity()\n });\n },\n focus: function focus() {\n if (this._input) {\n this._input.focus();\n }\n },\n emitFocus: function emitFocus(e) {\n this.$data.currentLooseValue = this._prevLooseValue;\n this.$data.focused = true;\n this.$emit('focus', e);\n this.$data.forceUpdate = true;\n },\n emitBlur: function emitBlur(e) {\n this.$data.eventValue = null;\n this.$data.prevLooseValue = '';\n this.$data.currentLooseValue = '';\n this.$data.focused = false;\n this.$data.selectionStart = undefined;\n this.$data.selectionEnd = undefined;\n this.$data.decimalSelect = false;\n this.$data.valueIsCorrected = false;\n this.$data.valueIsOutOfRange = false;\n this.$emit('blur', e);\n this.$data.forceUpdate = true;\n },\n handleFocus: function handleFocus(_) {\n this.$data.focused = true;\n },\n handleBlur: function handleBlur(_) {\n this.$data.focused = false;\n },\n setValidity: function setValidity() {\n if (this._input && this._input.setCustomValidity) {\n this._input.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || VALIDATION_MESSAGE);\n }\n },\n getCurrentState: function getCurrentState() {\n return {\n eventValue: getStateOrPropsValue(this.$props.value, this.$data.currentValue),\n prevLooseValue: this._prevLooseValue,\n currentLooseValue: this._input.value,\n selectionStart: this._input.selectionStart,\n selectionEnd: this._input.selectionEnd,\n decimalSelect: false,\n valueIsCorrected: false,\n valueIsOutOfRange: false,\n isPaste: this._isPaste,\n focused: this.$data.focused\n };\n },\n parseNumber: function parseNumber(text) {\n return this._intl.parseNumber(text, this.$props.format);\n },\n elementChange: function elementChange(event) {\n var newState = this.getCurrentState();\n this._isPaste = false;\n this.triggerChange(event, sanitizeNumber(newState, this.$props.format, this._intl));\n },\n triggerChange: function triggerChange(event, newState) {\n var _this = this;\n if (this.$props.disabled) {\n return;\n }\n this.$data.valueDuringOnChange = newState.eventValue;\n this.$data.currentValue = newState.eventValue;\n var formattedValue = formatValue(rangeValue(newState.eventValue, this.$props.min, this.$props.max), this.$props.format, this._intl);\n var rangedValue = rangeValue(this.parseNumber(formattedValue), this.$props.min, this.$props.max);\n if (rangedValue !== newState.eventValue) {\n newState.valueIsOutOfRange = true;\n newState.eventValue = rangedValue;\n this.$data.valueDuringOnChange = rangedValue;\n this.$data.currentValue = rangedValue;\n }\n if (newState.valueIsCorrected) {\n var wrapper = this._elementWrapper;\n if (wrapper && wrapper.className.indexOf(\"k-invalid\") === -1) {\n this.$data.isInvalid = true;\n setTimeout(function () {\n _this.$data.isInvalid = false;\n }, 50);\n }\n }\n var shouldFireEvent = this.$props.value !== newState.eventValue;\n if (this.$props.value !== undefined) {\n // controlled\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n this.$data.currentValue = this.$props.modelValue;\n } else {\n // uncontrolled\n this.$data.currentValue = this.$data.valueDuringOnChange;\n }\n this.$data.prevLooseValue = newState.prevLooseValue;\n this.$data.currentLooseValue = newState.currentLooseValue;\n this.$data.selectionStart = newState.selectionStart;\n this.$data.selectionEnd = newState.selectionEnd;\n this.$data.decimalSelect = newState.decimalSelect;\n this.$data.valueIsCorrected = newState.valueIsCorrected;\n this.$data.valueIsOutOfRange = newState.valueIsOutOfRange;\n this.$data.focused = newState.focused;\n this.$data.isPaste = newState.isPaste;\n this.$data.forceUpdate = !this.$data.forceUpdate;\n if (shouldFireEvent) {\n this.$emit('changemodel', this.$data.valueDuringOnChange);\n this.$emit('update:modelValue', this.$data.valueDuringOnChange);\n this.$emit('change', {\n event: event,\n value: this.$data.valueDuringOnChange,\n component: this,\n target: {\n name: this.$props.name,\n value: this.$data.valueDuringOnChange\n },\n validity: this.validity()\n });\n }\n this.$data.valueDuringOnChange = undefined;\n },\n onPasteHandler: function onPasteHandler(_event) {\n this._isPaste = true;\n },\n increase: function increase(event) {\n var newState = this.getCurrentState();\n increaseValue(this.parseNumber(String(newState.currentLooseValue)), newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n this.triggerChange(event, newState);\n },\n decrease: function decrease(event) {\n var newState = this.getCurrentState();\n decreaseValue(this.parseNumber(String(newState.currentLooseValue)), newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n this.triggerChange(event, newState);\n },\n wheel: function wheel(event) {\n if (!canUseDOM || document.activeElement !== this._input || !this._input) {\n return;\n }\n if (event.deltaY < 0) {\n event.preventDefault();\n this.increase(event);\n }\n if (event.deltaY > 0) {\n event.preventDefault();\n this.decrease(event);\n }\n },\n keyDown: function keyDown(event) {\n var newState = this.getCurrentState();\n var currentValue = this.parseNumber(String(newState.currentLooseValue));\n // Select All\n if (newState.selectionEnd > newState.selectionStart && newState.selectionEnd - newState.selectionStart === String(newState.currentLooseValue).length) {\n return;\n }\n switch (event.keyCode) {\n case 38:\n // Arrow up\n increaseValue(currentValue, newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n break;\n case 40:\n // Arrow down\n decreaseValue(currentValue, newState, this.$props.step, this.$props.min, this.$props.max, this.$props.format, this._intl);\n break;\n case 13:\n // Enter - range values\n var formattedValue = formatValue(rangeValue(currentValue, this.$props.min, this.$props.max), this.$props.format, this._intl);\n var rangedValue = rangeValue(this.parseNumber(formattedValue), this.$props.min, this.$props.max);\n newState.eventValue = rangedValue;\n newState.currentLooseValue = formatValue(rangedValue, this.$props.format, this._intl);\n newState.selectionStart = newState.selectionEnd = newState.currentLooseValue.length;\n break;\n case 110:\n // Numpad decimal key\n var element = this._input;\n var symbols = this._intl.numberSymbols();\n if (element) {\n newState.currentLooseValue = newState.currentLooseValue.slice(0, newState.selectionStart) + symbols.decimal + newState.currentLooseValue.slice(newState.selectionEnd);\n newState.selectionStart = newState.selectionEnd = newState.selectionStart + 1;\n newState = sanitizeNumber(newState, this.$props.format, this._intl);\n }\n break;\n default:\n return;\n }\n event.preventDefault();\n this.triggerChange(event, newState);\n },\n spinnersWrapperMouseDown: function spinnersWrapperMouseDown(e) {\n if (canUseDOM && this._input) {\n e.preventDefault();\n if (document.activeElement !== this._input) {\n this._input.focus();\n }\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n var elementWrapperRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n var kendoIntlService = inject('kendoIntlService', {});\n return {\n v3: v3,\n inputRef: inputRef,\n elementWrapperRef: elementWrapperRef,\n kendoLocalizationService: kendoLocalizationService,\n kendoIntlService: kendoIntlService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n iconName = _a.iconName,\n showValidationIcon = _a.showValidationIcon,\n showLoadingIcon = _a.showLoadingIcon,\n showClearButton = _a.showClearButton;\n var inputId = this.$props.id || this._inputId;\n var defaultSlot = getDefaultSlots(this);\n var localizationService = provideLocalizationService(this);\n var isValid = this.validity().valid;\n if (this.$props.value !== undefined && this.$props.value !== this.$data.currentValue) {\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined && this.$props.modelValue !== this.$data.currentValue) {\n this.$data.currentValue = this.$props.modelValue;\n }\n this._prevLooseValue = this.looseValue;\n var inputPrefixTemplate = templateRendering.call(this, this.$props.inputPrefix, getListeners.call(this));\n var inputSuffixTemplate = templateRendering.call(this, this.$props.inputSuffix, getListeners.call(this));\n var inputPrefix = getTemplate.call(this, {\n h: h,\n template: inputPrefixTemplate,\n additionalProps: {\n value: this.computedValue,\n valid: isValid\n }\n });\n var inputSuffix = getTemplate.call(this, {\n h: h,\n template: inputSuffixTemplate,\n additionalProps: {\n value: this.computedValue,\n valid: isValid\n }\n });\n var numerictextbox = h(\"span\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n },\n \"class\": this.wrapperClassNames,\n style: this.$attrs.style\n }, [iconName && h(Icon, {\n name: iconName,\n attrs: this.v3 ? undefined : {\n name: iconName\n },\n \"class\": \"k-input-icon\"\n }), this.$props.inputPrefix && h(\"span\", {\n \"class\": \"k-input-prefix\"\n }, [inputPrefix]), h(\"input\", {\n tabindex: this.$props.tabIndex,\n attrs: this.v3 ? undefined : {\n tabindex: this.$props.tabIndex,\n accesskey: this.$props.accessKey,\n disabled: this.$props.disabled,\n title: this.$props.title,\n \"aria-label\": this.$props.ariaLabel,\n \"aria-valuemin\": this.$props.min,\n \"aria-valuemax\": this.$props.max,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined,\n placeholder: this.$props.placeholder,\n type: this.$props.inputType,\n spellcheck: false,\n autocomplete: \"off\",\n autocorrect: \"off\",\n id: inputId,\n role: 'spinbutton',\n name: this.$props.name\n },\n accesskey: this.$props.accessKey,\n disabled: this.$props.disabled,\n title: this.$props.title,\n \"aria-label\": this.$props.ariaLabel,\n \"aria-valuemin\": this.$props.min,\n \"aria-valuemax\": this.$props.max,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined,\n placeholder: this.$props.placeholder,\n type: this.$props.inputType,\n spellcheck: false,\n autocomplete: \"off\",\n autocorrect: \"off\",\n \"class\": this.inputInnerClass,\n id: inputId,\n role: 'spinbutton',\n value: this.v3 ? this.looseValue : null,\n domProps: this.v3 ? undefined : {\n \"value\": this.looseValue\n },\n name: this.$props.name,\n onWheel: this.wheel,\n on: this.v3 ? undefined : {\n \"wheel\": this.wheel,\n \"keydown\": this.keyDown,\n \"input\": this.elementChange,\n \"focus\": this.emitFocus,\n \"blur\": this.emitBlur,\n \"paste\": this.onPasteHandler\n },\n onKeydown: this.keyDown,\n onInput: this.elementChange,\n onFocus: this.emitFocus,\n onBlur: this.emitBlur,\n onPaste: this.onPasteHandler,\n ref: setRef(this, 'input')\n }), this.$props.inputSuffix && h(\"span\", {\n \"class\": \"k-input-suffix\"\n }, [inputSuffix]), showValidationIcon && isValid && h(Icon, {\n name: 'check',\n attrs: this.v3 ? undefined : {\n name: 'check',\n icon: checkIcon\n },\n icon: checkIcon,\n \"class\": \"k-input-validation-icon\"\n }), showValidationIcon && !isValid && h(Icon, {\n name: 'exclamation-circle',\n attrs: this.v3 ? undefined : {\n name: 'exclamation-circle',\n icon: exclamationCircleIcon\n },\n icon: exclamationCircleIcon,\n \"class\": \"k-input-validation-icon\"\n }), showLoadingIcon && h(Icon, {\n name: 'loading',\n attrs: this.v3 ? undefined : {\n name: 'loading'\n },\n \"class\": 'k-input-loading-icon'\n }), showClearButton && this.computedValue !== undefined && this.computedValue !== null && h(\"span\", {\n onClick: this.clearClick,\n on: this.v3 ? undefined : {\n \"click\": this.clearClick\n },\n \"class\": \"k-clear-value\"\n }, [h(Icon, {\n name: 'x',\n attrs: this.v3 ? undefined : {\n name: 'x',\n icon: xIcon\n },\n icon: xIcon\n })]), defaultSlot, this.$props.spinners && h(\"span\", {\n \"class\": \"k-input-spinner k-spin-button\",\n onMousedown: this.spinnersWrapperMouseDown,\n on: this.v3 ? undefined : {\n \"mousedown\": this.spinnersWrapperMouseDown\n }\n }, [\n // @ts-ignore\n h(KButton, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n tabIndex: -1,\n icon: 'caret-alt-up',\n svgIcon: caretAltUpIcon,\n rounded: null,\n \"aria-label\": localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue]),\n title: localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue])\n },\n tabIndex: -1,\n icon: 'caret-alt-up',\n svgIcon: caretAltUpIcon,\n \"class\": \"k-spinner-increase\",\n rounded: null,\n \"aria-label\": localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue]),\n title: localizationService.toLanguageString(numericIncreaseValue, messages[numericIncreaseValue]),\n onClick: this.increase,\n on: this.v3 ? undefined : {\n \"click\": this.increase\n }\n }),\n // @ts-ignore\n h(KButton, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n tabIndex: -1,\n icon: 'caret-alt-down',\n svgIcon: caretAltDownIcon,\n rounded: null,\n \"aria-label\": localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue]),\n title: localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue])\n },\n tabIndex: -1,\n \"class\": \"k-spinner-decrease\",\n icon: 'caret-alt-down',\n svgIcon: caretAltDownIcon,\n rounded: null,\n \"aria-label\": localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue]),\n title: localizationService.toLanguageString(numericDecreaseValue, messages[numericDecreaseValue]),\n onClick: this.decrease,\n on: this.v3 ? undefined : {\n \"click\": this.decrease\n }\n })])]);\n return this.$props.label ? h(\"span\", {\n \"class\": this.spanClassNames,\n onFocusin: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocus,\n \"focusout\": this.handleBlur\n },\n onFocusout: this.handleBlur,\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [numerictextbox, this.$props.label ? inputId ? h(\"label\", {\n \"for\": inputId,\n attrs: this.v3 ? undefined : {\n \"for\": inputId\n },\n \"class\": \"k-label\"\n }, [this.$props.label]) : h(\"span\", {\n \"class\": \"k-label\"\n }, [this.$props.label]) : null]) : numerictextbox;\n }\n};\n/**\n * @hidden\n */\nvar NumericTextBox = NumericTextBoxVue2;\nexport { NumericTextBox, NumericTextBoxVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/**\n * @hidden\n */\nexport var RANGE_ACTION;\n(function (RANGE_ACTION) {\n RANGE_ACTION[\"start\"] = \"start\";\n RANGE_ACTION[\"end\"] = \"end\";\n RANGE_ACTION[\"min\"] = \"min\";\n RANGE_ACTION[\"max\"] = \"max\";\n RANGE_ACTION[\"increase\"] = \"increase\";\n RANGE_ACTION[\"decrease\"] = \"decrease\";\n})(RANGE_ACTION || (RANGE_ACTION = {}));\n/**\n * @hidden\n */\nexport var rangeReducer = function rangeReducer(state, action) {\n var newState;\n var newValue;\n switch (action.type) {\n case RANGE_ACTION.start:\n if (action.payload === undefined) {\n return state;\n }\n newState = {\n start: action.payload > state.end ? state.end : Math.max(action.payload, action.min),\n end: state.end\n };\n break;\n case RANGE_ACTION.end:\n if (action.payload === undefined) {\n return state;\n }\n newState = {\n start: state.start,\n end: action.payload < state.start ? state.start : Math.min(action.payload, action.max)\n };\n break;\n case RANGE_ACTION.min:\n if (action.key === 'start') {\n newState = __assign(__assign({}, state), {\n start: action.min\n });\n } else {\n newState = __assign(__assign({}, state), {\n end: Math.max(action.min, state.start)\n });\n }\n break;\n case RANGE_ACTION.max:\n if (action.key === 'start') {\n newState = __assign(__assign({}, state), {\n start: Math.min(action.max, state.end)\n });\n } else {\n newState = __assign(__assign({}, state), {\n end: action.max\n });\n }\n break;\n case RANGE_ACTION.increase:\n if (action.step === undefined || action.key === undefined) {\n return state;\n }\n newValue = state[action.key] + action.step;\n if (action.key === 'start') {\n if (newValue < action.min) {\n newState = __assign(__assign({}, state), {\n start: action.min\n });\n } else {\n newState = __assign(__assign({}, state), {\n start: Math.min(newValue, state.end)\n });\n }\n } else {\n if (newValue > action.max) {\n newState = __assign(__assign({}, state), {\n end: action.max\n });\n } else {\n newState = __assign(__assign({}, state), {\n end: Math.max(newValue, state.start)\n });\n }\n }\n break;\n case RANGE_ACTION.decrease:\n if (action.step === undefined || action.key === undefined) {\n return state;\n }\n newValue = state[action.key] - action.step;\n if (action.key === 'start') {\n if (newValue < action.min) {\n newState = __assign(__assign({}, state), {\n start: action.min\n });\n } else {\n newState = __assign(__assign({}, state), {\n start: Math.min(newValue, state.end)\n });\n }\n } else {\n if (newValue > action.max) {\n newState = __assign(__assign({}, state), {\n end: action.max\n });\n } else {\n newState = __assign(__assign({}, state), {\n end: Math.max(newValue, state.start)\n });\n }\n }\n break;\n default:\n newState = state;\n break;\n }\n return newState;\n};","/**\n * @hidden\n */\nvar Stream = /** @class */ (function () {\n function Stream(input, control) {\n if (input === void 0) { input = []; }\n if (control === void 0) { control = []; }\n this.input = input;\n this.control = control;\n this.inputCursor = 0;\n this.controlCursor = 0;\n }\n Stream.prototype.eof = function () {\n return this.inputCursor >= this.input.length;\n };\n // Get the first value from the input.\n Stream.prototype.next = function () {\n return {\n char: this.input[this.inputCursor++],\n control: this.control[this.controlCursor++]\n };\n };\n Stream.prototype.peek = function () {\n return {\n char: this.input[this.inputCursor],\n control: this.control[this.controlCursor]\n };\n };\n Stream.prototype.eat_input = function () {\n this.inputCursor++;\n };\n Stream.prototype.eat_control = function () {\n this.controlCursor++;\n };\n Stream.prototype.eat = function () {\n this.inputCursor++;\n this.controlCursor++;\n };\n return Stream;\n}());\nexport { Stream };\n","import { Result, ResultType } from './result';\nimport { Stream } from './stream';\nvar toArray = function (value) { return (value || '').split(''); };\nvar ESCAPE_CHARACTER = '\\\\';\n/**\n * @hidden\n */\nvar Parser = /** @class */ (function () {\n function Parser(parse) {\n this.parse = parse;\n }\n Parser.prototype.run = function (input, control) {\n if (control === void 0) { control = ''; }\n if (input instanceof Stream) {\n return this.parse(input);\n }\n else {\n return this.parse(new Stream(toArray(input), toArray(control)));\n }\n };\n // map :: Functor f => f a ~> (a -> b) -> f b\n Parser.prototype.map = function (f) {\n var _this = this;\n return new Parser(function (stream) { return _this.parse(stream).map(f); });\n };\n // chain :: Chain m => m a ~> (a -> m b) -> m b\n Parser.prototype.chain = function (f) {\n var _this = this;\n return new Parser(function (stream) { return _this.parse(stream).chain(function (v, s) { return f(v).run(s); }); });\n };\n Parser.prototype.isLiteral = function (c) {\n return this.run(c).type === ResultType.Literal;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * @hidden\n */\nexport var mask = function (_a) {\n var prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return function (rule) { return new Parser(function (stream) {\n while (!stream.eof()) {\n var _a = stream.peek(), char = _a.char, control = _a.control;\n if (char === control && control === prompt) {\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }\n if (rule.test(char)) {\n stream.eat();\n return new Result(char, stream, ResultType.Mask);\n }\n if (char === promptPlaceholder) {\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }\n stream.eat_input();\n }\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }); };\n};\n/**\n * @hidden\n */\nexport var literal = function (_token) { return new Parser(function (stream) {\n // let {char, control} = stream.peek();\n var char = stream.peek().char;\n if (char === _token) {\n stream.eat();\n return new Result(_token, stream, ResultType.Literal);\n }\n // if (control === _token) {\n // while (!stream.eof() && char !== _token) {\n // stream.eat_input();\n // char = stream.peek().char;\n // }\n // }\n //\n // if (control !== undefined) {\n // stream.eat();\n // }\n return new Result(_token, stream, ResultType.Literal);\n}); };\n/**\n * @hidden\n */\nexport var unmask = function (prompt) { return function (rule) { return new Parser(function (stream) {\n while (!stream.eof()) {\n var _a = stream.peek(), char = _a.char, control = _a.control;\n if (char === prompt && control === prompt) {\n stream.eat();\n return new Result(char, stream);\n }\n if (rule.test(char)) {\n stream.eat();\n return new Result(char, stream);\n }\n stream.eat_input();\n }\n stream.eat();\n return new Result('', stream);\n}); }; };\n/**\n * @hidden\n */\nexport var unliteral = function (_token) { return new Parser(function (stream) {\n if (stream.eof()) {\n return new Result('', stream);\n }\n var char = stream.peek().char;\n if (char === _token) {\n stream.eat();\n }\n return new Result(_token, stream);\n}); };\n/**\n * @hidden\n */\nexport var token = function (rules, creator) { return new Parser(function (stream) {\n var char = stream.next().char;\n var rule = rules[char];\n if (char === ESCAPE_CHARACTER) {\n char = stream.next().char;\n return new Result(creator.literal(char), stream);\n }\n if (!rule) {\n return new Result(creator.literal(char), stream);\n }\n return new Result(creator.mask(rule), stream);\n}); };\n/**\n * @hidden\n */\nexport var rawMask = function (_a) {\n var prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return new Parser(function (stream) {\n var char = stream.next().char;\n if (char === prompt) {\n return new Result(promptPlaceholder, stream);\n }\n return new Result(char, stream);\n });\n};\n/**\n * @hidden\n */\nexport var rawLiteral = function (includeLiterals) { return new Parser(function (stream) {\n var char = stream.next().char;\n if (includeLiterals) {\n return new Result(char, stream);\n }\n return new Result('', stream);\n}); };\n","import { Parser } from './parsers';\nimport { Result } from './result';\n/**\n * @hidden\n */\nvar always = function (value) { return new Parser(function (stream) { return new Result(value, stream); }); };\n/**\n * @hidden\n */\nvar append = function (p1, p2) { return p1.chain(function (vs) { return p2.map(function (v) { return vs.concat([v]); }); }); };\n/**\n * @hidden\n */\nexport var sequence = function (list) { return list.reduce(function (acc, parser) { return append(acc, parser); }, always([])); };\n/**\n * @hidden\n */\nexport var greedy = function (parser) { return new Parser(function (stream) {\n var result = new Result([], stream);\n while (!stream.eof()) {\n result = result.concat(parser.run(stream));\n }\n return result;\n}); };\n","import { greedy, sequence } from './parsing/combinators';\nimport { literal, mask as maskParser, rawLiteral, rawMask, token, unliteral, unmask } from './parsing/parsers';\n/**\n * @hidden\n */\nvar MaskingService = /** @class */ (function () {\n function MaskingService() {\n this.rules = {};\n this.prompt = '_';\n this.mask = '';\n this.promptPlaceholder = ' ';\n this.includeLiterals = false;\n this.maskTokens = [];\n this.unmaskTokens = [];\n this.rawTokens = [];\n this.validationTokens = [];\n }\n MaskingService.prototype.update = function (_a) {\n var _b = _a.mask, mask = _b === void 0 ? '' : _b, _c = _a.prompt, prompt = _c === void 0 ? '' : _c, _d = _a.promptPlaceholder, promptPlaceholder = _d === void 0 ? ' ' : _d, _e = _a.rules, rules = _e === void 0 ? {} : _e, _f = _a.includeLiterals, includeLiterals = _f === void 0 ? false : _f;\n this.mask = mask;\n this.prompt = prompt;\n this.promptPlaceholder = promptPlaceholder;\n this.rules = rules;\n this.includeLiterals = includeLiterals;\n this.tokenize();\n };\n MaskingService.prototype.validationValue = function (maskedValue) {\n if (maskedValue === void 0) { maskedValue = ''; }\n var value = maskedValue;\n sequence(this.validationTokens)\n .run(maskedValue)\n .fold(function (unmasked) {\n value = unmasked.join('');\n });\n return value;\n };\n MaskingService.prototype.rawValue = function (maskedValue) {\n if (maskedValue === void 0) { maskedValue = ''; }\n var value = maskedValue;\n if (!this.rawTokens.length) {\n return value;\n }\n sequence(this.rawTokens)\n .run(maskedValue)\n .fold(function (unmasked) {\n value = unmasked.join('');\n });\n return value;\n };\n /**\n * @hidden\n */\n MaskingService.prototype.maskRaw = function (rawValue) {\n if (rawValue === void 0) { rawValue = ''; }\n var value = rawValue;\n if (!this.maskTokens.length) {\n return value;\n }\n sequence(this.maskTokens)\n .run(rawValue)\n .fold(function (masked) {\n value = masked.join('');\n });\n return value;\n };\n MaskingService.prototype.maskInput = function (input, control, splitPoint) {\n if (input.length < control.length) {\n return this.maskRemoved(input, control, splitPoint);\n }\n return this.maskInserted(input, control, splitPoint);\n };\n MaskingService.prototype.maskInRange = function (pasted, oldValue, start, end) {\n var value = '';\n var selection = end;\n var beforeChange = oldValue.split('').slice(0, start);\n var afterChange = oldValue.split('').slice(end);\n sequence(this.maskTokens.slice(start, end))\n .run(pasted)\n .fold(function (masked) {\n value = beforeChange\n .concat(masked)\n .concat(afterChange)\n .join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n MaskingService.prototype.maskRemoved = function (input, control, splitPoint) {\n var _this = this;\n var value = '';\n var selection = splitPoint;\n var unchanged = input.split('').slice(splitPoint);\n var changed = input.split('').slice(0, splitPoint).join('');\n var take = this.maskTokens.length - (input.length - splitPoint);\n sequence(this.maskTokens.slice(0, take))\n .run(changed, control)\n .fold(function (masked) {\n selection = _this.adjustPosition(masked, selection);\n value = masked.concat(unchanged).join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n MaskingService.prototype.adjustPosition = function (input, selection) {\n var caretChar = input[selection];\n var isLiteral = this.maskTokens[selection].isLiteral(caretChar);\n if (!isLiteral && caretChar !== this.prompt) {\n return selection + 1;\n }\n return selection;\n };\n MaskingService.prototype.maskInserted = function (input, control, splitPoint) {\n var _this = this;\n var value = '';\n var selection = splitPoint;\n var changed = input.slice(0, splitPoint);\n sequence(this.unmaskTokens)\n .run(changed, control)\n .chain(function (unmasked) {\n selection = unmasked.join('').length;\n var unchanged = control.slice(selection);\n return sequence(_this.maskTokens)\n .run(unmasked.join('') + unchanged, control);\n })\n .fold(function (masked) {\n value = masked.join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n Object.defineProperty(MaskingService.prototype, \"maskTokenCreator\", {\n get: function () {\n var _a = this, prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return {\n literal: function (rule) { return literal(rule); },\n mask: function (rule) { return maskParser({ prompt: prompt, promptPlaceholder: promptPlaceholder })(rule); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"unmaskTokenCreator\", {\n get: function () {\n var _this = this;\n return {\n literal: function (rule) { return unliteral(rule); },\n mask: function (rule) { return unmask(_this.prompt)(rule); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"rawTokenCreator\", {\n get: function () {\n var _a = this, prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder, includeLiterals = _a.includeLiterals;\n return {\n literal: function (_) { return rawLiteral(includeLiterals); },\n mask: function (_) { return rawMask({ prompt: prompt, promptPlaceholder: promptPlaceholder }); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"validationTokenCreator\", {\n get: function () {\n var prompt = this.prompt;\n return {\n literal: function (_) { return rawLiteral(false); },\n mask: function (_) { return rawMask({ prompt: prompt, promptPlaceholder: '' }); }\n };\n },\n enumerable: false,\n configurable: true\n });\n MaskingService.prototype.tokenize = function () {\n var _this = this;\n greedy(token(this.rules, this.maskTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.maskTokens = tokens;\n });\n greedy(token(this.rules, this.unmaskTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.unmaskTokens = tokens;\n });\n greedy(token(this.rules, this.rawTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.rawTokens = tokens;\n });\n greedy(token(this.rules, this.validationTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.validationTokens = tokens;\n });\n };\n return MaskingService;\n}());\nexport { MaskingService };\n","/**\n * @hidden\n */\nvar defaultRules = {\n '#': /[\\d\\s\\+\\-]/,\n '&': /[\\S]/,\n '0': /[\\d]/,\n '9': /[\\d\\s]/,\n '?': /[a-zA-Z\\s]/,\n 'A': /[a-zA-Z0-9]/,\n 'C': /./,\n 'L': /[a-zA-Z]/,\n 'a': /[a-zA-Z0-9\\s]/\n};\n/**\n * @hidden\n */\nvar returnFalse = function () { return false; };\n/**\n * @hidden\n */\nvar maskingChanged = function (prev, next) {\n return prev.includeLiterals !== next.includeLiterals ||\n prev.mask !== next.mask ||\n prev.prompt !== next.prompt ||\n prev.promptPlaceholder !== next.promptPlaceholder ||\n !sameRules(prev.rules, next.rules);\n};\n/**\n * @hidden\n */\nvar sameRules = function (rules1, rules2) {\n if (!!rules1 !== !!rules2) {\n return false;\n }\n if (rules1 === rules2 || (!rules1 || !rules2)) {\n return true;\n }\n var same = true;\n for (var key in rules1) {\n if (rules1[key] !== rules2[key]) {\n same = false;\n break;\n }\n }\n if (same) {\n for (var key in rules2) {\n if (!rules1.hasOwnProperty(key)) {\n same = false;\n break;\n }\n }\n }\n return same;\n};\nexport { defaultRules, maskingChanged, returnFalse };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { MaskingService } from './masking.service';\nimport { defaultRules, maskingChanged, returnFalse } from './utils';\nimport { guid, getTabIndex, validatePackage, kendoThemeMaps, templateDefinition, templateRendering, getListeners, getTemplate, setRef, Icon } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { checkIcon, exclamationCircleIcon, xIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar MaskedTextBoxVue2 = {\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: ['change', 'focus', 'blur', 'update:modelValue', 'update:modelRawValue', 'changemodel'],\n props: {\n type: {\n type: String,\n default: 'text'\n },\n modelValue: String,\n modelRawValue: String,\n value: String,\n defaultValue: String,\n placeholder: String,\n title: String,\n dir: String,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n tabIndex: Number,\n accessKey: String,\n disabled: Boolean,\n readonly: Boolean,\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large', 'full'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'solid', 'flat', 'outline'].includes(value);\n }\n },\n prompt: {\n type: String,\n default: '_'\n },\n promptPlaceholder: {\n type: String,\n default: ' '\n },\n includeLiterals: {\n type: Boolean,\n default: false\n },\n maskValidation: {\n type: Boolean,\n default: true\n },\n mask: String,\n rules: {\n type: Object,\n default: function _default() {\n return defaultRules;\n }\n },\n selection: Object,\n name: String,\n label: String,\n validationMessage: String,\n required: {\n type: Boolean,\n default: false\n },\n valid: {\n type: Boolean,\n default: undefined\n },\n validityStyles: {\n type: Boolean,\n default: true\n },\n iconName: String,\n inputPrefix: templateDefinition,\n inputSuffix: templateDefinition,\n showValidationIcon: Boolean,\n showLoadingIcon: Boolean,\n showClearButton: Boolean,\n inputClass: String,\n wrapperClass: String\n },\n data: function data() {\n return {\n currentValue: undefined,\n currentFocused: false,\n inputValue: undefined,\n currentSelection: [null, null]\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.hasMounted = false;\n this.valueDuringOnChange = undefined;\n this.inputId = \"k-\".concat(guid());\n this.service = new MaskingService();\n this.isPasted = false;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n mounted: function mounted() {\n this.hasMounted = true;\n // @ts-ignore\n this.element = this.input = this.v3 ? this.inputRef : this.$refs.input;\n this.updateService();\n this.setValidity();\n },\n watch: {\n currentFocused: function currentFocused(_, oldValue) {\n this.prevCurrentFocused = oldValue;\n },\n selection: function selection(_, oldValue) {\n this.prevSelection = oldValue;\n },\n includeLiterals: function includeLiterals(_, oldValue) {\n this.prevIncludeLiterals = oldValue;\n },\n mask: function mask(_, oldValue) {\n this.prevMask = oldValue;\n },\n prompt: function prompt(_, oldValue) {\n this.prevPrompt = oldValue;\n },\n promptPlaceholder: function promptPlaceholder(_, oldValue) {\n this.prevPromptPlaceholder = oldValue;\n },\n rules: function rules(_, oldValue) {\n this.prevRules = oldValue;\n }\n },\n updated: function updated() {\n if (this.element && this.currentFocused) {\n // && this.prevCurrentFocused\n var _a = this.currentSelection,\n start = _a[0],\n end = _a[1];\n var prevSelection = this.prevSelection;\n var nextSelection = this.$props.selection;\n if (!prevSelection && nextSelection || prevSelection && nextSelection && (prevSelection.start !== nextSelection.start || prevSelection.end !== nextSelection.end)) {\n start = nextSelection.start;\n end = nextSelection.end;\n }\n if (start !== null && end !== null) {\n this.element.setSelectionRange(start, end);\n }\n }\n var prevProps = {\n includeLiterals: this.prevIncludeLiterals,\n mask: this.prevMask,\n prompt: this.prevPrompt,\n promptPlaceholder: this.prevPromptPlaceholder,\n rules: this.prevRules\n };\n if (maskingChanged(prevProps, this.$props)) {\n this.updateService();\n }\n this.setValidity();\n },\n computed: {\n computedRules: {\n get: function get() {\n return Object.assign({}, defaultRules, this.$props.rules);\n }\n },\n spanClassNames: {\n get: function get() {\n var _a;\n var isValid = !this.hasMounted || !this.$props.validityStyles || this.validity().valid;\n return _a = {\n 'k-floating-label-container': true,\n 'k-focus': this.currentFocused,\n 'k-empty': !this.computedValue(),\n 'k-invalid': !isValid && isValid !== undefined,\n 'k-rtl': this.$props.dir === 'rtl',\n 'k-loading': this.showLoadingIcon\n }, _a[this.wrapperClass] = this.wrapperClass, _a;\n }\n },\n wrapperSpanClass: function wrapperSpanClass() {\n var _a;\n var _b = this.$props,\n size = _b.size,\n fillMode = _b.fillMode,\n rounded = _b.rounded;\n var isValid = !this.$props.validityStyles || this.validity().valid;\n return _a = {\n 'k-maskedtextbox': true,\n 'k-input': true\n }, _a[\"k-input-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-input-\".concat(fillMode)] = fillMode, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-invalid'] = !isValid, _a['k-required'] = this.required, _a['k-disabled'] = this.$props.disabled, _a['k-loading'] = this.showLoadingIcon, _a[this.wrapperClass] = this.wrapperClass, _a;\n },\n inputInnerClass: function inputInnerClass() {\n var _a;\n return _a = {\n 'k-input-inner': true\n }, _a[this.inputClass] = this.inputClass, _a;\n }\n },\n methods: {\n focus: function focus() {\n if (this.input) {\n this.input.focus();\n }\n },\n computedValue: function computedValue() {\n var value;\n if (this.valueDuringOnChange !== undefined) {\n value = this.valueDuringOnChange;\n } else if (this.$props.value !== undefined) {\n value = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n value = this.$props.modelValue;\n } else if (this.currentValue !== undefined) {\n value = this.currentValue;\n } else if (this.$props.defaultValue !== undefined) {\n value = this.$props.defaultValue;\n }\n return value || '';\n },\n rawValue: function rawValue() {\n return this.service.rawValue(this.computedValue());\n },\n validity: function validity() {\n var maskedValue = this.computedValue();\n var value = this.service.validationValue(maskedValue);\n var customError = this.$props.validationMessage !== undefined;\n var valid = this.$props.valid !== undefined ? this.$props.valid : (!this.$props.required || !!value) && (!this.$props.maskValidation || !this.$props.prompt || maskedValue.indexOf(this.$props.prompt) === -1);\n return {\n customError: customError,\n valid: valid,\n valueMissing: !value\n };\n },\n pasteHandler: function pasteHandler(event) {\n var _a = event.target,\n selectionStart = _a.selectionStart,\n selectionEnd = _a.selectionEnd;\n if (selectionEnd === selectionStart) {\n return;\n }\n this.isPasted = true;\n this.currentSelection = [selectionStart || 0, selectionEnd || 0];\n },\n clearClick: function clearClick(event) {\n this.triggerOnChange('', event);\n },\n onChangeHandler: function onChangeHandler(event) {\n var input = event.currentTarget;\n var value = this.inputValue = input.value;\n var start = this.currentSelection[0] || 0;\n var end = this.currentSelection[1] || 0;\n if (!this.$props.mask) {\n this.isPasted = false;\n this.currentSelection = [null, null];\n this.triggerOnChange(value, event);\n return;\n }\n var maskedValue = this.computedValue();\n var result;\n if (this.isPasted) {\n this.isPasted = false;\n var rightPart = maskedValue.length - end;\n var to = value.length - rightPart;\n result = this.service.maskInRange(value.slice(start, to), maskedValue, start, end);\n } else {\n result = this.service.maskInput(value, maskedValue, input.selectionStart || 0);\n }\n this.currentSelection = [result.selection, result.selection];\n this.triggerOnChange(result.value, event);\n this.inputValue = undefined;\n },\n focusHandler: function focusHandler(event) {\n if (!this.currentFocused) {\n this.currentFocused = true;\n this.$emit('focus', {\n target: this,\n event: event\n });\n }\n },\n blurHandler: function blurHandler(event) {\n if (this.currentFocused) {\n this.currentFocused = false;\n this.$emit('blur', {\n target: this,\n event: event\n });\n }\n },\n triggerOnChange: function triggerOnChange(maskedValue, event) {\n this.currentValue = maskedValue;\n this.valueDuringOnChange = maskedValue;\n this.$emit('change', {\n event: event,\n selectionStart: this.currentSelection[0],\n selectionEnd: this.currentSelection[1],\n value: this.computedValue(),\n component: this,\n target: {\n name: this.$props.name,\n value: this.computedValue(),\n rawValue: this.rawValue()\n },\n validity: this.validity()\n });\n this.$emit('update:modelValue', this.computedValue());\n this.$emit('update:modelRawValue', this.rawValue());\n this.$emit('changemodel', this.computedValue());\n this.valueDuringOnChange = undefined;\n },\n updateService: function updateService(extra) {\n var config = Object.assign({\n includeLiterals: this.$props.includeLiterals,\n mask: this.$props.mask,\n prompt: this.$props.prompt,\n promptPlaceholder: this.$props.promptPlaceholder,\n rules: this.$props.rules\n }, extra); // tslint:disable-line:align\n this.service.update(config);\n },\n setValidity: function setValidity() {\n if (this.element) {\n this.element.setCustomValidity(this.validity().valid ? '' : this.$props.validationMessage || '');\n }\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var inputId = this.$props.id || this.inputId;\n var _a = this.$props,\n iconName = _a.iconName,\n showValidationIcon = _a.showValidationIcon,\n showLoadingIcon = _a.showLoadingIcon,\n showClearButton = _a.showClearButton;\n var isValid = !this.$props.validityStyles || this.validity().valid;\n var newValue = this.computedValue();\n var inputValue = this.inputValue;\n var inputPrefixTemplate = templateRendering.call(this, this.$props.inputPrefix, getListeners.call(this));\n var inputSuffixTemplate = templateRendering.call(this, this.$props.inputSuffix, getListeners.call(this));\n var inputPrefix = getTemplate.call(this, {\n h: h,\n template: inputPrefixTemplate,\n additionalProps: {\n value: newValue,\n valid: isValid\n }\n });\n var inputSuffix = getTemplate.call(this, {\n h: h,\n template: inputSuffixTemplate,\n additionalProps: {\n value: newValue,\n valid: isValid\n }\n });\n var wrapper = h(\"span\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n },\n \"class\": this.wrapperSpanClass,\n style: !this.$props.label ? {\n width: this.$props.width\n } : undefined\n }, [iconName && h(Icon, {\n name: iconName,\n attrs: this.v3 ? undefined : {\n name: iconName\n },\n \"class\": 'k-input-icon'\n }), this.$props.inputPrefix && h(\"span\", {\n \"class\": \"k-input-prefix\"\n }, [inputPrefix]), h(\"input\", {\n type: this.$props.type,\n attrs: this.v3 ? undefined : {\n type: this.$props.type,\n autocomplete: \"off\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n spellcheck: false,\n id: inputId,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-disabled\": this.$props.disabled,\n name: this.$props.name,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, true),\n accesskey: this.$props.accessKey,\n title: this.$props.title,\n disabled: this.$props.disabled || undefined,\n readonly: this.$props.readonly || undefined,\n placeholder: this.$props.placeholder,\n \"aria-placeholder\": this.$props.placeholder,\n required: this.$props.required\n },\n autocomplete: \"off\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n spellcheck: false,\n \"class\": this.inputInnerClass,\n value: this.v3 ? newValue : null,\n domProps: this.v3 ? undefined : {\n \"value\": newValue\n },\n id: inputId,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-disabled\": this.$props.disabled,\n name: this.$props.name,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, true),\n accesskey: this.$props.accessKey,\n title: this.$props.title,\n disabled: this.$props.disabled || undefined,\n readonly: this.$props.readonly || undefined,\n placeholder: this.$props.placeholder,\n \"aria-placeholder\": this.$props.placeholder,\n required: this.$props.required,\n ref: setRef(this, 'input'),\n onInput: this.onChangeHandler,\n on: this.v3 ? undefined : {\n \"input\": this.onChangeHandler,\n \"paste\": this.pasteHandler,\n \"focus\": this.focusHandler,\n \"blur\": this.blurHandler,\n \"dragstart\": returnFalse,\n \"drop\": returnFalse\n },\n onPaste: this.pasteHandler,\n onFocus: this.focusHandler,\n onBlur: this.blurHandler,\n onDragstart: returnFalse,\n onDrop: returnFalse\n }), this.$props.inputSuffix && h(\"span\", {\n \"class\": \"k-input-suffix\"\n }, [inputSuffix]), showValidationIcon && isValid && h(Icon, {\n name: 'check',\n attrs: this.v3 ? undefined : {\n name: 'check',\n icon: checkIcon\n },\n icon: checkIcon,\n \"class\": \"k-input-validation-icon\"\n }), showValidationIcon && !isValid && h(Icon, {\n name: 'exclamation-circle',\n attrs: this.v3 ? undefined : {\n name: 'exclamation-circle',\n icon: exclamationCircleIcon\n },\n icon: exclamationCircleIcon,\n \"class\": \"k-input-validation-icon\"\n }), showLoadingIcon && h(Icon, {\n name: 'loading',\n attrs: this.v3 ? undefined : {\n name: 'loading'\n },\n \"class\": 'k-input-loading-icon'\n }), showClearButton && newValue && h(\"span\", {\n onClick: this.clearClick,\n on: this.v3 ? undefined : {\n \"click\": this.clearClick\n },\n \"class\": \"k-clear-value\"\n }, [h(Icon, {\n name: 'x',\n attrs: this.v3 ? undefined : {\n name: 'x',\n icon: xIcon\n },\n icon: xIcon\n })])]);\n return this.$props.label ? h(\"span\", {\n \"class\": this.spanClassNames,\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [wrapper, this.$props.label ? inputId ? h(\"label\", {\n \"for\": inputId,\n attrs: this.v3 ? undefined : {\n \"for\": inputId\n },\n \"class\": \"k-label\"\n }, [this.$props.label]) : h(\"span\", {\n \"class\": \"k-label\"\n }, [this.$props.label]) : null]) : wrapper;\n }\n};\n/**\n * @hidden\n */\nvar MaskedTextBox = MaskedTextBoxVue2;\nexport { MaskedTextBox, MaskedTextBoxVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nexport var SLIDER_LABEL_ATTRIBUTE = 'data-slider-label';\n/**\n * @hidden\n */\nvar SliderLabelVue2 = {\n name: 'KendoSliderLabel',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n position: Number,\n title: String,\n vertical: Boolean\n },\n data: function data() {\n return {\n currentDir: 'ltr'\n };\n },\n inject: ['kendoMax', 'kendoMin', 'kendoVertical'],\n mounted: function mounted() {\n this.sliderLabelRef = this.$refs.sliderLabelRef;\n if (!this.currentDir && window && this.$el) {\n // Note: getComputedStyle forces reflow\n var direction = window.getComputedStyle(this.$el).direction;\n if (direction) {\n this.currentDir = direction;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var dir = this.currentDir;\n var defaultSlot = getDefaultSlots(this);\n var position = 100 * (this.$props.position - this.kendoMin) / (this.kendoMax - this.kendoMin);\n var vertical = this.kendoVertical;\n var style = vertical ? {\n bottom: \"\".concat(position, \"%\"),\n height: '1px',\n width: '100%'\n } : (_a = {}, _a[dir === 'rtl' ? 'right' : 'left'] = \"\".concat(position, \"%\"), _a.width = '1px', _a.height = '100%', _a);\n return h(\"li\", {\n ref: 'sliderLabelRef',\n \"class\": \"k-tick k-tick-large\",\n title: this.$props.title,\n attrs: this.v3 ? undefined : {\n title: this.$props.title\n },\n style: __assign({\n zIndex: 1,\n position: 'absolute'\n }, style)\n }, [h(\"span\", {\n \"data-slider-label\": true,\n attrs: this.v3 ? undefined : {\n \"data-slider-label\": true\n },\n \"class\": \"k-label\",\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick\n }\n }, [defaultSlot])]);\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n }\n }\n};\n/**\n * Represents the Kendo UI for Vue Native SliderLabel component.\n * ### props [SliderLabelProps]({% slug api_inputs_sliderlabelprops %})\n * The props of the SliderLabel component.\n */\nvar SliderLabel = SliderLabelVue2;\nexport { SliderLabel, SliderLabelVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { Button } from '@progress/kendo-vue-buttons';\nimport { Keys, classNames, Draggable, validatePackage, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, sliderIncreaseValue, sliderDecreaseValue, sliderDragTitle } from '../messages/main';\nimport { SLIDER_LABEL_ATTRIBUTE } from './SliderLabel';\nimport { packageMetadata } from '../package-metadata';\nimport { caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon, caretAltUpIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar SliderVue2 = {\n name: 'KendoSlider',\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'changemodel': null,\n 'update:modelValue': null,\n 'change': null,\n 'blur': null,\n 'focus': null\n },\n props: {\n modelValue: {\n type: Number,\n default: undefined\n },\n defaultValue: {\n type: Number,\n default: undefined\n },\n name: String,\n buttons: Boolean,\n tabIndex: Number,\n disabled: Boolean,\n dir: String,\n step: Number,\n min: {\n type: Number,\n required: true\n },\n max: {\n type: Number,\n required: true\n },\n value: Number,\n vertical: Boolean,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n provide: function provide() {\n return {\n kendoMin: this.$props.min,\n kendoMax: this.$props.max,\n kendoVertical: this.$props.vertical\n };\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n currentValue: undefined,\n currentFocused: false,\n currentDir: 'ltr'\n };\n },\n computed: {\n computedValue: function computedValue() {\n var value = this.$props.value !== undefined ? this.$props.value : this.currentValue;\n var _a = this.$props,\n min = _a.min,\n max = _a.max;\n return value === undefined ? value : Math.min(Math.max(value, min), max);\n },\n sliderTrack: function sliderTrack() {\n return this._sliderTrack;\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n if (this.$props.value !== undefined) {\n this.$data.currentValue = this.$props.value;\n } else if (this.$props.modelValue !== undefined) {\n this.$data.currentValue = this.$props.modelValue;\n } else if (this.$props.defaultValue !== undefined) {\n this.$data.currentValue = this.$props.defaultValue;\n } else {\n this.$data.currentValue = this.$props.min;\n }\n this.currentFocused = false;\n this.currentDir = this.$props.dir;\n },\n mounted: function mounted() {\n this._sliderTrack = this.$refs.sliderTrack;\n if (this.$el) {\n this.draggable = this.$refs.draggable;\n }\n if (!this.currentDir && window && this.$el) {\n // Note: getComputedStyle forces reflow\n var direction = window.getComputedStyle(this.$el).direction;\n if (direction) {\n this.currentDir = direction;\n }\n }\n },\n updated: function updated() {\n if (this.$el) {\n this.draggable = this.$refs.draggable;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n inputRef: inputRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var _this = this;\n var _a;\n var h = gh || createElement;\n var lS = provideLocalizationService(this);\n var percentValue = (this.computedValue - this.$props.min) / (this.$props.max - this.$props.min) * 100;\n var defaultSlot = getDefaultSlots(this);\n var vertical = this.$props.vertical;\n var increaseSvgArrow = this.currentDir === 'rtl' ? vertical ? caretAltUpIcon : caretAltLeftIcon : vertical ? caretAltUpIcon : caretAltRightIcon;\n var decreaseSvgArrow = this.currentDir === 'rtl' ? vertical ? caretAltDownIcon : caretAltRightIcon : vertical ? caretAltDownIcon : caretAltLeftIcon;\n var increaseFontArrow = this.currentDir === 'rtl' ? vertical ? 'caret-alt-up' : 'caret-alt-left' : vertical ? 'caret-alt-up' : 'caret-alt-right';\n var decreaseFontArrow = this.currentDir === 'rtl' ? vertical ? 'caret-alt-down' : 'caret-alt-right' : vertical ? 'caret-alt-down' : 'caret-alt-left';\n return h(\"div\", {\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir,\n id: this.$props.id\n },\n id: this.$props.id,\n style: this.$props.style,\n onFocus: this.onFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.onFocus,\n \"blur\": this.onBlur,\n \"keydown\": this.onKeyDown\n },\n onBlur: this.onBlur,\n onKeydown: this.onKeyDown,\n \"class\": classNames('k-slider', {\n 'k-focus': this.currentFocused,\n 'k-disabled': this.$props.disabled,\n 'k-slider-horizontal': !this.$props.vertical,\n 'k-slider-vertical': this.$props.vertical\n }, this.$props.className)\n }, [h(\"div\", {\n \"class\": classNames('k-slider-wrap')\n }, [this.$props.buttons &&\n // @ts-ignore\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n tabindex: -1,\n icon: decreaseFontArrow,\n svgIcon: decreaseSvgArrow,\n rounded: 'full',\n title: lS.toLanguageString(sliderDecreaseValue, messages[sliderDecreaseValue])\n },\n tabindex: -1,\n icon: decreaseFontArrow,\n svgIcon: decreaseSvgArrow,\n style: {\n position: 'relative'\n },\n rounded: 'full',\n \"class\": \"k-button-decrease\",\n title: lS.toLanguageString(sliderDecreaseValue, messages[sliderDecreaseValue]),\n onClick: this.decrement,\n on: this.v3 ? undefined : {\n \"click\": this.decrement\n }\n }),\n // @ts-ignore function children\n h(Draggable, {\n onDrag: this.dragOver,\n on: this.v3 ? undefined : {\n \"drag\": this.dragOver,\n \"press\": this.dragStart\n },\n onPress: this.dragStart,\n ref: 'draggable'\n }, this.v3 ? function () {\n return [h(\"div\", {\n \"class\": \"k-slider-track-wrap\",\n style: {\n touchAction: 'none'\n }\n }, [defaultSlot && h(\"ul\", {\n \"class\": \"k-reset k-slider-items\"\n }, [defaultSlot]), h(\"div\", {\n \"class\": \"k-slider-track\",\n ref: 'sliderTrack'\n }, [h(\"div\", {\n \"class\": \"k-slider-selection\",\n style: _this.$props.vertical ? {\n height: percentValue + '%'\n } : {\n width: percentValue + '%'\n }\n }), h(\"a\", {\n \"class\": \"k-draghandle\",\n role: \"slider\",\n attrs: _this.v3 ? undefined : {\n role: \"slider\",\n tabIndex: \"0\",\n \"aria-valuenow\": _this.computedValue,\n \"aria-valuemin\": _this.$props.min,\n \"aria-valuemax\": _this.$props.max,\n \"aria-valuetext\": _this.computedValue.toString(),\n \"aria-disabled\": _this.$props.disabled ? 'true' : undefined,\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle])\n },\n tabIndex: \"0\",\n \"aria-valuenow\": _this.computedValue,\n \"aria-valuemin\": _this.$props.min,\n \"aria-valuemax\": _this.$props.max,\n \"aria-valuetext\": _this.computedValue.toString(),\n \"aria-disabled\": _this.$props.disabled ? 'true' : undefined,\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle]),\n style: _this.$props.vertical ? {\n bottom: percentValue + '%',\n zIndex: 1\n } : (_a = {}, _a[_this.currentDir === 'rtl' ? 'right' : 'left'] = percentValue + '%', _a.zIndex = 1, _a)\n })])])];\n } : [h(\"div\", {\n \"class\": \"k-slider-track-wrap\",\n style: {\n touchAction: 'none'\n }\n }, [defaultSlot && h(\"ul\", {\n \"class\": \"k-reset k-slider-items\"\n }, [defaultSlot]), h(\"div\", {\n \"class\": \"k-slider-track\",\n ref: 'sliderTrack'\n }, [h(\"div\", {\n \"class\": \"k-slider-selection\",\n style: _this.$props.vertical ? {\n height: percentValue + '%'\n } : {\n width: percentValue + '%'\n }\n }), h(\"a\", {\n \"class\": \"k-draghandle\",\n role: \"slider\",\n attrs: _this.v3 ? undefined : {\n role: \"slider\",\n tabIndex: \"0\",\n \"aria-valuenow\": _this.computedValue,\n \"aria-valuemin\": _this.$props.min,\n \"aria-valuemax\": _this.$props.max,\n \"aria-valuetext\": _this.computedValue.toString(),\n \"aria-disabled\": _this.$props.disabled ? 'true' : undefined,\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle])\n },\n tabIndex: \"0\",\n \"aria-valuenow\": _this.computedValue,\n \"aria-valuemin\": _this.$props.min,\n \"aria-valuemax\": _this.$props.max,\n \"aria-valuetext\": _this.computedValue.toString(),\n \"aria-disabled\": _this.$props.disabled ? 'true' : undefined,\n title: lS.toLanguageString(sliderDragTitle, messages[sliderDragTitle]),\n style: _this.$props.vertical ? {\n bottom: percentValue + '%',\n zIndex: 1\n } : (_a = {}, _a[_this.currentDir === 'rtl' ? 'right' : 'left'] = percentValue + '%', _a.zIndex = 1, _a)\n })])])]), this.$props.buttons &&\n // @ts-ignore\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n tabindex: -1,\n icon: increaseFontArrow,\n svgIcon: increaseSvgArrow,\n rounded: 'full',\n title: lS.toLanguageString(sliderIncreaseValue, messages[sliderIncreaseValue])\n },\n tabindex: -1,\n icon: increaseFontArrow,\n svgIcon: increaseSvgArrow,\n rounded: 'full',\n style: {\n position: 'relative'\n },\n \"class\": \"k-button-increase\",\n title: lS.toLanguageString(sliderIncreaseValue, messages[sliderIncreaseValue]),\n onClick: this.increment,\n on: this.v3 ? undefined : {\n \"click\": this.increment\n }\n })])]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n // @ts-ignore\n this.$el.focus();\n }\n },\n isLabel: function isLabel(target) {\n var currentTarget = target;\n while (currentTarget) {\n if (Boolean(currentTarget.getAttribute(SLIDER_LABEL_ATTRIBUTE))) {\n return true;\n }\n currentTarget = currentTarget.parentElement;\n }\n return false;\n },\n onFocus: function onFocus(event) {\n this.currentFocused = true;\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.currentFocused = false;\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(e) {\n var newValue = undefined;\n if (e.keyCode === Keys.left || e.keyCode === Keys.down) {\n newValue = this.currentValue - (this.$props.step || 0);\n } else if (e.keyCode === Keys.right || e.keyCode === Keys.up) {\n newValue = this.currentValue + (this.$props.step || 0);\n } else if (e.keyCode === Keys.home) {\n newValue = this.$props.min;\n } else if (e.keyCode === Keys.end) {\n newValue = this.$props.max;\n }\n if (newValue !== undefined) {\n e.preventDefault();\n this.change(e, newValue);\n }\n },\n decrement: function decrement(e) {\n e.preventDefault();\n this.change(e, this.currentValue - (this.$props.step || 0));\n },\n increment: function increment(e) {\n e.preventDefault();\n this.change(e, this.currentValue + (this.$props.step || 0));\n },\n dragStart: function dragStart(e) {\n if (!this.isLabel(e.originalEvent.target)) {\n if (e.isTouch) {\n e.originalEvent.preventDefault();\n }\n this.drag(e);\n }\n },\n dragOver: function dragOver(e) {\n e.originalEvent.preventDefault();\n this.drag(e);\n },\n drag: function drag(e) {\n var computed = this.draggable.element.getBoundingClientRect();\n var distance = this.$props.vertical ? computed.bottom - e.clientY : this.currentDir === 'rtl' ? computed.right - e.clientX : e.clientX - computed.left;\n var size = this.$props.vertical ? computed.height : computed.width;\n var percentage = distance / size;\n this.change(e, this.$props.min + percentage * (this.$props.max - this.$props.min));\n },\n change: function change(e, value) {\n value = Math.min(Math.max(value, this.$props.min), this.$props.max);\n this.currentValue = value;\n this.$emit('changemodel', value);\n this.$emit('update:modelValue', value);\n this.$emit('change', {\n event: e,\n value: value,\n component: this,\n target: {\n name: this.$props.name,\n value: value\n }\n });\n }\n }\n};\n/**\n * @hidden\n */\nvar Slider = SliderVue2;\nexport { Slider, SliderVue2 };","export var windowStage;\n(function (windowStage) {\n windowStage[\"DEFAULT\"] = \"DEFAULT\";\n windowStage[\"FULLSCREEN\"] = \"FULLSCREEN\";\n windowStage[\"MINIMIZED\"] = \"MINIMIZED\";\n})(windowStage || (windowStage = {}));\n","var _a;\n/**\n * @hidden\n */\nexport var dialogsWindowMaximizeButton = 'dialogs.windowMaximizeButton';\n/**\n * @hidden\n */\nexport var dialogsWindowMinimizeButton = 'dialogs.windowMinimizeButton';\n/**\n * @hidden\n */\nexport var dialogsWindowRestoreButton = 'dialogs.windowRestoreButton';\n/**\n * @hidden\n */\nexport var dialogsWindowCloseButton = 'dialogs.windowCloseButton';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[dialogsWindowMaximizeButton] = 'maximize',\n _a[dialogsWindowMinimizeButton] = 'minimize',\n _a[dialogsWindowRestoreButton] = 'restore',\n _a[dialogsWindowCloseButton] = 'close',\n _a);\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { Draggable, Keys,\n// useDir,\ngetTabIndex, validatePackage, getDefaultSlots, classNames } from '@progress/kendo-vue-common';\nimport { messages, sliderDragTitle } from '../messages/main';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { rangeReducer, RANGE_ACTION } from './range-raducer';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar RangeSliderVue2 = {\n name: 'KendoRangeSlider',\n model: {\n event: 'changemodel'\n },\n props: {\n id: String,\n value: {\n type: Object,\n validator: function validator(value) {\n return value.start <= value.end;\n }\n },\n defaultValue: {\n type: Object,\n default: function _default() {\n return {\n start: 0,\n end: 0\n };\n },\n validator: function validator(value) {\n return value.start <= value.end;\n }\n },\n step: {\n type: Number,\n default: 1\n },\n min: {\n type: Number,\n required: true\n },\n max: {\n type: Number,\n required: true\n },\n vertical: Boolean,\n disabled: Boolean,\n dir: {\n type: String,\n default: 'ltr',\n validator: function validator(value) {\n return [null, 'ltr', 'rtl'].includes(value);\n }\n },\n startTabIndex: Number,\n endTabIndex: Number\n },\n provide: function provide() {\n return {\n kendoMin: this.$props.min,\n kendoMax: this.$props.max,\n kendoVertical: this.$props.vertical\n };\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n data: function data() {\n return {\n currentValue: this.defaultValue,\n currentDrag: '',\n currentDir: 'ltr'\n };\n },\n computed: {\n computedValue: function computedValue() {\n return this.$props.value !== undefined ? this.$props.value : this.currentValue;\n },\n percentStart: function percentStart() {\n return (this.computedValue.start - this.min) / (this.max - this.min) * 100;\n },\n percentEnd: function percentEnd() {\n return (this.computedValue.end - this.min) / (this.max - this.min) * 100;\n },\n sliderItemsStyle: function sliderItemsStyle() {\n return this.vertical ? {\n paddingTop: 0,\n height: '100%'\n } : {};\n },\n trackStyles: function trackStyles() {\n return this.vertical ? {\n marginTop: '0.5rem',\n marginBottom: '0.5rem'\n } : {\n marginLeft: '0.5rem',\n marginRight: '0.5rem'\n };\n }\n },\n mounted: function mounted() {\n this.sliderRef = this.$refs.sliderRef;\n this.sliderSelectionRef = this.$refs.sliderSelectionRef;\n this.startHandle = this.$refs.startHandle;\n this.endHandle = this.$refs.endHandle;\n this.sliderTrackRef = this.$refs.sliderTrackRef;\n this.sliderTrackWrapRef = this.$refs.sliderTrackWrapRef;\n if (!this.currentDir && window && this.$el) {\n // Note: getComputedStyle forces reflow\n var direction = window.getComputedStyle(this.$el).direction;\n if (direction) {\n this.currentDir = direction;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n inputRef: inputRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var _this = this;\n var _a, _b;\n var h = gh || createElement;\n var localization = provideLocalizationService(this);\n var defaultSlot = getDefaultSlots(this);\n var _c = this.$props,\n id = _c.id,\n dir = _c.dir;\n // const dir = useDir(sliderRef, this.$props.dir);\n return h(\"div\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n dir: this.currentDir,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy\n },\n dir: this.currentDir,\n \"class\": classNames('k-slider', {\n 'k-rtl': this.currentDir === 'rtl',\n 'k-disabled': this.$props.disabled,\n 'k-slider-vertical': this.$props.vertical,\n 'k-slider-horizontal': !this.$props.vertical\n }, this.$props.class),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy\n }, [\n // @ts-ignore function children\n h(Draggable, {\n onDrag: this.handleTrackDrag,\n on: this.v3 ? undefined : {\n \"drag\": this.handleTrackDrag,\n \"press\": this.handleTrackPress,\n \"release\": this.handleTrackRelease\n },\n onPress: this.handleTrackPress,\n onRelease: this.handleTrackRelease,\n ref: 'draggable'\n }, this.v3 ? function () {\n return [h(\"div\", {\n ref: 'sliderTrackWrapRef',\n \"class\": \"k-slider-track-wrap\",\n style: __assign({\n flexGrow: 1,\n position: 'relative',\n touchAction: 'none'\n }, _this.trackStyles)\n }, [defaultSlot && h(\"ul\", {\n \"class\": \"k-reset k-slider-items\",\n style: __assign({}, _this.sliderItemsStyle)\n }, [defaultSlot]), h(\"div\", {\n ref: 'sliderTrackRef',\n \"class\": \"k-slider-track\",\n style: _this.$props.vertical ? {\n bottom: 0,\n height: '100%'\n } : (_a = {}, _a[_this.currentDir === 'rtl' ? 'right' : 'left'] = 0, _a.width = '100%', _a)\n }, [_this.percentStart !== null && _this.percentEnd !== null && h(\"div\", {\n \"data-selection\": true,\n attrs: _this.v3 ? undefined : {\n \"data-selection\": true,\n title: \"\".concat(_this.computedValue.start, \" - \").concat(_this.computedValue.end)\n },\n ref: 'sliderSelectionRef',\n title: \"\".concat(_this.computedValue.start, \" - \").concat(_this.computedValue.end),\n \"class\": \"k-slider-selection\",\n style: _this.vertical ? {\n height: _this.percentEnd - _this.percentStart + '%',\n bottom: _this.percentStart + '%'\n } : (_b = {}, _b[_this.currentDir === 'rtl' ? 'right' : 'left'] = _this.percentStart + '%', _b.width = _this.percentEnd - _this.percentStart + '%', _b)\n }), h(\"a\", {\n ref: 'startHandle',\n role: \"slider\",\n attrs: _this.v3 ? undefined : {\n role: \"slider\",\n tabindex: getTabIndex(_this.startTabIndex, _this.$props.disabled, undefined),\n \"aria-valuemin\": _this.min,\n \"aria-valuemax\": Math.max(_this.max, _this.computedValue.end),\n \"aria-valuenow\": _this.computedValue.start,\n \"aria-disabled\": _this.disabled ? 'true' : undefined,\n \"aria-valuetext\": _this.computedValue.start,\n title: localization.toLanguageString(sliderDragTitle, messages[sliderDragTitle])\n },\n tabindex: getTabIndex(_this.startTabIndex, _this.$props.disabled, undefined),\n \"aria-valuemin\": _this.min,\n \"aria-valuemax\": Math.max(_this.max, _this.computedValue.end),\n \"aria-valuenow\": _this.computedValue.start,\n \"aria-disabled\": _this.disabled ? 'true' : undefined,\n \"aria-valuetext\": _this.computedValue.start,\n \"class\": \"k-draghandle\",\n title: localization.toLanguageString(sliderDragTitle, messages[sliderDragTitle]),\n style: _this.vertical ? {\n bottom: 'calc(' + _this.percentStart + '%)',\n zIndex: 1\n } : _this.currentDir === 'rtl' ? {\n right: 'calc(' + _this.percentStart + '% - 13px)',\n zIndex: 1\n } : {\n left: 'calc(' + _this.percentStart + '%)',\n zIndex: 1\n },\n onKeydown: _this.handleStartKeyDown,\n on: _this.v3 ? undefined : {\n \"keydown\": _this.handleStartKeyDown\n }\n }), h(\"a\", {\n ref: 'endHandle',\n role: \"slider\",\n attrs: _this.v3 ? undefined : {\n role: \"slider\",\n tabindex: getTabIndex(_this.endTabIndex, _this.$props.disabled, undefined),\n \"aria-valuemin\": Math.min(_this.min, _this.computedValue.start),\n \"aria-valuemax\": _this.max,\n \"aria-valuenow\": _this.computedValue.end,\n \"aria-disabled\": _this.disabled ? 'true' : undefined,\n \"aria-valuetext\": _this.computedValue.end,\n title: localization.toLanguageString(sliderDragTitle, messages[sliderDragTitle])\n },\n tabindex: getTabIndex(_this.endTabIndex, _this.$props.disabled, undefined),\n \"aria-valuemin\": Math.min(_this.min, _this.computedValue.start),\n \"aria-valuemax\": _this.max,\n \"aria-valuenow\": _this.computedValue.end,\n \"aria-disabled\": _this.disabled ? 'true' : undefined,\n \"aria-valuetext\": _this.computedValue.end,\n \"class\": \"k-draghandle\",\n title: localization.toLanguageString(sliderDragTitle, messages[sliderDragTitle]),\n style: _this.vertical ? {\n bottom: 'calc(' + _this.percentEnd + '%)',\n zIndex: 1\n } : _this.currentDir === 'rtl' ? {\n right: 'calc(' + _this.percentEnd + '% - 13px)',\n zIndex: 1\n } : {\n left: 'calc(' + _this.percentEnd + '%)',\n zIndex: 1\n },\n onKeydown: _this.handleEndKeyDown,\n on: _this.v3 ? undefined : {\n \"keydown\": _this.handleEndKeyDown\n }\n })])])];\n } : [h(\"div\", {\n ref: 'sliderTrackWrapRef',\n \"class\": \"k-slider-track-wrap\",\n style: __assign({\n flexGrow: 1,\n position: 'relative',\n touchAction: 'none'\n }, _this.trackStyles)\n }, [defaultSlot && h(\"ul\", {\n \"class\": \"k-reset k-slider-items\",\n style: __assign({}, _this.sliderItemsStyle)\n }, [defaultSlot]), h(\"div\", {\n ref: 'sliderTrackRef',\n \"class\": \"k-slider-track\",\n style: _this.$props.vertical ? {\n bottom: 0,\n height: '100%'\n } : (_a = {}, _a[_this.currentDir === 'rtl' ? 'right' : 'left'] = 0, _a.width = '100%', _a)\n }, [_this.percentStart !== null && _this.percentEnd !== null && h(\"div\", {\n \"data-selection\": true,\n attrs: _this.v3 ? undefined : {\n \"data-selection\": true,\n title: \"\".concat(_this.computedValue.start, \" - \").concat(_this.computedValue.end)\n },\n ref: 'sliderSelectionRef',\n title: \"\".concat(_this.computedValue.start, \" - \").concat(_this.computedValue.end),\n \"class\": \"k-slider-selection\",\n style: _this.vertical ? {\n height: _this.percentEnd - _this.percentStart + '%',\n bottom: _this.percentStart + '%'\n } : (_b = {}, _b[_this.currentDir === 'rtl' ? 'right' : 'left'] = _this.percentStart + '%', _b.width = _this.percentEnd - _this.percentStart + '%', _b)\n }), h(\"a\", {\n ref: 'startHandle',\n role: \"slider\",\n attrs: _this.v3 ? undefined : {\n role: \"slider\",\n tabindex: getTabIndex(_this.startTabIndex, _this.$props.disabled, undefined),\n \"aria-valuemin\": _this.min,\n \"aria-valuemax\": Math.max(_this.max, _this.computedValue.end),\n \"aria-valuenow\": _this.computedValue.start,\n \"aria-disabled\": _this.disabled ? 'true' : undefined,\n \"aria-valuetext\": _this.computedValue.start,\n title: localization.toLanguageString(sliderDragTitle, messages[sliderDragTitle])\n },\n tabindex: getTabIndex(_this.startTabIndex, _this.$props.disabled, undefined),\n \"aria-valuemin\": _this.min,\n \"aria-valuemax\": Math.max(_this.max, _this.computedValue.end),\n \"aria-valuenow\": _this.computedValue.start,\n \"aria-disabled\": _this.disabled ? 'true' : undefined,\n \"aria-valuetext\": _this.computedValue.start,\n \"class\": \"k-draghandle\",\n title: localization.toLanguageString(sliderDragTitle, messages[sliderDragTitle]),\n style: _this.vertical ? {\n bottom: 'calc(' + _this.percentStart + '%)',\n zIndex: 1\n } : _this.currentDir === 'rtl' ? {\n right: 'calc(' + _this.percentStart + '% - 13px)',\n zIndex: 1\n } : {\n left: 'calc(' + _this.percentStart + '%)',\n zIndex: 1\n },\n onKeydown: _this.handleStartKeyDown,\n on: _this.v3 ? undefined : {\n \"keydown\": _this.handleStartKeyDown\n }\n }), h(\"a\", {\n ref: 'endHandle',\n role: \"slider\",\n attrs: _this.v3 ? undefined : {\n role: \"slider\",\n tabindex: getTabIndex(_this.endTabIndex, _this.$props.disabled, undefined),\n \"aria-valuemin\": Math.min(_this.min, _this.computedValue.start),\n \"aria-valuemax\": _this.max,\n \"aria-valuenow\": _this.computedValue.end,\n \"aria-disabled\": _this.disabled ? 'true' : undefined,\n \"aria-valuetext\": _this.computedValue.end,\n title: localization.toLanguageString(sliderDragTitle, messages[sliderDragTitle])\n },\n tabindex: getTabIndex(_this.endTabIndex, _this.$props.disabled, undefined),\n \"aria-valuemin\": Math.min(_this.min, _this.computedValue.start),\n \"aria-valuemax\": _this.max,\n \"aria-valuenow\": _this.computedValue.end,\n \"aria-disabled\": _this.disabled ? 'true' : undefined,\n \"aria-valuetext\": _this.computedValue.end,\n \"class\": \"k-draghandle\",\n title: localization.toLanguageString(sliderDragTitle, messages[sliderDragTitle]),\n style: _this.vertical ? {\n bottom: 'calc(' + _this.percentEnd + '%)',\n zIndex: 1\n } : _this.currentDir === 'rtl' ? {\n right: 'calc(' + _this.percentEnd + '% - 13px)',\n zIndex: 1\n } : {\n left: 'calc(' + _this.percentEnd + '%)',\n zIndex: 1\n },\n onKeydown: _this.handleEndKeyDown,\n on: _this.v3 ? undefined : {\n \"keydown\": _this.handleEndKeyDown\n }\n })])])])]);\n },\n methods: {\n dispatchStateValue: function dispatchStateValue(args) {\n var newState = rangeReducer({\n start: this.computedValue.start,\n end: this.computedValue.end\n }, __assign(__assign({}, args), {\n min: this.min,\n max: this.max,\n step: this.step\n }));\n this.currentValue.start = newState.start;\n this.currentValue.end = newState.end;\n this.$emit('change', {\n min: this.min,\n max: this.max,\n step: this.step,\n value: {\n start: newState.start,\n end: newState.end\n }\n });\n },\n focus: function focus() {\n if (this.startHandle) {\n this.startHandle.focus();\n }\n },\n handleChange: function handleChange(newValue, event) {\n this.$emit('change', {\n value: newValue,\n // target: target.current,\n event: event\n });\n },\n calcNewDistance: function calcNewDistance(event) {\n if (!this.sliderTrackWrapRef) {\n return;\n }\n event.originalEvent.preventDefault();\n var computed = this.sliderTrackWrapRef.getBoundingClientRect();\n var distance = this.$props.vertical ? computed.bottom - event.clientY : this.currentDir === 'rtl' ? computed.right - event.clientX : event.clientX - computed.left;\n var size = this.$props.vertical ? computed.height : computed.width;\n var percentage = distance / size;\n var payload = this.min + percentage * (this.max - this.min);\n return payload;\n },\n calcKey: function calcKey(payload) {\n if (payload <= this.computedValue.start) {\n return 'start';\n }\n if (payload >= this.computedValue.end) {\n return 'end';\n }\n return 2 * payload < this.computedValue.end + this.computedValue.start ? 'start' : 'end';\n },\n handleStartKeyDown: function handleStartKeyDown(event) {\n switch (event.keyCode) {\n case Keys.right:\n event.preventDefault();\n this.dispatchStateValue({\n type: this.currentDir === 'rtl' ? RANGE_ACTION.decrease : RANGE_ACTION.increase,\n key: 'start',\n event: event\n });\n break;\n case Keys.up:\n event.preventDefault();\n this.dispatchStateValue({\n type: RANGE_ACTION.increase,\n key: 'start',\n event: event\n });\n break;\n case Keys.left:\n event.preventDefault();\n this.dispatchStateValue({\n type: this.currentDir === 'rtl' ? RANGE_ACTION.increase : RANGE_ACTION.decrease,\n key: 'start',\n event: event\n });\n break;\n case Keys.down:\n event.preventDefault();\n this.dispatchStateValue({\n type: RANGE_ACTION.decrease,\n key: 'start',\n event: event\n });\n break;\n case Keys.home:\n event.preventDefault();\n this.dispatchStateValue({\n type: RANGE_ACTION.min,\n key: 'start',\n event: event\n });\n break;\n case Keys.end:\n event.preventDefault();\n this.dispatchStateValue({\n type: RANGE_ACTION.max,\n key: 'start',\n event: event\n });\n break;\n default:\n break;\n }\n },\n handleEndKeyDown: function handleEndKeyDown(event) {\n switch (event.keyCode) {\n case Keys.right:\n event.preventDefault();\n this.dispatchStateValue({\n type: this.currentDir === 'rtl' ? RANGE_ACTION.decrease : RANGE_ACTION.increase,\n key: 'end',\n event: event\n });\n break;\n case Keys.up:\n event.preventDefault();\n this.dispatchStateValue({\n type: RANGE_ACTION.increase,\n key: 'end',\n event: event\n });\n break;\n case Keys.left:\n event.preventDefault();\n this.dispatchStateValue({\n type: this.currentDir === 'rtl' ? RANGE_ACTION.increase : RANGE_ACTION.decrease,\n key: 'end',\n event: event\n });\n break;\n case Keys.down:\n event.preventDefault();\n this.dispatchStateValue({\n type: RANGE_ACTION.decrease,\n key: 'end',\n event: event\n });\n break;\n case Keys.home:\n event.preventDefault();\n this.dispatchStateValue({\n type: RANGE_ACTION.min,\n key: 'end',\n event: event\n });\n break;\n case Keys.end:\n event.preventDefault();\n this.dispatchStateValue({\n type: RANGE_ACTION.max,\n key: 'end',\n event: event\n });\n break;\n default:\n break;\n }\n },\n handleTrackPress: function handleTrackPress(event) {\n var payload = this.calcNewDistance(event);\n var key = this.calcKey(payload);\n this.currentDrag = key;\n key === 'end' ? this.endHandle.focus() : this.startHandle.focus();\n var action = key === 'end' ? RANGE_ACTION.end : RANGE_ACTION.start;\n this.dispatchStateValue({\n type: action,\n payload: payload,\n event: event\n });\n },\n handleTrackDrag: function handleTrackDrag(event) {\n var payload = this.calcNewDistance(event);\n var action = this.currentDrag === 'end' ? RANGE_ACTION.end : RANGE_ACTION.start;\n this.dispatchStateValue({\n type: action,\n payload: payload,\n event: event\n });\n },\n handleTrackRelease: function handleTrackRelease(event) {\n var payload = this.calcNewDistance(event);\n var action = this.currentDrag === 'end' ? RANGE_ACTION.end : RANGE_ACTION.start;\n this.dispatchStateValue({\n type: action,\n payload: payload,\n event: event\n });\n this.currentDrag = '';\n }\n }\n};\n/**\n * Represents the [Kendo UI for Vue Native RangeSlider component]({% slug overview_rangeslider %}).\n * Accepts properties of type [RangeSliderProps]({% slug api_inputs_rangesliderprops %}).\n * Obtaining the `ref` returns an object of type [RangeSliderHandle]({% slug api_inputs_rangesliderhandle %}).\n */\nvar RangeSlider = RangeSliderVue2;\nexport { RangeSlider, RangeSliderVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { Keys, classNames, guid, getTabIndex, getDefaultSlots, validatePackage, templateRendering, getTemplate, getListeners, kendoThemeMaps, setRef, getRef } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, checkboxValidation, checkboxOptionalText } from '../messages/main';\n/**\n * @hidden\n */\nvar CheckboxVue2 = {\n name: 'KendoCheckbox',\n // @ts-ignore\n emits: {\n 'changemodel': null,\n 'update:modelValue': null,\n change: null,\n focus: null,\n blur: null\n },\n model: {\n event: 'changemodel'\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n props: {\n checked: {\n type: Boolean,\n default: undefined\n },\n defaultChecked: {\n type: Boolean,\n default: undefined\n },\n defaultValue: {\n type: [String, Boolean],\n default: undefined\n },\n modelValue: {\n type: [String, Boolean],\n default: undefined\n },\n dir: String,\n disabled: Boolean,\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n label: String,\n labelRender: [String, Number, Boolean, Object],\n labelPlacement: String,\n labelOptional: Boolean,\n name: String,\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n tabIndex: Number,\n value: {\n type: [String, Boolean],\n default: undefined\n },\n validationMessage: String,\n required: Boolean,\n valid: {\n type: Boolean,\n default: undefined\n },\n validityStyles: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n valueDuringOnChange: undefined,\n currentDir: 'ltr',\n currentChecked: undefined,\n currentValue: undefined\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.calculatedId = guid();\n if (this.$props.defaultChecked !== undefined) {\n this.currentChecked = this.$props.defaultChecked;\n }\n if (this.$props.defaultValue !== undefined) {\n this.currentValue = this.$props.defaultValue;\n }\n this.currentDir = this.$props.dir;\n },\n computed: {\n valueIsBooleanOrNull: function valueIsBooleanOrNull() {\n var value = this.$props.value;\n return typeof value === 'boolean' || value === null;\n },\n isCheckedControlled: function isCheckedControlled() {\n return this.$props.checked !== undefined;\n },\n isValueControlled: function isValueControlled() {\n return this.$props.value !== undefined && this.valueIsBooleanOrNull;\n },\n computedValue: function computedValue() {\n return this.$data.valueDuringOnChange !== undefined ? this.$data.valueDuringOnChange : this.$props.value !== undefined ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.$data.currentValue;\n },\n computedChecked: function computedChecked() {\n return this.$data.valueDuringOnChange !== undefined ? this.$data.valueDuringOnChange : this.$props.checked !== undefined ? this.$props.checked : this.$props.modelValue !== undefined ? this.$props.modelValue : this.$data.currentChecked;\n },\n useValueAsChecked: function useValueAsChecked() {\n return this.computedChecked === undefined && this.computedValue;\n },\n checkedProp: function checkedProp() {\n return this.useValueAsChecked ? this.computedValue : this.computedChecked;\n },\n valueProp: function valueProp() {\n var value = this.$props.value;\n return this.useValueAsChecked || this.isValueControlled ? value === null ? value : undefined : value || this.computedValue;\n },\n indeterminateProp: function indeterminateProp() {\n return this.checkedProp === null || this.valueProp === null;\n },\n isValid: function isValid() {\n var valid = this.$props.valid;\n return valid !== undefined ? valid : !this.$props.required ? true : this.computedChecked ? true : false;\n }\n },\n mounted: function mounted() {\n this.input = getRef(this, 'input');\n if (!this.currentDir && window && this.$el) {\n // Note: getComputedStyle forces reflow\n var direction = window.getComputedStyle(this.$el).direction;\n if (direction) {\n this.currentDir = direction;\n }\n }\n this.setValidity();\n },\n updated: function updated() {\n if (!this.input) {\n this.input = getRef(this, 'input');\n }\n this.setValidity();\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n inputRef: inputRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var _b = this.$props,\n ariaDescribedBy = _b.ariaDescribedBy,\n ariaLabelledBy = _b.ariaLabelledBy,\n disabled = _b.disabled,\n id = _b.id,\n label = _b.label,\n labelRender = _b.labelRender,\n labelPlacement = _b.labelPlacement,\n name = _b.name,\n labelOptional = _b.labelOptional,\n tabIndex = _b.tabIndex,\n required = _b.required,\n validityStyles = _b.validityStyles,\n size = _b.size,\n rounded = _b.rounded;\n var defaultSlot = getDefaultSlots(this);\n var renderedLabel = label;\n this.localizationService = provideLocalizationService(this);\n this.defaultValidationMessage = this.localizeMessage(checkboxValidation);\n this.optionalMessage = this.localizeMessage(checkboxOptionalText);\n var checkboxClasses = classNames({\n 'k-checkbox-wrap': true,\n 'k-disabled': disabled\n });\n var inputClasses = classNames((_a = {\n 'k-checkbox': true\n }, _a[\"k-checkbox-\".concat(kendoThemeMaps.sizeMap[size])] = size, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded])] = rounded, _a['k-indeterminate'] = this.indeterminateProp, _a['k-disabled'] = disabled, _a['k-invalid k-invalid'] = !(this.isValid || validityStyles !== undefined || validityStyles === true), _a));\n var checkboxInput = function checkboxInput() {\n return h(\"input\", {\n type: 'checkbox',\n attrs: this.v3 ? undefined : {\n type: 'checkbox',\n name: name,\n id: id || this.calculatedId,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n disabled: disabled,\n tabindex: getTabIndex(tabIndex, disabled),\n role: 'checkbox',\n required: required !== undefined ? required : false,\n \"aria-checked\": this.computedChecked || this.checkedProp ? true : this.indeterminateProp ? 'mixed' : false,\n \"aria-disabled\": disabled || undefined\n },\n \"class\": inputClasses,\n name: name,\n id: id || this.calculatedId,\n ref: setRef(this, 'input'),\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n checked: this.v3 ? Boolean(this.checkedProp) : null,\n domProps: this.v3 ? undefined : {\n \"checked\": Boolean(this.checkedProp)\n },\n disabled: disabled,\n tabindex: getTabIndex(tabIndex, disabled),\n role: 'checkbox',\n required: required !== undefined ? required : false,\n \"aria-checked\": this.computedChecked || this.checkedProp ? true : this.indeterminateProp ? 'mixed' : false,\n \"aria-disabled\": disabled || undefined,\n onChange: this.onChangeHandler,\n on: this.v3 ? undefined : {\n \"change\": this.onChangeHandler,\n \"keydown\": this.onKeyDownHandler,\n \"focus\": this.onFocusHandler,\n \"blur\": this.onBlurHandler\n },\n onKeydown: this.onKeyDownHandler,\n onFocus: this.onFocusHandler,\n onBlur: this.onBlurHandler\n });\n };\n if (labelRender) {\n var renderTemplate = labelRender ? templateRendering.call(this, labelRender, getListeners.call(this)) : null;\n renderedLabel = getTemplate.call(this, {\n h: h,\n template: renderTemplate\n });\n }\n var checkboxLabel = function checkboxLabel() {\n return renderedLabel !== undefined ? h(\"label\", {\n \"class\": 'k-checkbox-label',\n \"for\": id || this.calculatedId,\n attrs: this.v3 ? undefined : {\n \"for\": id || this.calculatedId\n },\n style: {\n userSelect: 'none'\n }\n }, [renderedLabel, labelOptional && h(\"span\", {\n \"class\": \"k-label-optional\"\n }, [this.optionalMessage])]) : null;\n };\n return labelPlacement === 'before' ? h(\"span\", {\n \"class\": checkboxClasses,\n dir: 'rtl',\n attrs: this.v3 ? undefined : {\n dir: 'rtl'\n }\n }, [checkboxInput.call(this), checkboxLabel.call(this), defaultSlot]) : h(\"span\", {\n \"class\": checkboxClasses,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir\n }\n }, [checkboxInput.call(this), checkboxLabel.call(this), defaultSlot]);\n },\n methods: {\n setValidity: function setValidity() {\n var isValid = this.$props.valid !== undefined ? this.$props.valid : !this.$props.required ? true : this.computedChecked ? true : false;\n // @ts-ignore\n if (this.input && this.input.setCustomValidity) {\n // @ts-ignore\n this.input.setCustomValidity(isValid ? '' : this.$props.validationMessage || this.defaultValidationMessage);\n }\n },\n localizeMessage: function localizeMessage(message) {\n return this.localizationService.toLanguageString(message, messages[message]);\n },\n focusElement: function focusElement() {\n if (this.input) {\n // @ts-ignore\n this.input.focus();\n }\n },\n setValue: function setValue(e, val) {\n this.$data.valueDuringOnChange = val;\n var that = this;\n this.$nextTick(function () {\n if (!that.isCheckedControlled && !that.isValueControlled && !that.$props.disabled) {\n that.currentValue = val;\n that.currentChecked = val;\n }\n if (!that.$props.disabled) {\n var handle = {\n element: that.$el,\n focus: null // focusElement\n };\n\n that.$emit('changemodel', val);\n that.$emit('update:modelValue', val);\n that.$emit('change', {\n e: e,\n handle: handle,\n value: val\n });\n }\n this.$data.valueDuringOnChange = undefined;\n });\n },\n onChangeHandler: function onChangeHandler(e) {\n var newValue = e.target.checked;\n this.setValue(e, newValue);\n },\n onKeyDownHandler: function onKeyDownHandler(e) {\n if (this.$props.disabled) {\n return;\n }\n var keyCode = e.keyCode;\n var currentVal = e.currentTarget.checked;\n if (keyCode === Keys.space) {\n e.preventDefault();\n e.stopPropagation();\n this.setValue(e, !currentVal);\n }\n },\n onBlurHandler: function onBlurHandler(e) {\n if (!this.$props.disabled) {\n this.$emit('blur', e);\n }\n },\n onFocusHandler: function onFocusHandler(e) {\n if (!this.$props.disabled) {\n this.$emit('focus', e);\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar Checkbox = CheckboxVue2;\nexport { Checkbox, CheckboxVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { guid, getTabIndex, getDefaultSlots, templateRendering, getTemplate, getListeners, kendoThemeMaps, setRef, getRef } from '@progress/kendo-vue-common';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar RadioButtonVue2 = {\n name: 'KendoRadioButton',\n inheritAttrs: false,\n props: {\n ariaDescribedBy: String,\n checked: Boolean,\n disabled: Boolean,\n className: String,\n content: [String, Number, Boolean, Object],\n dataItem: Object,\n id: String,\n label: String,\n labelRender: [String, Number, Boolean, Object],\n item: [String, Number, Boolean, Object],\n labelPlacement: String,\n name: String,\n tag: {\n type: String,\n default: 'div'\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n tabIndex: Number,\n value: [String, Number, Object],\n valid: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n emits: {\n change: null,\n focus: null,\n blur: null\n },\n created: function created() {\n this.calculatedId = guid();\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.input = getRef(this, 'input');\n },\n computed: {\n inputClassName: function inputClassName() {\n var _a;\n return _a = {\n 'k-radio': true\n }, _a[\"k-radio-\".concat(kendoThemeMaps.sizeMap[this.$props.size])] = this.$props.size, _a['k-invalid'] = this.$props.valid === false, _a[this.$props.className] = this.$props.className, _a;\n }\n },\n methods: {\n focusElement: function focusElement() {\n if (this.input) {\n this.input.focus();\n }\n },\n handleChange: function handleChange(event) {\n this.$emit('change', {\n event: event,\n value: this.$props.value\n });\n },\n handleFocus: function handleFocus(event) {\n if (!this.$props.disabled) {\n this.$emit('focus', event, undefined);\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.$props.disabled) {\n this.$emit('blur', event, undefined);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n ariaDescribedBy = _a.ariaDescribedBy,\n checked = _a.checked,\n disabled = _a.disabled,\n id = _a.id,\n label = _a.label,\n labelRender = _a.labelRender,\n labelPlacement = _a.labelPlacement,\n name = _a.name,\n tabIndex = _a.tabIndex,\n value = _a.value,\n tag = _a.tag;\n var renderedLabel = label;\n if (labelRender) {\n var renderTemplate = labelRender ? templateRendering.call(this, labelRender, getListeners.call(this)) : null;\n renderedLabel = getTemplate.call(this, {\n h: h,\n template: renderTemplate\n });\n }\n var content = getTemplate.call(this, {\n h: h,\n template: this.$props.content\n });\n var radioButtonLabel = renderedLabel !== undefined ? h(\"label\", {\n \"class\": 'k-radio-label',\n \"for\": id || this.calculatedId,\n attrs: this.v3 ? undefined : {\n \"for\": id || this.calculatedId,\n \"aria-label\": label\n },\n style: {\n userSelect: 'none'\n },\n \"aria-label\": label\n }, [renderedLabel]) : null;\n var radio = h(\"input\", {\n type: 'radio',\n attrs: this.v3 ? undefined : {\n type: 'radio',\n id: id || this.calculatedId,\n name: name,\n disabled: disabled,\n tabindex: getTabIndex(tabIndex, disabled),\n \"aria-describedby\": ariaDescribedBy\n },\n id: id || this.calculatedId,\n name: name,\n \"class\": this.inputClassName,\n ref: setRef(this, 'input'),\n disabled: disabled,\n tabindex: getTabIndex(tabIndex, disabled),\n checked: this.v3 ? checked : null,\n domProps: this.v3 ? undefined : {\n \"checked\": checked,\n \"value\": value\n },\n style: this.$attrs.style,\n \"aria-describedby\": ariaDescribedBy,\n value: this.v3 ? value : null,\n onChange: this.handleChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleChange,\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n });\n var defaultRendering = labelPlacement === 'before' ? h(tag, [radioButtonLabel, radio, content, defaultSlot]) : h(tag, [radio, radioButtonLabel, content, defaultSlot]);\n return getTemplate.call(this, {\n h: h,\n template: this.$props.item,\n defaultRendering: defaultRendering,\n defaultSlots: defaultSlot,\n additionalListeners: {\n change: this.handleChange,\n focus: this.handleFocus,\n blur: this.handleBlur\n },\n additionalProps: {\n dataItem: this.$props.dataItem\n }\n });\n }\n};\n/**\n * @hidden\n */\nvar RadioButton = RadioButtonVue2;\nexport { RadioButton, RadioButtonVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { RadioButton } from './RadioButton';\nimport { guid, classNames, focusFirstFocusableChild, validatePackage, isRtl, templateRendering, getListeners } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar RadioGroupVue2 = {\n name: 'KendoRadioGroup',\n props: {\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n dataItems: Array,\n defaultValue: [String, Number, Object],\n dir: String,\n disabled: Boolean,\n labelPlacement: String,\n item: {\n type: String,\n default: undefined\n },\n layout: {\n type: String,\n default: 'vertical',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n },\n name: String,\n modelValue: [String, Number, Object],\n value: [String, Number, Object],\n valid: {\n type: Boolean,\n default: undefined\n }\n },\n // @ts-ignore\n emits: {\n 'changemodel': null,\n 'update:modelValue': null,\n change: null,\n focus: null,\n blur: null\n },\n model: {\n event: 'changemodel'\n },\n created: function created() {\n this.radioGroupName = guid();\n validatePackage(packageMetadata);\n this.stateChecked = this.$props.defaultValue;\n },\n watch: {\n value: function value(newValue) {\n if (newValue === undefined) {\n this.stateChecked = this.$props.defaultValue;\n }\n }\n },\n mounted: function mounted() {\n this.rtl = isRtl(this.$el);\n },\n computed: {\n radioGroupClasses: function radioGroupClasses() {\n var layout = this.$props.layout;\n return {\n 'k-radio-list': true,\n 'k-list-horizontal': layout === 'horizontal',\n 'k-list-vertical': layout === 'vertical' || layout === undefined\n };\n },\n checkedRadioValue: function checkedRadioValue() {\n var value = this.$props.value;\n return value !== undefined ? value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.stateChecked;\n },\n currentDir: function currentDir() {\n var dir = this.$props.dir;\n return dir ? dir : this.rtl ? 'rtl' : undefined;\n }\n },\n data: function data() {\n return {\n rtl: false,\n stateChecked: undefined\n };\n },\n methods: {\n focusElement: function focusElement() {\n if (this.$el) {\n focusFirstFocusableChild(this.$el);\n }\n },\n handleChange: function handleChange(event) {\n var currentValue = event.value;\n if (!(this.$props.value !== undefined) && !this.$props.disabled) {\n this.stateChecked = currentValue;\n }\n if (!this.$props.disabled) {\n this.$emit('changemodel', currentValue);\n this.$emit('update:modelValue', currentValue);\n this.$emit('change', {\n event: event,\n value: currentValue\n });\n }\n },\n handleFocus: function handleFocus(event) {\n if (!this.$props.disabled) {\n this.$emit('focus', event);\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.$props.disabled) {\n this.$emit('blur', event);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy,\n dataItems = _a.dataItems,\n disabled = _a.disabled,\n name = _a.name,\n labelPlacement = _a.labelPlacement,\n valid = _a.valid;\n var radioOptions = dataItems && dataItems.map(function (option, index) {\n var isCurrentlyChecked = this.checkedRadioValue === option.value;\n var noOptionChecked = this.checkedRadioValue === null || this.checkedRadioValue === undefined;\n var item = templateRendering.call(this, this.$props.item || option.item, getListeners.call(this));\n return (\n // @ts-ignore function children\n h(RadioButton, {\n \"class\": classNames('k-radio-item', {\n 'k-disabled': option.disabled || disabled\n }),\n style: option.style,\n key: index,\n item: item,\n attrs: this.v3 ? undefined : {\n item: item,\n role: 'radio',\n tag: 'li',\n valid: valid,\n className: option.className,\n label: option.label,\n value: option.value,\n dataItem: option,\n checked: isCurrentlyChecked,\n disabled: option.disabled || disabled ? true : false,\n labelPlacement: option.labelPlacement ? option.labelPlacement : labelPlacement,\n tabIndex: option.tabIndex ? option.tabIndex : noOptionChecked && index === 0 || isCurrentlyChecked ? 0 : -1,\n index: index,\n name: name || option.name || this.radioGroupName\n },\n role: 'radio',\n tag: 'li',\n valid: valid,\n className: option.className,\n label: option.label,\n value: option.value,\n dataItem: option,\n checked: isCurrentlyChecked,\n disabled: option.disabled || disabled ? true : false,\n labelPlacement: option.labelPlacement ? option.labelPlacement : labelPlacement,\n tabIndex: option.tabIndex ? option.tabIndex : noOptionChecked && index === 0 || isCurrentlyChecked ? 0 : -1,\n index: index,\n name: name || option.name || this.radioGroupName,\n onChange: this.handleChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleChange,\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }, this.v3 ? function () {\n return [option.content];\n } : [option.content])\n );\n }, this);\n return h(\"ul\", {\n role: \"radiogroup\",\n attrs: this.v3 ? undefined : {\n role: \"radiogroup\",\n dir: this.currentDir,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy\n },\n \"class\": this.radioGroupClasses,\n dir: this.currentDir,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy\n }, [radioOptions]);\n }\n};\n/**\n * @hidden\n */\nvar RadioGroup = RadioGroupVue2;\nexport { RadioGroup, RadioGroupVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { guid, isRtl, getTabIndex, validatePackage, kendoThemeMaps, templateDefinition, templateRendering, getListeners, getTemplate, Icon\n// useDir,\n} from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { exclamationCircleIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar TextAreaVue2 = {\n name: 'KendoTextArea',\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n 'input': null,\n 'change': null,\n 'changemodel': null,\n 'update:modelValue': null,\n 'focus': null,\n 'blur': null\n },\n props: {\n title: String,\n ariaDescribedBy: String,\n ariaLabelledBy: String,\n autoSize: Boolean,\n modelValue: {\n type: [String, Array, Number],\n default: undefined\n },\n defaultValue: [String, Number],\n dir: String,\n disabled: Boolean,\n readOnly: Boolean,\n rows: Number,\n id: String,\n name: String,\n validationMessage: String,\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large', 'full'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'solid', 'flat', 'outline'].includes(value);\n }\n },\n required: Boolean,\n placeholder: String,\n tabIndex: Number,\n valid: {\n type: Boolean,\n default: undefined\n },\n value: [String, Array, Number],\n validityStyles: {\n type: Boolean,\n default: true\n },\n iconName: String,\n inputPrefix: templateDefinition,\n inputSuffix: templateDefinition,\n showValidationIcon: Boolean,\n showLoadingIcon: Boolean,\n showClearButton: Boolean,\n inputClass: String,\n wrapperClass: String,\n flow: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n },\n resizable: {\n type: String,\n default: 'vertical',\n validator: function validator(value) {\n return ['both', 'horizontal', 'vertical', 'none'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.calculatedId = guid();\n },\n computed: {\n rootClassName: function rootClassName() {\n var _a;\n var _b = this.$props,\n size = _b.size,\n fillMode = _b.fillMode,\n rounded = _b.rounded,\n required = _b.required,\n showLoadingIcon = _b.showLoadingIcon,\n resizable = _b.resizable,\n autoSize = _b.autoSize;\n var invalid = this.validityStyles === true ? !this.isValid : false;\n return _a = {\n 'k-input': true,\n 'k-textarea': true\n }, _a[\"k-input-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-input-\".concat(fillMode)] = fillMode, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-disabled'] = this.$props.disabled, _a['k-invalid'] = invalid, _a['k-required'] = required, _a['k-loading'] = showLoadingIcon, _a[\"k-resize-\".concat(resizable)] = autoSize ? 'none' : resizable, _a['!k-flex-col'] = this.flow === 'vertical', _a['!k-flex-row'] = this.flow === 'horizontal', _a[this.wrapperClass] = this.wrapperClass, _a;\n },\n inputInnerClass: function inputInnerClass() {\n var _a;\n return _a = {\n 'k-input-inner': true,\n '!k-resize-none': true,\n '!k-overflow-auto': true,\n 'k-flex': true\n }, _a[this.inputClass] = this.inputClass, _a;\n },\n prefixRenderClass: function prefixRenderClass() {\n return {\n 'k-input-prefix': true,\n '!k-flex-col': this.flow === 'horizontal',\n '!k-flex-row': this.flow === 'vertical',\n '!k-align-items-start': this.flow === 'horizontal'\n };\n },\n suffixRenderClass: function suffixRenderClass() {\n return {\n 'k-input-suffix': true,\n '!k-flex-col': this.flow === 'horizontal',\n '!k-flex-row': this.flow === 'vertical',\n '!k-align-items-start': this.flow === 'horizontal'\n };\n },\n suffixIconWrapClass: function suffixIconWrapClass() {\n return {\n 'k-flex-wrap': true,\n '!k-align-items-start': true\n };\n },\n computedValue: function computedValue() {\n return this.$props.value !== undefined ? this.$props.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.currentValue;\n },\n isValid: function isValid() {\n return this.valid !== undefined ? this.valid : !this.required ? true : this.computedValue ? true : false;\n }\n },\n data: function data() {\n return {\n currentValue: this.$props.defaultValue,\n textAreaHeight: 'auto',\n currentDir: 'ltr'\n };\n },\n watch: {\n size: function size() {\n this.textAreaHeight = 'auto';\n }\n },\n mounted: function mounted() {\n this.element = this.v3 ? this.elementRef : this.$refs.element;\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : isRtl(this.$el) ? 'rtl' : 'ltr';\n this.setValidity();\n },\n updated: function updated() {\n this.element = this.v3 ? this.elementRef : this.$refs.element;\n this.setValidity();\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n ariaDescribedBy = _a.ariaDescribedBy,\n ariaLabelledBy = _a.ariaLabelledBy,\n autoSize = _a.autoSize,\n disabled = _a.disabled,\n readOnly = _a.readOnly,\n required = _a.required,\n rows = _a.rows,\n id = _a.id,\n name = _a.name,\n placeholder = _a.placeholder,\n tabIndex = _a.tabIndex,\n iconName = _a.iconName,\n showValidationIcon = _a.showValidationIcon,\n showLoadingIcon = _a.showLoadingIcon,\n showClearButton = _a.showClearButton,\n title = _a.title;\n var textAreaAttrs = __assign({\n id: id || this.calculatedId,\n name: name,\n disabled: disabled,\n rows: rows,\n title: title,\n placeholder: placeholder,\n readOnly: readOnly,\n required: required,\n tabIndex: getTabIndex(tabIndex, disabled),\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n 'aria-multiline': true,\n 'aria-disabled': disabled || undefined\n }, this.$attrs);\n var inputPrefixTemplate = templateRendering.call(this, this.$props.inputPrefix, getListeners.call(this));\n var inputSuffixTemplate = templateRendering.call(this, this.$props.inputSuffix, getListeners.call(this));\n var inputPrefix = getTemplate.call(this, {\n h: h,\n template: inputPrefixTemplate,\n additionalProps: {\n value: this.computedValue,\n valid: this.isValid\n }\n });\n var inputSuffix = getTemplate.call(this, {\n h: h,\n template: inputSuffixTemplate,\n additionalProps: {\n value: this.computedValue,\n valid: this.isValid\n }\n });\n var textarea = h('textarea', __assign(__assign({}, textAreaAttrs), {\n attrs: this.v3 ? undefined : textAreaAttrs,\n class: this.inputInnerClass,\n ref: this.v3 ? function (el) {\n _this.elementRef = el;\n } : 'element',\n style: autoSize ? {\n overflow: 'hidden',\n height: this.textAreaHeight\n } : {},\n value: this.v3 ? this.computedValue : null,\n domProps: this.v3 ? undefined : {\n 'value': this.computedValue\n },\n onChange: this.handleChange,\n onInput: this.handleInput,\n on: this.v3 ? undefined : {\n 'change': this.handleChange,\n 'focus': this.handleFocus,\n 'blur': this.handleBlur,\n input: this.handleInput\n },\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n }));\n var renderWithIcons = [iconName && h(\"span\", {\n \"class\": \"k-flex-wrap\"\n }, [h(Icon, {\n name: iconName,\n attrs: this.v3 ? undefined : {\n name: iconName\n },\n \"class\": \"k-input-icon\"\n })]), textarea, showValidationIcon && this.isValid && h(\"span\", {\n \"class\": this.suffixIconWrapClass\n }, [h(Icon, {\n name: 'check',\n attrs: this.v3 ? undefined : {\n name: 'check'\n },\n \"class\": \"k-input-validation-icon\"\n })]), showValidationIcon && !this.isValid && h(\"span\", {\n \"class\": this.suffixIconWrapClass\n }, [h(Icon, {\n name: 'exclamation-circle',\n attrs: this.v3 ? undefined : {\n name: 'exclamation-circle',\n icon: exclamationCircleIcon\n },\n icon: exclamationCircleIcon,\n \"class\": \"k-input-validation-icon\"\n })]), showLoadingIcon && h(\"span\", {\n \"class\": this.suffixIconWrapClass\n }, [h(Icon, {\n name: 'loading',\n attrs: this.v3 ? undefined : {\n name: 'loading'\n },\n \"class\": 'k-input-loading-icon'\n })]), showClearButton && this.computedValue && h(\"span\", {\n \"class\": this.suffixIconWrapClass\n }, [h(\"span\", {\n onClick: this.clearClick,\n on: this.v3 ? undefined : {\n \"click\": this.clearClick\n },\n \"class\": \"k-clear-value\"\n }, [h(Icon, {\n name: 'x',\n attrs: this.v3 ? undefined : {\n name: 'x'\n }\n })])])];\n return h(\"span\", {\n \"class\": this.rootClassName,\n dir: this.currentDir === 'rtl' ? this.currentDir : '',\n attrs: this.v3 ? undefined : {\n dir: this.currentDir === 'rtl' ? this.currentDir : ''\n },\n style: this.$attrs.style\n }, [this.$props.inputPrefix && h(\"span\", {\n \"class\": this.prefixRenderClass\n }, [inputPrefix]), iconName || showValidationIcon || showLoadingIcon || showClearButton ? h(\"span\", {\n \"class\": \"k-hstack k-flex\"\n }, [renderWithIcons]) : renderWithIcons, this.$props.inputSuffix && h(\"span\", {\n \"class\": this.suffixRenderClass\n }, [inputSuffix])]);\n },\n methods: {\n setValidity: function setValidity() {\n if (this.element && this.element.setCustomValidity) {\n this.element.setCustomValidity(this.isValid ? '' : this.validationMessage || '');\n }\n if (this.element) {\n this.textAreaHeight = \"\".concat(this.element.scrollHeight, \"px\");\n }\n },\n clearClick: function clearClick(event) {\n this.emitUpdate(event, 'change', '');\n },\n focus: function focus() {\n if (this.element) {\n this.element.focus();\n }\n },\n emitUpdate: function emitUpdate(event, eventName, value) {\n var newValue = value;\n if (!this.$props.disabled) {\n this.textAreaHeight = 'auto';\n this.currentValue = newValue;\n }\n if (!this.$props.disabled) {\n this.$emit('changemodel', newValue);\n this.$emit('update:modelValue', newValue);\n this.$emit(eventName, {\n event: event,\n component: this,\n name: this.element.name,\n value: newValue\n });\n }\n },\n handleChange: function handleChange(event) {\n this.emitUpdate(event, 'change', event.target.value);\n },\n handleInput: function handleInput(event) {\n this.emitUpdate(event, 'input', event.target.value);\n },\n handleFocus: function handleFocus(event) {\n if (!this.$props.disabled) {\n this.$emit('focus', {\n event: event,\n component: this,\n name: this.element.name\n });\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.$props.disabled) {\n this.$emit('blur', {\n event: event,\n component: this,\n name: this.element.name\n });\n }\n }\n }\n};\n/**\n * Represents the [Kendo UI for Vue Native TextArea component]({% slug overview_textarea %}).\n *\n * Accepts properties of type [TextAreaProps]({% slug api_inputs_textareaprops %}).\n *\n *\n * ```jsx\n * \n * \n * ```\n */\nvar TextArea = TextAreaVue2;\nexport { TextArea, TextAreaVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport { Button } from '@progress/kendo-vue-buttons';\nimport { xIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar DialogTitleBarVue2 = {\n props: {\n id: String,\n closeIcon: {\n type: Boolean,\n default: true\n },\n title: String,\n titleRender: [String, Function, Object]\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n methods: {\n onCloseButtonClick: function onCloseButtonClick(e) {\n this.$emit('closebuttonclick', e);\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n id = _a.id,\n closeIcon = _a.closeIcon,\n titleRender = _a.titleRender,\n title = _a.title;\n var titleElement;\n titleElement = getTemplate.call(this, {\n h: h,\n template: titleRender,\n defaultRendering: title\n });\n return h(\"div\", {\n \"class\": \"k-window-titlebar k-dialog-titlebar\",\n id: id,\n attrs: this.v3 ? undefined : {\n id: id\n }\n }, [h(\"div\", {\n \"class\": \"k-window-title k-dialog-title\"\n }, [titleElement]), h(\"div\", {\n \"class\": \"k-window-titlebar-actions k-dialog-titlebar-actions\"\n }, [closeIcon &&\n // @ts-ignore\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n fillMode: 'flat',\n \"aria-label\": \"Close\",\n icon: 'x',\n svgIcon: xIcon\n },\n fillMode: 'flat',\n \"aria-label\": \"Close\",\n icon: 'x',\n svgIcon: xIcon,\n onClick: this.onCloseButtonClick,\n on: this.v3 ? undefined : {\n \"click\": this.onCloseButtonClick\n },\n \"class\": \"k-window-titlebar-action k-dialog-titlebar-action\"\n })])]);\n }\n};\n/**\n * @hidden\n */\nvar DialogTitleBar = DialogTitleBarVue2;\nexport { DialogTitleBar, DialogTitleBarVue2 };","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-dialogs',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052290,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","/** @hidden */\nexport var DEFAULT_DIALOGS_ZINDEX = 10002;\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { DialogTitleBar } from './DialogTitleBar';\nimport { guid, Keys, templateRendering, hasListener, templateDefinition, getListeners, getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nimport { DEFAULT_DIALOGS_ZINDEX } from './constants';\n/**\n * @hidden\n */\nvar DialogVue2 = {\n name: 'KendoDialog',\n // @ts-ignore\n emits: {\n close: null,\n overlayclick: null\n },\n props: {\n appendTo: String,\n title: String,\n titleRender: templateDefinition,\n id: String,\n wrapperId: String,\n dir: String,\n closeIcon: {\n type: Boolean,\n default: true\n },\n width: [String, Number],\n height: [String, Number],\n minWidth: [String, Number],\n dialogClass: String,\n themeColor: {\n type: String,\n validator: function validator(value) {\n return ['primary', 'dark', 'light'].includes(value);\n }\n }\n },\n provide: function provide() {\n return {\n kCurrentZIndex: DEFAULT_DIALOGS_ZINDEX\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.titleId = this.generateTitleId();\n this.contentId = this.generateContentId();\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n computed: {\n dialogElementClass: function dialogElementClass() {\n var _a;\n var _b = this.$props,\n dialogClass = _b.dialogClass,\n themeColor = _b.themeColor;\n return _a = {\n 'k-window': true,\n 'k-dialog': true\n }, _a[dialogClass] = dialogClass, _a[\"k-window-\".concat(themeColor)] = themeColor, _a;\n }\n },\n mounted: function mounted() {\n if (this.$props.appendTo) {\n var body = document.querySelector(this.$props.appendTo);\n this.windowElement = this.$refs.wrapper;\n body.append(this.windowElement);\n }\n },\n beforeDestroy: !!isV3 ? undefined : function () {\n if (this.$props.appendTo) {\n this.windowElement.remove();\n }\n },\n // @ts-ignore\n beforeUnmount: function beforeUnmount() {\n if (this.$props.appendTo) {\n this.windowElement.remove();\n }\n },\n methods: {\n handleCloseDialog: function handleCloseDialog(event) {\n event.preventDefault();\n this.$emit('close', {\n event: event,\n target: this\n });\n },\n handleKeyDown: function handleKeyDown(event) {\n if (event.keyCode === Keys.esc && hasListener.call(this, 'close')) {\n event.preventDefault();\n this.handleCloseDialog(event);\n }\n },\n transformDimesion: function transformDimesion(initialValue) {\n return typeof initialValue === 'string' ? initialValue.endsWith('px') || initialValue.endsWith('%') ? initialValue : initialValue + 'px' : initialValue + 'px';\n },\n getActionBarIndex: function getActionBarIndex(children) {\n var actionBarIndex = children.findIndex(function (child) {\n return child && child.tag && child.tag.toLowerCase().indexOf('dialogactionsbar') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('actions-bar') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('dialogactionsbar') !== -1;\n });\n return actionBarIndex;\n },\n generateTitleId: function generateTitleId() {\n return 'dialog-title' + guid();\n },\n generateContentId: function generateContentId() {\n return 'dialog-content' + guid();\n },\n handleClick: function handleClick(e) {\n this.$emit('overlayclick', e);\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var id = this.$props.id !== undefined ? this.$props.id : this.titleId;\n var _a = this.$props,\n title = _a.title,\n width = _a.width,\n height = _a.height,\n minWidth = _a.minWidth,\n dir = _a.dir,\n contentStyle = _a.contentStyle,\n wrapperId = _a.wrapperId;\n var titleRender = this.$props.titleRender ? templateRendering.call(this, this.$props.titleRender, getListeners.call(this)) : null;\n var defaultSlot = getDefaultSlots(this);\n var content = defaultSlot || [];\n width = this.transformDimesion(width);\n height = this.transformDimesion(height);\n minWidth = this.transformDimesion(minWidth);\n var actionBarIndex = this.getActionBarIndex(content);\n var actions;\n if (actionBarIndex !== -1) {\n actions = content[actionBarIndex];\n content.splice(actionBarIndex, 1);\n }\n var closeIcon = this.$props.closeIcon !== undefined ? this.$props.closeIcon : true;\n var dialog = h(\"div\", {\n ref: 'wrapper',\n \"class\": 'k-dialog-wrapper',\n onKeydown: this.handleKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.handleKeyDown\n },\n tabindex: 0,\n attrs: this.v3 ? undefined : {\n tabindex: 0,\n id: wrapperId,\n dir: dir\n },\n id: wrapperId,\n dir: dir\n }, [h(\"div\", {\n \"class\": \"k-overlay\",\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n }\n }), h(\"div\", {\n \"aria-labelledby\": title || titleRender ? id : undefined,\n attrs: this.v3 ? undefined : {\n \"aria-labelledby\": title || titleRender ? id : undefined,\n \"aria-describedby\": this.contentId,\n \"aria-modal\": true,\n role: \"dialog\"\n },\n \"aria-describedby\": this.contentId,\n \"aria-modal\": true,\n \"class\": this.dialogElementClass,\n role: \"dialog\",\n style: {\n width: width,\n height: height,\n minWidth: minWidth\n }\n }, [(title || titleRender) &&\n // @ts-ignore\n h(DialogTitleBar, {\n closeIcon: closeIcon,\n attrs: this.v3 ? undefined : {\n closeIcon: closeIcon,\n id: id,\n title: title,\n titleRender: titleRender\n },\n onClosebuttonclick: this.handleCloseDialog,\n on: this.v3 ? undefined : {\n \"closebuttonclick\": this.handleCloseDialog\n },\n id: id,\n title: title,\n titleRender: titleRender\n }), h(\"div\", {\n \"class\": \"k-window-content k-dialog-content\",\n style: contentStyle,\n id: this.contentId,\n attrs: this.v3 ? undefined : {\n id: this.contentId\n }\n }, [content]), actions])]);\n return this.$props.appendTo ? h(\"div\", [dialog]) : dialog;\n }\n};\n/**\n * @hidden\n */\nvar Dialog = DialogVue2;\nexport { Dialog, DialogVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar DialogActionsBarVue2 = {\n name: 'DialogActionsBar',\n props: {\n layout: {\n type: String,\n default: 'stretched',\n validator: function validator(value) {\n return ['stretched', 'start', 'center', 'end'].includes(value);\n }\n },\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n computed: {\n wrapperClasses: function wrapperClasses() {\n var _a;\n var _b = this.$props,\n layout = _b.layout,\n orientation = _b.orientation;\n return _a = {\n 'k-actions': true,\n 'k-dialog-actions': true,\n 'k-window-actions': true\n }, _a[\"k-actions-\".concat(orientation)] = orientation, _a[\"k-actions-\".concat(layout)] = layout, _a;\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": this.wrapperClasses\n }, [defaultSlot]);\n }\n};\n/**\n * @hidden\n */\nvar DialogActionsBar = DialogActionsBarVue2;\nexport { DialogActionsBar, DialogActionsBarVue2 };","/* eslint-disable */\n/**\n * @hidden\n */\nexport var ResultType;\n(function (ResultType) {\n ResultType[ResultType[\"Literal\"] = 0] = \"Literal\";\n ResultType[ResultType[\"Mask\"] = 1] = \"Mask\";\n // eslint-disable-next-line id-denylist\n ResultType[ResultType[\"Undefined\"] = 2] = \"Undefined\";\n})(ResultType || (ResultType = {}));\n/**\n * @hidden\n */\nvar Result = /** @class */ (function () {\n function Result(value, rest, type) {\n if (type === void 0) { type = ResultType.Undefined; }\n this.value = value;\n this.rest = rest;\n this.type = type;\n }\n //map :: Functor f => f a ~> (a -> b) -> f b\n Result.prototype.map = function (fn) {\n return new Result(fn(this.value), this.rest);\n };\n //chain :: Chain m => m a ~> (a -> m b) -> m b\n Result.prototype.chain = function (fn) {\n return fn(this.value, this.rest);\n };\n Result.prototype.fold = function (s, _ /*we don't need it*/) {\n return s(this.value, this.rest);\n };\n Result.prototype.concat = function (r) {\n return this.map(function (vs, _) { return r.chain(function (v, __) { return vs.concat([v]); }); });\n };\n Result.prototype.toString = function () {\n return \"Result({ value: '\" + this.value + \"', rest: \" + this.rest + \" })\";\n };\n return Result;\n}());\nexport { Result };\n","// @ts-ignore\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Button } from '@progress/kendo-vue-buttons';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { windowStage } from './StageEnum';\nimport { dialogsWindowCloseButton, dialogsWindowMaximizeButton, dialogsWindowMinimizeButton, dialogsWindowRestoreButton, messages } from './messages/main';\nimport { windowIcon, windowMinimizeIcon, windowRestoreIcon, xIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar WindowTitleBarVue2 = {\n name: 'KendoWindowTitleBar',\n props: {\n id: String,\n stage: String,\n closeButton: [String, Function, Object, Boolean],\n minimizeButton: [String, Function, Object, Boolean],\n maximizeButton: [String, Function, Object, Boolean],\n restoreButton: [String, Function, Object, Boolean],\n title: String,\n titleId: String,\n titleRender: [String, Function, Object, Boolean]\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n methods: {\n onDoubleClick: function onDoubleClick(e) {\n this.$emit('doubleclick', e);\n },\n onMinimizeClick: function onMinimizeClick(e) {\n this.$emit('minimizeclick', e);\n },\n onFullScreenClick: function onFullScreenClick(e) {\n this.$emit('fullscreenclick', e);\n },\n onRestoreClick: function onRestoreClick(e) {\n this.$emit('restoreclick', e);\n },\n onCloseClick: function onCloseClick(e) {\n this.$emit('closeclick', e);\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var props = this.$props;\n var stage = props.stage,\n title = props.title,\n titleRender = props.titleRender,\n minimizeButton = props.minimizeButton,\n maximizeButton = props.maximizeButton,\n restoreButton = props.restoreButton,\n closeButton = props.closeButton;\n var ls = provideLocalizationService(this);\n var titleElement = getTemplate.call(this, {\n h: h,\n template: titleRender,\n defaultRendering: title\n });\n var minimizeButtonDefault =\n // @ts-ignore\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n icon: 'window-minimize',\n svgIcon: windowMinimizeIcon,\n fillMode: 'flat',\n \"aria-label\": ls.toLanguageString(dialogsWindowMinimizeButton, messages[dialogsWindowMinimizeButton])\n },\n \"class\": \"k-window-titlebar-action\",\n icon: 'window-minimize',\n svgIcon: windowMinimizeIcon,\n fillMode: 'flat',\n onClick: this.onMinimizeClick,\n on: this.v3 ? undefined : {\n \"click\": this.onMinimizeClick\n },\n \"aria-label\": ls.toLanguageString(dialogsWindowMinimizeButton, messages[dialogsWindowMinimizeButton])\n });\n var minimizeButtonRender = getTemplate.call(this, {\n h: h,\n template: minimizeButton,\n defaultRendering: minimizeButtonDefault\n });\n var maximizeButtonDefault =\n // @ts-ignore\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n icon: 'window',\n svgIcon: windowIcon,\n fillMode: 'flat',\n \"aria-label\": ls.toLanguageString(dialogsWindowMaximizeButton, messages[dialogsWindowMaximizeButton])\n },\n \"class\": \"k-window-titlebar-action\",\n icon: 'window',\n svgIcon: windowIcon,\n fillMode: 'flat',\n onClick: this.onFullScreenClick,\n on: this.v3 ? undefined : {\n \"click\": this.onFullScreenClick\n },\n \"aria-label\": ls.toLanguageString(dialogsWindowMaximizeButton, messages[dialogsWindowMaximizeButton])\n });\n var maximizeButtonRender = getTemplate.call(this, {\n h: h,\n template: maximizeButton,\n defaultRendering: maximizeButtonDefault\n });\n var restoreButtonDefault =\n // @ts-ignore\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n icon: 'window-restore',\n svgIcon: windowRestoreIcon,\n fillMode: 'flat',\n \"aria-label\": ls.toLanguageString(dialogsWindowRestoreButton, messages[dialogsWindowRestoreButton])\n },\n \"class\": \"k-window-titlebar-action\",\n icon: 'window-restore',\n svgIcon: windowRestoreIcon,\n fillMode: 'flat',\n onClick: this.onRestoreClick,\n on: this.v3 ? undefined : {\n \"click\": this.onRestoreClick\n },\n \"aria-label\": ls.toLanguageString(dialogsWindowRestoreButton, messages[dialogsWindowRestoreButton])\n });\n var restoreButtonRender = getTemplate.call(this, {\n h: h,\n template: restoreButton,\n defaultRendering: restoreButtonDefault\n });\n var closeButtonDefault =\n // @ts-ignore\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n icon: 'x',\n svgIcon: xIcon,\n fillMode: 'flat',\n \"aria-label\": ls.toLanguageString(dialogsWindowCloseButton, messages[dialogsWindowCloseButton])\n },\n \"class\": \"k-window-titlebar-action\",\n icon: 'x',\n svgIcon: xIcon,\n fillMode: 'flat',\n onClick: this.onCloseClick,\n on: this.v3 ? undefined : {\n \"click\": this.onCloseClick\n },\n \"aria-label\": ls.toLanguageString(dialogsWindowCloseButton, messages[dialogsWindowCloseButton])\n });\n var closeButtonRender = getTemplate.call(this, {\n h: h,\n template: closeButton,\n defaultRendering: closeButtonDefault\n });\n return h(\"div\", {\n \"class\": \"k-window-titlebar\",\n style: {\n touchAction: 'none'\n },\n onDblclick: this.onDoubleClick,\n on: this.v3 ? undefined : {\n \"dblclick\": this.onDoubleClick\n }\n }, [h(\"div\", {\n \"class\": \"k-window-title\",\n id: this.$props.titleId,\n attrs: this.v3 ? undefined : {\n id: this.$props.titleId\n }\n }, [titleElement]), h(\"div\", {\n \"class\": \"k-window-titlebar-actions\"\n }, [stage === windowStage.DEFAULT && minimizeButtonRender, stage === windowStage.DEFAULT && maximizeButtonRender, stage !== windowStage.DEFAULT && restoreButtonRender, closeButtonRender])]);\n }\n};\n/**\n * @hidden\n */\nvar WindowTitleBar = WindowTitleBarVue2;\nexport { WindowTitleBar, WindowTitleBarVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Draggable } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar keys = ['n', 'e', 's', 'w', 'se', 'sw', 'ne', 'nw'];\n/**\n * @hidden\n */\nvar ResizeHandlersVue2 = {\n name: 'ResizeHandlers',\n // @ts-ignore\n emits: {\n 'resize': null\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n methods: {\n onDrag: function onDrag(event, key) {\n event.originalEvent.preventDefault();\n this.$emit('resize', event, {\n end: false,\n direction: key\n });\n },\n onRelease: function onRelease(event, key) {\n event.originalEvent.preventDefault();\n this.$emit('resize', event, {\n end: true,\n direction: key\n });\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"div\", [keys.map(function (key, index) {\n var _this = this;\n return (\n // @ts-ignore function children\n h(Draggable, {\n key: index,\n onDrag: function onDrag(e) {\n return _this.onDrag(e, key);\n },\n on: this.v3 ? undefined : {\n \"drag\": function onDrag(e) {\n return _this.onDrag(e, key);\n },\n \"release\": function release(e) {\n return _this.onRelease(e, key);\n }\n },\n onRelease: function release(e) {\n return _this.onRelease(e, key);\n }\n }, this.v3 ? function () {\n return [h(\"div\", {\n \"class\": 'k-resize-handle k-resize-' + key,\n style: {\n display: 'block',\n touchAction: 'none'\n }\n })];\n } : [h(\"div\", {\n \"class\": 'k-resize-handle k-resize-' + key,\n style: {\n display: 'block',\n touchAction: 'none'\n }\n })])\n );\n }, this)]);\n }\n};\n/**\n * @hidden\n */\nvar ResizeHandlers = ResizeHandlersVue2;\nexport { ResizeHandlers, ResizeHandlersVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { WindowTitleBar } from './WindowTitlebar';\nimport { Keys, guid, Draggable, templateDefinition, getDefaultSlots, templateRendering, getListeners, validatePackage } from '@progress/kendo-vue-common';\nimport { ResizeHandlers } from './WindowResizeHandlers';\nimport { windowStage } from './StageEnum';\nimport { packageMetadata } from './package-metadata';\nimport { DEFAULT_DIALOGS_ZINDEX } from './constants';\nvar DEFAULT_WIDTH = 300;\nvar DEFAULT_HEIGHT = 300;\nvar DEFAULT_MIN_WIDTH = 120;\nvar DEFAULT_MIN_HEIGHT = 100;\nvar DEFAULT_STEP = 5;\n/**\n * @hidden\n */\nvar WindowVue2 = {\n name: 'KendoWindow',\n // @ts-ignore\n emits: {\n 'resize': null,\n 'move': null,\n 'close': null,\n 'stagechange': null,\n 'overlayclick': null\n },\n provide: function provide() {\n return {\n kCurrentZIndex: DEFAULT_DIALOGS_ZINDEX\n };\n },\n props: {\n id: String,\n appendTo: String,\n width: {\n type: [Number],\n default: undefined\n },\n height: {\n type: [Number],\n default: undefined\n },\n left: {\n type: [Number],\n default: undefined\n },\n windowStyle: Object,\n windowClass: String,\n top: {\n type: [Number],\n default: undefined\n },\n initialWidth: [Number],\n initialHeight: [Number],\n initialLeft: [Number],\n initialTop: [Number],\n minWidth: {\n type: [Number],\n default: DEFAULT_MIN_WIDTH\n },\n minHeight: {\n type: [Number],\n default: DEFAULT_MIN_HEIGHT\n },\n resizable: {\n type: Boolean,\n default: true\n },\n draggable: {\n type: Boolean,\n default: true\n },\n modal: {\n type: Boolean,\n default: false\n },\n doubleClickStageChange: {\n type: Boolean,\n default: true\n },\n title: String,\n titleRender: templateDefinition,\n closeButton: templateDefinition,\n minimizeButton: templateDefinition,\n maximizeButton: templateDefinition,\n restoreButton: templateDefinition,\n shouldUpdateOnDrag: Boolean,\n stage: {\n type: String,\n validator: function validator(value) {\n return ['DEFAULT', 'MINIMIZED', 'FULLSCREEN'].indexOf(value) !== -1;\n }\n },\n themeColor: {\n type: String,\n validator: function validator(value) {\n return [undefined, 'primary', 'dark', 'light'].includes(value);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.windowCoordinatesState = {\n leftBeforeAction: this.getInitialLeft(),\n topBeforeAction: this.getInitialTop(),\n widthBeforeAction: this.getInitialWidth(),\n heightBeforeAction: this.getInitialHeight()\n };\n this.titleId = this.generateTitleId();\n },\n beforeDestroy: !!isV3 ? undefined : function () {\n if (this.$props.appendTo) {\n this.windowWrapper.remove();\n }\n },\n beforeUnmount: function beforeUnmount() {\n if (this.$props.appendTo) {\n this.windowWrapper.remove();\n }\n },\n data: function data() {\n return {\n currentStage: this.$props.stage || windowStage.DEFAULT,\n isDragging: false,\n currentTop: this.getInitialTop(),\n currentLeft: this.getInitialLeft(),\n currentWidth: this.getInitialWidth(),\n currentHeight: this.getInitialHeight(),\n titleId: undefined\n };\n },\n mounted: function mounted() {\n if (window) {\n window.addEventListener('resize', this.handleBrowserWindowResize);\n if (this.$props.appendTo) {\n var body = document.querySelector(this.$props.appendTo);\n this.windowWrapper = this.$refs.wrapper;\n body.append(this.windowWrapper);\n }\n }\n if (this.$el) {\n // this.draggable = this.$refs.draggable;\n this.windowElement = this.$refs.windowElement;\n }\n },\n destroyed: !!isV3 ? undefined : function () {\n if (window) {\n window.removeEventListener('resize', this.handleBrowserWindowResize);\n }\n },\n // @ts-ignore\n unmounted: function unmounted() {\n if (window) {\n window.removeEventListener('resize', this.handleBrowserWindowResize);\n }\n },\n computed: {\n wrapperClass: function wrapperClass() {\n return {\n 'k-dialog-wrapper': this.$props.modal\n };\n },\n windowElementClass: function windowElementClass() {\n var _a;\n var _b = this.$props,\n windowClass = _b.windowClass,\n themeColor = _b.themeColor;\n return _a = {\n 'k-window': true\n }, _a[windowClass] = windowClass, _a[\"k-window-\".concat(themeColor)] = themeColor, _a['k-window-minimized'] = this.currentStage === 'MINIMIZED', _a;\n },\n computedTop: function computedTop() {\n if (this.windowStage !== windowStage.FULLSCREEN) {\n return Math.max(this.$props.top || this.currentTop, 0);\n }\n return 0;\n },\n computedLeft: function computedLeft() {\n if (this.windowStage !== windowStage.FULLSCREEN) {\n return Math.max(this.$props.left || this.currentLeft, 0);\n }\n return 0;\n },\n computedWidth: function computedWidth() {\n var width = this.$props.width || this.currentWidth;\n if (this.windowStage === windowStage.FULLSCREEN) {\n width = window.innerWidth;\n }\n return width;\n },\n computedHeight: function computedHeight() {\n var height = this.$props.height || this.currentHeight;\n if (this.windowStage === windowStage.FULLSCREEN) {\n height = window.innerHeight;\n } else if (this.windowStage === windowStage.MINIMIZED) {\n height = 0;\n }\n return height;\n },\n windowStage: function windowStage() {\n return this.$props.stage || this.currentStage;\n }\n },\n methods: {\n onPress: function onPress(event) {\n var e = event;\n this.windowCoordinatesState.differenceLeft = e.pageX - this.computedLeft;\n this.windowCoordinatesState.differenceTop = e.pageY - this.computedTop;\n },\n onDrag: function onDrag(event) {\n var e = event;\n e.originalEvent.preventDefault();\n if (this.windowStage !== windowStage.FULLSCREEN && this.$props.draggable) {\n this.currentTop = Math.max(e.pageY - this.windowCoordinatesState.differenceTop, 0);\n this.currentLeft = e.pageX - this.windowCoordinatesState.differenceLeft;\n this.isDragging = true;\n this.dispatchMoveEvent('move', e, true, false);\n }\n },\n onRelease: function onRelease(event) {\n var e = event;\n if (this.windowStage !== windowStage.FULLSCREEN && this.$props.draggable) {\n this.dispatchMoveEvent('move', e, true, true);\n }\n this.isDragging = false;\n },\n handleKeyDown: function handleKeyDown(event) {\n if (event.target !== event.currentTarget) {\n return;\n }\n var minWidth = this.$props.minWidth || DEFAULT_MIN_WIDTH;\n var minHeight = this.$props.minHeight || DEFAULT_MIN_HEIGHT;\n if (event.ctrlKey && this.$props.resizable) {\n switch (event.keyCode) {\n case Keys.up:\n event.preventDefault();\n if (minHeight <= this.computedHeight - DEFAULT_STEP) {\n this.currentHeight = this.currentHeight - DEFAULT_STEP;\n }\n break;\n case Keys.down:\n event.preventDefault();\n this.currentHeight = this.currentHeight + DEFAULT_STEP;\n break;\n case Keys.left:\n if (minWidth <= this.computedWidth - DEFAULT_STEP) {\n this.currentWidth = this.currentWidth - DEFAULT_STEP;\n }\n break;\n case Keys.right:\n this.currentWidth = this.currentWidth + DEFAULT_STEP;\n break;\n default:\n return;\n }\n this.dispatchMoveEvent('resize', event, false, undefined);\n return;\n }\n if (event.altKey) {\n switch (event.keyCode) {\n case Keys.up:\n if (this.windowStage === windowStage.MINIMIZED) {\n this.handleRestore(event);\n this.$emit('stagechange', event, this, {\n state: windowStage.DEFAULT\n });\n } else if (this.windowStage === windowStage.DEFAULT) {\n this.handleFullscreen(event);\n this.$emit('stagechange', event, this, {\n state: windowStage.FULLSCREEN\n });\n }\n break;\n case Keys.down:\n if (this.windowStage === windowStage.FULLSCREEN) {\n this.handleRestore(event);\n this.$emit('stagechange', event, this, {\n state: windowStage.DEFAULT\n });\n } else if (this.windowStage === windowStage.DEFAULT) {\n this.handleMinimize(event);\n this.$emit('stagechange', event, this, {\n state: windowStage.MINIMIZED\n });\n }\n break;\n default:\n }\n return;\n }\n if (!event.ctrlKey) {\n switch (event.keyCode) {\n case Keys.esc:\n this.handleCloseWindow(event);\n return;\n case Keys.up:\n event.preventDefault();\n this.currentTop = this.currentTop - DEFAULT_STEP;\n break;\n case Keys.down:\n event.preventDefault();\n this.currentTop = this.currentTop + DEFAULT_STEP;\n break;\n case Keys.left:\n event.preventDefault();\n this.currentLeft = this.currentLeft - DEFAULT_STEP;\n break;\n case Keys.right:\n event.preventDefault();\n this.currentLeft = this.currentLeft + DEFAULT_STEP;\n break;\n default:\n return;\n }\n }\n this.dispatchMoveEvent('move', event, false, undefined);\n },\n getInitialTop: function getInitialTop() {\n if (this.$props.top !== undefined) {\n return this.$props.top;\n }\n if (this.$props.initialTop !== undefined) {\n return this.$props.initialTop;\n }\n var height = DEFAULT_HEIGHT;\n if (this.$props.height !== undefined) {\n height = this.$props.height;\n } else if (this.$props.initialHeight !== undefined) {\n height = this.$props.initialHeight;\n }\n return window.innerHeight / 2 - height / 2;\n },\n getInitialLeft: function getInitialLeft() {\n if (this.$props.left !== undefined) {\n return this.$props.left;\n }\n if (this.$props.initialLeft !== undefined) {\n return this.$props.initialLeft;\n }\n var width = DEFAULT_WIDTH;\n if (this.$props.width !== undefined) {\n width = this.$props.width;\n } else if (this.$props.initialWidth !== undefined) {\n width = this.$props.initialWidth;\n }\n return window.innerWidth / 2 - width / 2;\n },\n getInitialWidth: function getInitialWidth() {\n var width = DEFAULT_WIDTH;\n if (this.$props.width !== undefined) {\n width = this.$props.width;\n } else if (this.$props.initialWidth !== undefined) {\n width = this.$props.initialWidth;\n }\n return width;\n },\n getInitialHeight: function getInitialHeight() {\n var height = DEFAULT_HEIGHT;\n if (this.$props.height !== undefined) {\n height = this.$props.height;\n } else if (this.$props.initialHeight !== undefined) {\n height = this.$props.initialHeight;\n }\n return height;\n },\n handleMinimize: function handleMinimize(event) {\n event.preventDefault();\n this.windowCoordinatesState.leftBeforeAction = this.computedLeft;\n this.windowCoordinatesState.topBeforeAction = this.computedTop;\n this.windowCoordinatesState.widthBeforeAction = this.computedWidth;\n this.windowCoordinatesState.heightBeforeAction = this.computedHeight;\n this.currentStage = windowStage.MINIMIZED;\n this.currentHeight = 0;\n this.$emit('stagechange', event, this, {\n state: windowStage.MINIMIZED\n });\n },\n handleFullscreen: function handleFullscreen(event) {\n event.preventDefault();\n this.windowCoordinatesState.leftBeforeAction = this.computedLeft;\n this.windowCoordinatesState.topBeforeAction = this.computedTop;\n this.windowCoordinatesState.widthBeforeAction = this.computedWidth;\n this.windowCoordinatesState.heightBeforeAction = this.computedHeight;\n this.currentLeft = 0;\n this.currentTop = 0;\n this.currentWidth = window.innerWidth;\n this.currentHeight = window.innerHeight;\n this.currentStage = windowStage.FULLSCREEN;\n this.$emit('stagechange', event, this, {\n state: windowStage.FULLSCREEN\n });\n },\n handleRestore: function handleRestore(event) {\n event.preventDefault();\n if (this.windowStage === windowStage.FULLSCREEN) {\n this.currentStage = windowStage.DEFAULT;\n this.currentLeft = this.windowCoordinatesState.leftBeforeAction;\n this.currentTop = this.windowCoordinatesState.topBeforeAction;\n this.currentWidth = this.windowCoordinatesState.widthBeforeAction;\n this.currentHeight = this.windowCoordinatesState.heightBeforeAction;\n } else if (this.windowStage === windowStage.MINIMIZED) {\n this.currentStage = windowStage.DEFAULT;\n this.currentHeight = this.windowCoordinatesState.heightBeforeAction;\n }\n this.$emit('stagechange', event, this, {\n state: windowStage.DEFAULT\n });\n },\n handleCloseWindow: function handleCloseWindow(event) {\n event.preventDefault();\n this.$emit('close', event, this, {\n state: undefined\n });\n },\n handleDoubleClick: function handleDoubleClick(e) {\n if (!this.$props.doubleClickStageChange) {\n return;\n }\n if (this.windowStage === windowStage.FULLSCREEN || this.windowStage === windowStage.MINIMIZED) {\n this.handleRestore(e);\n } else {\n this.handleFullscreen(e);\n }\n },\n handleResize: function handleResize(event, props) {\n var currentWidth = this.computedWidth;\n var currentHeight = this.computedHeight;\n var minWidth = this.$props.minWidth || DEFAULT_MIN_WIDTH;\n var minHeight = this.$props.minHeight || DEFAULT_MIN_HEIGHT;\n var heightDifference = this.computedTop - event.pageY;\n var widthDifference = this.computedLeft - event.pageX;\n var newWidth = event.pageX - this.computedLeft;\n var newHeight = event.pageY - this.computedTop;\n this.isDragging = !props.end;\n if (props.direction.indexOf('n') >= 0 && minHeight - (currentHeight + heightDifference) < 0) {\n this.currentTop = event.pageY;\n this.currentHeight = currentHeight + heightDifference;\n }\n if (props.direction.indexOf('s') >= 0 && minHeight - newHeight < 0) {\n this.currentHeight = newHeight;\n }\n if (props.direction.indexOf('w') >= 0 && minWidth - (currentWidth + widthDifference) < 0) {\n this.currentLeft = event.pageX;\n this.currentWidth = currentWidth + widthDifference;\n }\n if (props.direction.indexOf('e') >= 0 && minWidth - newWidth < 0) {\n this.currentWidth = newWidth;\n }\n this.dispatchMoveEvent('resize', event, true, props.end);\n },\n dispatchMoveEvent: function dispatchMoveEvent(eventName, event, drag, end) {\n this.$emit(eventName, {\n event: event.event,\n drag: drag,\n end: end,\n target: this,\n left: this.currentLeft,\n top: this.currentTop,\n width: this.currentWidth,\n height: this.currentHeight\n });\n },\n handleBrowserWindowResize: function handleBrowserWindowResize() {\n if (this.windowStage === windowStage.FULLSCREEN) {\n this.currentWidth = window.innerWidth;\n this.currentHeight = window.innerHeight;\n }\n },\n handleClick: function handleClick(e) {\n this.$emit('overlayclick', e);\n },\n getActionBarIndex: function getActionBarIndex(children) {\n var actionBarIndex = children.findIndex(function (child) {\n return child && child.tag && child.tag.toLowerCase().indexOf('dialogactionsbar') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('actions-bar') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('dialogactionsbar') !== -1;\n });\n return actionBarIndex;\n },\n generateTitleId: function generateTitleId() {\n return 'window-title-' + guid();\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var titleRender = templateRendering.call(this, this.$props.titleRender, getListeners.call(this));\n var closeButton = templateRendering.call(this, this.$props.closeButton, getListeners.call(this));\n var minimizeButton = templateRendering.call(this, this.$props.minimizeButton, getListeners.call(this));\n var maximizeButton = templateRendering.call(this, this.$props.maximizeButton, getListeners.call(this));\n var restoreButton = templateRendering.call(this, this.$props.restoreButton, getListeners.call(this));\n var defaultSlot = getDefaultSlots(this);\n var content = defaultSlot || [];\n var actionBarIndex = this.getActionBarIndex(content);\n var actions;\n if (actionBarIndex !== -1) {\n actions = content[actionBarIndex];\n content.splice(actionBarIndex, 1);\n }\n var windowElement = h(\"div\", {\n \"class\": this.wrapperClass,\n ref: 'wrapper'\n }, [this.$props.modal && h(\"div\", {\n \"class\": \"k-overlay\",\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n }\n }), h(\"div\", {\n tabindex: 0,\n attrs: this.v3 ? undefined : {\n tabindex: 0,\n role: 'dialog',\n \"aria-modal\": this.$props.modal ? true : undefined,\n \"aria-labelledby\": this.titleId\n },\n onFocus: function onFocus(e) {\n return e.target.classList.add('k-focus');\n },\n on: this.v3 ? undefined : {\n \"focus\": function onFocus(e) {\n return e.target.classList.add('k-focus');\n },\n \"blur\": function blur(e) {\n return e.target.classList.remove('k-focus');\n },\n \"keydown\": this.handleKeyDown\n },\n onBlur: function blur(e) {\n return e.target.classList.remove('k-focus');\n },\n onKeydown: this.handleKeyDown,\n ref: 'windowElement',\n \"class\": this.windowElementClass,\n role: 'dialog',\n \"aria-modal\": this.$props.modal ? true : undefined,\n \"aria-labelledby\": this.titleId,\n style: __assign({\n top: this.computedTop + 'px',\n left: this.computedLeft + 'px',\n width: this.computedWidth + 'px',\n height: this.computedHeight + 'px' || ''\n }, this.$props.windowStyle)\n }, [\n // @ts-ignore function children\n h(Draggable, {\n onPress: this.onPress,\n on: this.v3 ? undefined : {\n \"press\": this.onPress,\n \"drag\": this.onDrag,\n \"release\": this.onRelease\n },\n onDrag: this.onDrag,\n onRelease: this.onRelease,\n ref: 'draggable'\n }, this.v3 ? function () {\n return [\n // @ts-ignore function children\n h(WindowTitleBar, {\n stage: _this.windowStage,\n attrs: _this.v3 ? undefined : {\n stage: _this.windowStage,\n title: _this.$props.title,\n titleId: _this.titleId,\n titleRender: titleRender,\n closeButton: closeButton,\n minimizeButton: minimizeButton,\n maximizeButton: maximizeButton,\n restoreButton: restoreButton\n },\n title: _this.$props.title,\n titleId: _this.titleId,\n titleRender: titleRender,\n onDoubleclick: _this.handleDoubleClick,\n on: _this.v3 ? undefined : {\n \"doubleclick\": _this.handleDoubleClick,\n \"minimizeclick\": _this.handleMinimize,\n \"fullscreenclick\": _this.handleFullscreen,\n \"restoreclick\": _this.handleRestore,\n \"closeclick\": _this.handleCloseWindow\n },\n onMinimizeclick: _this.handleMinimize,\n onFullscreenclick: _this.handleFullscreen,\n onRestoreclick: _this.handleRestore,\n onCloseclick: _this.handleCloseWindow,\n closeButton: closeButton,\n minimizeButton: minimizeButton,\n maximizeButton: maximizeButton,\n restoreButton: restoreButton\n })];\n } : [h(WindowTitleBar, {\n stage: _this.windowStage,\n attrs: _this.v3 ? undefined : {\n stage: _this.windowStage,\n title: _this.$props.title,\n titleId: _this.titleId,\n titleRender: titleRender,\n closeButton: closeButton,\n minimizeButton: minimizeButton,\n maximizeButton: maximizeButton,\n restoreButton: restoreButton\n },\n title: _this.$props.title,\n titleId: _this.titleId,\n titleRender: titleRender,\n onDoubleclick: _this.handleDoubleClick,\n on: _this.v3 ? undefined : {\n \"doubleclick\": _this.handleDoubleClick,\n \"minimizeclick\": _this.handleMinimize,\n \"fullscreenclick\": _this.handleFullscreen,\n \"restoreclick\": _this.handleRestore,\n \"closeclick\": _this.handleCloseWindow\n },\n onMinimizeclick: _this.handleMinimize,\n onFullscreenclick: _this.handleFullscreen,\n onRestoreclick: _this.handleRestore,\n onCloseclick: _this.handleCloseWindow,\n closeButton: closeButton,\n minimizeButton: minimizeButton,\n maximizeButton: maximizeButton,\n restoreButton: restoreButton\n })]), this.windowStage !== windowStage.MINIMIZED ? [h(\"div\", {\n \"class\": \"k-window-content\"\n }, [defaultSlot]), actions] : null, this.windowStage === windowStage.DEFAULT && this.$props.resizable\n // @ts-ignore function children\n ? h(ResizeHandlers, {\n onResize: this.handleResize,\n on: this.v3 ? undefined : {\n \"resize\": this.handleResize\n }\n }) : null])]);\n return this.$props.appendTo ? h(\"div\", [windowElement]) : windowElement;\n }\n};\n/**\n * @hidden\n */\nvar Window = WindowVue2;\nexport { Window, WindowVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Button } from '@progress/kendo-vue-buttons';\nimport { xIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar SignatureBottomActionsVue2 = {\n name: 'KendoSignatureBottomActions',\n // @ts-ignore\n emits: {\n clear: null\n },\n props: {\n showClear: Boolean,\n size: String,\n title: String\n },\n methods: {\n onClear: function onClear(e) {\n this.$emit('clear', e);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n showClear = _a.showClear,\n title = _a.title,\n size = _a.size;\n return h(\"div\", {\n \"class\": 'k-signature-actions k-signature-actions-bottom'\n }, [showClear &&\n // @ts-ignore\n h(Button, {\n \"class\": 'k-signature-action k-signature-clear',\n icon: 'x',\n attrs: this.v3 ? undefined : {\n icon: 'x',\n svgIcon: xIcon,\n shape: null,\n fillMode: 'flat',\n size: size,\n \"aria-label\": title,\n title: title\n },\n svgIcon: xIcon,\n shape: null,\n fillMode: 'flat',\n size: size,\n onClick: this.onClear,\n on: this.v3 ? undefined : {\n \"click\": this.onClear\n },\n \"aria-label\": title,\n title: title\n })]);\n }\n};\n/**\n * @hidden\n */\nvar SignatureBottomActions = SignatureBottomActionsVue2;\nexport { SignatureBottomActions, SignatureBottomActionsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nvar SignatureLineVue2 = {\n name: 'KendoSignatureLine',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"div\", {\n \"class\": 'k-signature-line',\n style: {\n zIndex: 2,\n pointerEvents: 'none'\n }\n });\n }\n};\n/**\n * @hidden\n */\nvar SignatureLine = SignatureLineVue2;\nexport { SignatureLine, SignatureLineVue2 };","/* eslint-disable */\n/**\n * @hidden\n */\nvar Stream = /** @class */ (function () {\n function Stream(input, control) {\n if (input === void 0) { input = []; }\n if (control === void 0) { control = []; }\n this.input = input;\n this.control = control;\n this.inputCursor = 0;\n this.controlCursor = 0;\n }\n Stream.prototype.eof = function () {\n return this.inputCursor >= this.input.length;\n };\n // Get the first value from the input.\n Stream.prototype.next = function () {\n return {\n char: this.input[this.inputCursor++],\n control: this.control[this.controlCursor++]\n };\n };\n Stream.prototype.peek = function () {\n return {\n char: this.input[this.inputCursor],\n control: this.control[this.controlCursor]\n };\n };\n Stream.prototype.eat_input = function () {\n this.inputCursor++;\n };\n Stream.prototype.eat_control = function () {\n this.controlCursor++;\n };\n Stream.prototype.eat = function () {\n this.inputCursor++;\n this.controlCursor++;\n };\n return Stream;\n}());\nexport { Stream };\n","/* eslint-disable */\nimport { Result, ResultType } from './result';\nimport { Stream } from './stream';\nvar toArray = function (value) { return (value || '').split(''); };\nvar ESCAPE_CHARACTER = '\\\\';\n/**\n * @hidden\n */\nvar Parser = /** @class */ (function () {\n function Parser(parse) {\n this.parse = parse;\n }\n Parser.prototype.run = function (input, control) {\n if (control === void 0) { control = ''; }\n if (input instanceof Stream) {\n return this.parse(input);\n }\n else {\n return this.parse(new Stream(toArray(input), toArray(control)));\n }\n };\n //map :: Functor f => f a ~> (a -> b) -> f b\n Parser.prototype.map = function (f) {\n var _this = this;\n return new Parser(function (stream) { return _this.parse(stream).map(f); });\n };\n //chain :: Chain m => m a ~> (a -> m b) -> m b\n Parser.prototype.chain = function (f) {\n var _this = this;\n return new Parser(function (stream) { return _this.parse(stream).chain(function (v, s) { return f(v).run(s); }); });\n };\n Parser.prototype.isLiteral = function (c) {\n return this.run(c).type === ResultType.Literal;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * @hidden\n */\nexport var mask = function (_a) {\n var prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return function (rule) { return new Parser(function (stream) {\n while (!stream.eof()) {\n var _a = stream.peek(), char = _a.char, control = _a.control;\n if (char === control && control === prompt) {\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }\n if (rule.test(char)) {\n stream.eat();\n return new Result(char, stream, ResultType.Mask);\n }\n if (char === promptPlaceholder) {\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }\n stream.eat_input();\n }\n stream.eat();\n return new Result(prompt, stream, ResultType.Mask);\n }); };\n};\n/**\n * @hidden\n */\nexport var literal = function (_token) { return new Parser(function (stream) {\n // let {char, control} = stream.peek();\n var char = stream.peek().char;\n if (char === _token) {\n stream.eat();\n return new Result(_token, stream, ResultType.Literal);\n }\n // if (control === _token) {\n // while (!stream.eof() && char !== _token) {\n // stream.eat_input();\n // char = stream.peek().char;\n // }\n // }\n //\n // if (control !== undefined) {\n // stream.eat();\n // }\n return new Result(_token, stream, ResultType.Literal);\n}); };\n/**\n * @hidden\n */\nexport var unmask = function (prompt) { return function (rule) { return new Parser(function (stream) {\n while (!stream.eof()) {\n var _a = stream.peek(), char = _a.char, control = _a.control;\n if (char === prompt && control === prompt) {\n stream.eat();\n return new Result(char, stream);\n }\n if (rule.test(char)) {\n stream.eat();\n return new Result(char, stream);\n }\n stream.eat_input();\n }\n stream.eat();\n return new Result('', stream);\n}); }; };\n/**\n * @hidden\n */\nexport var unliteral = function (_token) { return new Parser(function (stream) {\n if (stream.eof()) {\n return new Result('', stream);\n }\n var char = stream.peek().char;\n if (char === _token) {\n stream.eat();\n }\n return new Result(_token, stream);\n}); };\n/**\n * @hidden\n */\nexport var token = function (rules, creator) { return new Parser(function (stream) {\n var char = stream.next().char;\n var rule = rules[char];\n if (char === ESCAPE_CHARACTER) {\n char = stream.next().char;\n return new Result(creator.literal(char), stream);\n }\n if (!rule) {\n return new Result(creator.literal(char), stream);\n }\n return new Result(creator.mask(rule), stream);\n}); };\n/**\n * @hidden\n */\nexport var rawMask = function (_a) {\n var prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return new Parser(function (stream) {\n var char = stream.next().char;\n if (char === prompt) {\n return new Result(promptPlaceholder, stream);\n }\n return new Result(char, stream);\n });\n};\n/**\n * @hidden\n */\nexport var rawLiteral = function (includeLiterals) { return new Parser(function (stream) {\n var char = stream.next().char;\n if (includeLiterals) {\n return new Result(char, stream);\n }\n return new Result('', stream);\n}); };\n","/* eslint-disable */\nimport { Parser } from './parsers';\nimport { Result } from './result';\n/**\n * @hidden\n */\nvar always = function (value) { return new Parser(function (stream) { return new Result(value, stream); }); };\n/**\n * @hidden\n */\nvar append = function (p1, p2) { return p1.chain(function (vs) { return p2.map(function (v) { return vs.concat([v]); }); }); };\n/**\n * @hidden\n */\nexport var sequence = function (list) { return list.reduce(function (acc, parser) { return append(acc, parser); }, always([])); };\n/**\n * @hidden\n */\nexport var greedy = function (parser) { return new Parser(function (stream) {\n var result = new Result([], stream);\n while (!stream.eof()) {\n result = result.concat(parser.run(stream));\n }\n return result;\n}); };\n","/* eslint-disable */\nimport { greedy, sequence } from './parsing/combinators';\nimport { literal, mask as maskParser, rawLiteral, rawMask, token, unliteral, unmask } from './parsing/parsers';\n/**\n * @hidden\n */\nvar MaskingService = /** @class */ (function () {\n function MaskingService() {\n this.rules = {};\n this.prompt = '_';\n this.mask = '';\n this.promptPlaceholder = ' ';\n this.includeLiterals = false;\n this.maskTokens = [];\n this.unmaskTokens = [];\n this.rawTokens = [];\n this.validationTokens = [];\n }\n MaskingService.prototype.update = function (_a) {\n var _b = _a.mask, mask = _b === void 0 ? '' : _b, _c = _a.prompt, prompt = _c === void 0 ? '' : _c, _d = _a.promptPlaceholder, promptPlaceholder = _d === void 0 ? ' ' : _d, _e = _a.rules, rules = _e === void 0 ? {} : _e, _f = _a.includeLiterals, includeLiterals = _f === void 0 ? false : _f;\n this.mask = mask;\n this.prompt = prompt;\n this.promptPlaceholder = promptPlaceholder;\n this.rules = rules;\n this.includeLiterals = includeLiterals;\n this.tokenize();\n };\n MaskingService.prototype.validationValue = function (maskedValue) {\n if (maskedValue === void 0) { maskedValue = ''; }\n var value = maskedValue;\n sequence(this.validationTokens)\n .run(maskedValue)\n .fold(function (unmasked) {\n value = unmasked.join('');\n });\n return value;\n };\n MaskingService.prototype.rawValue = function (maskedValue) {\n if (maskedValue === void 0) { maskedValue = ''; }\n var value = maskedValue;\n if (!this.rawTokens.length) {\n return value;\n }\n sequence(this.rawTokens)\n .run(maskedValue)\n .fold(function (unmasked) {\n value = unmasked.join('');\n });\n return value;\n };\n /**\n * @hidden\n */\n MaskingService.prototype.maskRaw = function (rawValue) {\n if (rawValue === void 0) { rawValue = ''; }\n var value = rawValue;\n if (!this.maskTokens.length) {\n return value;\n }\n sequence(this.maskTokens)\n .run(rawValue)\n .fold(function (masked) {\n value = masked.join('');\n });\n return value;\n };\n MaskingService.prototype.maskInput = function (input, control, splitPoint) {\n if (input.length < control.length) {\n return this.maskRemoved(input, control, splitPoint);\n }\n return this.maskInserted(input, control, splitPoint);\n };\n MaskingService.prototype.maskInRange = function (pasted, oldValue, start, end) {\n var value = '';\n var selection = end;\n var beforeChange = oldValue.split('').slice(0, start);\n var afterChange = oldValue.split('').slice(end);\n sequence(this.maskTokens.slice(start, end))\n .run(pasted)\n .fold(function (masked) {\n value = beforeChange\n .concat(masked)\n .concat(afterChange)\n .join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n MaskingService.prototype.maskRemoved = function (input, control, splitPoint) {\n var _this = this;\n var value = '';\n var selection = splitPoint;\n var unchanged = input.split('').slice(splitPoint);\n var changed = input.split('').slice(0, splitPoint).join('');\n var take = this.maskTokens.length - (input.length - splitPoint);\n sequence(this.maskTokens.slice(0, take))\n .run(changed, control)\n .fold(function (masked) {\n selection = _this.adjustPosition(masked, selection);\n value = masked.concat(unchanged).join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n MaskingService.prototype.adjustPosition = function (input, selection) {\n var caretChar = input[selection];\n var isLiteral = this.maskTokens[selection].isLiteral(caretChar);\n if (!isLiteral && caretChar !== this.prompt) {\n return selection + 1;\n }\n return selection;\n };\n MaskingService.prototype.maskInserted = function (input, control, splitPoint) {\n var _this = this;\n var value = '';\n var selection = splitPoint;\n var changed = input.slice(0, splitPoint);\n sequence(this.unmaskTokens)\n .run(changed, control)\n .chain(function (unmasked) {\n selection = unmasked.join('').length;\n var unchanged = control.slice(selection);\n return sequence(_this.maskTokens)\n .run(unmasked.join('') + unchanged, control);\n })\n .fold(function (masked) {\n value = masked.join('');\n });\n return {\n selection: selection,\n value: value\n };\n };\n Object.defineProperty(MaskingService.prototype, \"maskTokenCreator\", {\n get: function () {\n var _a = this, prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder;\n return {\n literal: function (rule) { return literal(rule); },\n mask: function (rule) { return maskParser({ prompt: prompt, promptPlaceholder: promptPlaceholder })(rule); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"unmaskTokenCreator\", {\n get: function () {\n var _this = this;\n return {\n literal: function (rule) { return unliteral(rule); },\n mask: function (rule) { return unmask(_this.prompt)(rule); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"rawTokenCreator\", {\n get: function () {\n var _a = this, prompt = _a.prompt, promptPlaceholder = _a.promptPlaceholder, includeLiterals = _a.includeLiterals;\n return {\n literal: function (_) { return rawLiteral(includeLiterals); },\n mask: function (_) { return rawMask({ prompt: prompt, promptPlaceholder: promptPlaceholder }); }\n };\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MaskingService.prototype, \"validationTokenCreator\", {\n get: function () {\n var prompt = this.prompt;\n return {\n literal: function (_) { return rawLiteral(false); },\n mask: function (_) { return rawMask({ prompt: prompt, promptPlaceholder: '' }); }\n };\n },\n enumerable: false,\n configurable: true\n });\n MaskingService.prototype.tokenize = function () {\n var _this = this;\n greedy(token(this.rules, this.maskTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.maskTokens = tokens;\n });\n greedy(token(this.rules, this.unmaskTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.unmaskTokens = tokens;\n });\n greedy(token(this.rules, this.rawTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.rawTokens = tokens;\n });\n greedy(token(this.rules, this.validationTokenCreator))\n .run(this.mask)\n .fold(function (tokens, _) {\n _this.validationTokens = tokens;\n });\n };\n return MaskingService;\n}());\nexport { MaskingService };\n","import Surface from './surface';\nimport { transform } from '../geometry';\nimport Group from '../shapes/group';\n\nexport default function exportImage(group, options) {\n var defaults = {\n width: \"800px\", height: \"600px\",\n cors: \"Anonymous\"\n };\n\n var exportRoot = group;\n var bbox = group.clippedBBox();\n\n\n if (bbox) {\n var origin = bbox.getOrigin();\n exportRoot = new Group();\n exportRoot.transform(transform().translate(-origin.x, -origin.y));\n exportRoot.children.push(group);\n\n var size = bbox.getSize();\n defaults.width = size.width + \"px\";\n defaults.height = size.height + \"px\";\n }\n\n var surfaceOptions = Object.assign(defaults, options);\n\n var container = document.createElement(\"div\");\n var style = container.style;\n\n style.display = \"none\";\n style.width = surfaceOptions.width;\n style.height = surfaceOptions.height;\n document.body.appendChild(container);\n\n var surface = new Surface(container, surfaceOptions);\n surface.suspendTracking();\n surface.draw(exportRoot);\n\n var promise = surface.image();\n var destroy = function () {\n surface.destroy();\n document.body.removeChild(container);\n };\n promise.then(destroy, destroy);\n\n return promise;\n}","import { drawing } from '@progress/kendo-drawing';\nvar _a = drawing.util, elementOffset = _a.elementOffset, limitValue = _a.limitValue;\nexport { elementOffset, limitValue };\n","import { exportImage, geometry, Group, MultiPath, Path, Image, Surface, } from '@progress/kendo-drawing';\nimport { elementOffset, limitValue } from '../common';\nvar Point = geometry.Point, Rect = geometry.Rect, transform = geometry.transform;\nvar noop = function () { };\nvar DECIMAL_DIGITS = 3;\nvar DEFAULT_COLOR = '#000';\nvar DEFAULT_BACKGROUND_COLOR = '#fff';\nvar DEFAULT_PRECISION = 1;\nvar DEFAULT_SAMPLING_RATE = 200; // Updates per second\nvar DEFAULT_STROKE_WIDTH = 1;\nvar DEFAULT_WIDTH = 750;\nvar DEFAULT_HEIGHT = 250;\nvar DEFAULT_SCALE = 1;\n// Export images at maximized scale (3x) and 2x pixel density to cover HiDPI screens.\nvar DEFAULT_EXPORT_SCALE = 6;\nvar SignaturePad = /** @class */ (function () {\n function SignaturePad(element, options) {\n if (options === void 0) { options = {}; }\n this.element = element;\n this.lastMoveTime = 0;\n this.options = Object.assign({\n scale: DEFAULT_SCALE,\n precision: DEFAULT_PRECISION,\n samplingRate: DEFAULT_SAMPLING_RATE,\n smooth: options.smooth !== false,\n color: options.color || DEFAULT_COLOR,\n backgroundColor: options.backgroundColor || DEFAULT_BACKGROUND_COLOR,\n strokeWidth: DEFAULT_STROKE_WIDTH,\n onChange: noop,\n onDraw: noop,\n onDrawEnd: noop\n }, options);\n this.pathOptions = {\n stroke: {\n color: this.options.color,\n width: this.options.strokeWidth,\n lineCap: 'round',\n lineJoin: 'round'\n }\n };\n this.initSurface();\n this.attachEvents();\n }\n SignaturePad.prototype.destroy = function () {\n this.detachEvents();\n };\n SignaturePad.prototype.clear = function () {\n this.rootGroup.clear();\n this.path = null;\n };\n Object.defineProperty(SignaturePad.prototype, \"isDrawing\", {\n get: function () {\n return Boolean(this.points);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SignaturePad.prototype, \"pathData\", {\n get: function () {\n var _a;\n return (_a = this.path) === null || _a === void 0 ? void 0 : _a.toString(DECIMAL_DIGITS);\n },\n set: function (value) {\n this.clear();\n this.path = MultiPath.parse(value, this.pathOptions);\n this.rootGroup.append(this.path);\n },\n enumerable: false,\n configurable: true\n });\n SignaturePad.prototype.loadImage = function (data, size) {\n if (size === void 0) { size = []; }\n if (!data) {\n this.clear();\n return;\n }\n var _a = this.size, width = _a[0], height = _a[1];\n var contentWidth = width / this.options.scale;\n var contentHeight = height / this.options.scale;\n var importWidth = size[0] || contentWidth * DEFAULT_EXPORT_SCALE;\n var importHeight = size[1] || contentHeight * DEFAULT_EXPORT_SCALE;\n var scaleX = contentWidth / importWidth;\n var scaleY = contentHeight / importHeight;\n var scale = Math.min(scaleX, scaleY);\n var img = new Image(data, new geometry.Rect([0, 0], [importWidth, importHeight]));\n img.transform(transform().scale(scale, scale));\n this.clear();\n this.rootGroup.append(img);\n };\n SignaturePad.prototype.exportImage = function (options) {\n var _a;\n var _b = this.size, width = _b[0], height = _b[1];\n var contentWidth = width / this.options.scale;\n var contentHeight = height / this.options.scale;\n var exportWidth = (options === null || options === void 0 ? void 0 : options.width) || contentWidth * DEFAULT_EXPORT_SCALE;\n var exportHeight = (options === null || options === void 0 ? void 0 : options.height) || contentHeight * DEFAULT_EXPORT_SCALE;\n var scaleX = exportWidth / contentWidth;\n var scaleY = exportHeight / contentHeight;\n var scale = Math.min(scaleX, scaleY);\n var exportRect = new Rect([0, 0], [exportWidth, exportHeight]);\n var exportGroup = new Group({\n clip: Path.fromRect(exportRect)\n });\n var contentGroup = new Group({\n transform: transform().scale(scale, scale)\n });\n var frame = Path.fromRect(exportRect, {\n fill: {\n color: this.options.backgroundColor\n }\n });\n exportGroup.append(frame);\n exportGroup.append(contentGroup);\n (_a = contentGroup.children).push.apply(_a, this.rootGroup.children);\n return exportImage(exportGroup, Object.assign({\n width: exportWidth,\n height: exportHeight\n }, options));\n };\n SignaturePad.prototype.resize = function () {\n this.surface.resize(true);\n };\n SignaturePad.prototype.setOptions = function (options) {\n Object.assign(this.options, options);\n this.pathOptions.stroke.color = this.options.color;\n this.pathOptions.stroke.width = this.options.strokeWidth;\n if (this.path) {\n this.path.options.set('stroke.color', this.options.color);\n this.path.options.set('stroke.width', this.options.strokeWidth);\n }\n this.background.options.set('fill.color', this.options.backgroundColor);\n };\n SignaturePad.prototype.initSurface = function () {\n this.surface = Surface.create(this.element, { type: 'canvas' });\n this.element.style.touchAction = 'none';\n var scale = this.options.scale;\n this.rootGroup = new Group({\n transform: transform().scale(scale, scale)\n });\n // The signature is not resizable, store initial dimensions.\n var width = this.element.offsetWidth || DEFAULT_WIDTH;\n var height = this.element.offsetHeight || DEFAULT_HEIGHT;\n this.size = [width, height];\n this.background = Path.fromRect(new Rect([0, 0], this.size), {\n fill: {\n color: this.options.backgroundColor\n }\n });\n this.surface.draw(this.background);\n this.surface.draw(this.rootGroup);\n };\n SignaturePad.prototype.attachEvents = function () {\n this.onPointerDown = this.onPointerDown.bind(this);\n this.onPointerMove = this.onPointerMove.bind(this);\n this.onPointerUp = this.onPointerUp.bind(this);\n this.element.addEventListener('pointerdown', this.onPointerDown);\n this.element.addEventListener('pointermove', this.onPointerMove);\n this.element.addEventListener('pointerup', this.onPointerUp);\n };\n SignaturePad.prototype.detachEvents = function () {\n this.element.removeEventListener('pointerdown', this.onPointerDown);\n this.element.removeEventListener('pointermove', this.onPointerMove);\n this.element.removeEventListener('pointerup', this.onPointerUp);\n };\n SignaturePad.prototype.touchPoint = function (e) {\n var offset = elementOffset(this.element);\n var pageX = e.pageX;\n var pageY = e.pageY;\n var scale = 1 / this.options.scale;\n return new Point(pageX - offset.left, pageY - offset.top).scale(scale, scale);\n };\n SignaturePad.prototype.onPointerDown = function (e) {\n if (this.options.readonly || !e.isPrimary || !isMainButton(e)) {\n return;\n }\n if (!this.path) {\n this.path = new MultiPath(this.pathOptions);\n this.rootGroup.append(this.path);\n }\n this.options.onDraw();\n this.element.setPointerCapture(e.pointerId);\n var point = this.touchPoint(e);\n this.points = [point];\n this.path.moveTo(point);\n };\n SignaturePad.prototype.onPointerMove = function (e) {\n if (!this.points || !e.isPrimary) {\n return;\n }\n var now = (new Date()).getTime();\n var elapsed = now - this.lastMoveTime;\n var minTimeDelta = 1000 / limitValue(this.options.samplingRate, 1, 10000);\n if (elapsed < minTimeDelta) {\n return;\n }\n else {\n this.lastMoveTime = now;\n }\n var point = this.touchPoint(e);\n var lastPoint = this.points[this.points.length - 1];\n var minDelta = 1 / limitValue(this.options.precision, 0.01, 100);\n if (point.distanceTo(lastPoint) < minDelta) {\n return;\n }\n this.points.push(point);\n this.path.lineTo(point);\n };\n SignaturePad.prototype.onPointerUp = function (e) {\n if (!e.isPrimary || !this.path || !this.points || this.options.readonly) {\n return;\n }\n if (this.options.smooth) {\n var segments = Path.curveFromPoints(this.points);\n this.path.paths.splice(this.path.paths.length - 1, 1, segments);\n }\n this.points = null;\n this.options.onDrawEnd();\n this.options.onChange(this.pathData);\n };\n return SignaturePad;\n}());\nexport { SignaturePad };\nfunction isMainButton(e) {\n return typeof (e.button) !== 'number' || e.button === 0;\n}\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { SignaturePad } from '@progress/kendo-inputs-common';\nimport { getTabIndex } from '@progress/kendo-vue-common';\nvar setOptions = function setOptions() {\n if (this.instance) {\n this.instance.setOptions(this.getOptions());\n }\n};\n/**\n * @hidden\n */\nvar SignatureCanvasVue2 = {\n name: 'KendoSignatureCanvas',\n // @ts-ignore\n emits: {\n change: null,\n draw: null,\n drawend: null\n },\n inject: {\n kendoIntlService: {\n default: null\n }\n },\n props: {\n strokeWidth: Number,\n popupScale: Number,\n scale: Number,\n name: String,\n value: String,\n tabIndex: Number,\n disabled: Boolean,\n readOnly: Boolean,\n color: String,\n backgroundColor: String,\n elementSize: Function,\n smooth: Boolean\n },\n watch: {\n color: setOptions,\n backgroundColor: setOptions,\n smooth: setOptions,\n strokeWidth: setOptions,\n readOnly: setOptions\n },\n mounted: function mounted() {\n this.canvas = this.$el;\n var pad = new SignaturePad(this.canvas, this.getOptions());\n if (this.value) {\n pad.loadImage(this.value);\n }\n this.instance = pad;\n this.instance.setOptions({\n onChange: this.onValueChange,\n onDraw: this.onDraw,\n onDrawEnd: this.onDrawEnd\n });\n },\n destroyed: !!isV3 ? undefined : function () {\n if (this.instance) {\n this.instance.destroy();\n }\n },\n // @ts-ignore\n unmounted: function unmounted() {\n if (this.instance) {\n this.instance.destroy();\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"div\", {\n \"class\": 'k-signature-canvas',\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled),\n attrs: this.v3 ? undefined : {\n tabIndex: getTabIndex(this.$props.tabIndex, this.$props.disabled),\n role: \"img\",\n id: this.$props.id,\n name: this.$props.name,\n \"aria-label\": this.$props.ariaLabel,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined\n },\n role: \"img\",\n id: this.$props.id,\n name: this.$props.name,\n \"aria-label\": this.$props.ariaLabel,\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-disabled\": this.$props.disabled ? 'true' : undefined\n });\n },\n methods: {\n onValueChange: function onValueChange() {\n var that = this;\n this.exportImage(this.elementSize()).then(function (nextValue) {\n that.$emit('change', nextValue);\n });\n },\n onDraw: function onDraw() {\n this.$emit('draw');\n },\n onDrawEnd: function onDrawEnd() {\n this.$emit('drawend');\n },\n loadImage: function loadImage(newLocale) {\n this.instance.loadImage(newLocale);\n },\n clear: function clear() {\n this.instance.clear();\n },\n getOptions: function getOptions() {\n return {\n scale: this.popupScale,\n color: this.color,\n backgroundColor: this.backgroundColor,\n strokeWidth: this.$props.strokeWidth,\n smooth: this.$props.smooth,\n readonly: this.$props.readOnly\n };\n },\n exportImage: function exportImage(exportSize) {\n var _a;\n var width = exportSize.width,\n height = exportSize.height;\n return (_a = this.instance) === null || _a === void 0 ? void 0 : _a.exportImage({\n width: width * this.scale,\n height: height * this.scale\n });\n }\n }\n};\nvar SignatureCanvas = SignatureCanvasVue2;\nexport { SignatureCanvas, SignatureCanvasVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Dialog } from '@progress/kendo-vue-dialogs';\nimport { SignatureBottomActions } from './SignatureBottomActions';\nimport { SignatureLine } from './SignatureLine';\nimport { Button } from '@progress/kendo-vue-buttons';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { getRef, setRef } from '@progress/kendo-vue-common';\nimport { hyperlinkOpenIcon } from '@progress/kendo-svg-icons';\nimport { SignatureCanvas } from './SignatureCanvas';\nimport { messages, signatureClear, signatureMinimize } from '../messages/main';\n/**\n * @hidden\n */\nvar SignatureDialogVue2 = {\n name: 'KendoSignatureDialog',\n // @ts-ignore\n emits: {\n change: null,\n clear: null,\n close: null,\n focus: null,\n blur: null,\n overlayclick: null,\n draw: null,\n drawend: null\n },\n props: {\n openWrapperClass: Object,\n size: String,\n dir: String,\n popupWidth: Number,\n popupHeight: Number,\n showClear: Boolean,\n strokeWidth: Number,\n popupScale: Number,\n scale: Number,\n value: String,\n tabIndex: Number,\n disabled: Boolean,\n readOnly: Boolean,\n color: String,\n backgroundColor: String,\n elementSize: Function,\n smooth: Boolean\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n isDrawing: false\n };\n },\n mounted: function mounted() {\n this.openCanvas = getRef(this, 'openCanvas');\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n showClear = _a.showClear,\n popupWidth = _a.popupWidth,\n popupHeight = _a.popupHeight,\n dir = _a.dir,\n size = _a.size,\n value = _a.value,\n tabIndex = _a.tabIndex,\n disabled = _a.disabled,\n readOnly = _a.readOnly,\n color = _a.color,\n backgroundColor = _a.backgroundColor,\n strokeWidth = _a.strokeWidth,\n smooth = _a.smooth,\n popupScale = _a.popupScale,\n scale = _a.scale,\n elementSize = _a.elementSize;\n var ls = provideLocalizationService(this);\n var minimizeTitle = ls.toLanguageString(signatureMinimize, messages[signatureMinimize]);\n var clearTitle = ls.toLanguageString(signatureClear, messages[signatureClear]);\n var hideLine = !this.$props.hideLine && h(SignatureLine);\n var bottomActions = h(SignatureBottomActions, {\n showClear: showClear,\n attrs: this.v3 ? undefined : {\n showClear: showClear,\n size: size,\n title: clearTitle\n },\n size: size,\n onClear: this.onClear,\n on: this.v3 ? undefined : {\n \"clear\": this.onClear\n },\n title: clearTitle\n });\n var dialog =\n // @ts-ignore function children\n h(Dialog, {\n ref: setRef(this, 'dialog'),\n onOverlayclick: this.onOverlayClick,\n on: this.v3 ? undefined : {\n \"overlayclick\": this.onOverlayClick\n }\n }, this.v3 ? function () {\n return [h(\"div\", {\n style: {\n width: popupWidth + 'px',\n height: popupHeight + 'px'\n },\n dir: dir,\n attrs: _this.v3 ? undefined : {\n dir: dir\n },\n \"class\": _this.openWrapperClass,\n onFocus: _this.onFocus,\n on: _this.v3 ? undefined : {\n \"focus\": _this.onFocus,\n \"blur\": _this.onBlur\n },\n onBlur: _this.onBlur\n }, [h(SignatureCanvas, {\n ref: setRef(_this, 'openCanvas'),\n value: value,\n attrs: _this.v3 ? undefined : {\n value: value,\n tabIndex: tabIndex,\n disabled: disabled,\n readOnly: readOnly,\n color: color,\n backgroundColor: backgroundColor,\n strokeWidth: strokeWidth,\n smooth: smooth,\n popupScale: popupScale,\n scale: scale,\n elementSize: elementSize\n },\n tabIndex: tabIndex,\n disabled: disabled,\n readOnly: readOnly,\n color: color,\n backgroundColor: backgroundColor,\n strokeWidth: strokeWidth,\n smooth: smooth,\n popupScale: popupScale,\n scale: scale,\n onChange: _this.onValueChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onValueChange,\n \"draw\": _this.onDraw,\n \"drawend\": _this.onDrawEnd\n },\n elementSize: elementSize,\n onDraw: _this.onDraw,\n onDrawend: _this.onDrawEnd\n }), h(\"div\", {\n \"class\": 'k-signature-actions k-signature-actions-top'\n }, [!_this.isDrawing &&\n // @ts-ignore\n h(Button, {\n \"class\": 'k-signature-action k-signature-minimize k-rotate-180',\n ref: setRef(_this, 'minimizeButton'),\n icon: 'hyperlink-open',\n attrs: _this.v3 ? undefined : {\n icon: 'hyperlink-open',\n svgIcon: hyperlinkOpenIcon,\n shape: null,\n fillMode: 'flat',\n size: _this.$props.size,\n \"aria-label\": minimizeTitle,\n title: minimizeTitle\n },\n svgIcon: hyperlinkOpenIcon,\n shape: null,\n fillMode: 'flat',\n size: _this.$props.size,\n onClick: _this.onMinimizeClick,\n on: _this.v3 ? undefined : {\n \"click\": _this.onMinimizeClick\n },\n \"aria-label\": minimizeTitle,\n title: minimizeTitle\n })]), hideLine, bottomActions])];\n } : [h(\"div\", {\n style: {\n width: popupWidth + 'px',\n height: popupHeight + 'px'\n },\n dir: dir,\n attrs: _this.v3 ? undefined : {\n dir: dir\n },\n \"class\": _this.openWrapperClass,\n onFocus: _this.onFocus,\n on: _this.v3 ? undefined : {\n \"focus\": _this.onFocus,\n \"blur\": _this.onBlur\n },\n onBlur: _this.onBlur\n }, [h(SignatureCanvas, {\n ref: setRef(_this, 'openCanvas'),\n value: value,\n attrs: _this.v3 ? undefined : {\n value: value,\n tabIndex: tabIndex,\n disabled: disabled,\n readOnly: readOnly,\n color: color,\n backgroundColor: backgroundColor,\n strokeWidth: strokeWidth,\n smooth: smooth,\n popupScale: popupScale,\n scale: scale,\n elementSize: elementSize\n },\n tabIndex: tabIndex,\n disabled: disabled,\n readOnly: readOnly,\n color: color,\n backgroundColor: backgroundColor,\n strokeWidth: strokeWidth,\n smooth: smooth,\n popupScale: popupScale,\n scale: scale,\n onChange: _this.onValueChange,\n on: _this.v3 ? undefined : {\n \"change\": _this.onValueChange,\n \"draw\": _this.onDraw,\n \"drawend\": _this.onDrawEnd\n },\n elementSize: elementSize,\n onDraw: _this.onDraw,\n onDrawend: _this.onDrawEnd\n }), h(\"div\", {\n \"class\": 'k-signature-actions k-signature-actions-top'\n }, [!_this.isDrawing && h(Button, {\n \"class\": 'k-signature-action k-signature-minimize k-rotate-180',\n ref: setRef(_this, 'minimizeButton'),\n icon: 'hyperlink-open',\n attrs: _this.v3 ? undefined : {\n icon: 'hyperlink-open',\n svgIcon: hyperlinkOpenIcon,\n shape: null,\n fillMode: 'flat',\n size: _this.$props.size,\n \"aria-label\": minimizeTitle,\n title: minimizeTitle\n },\n svgIcon: hyperlinkOpenIcon,\n shape: null,\n fillMode: 'flat',\n size: _this.$props.size,\n onClick: _this.onMinimizeClick,\n on: _this.v3 ? undefined : {\n \"click\": _this.onMinimizeClick\n },\n \"aria-label\": minimizeTitle,\n title: minimizeTitle\n })]), hideLine, bottomActions])]);\n return dialog;\n },\n methods: {\n onDraw: function onDraw() {\n this.isDrawing = true;\n this.$emit('draw');\n },\n onDrawEnd: function onDrawEnd() {\n this.isDrawing = false;\n this.$emit('drawend');\n },\n onValueChange: function onValueChange(nextValue) {\n this.$emit('change', nextValue);\n },\n onClear: function onClear() {\n this.$emit('clear');\n },\n onMinimizeClick: function onMinimizeClick() {\n this.$emit('close');\n },\n onFocus: function onFocus(e) {\n this.$emit('focus', e);\n },\n onBlur: function onBlur(e) {\n this.$emit('blur', e);\n },\n onOverlayClick: function onOverlayClick(e) {\n this.$emit('overlayclick', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar SignatureDialog = SignatureDialogVue2;\nexport { SignatureDialog, SignatureDialogVue2 };","/**\n * @hidden\n */\nexport function hasParent(element, parent) {\n var current = element;\n while (current && current !== parent) {\n current = current.parentNode;\n }\n return current ? true : false;\n}\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { Button } from '@progress/kendo-vue-buttons';\nimport { kendoThemeMaps, setRef, getRef, validatePackage } from '@progress/kendo-vue-common';\nimport { SignatureDialog } from './SignatureDialog';\nimport { SignatureBottomActions } from './SignatureBottomActions';\nimport { SignatureLine } from './SignatureLine';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, signatureClear, signatureMaximize } from '../messages/main';\nimport { packageMetadata } from '../package-metadata';\nimport { SignatureCanvas } from './SignatureCanvas';\nimport { hasParent } from './utils/main';\nimport { hyperlinkOpenIcon } from '@progress/kendo-svg-icons';\nvar DEFAULT_WIDTH = 250;\nvar DEFAULT_HEIGHT = 84;\nvar DEFAULT_POPUP_SCALE = 3;\nvar DEFAULT_EXPORT_SCALE = 2;\nvar DEFAULT_COLOR = '#000000';\nvar DEFAULT_BACKGROUND_COLOR = '#ffffff';\n/**\n * @hidden\n */\nvar SignatureVue2 = {\n name: 'KendoSignature',\n model: {\n event: 'changemodel'\n },\n // @ts-ignore\n emits: {\n change: null,\n focus: null,\n blur: null,\n open: null,\n close: null,\n 'changemodel': null,\n 'update:modelValue': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n props: {\n strokeWidth: {\n type: Number,\n default: 1\n },\n smooth: Boolean,\n popupScale: {\n type: Number,\n default: DEFAULT_POPUP_SCALE\n },\n exportScale: {\n type: Number,\n default: DEFAULT_EXPORT_SCALE\n },\n modelValue: String,\n name: String,\n value: String,\n tabIndex: Number,\n dir: String,\n ariaDescribedBy: String,\n ariaLabelledBy: String,\n ariaLabel: String,\n hideLine: Boolean,\n open: {\n type: Boolean,\n default: undefined\n },\n readOnly: Boolean,\n disabled: Boolean,\n validationMessage: String,\n maximizable: {\n type: Boolean,\n default: true\n },\n color: String,\n backgroundColor: String,\n validityStyles: {\n type: Boolean,\n default: true\n },\n required: {\n type: Boolean,\n default: false\n },\n valid: {\n type: Boolean,\n default: undefined\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'solid', 'flat', 'outline'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n wrapperClass: function wrapperClass() {\n return __assign(__assign({}, this.openWrapperClass), {\n 'k-signature-maximized': false\n });\n },\n openWrapperClass: function openWrapperClass() {\n var _a;\n var isValid = !this.validityStyles || this.validityGetter().valid;\n return _a = {\n 'k-input': true,\n 'k-signature': true,\n 'k-signature-maximized': true\n }, _a[\"k-signature-\".concat(kendoThemeMaps.sizeMap[this.$props.size] || this.$props.size)] = this.$props.size, _a[\"k-input-\".concat(this.$props.fillMode)] = this.$props.fillMode, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[this.$props.rounded] || this.$props.rounded)] = this.$props.rounded, _a['k-invalid'] = !isValid, _a['k-required'] = this.$props.required, _a['k-disabled'] = this.$props.disabled, _a['k-focus'] = this.focused, _a;\n },\n computedValue: function computedValue() {\n return this.value !== undefined ? this.value : this.$props.modelValue !== undefined ? this.$props.modelValue : this.currentValue;\n },\n computedOpen: function computedOpen() {\n return this.open !== undefined ? this.open : this.currentOpen;\n },\n computedColor: function computedColor() {\n var defaultColor = DEFAULT_COLOR;\n if (!this.$props.color && typeof document !== 'undefined' && this.$el) {\n defaultColor = getComputedStyle(this.$el).color;\n }\n return this.$props.color || defaultColor;\n },\n computedBgColor: function computedBgColor() {\n var defaultBackgroundColor = DEFAULT_BACKGROUND_COLOR;\n if (!this.$props.backgroundColor && typeof document !== 'undefined' && this.$el) {\n defaultBackgroundColor = getComputedStyle(this.$el).backgroundColor;\n }\n return this.$props.backgroundColor || defaultBackgroundColor;\n }\n },\n watch: {\n computedValue: function computedValue(newValue) {\n if (newValue !== this.currentValue) {\n this.loadImage(newValue);\n }\n },\n computedOpen: function computedOpen() {\n this.loadImage(this.computedValue);\n }\n },\n data: function data() {\n return {\n focused: false,\n isDrawing: false,\n currentValue: undefined,\n popupValue: undefined,\n currentOpen: false\n };\n },\n mounted: function mounted() {\n this.setRefs();\n },\n updated: function updated() {\n this.setRefs();\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var ls = provideLocalizationService(this);\n var showMaximize = !(this.computedOpen || this.isDrawing || !this.$props.maximizable || this.$props.disabled);\n var isEmpty = !this.computedValue;\n var showClear = !(isEmpty || this.isDrawing || this.$props.readOnly || this.$props.disabled);\n var maximizeTitle = ls.toLanguageString(signatureMaximize, messages[signatureMaximize]);\n var clearTitle = ls.toLanguageString(signatureClear, messages[signatureClear]);\n var actions = h(\"div\", {\n \"class\": 'k-signature-actions k-signature-actions-top'\n }, [showMaximize &&\n // @ts-ignore\n h(Button, {\n \"class\": 'k-signature-action k-signature-maximize',\n ref: setRef(this, 'maximizeButton'),\n icon: 'hyperlink-open',\n attrs: this.v3 ? undefined : {\n icon: 'hyperlink-open',\n svgIcon: hyperlinkOpenIcon,\n shape: null,\n fillMode: 'flat',\n size: this.$props.size,\n \"aria-label\": maximizeTitle,\n title: maximizeTitle\n },\n svgIcon: hyperlinkOpenIcon,\n shape: null,\n fillMode: 'flat',\n size: this.$props.size,\n onClick: this.onMaximizeClick,\n on: this.v3 ? undefined : {\n \"click\": this.onMaximizeClick\n },\n \"aria-label\": maximizeTitle,\n title: maximizeTitle\n })]);\n var hideLine = !this.$props.hideLine && h(SignatureLine);\n var bottomActions = h(SignatureBottomActions, {\n showClear: showClear,\n attrs: this.v3 ? undefined : {\n showClear: showClear,\n size: this.size,\n title: clearTitle\n },\n size: this.size,\n onClear: this.onClear,\n on: this.v3 ? undefined : {\n \"clear\": this.onClear\n },\n title: clearTitle\n });\n return h(\"div\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n },\n \"class\": this.wrapperClass,\n onFocus: this.onFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.onFocus,\n \"blur\": this.onBlur\n },\n onBlur: this.onBlur\n }, [h(SignatureCanvas, {\n ref: setRef(this, 'canvas'),\n name: this.name,\n attrs: this.v3 ? undefined : {\n name: this.name,\n value: this.computedValue,\n tabIndex: this.tabIndex,\n disabled: this.disabled,\n readOnly: this.readOnly,\n color: this.computedColor,\n backgroundColor: this.computedBgColor,\n strokeWidth: this.strokeWidth,\n smooth: this.smooth,\n popupScale: 1,\n scale: this.exportScale,\n elementSize: this.elementSize\n },\n value: this.computedValue,\n tabIndex: this.tabIndex,\n disabled: this.disabled,\n readOnly: this.readOnly,\n color: this.computedColor,\n backgroundColor: this.computedBgColor,\n strokeWidth: this.strokeWidth,\n smooth: this.smooth,\n popupScale: 1,\n scale: this.exportScale,\n onChange: this.onValueChange,\n on: this.v3 ? undefined : {\n \"change\": this.onValueChange,\n \"draw\": this.onDraw,\n \"drawend\": this.onDrawEnd\n },\n elementSize: this.elementSize,\n onDraw: this.onDraw,\n onDrawend: this.onDrawEnd\n }), actions, hideLine, bottomActions, this.computedOpen && h(SignatureDialog, {\n ref: setRef(this, 'dialog'),\n openWrapperClass: this.openWrapperClass,\n attrs: this.v3 ? undefined : {\n openWrapperClass: this.openWrapperClass,\n popupWidth: this.popupWidth,\n popupHeight: this.popupHeight,\n showClear: showClear,\n value: this.computedValue,\n tabIndex: this.tabIndex,\n disabled: this.disabled,\n readOnly: this.readOnly,\n color: this.computedColor,\n backgroundColor: this.computedBgColor,\n strokeWidth: this.strokeWidth,\n smooth: this.smooth,\n popupScale: this.$props.popupScale,\n scale: 1 / this.popupScale * this.exportScale,\n elementSize: this.elementSize\n },\n popupWidth: this.popupWidth,\n popupHeight: this.popupHeight,\n showClear: showClear,\n onClose: this.onMinimizeClick,\n on: this.v3 ? undefined : {\n \"close\": this.onMinimizeClick,\n \"clear\": this.onClear,\n \"overlayclick\": this.onOverlayClick,\n \"focus\": this.onFocus,\n \"blur\": this.onBlur,\n \"change\": this.onValueChange,\n \"draw\": this.onDraw,\n \"drawend\": this.onDrawEnd\n },\n onClear: this.onClear,\n onOverlayclick: this.onOverlayClick,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n value: this.computedValue,\n tabIndex: this.tabIndex,\n disabled: this.disabled,\n readOnly: this.readOnly,\n color: this.computedColor,\n backgroundColor: this.computedBgColor,\n strokeWidth: this.strokeWidth,\n smooth: this.smooth,\n popupScale: this.$props.popupScale,\n scale: 1 / this.popupScale * this.exportScale,\n onChange: this.onValueChange,\n elementSize: this.elementSize,\n onDraw: this.onDraw,\n onDrawend: this.onDrawEnd\n })]);\n },\n methods: {\n setRefs: function setRefs() {\n this.canvas = getRef(this, 'canvas');\n this.minimizeButton = getRef(this, 'minimizeButton');\n this.maximizeButton = getRef(this, 'maximizeButton');\n this.dialog = getRef(this, 'dialog');\n this.popupWidth = this.popupSize().width;\n this.popupHeight = this.popupSize().height;\n },\n onOverlayClick: function onOverlayClick() {\n this.currentOpen = false;\n },\n onValueChange: function onValueChange(nextValue) {\n this.currentValue = nextValue;\n this.$emit('changemodel', nextValue);\n this.$emit('update:modelValue', nextValue);\n this.$emit('change', {\n value: nextValue\n });\n },\n onDialogChange: function onDialogChange(e) {\n this.onValueChange(e.value);\n },\n reset: function reset() {\n this.clear();\n this.onValueChange();\n },\n clear: function clear() {\n if (this.canvas) {\n this.canvas.clear();\n }\n if (this.dialog && this.dialog.openCanvas) {\n this.dialog.openCanvas.clear();\n }\n },\n loadImage: function loadImage(value) {\n if (this.canvas) {\n this.canvas.loadImage(value);\n }\n if (this.dialog && this.dialog.openCanvas) {\n this.dialog.openCanvas.loadImage(value);\n }\n },\n onDialogClose: function onDialogClose(event) {\n var _a;\n this.onMinimizeClick(event);\n (_a = this.maximizeButton || this.canvas.$el) === null || _a === void 0 ? void 0 : _a.focus();\n },\n exportImage: function exportImage(exportSize) {\n var _a;\n var width = exportSize.width,\n height = exportSize.height;\n return (_a = this.canvas.instance) === null || _a === void 0 ? void 0 : _a.exportImage({\n width: width * this.exportScale,\n height: height * this.exportScale\n });\n },\n validityGetter: function validityGetter() {\n var customError = this.$props.validationMessage !== undefined;\n var currentValue = this.computedValue;\n var valueMissing = !currentValue;\n var valid = this.$props.valid !== undefined ? this.$props.valid : !this.required || !valueMissing;\n return {\n customError: customError,\n valid: valid,\n valueMissing: valueMissing\n };\n },\n focusElement: function focusElement() {\n this.canvas.$el.focus();\n },\n getImperativeHandle: function getImperativeHandle() {\n var _this = this;\n var options = {\n element: this.$el,\n focus: this.focusElement()\n };\n Object.defineProperty(options, 'name', {\n get: function get() {\n return _this.name;\n }\n });\n Object.defineProperty(options, 'value', {\n get: function get() {\n return _this.computedValue;\n }\n });\n Object.defineProperty(options, 'validity', {\n get: function get() {\n return _this.validityGetter();\n }\n });\n Object.defineProperty(options, 'validityStyles', {\n get: function get() {\n return _this.validityStyles;\n }\n });\n Object.defineProperty(options, 'required', {\n get: function get() {\n return _this.required;\n }\n });\n Object.defineProperty(options, 'color', {\n get: function get() {\n return _this.computedColor;\n }\n });\n Object.defineProperty(options, 'backgroundColor', {\n get: function get() {\n return _this.computedBgColor;\n }\n });\n return options;\n },\n onFocus: function onFocus(event) {\n if (this.focused || this.computedOpen) {\n return;\n }\n this.focused(true);\n this.$emit('focus', __assign({\n event: event\n }, this.getImperativeHandle()));\n },\n onBlur: function onBlur(event) {\n var insideWrapper = hasParent(event.relatedTarget, this.$el);\n if (insideWrapper) {\n return;\n }\n this.focused = false;\n this.$emit('blur', __assign({\n event: event\n }, this.getImperativeHandle()));\n },\n onMaximizeClick: function onMaximizeClick(event) {\n return __awaiter(this, void 0, void 0, function () {\n var that;\n return __generator(this, function (_a) {\n that = this;\n this.exportImage(this.popupSize()).then(function (newValue) {\n that.currentValue = newValue;\n });\n this.currentOpen = true;\n this.$emit('open', __assign({\n event: event\n }, this.getImperativeHandle()));\n return [2 /*return*/];\n });\n });\n },\n\n onMinimizeClick: function onMinimizeClick(event) {\n this.currentOpen = false;\n this.$emit('close', __assign({\n event: event\n }, this.getImperativeHandle()));\n },\n onClear: function onClear() {\n this.reset();\n this.focusElement();\n },\n elementSize: function elementSize() {\n var width = this.$props.width || this.$el && this.$el.offsetWidth || DEFAULT_WIDTH;\n var height = this.$props.height || this.$el && this.$el.offsetHeight || DEFAULT_HEIGHT;\n return {\n width: width,\n height: height\n };\n },\n popupSize: function popupSize() {\n var _a = this.elementSize(),\n width = _a.width,\n height = _a.height;\n return {\n width: width * this.popupScale,\n height: height * this.popupScale\n };\n },\n onDraw: function onDraw() {\n this.isDrawing = true;\n },\n onDrawEnd: function onDrawEnd() {\n this.isDrawing = false;\n }\n }\n};\nvar Signature = SignatureVue2;\nexport { Signature, SignatureVue2 };","var defaultData = {\n en: {\n name: \"en\",\n identity: {\n version: {\n _unicodeVersion: \"14.0.0\",\n _cldrVersion: \"41\"\n },\n language: \"en\"\n },\n territory: \"US\",\n numbers: {\n symbols: {\n decimal: \".\",\n group: \",\",\n list: \";\",\n percentSign: \"%\",\n plusSign: \"+\",\n minusSign: \"-\",\n exponential: \"E\",\n superscriptingExponent: \"×\",\n perMille: \"‰\",\n infinity: \"∞\",\n nan: \"NaN\",\n timeSeparator: \":\",\n approximatelySign: \"~\"\n },\n decimal: {\n patterns: [\n \"n\"\n ],\n groupSize: [\n 3\n ]\n },\n scientific: {\n patterns: [\n \"nEn\"\n ],\n groupSize: []\n },\n percent: {\n patterns: [\n \"n%\"\n ],\n groupSize: [\n 3\n ]\n },\n currency: {\n patterns: [\n \"$n\"\n ],\n groupSize: [\n 3\n ],\n \"unitPattern-count-one\": \"n $\",\n \"unitPattern-count-other\": \"n $\"\n },\n currencies: {\n BGN: {\n displayName: \"Bulgarian Lev\",\n \"displayName-count-one\": \"Bulgarian lev\",\n \"displayName-count-other\": \"Bulgarian leva\",\n symbol: \"BGN\"\n },\n EUR: {\n displayName: \"Euro\",\n \"displayName-count-one\": \"euro\",\n \"displayName-count-other\": \"euros\",\n symbol: \"€\",\n \"symbol-alt-narrow\": \"€\"\n },\n USD: {\n displayName: \"US Dollar\",\n \"displayName-count-one\": \"US dollar\",\n \"displayName-count-other\": \"US dollars\",\n symbol: \"$\",\n \"symbol-alt-narrow\": \"$\"\n }\n },\n localeCurrency: \"USD\",\n accounting: {\n patterns: [\n \"$n\",\n \"($n)\"\n ],\n groupSize: [\n 3\n ]\n }\n },\n calendar: {\n gmtFormat: \"GMT{0}\",\n gmtZeroFormat: \"GMT\",\n patterns: {\n d: \"M/d/y\",\n D: \"EEEE, MMMM d, y\",\n m: \"MMM d\",\n M: \"MMMM d\",\n y: \"MMM y\",\n Y: \"MMMM y\",\n F: \"EEEE, MMMM d, y h:mm:ss a\",\n g: \"M/d/y h:mm a\",\n G: \"M/d/y h:mm:ss a\",\n t: \"h:mm a\",\n T: \"h:mm:ss a\",\n s: \"yyyy'-'MM'-'dd'T'HH':'mm':'ss\",\n u: \"yyyy'-'MM'-'dd HH':'mm':'ss'Z'\"\n },\n dateTimeFormats: {\n full: \"{1} 'at' {0}\",\n long: \"{1} 'at' {0}\",\n medium: \"{1}, {0}\",\n short: \"{1}, {0}\",\n availableFormats: {\n Bh: \"h B\",\n Bhm: \"h:mm B\",\n Bhms: \"h:mm:ss B\",\n d: \"d\",\n E: \"ccc\",\n EBhm: \"E h:mm B\",\n EBhms: \"E h:mm:ss B\",\n Ed: \"d E\",\n Ehm: \"E h:mm a\",\n EHm: \"E HH:mm\",\n Ehms: \"E h:mm:ss a\",\n EHms: \"E HH:mm:ss\",\n Gy: \"y G\",\n GyMd: \"M/d/y GGGGG\",\n GyMMM: \"MMM y G\",\n GyMMMd: \"MMM d, y G\",\n GyMMMEd: \"E, MMM d, y G\",\n h: \"h a\",\n H: \"HH\",\n hm: \"h:mm a\",\n Hm: \"HH:mm\",\n hms: \"h:mm:ss a\",\n Hms: \"HH:mm:ss\",\n hmsv: \"h:mm:ss a v\",\n Hmsv: \"HH:mm:ss v\",\n hmv: \"h:mm a v\",\n Hmv: \"HH:mm v\",\n M: \"L\",\n Md: \"M/d\",\n MEd: \"E, M/d\",\n MMM: \"LLL\",\n MMMd: \"MMM d\",\n MMMEd: \"E, MMM d\",\n MMMMd: \"MMMM d\",\n \"MMMMW-count-one\": \"'week' W 'of' MMMM\",\n \"MMMMW-count-other\": \"'week' W 'of' MMMM\",\n ms: \"mm:ss\",\n y: \"y\",\n yM: \"M/y\",\n yMd: \"M/d/y\",\n yMEd: \"E, M/d/y\",\n yMMM: \"MMM y\",\n yMMMd: \"MMM d, y\",\n yMMMEd: \"E, MMM d, y\",\n yMMMM: \"MMMM y\",\n yQQQ: \"QQQ y\",\n yQQQQ: \"QQQQ y\",\n \"yw-count-one\": \"'week' w 'of' Y\",\n \"yw-count-other\": \"'week' w 'of' Y\"\n }\n },\n timeFormats: {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\"\n },\n dateFormats: {\n full: \"EEEE, MMMM d, y\",\n long: \"MMMM d, y\",\n medium: \"MMM d, y\",\n short: \"M/d/yy\"\n },\n days: {\n format: {\n abbreviated: [\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\"\n ],\n narrow: [\n \"S\",\n \"M\",\n \"T\",\n \"W\",\n \"T\",\n \"F\",\n \"S\"\n ],\n short: [\n \"Su\",\n \"Mo\",\n \"Tu\",\n \"We\",\n \"Th\",\n \"Fr\",\n \"Sa\"\n ],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ]\n },\n \"stand-alone\": {\n abbreviated: [\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\"\n ],\n narrow: [\n \"S\",\n \"M\",\n \"T\",\n \"W\",\n \"T\",\n \"F\",\n \"S\"\n ],\n short: [\n \"Su\",\n \"Mo\",\n \"Tu\",\n \"We\",\n \"Th\",\n \"Fr\",\n \"Sa\"\n ],\n wide: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\"\n ]\n }\n },\n months: {\n format: {\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ],\n narrow: [\n \"J\",\n \"F\",\n \"M\",\n \"A\",\n \"M\",\n \"J\",\n \"J\",\n \"A\",\n \"S\",\n \"O\",\n \"N\",\n \"D\"\n ],\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ]\n },\n \"stand-alone\": {\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ],\n narrow: [\n \"J\",\n \"F\",\n \"M\",\n \"A\",\n \"M\",\n \"J\",\n \"J\",\n \"A\",\n \"S\",\n \"O\",\n \"N\",\n \"D\"\n ],\n wide: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\"\n ]\n }\n },\n quarters: {\n format: {\n abbreviated: [\n \"Q1\",\n \"Q2\",\n \"Q3\",\n \"Q4\"\n ],\n narrow: [\n \"1\",\n \"2\",\n \"3\",\n \"4\"\n ],\n wide: [\n \"1st quarter\",\n \"2nd quarter\",\n \"3rd quarter\",\n \"4th quarter\"\n ]\n },\n \"stand-alone\": {\n abbreviated: [\n \"Q1\",\n \"Q2\",\n \"Q3\",\n \"Q4\"\n ],\n narrow: [\n \"1\",\n \"2\",\n \"3\",\n \"4\"\n ],\n wide: [\n \"1st quarter\",\n \"2nd quarter\",\n \"3rd quarter\",\n \"4th quarter\"\n ]\n }\n },\n dayPeriods: {\n format: {\n abbreviated: {\n midnight: \"midnight\",\n am: \"AM\",\n \"am-alt-variant\": \"am\",\n noon: \"noon\",\n pm: \"PM\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"in the morning\",\n afternoon1: \"in the afternoon\",\n evening1: \"in the evening\",\n night1: \"at night\"\n },\n narrow: {\n midnight: \"mi\",\n am: \"a\",\n \"am-alt-variant\": \"am\",\n noon: \"n\",\n pm: \"p\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"in the morning\",\n afternoon1: \"in the afternoon\",\n evening1: \"in the evening\",\n night1: \"at night\"\n },\n wide: {\n midnight: \"midnight\",\n am: \"AM\",\n \"am-alt-variant\": \"am\",\n noon: \"noon\",\n pm: \"PM\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"in the morning\",\n afternoon1: \"in the afternoon\",\n evening1: \"in the evening\",\n night1: \"at night\"\n }\n },\n \"stand-alone\": {\n abbreviated: {\n midnight: \"midnight\",\n am: \"AM\",\n \"am-alt-variant\": \"am\",\n noon: \"noon\",\n pm: \"PM\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"morning\",\n afternoon1: \"afternoon\",\n evening1: \"evening\",\n night1: \"night\"\n },\n narrow: {\n midnight: \"midnight\",\n am: \"AM\",\n \"am-alt-variant\": \"am\",\n noon: \"noon\",\n pm: \"PM\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"morning\",\n afternoon1: \"afternoon\",\n evening1: \"evening\",\n night1: \"night\"\n },\n wide: {\n midnight: \"midnight\",\n am: \"AM\",\n \"am-alt-variant\": \"am\",\n noon: \"noon\",\n pm: \"PM\",\n \"pm-alt-variant\": \"pm\",\n morning1: \"morning\",\n afternoon1: \"afternoon\",\n evening1: \"evening\",\n night1: \"night\"\n }\n }\n },\n eras: {\n format: {\n wide: {\n \"0\": \"Before Christ\",\n \"1\": \"Anno Domini\",\n \"0-alt-variant\": \"Before Common Era\",\n \"1-alt-variant\": \"Common Era\"\n },\n abbreviated: {\n \"0\": \"BC\",\n \"1\": \"AD\",\n \"0-alt-variant\": \"BCE\",\n \"1-alt-variant\": \"CE\"\n },\n narrow: {\n \"0\": \"B\",\n \"1\": \"A\",\n \"0-alt-variant\": \"BCE\",\n \"1-alt-variant\": \"CE\"\n }\n }\n },\n dateFields: {\n era: {\n wide: \"era\",\n short: \"era\",\n narrow: \"era\"\n },\n year: {\n wide: \"year\",\n short: \"yr.\",\n narrow: \"yr.\"\n },\n quarter: {\n wide: \"quarter\",\n short: \"qtr.\",\n narrow: \"qtr.\"\n },\n month: {\n wide: \"month\",\n short: \"mo.\",\n narrow: \"mo.\"\n },\n week: {\n wide: \"week\",\n short: \"wk.\",\n narrow: \"wk.\"\n },\n weekOfMonth: {\n wide: \"week of month\",\n short: \"wk. of mo.\",\n narrow: \"wk. of mo.\"\n },\n day: {\n wide: \"day\",\n short: \"day\",\n narrow: \"day\"\n },\n dayOfYear: {\n wide: \"day of year\",\n short: \"day of yr.\",\n narrow: \"day of yr.\"\n },\n weekday: {\n wide: \"day of the week\",\n short: \"day of wk.\",\n narrow: \"day of wk.\"\n },\n weekdayOfMonth: {\n wide: \"weekday of the month\",\n short: \"wkday. of mo.\",\n narrow: \"wkday. of mo.\"\n },\n dayperiod: {\n short: \"AM/PM\",\n wide: \"AM/PM\",\n narrow: \"AM/PM\"\n },\n hour: {\n wide: \"hour\",\n short: \"hr.\",\n narrow: \"hr.\"\n },\n minute: {\n wide: \"minute\",\n short: \"min.\",\n narrow: \"min.\"\n },\n second: {\n wide: \"second\",\n short: \"sec.\",\n narrow: \"sec.\"\n },\n zone: {\n wide: \"time zone\",\n short: \"zone\",\n narrow: \"zone\"\n },\n millisecond: {\n narrow: \"ms\",\n short: \"ms\",\n wide: \"millisecond\"\n }\n }\n }\n },\n supplemental: {\n likelySubtags: {\n en: \"en-Latn-US\"\n },\n currencyData: {\n region: {\n US: [\n {\n USD: {\n _from: \"1792-01-01\"\n }\n }\n ]\n }\n },\n weekData: {\n firstDay: {\n US: \"sun\"\n },\n weekendStart: {\n \"001\": \"sat\"\n },\n weekendEnd: {\n \"001\": \"sun\"\n }\n }\n }\n};\nexport default defaultData;","export default function isString(value) {\n return typeof value === \"string\";\n}","//The error is represented by unique name and corresponding message\n//The message can contain placeholders with index, e.g. {0}, {1}\n\nexport default {\n \"NoLocale\": \"Missing locale info for '{0}'\",\n \"NoCurrency\": \"Cannot determine currency information. Please load the locale currencies data.\",\n \"NoSupplementalCurrency\": \"Cannot determine currency. Please load the supplemental currencyData.\",\n \"NoCurrencyRegion\": \"No currency data for region '{0}'\",\n \"NoCurrencyDisplay\": \"Cannot determine currency display information. Please load the locale currencies data. The default culture does not include the all currencies data.\",\n \"NoGMTInfo\": \"Cannot determine locale GMT format. Please load the locale timeZoneNames data.\",\n \"NoWeekData\": \"Cannot determine locale first day of week. Please load the supplemental weekData.\",\n \"NoFirstDay\": \"Cannot determine locale first day of week. Please load the supplemental weekData. The default culture includes only the 'en-US' first day info.\",\n \"NoValidCurrency\": \"Cannot determine a default currency for the {0} locale. Please specify explicitly the currency with the format options.\",\n \"NoDateFieldNames\": \"Cannot determine the locale date field names. Please load the locale dateFields data.\"\n};\n","import errorDetails from './error-details';\n\nvar formatRegExp = /\\{(\\d+)}?\\}/g;\n\nvar IntlError = function IntlError(ref) {\n var name = ref.name;\n var message = ref.message;\n\n if (!name || !message) {\n throw new Error(\"{ name: string, message: string } object is required!\");\n }\n\n this.name = name;\n this.message = message;\n};\n\nIntlError.prototype.formatMessage = function formatMessage () {\n var values = [], len = arguments.length;\n while ( len-- ) values[ len ] = arguments[ len ];\n\n var flattenValues = flatten(values);\n\n var formattedMessage = this.message.replace(formatRegExp, function(match, index) {\n return flattenValues[parseInt(index, 10)];\n });\n\n return ((this.name) + \": \" + formattedMessage);\n};\n\nIntlError.prototype.error = function error () {\n var values = [], len = arguments.length;\n while ( len-- ) values[ len ] = arguments[ len ];\n\n return new Error(this.formatMessage(values));\n};\n\nvar flatten = function(arr) {\n return arr.reduce(function (a, b) { return a.concat(b); }, []);\n};\n\nvar toIntlErrors = function(errors) {\n var predicate = function(prev, name) {\n prev[name] = new IntlError({ name: name, message: errors[name] });\n return prev;\n };\n\n return Object.keys(errors).reduce(predicate, {});\n};\n\nvar errors = toIntlErrors(errorDetails);\n\nexport {\n errors,\n IntlError,\n toIntlErrors\n};\n","import defaultData from './default-data';\nimport isString from '../common/is-string';\nimport { errors } from '../errors';\n\nfunction availableLocaleInfo(fullName, suffixes) {\n var parts = fullName.split(\"-\");\n var language = parts[0];\n var script = parts[1];\n var territory = parts[2];\n\n return cldr[fullName] || (suffixes.indexOf(territory) !== -1 && cldr[language + \"-\" + territory]) || (suffixes.indexOf(script) !== -1 && cldr[language + \"-\" + script]) || cldr[language];\n}\n\nfunction localeFullName(language, suffixes) {\n var likelySubtags = cldr.supplemental.likelySubtags;\n\n for (var idx = 0; idx < suffixes.length; idx++) {\n var name = likelySubtags[language + \"-\" + suffixes[idx ]];\n if (name) {\n return name;\n }\n }\n\n if (likelySubtags[language]) {\n return likelySubtags[language];\n }\n}\n\nexport var cldr = defaultData;\n\nexport function getLocaleInfo(locale) {\n var info;\n if (isString(locale)) {\n info = localeInfo(locale);\n } else {\n info = locale;\n }\n return info;\n}\n\nexport function localeInfo(locale) {\n if (cldr[locale]) {\n return cldr[locale];\n }\n\n var likelySubtags = cldr.supplemental.likelySubtags;\n if (likelySubtags) {\n var parts = locale.split(\"-\");\n var language = parts[0];\n var suffixes = parts.slice(1);\n var fullName = localeFullName(language, suffixes);\n var info = fullName ? availableLocaleInfo(fullName, suffixes) : null;\n if (info) {\n return info;\n }\n }\n\n throw errors.NoLocale.error(locale);\n}\n","export var DECIMAL = \"decimal\";\nexport var CURRENCY = \"currency\";\nexport var ACCOUNTING = \"accounting\";\nexport var PERCENT = \"percent\";\nexport var SCIENTIFIC = \"scientific\";\n\nexport var CURRENCY_PLACEHOLDER = \"$\";\nexport var PERCENT_PLACEHOLDER = \"%\";\nexport var NUMBER_PLACEHOLDER = \"n\";\n\nexport var LIST_SEPARATOR = \";\";\nexport var GROUP_SEPARATOR = \",\";\n\nexport var POINT = \".\";\nexport var EMPTY = \"\";\n\nexport var DEFAULT_LOCALE = \"en\";\n\n","import { cldr } from './info';\nimport { CURRENCY, ACCOUNTING, DECIMAL, CURRENCY_PLACEHOLDER, NUMBER_PLACEHOLDER, LIST_SEPARATOR, GROUP_SEPARATOR, POINT } from '../common/constants';\n\nvar LATIN_NUMBER_FORMATS = \"Formats-numberSystem-latn\";\nvar LATIN_NUMBER_SYMBOLS = \"symbols-numberSystem-latn\";\n\nvar patternRegExp = /([#,0.]+)/g;\nvar cldrCurrencyRegExp = /¤/g;\n\nfunction getPatterns(pattern) {\n patternRegExp.lastIndex = 0;\n\n return pattern.replace(cldrCurrencyRegExp, CURRENCY_PLACEHOLDER).replace(patternRegExp, NUMBER_PLACEHOLDER).split(LIST_SEPARATOR);\n}\n\nfunction getGroupSize(pattern) {\n patternRegExp.lastIndex = 0;\n\n var numberPatterns = patternRegExp.exec(pattern.split(LIST_SEPARATOR)[0])[0].split(POINT);\n var integer = numberPatterns[0];\n\n var groupSize = integer.split(GROUP_SEPARATOR).slice(1).map(function(group) {\n return group.length;\n }).reverse();\n\n return groupSize;\n}\n\nfunction loadCurrencyUnitPatterns(currencyInfo, currencyFormats) {\n for (var field in currencyFormats) {\n if (field.startsWith(\"unitPattern\")) {\n currencyInfo[field] = currencyFormats[field].replace(\"{0}\", NUMBER_PLACEHOLDER).replace(\"{1}\", CURRENCY_PLACEHOLDER);\n }\n }\n}\n\nexport default function loadNumbersInfo(locale, info) {\n var localeInfo = cldr[locale];\n var numbers = localeInfo.numbers = localeInfo.numbers || {};\n numbers.symbols = numbers.symbols || {};\n for (var field in info) {\n if (field === LATIN_NUMBER_SYMBOLS) {\n Object.assign(numbers.symbols, info[field]);\n } else if (field.includes(LATIN_NUMBER_FORMATS)) {\n var style = field.substr(0, field.indexOf(LATIN_NUMBER_FORMATS));\n var pattern = info[field].standard;\n numbers[style] = {\n patterns: getPatterns(pattern)\n };\n if (style === CURRENCY) {\n numbers[style].groupSize = getGroupSize((info[DECIMAL + LATIN_NUMBER_FORMATS] || info[field]).standard);\n loadCurrencyUnitPatterns(numbers[style], info[field]);\n numbers[ACCOUNTING] = {\n patterns: getPatterns(info[field][ACCOUNTING]),\n groupSize: numbers[style].groupSize\n };\n } else {\n numbers[style].groupSize = getGroupSize(pattern);\n }\n } else if (field === \"currencies\") {\n numbers.currencies = info[field];\n }\n }\n}","import { cldr } from './info';\n\nvar predefinedDatePatterns = {\n s: \"yyyy'-'MM'-'dd'T'HH':'mm':'ss\",\n u: \"yyyy'-'MM'-'dd HH':'mm':'ss'Z'\"\n};\n\nvar YEAR_REGEX = /y+/g;\nvar SHORT_DATE = [ [ \"dateFormats\", \"short\" ] ];\n\nvar datePatterns = {\n D: [ [ \"dateFormats\", \"full\" ] ],\n m: [ [ \"dateTimeFormats\", \"availableFormats\", \"MMMd\" ] ],\n M: [ [ \"dateTimeFormats\", \"availableFormats\", \"MMMMd\" ] ],\n y: [ [ \"dateTimeFormats\", \"availableFormats\", \"yMMM\" ] ],\n Y: [ [ \"dateTimeFormats\", \"availableFormats\", \"yMMMM\" ] ],\n F: [ [ \"dateFormats\", \"full\" ], [ \"timeFormats\", \"medium\" ] ],\n g: [ [ \"dateTimeFormats\", \"availableFormats\", \"yMd\" ], [ \"timeFormats\", \"short\" ] ],\n G: [ [ \"dateTimeFormats\", \"availableFormats\", \"yMd\" ], [ \"timeFormats\", \"medium\" ] ],\n t: [ [ \"timeFormats\", \"short\" ] ],\n T: [ [ \"timeFormats\", \"medium\" ] ]\n};\n\nfunction toArray(obj) {\n var result = [];\n var names = Object.getOwnPropertyNames(obj);\n for (var idx = 0; idx < names.length; idx++) {\n var value = obj[names[idx]];\n result.push(value);\n }\n return result;\n}\n\nfunction getCalendarNames(info, isObj) {\n var result = {};\n for (var formatType in info) {\n var names = result[formatType] = {};\n for (var format in info[formatType]) {\n var formats = info[formatType][format];\n names[format] = isObj ? formats : toArray(formats);\n }\n }\n return result;\n}\n\nfunction getEraNames(eras) {\n var result = {};\n var format = result.format = {};\n var eraNameMap = {\n eraAbbr: \"abbreviated\",\n eraNames: \"wide\",\n eraNarrow: \"narrow\"\n };\n\n for (var eraFormatName in eras) {\n var formatName = eraNameMap[eraFormatName];\n format[formatName] = eras[eraFormatName];\n }\n\n return result;\n}\n\nfunction loadCalendarNames(locale, calendar) {\n var localeCalendar = cldr[locale].calendar;\n localeCalendar.days = getCalendarNames(calendar.days);\n localeCalendar.months = getCalendarNames(calendar.months);\n localeCalendar.quarters = getCalendarNames(calendar.quarters);\n localeCalendar.dayPeriods = getCalendarNames(calendar.dayPeriods, true);\n\n localeCalendar.eras = getEraNames(calendar.eras);\n}\n\nfunction loadCalendarDateFields(locale, fields) {\n var localeCalendar = cldr[locale].calendar;\n var dateFields = {};\n\n for (var field in fields) {\n var ref = field.split('-');\n var fieldName = ref[0];\n var formatType = ref[1]; if ( formatType === void 0 ) formatType = 'wide';\n var fieldInfo = dateFields[fieldName] || {};\n var displayName = fields[field].displayName;\n\n if (!displayName) { continue; }\n\n fieldInfo[formatType] = displayName;\n dateFields[fieldName] = fieldInfo;\n }\n\n localeCalendar.dateFields = dateFields;\n}\n\nfunction getPredefinedFormat(paths, calendar) {\n var result = [];\n\n for (var pathIdx = 0; pathIdx < paths.length; pathIdx++) {\n var fields = paths[ pathIdx ];\n var pattern = calendar;\n for (var idx = 0; idx < fields.length; idx++) {\n pattern = pattern[fields[idx]];\n }\n result.push(pattern);\n }\n\n return result.join(\" \");\n}\n\nfunction loadCalendarPatterns(locale, calendar) {\n var cldrCalendar = cldr[locale].calendar;\n var patterns = cldrCalendar.patterns = {};\n\n patterns.d = getPredefinedFormat(SHORT_DATE, calendar).replace(YEAR_REGEX, 'y');\n\n for (var pattern in datePatterns) {\n patterns[pattern] = getPredefinedFormat(datePatterns[pattern], calendar);\n }\n\n for (var pattern$1 in predefinedDatePatterns) {\n patterns[pattern$1] = predefinedDatePatterns[pattern$1];\n }\n\n var dateTimeFormats = calendar.dateTimeFormats;\n cldrCalendar.dateTimeFormats = {\n full: dateTimeFormats.full,\n long: dateTimeFormats.long,\n medium: dateTimeFormats.medium,\n short: dateTimeFormats.short,\n availableFormats: dateTimeFormats.availableFormats\n };\n cldrCalendar.timeFormats = calendar.timeFormats;\n cldrCalendar.dateFormats = calendar.dateFormats;\n}\n\n\nexport default function loadCalendarInfo(locale, info) {\n var calendar = cldr[locale].calendar = cldr[locale].calendar || {};\n for (var field in info) {\n if (field === \"timeZoneNames\") {\n calendar.gmtFormat = info[field].gmtFormat;\n calendar.gmtZeroFormat = info[field].gmtZeroFormat;\n } else if (field === \"calendars\" && info[field].gregorian) {\n loadCalendarPatterns(locale, info[field].gregorian);\n loadCalendarNames(locale, info[field].gregorian);\n } else if (field === \"fields\") {\n loadCalendarDateFields(locale, info.fields);\n }\n }\n}\n","import { cldr } from './info';\n\nfunction territoryFromName(name, identity) {\n var likelySubtags = cldr.supplemental.likelySubtags;\n var parts = name.split(\"-\");\n if (likelySubtags) {\n var likelyName = likelySubtags[name] || likelySubtags[parts[0]];\n if (likelyName) {\n parts = likelyName.split(\"-\");\n }\n }\n\n if (identity) {\n for (var idx = parts.length - 1; idx >= 1; idx--) {\n var part = parts[idx];\n if (part === identity.variant || part === identity.script) {\n parts.splice(idx, 1);\n }\n }\n }\n\n var length = parts.length;\n\n if (length > 1) {\n var territory = parts[length - 1];\n return territory.toUpperCase();\n }\n}\n\nexport default function localeTerritory(info) {\n if (info.territory) {\n return info.territory;\n }\n\n var name = info.name;\n var identity = info.identity;\n var territory;\n\n if (identity && identity.territory) {\n territory = identity.territory;\n } else {\n territory = territoryFromName(name, identity);\n }\n\n info.territory = territory;\n\n return territory;\n}\n","var MILLISECOND = 'duration-millisecond';\nvar UNIT_PATTERN_ONE = 'unitPattern-count-one';\nvar UNIT_PATTERN_OTHER = 'unitPattern-count-other';\nvar placeholderPattern = /\\{0\\}\\s?/;\n\nfunction extractUnit(unit) {\n var value = unit[UNIT_PATTERN_ONE] || unit[UNIT_PATTERN_OTHER];\n return value.replace(placeholderPattern, '');\n}\n\nexport default function loadUnits(localeInfo, units) {\n localeInfo.calendar.dateFields.millisecond = {\n narrow: extractUnit(units.narrow[MILLISECOND]),\n short: extractUnit(units.short[MILLISECOND]),\n wide: extractUnit(units.long[MILLISECOND])\n };\n}\n","import { cldr } from './info';\nimport loadNumbersInfo from './load-numbers';\nimport loadCalendarInfo from './load-dates';\nimport localeTerritory from './territory';\nimport loadUnits from './load-units';\n\nfunction loadLocale(locale, info) {\n for (var field in info) {\n if (field === \"numbers\") {\n loadNumbersInfo(locale, info[field]);\n } else if (field === \"dates\") {\n loadCalendarInfo(locale, info[field]);\n }\n }\n}\n\nexport default function load() {\n var arguments$1 = arguments;\n\n var length = arguments.length;\n for (var idx = 0; idx < length; idx++) {\n var entry = arguments$1[idx];\n if (entry.main) {\n var locale = Object.keys(entry.main)[0];\n var info = entry.main[locale];\n var localeInfo = cldr[locale] = cldr[locale] || {};\n\n if (info.units) {\n loadUnits(localeInfo, info.units);\n } else {\n localeInfo.name = localeInfo.name || locale;\n localeInfo.identity = localeInfo.identity || info.identity;\n\n localeTerritory(localeInfo);\n loadLocale(locale, info);\n }\n } else if (entry.supplemental) {\n if (entry.supplemental.weekData) {\n cldr.supplemental.weekData = {\n firstDay: entry.supplemental.weekData.firstDay,\n weekendStart: entry.supplemental.weekData.weekendStart,\n weekendEnd: entry.supplemental.weekData.weekendEnd\n };\n } else if (entry.supplemental.likelySubtags) {\n cldr.supplemental.likelySubtags = Object.assign(cldr.supplemental.likelySubtags, entry.supplemental.likelySubtags);\n } else if (entry.supplemental.currencyData) {\n var currencyData = cldr.supplemental.currencyData;\n currencyData.region = Object.assign(currencyData.region || {}, entry.supplemental.currencyData.region);\n currencyData.fractions = Object.assign(currencyData.fractions || {}, entry.supplemental.currencyData.fractions);\n }\n }\n }\n}\n","import { localeInfo } from './info';\nimport { errors } from '../errors';\nimport { DEFAULT_LOCALE } from '../common/constants';\n\nexport default function dateFieldName(options, locale) {\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n\n var info = localeInfo(locale);\n var dateFields = info.calendar.dateFields;\n if (!dateFields) {\n throw errors.NoDateFieldNames.error();\n }\n\n var fieldNameInfo = dateFields[options.type] || {};\n\n return fieldNameInfo[options.nameType] || fieldNameInfo['wide'];\n}\n","import { getLocaleInfo } from './info';\nimport { EMPTY } from '../common/constants';\n\nfunction lowerArray(arr) {\n var result = [];\n for (var idx = 0; idx < arr.length; idx++) {\n result.push(arr[idx].toLowerCase());\n }\n return result;\n}\n\nfunction lowerObject(obj) {\n var result = {};\n for (var field in obj) {\n result[field] = obj[field].toLowerCase();\n }\n return result;\n}\n\nfunction cloneLower(obj) {\n var result = Array.isArray(obj) ? lowerArray(obj) : lowerObject(obj);\n return result;\n}\n\nexport default function dateFormatNames(locale, options) {\n var type = options.type;\n var nameType = options.nameType;\n var standAlone = options.standAlone;\n var lower = options.lower;\n var info = getLocaleInfo(locale);\n var formatType = standAlone ? \"stand-alone\" : \"format\";\n var lowerNameType = (lower ? \"lower-\" : EMPTY) + nameType;\n var formatNames = info.calendar[type][formatType];\n var result = formatNames[lowerNameType];\n if (!result && lower) {\n result = formatNames[lowerNameType] = cloneLower(formatNames[nameType]);\n }\n return result;\n}","export default function parseRangeDate(value) {\n var parts = value.split('-');\n var year = parseInt(parts[0], 10);\n var month = parseInt(parts[1], 10) - 1;\n var day = parseInt(parts[2], 10);\n\n return new Date(year, month, day);\n}\n","import { cldr, getLocaleInfo } from './info';\nimport { errors } from '../errors';\nimport localeTerritory from './territory';\nimport parseRangeDate from './parse-range-date';\n\n/* eslint-disable consistent-return */\n\nvar NoCurrency = errors.NoCurrency;\nvar NoCurrencyDisplay = errors.NoCurrencyDisplay;\nvar NoSupplementalCurrency = errors.NoSupplementalCurrency;\nvar NoCurrencyRegion = errors.NoCurrencyRegion;\nvar NoValidCurrency = errors.NoValidCurrency;\n\nvar DEFAULT_CURRENCY_FRACTIONS = 2;\nvar SYMBOL = \"symbol\";\nvar INVALID_CURRENCY_CODE = 'XXX';\n\nvar GLOBAL_CURRENCIES = {\n '001': 'USD', // 001 refers to world. not sure if it is correct to assume USD but seems better than throw an error\n '150': 'EUR' // 150 territory for Europe\n\n};\n\nfunction getCurrencyInfo(locale, currency, throwIfNoValid) {\n var info = getLocaleInfo(locale);\n var currencies = info.numbers.currencies;\n if (!currencies) {\n if (throwIfNoValid) {\n throw NoCurrency.error();\n }\n\n return;\n }\n\n var currencyDisplayInfo = currencies[currency];\n\n if (!currencyDisplayInfo) {\n if (throwIfNoValid) {\n throw NoCurrencyDisplay.error();\n }\n\n return;\n }\n\n return currencyDisplayInfo;\n}\n\nfunction lengthComparer(a, b) {\n return b.length - a.length;\n}\n\nfunction regionCurrency(regionCurrencies) {\n var latestValidUntil, latestValidUntilRange;\n var latestStillValid, latestStillValidDate;\n\n for (var idx = 0; idx < regionCurrencies.length; idx++) {\n var currency = regionCurrencies[idx];\n var code = Object.keys(currency)[0];\n var info = currency[code];\n if (code !== INVALID_CURRENCY_CODE && info._tender !== 'false' && info._from) {\n if (!info._to) {\n var stillValidDate = parseRangeDate(info._from);\n if (!latestStillValidDate || latestStillValidDate < stillValidDate) {\n latestStillValid = code;\n latestStillValidDate = stillValidDate;\n }\n } else if (!latestStillValid) {\n var validFrom = parseRangeDate(info._from);\n var validTo = parseRangeDate(info._to);\n if (!latestValidUntilRange || latestValidUntilRange.to < validTo || latestValidUntilRange.from < validFrom) {\n latestValidUntil = code;\n latestValidUntilRange = {\n from: validFrom,\n to: validTo\n };\n }\n }\n }\n }\n\n return latestStillValid || latestValidUntil;\n}\n\nexport function currencyDisplays(locale, currency, throwIfNoValid) {\n if ( throwIfNoValid === void 0 ) throwIfNoValid = true;\n\n var currencyInfo = getCurrencyInfo(locale, currency, throwIfNoValid);\n if (!currencyInfo) {\n return;\n }\n\n if (!currencyInfo.displays) {\n var displays = [ currency ];\n for (var field in currencyInfo) {\n displays.push(currencyInfo[field]);\n }\n displays.sort(lengthComparer);\n currencyInfo.displays = displays;\n }\n\n return currencyInfo.displays;\n}\n\nexport function currencyDisplay(locale, options) {\n var value = options.value;\n var currency = options.currency;\n var currencyDisplay = options.currencyDisplay; if ( currencyDisplay === void 0 ) currencyDisplay = SYMBOL;\n\n if (currencyDisplay === \"code\") {\n return currency;\n }\n\n var currencyInfo = getCurrencyInfo(locale, currency, true);\n var result;\n\n if (currencyDisplay === SYMBOL) {\n result = currencyInfo[\"symbol-alt-narrow\"] || currencyInfo[SYMBOL];\n } else {\n if (typeof value === \"undefined\" || value !== 1) {\n result = currencyInfo[\"displayName-count-other\"];\n } else {\n result = currencyInfo[\"displayName-count-one\"];\n }\n }\n\n return result;\n}\n\nexport function currencyFractionOptions(code) {\n var minimumFractionDigits = DEFAULT_CURRENCY_FRACTIONS;\n var maximumFractionDigits = DEFAULT_CURRENCY_FRACTIONS;\n\n var fractions = ((cldr.supplemental.currencyData || {}).fractions || {})[code];\n\n if (fractions && fractions._digits) {\n maximumFractionDigits = minimumFractionDigits = parseInt(fractions._digits, 10);\n }\n\n return {\n minimumFractionDigits: minimumFractionDigits,\n maximumFractionDigits: maximumFractionDigits\n };\n}\n\nexport function territoryCurrencyCode(territory, throwIfNoValid) {\n if ( throwIfNoValid === void 0 ) throwIfNoValid = true;\n\n if (GLOBAL_CURRENCIES[territory]) {\n return GLOBAL_CURRENCIES[territory];\n }\n\n var currencyData = cldr.supplemental.currencyData;\n if (!currencyData) {\n if (throwIfNoValid) {\n throw NoSupplementalCurrency.error();\n }\n\n return;\n }\n\n var regionCurrencies = currencyData.region[territory];\n\n if (!regionCurrencies) {\n if (throwIfNoValid) {\n throw NoCurrencyRegion.error(territory);\n }\n\n return;\n }\n\n var currencyCode = regionCurrency(regionCurrencies);\n\n return currencyCode;\n}\n\nexport function localeCurrency(locale, throwIfNoValid) {\n var info = getLocaleInfo(locale);\n var numbers = info.numbers;\n\n if (!numbers.localeCurrency) {\n var currency = territoryCurrencyCode(localeTerritory(info), throwIfNoValid);\n\n if (!currency && throwIfNoValid) {\n throw NoValidCurrency.error(info.name);\n }\n\n numbers.localeCurrency = currency;\n }\n\n return numbers.localeCurrency;\n}\n","\nexport var DAYS_OF_WEEK = [ \"sun\", \"mon\", \"tue\", \"wed\", \"thu\", \"fri\", \"sat\" ];\n\nexport var DEFAULT_TERRITORY = '001';\n","import { cldr, getLocaleInfo } from './info';\nimport localeTerritory from './territory';\n\nimport { DAYS_OF_WEEK, DEFAULT_TERRITORY } from './constants';\nimport { errors } from '../errors';\n\nvar NoWeekData = errors.NoWeekData;\nvar NoFirstDay = errors.NoFirstDay;\n\nexport default function firstDay(locale) {\n var info = getLocaleInfo(locale);\n\n if (!isNaN(info.firstDay)) {\n return info.firstDay;\n }\n\n var weekData = cldr.supplemental.weekData;\n if (!weekData) {\n throw NoWeekData.error();\n }\n\n var firstDay = weekData.firstDay[localeTerritory(info)] || weekData.firstDay[DEFAULT_TERRITORY];\n\n if (!firstDay) {\n throw NoFirstDay.error();\n }\n\n info.firstDay = DAYS_OF_WEEK.indexOf(firstDay);\n\n return info.firstDay;\n}\n","import { cldr, getLocaleInfo } from './info';\nimport localeTerritory from './territory';\n\nimport { DAYS_OF_WEEK, DEFAULT_TERRITORY } from './constants';\nimport { errors } from '../errors';\n\nvar NoWeekData = errors.NoWeekData;\n\nexport default function weekendRange(locale) {\n var info = getLocaleInfo(locale);\n\n if (info.weekendRange) {\n return info.weekendRange;\n }\n\n var weekData = cldr.supplemental.weekData;\n if (!weekData) {\n throw NoWeekData.error();\n }\n\n var territory = localeTerritory(info);\n var start = weekData.weekendStart[territory] || weekData.weekendStart[DEFAULT_TERRITORY];\n var end = weekData.weekendEnd[territory] || weekData.weekendEnd[DEFAULT_TERRITORY];\n\n info.weekendRange = {\n start: DAYS_OF_WEEK.indexOf(start),\n end: DAYS_OF_WEEK.indexOf(end)\n };\n\n return info.weekendRange;\n}\n","import { getLocaleInfo } from './info';\n\nexport default function numberSymbols(locale) {\n var info = getLocaleInfo(locale);\n\n return info.numbers.symbols;\n}","export default function isNegativeZero(value) {\n return (1 / value === -Infinity);\n}\n","import { currencyDisplay, localeCurrency } from '../cldr';\n\nexport default function formatCurrencySymbol(info, options) {\n if ( options === void 0 ) options = {};\n\n if (!options.currency) {\n options.currency = localeCurrency(info, true);\n }\n\n var display = currencyDisplay(info, options);\n\n return display;\n}\n","export default function groupInteger(number, start, end, options, info) {\n var symbols = info.numbers.symbols;\n var decimalIndex = number.indexOf(symbols.decimal);\n var groupSizes = options.groupSize.slice();\n var groupSize = groupSizes.shift();\n\n var integerEnd = decimalIndex !== -1 ? decimalIndex : end + 1;\n\n var integer = number.substring(start, integerEnd);\n var result = number;\n var integerLength = integer.length;\n\n if (integerLength >= groupSize) {\n var idx = integerLength;\n var parts = [];\n\n while (idx > -1) {\n var value = integer.substring(idx - groupSize, idx);\n if (value) {\n parts.push(value);\n }\n idx -= groupSize;\n var newGroupSize = groupSizes.shift();\n groupSize = newGroupSize !== undefined ? newGroupSize : groupSize;\n\n if (groupSize === 0) {\n value = integer.substring(0, idx);\n if (value) {\n parts.push(value);\n }\n break;\n }\n }\n\n integer = parts.reverse().join(symbols.group);\n result = number.substring(0, start) + integer + number.substring(integerEnd);\n }\n\n return result;\n}","import { CURRENCY, ACCOUNTING } from '../common/constants';\n\nexport default function isCurrencyStyle(style) {\n return style === CURRENCY || style === ACCOUNTING;\n}","export default function pad(number, digits, right) {\n if ( digits === void 0 ) digits = 2;\n if ( right === void 0 ) right = false;\n\n var count = digits - String(number).length;\n var result = number;\n\n if (count > 0) {\n var padString = new Array(count + 1).join(\"0\");\n result = right ? number + padString : padString + number;\n }\n\n return result;\n}","var MAX_PRECISION = 20;\n\nexport default function round(value, precision) {\n var result = value;\n var decimals = precision || 0;\n\n result = result.toString().split('e');\n result = Math.round(Number(result[0] + 'e' + (result[1] ? (Number(result[1]) + decimals) : decimals)));\n\n result = result.toString().split('e');\n result = Number(result[0] + 'e' + (result[1] ? (Number(result[1]) - decimals) : -decimals));\n\n return result.toFixed(Math.min(decimals, MAX_PRECISION));\n}","import { PERCENT, SCIENTIFIC, NUMBER_PLACEHOLDER, CURRENCY_PLACEHOLDER, PERCENT_PLACEHOLDER, EMPTY, POINT } from '../common/constants';\nimport isNegativeZero from '../common/is-negative-zero';\nimport formatCurrencySymbol from './format-currency-symbol';\nimport groupInteger from './group-integer';\nimport isCurrencyStyle from './is-currency-style';\nimport pad from '../common/pad';\nimport round from '../common/round';\nimport { currencyFractionOptions } from '../cldr';\n\nvar DEFAULT_DECIMAL_ROUNDING = 3;\nvar DEFAULT_PERCENT_ROUNDING = 0;\n\nvar trailingZeroRegex = /0+$/;\n\nfunction fractionOptions(options) {\n var minimumFractionDigits = options.minimumFractionDigits;\n var maximumFractionDigits = options.maximumFractionDigits;\n var style = options.style;\n var isCurrency = isCurrencyStyle(style);\n var currencyFractions;\n if (isCurrency) {\n currencyFractions = currencyFractionOptions(options.currency);\n }\n\n if (minimumFractionDigits === undefined) {\n minimumFractionDigits = isCurrency ? currencyFractions.minimumFractionDigits : 0;\n }\n\n if (maximumFractionDigits === undefined) {\n if (style === PERCENT) {\n maximumFractionDigits = Math.max(minimumFractionDigits, DEFAULT_PERCENT_ROUNDING);\n } else if (isCurrency) {\n maximumFractionDigits = Math.max(minimumFractionDigits, currencyFractions.maximumFractionDigits);\n } else {\n maximumFractionDigits = Math.max(minimumFractionDigits, DEFAULT_DECIMAL_ROUNDING);\n }\n }\n\n return {\n minimumFractionDigits: minimumFractionDigits,\n maximumFractionDigits: maximumFractionDigits\n };\n}\n\nfunction applyPattern(value, pattern, symbol) {\n var result = EMPTY;\n for (var idx = 0, length = pattern.length; idx < length; idx++) {\n var ch = pattern.charAt(idx);\n\n if (ch === NUMBER_PLACEHOLDER) {\n result += value;\n } else if (ch === CURRENCY_PLACEHOLDER || ch === PERCENT_PLACEHOLDER) {\n result += symbol;\n } else {\n result += ch;\n }\n }\n return result;\n}\n\nfunction currencyUnitPattern(info, value) {\n var currencyInfo = info.numbers.currency;\n var pattern = value !== 1 ? currencyInfo[\"unitPattern-count-other\"] : currencyInfo[\"unitPattern-count-one\"];\n if (value < 0) {\n pattern = pattern.replace(NUMBER_PLACEHOLDER, (\"-\" + NUMBER_PLACEHOLDER));\n }\n\n return pattern;\n}\n\n\nexport default function standardNumberFormat(number, options, info) {\n var symbols = info.numbers.symbols;\n var style = options.style;\n var isCurrency = isCurrencyStyle(style);\n\n //return number in exponential format\n if (style === SCIENTIFIC) {\n var exponential = options.minimumFractionDigits !== undefined ? number.toExponential(options.minimumFractionDigits) : number.toExponential();\n return exponential.replace(POINT, symbols.decimal);\n }\n\n var value = number;\n var symbol;\n\n if (isCurrency) {\n options.value = value;\n symbol = formatCurrencySymbol(info, options);\n }\n\n if (style === PERCENT) {\n value *= 100;\n symbol = symbols.percentSign;\n }\n\n var ref = fractionOptions(options);\n var minimumFractionDigits = ref.minimumFractionDigits;\n var maximumFractionDigits = ref.maximumFractionDigits;\n\n value = round(value, maximumFractionDigits);\n\n var negative = value < 0;\n var negativeZero = isNegativeZero(number);\n\n var parts = value.split(POINT);\n\n var integer = parts[0];\n var fraction = pad(parts[1] ? parts[1].replace(trailingZeroRegex, EMPTY) : EMPTY, minimumFractionDigits, true);\n\n //exclude \"-\" if number is negative.\n if (negative) {\n integer = integer.substring(1);\n }\n\n if (options.minimumIntegerDigits) {\n integer = pad(integer, options.minimumIntegerDigits);\n }\n\n var formattedValue = options.useGrouping !== false ? groupInteger(integer, 0, integer.length, options, info) : integer;\n\n if (fraction) {\n formattedValue += symbols.decimal + fraction;\n }\n\n var pattern;\n\n if (isCurrency && options.currencyDisplay === \"name\") {\n pattern = currencyUnitPattern(info, number);\n } else {\n var patterns = options.patterns;\n pattern = (negative || negativeZero) ? patterns[1] || (\"-\" + patterns[0]) : patterns[0];\n }\n\n if (pattern === NUMBER_PLACEHOLDER && !negative) {\n return formattedValue;\n }\n\n var result = applyPattern(formattedValue, pattern, symbol);\n\n return result;\n}","import { PERCENT_PLACEHOLDER, CURRENCY_PLACEHOLDER, CURRENCY, PERCENT, EMPTY } from '../common/constants';\nimport formatCurrencySymbol from './format-currency-symbol';\n\nvar literalRegExp = /(\\\\.)|(['][^']*[']?)|([\"][^\"]*[\"]?)/g;\nvar PLACEHOLDER = \"__??__\";\n\nexport function setStyleOptions(formatOptions, info) {\n var format = formatOptions.format;\n\n //multiply number if the format has percent\n if (format.indexOf(PERCENT_PLACEHOLDER) !== -1) {\n formatOptions.style = PERCENT;\n formatOptions.symbol = info.numbers.symbols.percentSign;\n formatOptions.number *= 100;\n }\n\n if (format.indexOf(CURRENCY_PLACEHOLDER) !== -1) {\n formatOptions.style = CURRENCY;\n formatOptions.symbol = formatCurrencySymbol(info);\n }\n}\n\nexport function setFormatLiterals(formatOptions) {\n var format = formatOptions.format;\n if (format.indexOf(\"'\") > -1 || format.indexOf(\"\\\"\") > -1 || format.indexOf(\"\\\\\") > -1) {\n var literals = formatOptions.literals = [];\n formatOptions.format = format.replace(literalRegExp, function(match) {\n var quoteChar = match.charAt(0).replace(\"\\\\\", EMPTY);\n var literal = match.slice(1).replace(quoteChar, EMPTY);\n\n literals.push(literal);\n\n return PLACEHOLDER;\n });\n }\n}\n\nexport function replaceLiterals(number, literals) {\n var result = number;\n if (literals) {\n var length = literals.length;\n for (var idx = 0; idx < length; idx++) {\n result = result.replace(PLACEHOLDER, literals[idx]);\n }\n }\n return result;\n}","import { CURRENCY, PERCENT, LIST_SEPARATOR, GROUP_SEPARATOR, CURRENCY_PLACEHOLDER, PERCENT_PLACEHOLDER, POINT, EMPTY } from '../common/constants';\nimport isNegativeZero from '../common/is-negative-zero';\nimport groupInteger from './group-integer';\nimport round from '../common/round';\nimport { setStyleOptions, setFormatLiterals, replaceLiterals } from './utils';\n\nvar SHARP = \"#\";\nvar ZERO = \"0\";\n\nvar trailingZerosRegExp = /(\\.(?:[0-9]*[1-9])?)0+$/g;\nvar trailingPointRegExp = /\\.$/;\nvar commaRegExp = /,/g;\n\nfunction trimTrailingZeros(value, lastZero) {\n var trimRegex;\n\n if (lastZero === 0) {\n trimRegex = trailingZerosRegExp;\n } else {\n trimRegex = new RegExp((\"(\\\\.[0-9]{\" + lastZero + \"}[1-9]*)0+$\"), 'g');\n }\n\n return value.replace(trimRegex, '$1').replace(trailingPointRegExp, EMPTY);\n}\n\nfunction roundNumber(formatOptions) {\n var number = formatOptions.number;\n var format = formatOptions.format;\n var decimalIndex = format.indexOf(POINT);\n\n if (decimalIndex !== -1) {\n var zeroIndex = format.lastIndexOf(ZERO) - decimalIndex;\n var sharpIndex = format.lastIndexOf(SHARP) - decimalIndex;\n var hasZero = zeroIndex > -1;\n var hasSharp = sharpIndex > -1;\n var fraction = number.toString().split(\"e\");\n\n if (fraction[1]) {\n fraction = round(number, Math.abs(fraction[1]));\n } else {\n fraction = fraction[0];\n }\n fraction = fraction.split(POINT)[1] || EMPTY;\n\n var precision = fraction.length;\n var trailingZeros = -1;\n\n if (!hasZero && !hasSharp) {\n formatOptions.format = format.substring(0, decimalIndex) + format.substring(decimalIndex + 1);\n decimalIndex = -1;\n precision = 0;\n } else if (hasZero && zeroIndex > sharpIndex) {\n precision = zeroIndex;\n } else if (sharpIndex > zeroIndex) {\n if (hasSharp && precision > sharpIndex) {\n precision = sharpIndex;\n } else if (hasZero && precision < zeroIndex) {\n precision = zeroIndex;\n }\n\n trailingZeros = hasZero ? zeroIndex : 0;\n }\n\n if (precision > -1) {\n number = round(number, precision);\n if (trailingZeros > -1) {\n number = trimTrailingZeros(number, trailingZeros);\n }\n }\n } else {\n number = round(number);\n }\n\n if (formatOptions.negative && (number * -1) >= 0 && !formatOptions.negativeZero) {\n formatOptions.negative = false;\n }\n\n formatOptions.number = number;\n formatOptions.decimalIndex = decimalIndex;\n}\n\nfunction isConstantFormat(format) {\n return format.indexOf(SHARP) === -1 && format.indexOf(ZERO) === -1;\n}\n\nfunction setValueSpecificFormat(formatOptions) {\n var number = formatOptions.number;\n var format = formatOptions.format;\n format = format.split(LIST_SEPARATOR);\n if ((formatOptions.negative || formatOptions.negativeZero) && format[1]) {\n format = format[1];\n formatOptions.hasNegativeFormat = true;\n } else if (number === 0) {\n var zeroFormat = format[2];\n format = zeroFormat || format[0];\n if (zeroFormat && isConstantFormat(zeroFormat)) {\n formatOptions.constant = zeroFormat;\n }\n } else {\n format = format[0];\n }\n\n formatOptions.format = format;\n}\n\nfunction setGroupOptions(formatOptions) {\n formatOptions.hasGroup = formatOptions.format.indexOf(GROUP_SEPARATOR) > -1;\n if (formatOptions.hasGroup) {\n formatOptions.format = formatOptions.format.replace(commaRegExp, EMPTY);\n }\n}\n\nfunction placeholderIndex(index1, index2, start) {\n var index;\n if (index1 === -1 && index2 !== -1) {\n index = index2;\n } else if (index1 !== -1 && index2 === -1) {\n index = index1;\n } else {\n index = start ? Math.min(index1, index2) : Math.max(index1, index2);\n }\n return index;\n}\n\nfunction setPlaceholderIndices(formatOptions) {\n var format = formatOptions.format;\n var sharpIndex = format.indexOf(SHARP);\n var zeroIndex = format.indexOf(ZERO);\n\n var start = placeholderIndex(sharpIndex, zeroIndex, true);\n\n sharpIndex = format.lastIndexOf(SHARP);\n zeroIndex = format.lastIndexOf(ZERO);\n\n var end = placeholderIndex(sharpIndex, zeroIndex);\n\n if (start === format.length) {\n end = start;\n }\n\n formatOptions.start = start;\n formatOptions.end = end;\n formatOptions.lastZeroIndex = zeroIndex;\n}\n\nfunction replaceStyleSymbols(number, style, symbol) {\n var result = number;\n if (style === CURRENCY || style === PERCENT) {\n result = EMPTY;\n for (var idx = 0, length = number.length; idx < length; idx++) {\n var ch = number.charAt(idx);\n result += (ch === CURRENCY_PLACEHOLDER || ch === PERCENT_PLACEHOLDER) ? symbol : ch;\n }\n }\n return result;\n}\n\nfunction replacePlaceHolders(formatOptions, info) {\n var start = formatOptions.start;\n var end = formatOptions.end;\n var negative = formatOptions.negative;\n var negativeZero = formatOptions.negativeZero;\n var format = formatOptions.format;\n var decimalIndex = formatOptions.decimalIndex;\n var lastZeroIndex = formatOptions.lastZeroIndex;\n var hasNegativeFormat = formatOptions.hasNegativeFormat;\n var hasGroup = formatOptions.hasGroup;\n var number = formatOptions.number;\n var value = number.toString().split(POINT);\n var length = format.length;\n var integer = value[0];\n var fraction = value[1] || EMPTY;\n var integerLength = integer.length;\n var replacement = EMPTY;\n\n number = format.substring(0, start);\n\n if ((negative || negativeZero) && !hasNegativeFormat) {\n number += \"-\";\n }\n\n for (var idx = start; idx < length; idx++) {\n var ch = format.charAt(idx);\n\n if (decimalIndex === -1) {\n if (end - idx < integerLength) {\n\n number += integer;\n break;\n }\n } else {\n if (lastZeroIndex !== -1 && lastZeroIndex < idx) {\n replacement = EMPTY;\n }\n\n if ((decimalIndex - idx) <= integerLength && decimalIndex - idx > -1) {\n number += integer;\n idx = decimalIndex;\n }\n\n if (decimalIndex === idx) {\n number += (fraction ? info.numbers.symbols.decimal : EMPTY) + fraction;\n idx += end - decimalIndex + 1;\n continue;\n }\n }\n\n if (ch === ZERO) {\n number += ch;\n replacement = ch;\n } else if (ch === SHARP) {\n number += replacement;\n }\n }\n\n if (hasGroup) {\n number = groupInteger(number, start + (negative && !hasNegativeFormat ? 1 : 0), Math.max(end, (integerLength + start)), info.numbers.decimal, info);\n }\n\n if (end >= start) {\n number += format.substring(end + 1);\n }\n\n return number;\n}\n\nfunction applyCustomFormat(formatOptions, info) {\n var number = formatOptions.number;\n if (formatOptions.start !== -1) {\n number = replacePlaceHolders(formatOptions, info);\n number = replaceStyleSymbols(number, formatOptions.style, formatOptions.symbol);\n number = replaceLiterals(number, formatOptions.literals);\n }\n\n return number;\n}\n\nexport default function customNumberFormat(number, format, info) {\n var formatOptions = {\n negative: number < 0,\n number: Math.abs(number),\n negativeZero: isNegativeZero(number),\n format: format\n };\n\n setValueSpecificFormat(formatOptions);\n\n if (formatOptions.constant) {\n return formatOptions.constant;\n }\n\n setFormatLiterals(formatOptions);\n setStyleOptions(formatOptions, info);\n setGroupOptions(formatOptions);\n roundNumber(formatOptions);\n setPlaceholderIndices(formatOptions);\n\n return applyCustomFormat(formatOptions, info);\n}","import { CURRENCY, ACCOUNTING, DECIMAL, PERCENT, SCIENTIFIC } from '../common/constants';\nimport isString from '../common/is-string';\n\nvar standardFormatRegExp = /^(n|c|p|e|a)(\\d*)$/i;\n\nfunction standardFormatOptions(format) {\n var formatAndPrecision = standardFormatRegExp.exec(format);\n\n if (formatAndPrecision) {\n var options = {\n style: DECIMAL\n };\n\n var style = formatAndPrecision[1].toLowerCase();\n\n if (style === \"c\") {\n options.style = CURRENCY;\n } else if (style === \"a\") {\n options.style = ACCOUNTING;\n } else if (style === \"p\") {\n options.style = PERCENT;\n } else if (style === \"e\") {\n options.style = SCIENTIFIC;\n }\n\n if (formatAndPrecision[2]) {\n options.minimumFractionDigits = options.maximumFractionDigits = parseInt(formatAndPrecision[2], 10);\n }\n\n return options;\n }\n}\n\nexport default function formatOptions(format) {\n var options;\n if (isString(format)) {\n options = standardFormatOptions(format);\n } else {\n options = format;\n }\n\n return options;\n}","import { localeInfo } from '../cldr';\nimport { DECIMAL, DEFAULT_LOCALE, NUMBER_PLACEHOLDER, EMPTY } from '../common/constants';\nimport standardNumberFormat from './standard-number-format';\nimport customNumberFormat from './custom-number-format';\nimport formatOptions from './format-options';\n\nexport default function formatNumber(number, format, locale) {\n if ( format === void 0 ) format = NUMBER_PLACEHOLDER;\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n\n if (number === undefined || number === null) {\n return EMPTY;\n }\n\n if (!isFinite(number)) {\n return String(number);\n }\n\n var info = localeInfo(locale);\n var options = formatOptions(format);\n\n var result;\n if (options) {\n var style = options.style || DECIMAL;\n result = standardNumberFormat(number, Object.assign({}, info.numbers[style], options), info);\n } else {\n result = customNumberFormat(number, format, info);\n }\n\n return result;\n}\n","export default function isNumber(value) {\n return typeof value === \"number\";\n}","import { localeInfo, localeCurrency, currencyDisplays } from '../cldr';\nimport { PERCENT, NUMBER_PLACEHOLDER, CURRENCY_PLACEHOLDER, DEFAULT_LOCALE, EMPTY, POINT } from '../common/constants';\nimport { setStyleOptions, setFormatLiterals } from './utils';\nimport isNumber from '../common/is-number';\nimport isCurrencyStyle from './is-currency-style';\nimport formatOptions from './format-options';\nimport isString from '../common/is-string';\n\nvar exponentRegExp = /[eE][-+]?[0-9]+/;\nvar nonBreakingSpaceRegExp = /\\u00A0/g;\n\nfunction cleanNegativePattern(number, patterns) {\n if (patterns.length > 1) {\n var parts = (patterns[1] || EMPTY).replace(CURRENCY_PLACEHOLDER, EMPTY).split(NUMBER_PLACEHOLDER);\n if (number.indexOf(parts[0]) > -1 && number.indexOf(parts[1]) > -1) {\n return number.replace(parts[0], EMPTY).replace(parts[1], EMPTY);\n }\n }\n}\n\nfunction cleanCurrencyNumber(value, info, format) {\n var options = formatOptions(format) || {};\n var isCurrency = isCurrencyStyle(options.style);\n var number = value;\n var negative;\n\n var currency = options.currency || localeCurrency(info, isCurrency);\n\n if (currency) {\n var displays = currencyDisplays(info, currency, isCurrency);\n if (displays) {\n for (var idx = 0; idx < displays.length; idx++) {\n var display = displays[idx];\n if (number.includes(display)) {\n number = number.replace(display, EMPTY);\n isCurrency = true;\n break;\n }\n }\n }\n\n if (isCurrency) {\n var cleanNumber = cleanNegativePattern(number, info.numbers.currency.patterns) ||\n cleanNegativePattern(number, info.numbers.accounting.patterns);\n\n if (cleanNumber) {\n negative = true;\n number = cleanNumber;\n }\n\n }\n }\n\n return {\n number: number,\n negative: negative\n };\n}\n\nfunction cleanLiterals(number, formatOptions) {\n var literals = formatOptions.literals;\n var result = number;\n\n if (literals) {\n for (var idx = 0; idx < literals.length; idx++) {\n result = result.replace(literals[idx], EMPTY);\n }\n }\n\n return result;\n}\n\nfunction divideBy100(number) {\n var strNumber = String(number);\n var pointIndex = strNumber.indexOf(POINT);\n var zeroesCount = 2;\n var result = number / Math.pow(10, zeroesCount);\n\n if (pointIndex === -1 || String(result).length <= strNumber.length + zeroesCount) {\n return result;\n }\n\n var fractionDigits = strNumber.length - pointIndex + 1 + zeroesCount;\n return parseFloat(result.toFixed(fractionDigits));\n}\n\nexport default function parseNumber(value, locale, format) {\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n if ( format === void 0 ) format = {};\n\n if (!value && value !== 0) {\n return null;\n }\n\n if (isNumber(value)) {\n return value;\n }\n\n var info = localeInfo(locale);\n var symbols = info.numbers.symbols;\n\n var number = value.toString();\n var formatOptions = format || {};\n var isPercent;\n\n if (isString(format)) {\n formatOptions = { format: format };\n setFormatLiterals(formatOptions);\n number = cleanLiterals(number, formatOptions);\n\n setStyleOptions(formatOptions, info);\n }\n\n if (formatOptions.style === PERCENT || number.indexOf(symbols.percentSign) > -1) {\n number = number.replace(symbols.percentSign, EMPTY);\n isPercent = true;\n }\n\n if (exponentRegExp.test(number)) {\n number = parseFloat(number.replace(symbols.decimal, POINT));\n return isNaN(number) ? null : number;\n }\n\n var ref = cleanCurrencyNumber(number, info, formatOptions);\n var negativeCurrency = ref.negative;\n var currencyNumber = ref.number;\n number = String(currencyNumber).trim();\n\n var negativeSignIndex = number.indexOf(\"-\");\n if (negativeSignIndex > 0) {\n return null;\n }\n\n var isNegative = negativeSignIndex > -1;\n\n isNegative = negativeCurrency !== undefined ? negativeCurrency : isNegative;\n\n number = number.replace(\"-\", EMPTY)\n .replace(nonBreakingSpaceRegExp, \" \")\n .split(symbols.group.replace(nonBreakingSpaceRegExp, \" \")).join(EMPTY)\n .replace(symbols.decimal, POINT);\n\n number = parseFloat(number);\n\n if (isNaN(number)) {\n number = null;\n } else if (isNegative) {\n number *= -1;\n }\n\n if (number && isPercent) {\n number = divideBy100(number);\n }\n\n return number;\n}\n","var formatRegExp = /\\{(\\d+)}/g;\n\nexport default function formatString(format) {\n var values = arguments;\n\n return format.replace(formatRegExp, function (match, index) {\n var value = values[parseInt(index, 10) + 1];\n\n return value;\n });\n}","import formatString from '../common/format-string';\nimport isString from '../common/is-string';\nimport { EMPTY } from '../common/constants';\n\nvar REMOVAL_PENALTY = 120;\nvar ADDITION_PENALTY = 20;\nvar LENGHT_DELTA = [ 2, 1, 5, 3, 4 ];\nvar LONG_LESS_PENALTY_DELTA = -2;\nvar SHORT_LESS_PENALTY_DELTA = -1;\nvar SHORT_MORE_PENALTY_DELTA = 1;\nvar LONG_MORE_PENALTY_DELTA = 2;\n\nvar PENALTIES = {};\nPENALTIES[LONG_LESS_PENALTY_DELTA.toString()] = 8;\nPENALTIES[SHORT_LESS_PENALTY_DELTA.toString()] = 6;\nPENALTIES[LONG_MORE_PENALTY_DELTA.toString()] = 6;\nPENALTIES[SHORT_MORE_PENALTY_DELTA.toString()] = 3;\n\nvar VALUE_FORMAT_LENGTH = {\n numeric: 1,\n \"2-digit\": 2,\n short: 3,\n long: 4,\n narrow: 5\n};\n\nvar TIME_SPECIFIERS_REGEX = /[hHmsSzZoOvVxX]/;\n\nfunction getHourSpecifier(options) {\n return options.hour12 ? \"h\" : \"H\";\n}\n\nvar DATE_OPTIONS_MAP = [ {\n key: \"era\",\n specifier: \"G\"\n}, {\n key: \"year\",\n specifier: \"y\"\n}, {\n key: \"month\",\n specifier: \"M\"\n}, {\n key: \"day\",\n specifier: \"d\"\n}, {\n key: \"weekday\",\n specifier: \"E\"\n}, {\n key: \"hour\",\n getSpecifier: getHourSpecifier\n}, {\n key: \"minute\",\n specifier: \"m\"\n}, {\n key: \"second\",\n specifier: \"s\"\n}, {\n key: \"timeZoneName\",\n specifier: \"z\"\n} ];\n\nvar STAND_ALONE_SPECIFIERS = {\n e: 'c',\n E: 'c',\n M: 'L',\n Q: 'q'\n};\n\nvar specifiersRegex = {};\nvar resolvedFormats = {};\n\nfunction getSpecifierRegex(specifier) {\n if (!specifiersRegex[specifier]) {\n specifiersRegex[specifier] = new RegExp(specifier + \"+\");\n }\n return specifiersRegex[specifier];\n}\n\nfunction skeletonSpecifiers(skeleton) {\n var result = [];\n var current = skeleton.charAt(0);\n var specifier = current;\n for (var idx = 1; idx < skeleton.length; idx++) {\n var character = skeleton.charAt(idx);\n if (character === specifier) {\n current += character;\n } else {\n result.push(current);\n current = specifier = character;\n }\n }\n\n result.push(current);\n\n return result;\n}\n\nfunction findBestMatch(specifiers, availableFormats) {\n var specifiersLength = specifiers.length;\n var maxScore = -Number.MAX_VALUE;\n var bestMatches, result;\n for (var format in availableFormats) {\n var matches = [];\n var currentFormat = format.replace(\"v\", \"z\");\n var score = 0;\n for (var idx = 0; idx < specifiersLength; idx++) {\n var specifier = specifiers[idx];\n var specifierRegex = getSpecifierRegex(specifier[0]);\n var match = (specifierRegex.exec(currentFormat) || [])[0];\n\n if (!match) {\n score -= REMOVAL_PENALTY;\n } else {\n currentFormat = currentFormat.replace(match, EMPTY);\n if (match.length !== specifier.length) {\n var delta = Math.max(Math.min(LENGHT_DELTA[match.length] - LENGHT_DELTA[specifier.length], 2), -2);\n score -= PENALTIES[delta];\n }\n }\n\n matches.push(match);\n\n if (score < maxScore) {\n break;\n }\n }\n\n if (currentFormat.length) {\n score -= skeletonSpecifiers(currentFormat).length * ADDITION_PENALTY;\n }\n\n if (score > maxScore) {\n maxScore = score;\n bestMatches = matches;\n result = availableFormats[format];\n }\n }\n\n result = result.replace(\"v\", \"z\");\n\n for (var idx$1 = 0; idx$1 < specifiersLength; idx$1++) {\n var bestMatch = bestMatches[idx$1];\n if (bestMatch && bestMatch !== specifiers[idx$1]) {\n var matchSpecifier = bestMatches[idx$1][0];\n result = result.replace(getSpecifierRegex(matchSpecifier), specifiers[idx$1]);\n if (STAND_ALONE_SPECIFIERS[matchSpecifier]) {\n result = result.replace(getSpecifierRegex(STAND_ALONE_SPECIFIERS[matchSpecifier]), specifiers[idx$1]);\n }\n }\n }\n\n return result;\n}\n\nfunction cacheFormat(skeleton, format, locale) {\n if (!resolvedFormats[locale]) {\n resolvedFormats[locale] = {};\n }\n resolvedFormats[locale][skeleton] = format;\n}\n\n\nfunction skeletonFormat(skeleton, info) {\n var availableFormats = info.calendar.dateTimeFormats.availableFormats;\n if (availableFormats[skeleton]) {\n return availableFormats[skeleton];\n }\n if (resolvedFormats[info.name] && resolvedFormats[info.name][skeleton]) {\n return resolvedFormats[info.name][skeleton];\n }\n var timeStartIndex = skeleton.search(TIME_SPECIFIERS_REGEX);\n var result;\n if (timeStartIndex > 0) {\n var dateSkeleton = skeleton.substr(0, timeStartIndex);\n var timeSkeleton = skeleton.substr(timeStartIndex);\n\n result = formatString(info.calendar.dateTimeFormats.short, //should be deterimed based on specifiers\n availableFormats[timeSkeleton] || findBestMatch(skeletonSpecifiers(timeSkeleton), availableFormats),\n availableFormats[dateSkeleton] || findBestMatch(skeletonSpecifiers(dateSkeleton), availableFormats));\n } else {\n result = findBestMatch(skeletonSpecifiers(skeleton), availableFormats);\n }\n\n cacheFormat(skeleton, result, info.name);\n return result;\n}\n\nfunction skeletonFromOptions(options) {\n var result = [];\n for (var idx = 0; idx < DATE_OPTIONS_MAP.length; idx++) {\n var option = DATE_OPTIONS_MAP[idx];\n var field = option.key;\n var value = options[field];\n if (value) {\n var spcifier = option.specifier || option.getSpecifier(options);\n result.push(spcifier.repeat(VALUE_FORMAT_LENGTH[value]));\n }\n }\n\n return result.join(EMPTY);\n}\n\nexport default function datePattern(format, info) {\n var calendar = info.calendar;\n var result;\n if (isString(format)) {\n if (calendar.patterns[format]) {\n result = calendar.patterns[format];\n } else {\n result = format;\n }\n } else if (format) {\n if (format.pattern) {\n return format.pattern;\n }\n\n var skeleton = format.skeleton;\n if (!skeleton) {\n if (format.datetime) {\n result = formatString(calendar.dateTimeFormats[format.datetime], calendar.timeFormats[format.datetime], calendar.dateFormats[format.datetime]);\n } else if (format.date) {\n result = calendar.dateFormats[format.date];\n } else if (format.time) {\n result = calendar.timeFormats[format.time];\n } else {\n skeleton = skeletonFromOptions(format);\n }\n }\n\n if (skeleton) {\n result = skeletonFormat(skeleton, info);\n }\n }\n\n if (!result) {\n result = calendar.patterns.d;\n }\n\n return result;\n}\n","export default function dateNameType(formatLength) {\n var nameType;\n if (formatLength <= 3) {\n nameType = \"abbreviated\";\n } else if (formatLength === 4) {\n nameType = \"wide\";\n } else if (formatLength === 5) {\n nameType = \"narrow\";\n } else if (formatLength === 6) {\n nameType = \"short\";\n }\n\n return nameType;\n}","import dateFormatNames from '../cldr/date-format-names';\nimport dateNameType from './date-name-type';\n\nexport default function formatNames(locale, type, formatLength, standAlone, lower) {\n return dateFormatNames(locale, {\n type: type,\n nameType: dateNameType(formatLength),\n standAlone: standAlone,\n lower: lower\n });\n}","function isFunction(fun) {\n return typeof(fun) === 'function';\n}\n\nexport default function isDate(value) {\n return Boolean(value) && isFunction(value.getTime) && isFunction(value.getMonth);\n}\n","var MONTH = 'month';\nvar HOUR = 'hour';\nvar ZONE = 'zone';\nvar WEEKDAY = 'weekday';\nvar QUARTER = 'quarter';\n\nvar DATE_FIELD_MAP = {\n 'G': 'era',\n 'y': 'year',\n 'q': QUARTER,\n 'Q': QUARTER,\n 'M': MONTH,\n 'L': MONTH,\n 'd': 'day',\n 'E': WEEKDAY,\n 'c': WEEKDAY,\n 'e': WEEKDAY,\n 'h': HOUR,\n 'H': HOUR,\n 'k': HOUR,\n 'K': HOUR,\n 'm': 'minute',\n 's': 'second',\n 'S': 'millisecond',\n 'a': 'dayperiod',\n 'x': ZONE,\n 'X': ZONE,\n 'z': ZONE,\n 'Z': ZONE\n};\n\nvar dateFormatRegExp = /d{1,2}|E{1,6}|e{1,6}|c{3,6}|c{1}|M{1,5}|L{1,5}|y{1,4}|H{1,2}|h{1,2}|k{1,2}|K{1,2}|m{1,2}|a{1,5}|s{1,2}|S{1,3}|z{1,4}|Z{1,5}|x{1,5}|X{1,5}|G{1,5}|q{1,5}|Q{1,5}|\"[^\"]*\"|'[^']*'/g;\n\nexport { dateFormatRegExp, DATE_FIELD_MAP };","import { localeInfo, firstDay } from '../cldr';\nimport { DEFAULT_LOCALE, EMPTY } from '../common/constants';\nimport formatString from '../common/format-string';\nimport datePattern from './date-pattern';\nimport formatNames from './format-names';\nimport pad from '../common/pad';\nimport isDate from '../common/is-date';\nimport { dateFormatRegExp } from './constants';\n\nfunction formatDayOfWeekIndex(day, formatLength, localeInfo) {\n var firstDayIndex = firstDay(localeInfo);\n var dayIndex;\n if (day < firstDayIndex) {\n dayIndex = 7 - firstDayIndex + day;\n } else {\n dayIndex = day - firstDayIndex;\n }\n\n return dayIndex + 1;\n}\n\nfunction formatMonth(month, formatLength, info, standAlone) {\n if (formatLength <= 2) {\n return pad(month + 1, formatLength);\n }\n return formatNames(info, \"months\", formatLength, standAlone)[month];\n}\n\nfunction formatQuarter(date, formatLength, info, standAlone) {\n var quarter = Math.floor(date.getMonth() / 3);\n if (formatLength < 3) {\n return quarter + 1;\n }\n\n return formatNames(info, \"quarters\", formatLength, standAlone)[quarter];\n}\n\n\nfunction formatTimeZone(date, info, options) {\n var shortHours = options.shortHours;\n var optionalMinutes = options.optionalMinutes;\n var separator = options.separator;\n var localizedName = options.localizedName;\n var zZeroOffset = options.zZeroOffset;\n var offset = date.getTimezoneOffset() / 60;\n if (offset === 0 && zZeroOffset) {\n return \"Z\";\n }\n var sign = offset <= 0 ? \"+\" : \"-\";\n var hoursMinutes = Math.abs(offset).toString().split(\".\");\n var minutes = hoursMinutes[1] || 0;\n var result = sign + (shortHours ? hoursMinutes[0] : pad(hoursMinutes[0], 2));\n if (minutes || !optionalMinutes) {\n result += (separator ? \":\" : EMPTY) + pad(minutes, 2);\n }\n\n if (localizedName) {\n var localizedFormat = offset === 0 ? info.calendar.gmtZeroFormat : info.calendar.gmtFormat;\n result = formatString(localizedFormat, result);\n }\n\n return result;\n}\n\nfunction formatDayOfWeek(date, formatLength, info, standAlone) {\n var result;\n if (formatLength < 3) {\n result = formatDayOfWeekIndex(date.getDay(), formatLength, info);\n } else {\n result = formatNames(info, \"days\", formatLength, standAlone)[date.getDay()];\n }\n return result;\n}\n\nvar formatters = {};\n\nformatters.d = function(date, formatLength) {\n return pad(date.getDate(), formatLength);\n};\n\nformatters.E = function(date, formatLength, info) {\n return formatNames(info, \"days\", formatLength)[date.getDay()];\n};\n\nformatters.M = function(date, formatLength, info) {\n return formatMonth(date.getMonth(), formatLength, info, false);\n};\n\nformatters.L = function(date, formatLength, info) {\n return formatMonth(date.getMonth(), formatLength, info, true);\n};\n\nformatters.y = function(date, formatLength) {\n var year = date.getFullYear();\n if (formatLength === 2) {\n year = year % 100;\n }\n return pad(year, formatLength);\n};\n\nformatters.h = function(date, formatLength) {\n var hours = date.getHours() % 12 || 12;\n return pad(hours, formatLength);\n};\n\nformatters.H = function(date, formatLength) {\n return pad(date.getHours(), formatLength);\n};\n\nformatters.k = function(date, formatLength) {\n return pad(date.getHours() || 24, formatLength);\n};\n\nformatters.K = function(date, formatLength) {\n return pad(date.getHours() % 12, formatLength);\n};\n\nformatters.m = function(date, formatLength) {\n return pad(date.getMinutes(), formatLength);\n};\n\nformatters.s = function(date, formatLength) {\n return pad(date.getSeconds(), formatLength);\n};\n\nformatters.S = function(date, formatLength) {\n var milliseconds = date.getMilliseconds();\n var result;\n if (milliseconds !== 0) {\n result = pad(String(milliseconds / 1000).split(\".\")[1].substr(0, formatLength), formatLength, true);\n } else {\n result = pad(EMPTY, formatLength);\n }\n return result;\n};\n\nformatters.a = function(date, formatLength, info) {\n return formatNames(info, \"dayPeriods\", formatLength)[date.getHours() < 12 ? \"am\" : \"pm\"];\n};\n\nformatters.z = function(date, formatLength, info) {\n return formatTimeZone(date, info, {\n shortHours: formatLength < 4,\n optionalMinutes: formatLength < 4,\n separator: true,\n localizedName: true\n });\n};\n\nformatters.Z = function(date, formatLength, info) {\n return formatTimeZone(date, info, {\n separator: formatLength > 3,\n localizedName: formatLength === 4,\n zZeroOffset: formatLength === 5\n });\n};\n\nformatters.x = function(date, formatLength, info) {\n return formatTimeZone(date, info, {\n optionalMinutes: formatLength === 1,\n separator: formatLength === 3 || formatLength === 5\n });\n};\n\nformatters.X = function(date, formatLength, info) {\n return formatTimeZone(date, info, {\n optionalMinutes: formatLength === 1,\n separator: formatLength === 3 || formatLength === 5,\n zZeroOffset: true\n });\n};\n\nformatters.G = function(date, formatLength, info) {\n var era = date.getFullYear() >= 0 ? 1 : 0;\n return formatNames(info, \"eras\", formatLength)[era];\n};\n\nformatters.e = formatDayOfWeek;\n\nformatters.c = function(date, formatLength, info) {\n return formatDayOfWeek(date, formatLength, info, true);\n};\n\nformatters.q = function(date, formatLength, info) {\n return formatQuarter(date, formatLength, info, true);\n};\n\nformatters.Q = formatQuarter;\n\nexport default function formatDate(date, format, locale) {\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n\n if (!isDate(date)) {\n if (date === undefined || date === null) {\n return EMPTY;\n }\n return date;\n }\n\n var info = localeInfo(locale);\n var pattern = datePattern(format, info);\n\n return pattern.replace(dateFormatRegExp, function(match) {\n var formatLength = match.length;\n var result;\n\n if (match.includes(\"'\") || match.includes(\"\\\"\")) {\n result = match.slice(1, formatLength - 1);\n } else {\n result = formatters[match[0]](date, formatLength, info);\n }\n\n return result;\n });\n}\n","export function convertTimeZone(date, fromOffset, toOffset) {\n var fromLocalOffset = date.getTimezoneOffset();\n\n var offsetDate = new Date(date.getTime() + (fromOffset - toOffset) * 60000);\n\n var toLocalOffset = offsetDate.getTimezoneOffset();\n\n return new Date(offsetDate.getTime() + (toLocalOffset - fromLocalOffset) * 60000);\n}\n\nexport function adjustDST(date, hours) {\n if (!hours && date.getHours() === 23) {\n date.setHours(date.getHours() + 2);\n }\n}","import { adjustDST, convertTimeZone } from './time-utils';\nimport { localeInfo } from '../cldr';\nimport { DEFAULT_LOCALE, EMPTY } from '../common/constants';\nimport { errors } from '../errors';\nimport formatNames from './format-names';\nimport datePattern from './date-pattern';\nimport round from '../common/round';\nimport isDate from '../common/is-date';\n\nvar timeZoneOffsetRegExp = /([+|-]\\d{1,2})(:?)(\\d{2})?/;\nvar dateRegExp = /^\\/Date\\((.*?)\\)\\/$/;\nvar offsetRegExp = /[+-]\\d*/;\nvar numberRegExp = {\n 2: /^\\d{1,2}/,\n 3: /^\\d{1,3}/,\n 4: /^\\d{4}/\n};\nvar numberRegex = /\\d+/;\nvar PLACEHOLDER = \"{0}\";\n\nvar leadingSpacesRegex = /^ */;\nvar trailingSpacesRegex = / *$/;\n\nvar standardDateFormats = [\n \"yyyy/MM/dd HH:mm:ss\",\n \"yyyy/MM/dd HH:mm\",\n \"yyyy/MM/dd\",\n \"E MMM dd yyyy HH:mm:ss\",\n \"yyyy-MM-ddTHH:mm:ss.SSSSSSSXXX\",\n \"yyyy-MM-ddTHH:mm:ss.SSSXXX\",\n \"yyyy-MM-ddTHH:mm:ss.SSXXX\",\n \"yyyy-MM-ddTHH:mm:ssXXX\",\n \"yyyy-MM-ddTHH:mm:ss.SSSSSSS\",\n \"yyyy-MM-ddTHH:mm:ss.SSS\",\n \"yyyy-MM-ddTHH:mmXXX\",\n \"yyyy-MM-ddTHH:mmX\",\n \"yyyy-MM-ddTHH:mm:ss\",\n \"yyyy-MM-ddTHH:mm\",\n \"yyyy-MM-dd HH:mm:ss\",\n \"yyyy-MM-dd HH:mm\",\n \"yyyy-MM-dd\",\n \"HH:mm:ss\",\n \"HH:mm\"\n];\nvar FORMATS_SEQUENCE = [ \"G\", \"g\", \"F\", \"Y\", \"y\", \"M\", \"m\", \"D\", \"d\", \"y\", \"T\", \"t\" ];\nvar TWO_DIGIT_YEAR_MAX = 2029;\n\nfunction outOfRange(value, start, end) {\n return !(value >= start && value <= end);\n}\n\nfunction lookAhead(match, state) {\n var format = state.format;\n var idx = state.idx;\n var i = 0;\n while (format[idx] === match) {\n i++;\n idx++;\n }\n if (i > 0) {\n idx -= 1;\n }\n state.idx = idx;\n return i;\n}\n\nfunction getNumber(size, state) {\n var regex = size ? (numberRegExp[size] || new RegExp('^\\\\d{1,' + size + '}')) : numberRegex,\n match = state.value.substr(state.valueIdx, size).match(regex);\n\n if (match) {\n match = match[0];\n state.valueIdx += match.length;\n return parseInt(match, 10);\n }\n return null;\n}\n\nfunction getIndexByName(names, state, lower) {\n var i = 0,\n length = names.length,\n name, nameLength,\n matchLength = 0,\n matchIdx = 0,\n subValue;\n\n for (; i < length; i++) {\n name = names[i];\n nameLength = name.length;\n subValue = state.value.substr(state.valueIdx, nameLength);\n\n if (lower) {\n subValue = subValue.toLowerCase();\n }\n\n if (subValue === name && nameLength > matchLength) {\n matchLength = nameLength;\n matchIdx = i;\n }\n }\n\n if (matchLength) {\n state.valueIdx += matchLength;\n return matchIdx + 1;\n }\n\n return null;\n}\n\nfunction checkLiteral(state) {\n var result = false;\n if (state.value.charAt(state.valueIdx) === state.format[state.idx]) {\n state.valueIdx++;\n result = true;\n }\n return result;\n}\n\nfunction calendarGmtFormats(calendar) {\n var gmtFormat = calendar.gmtFormat;\n var gmtZeroFormat = calendar.gmtZeroFormat;\n if (!gmtFormat) {\n throw errors.NoGMTInfo.error();\n }\n\n return [ gmtFormat.replace(PLACEHOLDER, EMPTY).toLowerCase(), gmtZeroFormat.replace(PLACEHOLDER, EMPTY).toLowerCase() ];\n}\n\nfunction parseTimeZoneOffset(state, info, options) {\n var shortHours = options.shortHours;\n var noSeparator = options.noSeparator;\n var optionalMinutes = options.optionalMinutes;\n var localizedName = options.localizedName;\n var zLiteral = options.zLiteral;\n state.UTC = true;\n\n if (zLiteral && state.value.charAt(state.valueIdx) === \"Z\") {\n state.valueIdx++;\n return false;\n }\n\n if (localizedName && !getIndexByName(calendarGmtFormats(info.calendar), state, true)) {\n return true;\n }\n\n var matches = timeZoneOffsetRegExp.exec(state.value.substr(state.valueIdx, 6));\n if (!matches) {\n return !localizedName;\n }\n\n var hoursMatch = matches[1];\n var minutesMatch = matches[3];\n var hoursOffset = parseInt(hoursMatch, 10);\n var separator = matches[2];\n var minutesOffset = parseInt(minutesMatch, 10);\n\n if (isNaN(hoursOffset) || (!shortHours && hoursMatch.length !== 3) || (!optionalMinutes && isNaN(minutesOffset)) || (noSeparator && separator)) {\n return true;\n }\n\n if (isNaN(minutesOffset)) {\n minutesOffset = null;\n }\n\n if (outOfRange(hoursOffset, -12, 13) || (minutesOffset && outOfRange(minutesOffset, 0, 59))) {\n return true;\n }\n\n state.valueIdx += matches[0].length;\n state.hoursOffset = hoursOffset;\n state.minutesOffset = minutesOffset;\n}\n\nfunction parseMonth(ch, state, info) {\n var count = lookAhead(ch, state);\n var names = formatNames(info, \"months\", count, ch === \"L\", true);\n\n var month = count < 3 ? getNumber(2, state) : getIndexByName(names, state, true);\n\n if (month === null || outOfRange(month, 1, 12)) {\n return true;\n }\n state.month = month - 1;\n}\n\nfunction parseDayOfWeek(ch, state, info) {\n var count = lookAhead(ch, state);\n var names = formatNames(info, \"days\", count, ch === \"c\", true);\n var dayOfWeek = count < 3 ? getNumber(1, state) : getIndexByName(names, state, true);\n if ((!dayOfWeek && dayOfWeek !== 0) || outOfRange(dayOfWeek, 1, 7)) {\n return true;\n }\n}\n\nvar parsers = {};\n\nparsers.d = function(state) {\n lookAhead(\"d\", state);\n var day = getNumber(2, state);\n\n if (day === null || outOfRange(day, 1, 31)) {\n return true;\n }\n\n if (state.day === null) {\n state.day = day;\n }\n};\n\nparsers.E = function(state, info) {\n var count = lookAhead(\"E\", state);\n //validate if it matches the day?\n var dayOfWeek = getIndexByName(formatNames(info, \"days\", count, false, true), state, true);\n if (dayOfWeek === null) {\n return true;\n }\n};\n\nparsers.M = function(state, info) {\n return parseMonth(\"M\", state, info);\n};\n\nparsers.L = function(state, info) {\n return parseMonth(\"L\", state, info);\n};\n\nparsers.y = function(state) {\n var count = lookAhead(\"y\", state);\n var year = getNumber(count === 1 ? undefined : count, state);\n\n if (year === null) {\n return true;\n }\n\n if (count === 2) {\n var currentYear = new Date().getFullYear();\n year = (currentYear - currentYear % 100) + year;\n if (year > TWO_DIGIT_YEAR_MAX) {\n year -= 100;\n }\n }\n\n state.year = year;\n};\n\nparsers.h = function(state) {\n lookAhead(\"h\", state);\n\n var hours = getNumber(2, state);\n if (hours === 12) {\n hours = 0;\n }\n\n if (hours === null || outOfRange(hours, 0, 11)) {\n return true;\n }\n\n state.hours = hours;\n};\n\nparsers.K = function(state) {\n lookAhead(\"K\", state);\n\n var hours = getNumber(2, state);\n\n if (hours === null || outOfRange(hours, 0, 11)) {\n return true;\n }\n\n state.hours = hours;\n};\n\nparsers.a = function(state, info) {\n var count = lookAhead(\"a\", state);\n var periodFormats = formatNames(info, \"dayPeriods\", count, false, true);\n\n var pmHour = getIndexByName([ periodFormats.pm ], state, true);\n if (!pmHour && !getIndexByName([ periodFormats.am ], state, true)) {\n return true;\n }\n\n state.pmHour = pmHour;\n};\n\nparsers.H = function(state) {\n lookAhead(\"H\", state);\n var hours = getNumber(2, state);\n if (hours === null || outOfRange(hours, 0, 23)) {\n return true;\n }\n state.hours = hours;\n};\n\nparsers.k = function(state) {\n lookAhead(\"k\", state);\n\n var hours = getNumber(2, state);\n\n if (hours === null || outOfRange(hours, 1, 24)) {\n return true;\n }\n\n state.hours = hours === 24 ? 0 : hours;\n};\n\nparsers.m = function(state) {\n lookAhead(\"m\", state);\n var minutes = getNumber(2, state);\n\n if (minutes === null || outOfRange(minutes, 0, 59)) {\n return true;\n }\n\n state.minutes = minutes;\n};\n\nparsers.s = function(state) {\n lookAhead(\"s\", state);\n var seconds = getNumber(2, state);\n if (seconds === null || outOfRange(seconds, 0, 59)) {\n return true;\n }\n state.seconds = seconds;\n};\n\nparsers.S = function(state) {\n var count = lookAhead(\"S\", state);\n var match = state.value.substr(state.valueIdx, count);\n var milliseconds = null;\n\n if (!isNaN(parseInt(match, 10))) {\n milliseconds = parseFloat(\"0.\" + match, 10);\n milliseconds = round(milliseconds, 3);\n milliseconds *= 1000;\n state.valueIdx += count;\n }\n\n if (milliseconds === null || outOfRange(milliseconds, 0, 999)) {\n return true;\n }\n\n state.milliseconds = milliseconds;\n};\n\nparsers.z = function(state, info) {\n var count = lookAhead(\"z\", state);\n\n var shortFormat = count < 4;\n\n var invalid = parseTimeZoneOffset(state, info, {\n shortHours: shortFormat,\n optionalMinutes: shortFormat,\n localizedName: true\n });\n\n if (invalid) {\n return invalid;\n }\n};\n\nparsers.Z = function(state, info) {\n var count = lookAhead(\"Z\", state);\n\n var invalid = parseTimeZoneOffset(state, info, {\n noSeparator: count < 4,\n zLiteral: count === 5,\n localizedName: count === 4\n });\n\n if (invalid) {\n return invalid;\n }\n};\n\nparsers.x = function(state, info) {\n var count = lookAhead(\"x\", state);\n\n var invalid = parseTimeZoneOffset(state, info, {\n noSeparator: count !== 3 && count !== 5,\n optionalMinutes: count === 1\n });\n if (invalid) {\n return invalid;\n }\n};\n\nparsers.X = function(state, info) {\n var count = lookAhead(\"X\", state);\n\n var invalid = parseTimeZoneOffset(state, info, {\n noSeparator: count !== 3 && count !== 5,\n optionalMinutes: count === 1,\n zLiteral: true\n });\n if (invalid) {\n return invalid;\n }\n};\n\nparsers.G = function(state, info) {\n var count = lookAhead(\"G\", state);\n var eras = formatNames(info, \"eras\", count, false, true);\n var era = getIndexByName([ eras[0], eras[1] ], state, true);\n\n if (era === null) {\n return true;\n }\n};\n\nparsers.e = function(state, info) {\n return parseDayOfWeek(\"e\", state, info);\n};\n\nparsers.c = function(state, info) {\n return parseDayOfWeek(\"c\", state, info);\n};\n\nfunction createDate(state) {\n var year = state.year;\n var month = state.month;\n var day = state.day;\n var hours = state.hours;\n var minutes = state.minutes;\n var seconds = state.seconds;\n var milliseconds = state.milliseconds;\n var pmHour = state.pmHour;\n var UTC = state.UTC;\n var hoursOffset = state.hoursOffset;\n var minutesOffset = state.minutesOffset;\n var hasTime = hours !== null || minutes !== null || seconds || null;\n var date = new Date();\n var result;\n\n if (year === null && month === null && day === null && hasTime) {\n year = date.getFullYear();\n month = date.getMonth();\n day = date.getDate();\n } else {\n if (year === null) {\n year = date.getFullYear();\n }\n\n if (day === null) {\n day = 1;\n }\n }\n\n if (pmHour && hours < 12) {\n hours += 12;\n }\n\n if (UTC) {\n if (hoursOffset) {\n hours += -hoursOffset;\n }\n\n if (minutesOffset) {\n minutes += -minutesOffset * (hoursOffset < 0 ? -1 : 1);\n }\n\n result = new Date(Date.UTC(year, month, day, hours, minutes, seconds, milliseconds));\n } else {\n result = new Date(year, month, day, hours, minutes, seconds, milliseconds);\n adjustDST(result, hours);\n }\n\n if (year < 100) {\n result.setFullYear(year);\n }\n\n if (result.getDate() !== day && UTC === undefined) {\n return null;\n }\n\n return result;\n}\n\nfunction addFormatSpaces(value, format) {\n var leadingSpaces = leadingSpacesRegex.exec(format)[0];\n var trailingSpaces = trailingSpacesRegex.exec(format)[0];\n\n return (\"\" + leadingSpaces + value + trailingSpaces);\n}\n\nfunction parseExact(value, format, info) {\n var pattern = datePattern(format, info).split(EMPTY);\n\n var state = {\n format: pattern,\n idx: 0,\n value: addFormatSpaces(value, format),\n valueIdx: 0,\n year: null,\n month: null,\n day: null,\n hours: null,\n minutes: null,\n seconds: null,\n milliseconds: null\n };\n var length = pattern.length;\n var literal = false;\n\n for (; state.idx < length; state.idx++) {\n var ch = pattern[state.idx];\n\n if (literal) {\n if (ch === \"'\") {\n literal = false;\n }\n\n checkLiteral(state);\n } else {\n if (parsers[ch]) {\n var invalid = parsers[ch](state, info);\n if (invalid) {\n return null;\n }\n } else if (ch === \"'\") {\n literal = true;\n checkLiteral(state);\n } else if (!checkLiteral(state)) {\n return null;\n }\n }\n }\n\n if (state.valueIdx < value.length) {\n return null;\n }\n\n return createDate(state) || null;\n}\n\nfunction parseMicrosoftDateOffset(offset) {\n var sign = offset.substr(0, 1) === \"-\" ? -1 : 1;\n\n var result = offset.substring(1);\n result = (parseInt(result.substr(0, 2), 10) * 60) + parseInt(result.substring(2), 10);\n\n return sign * result;\n}\n\nfunction parseMicrosoftDateFormat(value) {\n if (value && value.indexOf(\"/D\") === 0) {\n var date = dateRegExp.exec(value);\n if (date) {\n date = date[1];\n var tzoffset = offsetRegExp.exec(date.substring(1));\n\n date = new Date(parseInt(date, 10));\n\n if (tzoffset) {\n tzoffset = parseMicrosoftDateOffset(tzoffset[0]);\n date = convertTimeZone(date, date.getTimezoneOffset(), 0);\n date = convertTimeZone(date, 0, -1 * tzoffset);\n }\n\n return date;\n }\n }\n}\n\nfunction defaultFormats(calendar) {\n var formats = [];\n var patterns = calendar.patterns;\n var length = FORMATS_SEQUENCE.length;\n\n for (var idx = 0; idx < length; idx++) {\n formats.push(patterns[FORMATS_SEQUENCE[idx]]);\n }\n\n return formats.concat(standardDateFormats);\n}\n\nexport default function parseDate(value, formats, locale) {\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n\n if (!value) {\n return null;\n }\n\n if (isDate(value)) {\n return value;\n }\n\n var parseValue = String(value).trim();\n var date = parseMicrosoftDateFormat(parseValue);\n if (date) {\n return date;\n }\n\n var info = localeInfo(locale);\n var parseFormats = formats || defaultFormats(info.calendar);\n parseFormats = Array.isArray(parseFormats) ? parseFormats : [ parseFormats ];\n\n var length = parseFormats.length;\n\n for (var idx = 0; idx < length; idx++) {\n date = parseExact(parseValue, parseFormats[idx], info);\n if (date) {\n return date;\n }\n }\n\n return date;\n}\n","import { DEFAULT_LOCALE } from '../common/constants';\nimport isNumber from '../common/is-number';\nimport datePattern from './date-pattern';\nimport dateNameType from './date-name-type';\nimport { dateFormatRegExp, DATE_FIELD_MAP } from './constants';\nimport { localeInfo } from '../cldr';\n\nvar NAME_TYPES = {\n month: {\n type: 'months',\n minLength: 3,\n standAlone: 'L'\n },\n\n quarter: {\n type: 'quarters',\n minLength: 3,\n standAlone: 'q'\n },\n\n weekday: {\n type: 'days',\n minLength: {\n E: 0,\n c: 3,\n e: 3\n },\n standAlone: 'c'\n },\n\n dayperiod: {\n type: 'dayPeriods',\n minLength: 0\n },\n\n era: {\n type: 'eras',\n minLength: 0\n }\n};\n\nvar LITERAL = 'literal';\n\nfunction addLiteral(parts, value) {\n var lastPart = parts[parts.length - 1];\n if (lastPart && lastPart.type === LITERAL) {\n lastPart.pattern += value;\n } else {\n parts.push({\n type: LITERAL,\n pattern: value\n });\n }\n}\n\nfunction isHour12(pattern) {\n return pattern === 'h' || pattern === 'K';\n}\n\nexport default function splitDateFormat(format, locale) {\n if ( locale === void 0 ) locale = DEFAULT_LOCALE;\n\n var info = localeInfo(locale);\n var pattern = datePattern(format, info);\n var parts = [];\n var lastIndex = dateFormatRegExp.lastIndex = 0;\n var match = dateFormatRegExp.exec(pattern);\n\n while (match) {\n var value = match[0];\n\n if (lastIndex < match.index) {\n addLiteral(parts, pattern.substring(lastIndex, match.index));\n }\n\n if (value.startsWith('\"') || value.startsWith(\"'\")) {\n addLiteral(parts, value);\n } else {\n var specifier = value[0];\n var type = DATE_FIELD_MAP[specifier];\n var part = {\n type: type,\n pattern: value\n };\n\n if (type === 'hour') {\n part.hour12 = isHour12(value);\n }\n\n var names = NAME_TYPES[type];\n\n if (names) {\n var minLength = isNumber(names.minLength) ? names.minLength : names.minLength[specifier];\n var patternLength = value.length;\n\n if (patternLength >= minLength) {\n part.names = {\n type: names.type,\n nameType: dateNameType(patternLength),\n standAlone: names.standAlone === specifier\n };\n }\n }\n\n parts.push(part);\n }\n\n lastIndex = dateFormatRegExp.lastIndex;\n match = dateFormatRegExp.exec(pattern);\n }\n\n if (lastIndex < pattern.length) {\n addLiteral(parts, pattern.substring(lastIndex));\n }\n\n return parts;\n}\n","import { formatDate } from './dates';\nimport { formatNumber } from './numbers';\nimport { EMPTY } from './common/constants';\nimport isDate from './common/is-date';\nimport isNumber from './common/is-number';\n\nvar formatRegExp = /\\{(\\d+)(:[^}]+)?\\}/g;\n\nexport function toString(value, format, locale) {\n if (format) {\n if (isDate(value)) {\n return formatDate(value, format, locale);\n } else if (isNumber(value)) {\n return formatNumber(value, format, locale);\n }\n }\n\n return value !== undefined && value !== null ? value : EMPTY;\n}\n\nexport function format(format, values, locale) {\n return format.replace(formatRegExp, function(match, index, placeholderFormat) {\n var value = values[parseInt(index, 10)];\n\n return toString(value, placeholderFormat ? placeholderFormat.substring(1) : EMPTY, locale);\n });\n}\n","import * as coreIntl from '@progress/kendo-intl';\n/**\n * A service which provides internationalization methods\n * and is bound to a specific locale.\n */\nvar IntlService = /** @class */ (function () {\n /**\n * Creates a new instance of the internationalization service.\n *\n * @param locale - The locale that will be used by the internationalization methods.\n */\n function IntlService(locale) {\n this.locale = locale;\n if (locale === '' && process.env.NODE_ENV !== 'production') {\n throw 'Locale should not be empty string';\n }\n }\n /**\n * Formats a string with placeholders such as\n * `Total amount {0:c}`.\n *\n * @param format - The format string.\n * @param values - One or more values to output in the format string placeholders.\n * @return - The formatted string.\n */\n IntlService.prototype.format = function (format) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n /* The following code retains backward compatibility with the old API */\n if (values.length === 1 && Array.isArray(values[0])) {\n return coreIntl.format(format, values[0], this.locale);\n }\n return coreIntl.format(format, values, this.locale);\n };\n /**\n * Converts a `Date` object to a string based on the specified format.\n * If no format is provided, the default short date format is used.\n *\n * @param value - The date which will be formatted.\n * @param format - The format string or options.\n * @return - The formatted date.\n */\n IntlService.prototype.formatDate = function (value, format) {\n return coreIntl.formatDate(value, format, this.locale);\n };\n /**\n * Converts an object to a string based on the specified format.\n *\n * @param value - The value which will be formatted.\n * @param format - The format to use.\n * @return - The formatted object.\n */\n IntlService.prototype.toString = function (value, format) {\n return coreIntl.toString(value, format, this.locale);\n };\n /**\n * Converts a string to a `Number`.\n *\n * @param value - The string which will be parsed.\n * @param format - The format string or options.\n * @return - The parsed number.\n */\n IntlService.prototype.parseNumber = function (value, format) {\n return coreIntl.parseNumber(value, this.locale, format);\n };\n /**\n * Converts a string to a `Date` object based on the specified format.\n *\n * @param value - The string which will be converted.\n * @param format - The format strings or options.\n * @return - The parsed date.\n */\n IntlService.prototype.parseDate = function (value, format) {\n return coreIntl.parseDate(value, format, this.locale);\n };\n /**\n * Converts a `Number` to a string based on the specified format.\n *\n * @param value - The number which will be formatted.\n * @param format - The format string or options.\n * @return - The formatted number.\n */\n IntlService.prototype.formatNumber = function (value, format) {\n return coreIntl.formatNumber(value, format, this.locale);\n };\n /**\n * Returns a localized date field name based on specific `dateFieldName` options.\n *\n * @param options - The detailed configuration for the desired date field name.\n * @returns - The localized date field name from the current locale based on the option.\n */\n IntlService.prototype.dateFieldName = function (options) {\n return coreIntl.dateFieldName(options, this.locale);\n };\n /**\n * Returns the day names from the current locale based on the option.\n *\n * @param options - The detailed configuration for the desired date format.\n * @return - The day names from the current locale based on the option.\n */\n IntlService.prototype.dateFormatNames = function (options) {\n return coreIntl.dateFormatNames(this.locale, options);\n };\n /**\n * Splits the date format into objects which contain\n * information about each part of the pattern.\n *\n * @param format - The format string or options.\n * @returns - The date format parts.\n */\n IntlService.prototype.splitDateFormat = function (format) {\n return coreIntl.splitDateFormat(format, this.locale);\n };\n /**\n * Returns the number symbols from the current locale.\n *\n * @return - The number symbols from the current locale.\n */\n IntlService.prototype.numberSymbols = function () {\n return coreIntl.numberSymbols(this.locale);\n };\n /**\n * Returns the first day index, starting from Sunday.\n *\n * @return - The index of the first day of the week (0 == Sunday).\n */\n IntlService.prototype.firstDay = function () {\n return coreIntl.firstDay(this.locale);\n };\n return IntlService;\n}());\nexport { IntlService };\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-intl',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052193,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as aVue from 'vue';\nvar allVue = aVue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar provide = allVue.provide;\nimport { IntlService } from './IntlService';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar IntlProviderVue2 = {\n props: {\n locale: String\n },\n data: function data() {\n return this.getChildContext();\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function (props) {\n var v3 = !!isV3;\n var intlService = ref(new IntlService(props.locale));\n provide('kendoIntlService', intlService);\n return {\n v3: v3\n };\n },\n watch: {\n locale: function locale(newLocale) {\n this.$data.kendoIntlService.locale = newLocale;\n }\n },\n provide: function provide() {\n return {\n kendoIntlService: this.$data.kendoIntlService\n };\n },\n methods: {\n /**\n * Returns an internationalization service.\n * The method is suitable for overriding when you\n * implement custom internationalization behavior.\n */\n getIntlService: function getIntlService() {\n return new IntlService(this.$props.locale);\n },\n /**\n * @hidden\n */\n getChildContext: function getChildContext() {\n return {\n kendoIntlService: this.getIntlService()\n };\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n /**\n * @hidden\n */\n // @ts-ignore\n render: function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", [defaultSlot]);\n }\n};\n/**\n *\n * A Vue component which provides an internationalization service. Expects a locale string as a property of the component.\n *\n *\n * ### props\n * The props of the IntlProvider component.\n *\n *\n *\n * ## Methods\n *\n * ### getIntlService\n * Returns an internationalization service. The method is suitable for overriding when you implement custom internationalization behavior.\n *\n * #### Returns\n * [IntlService]({% slug api_intl_intlservice %})\n */\nvar IntlProvider = IntlProviderVue2;\nexport { IntlProvider, IntlProviderVue2 };","import { IntlProvider, IntlProviderVue2 } from './IntlProvider';\nimport { IntlService } from './IntlService';\nexport { IntlProvider, IntlProviderVue2, IntlService };\n// Automatic installation if Vue has been added to the global scope.\nvar vue = 'Vue';\nif (typeof window !== 'undefined' && window[vue] && window[vue].component) {\n window[vue].component('kendo-intl-provider', IntlProvider);\n}\n","/**\n * @hidden\n */\nexport var messages = Object.create({});\n","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { messages as msg } from './messages';\nvar traverse = function (iterable, langInfo, acc) {\n for (var key in iterable) {\n if (iterable.hasOwnProperty(key)) {\n var accumulator = __spreadArray([], acc, true);\n accumulator.push(key);\n if (typeof iterable[key] !== 'string') {\n traverse(iterable[key], langInfo, accumulator);\n }\n else {\n var value = iterable[key];\n Object.defineProperty(langInfo, accumulator.join('.'), { value: value });\n }\n }\n }\n};\n/**\n * Provides mechanism to load language-specific messages for the KendoVue components.\n *\n * @param messages - An iterable object which contains key-value pairs.\n * @param languages - The language to which the messages are associated.\n */\nexport function loadMessages(messages, language) {\n var langInfo = msg[language] = msg[language] || {};\n traverse(messages, langInfo, []);\n}\n","import { messages } from './messages';\n/**\n * A service which provides localization methods.\n */\nvar LocalizationService = /** @class */ (function () {\n function LocalizationService(language) {\n this.language = language;\n if (language === '' && process.env.NODE_ENV !== 'production') {\n throw 'Language should not be an empty string';\n }\n }\n /**\n * Provides a string based on a key for the current language.\n * When no string for the current language is available under this key,\n * the `defaultValue` is returned.\n *\n * @param key - The key which identifies the string for the current language.\n * @param defaultValue - The default value which will be returned when no string\n * for the current language is available under the key.\n * @return - The string for the current language.\n */\n LocalizationService.prototype.toLanguageString = function (key, defaultValue) {\n if (this.language &&\n messages[this.language] &&\n messages[this.language].hasOwnProperty(key)) {\n return messages[this.language][key];\n }\n else if (Object.keys(this)[0] &&\n messages[Object.values(this)[0]] &&\n messages[Object.values(this)[0]].hasOwnProperty(key)) {\n return messages[Object.values(this)[0]][key];\n }\n else {\n return defaultValue;\n }\n };\n return LocalizationService;\n}());\nexport { LocalizationService };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar provide = allVue.provide;\nimport { LocalizationService } from './LocalizationService';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar LocalizationProviderVue2 = {\n props: {\n language: String\n },\n data: function data() {\n return this.getChildContext();\n },\n watch: {\n language: function language(newLanguage) {\n this.$data.kendoLocalizationService.language = newLanguage;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function (props) {\n var v3 = !!isV3;\n var localizationService = ref(new LocalizationService(props.language));\n provide('kendoLocalizationService', localizationService);\n return {\n v3: v3\n };\n },\n provide: function provide() {\n return {\n kendoLocalizationService: this.$data.kendoLocalizationService\n };\n },\n methods: {\n /**\n * Returns a localization service.\n * The method is suitable for overriding when you\n * implement custom localization behavior.\n */\n getLocalizationService: function getLocalizationService() {\n return new LocalizationService(this.$props.language);\n },\n /**\n * @hidden\n */\n getChildContext: function getChildContext() {\n return {\n kendoLocalizationService: this.getLocalizationService()\n };\n }\n },\n /**\n * @hidden\n */\n // @ts-ignore\n render: function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", [defaultSlot]);\n }\n};\n/**\n *\n *\n * A Vue component which provides a localization service. Expects a language string as a property of the component.\n *\n *\n * ### props\n * The props of the LocalizationProvider component.\n *\n *\n *\n * ## Methods\n *\n * ### getLocalizationService\n * Returns a localization service. The method is suitable for overriding when you implement custom localization behavior.\n *\n * #### Returns\n * [LocalizationService]({% slug api_intl_localizationservice %})\n */\nvar LocalizationProvider = LocalizationProviderVue2;\nexport { LocalizationProvider, LocalizationProviderVue2 };","import { loadMessages } from './loadMessages';\nimport { LocalizationProvider, LocalizationProviderVue2 } from './LocalizationProvider';\nimport { LocalizationService } from './LocalizationService';\nexport { loadMessages, LocalizationProvider, LocalizationProviderVue2, LocalizationService };\n// Automatic installation if Vue has been added to the global scope.\nvar vue = 'Vue';\nif (typeof window !== 'undefined' && window[vue] && window[vue].component) {\n window[vue].component('kendo-localization-provider', LocalizationProvider);\n}\n","import { IntlService } from './Intl/IntlService';\nimport { LocalizationService } from './Localization/LocalizationService';\n/**\n * Provides an internationalization service.\n * When the passed component is a direct or indirect child of\n * `IntlProvider`, the returned service uses the locale of the provider.\n * Otherwise, uses `en` as a default locale.\n * To handle locale changes, call the method on each `render`.\n *\n * @param componentClass - The Vue component class that will use the internationalization service.\n */\nexport function provideIntlService(component) {\n if (!component && process.env.NODE_ENV !== 'production') {\n throw \"Passed component - \".concat(component, \" is invalid.\");\n }\n var intlServiceFromContext = component.kendoIntlService;\n return (intlServiceFromContext &&\n Object.keys(intlServiceFromContext).some(function (item) { return item === 'locale'; }))\n ? intlServiceFromContext : new IntlService('en');\n}\n/**\n * Provides a localization service.\n * When the passed component is a direct or indirect child of\n * `LocalizationProvider`, the returned service uses the language of the provider.\n * To handle locale changes, call the method on each `render`.\n *\n * @param componentClass - The Vue component class that will use the internationalization service.\n */\nexport function provideLocalizationService(component) {\n if (!component && process.env.NODE_ENV !== 'production') {\n throw \"Passed component - \".concat(component, \" is invalid.\");\n }\n var localizationServiceFromContext = component.kendoLocalizationService;\n return (localizationServiceFromContext &&\n Object.keys(localizationServiceFromContext).some(function (item) { return item === 'language'; }))\n ? localizationServiceFromContext : new LocalizationService();\n}\n","var _a;\n/**\n * @hidden\n */\nexport var labelsOptional = 'labels.optional';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[labelsOptional] = '(Optional)',\n _a);\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-labels',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052315,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar inject = allVue.inject;\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { labelsOptional, messages } from './messages/main';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { packageMetadata } from './package-metadata';\n/**\n * @hidden\n */\nvar LabelVue2 = {\n name: 'KendoLabel',\n props: {\n id: String,\n editorId: String,\n editorRef: String,\n editorValid: {\n type: Boolean,\n default: undefined\n },\n editorDisabled: Boolean,\n optional: Boolean\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n labelClassName: function labelClassName() {\n return {\n 'k-label': true,\n 'k-label-empty': !this.defaultSlots,\n 'k-text-error': this.$props.editorValid === false,\n 'k-text-disabled': this.$props.editorDisabled === true\n };\n }\n },\n methods: {\n onLabelClick: function onLabelClick(e) {\n if (this.$props.editorRef && this.$props.editorRef.current && !this.$props.editorDisabled) {\n if (this.$props.editorRef.current.focus) {\n e.preventDefault();\n this.$props.editorRef.current.focus();\n }\n var editorActionElement = this.$props.editorRef.current.actionElement;\n if (editorActionElement) {\n e.preventDefault();\n editorActionElement.click();\n }\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n this.defaultSlots = getDefaultSlots(this);\n var ls = provideLocalizationService(this);\n var _a = this.$props,\n id = _a.id,\n editorId = _a.editorId,\n optional = _a.optional;\n var localizedOptional = optional ? ls.toLanguageString(labelsOptional, messages[labelsOptional]) : '';\n var optionalElement = localizedOptional && h(\"span\", {\n \"class\": 'k-label-optional'\n }, [localizedOptional]);\n return h(\"label\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n \"for\": editorId\n },\n \"for\": editorId,\n onClick: this.onLabelClick,\n on: this.v3 ? undefined : {\n \"click\": this.onLabelClick\n },\n \"class\": this.labelClassName\n }, [this.defaultSlots, optionalElement]);\n }\n};\n/**\n * @hidden\n */\nvar Label = LabelVue2;\nexport { Label, LabelVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { packageMetadata } from './package-metadata';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ErrorVue2 = {\n name: 'KendoError',\n props: {\n id: String,\n direction: {\n type: String,\n default: 'start',\n validator: function validator(value) {\n return ['start', 'end'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n errorClassName: function errorClassName() {\n return {\n 'k-form-error': true,\n 'k-text-start': this.$props.direction === 'start',\n 'k-text-end': this.$props.direction === 'end'\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n role: 'alert'\n },\n role: 'alert',\n \"class\": this.errorClassName\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar Error = ErrorVue2;\nexport { Error, ErrorVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { packageMetadata } from './package-metadata';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar HintVue2 = {\n name: 'KendoHint',\n props: {\n id: String,\n direction: {\n type: String,\n default: 'start',\n validator: function validator(value) {\n return ['start', 'end'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n hintClassName: function hintClassName() {\n return {\n 'k-form-hint': true,\n 'k-text-start': this.$props.direction === 'start',\n 'k-text-end': this.$props.direction === 'end'\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id\n },\n \"class\": this.hintClassName\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar Hint = HintVue2;\nexport { Hint, HintVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar inject = allVue.inject;\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { labelsOptional, messages } from './messages/main';\nimport { packageMetadata } from './package-metadata';\n/**\n * @hidden\n */\nvar FloatingLabelVue2 = {\n name: 'KendoFloatingLabel',\n props: {\n label: String,\n editorId: String,\n editorValue: [String, Boolean, Number],\n editorPlaceholder: String,\n editorValid: {\n type: Boolean,\n default: undefined\n },\n editorDisabled: Boolean,\n id: String,\n optional: Boolean,\n focused: {\n type: Boolean,\n default: undefined\n }\n },\n data: function data() {\n return {\n currentFocused: false\n };\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n computedFocused: function computedFocused() {\n return this.$props.focused !== undefined ? this.$props.focused : this.currentFocused;\n },\n spanClassNames: function spanClassNames() {\n return {\n 'k-floating-label-container': true,\n 'k-focus': this.computedFocused,\n 'k-empty': !this.$props.editorPlaceholder && !this.$props.editorValue && this.$props.editorValue !== 0,\n 'k-text-disabled': this.$props.editorDisabled,\n 'k-rtl': this.$props.dir === 'rtl'\n };\n },\n labelClassNames: function labelClassNames() {\n return {\n 'k-label': true,\n 'k-text-error': this.$props.editorValid === false,\n 'k-text-disabled': this.$props.editorDisabled\n };\n }\n },\n methods: {\n handleFocus: function handleFocus() {\n this.currentFocused = true;\n },\n handleBlur: function handleBlur() {\n this.currentFocused = false;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var _a = this.$props,\n label = _a.label,\n editorId = _a.editorId,\n id = _a.id,\n optional = _a.optional;\n var ls = provideLocalizationService(this);\n var localizedOptional = optional ? ls.toLanguageString(labelsOptional, messages[labelsOptional]) : '';\n var optionalElement = localizedOptional && h(\"span\", {\n \"class\": 'k-label-optional'\n }, [localizedOptional]);\n return h(\"span\", {\n \"class\": this.spanClassNames,\n onFocusin: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocus,\n \"focusout\": this.handleBlur\n },\n onFocusout: this.handleBlur,\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n }\n }, [defaultSlots, label ? editorId ? h(\"label\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n \"for\": editorId\n },\n \"for\": editorId,\n \"class\": this.labelClassNames\n }, [label, optionalElement]) : h(\"span\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id\n },\n \"class\": this.labelClassNames\n }, [label, optionalElement]) : null]);\n }\n};\n/**\n * @hidden\n */\nvar FloatingLabel = FloatingLabelVue2;\nexport { FloatingLabel, FloatingLabelVue2 };","/**\n * @hidden\n */\nexport var avatarShape;\n(function (avatarShape) {\n avatarShape[\"CIRCLE\"] = \"circle\";\n avatarShape[\"SQUARE\"] = \"square\";\n avatarShape[\"ROUNDED\"] = \"rounded\";\n avatarShape[\"RECTANGLE\"] = \"rectangle\";\n})(avatarShape || (avatarShape = {}));\nexport var avatarType;\n(function (avatarType) {\n avatarType[\"TEXT\"] = \"text\";\n avatarType[\"IMAGE\"] = \"image\";\n avatarType[\"ICON\"] = \"icon\";\n})(avatarType || (avatarType = {}));\nexport var cardOrientation;\n(function (cardOrientation) {\n cardOrientation[\"HORIZONTAL\"] = \"horizontal\";\n cardOrientation[\"VERTICAL\"] = \"vertical\";\n})(cardOrientation || (cardOrientation = {}));\nexport var cardType;\n(function (cardType) {\n cardType[\"DEFAULT\"] = \"default\";\n cardType[\"primary\"] = \"primary\";\n cardType[\"INFO\"] = \"info\";\n cardType[\"SUCCESS\"] = \"success\";\n cardType[\"WARNING\"] = \"warning\";\n cardType[\"ERROR\"] = \"error\";\n})(cardType || (cardType = {}));\nexport var cardActionsLayout;\n(function (cardActionsLayout) {\n cardActionsLayout[\"START\"] = \"start\";\n cardActionsLayout[\"CENTER\"] = \"center\";\n cardActionsLayout[\"END\"] = \"end\";\n cardActionsLayout[\"STRETCHED\"] = \"stretched\";\n})(cardActionsLayout || (cardActionsLayout = {}));","// @ts-ignore\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nvar TabStripNavigationItemVue2 = {\n name: 'KendoTabStripNavigationItem',\n // @ts-ignore\n emits: {\n select: null\n },\n props: {\n active: Boolean,\n disabled: Boolean,\n index: Number,\n title: {\n type: String,\n default: 'Untitled'\n },\n id: {\n type: String\n },\n titleRender: [String, Function, Object],\n first: {\n type: Boolean,\n default: undefined\n },\n last: {\n type: Boolean,\n default: undefined\n }\n },\n computed: {\n itemClasses: {\n get: function get() {\n var _a;\n var _b = this.$props,\n active = _b.active,\n disabled = _b.disabled,\n first = _b.first,\n last = _b.last;\n return _a = {}, _a['k-first'] = first, _a['k-last'] = last, _a['k-item'] = true, _a['k-disabled'] = disabled, _a['k-active'] = active, _a;\n }\n }\n },\n methods: {\n onClick: function onClick() {\n if (!this.$props.disabled) {\n this.$emit('select', this.$props.index);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n active = _a.active,\n _b = _a.title,\n title = _b === void 0 ? 'Untitled' : _b,\n id = _a.id;\n var titleRender = this.$props.titleRender;\n var titleElement = getTemplate.call(this, {\n h: h,\n template: titleRender,\n defaultRendering: title,\n additionalProps: this.$props,\n additionalListeners: {\n select: this.onClick\n }\n });\n return h(\"li\", {\n \"aria-selected\": active,\n attrs: this.v3 ? undefined : {\n \"aria-selected\": active,\n role: 'tab',\n id: id\n },\n role: 'tab',\n id: id,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick\n },\n \"class\": this.itemClasses\n }, [h(\"span\", {\n \"class\": \"k-link\"\n }, [titleElement])]);\n }\n};\n/**\n * @hidden\n */\nvar TabStripNavigationItem = TabStripNavigationItemVue2;\nexport { TabStripNavigationItem, TabStripNavigationItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { TabStripNavigationItem } from './TabStripNavigationItem';\n/**\n * @hidden\n */\nvar times = function times(count) {\n return Array.apply(null, Array(count));\n};\n/**\n * @hidden\n */\nvar TabStripNavigationVue2 = {\n name: 'KendoTabStripNavigation',\n // @ts-ignore\n emits: {\n select: null,\n keydown: null\n },\n props: {\n tabs: Array,\n selected: Number,\n tabIndex: Number,\n tabPosition: String\n },\n computed: {\n wrapperNavClasses: {\n get: function get() {\n return {\n 'k-tabstrip-items-wrapper': true,\n 'k-hstack': this.$props.tabPosition === 'top' || this.$props.tabPosition === 'bottom',\n 'k-vstack': this.$props.tabPosition === 'left' || this.$props.tabPosition === 'right'\n };\n }\n },\n navClasses: {\n get: function get() {\n return {\n 'k-tabstrip-items': true,\n 'k-reset': true\n };\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n tabs = _a.tabs,\n selected = _a.selected;\n var tabsCount = tabs.length;\n var renderTabs = function renderTabs() {\n return times(tabsCount).map(function (_, index, array) {\n return (\n // @ts-ignore function children\n h(TabStripNavigationItem, {\n key: index,\n active: selected === index,\n attrs: this.v3 ? undefined : {\n active: selected === index,\n disabled: tabs[index].disabled,\n index: index,\n title: tabs[index].title,\n id: tabs[index].id,\n titleRender: tabs[index].titleRender,\n first: index === 0,\n last: index === array.length - 1\n },\n disabled: tabs[index].disabled,\n index: index,\n title: tabs[index].title,\n id: tabs[index].id,\n titleRender: tabs[index].titleRender,\n first: index === 0,\n last: index === array.length - 1,\n onSelect: this.onSelect,\n on: this.v3 ? undefined : {\n \"select\": this.onSelect\n }\n })\n );\n }, this);\n };\n return h(\"div\", {\n \"class\": this.wrapperNavClasses\n }, [h(\"ul\", {\n \"class\": this.navClasses,\n role: 'tablist',\n attrs: this.v3 ? undefined : {\n role: 'tablist',\n tabindex: this.$props.tabIndex\n },\n tabindex: this.$props.tabIndex,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown\n }\n }, [renderTabs.call(this)])]);\n },\n methods: {\n onKeyDown: function onKeyDown(e) {\n this.$emit('keydown', e);\n },\n onSelect: function onSelect(idx) {\n this.$emit('select', idx);\n }\n }\n};\n/**\n * @hidden\n */\nvar TabStripNavigation = TabStripNavigationVue2;\nexport { TabStripNavigation, TabStripNavigationVue2 };","export var getTabs = function (curTabs, children) {\n var that = this;\n var foundTabs = [];\n children.forEach(function (child) {\n if (that.v3 && child.children && child.children.length) {\n foundTabs = getTabs.call(that, curTabs, child.children);\n }\n if (child && child.tag && child.tag.toLowerCase().indexOf('tab') !== -1 ||\n child.type && child.type.name && child.type.name.toLowerCase().indexOf('kendotabstriptab') !== -1) {\n foundTabs.push(child);\n }\n });\n return foundTabs;\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { Fade } from '@progress/kendo-vue-animation';\nimport { classNames, guid, getDefaultSlots, getTemplate } from '@progress/kendo-vue-common';\nimport { getTabs } from './utils';\n/**\n * @hidden\n */\nvar TabStripContentVue2 = {\n name: 'KendoTabStripContent',\n props: {\n showAll: Boolean,\n animation: Boolean,\n tabs: Array,\n selected: Number,\n hasTabs: Boolean\n },\n created: function created() {\n this.contentId = guid();\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n data: function data() {\n return {\n midAnimation: false\n };\n },\n computed: {\n animationClass: function animationClass() {\n var that = this;\n return this.tabs.map(function (_t, idx) {\n var visible = idx === that.$props.selected;\n return {\n 'k-fade-appear': that.animation && !visible,\n 'k-fade-enter-active': that.animation && visible\n };\n });\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n tabs = _a.tabs,\n selected = _a.selected,\n showAll = _a.showAll,\n hasTabs = _a.hasTabs;\n var selectedTab = tabs && typeof selected === 'number' && tabs[selected];\n var defaultSlots = getDefaultSlots(this);\n var innerTabs = hasTabs ? tabs : getTabs.call(this, [], defaultSlots || []);\n var tabStyles = selected < innerTabs.length && selected > -1;\n var contentClasses = classNames({\n 'k-content': tabStyles\n }, {\n 'k-active': tabStyles\n }, selectedTab && selectedTab.contentClassName);\n var renderChild = function renderChild(tab, idx) {\n var visible = idx === this.$props.selected;\n var animationStyle = {\n position: 'initial',\n height: visible ? undefined : '0px',\n width: visible ? undefined : '0px'\n };\n var content = hasTabs ? getTemplate.call(this, {\n h: h,\n template: tab.content,\n defaultRendering: null,\n additionalProps: {\n dataItem: tab\n }\n }) : tab;\n var tabPanel = h(\"div\", {\n role: 'tabpanel',\n attrs: this.v3 ? undefined : {\n role: 'tabpanel',\n \"aria-expanded\": true,\n id: String(this.contentId + idx)\n },\n \"aria-expanded\": true,\n id: String(this.contentId + idx),\n key: idx\n }, [content]);\n return (hasTabs ? this.animation : true) ?\n // @ts-ignore function children\n h(Fade, {\n appear: this.v3 ? true : visible,\n attrs: this.v3 ? undefined : {\n appear: this.v3 ? true : visible,\n enter: this.$props.animation,\n exit: this.$props.keepTabsMounted\n },\n key: idx,\n \"class\": this.animationClass[idx],\n enter: this.$props.animation,\n exit: this.$props.keepTabsMounted,\n style: animationStyle\n }, this.v3 ? function () {\n return [tabPanel];\n } : [tabPanel]) : h(\"div\", {\n \"class\": visible ? undefined : 'k-hidden'\n }, [tabPanel]);\n };\n var renderContent = function renderContent() {\n return innerTabs.map(function (tab, idx) {\n return renderChild.call(this, tab, idx);\n }, this);\n };\n return h(\"div\", {\n \"class\": contentClasses,\n style: this.$props.style\n }, [renderContent.call(this)]);\n }\n};\n/**\n * @hidden\n */\nvar TabStripContent = TabStripContentVue2;\nexport { TabStripContent, TabStripContentVue2 };","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-layout',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052468,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { TabStripNavigation } from './TabStripNavigation';\nimport { TabStripContent } from './TabStripContent';\nimport { Keys, classNames, getDefaultSlots, validatePackage, templateRendering, getListeners } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar TabStripVue2 = {\n name: 'KendoTabStrip',\n // @ts-ignore\n emits: {\n select: null\n },\n props: {\n animation: {\n type: Boolean,\n default: true\n },\n selected: Number,\n tabContentStyle: Object,\n tabPosition: {\n type: String,\n default: 'top'\n },\n tabs: {\n type: Array,\n default: undefined\n },\n tabIndex: Number,\n dir: String\n },\n data: function data() {\n return {\n currentShowAll: true,\n currentTabs: []\n };\n },\n computed: {\n compTabs: function compTabs() {\n return this.tabs !== undefined ? this.tabs.map(function (tab) {\n var content = templateRendering.call(this, tab.content, getListeners.call(this));\n var titleRender = templateRendering.call(this, tab.titleRender, getListeners.call(this));\n return __assign(__assign({}, tab), {\n content: content,\n titleRender: titleRender\n });\n }, this) : this.currentTabs;\n }\n },\n provide: function provide() {\n return {\n addRenderTitle: this.addRenderTitle,\n addTab: this.addTab,\n removeTab: this.removeTab\n };\n },\n created: function created() {\n var _a;\n var _this = this;\n this.keyBinding = (_a = {}, _a[Keys.left] = function () {\n return _this.prevNavigatableTab();\n }, _a[Keys.right] = function () {\n return _this.nextNavigatableTab();\n }, _a[Keys.down] = function () {\n return _this.nextNavigatableTab();\n }, _a[Keys.up] = function () {\n return _this.prevNavigatableTab();\n }, _a[Keys.home] = function () {\n return 0;\n }, _a[Keys.end] = function () {\n return _this.compTabs.length - 1;\n }, _a);\n validatePackage(packageMetadata);\n },\n watch: {\n selected: function selected(_prevIndex, _nextIndex) {\n if (this.$props.animation) {\n this.currentShowAll = false;\n this.$nextTick(function () {\n this.currentShowAll = true;\n });\n }\n }\n },\n methods: {\n addRenderTitle: function addRenderTitle(currentId, titleTemplate) {\n var indexToUpdate = this.compTabs.findIndex(function (e) {\n return e.tabId === currentId;\n });\n if (this.v3) {\n this.compTabs[indexToUpdate].titleRender = titleTemplate;\n } else {\n this.compTabs[indexToUpdate] = __assign(__assign({}, this.compTabs[indexToUpdate]), {\n titleRender: titleTemplate\n });\n }\n },\n addTab: function addTab(newTab) {\n this.currentTabs.push(newTab);\n },\n removeTab: function removeTab(currentId) {\n var indexToRemove = this.currentTabs.findIndex(function (e) {\n return e.tabId === currentId;\n });\n this.currentTabs.splice(indexToRemove, 1);\n },\n onSelect: function onSelect(index) {\n if (this.$props.selected !== index) {\n this.$emit('select', {\n selected: index\n });\n }\n },\n onKeyDown: function onKeyDown(event) {\n var handler;\n switch (event.keyCode) {\n case Keys.left:\n handler = this.keyBinding[this.invertKeys(Keys.left, Keys.right)];\n break;\n case Keys.right:\n handler = this.keyBinding[this.invertKeys(Keys.right, Keys.left)];\n break;\n case Keys.up:\n handler = this.keyBinding[Keys.up];\n break;\n case Keys.down:\n handler = this.keyBinding[Keys.down];\n break;\n case Keys.home:\n handler = this.keyBinding[Keys.home];\n break;\n case Keys.end:\n handler = this.keyBinding[Keys.end];\n break;\n default:\n break;\n }\n if (handler) {\n event.preventDefault();\n this.onSelect(handler());\n }\n },\n invertKeys: function invertKeys(original, inverted) {\n var rtl = this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n return rtl ? inverted : original;\n },\n firstNavigatableTab: function firstNavigatableTab() {\n var length = this.compTabs.length;\n if (length) {\n for (var i = 0; i < length; i++) {\n if (!this.compTabs[i].disabled) {\n return i;\n }\n }\n }\n },\n lastNavigatableTab: function lastNavigatableTab() {\n var length = this.compTabs.length;\n if (length) {\n for (var i = length - 1; i > 0; i--) {\n if (!this.compTabs[i].disabled) {\n return i;\n }\n }\n }\n },\n prevNavigatableTab: function prevNavigatableTab() {\n var length = this.compTabs.length;\n var selected = this.$props.selected;\n var index = selected ? selected - 1 : -1;\n if (index < 0) {\n return this.lastNavigatableTab();\n }\n if (length) {\n for (var i = index; i > -1; i--) {\n if (!this.compTabs[i].disabled) {\n return i;\n }\n if (i === 0) {\n return this.lastNavigatableTab();\n }\n }\n }\n },\n nextNavigatableTab: function nextNavigatableTab() {\n var length = this.compTabs.length;\n var selected = this.$props.selected;\n var index = selected ? selected + 1 : 1;\n if (index >= length) {\n return this.firstNavigatableTab();\n }\n if (length) {\n for (var i = index; i < length; i++) {\n if (!this.compTabs[i].disabled) {\n return i;\n }\n if (i + 1 === length) {\n return this.firstNavigatableTab();\n }\n }\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var _b = this.$props,\n tabPosition = _b.tabPosition,\n _c = _b.tabIndex,\n tabIndex = _c === void 0 ? 0 : _c;\n var bottom = tabPosition === 'bottom';\n var componentClasses = classNames('k-widget', 'k-tabstrip', (_a = {}, _a['k-tabstrip-left'] = tabPosition === 'left', _a['k-tabstrip-right'] = tabPosition === 'right', _a['k-tabstrip-bottom'] = tabPosition === 'bottom', _a['k-tabstrip-top'] = tabPosition === 'top', _a));\n var renderContent = function renderContent(currentTabProps) {\n var selected = currentTabProps.selected,\n tabContentStyle = currentTabProps.tabContentStyle;\n var defaultSlots = getDefaultSlots(this);\n var tabContentProps = {\n index: selected,\n animation: this.$props.animation,\n tabs: this.compTabs,\n hasTabs: this.tabs !== undefined,\n selected: selected,\n tabContentStyle: tabContentStyle,\n showAll: this.currentShowAll\n };\n return h(TabStripContent, __assign(__assign({}, tabContentProps), {\n attrs: this.v3 ? undefined : __assign({}, tabContentProps)\n }), this.v3 ? function () {\n return defaultSlots;\n } : [defaultSlots]);\n };\n return h(\"div\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n },\n \"class\": componentClasses\n }, [!bottom &&\n // @ts-ignore function children\n h(TabStripNavigation, {\n tabs: this.compTabs,\n attrs: this.v3 ? undefined : {\n tabs: this.compTabs,\n selected: this.$props.selected,\n tabContentStyle: this.$props.tabContentStyle,\n tabIndex: tabIndex\n },\n selected: this.$props.selected,\n tabContentStyle: this.$props.tabContentStyle,\n onSelect: this.onSelect,\n on: this.v3 ? undefined : {\n \"select\": this.onSelect,\n \"keydown\": this.onKeyDown\n },\n onKeydown: this.onKeyDown,\n tabIndex: tabIndex\n }), renderContent.call(this, this.$props), bottom &&\n // @ts-ignore function children\n h(TabStripNavigation, {\n tabs: this.compTabs,\n attrs: this.v3 ? undefined : {\n tabs: this.compTabs,\n selected: this.$props.selected,\n tabContentStyle: this.$props.tabContentStyle,\n tabIndex: tabIndex\n },\n selected: this.$props.selected,\n tabContentStyle: this.$props.tabContentStyle,\n onSelect: this.onSelect,\n on: this.v3 ? undefined : {\n \"select\": this.onSelect,\n \"keydown\": this.onKeyDown\n },\n onKeydown: this.onKeyDown,\n tabIndex: tabIndex\n })]);\n }\n};\n/**\n * @hidden\n */\nvar TabStrip = TabStripVue2;\nexport { TabStrip, TabStripVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { guid, getDefaultSlots, templateRendering, getListeners } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar TabStripTabVue2 = {\n name: 'KendoTabStripTab',\n props: {\n disabled: Boolean,\n contentClassName: String,\n title: String,\n id: String,\n titleRender: [String, Function, Object]\n },\n inject: {\n addRenderTitle: {\n default: null\n },\n addTab: {\n default: null\n },\n removeTab: {\n default: null\n }\n },\n created: function created() {\n this.tabId = guid();\n this.addTab({\n title: this.$props.title,\n tabId: this.tabId,\n id: this.id,\n disabled: this.$props.disabled,\n contentClassName: this.$props.contentClassName\n });\n },\n destroyed: !!isV3 ? undefined : function () {\n this.removeTab(this.tabId);\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.removeTab(this.tabId);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var titleRender = this.$props.titleRender ? templateRendering.call(this, this.$props.titleRender, getListeners.call(this)) : null;\n if (titleRender) {\n this.addRenderTitle(this.tabId, titleRender);\n }\n return h(\"div\", [getDefaultSlots(this)]);\n }\n};\n/**\n * @hidden\n */\nvar TabStripTab = TabStripTabVue2;\nexport { TabStripTab, TabStripTabVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { cardType } from './interfaces/Enums';\nimport { cardOrientation } from './interfaces/Enums';\nimport { packageMetadata } from '../package-metadata';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar CardVue2 = {\n name: 'KendoCard',\n props: {\n dir: String,\n type: {\n type: String,\n default: cardType.DEFAULT,\n validator: function validator(value) {\n return ['default', 'primary', 'info', 'success', 'warning', 'error'].includes(value);\n }\n },\n orientation: {\n type: String,\n default: cardOrientation.VERTICAL,\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n var orientationClass = this.$props.orientation !== cardOrientation.HORIZONTAL ? 'vertical' : 'horizontal';\n return _a = {\n 'k-card': true\n }, _a[\"k-card-\".concat(this.$props.type)] = this.$props.type !== cardType.DEFAULT, _a[\"k-card-\".concat(orientationClass)] = true, _a;\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir\n },\n \"class\": this.wrapperClass\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar Card = CardVue2;\nexport { Card, CardVue2 };","var _a;\n/**\n * @hidden\n */\nexport var separatorAriaMessage = 'drawer.separatorAriaMessage';\n/**\n * @hidden\n */\nexport var splitterPaneLabel = 'splitter.splitterPaneLabel';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[separatorAriaMessage] = 'Separator',\n _a[splitterPaneLabel] = 'Splitter pane',\n _a);\n","var _a;\n/**\n * @hidden\n */\nexport var optionalText = 'stepper.optionalText';\n/**\n * @hidden\n */\nexport var ariaLabel = 'stepper.ariaLabel';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[optionalText] = '(Optional)',\n _a[ariaLabel] = 'Progressbar',\n _a);\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar CardHeaderVue2 = {\n name: 'KendoCardHeader',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-card-header'\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar CardHeader = CardHeaderVue2;\nexport { CardHeader, CardHeaderVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar CardTitleVue2 = {\n name: 'KendoCardTitle',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-card-title'\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar CardTitle = CardTitleVue2;\nexport { CardTitle, CardTitleVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar CardBodyVue2 = {\n name: 'KendoCardBody',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-card-body'\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar CardBody = CardBodyVue2;\nexport { CardBody, CardBodyVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nimport { cardActionsLayout, cardOrientation } from './interfaces/Enums';\n/**\n * @hidden\n */\nvar CardActionsVue2 = {\n name: 'KendoCardActions',\n props: {\n layout: {\n type: String,\n default: cardActionsLayout.START,\n validator: function validator(value) {\n return ['stretched', 'start', 'center', 'end'].includes(value);\n }\n },\n orientation: {\n type: String,\n default: cardOrientation.HORIZONTAL,\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n return _a = {\n 'k-card-actions': true\n }, _a[\"k-card-actions-\".concat(this.$props.layout)] = true, _a[\"k-card-actions-\".concat(this.$props.orientation !== cardOrientation.HORIZONTAL ? 'vertical' : 'horizontal')] = true, _a;\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": this.wrapperClass\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar CardActions = CardActionsVue2;\nexport { CardActions, CardActionsVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar CardImageVue2 = {\n name: 'KendoCardImage',\n props: {\n src: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"img\", {\n \"class\": 'k-card-image',\n src: this.$props.src,\n attrs: this.v3 ? undefined : {\n src: this.$props.src\n }\n });\n }\n};\n/**\n * @hidden\n */\nvar CardImage = CardImageVue2;\nexport { CardImage, CardImageVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar CardSubtitleVue2 = {\n name: 'KendoCardSubtitle',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-card-subtitle'\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar CardSubtitle = CardSubtitleVue2;\nexport { CardSubtitle, CardSubtitleVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar CardFooterVue2 = {\n name: 'KendoCardFooter',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-card-footer'\n }, [defaultSlots]);\n }\n};\n/**\n * @hidden\n */\nvar CardFooter = CardFooterVue2;\nexport { CardFooter, CardFooterVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { avatarType } from './interfaces/Enums';\nimport { packageMetadata } from '../package-metadata';\nimport { getDefaultSlots, validatePackage, kendoThemeMaps } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar AvatarVue2 = {\n name: 'KendoAvatar',\n props: {\n type: {\n type: String,\n default: avatarType.TEXT,\n validator: function validator(value) {\n return ['text', 'image', 'icon'].includes(value);\n }\n },\n border: Boolean,\n rounded: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return ['small', 'medium', 'large', 'full'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return ['solid', 'outline'].includes(value);\n }\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return ['small', 'medium', 'large'].includes(value);\n }\n },\n themeColor: {\n type: String,\n default: 'primary',\n validator: function validator(value) {\n return ['primary', 'secondary', 'tertiary', 'info', 'success', 'warning', 'error', 'dark', 'light', 'inverse', 'inherit'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n var _b = this.$props,\n border = _b.border,\n type = _b.type,\n size = _b.size,\n rounded = _b.rounded,\n fillMode = _b.fillMode,\n themeColor = _b.themeColor;\n return _a = {\n 'k-avatar-bordered': border,\n 'k-avatar': true\n }, _a[\"k-avatar-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a[\"k-avatar-\".concat(fillMode)] = fillMode, _a[\"k-avatar-\".concat(fillMode, \"-\").concat(themeColor)] = Boolean(fillMode && themeColor), _a;\n },\n innerClass: function innerClass() {\n var _a;\n return _a = {}, _a[\"k-avatar-\".concat(this.$props.type)] = this.$props.type, _a;\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": this.wrapperClass\n }, [h(\"span\", {\n \"class\": this.innerClass\n }, [defaultSlots])]);\n }\n};\n/**\n * @hidden\n */\nvar Avatar = AvatarVue2;\nexport { Avatar, AvatarVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getTabIndex, getDefaultSlots, Icon, getIconName } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { separatorAriaMessage, messages } from '../messages/main';\n/**\n * @hidden\n */\nvar DrawerItemVue2 = {\n name: 'KendoDrawerItem',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n index: Number,\n text: String,\n icon: String,\n svgIcon: Object,\n separator: Boolean,\n selected: Boolean,\n disabled: Boolean,\n targetItem: [Object, Array]\n },\n inject: {\n kendoDrawer: {\n default: null\n },\n kendoLocalizationService: {\n default: null\n }\n },\n computed: {\n itemClassNames: function itemClassNames() {\n var _a = this.$props,\n disabled = _a.disabled,\n selected = _a.selected;\n return {\n 'k-drawer-item': true,\n 'k-selected': selected,\n 'k-disabled': disabled\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n text = _a.text,\n icon = _a.icon,\n svgIcon = _a.svgIcon,\n separator = _a.separator,\n disabled = _a.disabled,\n selected = _a.selected,\n tabIndex = _a.tabIndex;\n var _b = this.kendoDrawer,\n expanded = _b.expanded,\n mini = _b.mini,\n item = _b.item;\n var ariaLabelSeparator = provideLocalizationService(this).toLanguageString(separatorAriaMessage, messages[separatorAriaMessage]);\n return separator ? h(\"li\", {\n \"class\": 'k-drawer-item k-drawer-separator',\n role: \"separator\",\n attrs: this.v3 ? undefined : {\n role: \"separator\",\n \"aria-label\": ariaLabelSeparator\n },\n \"aria-label\": ariaLabelSeparator\n }) : h(\"li\", {\n \"class\": this.itemClassNames,\n role: \"menuitem\",\n attrs: this.v3 ? undefined : {\n role: \"menuitem\",\n \"aria-label\": text,\n \"aria-current\": selected,\n \"aria-disabled\": disabled,\n tabindex: getTabIndex(tabIndex, disabled)\n },\n \"aria-label\": text,\n \"aria-current\": selected,\n \"aria-disabled\": disabled,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n },\n tabindex: getTabIndex(tabIndex, disabled)\n }, [!item ? [(icon || svgIcon) && h(Icon, {\n name: getIconName(icon),\n attrs: this.v3 ? undefined : {\n name: getIconName(icon),\n icon: svgIcon\n },\n icon: svgIcon\n }), !expanded && mini ? null : h(\"span\", {\n \"class\": 'k-item-text'\n }, [text])] : defaultSlot]);\n },\n methods: {\n focus: function focus(e) {\n if (this.$el) {\n this.$el.focus(e);\n }\n },\n handleClick: function handleClick() {\n if (!this.disabled) {\n var handle = {\n element: this.$el,\n focus: this.focus,\n props: __assign(__assign({}, this.$props), this.$attrs)\n };\n this.$emit('click', handle, this.$props.index);\n }\n }\n }\n};\n/**\n * Represents the [Kendo UI for Vue Drawer component]({% slug overview_drawer %}).\n *\n * ```jsx\n * ({\n * ...item,\n * selected: index === selectedId,\n * }))\n * \"\n * :item=\"'CustomItem'\"\n * @select=\"onSelect\"\n * >\n * \n * \n * \n * \n * \n * ```\n *\n */\nvar DrawerItem = DrawerItemVue2;\nexport { DrawerItem, DrawerItemVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { DrawerItem } from './DrawerItem';\nimport { getDefaultSlots, templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar DEFAULT_EXPANDED_WIDTH = 240;\n/**\n * @hidden\n */\nvar DEFAULT_MINI_WIDTH = 50;\n/**\n * @hidden\n */\nvar DEFAULT_ANIMATION = {\n type: 'slide',\n duration: 200\n};\n/**\n * @hidden\n */\nvar NO_ANIMATION = {\n type: 'slide',\n duration: 0\n};\n/**\n * @hidden\n */\nvar DrawerNavigationVue2 = {\n name: 'KendoDrawerNavigation',\n props: {\n item: [Object],\n tabIndex: Number\n },\n inject: {\n kendoDrawer: {\n default: null\n }\n },\n computed: {\n navigationClassNames: function navigationClassNames() {\n var position = this.kendoDrawer.position;\n return {\n 'k-widget k-drawer': true,\n 'k-drawer-start': position === 'start',\n 'k-drawer-end': position === 'end'\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.kendoDrawer,\n animation = _a.animation,\n expanded = _a.expanded,\n mode = _a.mode,\n position = _a.position,\n mini = _a.mini,\n dir = _a.dir,\n width = _a.width,\n miniWidth = _a.miniWidth,\n items = _a.items;\n var customSettings = typeof animation !== 'boolean' ? animation : animation === false ? NO_ANIMATION : DEFAULT_ANIMATION;\n var navWidth = width ? width : DEFAULT_EXPANDED_WIDTH;\n var navMiniWidth = miniWidth ? miniWidth : DEFAULT_MINI_WIDTH;\n var expandPush = {\n opacity: 1,\n flexBasis: navWidth + 'px',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var expandOverlay = {\n opacity: 1,\n transform: 'translateX(0px)',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapsePush = {\n opacity: !mini ? 0 : 1,\n flexBasis: !mini ? 0 : navMiniWidth + 'px',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapseOverlay = {\n opacity: 0,\n transform: 'translateX(-100%)',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapseOverlayRtl = {\n opacity: 0,\n transform: 'translateX(100%)',\n WebkitTransition: 'all ' + (customSettings && customSettings.duration) + 'ms',\n transition: 'all ' + (customSettings && customSettings.duration) + 'ms'\n };\n var collapseOverlayMini = {\n transform: 'translateX(0%)',\n WebkitTransitionDuration: (customSettings && customSettings.duration) + 'ms',\n transitionDuration: (customSettings && customSettings.duration) + 'ms'\n };\n var drawerAnimation = expanded ? mode === 'push' ? expandPush : expandOverlay : mode === 'push' ? collapsePush : dir === 'ltr' && position === 'start' || dir === 'rtl' && position === 'end' ? mini ? collapseOverlayMini : collapseOverlay : mini ? collapseOverlayMini : collapseOverlayRtl;\n var drawerItems = items && h(\"ul\", {\n \"class\": 'k-drawer-items',\n role: \"menubar\",\n attrs: this.v3 ? undefined : {\n role: \"menubar\",\n \"aria-orientation\": \"vertical\",\n \"aria-expanded\": expanded\n },\n \"aria-orientation\": \"vertical\",\n \"aria-expanded\": expanded\n }, [items.map(function (element, index) {\n var item = this.$props.item;\n if (item && !item.type && !item.render) {\n item = templateRendering.call(this, this.$props.item, getListeners.call(this));\n }\n var itemDefaultRendering =\n // @ts-ignore\n h(DrawerItem, {\n key: index,\n index: index,\n attrs: this.v3 ? undefined : {\n index: index,\n text: element.text,\n icon: element.icon,\n separator: element.separator,\n selected: element.selected,\n targetItem: element.targetItem\n },\n onClick: this.onSelect,\n on: this.v3 ? undefined : {\n \"click\": this.onSelect\n },\n text: element.text,\n icon: element.icon,\n separator: element.separator,\n selected: element.selected,\n targetItem: element.targetItem\n });\n var itemRendering = getTemplate.call(this, {\n h: h,\n template: item,\n defaultRendering: itemDefaultRendering,\n additionalProps: __assign(__assign({}, element), {\n index: index\n }),\n additionalListeners: {\n click: this.onSelect\n }\n });\n return itemRendering;\n }, this)]);\n var drawerNavigation = h(\"div\", {\n style: drawerAnimation,\n \"class\": this.navigationClassNames\n }, [h(\"div\", {\n \"class\": 'k-drawer-wrapper',\n style: !expanded && mini && mode === 'overlay' ? {\n width: navMiniWidth + 'px'\n } : {\n width: navWidth + 'px'\n }\n }, [drawerItems || defaultSlot])]);\n return drawerNavigation;\n },\n methods: {\n focus: function focus(e) {\n if (this.$el) {\n this.$el.focus(e);\n }\n },\n onSelect: function onSelect(e, index) {\n this.$emit('select', e, index);\n }\n }\n};\n/**\n * @hidden\n */\nvar DrawerNavigation = DrawerNavigationVue2;\nexport { DrawerNavigation, DrawerNavigationVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { DrawerNavigation } from './DrawerNavigation';\nimport { getDir, validatePackage, getDefaultSlots, templateRendering, getListeners } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar DrawerVue2 = {\n name: 'KendoDrawer',\n // @ts-ignore\n emits: {\n select: null,\n overlayclick: null\n },\n props: {\n animation: {\n type: [Object, Boolean],\n default: true\n },\n expanded: {\n type: Boolean,\n default: false\n },\n dir: {\n type: String,\n default: 'ltr'\n },\n item: [String, Object, Function],\n mode: {\n type: String,\n default: 'overlay',\n validator: function validator(value) {\n return ['overlay', 'push'].includes(value);\n }\n },\n position: {\n type: String,\n default: 'start',\n validator: function validator(value) {\n return ['start', 'end'].includes(value);\n }\n },\n items: Array,\n mini: {\n type: Boolean,\n default: false\n },\n tabIndex: Number,\n width: {\n type: Number,\n default: 240\n },\n miniWidth: {\n type: Number,\n default: 50\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n data: function data() {\n var _a = this.$props,\n expanded = _a.expanded,\n mode = _a.mode,\n position = _a.position,\n animation = _a.animation,\n mini = _a.mini,\n width = _a.width,\n miniWidth = _a.miniWidth,\n items = _a.items,\n item = _a.item;\n var itemRender = item ? templateRendering.call(this, item, getListeners.call(this)) : undefined;\n return {\n currentDir: 'ltr',\n drawer: {\n expanded: expanded,\n mode: mode,\n dir: this.currentDir,\n position: position,\n animation: animation,\n mini: mini,\n width: width,\n miniWidth: miniWidth,\n items: items,\n item: itemRender\n }\n };\n },\n mounted: function mounted() {\n this.currentDir = getDir(this.$el, this.$props.dir);\n },\n updated: function updated() {\n var _a = this.$props,\n expanded = _a.expanded,\n mode = _a.mode,\n position = _a.position,\n animation = _a.animation,\n mini = _a.mini,\n width = _a.width,\n miniWidth = _a.miniWidth,\n items = _a.items,\n item = _a.item;\n var itemRender = item ? templateRendering.call(this, item, getListeners.call(this)) : undefined;\n this.drawer.expanded = expanded;\n this.drawer.mode = mode;\n this.drawer.dir = this.currentDir;\n this.drawer.position = position;\n this.drawer.animation = animation;\n this.drawer.mini = mini;\n this.drawer.width = width;\n this.drawer.miniWidth = miniWidth;\n this.drawer.items = items;\n this.drawer.item = itemRender;\n },\n provide: function provide() {\n return {\n kendoDrawer: this.drawer\n };\n },\n computed: {\n drawerClassNames: function drawerClassNames() {\n var _a = this.$props,\n expanded = _a.expanded,\n mode = _a.mode,\n mini = _a.mini;\n return {\n 'k-drawer-container': true,\n 'k-drawer-expanded': expanded,\n 'k-drawer-overlay': mode === 'overlay',\n 'k-drawer-push': mode === 'push',\n 'k-drawer-mini': mini\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n items = _a.items,\n tabIndex = _a.tabIndex,\n mode = _a.mode,\n expanded = _a.expanded,\n item = _a.item;\n var itemRender = item ? templateRendering.call(this, item, getListeners.call(this)) : undefined;\n return h(\"div\", {\n \"class\": this.drawerClassNames,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir,\n tabindex: tabIndex\n },\n tabindex: tabIndex\n }, [mode === 'overlay' && expanded && h(\"div\", {\n \"class\": \"k-overlay\",\n onClick: this.onOverlayClick,\n on: this.v3 ? undefined : {\n \"click\": this.onOverlayClick\n }\n }), items &&\n // @ts-ignore\n h(DrawerNavigation, {\n onSelect: this.handleSelect,\n on: this.v3 ? undefined : {\n \"select\": this.handleSelect\n },\n item: itemRender,\n attrs: this.v3 ? undefined : {\n item: itemRender\n }\n }), defaultSlot]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n handleSelect: function handleSelect(itemTarget, itemIndex) {\n if (this.$props.items) {\n this.$emit('select', {\n itemTarget: itemTarget,\n itemIndex: itemIndex,\n component: this\n });\n }\n },\n onOverlayClick: function onOverlayClick(e) {\n this.$emit('overlayclick', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar Drawer = DrawerVue2;\nexport { Drawer, DrawerVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar DrawerContentVue2 = {\n name: 'KendoDrawerContent',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-drawer-content'\n }, [defaultSlot]);\n }\n};\n/**\n * Represents the [Kendo UI for Vue Drawer component]({% slug overview_drawer %}).\n *\n * ```jsx\n * \n *\n * \n * ```\n */\nvar DrawerContent = DrawerContentVue2;\nexport { DrawerContent, DrawerContentVue2 };","/**\n * @hidden\n */\nexport var DEFAULT_ANIMATION_DURATION = 400;\n/**\n * @hidden\n */\nexport var NO_ANIMATION = 0;\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar inject = allVue.inject;\nimport { focusFirstFocusableChild, getDefaultSlots, getIconName, Icon } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { exclamationCircleIcon, checkOutlineIcon } from '@progress/kendo-svg-icons';\nimport { DEFAULT_ANIMATION_DURATION, NO_ANIMATION } from './contants';\nimport { messages, optionalText } from './messages/main';\n/**\n * @hidden\n */\nvar StepVue2 = {\n name: 'KendoStep',\n props: {\n current: Boolean,\n disabled: Boolean,\n icon: String,\n svgIcon: Object,\n index: Number,\n isValid: {\n type: Boolean,\n default: undefined\n },\n focused: Boolean,\n label: String,\n optional: Boolean,\n tabIndex: {\n type: Number,\n default: 0\n },\n text: String,\n animationDuration: [Boolean, Number],\n isVertical: Boolean,\n item: [String, Object, Boolean, Function],\n linear: Boolean,\n mode: String,\n numOfSteps: Number,\n value: Number,\n successIcon: String,\n successSvgIcon: Object,\n errorIcon: String,\n errorSvgIcon: Object\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n computed: {\n itemClassNames: function itemClassNames() {\n var _a = this.$props,\n current = _a.current,\n disabled = _a.disabled,\n focused = _a.focused,\n index = _a.index,\n isValid = _a.isValid,\n optional = _a.optional;\n return {\n 'k-step': true,\n 'k-step-first': index === 0,\n 'k-step-last': this.numOfSteps && index === this.numOfSteps - 1,\n 'k-step-done': index < this.value,\n 'k-step-current': current,\n 'k-step-optional': optional,\n 'k-disabled': disabled,\n 'k-focus': focused,\n 'k-step-error': isValid !== undefined && !isValid,\n 'k-step-success': isValid\n };\n },\n itemStyles: function itemStyles() {\n var index = this.$props.index;\n var allowClick = !this.linear || index === this.value - 1 || index === this.value || index === this.value + 1;\n return {\n maxWidth: !this.isVertical ? \"calc(100% / \".concat(this.numOfSteps, \")\") : undefined,\n pointerEvents: !allowClick ? 'none' : undefined\n };\n }\n },\n watch: {\n focused: function focused(newValue) {\n this.aElement = this.$refs.aElement;\n if (this.aElement && newValue) {\n this.aElement.focus();\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var _a = this.$props,\n current = _a.current,\n disabled = _a.disabled,\n focused = _a.focused,\n icon = _a.icon,\n svgIcon = _a.svgIcon,\n index = _a.index,\n isValid = _a.isValid,\n label = _a.label,\n optional = _a.optional,\n tabIndex = _a.tabIndex,\n text = _a.text,\n animationDuration = _a.animationDuration,\n item = _a.item,\n linear = _a.linear,\n mode = _a.mode,\n value = _a.value,\n successIcon = _a.successIcon,\n successSvgIcon = _a.successSvgIcon,\n errorIcon = _a.errorIcon,\n errorSvgIcon = _a.errorSvgIcon;\n var allowClick = !linear || index === value - 1 || index === value || index === value + 1;\n var isInLabel = mode === 'labels' || (Boolean(icon) || Boolean(svgIcon)) && Boolean(label);\n var localizationService = provideLocalizationService(this);\n var localizeMessage = function localizeMessage(message) {\n return localizationService.toLanguageString(message, messages[message]);\n };\n var optionalMessage = localizeMessage(optionalText);\n var progressAnimation = typeof animationDuration === 'number' ? animationDuration : animationDuration !== false ? DEFAULT_ANIMATION_DURATION : NO_ANIMATION;\n var validationIconNames = isValid ? successIcon || 'check-circle' : errorIcon || 'exclamation-circle';\n var validationSvgIcon = isValid ? successSvgIcon || checkOutlineIcon : errorSvgIcon || exclamationCircleIcon;\n var validationIcons = h(Icon, {\n \"class\": 'k-step-indicator-icon',\n name: getIconName(validationIconNames),\n attrs: this.v3 ? undefined : {\n name: getIconName(validationIconNames),\n icon: validationSvgIcon,\n \"aria-hidden\": \"true\"\n },\n icon: validationSvgIcon,\n \"aria-hidden\": \"true\"\n });\n var stepIndicator = function stepIndicator() {\n return mode !== 'labels' ? h(\"span\", {\n \"class\": \"k-step-indicator\",\n \"aria-hidden\": true,\n attrs: this.v3 ? undefined : {\n \"aria-hidden\": true\n },\n style: {\n transitionDuration: progressAnimation + 'ms'\n }\n }, [icon || svgIcon ? !isInLabel && isValid !== undefined ? validationIcons : h(Icon, {\n \"class\": \"k-step-indicator-icon\",\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon\n },\n icon: svgIcon\n }) : isValid !== undefined ? validationIcons : h(\"span\", {\n \"class\": \"k-step-indicator-text\"\n }, [text ? text : index + 1])]) : null;\n };\n var stepLabel = function stepLabel() {\n return h(\"span\", {\n \"class\": \"k-step-label\"\n }, [label && h(\"span\", {\n \"class\": \"k-step-text\"\n }, [label]), isInLabel && isValid !== undefined && validationIcons, optional && h(\"span\", {\n \"class\": \"k-step-label-optional\"\n }, [optionalMessage])]);\n };\n return h(\"li\", {\n \"class\": this.itemClassNames,\n style: this.itemStyles\n }, [h(\"a\", {\n ref: \"aElement\",\n \"class\": \"k-step-link\",\n title: label ? label : undefined,\n attrs: this.v3 ? undefined : {\n title: label ? label : undefined,\n tabIndex: tabIndex ? tabIndex : current ? 0 : -1,\n \"aria-current\": current ? true : undefined,\n \"aria-disabled\": disabled || !allowClick || undefined,\n \"aria-invalid\": isValid !== undefined && !isValid || undefined\n },\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"focusin\": this.handleFocus\n },\n onFocusin: this.handleFocus,\n tabIndex: tabIndex ? tabIndex : current ? 0 : -1,\n \"aria-current\": current ? true : undefined,\n \"aria-disabled\": disabled || !allowClick || undefined,\n \"aria-invalid\": isValid !== undefined && !isValid || undefined\n }, [!item ? [stepIndicator.call(this), stepLabel.call(this)] : defaultSlots])]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n focusFirstFocusableChild(this.$el);\n }\n },\n handleClick: function handleClick(event) {\n if (!this.disabled) {\n this.$emit('change', {\n event: event,\n value: this.index,\n component: this\n });\n }\n },\n handleFocus: function handleFocus(event) {\n if (!this.disabled) {\n this.$emit('focus', event);\n }\n }\n }\n};\n/**\n * Represents the [Kendo UI for Vue Step component]({% slug overview_stepper %}).\n *\n * ```jsx\n * props.onChange(e)\">\n * \n * {{ props.emoji }}\n * \n * \n * {{ props.label }}\n * \n * \n * ```\n */\nvar Step = StepVue2;\nexport { Step, StepVue2 };","/**\n * @hidden\n */\nexport var MIN_RATIO = 0.00001;\n/**\n * @hidden\n */\nexport var LABEL_DECIMALS = 3;\n/**\n * @hidden\n */\nexport var DEFAULT_ANIMATION_DURATION = 400;\n/**\n * @hidden\n */\nexport var NO_ANIMATION = 0;\n","import { LABEL_DECIMALS, MIN_RATIO } from './constants';\n/**\n * @hidden\n */\nexport var truncateNumber = function (value) {\n var numberParts = value.toString().split('.');\n return numberParts.length === 1 ? \"\".concat(numberParts[0]) : \"\".concat(numberParts[0], \".\").concat(numberParts[1].substr(0, LABEL_DECIMALS));\n};\n/**\n * @hidden\n */\nexport var calculatePercentage = function (min, max, value) {\n var onePercent = Math.abs((max - min) / 100);\n return Math.abs((value - min) / onePercent);\n};\n/**\n * @hidden\n */\nexport var updateProgress = function (progressRef, progressWrapRef, percentage, isVertical) {\n var progressPercentage = Math.max(percentage, 0.01);\n var progressWrapPercentage = (100 / progressPercentage) * 100;\n if (progressRef && progressWrapRef) {\n progressRef.style.width = !isVertical ? \"\".concat(progressPercentage, \"%\") : '100%';\n progressWrapRef.style.width = !isVertical ? \"\".concat(progressWrapPercentage, \"%\") : '100%';\n progressRef.style.height = isVertical ? \"\".concat(progressPercentage, \"%\") : '100%';\n progressWrapRef.style.height = isVertical ? \"\".concat(progressWrapPercentage, \"%\") : '100%';\n }\n};\n/**\n * @hidden\n */\nexport var calculateRatio = function (min, max, value) {\n return Math.max((value - min) / (max - min), MIN_RATIO);\n};\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-progressbars',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052454,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { animate, cancelAnimation } from '@progress/kendo-vue-animation';\nimport { classNames, isRtl, getTabIndex, templateRendering, getListeners, getTemplate, setRef, getRef } from '@progress/kendo-vue-common';\nimport { calculatePercentage, updateProgress, truncateNumber } from '../common/utils';\nimport { DEFAULT_ANIMATION_DURATION, NO_ANIMATION } from '../common/constants';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ProgressBarVue2 = {\n name: 'KendoProgressBar',\n props: {\n animation: {\n type: [Boolean, Object],\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n reverse: {\n type: Boolean,\n default: false\n },\n label: String,\n labelRender: [String, Object, Function],\n labelVisible: {\n type: Boolean,\n default: true\n },\n labelPlacement: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['start', 'center', 'end'].includes(value);\n }\n },\n dir: {\n type: String,\n default: undefined\n },\n max: {\n type: Number,\n default: 100\n },\n min: {\n type: Number,\n default: 0\n },\n value: {\n type: Number,\n default: 0\n },\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n },\n tabIndex: Number,\n emptyStyle: Object,\n emptyClassName: String,\n progressStyle: Object,\n progressClassName: String,\n ariaLabel: String\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentDir = this.$props.dir;\n },\n mounted: function mounted() {\n this._progressStatus = getRef(this, 'progressStatus');\n this._progressStatusWrap = getRef(this, 'progressStatusWrap');\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : isRtl(this.$el) ? 'rtl' : 'ltr';\n this.animationFrame = animate({\n duration: this.animationDuration,\n onStart: this.handleStart,\n onUpdate: this.handleUpdate,\n onEnd: this.handleEnd\n });\n },\n destroyed: !!isV3 ? undefined : function () {\n cancelAnimation(this.animationFrame);\n },\n // @ts-ignore\n unmounted: function unmounted() {\n cancelAnimation(this.animationFrame);\n },\n data: function data() {\n return {\n currentDir: undefined\n };\n },\n watch: {\n value: function value(_newValue, oldValue) {\n this.prevValue = oldValue;\n this.animationFrame = animate({\n duration: this.animationDuration,\n onStart: this.handleStart,\n onUpdate: this.handleUpdate,\n onEnd: this.handleEnd\n });\n }\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a = this.$props,\n disabled = _a.disabled,\n reverse = _a.reverse,\n orientation = _a.orientation,\n value = _a.value;\n var isVertical = orientation === 'vertical';\n var indeterminateProp = value === null;\n return {\n 'k-progressbar': true,\n 'k-progressbar-horizontal': !isVertical,\n 'k-progressbar-vertical': isVertical,\n 'k-progressbar-reverse': reverse,\n 'k-progressbar-indeterminate': indeterminateProp,\n 'k-disabled': disabled\n };\n },\n isVertical: function isVertical() {\n return this.orientation === 'vertical';\n },\n animationDuration: function animationDuration() {\n var animation = this.$props.animation;\n return typeof animation !== 'boolean' && animation !== undefined ? animation.duration : animation ? DEFAULT_ANIMATION_DURATION : NO_ANIMATION;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n labelVisible = _a.labelVisible,\n labelPlacement = _a.labelPlacement,\n max = _a.max,\n min = _a.min,\n tabIndex = _a.tabIndex,\n emptyStyle = _a.emptyStyle,\n emptyClassName = _a.emptyClassName,\n progressStyle = _a.progressStyle,\n progressClassName = _a.progressClassName;\n var value = this.$props.value || 0;\n var indeterminateProp = this.$props.value === null;\n var formattedLabel = truncateNumber(value);\n var labelProps = {\n value: value\n };\n var label = this.$props.labelRender ? templateRendering.call(this, this.$props.labelRender, getListeners.call(this)) : undefined;\n var labelDefaultRendering = h('span', {\n 'class': 'k-progress-status'\n }, formattedLabel);\n var toggleButtonRendering = getTemplate.call(this, {\n h: h,\n template: label,\n defaultRendering: labelDefaultRendering,\n additionalProps: labelProps\n });\n var renderLabel = labelVisible ? this.$props.label ? h(\"span\", {\n \"class\": 'k-progress-status'\n }, [this.$props.label]) : toggleButtonRendering : undefined;\n var positionClasses = classNames('k-progress-status-wrap', {\n 'k-progress-start': labelPlacement === 'start',\n 'k-progress-center': labelPlacement === 'center',\n 'k-progress-end': labelPlacement === 'end' || labelPlacement === undefined\n });\n return h(\"div\", {\n \"class\": this.wrapperClass,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir,\n tabindex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled,\n \"aria-label\": this.$props.ariaLabel\n },\n tabindex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled,\n \"aria-label\": this.$props.ariaLabel\n }, [h(\"span\", {\n \"class\": positionClasses + (emptyClassName ? ' ' + emptyClassName : ''),\n style: emptyStyle\n }, [renderLabel]), h(\"div\", {\n \"class\": 'k-progressbar-value k-selected',\n style: progressStyle,\n ref: setRef(this, 'progressStatus')\n }, [h(\"span\", {\n \"class\": positionClasses + (progressClassName ? ' ' + progressClassName : ''),\n ref: setRef(this, 'progressStatusWrap')\n }, [renderLabel])])]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n progressStatusElement: function progressStatusElement() {\n return this._progressStatus;\n },\n progressStatusWrapElement: function progressStatusWrapElement() {\n return this._progressStatusWrap;\n },\n handleStart: function handleStart() {\n var percentage = calculatePercentage(this.min, this.max, this.prevValue);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n },\n handleUpdate: function handleUpdate(progress) {\n var percentage = calculatePercentage(this.min, this.max, this.prevValue + (this.value - this.prevValue) * progress);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n },\n handleEnd: function handleEnd() {\n var percentage = calculatePercentage(this.min, this.max, this.value);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n }\n }\n};\n/**\n * @hidden\n */\nvar ProgressBar = ProgressBarVue2;\nexport { ProgressBar, ProgressBarVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getDir, getTabIndex } from '@progress/kendo-vue-common';\nimport { calculateRatio } from '../common/utils';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ChunkProgressBarVue2 = {\n name: 'KendoChunkProgressBar',\n props: {\n chunkCount: {\n type: Number,\n default: 5\n },\n ariaLabel: String,\n disabled: Boolean,\n reverse: {\n type: Boolean,\n default: false\n },\n max: {\n type: Number,\n default: 100\n },\n min: {\n type: Number,\n default: 0\n },\n value: {\n type: Number,\n default: 0\n },\n tabIndex: Number,\n emptyStyle: Object,\n emptyClassName: String,\n progressStyle: Object,\n progressClassName: String,\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n data: function data() {\n return {\n currentDir: undefined\n };\n },\n mounted: function mounted() {\n this.currentDir = getDir(this.$el, this.$props.dir);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n chunkCount = _a.chunkCount,\n disabled = _a.disabled,\n orientation = _a.orientation,\n min = _a.min,\n max = _a.max,\n reverse = _a.reverse,\n tabIndex = _a.tabIndex,\n emptyStyle = _a.emptyStyle,\n emptyClassName = _a.emptyClassName,\n progressStyle = _a.progressStyle,\n progressClassName = _a.progressClassName;\n var value = this.$props.value;\n var indeterminateProp = this.$props.value === null;\n var isVertical = orientation === 'vertical';\n var renderChunks = function renderChunks(count) {\n var chunks = [];\n var chunkSizePercentage = 100 / count + '%';\n var progressRatio = calculateRatio(min, max, value);\n var completedChunksCount = Math.floor(progressRatio * count);\n var completedChunks = Array(count).fill(false);\n var reverseCompletedChunks = isVertical && !reverse || !isVertical && reverse;\n for (var i = 0; i < completedChunksCount; i++) {\n completedChunks[i] = true;\n }\n for (var i = 0; i < count; ++i) {\n var isComplete = completedChunks[i];\n var classes = isComplete ? progressClassName : emptyClassName;\n var layoutStyles = {\n width: !isVertical ? chunkSizePercentage : undefined,\n height: isVertical ? chunkSizePercentage : undefined\n };\n var styles = isComplete ? progressStyle : emptyStyle;\n var mergedStyles = __assign(__assign({}, layoutStyles), styles);\n chunks.push(h(\"li\", {\n key: i,\n \"class\": classNames('k-progressbar-chunk', {\n 'k-first': i === 0,\n 'k-last': i === count - 1,\n 'k-selected': isComplete\n }, classes),\n style: mergedStyles\n }));\n }\n return chunks;\n };\n return h(\"div\", {\n \"class\": classNames('k-progressbar', 'k-chunk-progressbar', {\n 'k-progressbar-horizontal': !isVertical,\n 'k-progressbar-vertical': isVertical,\n 'k-progressbar-reverse': reverse,\n 'k-progressbar-indeterminate': indeterminateProp,\n 'k-disabled': disabled\n }),\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir,\n tabIndex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-label\": this.$props.ariaLabel,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled\n },\n tabIndex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-label\": this.$props.ariaLabel,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled\n }, [h(\"ul\", {\n \"class\": 'k-progressbar-chunks k-reset'\n }, [renderChunks.call(this, chunkCount)])]);\n },\n methods: {\n focusElement: function focusElement() {\n if (this.$el) {\n this.$el.focus();\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar ChunkProgressBar = ChunkProgressBarVue2;\nexport { ChunkProgressBar, ChunkProgressBarVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { focusFirstFocusableChild, Keys, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { Step } from './Step';\nimport { ProgressBar } from '@progress/kendo-vue-progressbars';\nimport { DEFAULT_ANIMATION_DURATION, NO_ANIMATION } from './contants';\nimport { validatePackage, isRtl, templateRendering, getListeners, getTemplate } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { messages, ariaLabel } from './messages/main';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\n/**\n * @hidden\n */\nvar StepperVue2 = {\n name: 'KendoStepper',\n model: {\n event: 'changemodel'\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n props: {\n animationDuration: {\n type: [Boolean, Number],\n default: 400\n },\n dir: String,\n disabled: Boolean,\n item: {\n type: [String, Object, Function, Boolean],\n default: undefined\n },\n items: Array,\n linear: Boolean,\n mode: {\n type: String,\n default: 'steps',\n validator: function validator(value) {\n return ['steps', 'labels'].includes(value);\n }\n },\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n },\n value: {\n type: Number,\n default: 0\n },\n modelValue: Number,\n successIcon: String,\n errorIcon: String\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.focusedIdx = this.computedValue !== undefined ? this.computedValue : 0;\n },\n mounted: function mounted() {\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : isRtl(this.$el) ? 'rtl' : 'ltr';\n },\n data: function data() {\n return {\n currentDir: 'ltr',\n focusedIdx: 0,\n stepper: {},\n currentFocused: false\n };\n },\n watch: {\n value: function value(newValue) {\n this.focusedIdx = newValue;\n }\n },\n computed: {\n computedValue: function computedValue() {\n return this.$props.modelValue !== undefined ? this.$props.modelValue : this.$props.value;\n },\n isVertical: function isVertical() {\n return this.$props.orientation === 'vertical';\n },\n numOfSteps: function numOfSteps() {\n var items = this.$props.items;\n return items ? items.length : 0;\n },\n stepperClasses: function stepperClasses() {\n return {\n 'k-stepper': true,\n 'k-stepper-linear': this.$props.linear\n };\n },\n stepperStyles: function stepperStyles() {\n return {\n display: 'grid',\n gridTemplateColumns: !this.isVertical ? 'repeat(' + this.numOfSteps * 2 + ', 1fr)' : undefined,\n gridTemplateRows: this.isVertical ? 'repeat(' + this.numOfSteps * 4 + ', 1fr)' : undefined\n };\n },\n listClasses: function listClasses() {\n return {\n 'k-step-list': true,\n 'k-step-list-horizontal': !this.isVertical,\n 'k-step-list-vertical': this.isVertical\n };\n },\n listStyles: function listStyles() {\n return {\n gridColumnStart: !this.isVertical ? 1 : '',\n gridColumnEnd: !this.isVertical ? -1 : '',\n gridRowStart: this.isVertical ? 1 : '',\n gridRowEnd: this.isVertical ? -1 : ''\n };\n },\n progressbarStyles: function progressbarStyles() {\n return {\n gridColumnStart: !this.isVertical ? 2 : '',\n gridColumnEnd: !this.isVertical ? this.numOfSteps * 2 : '',\n gridRowStart: this.isVertical ? 2 : '',\n gridRowEnd: this.isVertical ? this.numOfSteps * 4 - 2 : ''\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n animationDuration = _a.animationDuration,\n disabled = _a.disabled,\n items = _a.items,\n orientation = _a.orientation;\n var value = this.computedValue;\n var animation = typeof animationDuration === 'number' ? animationDuration : animationDuration !== false ? DEFAULT_ANIMATION_DURATION : NO_ANIMATION;\n var localizationService = provideLocalizationService(this);\n var progressbarAriaLabelMessage = localizationService.toLanguageString(ariaLabel, messages[ariaLabel]);\n var steps = items && items.map(function (element, index) {\n var step = this.$props.item ? templateRendering.call(this, this.$props.item, getListeners.call(this)) : undefined;\n var stepDefaultRendering =\n // @ts-ignore\n h(Step, {\n key: index,\n index: index,\n attrs: this.v3 ? undefined : {\n index: index,\n disabled: disabled || element.disabled,\n focused: index === this.focusedIdx && this.currentFocused,\n current: index === value,\n icon: element.icon,\n label: element.label,\n optional: element.optional,\n text: element.text,\n isValid: element.isValid,\n tabIndex: element.tabIndex,\n animationDuration: this.animationDuration,\n isVertical: this.isVertical,\n item: this.item,\n linear: this.linear,\n mode: this.mode,\n numOfSteps: this.numOfSteps,\n value: value,\n successIcon: this.successIcon,\n errorIcon: this.errorIcon\n },\n disabled: disabled || element.disabled,\n focused: index === this.focusedIdx && this.currentFocused,\n current: index === value,\n onChange: this.handleChange,\n on: this.v3 ? undefined : {\n \"change\": this.handleChange,\n \"focus\": this.handleFocus\n },\n onFocus: this.handleFocus,\n \"class\": element.class,\n style: element.style,\n icon: element.icon,\n label: element.label,\n optional: element.optional,\n text: element.text,\n isValid: element.isValid,\n tabIndex: element.tabIndex,\n animationDuration: this.animationDuration,\n isVertical: this.isVertical,\n item: this.item,\n linear: this.linear,\n mode: this.mode,\n numOfSteps: this.numOfSteps,\n value: value,\n successIcon: this.successIcon,\n errorIcon: this.errorIcon\n });\n var stepRendering = getTemplate.call(this, {\n h: h,\n template: step,\n defaultRendering: stepDefaultRendering,\n additionalProps: __assign(__assign({}, element), {\n disabled: disabled || element.disabled,\n focused: index === this.focusedIdx,\n current: index === value,\n value: value\n }),\n additionalListeners: {\n change: this.handleChange,\n focus: this.handleFocus\n }\n });\n return stepRendering;\n }, this);\n return h(\"nav\", {\n tabindex: this.currentFocused ? -1 : 0,\n attrs: this.v3 ? undefined : {\n tabindex: this.currentFocused ? -1 : 0,\n dir: this.currentDir\n },\n \"class\": this.stepperClasses,\n style: this.stepperStyles,\n dir: this.currentDir,\n onFocusin: this.handleFocusin,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocusin,\n \"focusout\": this.handleFocusout,\n \"keydown\": this.handleKeyDown\n },\n onFocusout: this.handleFocusout,\n onKeydown: this.handleKeyDown\n }, [h(\"ol\", {\n \"class\": this.listClasses,\n style: this.listStyles\n }, [steps ? steps : defaultSlot]),\n // @ts-ignore\n h(ProgressBar, {\n style: this.progressbarStyles,\n animation: {\n duration: animation\n },\n attrs: this.v3 ? undefined : {\n animation: {\n duration: animation\n },\n \"aria-hidden\": true,\n \"aria-label\": progressbarAriaLabelMessage,\n max: this.numOfSteps - 1,\n labelVisible: false,\n orientation: orientation,\n reverse: orientation === 'vertical',\n value: value,\n disabled: disabled,\n tabIndex: -1\n },\n \"aria-hidden\": true,\n \"aria-label\": progressbarAriaLabelMessage,\n max: this.numOfSteps - 1,\n labelVisible: false,\n orientation: orientation,\n reverse: orientation === 'vertical',\n value: value,\n disabled: disabled,\n tabIndex: -1\n })]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n focusFirstFocusableChild(this.$el);\n }\n },\n dispatchChangeEvent: function dispatchChangeEvent(event, val) {\n var prevIdx = val === this.computedValue - 1;\n var currIdx = val === this.computedValue;\n var nextIdx = val === this.computedValue + 1;\n var allowClick = !this.linear || prevIdx || currIdx || nextIdx;\n if (this.computedValue !== val && !this.disabled && allowClick) {\n this.focusedIdx = val;\n this.$emit('changemodel', val);\n this.$emit('update:modelValue', val);\n this.$emit('change', {\n component: this,\n event: event,\n value: val\n });\n }\n },\n handleChange: function handleChange(event) {\n var currentValue = event.value;\n this.dispatchChangeEvent(event, currentValue);\n },\n handleFocus: function handleFocus(event) {\n if (!this.disabled) {\n this.$emit('focus', event, undefined);\n }\n },\n handleEnter: function handleEnter(event) {\n var newEvent = {\n component: this,\n event: event,\n value: this.focusedIdx\n };\n this.dispatchChangeEvent(newEvent, this.focusedIdx);\n },\n handleFocusin: function handleFocusin() {\n this.currentFocused = true;\n },\n handleFocusout: function handleFocusout() {\n this.currentFocused = false;\n },\n handleKeyDown: function handleKeyDown(event) {\n var isCurrentRtl = this.currentDir === 'rtl';\n var currIndex = this.focusedIdx;\n var maxNavIndex = this.items.length - 1;\n switch (event.keyCode) {\n case Keys.left:\n event.preventDefault();\n if (!isCurrentRtl && currIndex > 0) {\n this.focusedIdx = currIndex - 1;\n }\n if (isCurrentRtl && currIndex < maxNavIndex) {\n this.focusedIdx = currIndex + 1;\n }\n break;\n case Keys.right:\n event.preventDefault();\n if (!isCurrentRtl && currIndex < maxNavIndex) {\n this.focusedIdx = currIndex + 1;\n }\n if (isCurrentRtl && currIndex > 0) {\n this.focusedIdx = currIndex - 1;\n }\n break;\n case Keys.up:\n event.preventDefault();\n if (!isCurrentRtl && currIndex > 0) {\n this.focusedIdx = currIndex - 1;\n }\n if (isCurrentRtl && currIndex > 0) {\n this.focusedIdx = currIndex - 1;\n }\n break;\n case Keys.down:\n event.preventDefault();\n if (!isCurrentRtl && currIndex < maxNavIndex) {\n this.focusedIdx = currIndex + 1;\n }\n if (isCurrentRtl && currIndex < maxNavIndex) {\n this.focusedIdx = currIndex + 1;\n }\n break;\n case Keys.home:\n event.preventDefault();\n this.focusedIdx = 0;\n break;\n case Keys.end:\n event.preventDefault();\n this.focusedIdx = maxNavIndex;\n break;\n case Keys.space:\n case Keys.enter:\n event.preventDefault();\n if (!this.items[currIndex].disabled) {\n this.handleEnter(event);\n }\n break;\n default:\n }\n }\n }\n};\n/**\n * Represents the [Kendo UI for Vue Stepper component]({% slug overview_stepper %}).\n *\n * ```jsx\n * \n *\n * \n * ```\n *\n */\nvar Stepper = StepperVue2;\nexport { Stepper, StepperVue2 };","/**\n * @hidden\n */\nexport var EMPTY_ID = '';\n/**\n * @hidden\n */\nexport var ZERO_LEVEL_ZERO_ITEM_ID = '0';\n/**\n * @hidden\n */\nexport var SEPARATOR = '_';\n/**\n * @hidden\n */\nexport function getItemById(itemId, items) {\n if (isIdZeroLevel(itemId)) {\n return items[Number(itemId)];\n }\n else {\n var rootParentItem = items[Number(getRootParentId(itemId))];\n return rootParentItem.items ?\n getItemById(getIdWithoutRootParentId(itemId), rootParentItem.items) : undefined;\n }\n}\n/**\n * @hidden\n */\nexport function getRootParentId(itemId) {\n return isIdEmptyOrZeroLevel(itemId) ? itemId : itemId.split(SEPARATOR)[0];\n}\n/**\n * @hidden\n */\nexport function getIdWithoutRootParentId(itemId) {\n if (isIdEmptyOrZeroLevel(itemId)) {\n return itemId;\n }\n else {\n var firstSeparatorIndex = itemId.indexOf(SEPARATOR);\n return itemId.substring(firstSeparatorIndex + 1);\n }\n}\n/**\n * @hidden\n */\nexport function getFirstChildId(itemId) {\n return createId('0', itemId);\n}\n/**\n * @hidden\n */\nexport function shouldOpenItem(itemId, lastItemIdToBeOpened) {\n if (lastItemIdToBeOpened.indexOf(itemId) === 0) {\n return lastItemIdToBeOpened.length === itemId.length ||\n lastItemIdToBeOpened.charAt(itemId.length) === SEPARATOR;\n }\n else {\n return false;\n }\n}\n/**\n * @hidden\n */\nexport function createId(childId, parentId) {\n return parentId ? parentId + SEPARATOR + childId : childId;\n}\n/**\n * @hidden\n */\nexport function getDirectParentId(itemId) {\n var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);\n return lastSeparatorIndex < 0 ? EMPTY_ID : itemId.substring(0, lastSeparatorIndex);\n}\n/**\n * @hidden\n */\nexport function isIdEmptyOrZeroLevel(itemId) {\n return itemId === EMPTY_ID || itemId.indexOf(SEPARATOR) < 0;\n}\n/**\n * @hidden\n */\nexport function isIdZeroLevel(itemId) {\n return itemId !== EMPTY_ID && itemId.indexOf(SEPARATOR) < 0;\n}\n/**\n * @hidden\n */\nexport function isIdFirstLevel(itemId) {\n return getSeparatorOccurances(itemId) === 1;\n}\n/**\n * @hidden\n */\nexport function isFirstItemFromSiblings(itemId) {\n return getShortId(itemId) === ZERO_LEVEL_ZERO_ITEM_ID;\n}\n/**\n * @hidden\n */\nexport function getShortId(itemId) {\n var lastSeparatorIndex = itemId.lastIndexOf(SEPARATOR);\n return lastSeparatorIndex < 0 ? itemId : itemId.substring(lastSeparatorIndex + 1);\n}\n/**\n * @hidden\n */\nexport function getDirectSiblingIdForLevelZero(next, shortItemId, siblingsCount) {\n if (!isIdZeroLevel(shortItemId)) {\n return shortItemId;\n }\n return next ?\n Number(shortItemId) < siblingsCount - 1 ? (Number(shortItemId) + 1).toString() : '0' :\n Number(shortItemId) > 0 ? (Number(shortItemId) - 1).toString() : (siblingsCount - 1).toString();\n}\nfunction getSeparatorOccurances(itemId) {\n return itemId.split(SEPARATOR).length - 1;\n}\n","import { templateRendering, getListeners } from '@progress/kendo-vue-common';\nimport { createId, ZERO_LEVEL_ZERO_ITEM_ID } from './itemsIdsUtils';\n/**\n * @hidden\n */\nexport function prepareInputItemsForInternalWork(models) {\n if (models && models.length > 0) {\n return {\n items: convertInputModelsToInternalOnesHelper.call(this, models),\n inputItems: models\n };\n }\n else {\n return { items: [], inputItems: [] };\n }\n}\nfunction copyInputItemWithoutChildren(inputModel) {\n var result = {};\n var text = inputModel.text, url = inputModel.url, icon = inputModel.icon, disabled = inputModel.disabled, cssClass = inputModel.cssClass, popupClass = inputModel.popupClass, cssStyle = inputModel.cssStyle, render = inputModel.render, linkRender = inputModel.linkRender, contentRender = inputModel.contentRender, data = inputModel.data;\n if (text !== undefined) {\n result.text = text;\n }\n if (url !== undefined) {\n result.url = url;\n }\n if (icon !== undefined) {\n result.icon = icon;\n }\n if (disabled !== undefined) {\n result.disabled = disabled;\n }\n if (cssClass !== undefined) {\n result.cssClass = cssClass;\n }\n if (popupClass !== undefined) {\n result.popupClass = popupClass;\n }\n if (cssStyle !== undefined) {\n result.cssStyle = cssStyle;\n }\n if (render !== undefined) {\n result.render = templateRendering.call(this, render, getListeners.call(this));\n }\n if (linkRender !== undefined) {\n result.linkRender = templateRendering.call(this, linkRender, getListeners.call(this));\n }\n if (contentRender !== undefined) {\n result.contentRender = templateRendering.call(this, contentRender, getListeners.call(this));\n }\n if (data !== undefined) {\n result.data = data;\n }\n return result;\n}\nfunction convertInputModelsToInternalOnesHelper(inputModels, parentId) {\n var result = [];\n for (var index = 0; index < inputModels.length; index++) {\n var inputModel = inputModels[index];\n var internalModel = copyInputItemWithoutChildren.call(this, inputModel);\n internalModel.id = createId(index.toString(), parentId);\n internalModel.isLastFromSiblings = index === inputModels.length - 1;\n internalModel.items = copyOrCreateModelChildren.call(this, inputModel, internalModel);\n result.push(internalModel);\n }\n return result;\n}\nfunction copyOrCreateModelChildren(inputModel, internalModel) {\n if (inputModel.contentRender) {\n return [{\n contentParentItemId: internalModel.id,\n id: createId(ZERO_LEVEL_ZERO_ITEM_ID, internalModel.id),\n isLastFromSiblings: true,\n contentRender: templateRendering.call(this, inputModel.contentRender, getListeners.call(this)),\n items: []\n }];\n }\n else if (inputModel.items) {\n return convertInputModelsToInternalOnesHelper.call(this, inputModel.items, internalModel.id);\n }\n else {\n return [];\n }\n}\n","import { Keys } from '@progress/kendo-vue-common';\nimport { getFirstChildId, isIdZeroLevel, getRootParentId, isIdFirstLevel, getDirectParentId, getShortId, createId, getDirectSiblingIdForLevelZero, getItemById as getItemByIdUtil } from './itemsIdsUtils';\nvar NO_WHITESPACE_REGEX = /\\S/;\n/**\n * @hidden\n * Returns the `itemId` (string) for applicable key codes even when the id has not changed.\n * For key codes that are not applicable, returns `undefined`.\n */\nexport function getNewItemIdUponKeyboardNavigation(sourceItems, sourceItemId, keyCode, key, isMenuVertical, isDirectionRightToLeft) {\n var sourceItem = getItemById();\n switch (keyCode) {\n case Keys.left:\n return getIdUponLeftKey();\n case Keys.right:\n return getIdUponRightKey();\n case Keys.up:\n return getIdUponUpKey();\n case Keys.down:\n return getIdUponDownKey();\n case Keys.enter:\n case Keys.space:\n return getIdUponEnterAndSpaceKeys();\n case Keys.home:\n return getIdUponHomeKey();\n case Keys.end:\n return getIdUponEndKey();\n case Keys.esc:\n return getIdUponEscKey();\n default:\n return isSearchableKey() ? getIdUponSearchByChar() : sourceItemId;\n }\n function getIdUponLeftKey() {\n if (isMenuVertical) {\n return isDirectionRightToLeft ? getIdUponRightKeyForVerticalMenu() : getIdUponLeftKeyForVerticalMenu();\n }\n else {\n return isDirectionRightToLeft ?\n getIdUponRightKeyForHorizontalMenu() : getIdUponLeftKeyForHorizontalMenu();\n }\n }\n function getIdUponRightKey() {\n if (isMenuVertical) {\n return isDirectionRightToLeft ? getIdUponLeftKeyForVerticalMenu() : getIdUponRightKeyForVerticalMenu();\n }\n else {\n return isDirectionRightToLeft ?\n getIdUponLeftKeyForHorizontalMenu() : getIdUponRightKeyForHorizontalMenu();\n }\n }\n function getIdUponDownKey() {\n if (isMenuVertical) {\n return getNextSiblingId();\n }\n else {\n if (isIdZeroLevel(sourceItemId)) {\n return getFirstChildIdForEnabledItemOrGetSameId();\n }\n else {\n return getNextSiblingId();\n }\n }\n }\n function getIdUponUpKey() {\n if (isMenuVertical) {\n return getPrevSiblingId();\n }\n else {\n if (isIdZeroLevel(sourceItemId)) {\n return getLastChildIdForEnabledItemOrGetSameId();\n }\n else {\n return getPrevSiblingId();\n }\n }\n }\n function getIdUponEnterAndSpaceKeys() {\n if (sourceItem.disabled) {\n return sourceItemId;\n }\n else {\n return hasChildren() ? getFirstChildId(sourceItemId) : getRootParentId(sourceItemId);\n }\n }\n function getIdUponHomeKey() {\n return getSiblings()[0].id;\n }\n function getIdUponEndKey() {\n var siblings = getSiblings();\n return siblings[siblings.length - 1].id;\n }\n function getIdUponEscKey() {\n return isIdZeroLevel(sourceItemId) ? sourceItemId : getDirectParentId(sourceItemId);\n }\n function getIdUponSearchByChar() {\n var searchChar = key.toLowerCase();\n var siblings = getSiblings();\n var currentItemIndex = Number(getShortId(sourceItemId));\n var itemsToSearch = siblings.slice(currentItemIndex + 1).concat(siblings.slice(0, currentItemIndex + 1));\n var matchedSibling = itemsToSearch.find(function (item) {\n return (item.text || '').toLowerCase().startsWith(searchChar);\n });\n return matchedSibling ? matchedSibling.id : sourceItemId;\n }\n // #region Left Key Internals\n function getIdUponLeftKeyForHorizontalMenu() {\n if (isIdZeroLevel(sourceItemId)) {\n return getPrevSiblingId();\n }\n else if (isIdFirstLevel(sourceItemId)) {\n return getFirstChildIdForEnabledItemOrGetSameId(getPrevSiblingId(getRootParentId(sourceItemId)));\n }\n else {\n return getDirectParentId(sourceItemId);\n }\n }\n function getIdUponLeftKeyForVerticalMenu() {\n if (isIdZeroLevel(sourceItemId)) {\n return getLastChildIdForEnabledItemOrGetSameId();\n }\n else {\n return getDirectParentId(sourceItemId);\n }\n }\n // #endregion\n // #region Right Key Internals\n function getIdUponRightKeyForHorizontalMenu() {\n if (isIdZeroLevel(sourceItemId)) {\n return getNextSiblingId();\n }\n else {\n return getFirstChildIdForEnabledItemOrGetSameId(hasChildren() ? sourceItemId : getNextSiblingId(getRootParentId(sourceItemId)));\n }\n }\n function getIdUponRightKeyForVerticalMenu() {\n return getFirstChildIdForEnabledItemOrGetSameId(isIdZeroLevel(sourceItemId) || hasChildren() ?\n sourceItemId : getNextSiblingId(getRootParentId(sourceItemId)));\n }\n // #endregion\n // #region Utils\n function getFirstChildIdForEnabledItemOrGetSameId(itemId) {\n return getFirstOrLastChildIdForEnabledItemOrGetSameId(true, itemId);\n }\n function getLastChildIdForEnabledItemOrGetSameId(itemId) {\n return getFirstOrLastChildIdForEnabledItemOrGetSameId(false, itemId);\n }\n function isSearchableKey() {\n return key.length === 1 && NO_WHITESPACE_REGEX.test(key);\n }\n function getItemById(itemId, items) {\n if (itemId === undefined) {\n itemId = sourceItemId;\n }\n if (items === undefined) {\n items = sourceItems;\n }\n return getItemByIdUtil(itemId, items);\n }\n function hasChildren(itemId) {\n return getItemById(itemId).items.length > 0;\n }\n function getPrevSiblingId(itemId) {\n return getSiblingId(false, itemId);\n }\n function getNextSiblingId(itemId) {\n return getSiblingId(true, itemId);\n }\n function getLastChildId(itemId) {\n var itemChildren = getItemById(itemId).items;\n return itemChildren[itemChildren.length - 1].id;\n }\n function getSiblings() {\n return isIdZeroLevel(sourceItemId) ?\n sourceItems : getItemById(getDirectParentId(sourceItemId), sourceItems).items;\n }\n function getFirstOrLastChildIdForEnabledItemOrGetSameId(getFirstChild, itemId) {\n if (itemId === undefined) {\n itemId = sourceItemId;\n }\n var item = getItemById(itemId);\n if (hasChildren(itemId) && !item.disabled) {\n return getFirstChild ? getFirstChildId(itemId) : getLastChildId(itemId);\n }\n else {\n return itemId;\n }\n }\n function getSiblingId(next, itemId) {\n if (itemId === undefined) {\n itemId = sourceItemId;\n }\n if (isIdZeroLevel(itemId)) {\n return getDirectSiblingIdForLevelZero(next, itemId, sourceItems.length);\n }\n else {\n var directParentId = getDirectParentId(itemId);\n var shortId = getShortId(itemId);\n var siblingsCount = getItemById(directParentId).items.length;\n return createId(getDirectSiblingIdForLevelZero(next, shortId, siblingsCount), directParentId);\n }\n }\n // #endregion\n}\n","/**\n * @hidden\n */\nexport function getHoverOpenDelay(props) {\n if (props.hoverOpenDelay !== undefined) {\n return props.hoverOpenDelay;\n }\n else {\n return props.openOnClick ? 0 : 100;\n }\n}\n/**\n * @hidden\n */\nexport function getHoverCloseDelay(props) {\n return props.hoverCloseDelay !== undefined ? props.hoverCloseDelay : 100;\n}\n","/**\n * @hidden\n */\nvar POPUP_ALIGN = {\n vertical: 'top',\n horizontal: 'left'\n};\n/**\n * @hidden\n */\nvar POPUP_ALIGN_RTL = {\n vertical: 'top',\n horizontal: 'right'\n};\n/**\n * @hidden\n */\nvar VERTICAL_COLLISION = {\n vertical: 'flip',\n horizontal: 'fit'\n};\n/**\n * @hidden\n */\nvar HORIZONTAL_COLLISION = {\n vertical: 'fit',\n horizontal: 'flip'\n};\n/**\n * @hidden\n */\nexport var POPUP_SETTINGS_RTL = {\n downward: {\n anchorAlign: {\n vertical: 'bottom',\n horizontal: 'right'\n },\n popupAlign: POPUP_ALIGN_RTL,\n collision: VERTICAL_COLLISION\n },\n leftward: {\n anchorAlign: {\n vertical: 'top',\n horizontal: 'left'\n },\n popupAlign: POPUP_ALIGN_RTL,\n collision: HORIZONTAL_COLLISION\n }\n};\n/**\n * @hidden\n */\nexport var POPUP_SETTINGS = {\n downward: {\n anchorAlign: {\n vertical: 'bottom',\n horizontal: 'left'\n },\n popupAlign: POPUP_ALIGN,\n collision: VERTICAL_COLLISION\n },\n rightward: {\n anchorAlign: {\n vertical: 'top',\n horizontal: 'right'\n },\n popupAlign: POPUP_ALIGN,\n collision: HORIZONTAL_COLLISION\n }\n};\n","import { POPUP_SETTINGS, POPUP_SETTINGS_RTL } from '../consts';\nimport { isIdZeroLevel } from './itemsIdsUtils';\n/**\n * @hidden\n */\nexport function getPopupSettings(itemId, isMenuVertical, isDirectionRightToLeft) {\n var childrenPosition = getChildrenPosition(itemId, isMenuVertical, isDirectionRightToLeft);\n if (isDirectionRightToLeft) {\n return childrenPosition === 'downward' ? POPUP_SETTINGS_RTL.downward : POPUP_SETTINGS_RTL.leftward;\n }\n else {\n return childrenPosition === 'downward' ? POPUP_SETTINGS.downward : POPUP_SETTINGS.rightward;\n }\n}\n/**\n * @hidden\n */\nexport function getChildrenPosition(itemId, isMenuVertical, isDirectionRightToLeft) {\n if (isIdZeroLevel(itemId)) {\n if (isMenuVertical) {\n return isDirectionRightToLeft ? 'leftward' : 'rightward';\n }\n else {\n return 'downward';\n }\n }\n else {\n return isDirectionRightToLeft ? 'leftward' : 'rightward';\n }\n}\n/**\n * @hidden\n */\nexport function convertBoolDirectionToString(isDirectionRightToLeft) {\n return isDirectionRightToLeft ? 'rtl' : 'ltr';\n}\n/**\n * @hidden\n */\nexport function getDOMElementId(menuGuid, itemId) {\n return \"\".concat(menuGuid, \"_\").concat(itemId);\n}\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar MenuItemLinkVue2 = {\n name: 'KendoMenuItemLink',\n props: {\n opened: Boolean,\n focused: Boolean,\n url: String\n },\n computed: {\n menuItemClassName: function menuItemClassName() {\n return {\n 'k-link': true,\n 'k-menu-link': true,\n 'k-active': this.$props.opened,\n 'k-focus': this.$props.focused\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n if (this.$props.url) {\n return h(\"a\", {\n \"class\": this.menuItemClassName,\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\",\n href: this.$props.url,\n tabindex: -1\n },\n href: this.$props.url,\n tabindex: -1\n }, [defaultSlot]);\n } else {\n return h(\"span\", {\n \"class\": this.menuItemClassName,\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [defaultSlot]);\n }\n }\n};\n/**\n * @hidden\n */\nvar MenuItemLink = MenuItemLinkVue2;\nexport { MenuItemLink, MenuItemLinkVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Icon } from '@progress/kendo-vue-common';\nimport { getChildrenPosition } from '../utils/misc';\n/**\n * @hidden\n */\nexport var downArrowClass = 'caret-alt-down';\n/**\n * @hidden\n */\nexport var rightArrowClass = 'caret-alt-right';\n/**\n * @hidden\n */\nexport var leftArrowClass = 'caret-alt-left';\n/**\n * @hidden\n */\nvar MenuItemArrowVue2 = {\n name: 'KendoMenuItemArrow',\n props: {\n itemId: String,\n dir: String,\n verticalMenu: Boolean\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"span\", {\n \"class\": \"k-menu-expand-arrow\",\n \"aria-hidden\": \"true\",\n attrs: this.v3 ? undefined : {\n \"aria-hidden\": \"true\"\n }\n }, [h(Icon, {\n name: this.getArrowName(),\n attrs: this.v3 ? undefined : {\n name: this.getArrowName(),\n role: \"presentation\"\n },\n role: \"presentation\"\n })]);\n },\n methods: {\n getArrowName: function getArrowName() {\n var childrenPosition = getChildrenPosition(this.$props.itemId, this.$props.verticalMenu === true, this.$props.dir === 'rtl');\n return childrenPosition === 'downward' ? downArrowClass : childrenPosition === 'rightward' ? rightArrowClass : childrenPosition === 'leftward' ? leftArrowClass : '';\n }\n }\n};\n/**\n * @hidden\n */\nvar MenuItemArrow = MenuItemArrowVue2;\nexport { MenuItemArrow, MenuItemArrowVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, guid, getTemplate, setRef, getRef, Icon } from '@progress/kendo-vue-common';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { shouldOpenItem, isFirstItemFromSiblings } from '../utils/itemsIdsUtils';\nimport { getPopupSettings, convertBoolDirectionToString, getDOMElementId } from '../utils/misc';\nimport { MenuItemLink } from './MenuItemLink';\nimport { MenuItemInternalsList } from './MenuItemInternalsList';\nimport { MenuItemArrow } from './MenuItemArrow';\n/**\n * @hidden\n */\nvar MenuItemInternalVue2 = {\n name: 'KendoMenuItemInternal',\n // @ts-ignore\n emits: {\n 'keydown': null,\n 'mouseover': null,\n 'mouseleave': null,\n 'blur': null,\n 'focus': null,\n 'click': null,\n 'mousedown': null\n },\n props: {\n item: Object,\n focusedItemId: String,\n lastItemIdToBeOpened: String,\n tabbableItemId: String,\n itemRender: [String, Object, Function],\n linkRender: [String, Object, Function],\n isMenuVertical: Boolean,\n isDirectionRightToLeft: Boolean,\n menuGuid: String,\n originalItemNeeded: Function\n },\n created: function created() {\n this.itemElement = null;\n this.prevFocusedItemId = this.$props.focusedItemId;\n this.isFirstRender = true;\n this._anchor = guid();\n },\n data: function data() {\n return {\n opened: false\n };\n },\n mounted: function mounted() {\n this.itemElement = getRef(this, 'kendoAnchor', this._anchor);\n var focusedItemId = this.$props.focusedItemId;\n var currentItemId = this.$props.item.id;\n // If the menu item component has been just mounted due to\n // keyboard navigation and it is the selected one.\n if (focusedItemId && focusedItemId === currentItemId && this.itemElement) {\n this.itemElement.focus();\n }\n this.isFirstRender = false;\n },\n watch: {\n focusedItemId: function focusedItemId(_, oldValue) {\n this.prevFocusedItemId = oldValue;\n }\n },\n updated: function updated() {\n var focusedItemId = this.$props.focusedItemId;\n var currentItemId = this.$props.item.id;\n if (focusedItemId) {\n // If the item has been navigated to via the keyboard navigation\n // (Clicking and focusing an item also come here).\n if (this.prevFocusedItemId !== focusedItemId && focusedItemId === currentItemId\n // No need to focus the wrapping menu item DOM element\n // when a child DOM element was clicked.\n && !this.itemElement.contains(document.activeElement)) {\n this.itemElement.focus();\n }\n } else if (document.activeElement === this.itemElement) {\n this.itemElement.blur();\n }\n },\n computed: {\n currentItemRender: function currentItemRender() {\n return this.$props.item.render || this.$props.itemRender;\n },\n currentLinkRender: function currentLinkRender() {\n return this.$props.item.linkRender || this.$props.linkRender;\n },\n contentRender: function contentRender() {\n return this.$props.item.contentParentItemId ? this.$props.item.contentRender : null;\n },\n currentOpened: function currentOpened() {\n var props = this.$props;\n return props.item.items.length > 0 && shouldOpenItem(props.item.id, props.lastItemIdToBeOpened) &&\n // HACK: Wait for the second render because otherwise the scenario of\n // popup inside popup throws an error (for example, hover of item with id '0_0').\n !this.isFirstRender;\n },\n currentFocused: function currentFocused() {\n var focusedItemId = this.$props.focusedItemId;\n var currentItemId = this.$props.item.id;\n return focusedItemId === currentItemId;\n },\n popupClassName: function popupClassName() {\n var _a;\n return classNames((_a = {\n 'k-menu-popup': true,\n 'k-rtl': this.$props.isDirectionRightToLeft\n }, _a[this.item.popupClass] = this.item.popupClass, _a));\n },\n menuItemClassName: function menuItemClassName() {\n var _a;\n var item = this.$props.item;\n return _a = {\n 'k-item': true,\n 'k-menu-item': true,\n 'k-first': isFirstItemFromSiblings(item.id),\n 'k-last': item.isLastFromSiblings,\n 'k-disabled': item.disabled\n }, _a[item.cssClass ? item.cssClass : ''] = item.cssClass, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var item = this.$props.item;\n var itemId = item.id;\n var renderContent = function renderContent() {\n var parentItemId = this.$props.item.contentParentItemId;\n var contentRender = function contentRender(args) {\n return getTemplate.call(this, {\n h: h,\n template: this.contentRender,\n additionalProps: args\n });\n };\n return h(\"div\", {\n \"class\": \"k-content\",\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }, [contentRender.call(this, {\n item: this.handleOriginalItemNeeded(parentItemId),\n itemId: parentItemId\n })]);\n };\n var renderMenuIconIfApplicable = function renderMenuIconIfApplicable() {\n return this.$props.item.icon ? h(Icon, {\n name: this.$props.item.icon,\n attrs: this.v3 ? undefined : {\n name: this.$props.item.icon\n },\n key: \"0\"\n }) : null;\n };\n var renderArrowIfApplicable = function renderArrowIfApplicable() {\n return this.$props.item.items.length > 0 ?\n // @ts-ignore\n h(MenuItemArrow, {\n itemId: this.$props.item.id,\n attrs: this.v3 ? undefined : {\n itemId: this.$props.item.id,\n verticalMenu: this.$props.isMenuVertical,\n dir: convertBoolDirectionToString(this.$props.isDirectionRightToLeft)\n },\n verticalMenu: this.$props.isMenuVertical,\n dir: convertBoolDirectionToString(this.$props.isDirectionRightToLeft),\n key: \"2\"\n }) : null;\n };\n var originalItem = this.$props.originalItemNeeded(item.id);\n var renderMenuItemLink = function renderMenuItemLink() {\n var _this2 = this;\n var defaultItemRender = h(\"span\", {\n \"class\": \"k-menu-link-text\"\n }, [item.text]);\n var textOrItemRender = getTemplate.call(this, {\n h: h,\n template: this.currentItemRender,\n defaultRendering: defaultItemRender,\n additionalProps: {\n item: originalItem,\n itemId: item.id,\n key: '1'\n }\n });\n var defaultLink =\n // @ts-ignore function children\n h(MenuItemLink, {\n url: item.url,\n attrs: this.v3 ? undefined : {\n url: item.url,\n opened: this.currentOpened,\n focused: this.currentFocused\n },\n opened: this.currentOpened,\n focused: this.currentFocused\n }, this.v3 ? function () {\n return [[renderMenuIconIfApplicable.call(_this2), textOrItemRender, renderArrowIfApplicable.call(_this2)]];\n } : [[renderMenuIconIfApplicable.call(_this2), textOrItemRender, renderArrowIfApplicable.call(_this2)]]);\n return getTemplate.call(this, {\n h: h,\n template: this.currentLinkRender,\n defaultRendering: defaultLink,\n additionalProps: {\n item: originalItem,\n itemId: item.id,\n opened: this.currentOpened,\n dir: convertBoolDirectionToString(this.$props.isDirectionRightToLeft)\n }\n });\n };\n var renderPopupIfOpened = function renderPopupIfOpened() {\n var _this3 = this;\n var _a = getPopupSettings(itemId, this.$props.isMenuVertical, this.$props.isDirectionRightToLeft),\n anchorAlign = _a.anchorAlign,\n popupAlign = _a.popupAlign,\n collision = _a.collision;\n return (\n // @ts-ignore function children\n h(Popup, {\n anchor: this._anchor,\n attrs: this.v3 ? undefined : {\n anchor: this._anchor,\n show: this.currentOpened,\n popupClass: this.popupClassName,\n anchorAlign: anchorAlign,\n popupAlign: popupAlign,\n collision: collision,\n animate: false\n },\n show: this.currentOpened,\n popupClass: this.popupClassName,\n anchorAlign: anchorAlign,\n popupAlign: popupAlign,\n collision: collision,\n animate: false,\n key: \"1\"\n }, this.v3 ? function () {\n return [\n // @ts-ignore\n h(MenuItemInternalsList, {\n parentItemId: itemId,\n attrs: _this3.v3 ? undefined : {\n parentItemId: itemId,\n items: _this3.$props.item.items,\n menuGuid: _this3.$props.menuGuid,\n focusedItemId: _this3.$props.focusedItemId,\n lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,\n tabbableItemId: _this3.$props.tabbableItemId,\n itemRender: _this3.$props.itemRender,\n linkRender: _this3.$props.linkRender,\n isMenuVertical: _this3.$props.isMenuVertical,\n isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,\n originalItemNeeded: _this3.handleOriginalItemNeeded\n },\n items: _this3.$props.item.items,\n menuGuid: _this3.$props.menuGuid,\n focusedItemId: _this3.$props.focusedItemId,\n lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,\n tabbableItemId: _this3.$props.tabbableItemId,\n itemRender: _this3.$props.itemRender,\n linkRender: _this3.$props.linkRender,\n isMenuVertical: _this3.$props.isMenuVertical,\n isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,\n \"class\": \"k-group k-menu-group k-menu-group-md k-reset\",\n onMouseover: _this3.handleItemMouseOver,\n on: _this3.v3 ? undefined : {\n \"mouseover\": _this3.handleItemMouseOver,\n \"mouseleave\": _this3.handleItemMouseLeave,\n \"mousedown\": _this3.handleMouseDown,\n \"blur\": _this3.handleItemMouseBlur,\n \"focus\": _this3.handleItemMouseFocus,\n \"click\": _this3.handleClick,\n \"keydown\": _this3.handleKeyDown\n },\n onMouseleave: _this3.handleItemMouseLeave,\n onMousedown: _this3.handleMouseDown,\n onBlur: _this3.handleItemMouseBlur,\n onFocus: _this3.handleItemMouseFocus,\n onClick: _this3.handleClick,\n onKeydown: _this3.handleKeyDown,\n originalItemNeeded: _this3.handleOriginalItemNeeded\n })];\n } : [h(MenuItemInternalsList, {\n parentItemId: itemId,\n attrs: _this3.v3 ? undefined : {\n parentItemId: itemId,\n items: _this3.$props.item.items,\n menuGuid: _this3.$props.menuGuid,\n focusedItemId: _this3.$props.focusedItemId,\n lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,\n tabbableItemId: _this3.$props.tabbableItemId,\n itemRender: _this3.$props.itemRender,\n linkRender: _this3.$props.linkRender,\n isMenuVertical: _this3.$props.isMenuVertical,\n isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,\n originalItemNeeded: _this3.handleOriginalItemNeeded\n },\n items: _this3.$props.item.items,\n menuGuid: _this3.$props.menuGuid,\n focusedItemId: _this3.$props.focusedItemId,\n lastItemIdToBeOpened: _this3.$props.lastItemIdToBeOpened,\n tabbableItemId: _this3.$props.tabbableItemId,\n itemRender: _this3.$props.itemRender,\n linkRender: _this3.$props.linkRender,\n isMenuVertical: _this3.$props.isMenuVertical,\n isDirectionRightToLeft: _this3.$props.isDirectionRightToLeft,\n \"class\": \"k-group k-menu-group k-menu-group-md k-reset\",\n onMouseover: _this3.handleItemMouseOver,\n on: _this3.v3 ? undefined : {\n \"mouseover\": _this3.handleItemMouseOver,\n \"mouseleave\": _this3.handleItemMouseLeave,\n \"mousedown\": _this3.handleMouseDown,\n \"blur\": _this3.handleItemMouseBlur,\n \"focus\": _this3.handleItemMouseFocus,\n \"click\": _this3.handleClick,\n \"keydown\": _this3.handleKeyDown\n },\n onMouseleave: _this3.handleItemMouseLeave,\n onMousedown: _this3.handleMouseDown,\n onBlur: _this3.handleItemMouseBlur,\n onFocus: _this3.handleItemMouseFocus,\n onClick: _this3.handleClick,\n onKeydown: _this3.handleKeyDown,\n originalItemNeeded: _this3.handleOriginalItemNeeded\n })])\n );\n };\n return h(\"li\", {\n \"class\": this.menuItemClassName,\n style: item.cssStyle,\n tabindex: itemId === this.$props.tabbableItemId ? 0 : -1,\n attrs: this.v3 ? undefined : {\n tabindex: itemId === this.$props.tabbableItemId ? 0 : -1,\n role: \"menuitem\",\n \"aria-disabled\": item.disabled ? true : undefined,\n \"aria-haspopup\": item.items.length > 0 ? true : undefined,\n \"aria-expanded\": item.items.length > 0 ? this.currentOpened : undefined,\n \"aria-label\": item.text,\n \"aria-owns\": this.currentOpened ? getDOMElementId(this.$props.menuGuid, itemId) : undefined\n },\n onMouseover: this.onMouseOver,\n on: this.v3 ? undefined : {\n \"mouseover\": this.onMouseOver,\n \"mouseleave\": this.onMouseLeave,\n \"mousedown\": function mousedown(event) {\n return _this.handleMouseDown(event);\n },\n \"focusout\": function focusout() {\n return _this.handleBlur(itemId);\n },\n \"focusin\": function focusin() {\n return _this.handleFocus(itemId);\n },\n \"click\": function click(event) {\n return _this.handleClick(event, itemId);\n },\n \"keydown\": this.handleKeyDown\n },\n onMouseleave: this.onMouseLeave,\n onMousedown: function mousedown(event) {\n return _this.handleMouseDown(event);\n },\n onFocusout: function focusout() {\n return _this.handleBlur(itemId);\n },\n onFocusin: function focusin() {\n return _this.handleFocus(itemId);\n },\n onClick: function click(event) {\n return _this.handleClick(event, itemId);\n },\n onKeydown: this.handleKeyDown,\n role: \"menuitem\",\n \"aria-disabled\": item.disabled ? true : undefined,\n \"aria-haspopup\": item.items.length > 0 ? true : undefined,\n \"aria-expanded\": item.items.length > 0 ? this.currentOpened : undefined,\n \"aria-label\": item.text,\n \"aria-owns\": this.currentOpened ? getDOMElementId(this.$props.menuGuid, itemId) : undefined,\n ref: setRef(this, 'kendoAnchor', this._anchor),\n key: \"0\"\n }, [this.contentRender ? renderContent.call(this) : renderMenuItemLink.call(this), renderPopupIfOpened.call(this)]);\n },\n methods: {\n handleKeyDown: function handleKeyDown(event) {\n this.$emit('keydown', event);\n },\n handleItemMouseOver: function handleItemMouseOver(event) {\n this.$emit('mouseover', event);\n },\n handleItemMouseLeave: function handleItemMouseLeave(event) {\n this.$emit('mouseleave', event);\n },\n handleItemMouseBlur: function handleItemMouseBlur(event) {\n this.$emit('blur', event);\n },\n handleItemMouseFocus: function handleItemMouseFocus(event) {\n this.$emit('focus', event);\n },\n handleClick: function handleClick(event, itemId) {\n this.$emit('click', event, itemId);\n },\n handleBlur: function handleBlur(itemId) {\n this.$emit('blur', itemId);\n },\n handleFocus: function handleFocus(itemId) {\n this.$emit('focus', itemId);\n },\n handleMouseDown: function handleMouseDown(event) {\n this.$emit('mousedown', event);\n },\n handleOriginalItemNeeded: function handleOriginalItemNeeded(event) {\n return this.$props.originalItemNeeded(event);\n },\n onMouseOver: function onMouseOver(event) {\n this.$emit('mouseover', this.$props.item.id);\n event.stopPropagation();\n },\n onMouseLeave: function onMouseLeave(event) {\n this.$emit('mouseleave', this.$props.item.id);\n event.stopPropagation();\n }\n }\n};\n/**\n * @hidden\n */\nvar MenuItemInternal = MenuItemInternalVue2;\nexport { MenuItemInternal, MenuItemInternalVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { MenuItemInternal } from './MenuItemInternal';\nimport { getDOMElementId } from './../utils/misc';\n/**\n * @hidden\n */\nvar MenuItemInternalsListVue2 = {\n name: 'KendoMenuItemInternalsList',\n // @ts-ignore\n emits: {\n 'keydown': null,\n 'mouseover': null,\n 'mouseleave': null,\n 'blur': null,\n 'focus': null,\n 'click': null,\n 'mousedown': null\n },\n props: {\n items: Array,\n parentItemId: {\n type: String,\n default: undefined\n },\n focusedItemId: String,\n lastItemIdToBeOpened: String,\n tabbableItemId: String,\n itemRender: [String, Object, Function],\n linkRender: [String, Object, Function],\n isMenuVertical: Boolean,\n isDirectionRightToLeft: Boolean,\n menuGuid: String,\n originalItemNeeded: Function\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var parentItemId = this.$props.parentItemId;\n var renderChildItems = function renderChildItems() {\n return this.$props.items.length > 0 ? this.$props.items.map(function (item, index) {\n return (\n // @ts-ignore\n h(MenuItemInternal, {\n item: item,\n attrs: this.v3 ? undefined : {\n item: item,\n isMenuVertical: this.$props.isMenuVertical,\n isDirectionRightToLeft: this.$props.isDirectionRightToLeft,\n focusedItemId: this.$props.focusedItemId,\n lastItemIdToBeOpened: this.$props.lastItemIdToBeOpened,\n tabbableItemId: this.$props.tabbableItemId,\n itemRender: this.$props.itemRender,\n linkRender: this.$props.linkRender,\n menuGuid: this.$props.menuGuid,\n originalItemNeeded: this.handleOriginalItemNeeded\n },\n isMenuVertical: this.$props.isMenuVertical,\n isDirectionRightToLeft: this.$props.isDirectionRightToLeft,\n focusedItemId: this.$props.focusedItemId,\n lastItemIdToBeOpened: this.$props.lastItemIdToBeOpened,\n tabbableItemId: this.$props.tabbableItemId,\n itemRender: this.$props.itemRender,\n linkRender: this.$props.linkRender,\n menuGuid: this.$props.menuGuid,\n onMouseover: this.handleItemMouseOver,\n on: this.v3 ? undefined : {\n \"mouseover\": this.handleItemMouseOver,\n \"mouseleave\": this.handleItemMouseLeave,\n \"mousedown\": this.handleItemMouseDown,\n \"keydown\": this.handleKeyDown,\n \"blur\": this.handleItemMouseBlur,\n \"focus\": this.handleItemMouseFocus,\n \"click\": this.handleItemMouseClick\n },\n onMouseleave: this.handleItemMouseLeave,\n onMousedown: this.handleItemMouseDown,\n onKeydown: this.handleKeyDown,\n onBlur: this.handleItemMouseBlur,\n onFocus: this.handleItemMouseFocus,\n onClick: this.handleItemMouseClick,\n originalItemNeeded: this.handleOriginalItemNeeded,\n key: index\n })\n );\n }, this) : null;\n };\n return h(\"ul\", {\n role: parentItemId !== undefined ? 'menu' : 'menubar',\n attrs: this.v3 ? undefined : {\n role: parentItemId !== undefined ? 'menu' : 'menubar',\n id: parentItemId !== undefined ? getDOMElementId(this.$props.menuGuid, parentItemId) : undefined\n },\n id: parentItemId !== undefined ? getDOMElementId(this.$props.menuGuid, parentItemId) : undefined\n }, [renderChildItems.call(this)]);\n },\n methods: {\n handleKeyDown: function handleKeyDown(event) {\n this.$emit('keydown', event);\n },\n handleOriginalItemNeeded: function handleOriginalItemNeeded(event) {\n return this.$props.originalItemNeeded(event);\n },\n handleItemMouseOver: function handleItemMouseOver(event) {\n this.$emit('mouseover', event);\n },\n handleItemMouseLeave: function handleItemMouseLeave(event) {\n this.$emit('mouseleave', event);\n },\n handleItemMouseDown: function handleItemMouseDown(event) {\n this.$emit('mousedown', event);\n },\n handleItemMouseBlur: function handleItemMouseBlur(event) {\n this.$emit('blur', event);\n },\n handleItemMouseFocus: function handleItemMouseFocus(event) {\n this.$emit('focus', event);\n },\n handleItemMouseClick: function handleItemMouseClick(event, itemId) {\n this.$emit('click', event, itemId);\n },\n onMouseOver: function onMouseOver(event) {\n if (this.$props.parentItemId !== undefined) {\n this.$emit('mouseover', this.$props.parentItemId);\n event.stopPropagation();\n }\n },\n onMouseLeave: function onMouseLeave(event) {\n if (this.$props.parentItemId !== undefined) {\n this.$emit('mouseleave', this.$props.parentItemId);\n event.stopPropagation();\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar MenuItemInternalsList = MenuItemInternalsListVue2;\nexport { MenuItemInternalsList, MenuItemInternalsListVue2 };","/**\n * @hidden\n */\nvar DirectionHolder = /** @class */ (function () {\n function DirectionHolder() {\n // The phase changes in the following sequence:\n // NotInitialized -> Initialized -> NewValueReceived.\n this.phase = 'Initialized';\n }\n DirectionHolder.prototype.getIsDirectionRightToLeft = function () {\n return this.isDirectionRightToLeft;\n };\n DirectionHolder.prototype.setIsDirectionRightToLeft = function (value) {\n this.phase = this.phase === 'NotInitialized' ? 'Initialized' : 'NewValueReceived';\n this.previousIsDirectionRightToLeft = this.isDirectionRightToLeft;\n this.isDirectionRightToLeft = value;\n };\n DirectionHolder.prototype.hasDirectionChanged = function () {\n return this.phase === 'NewValueReceived' ?\n this.previousIsDirectionRightToLeft !== this.isDirectionRightToLeft : false;\n };\n return DirectionHolder;\n}());\nexport { DirectionHolder };\n","/**\n * @hidden\n */\nvar MouseOverHandler = /** @class */ (function () {\n function MouseOverHandler(openOnClick, resetMenu, openItem) {\n this.openOnClick = openOnClick;\n this.resetMenu = resetMenu;\n this.openItem = openItem;\n this.openOnClick = openOnClick;\n this.isMouseOverEnabled = openOnClick ? false : true;\n }\n Object.defineProperty(MouseOverHandler.prototype, \"OpenOnClick\", {\n set: function (value) {\n if (Boolean(value) !== Boolean(this.openOnClick)) {\n this.mouseDown = false;\n this.isMouseOverEnabled = value ? false : true;\n }\n this.openOnClick = value;\n },\n enumerable: false,\n configurable: true\n });\n MouseOverHandler.prototype.handleItemSelectedViaKeyboard = function () {\n if (this.openOnClick) {\n this.isMouseOverEnabled = false;\n this.resetMenu();\n }\n };\n Object.defineProperty(MouseOverHandler.prototype, \"IsMouseOverEnabled\", {\n get: function () {\n return this.isMouseOverEnabled;\n },\n enumerable: false,\n configurable: true\n });\n MouseOverHandler.prototype.handleItemMouseDown = function () {\n this.mouseDown = true;\n };\n MouseOverHandler.prototype.handleItemFocus = function () {\n // Keep opening on mouse over upon tabbing\n // and keyboard navigation. However, discard the event\n // upon click because a cycle occurs and the item does not open.\n if (this.openOnClick && !this.mouseDown) {\n this.isMouseOverEnabled = true;\n }\n this.mouseDown = false;\n };\n MouseOverHandler.prototype.handleItemClick = function (itemId, clickedItemIsWithDefaultClose) {\n if (this.openOnClick) {\n if (this.isMouseOverEnabled) {\n if (clickedItemIsWithDefaultClose) {\n this.isMouseOverEnabled = false;\n this.resetMenu();\n }\n }\n else {\n this.isMouseOverEnabled = true;\n this.openItem(itemId);\n }\n }\n };\n return MouseOverHandler;\n}());\nexport { MouseOverHandler };\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { templateRendering, getListeners, setRef, getRef, canUseDOM } from '@progress/kendo-vue-common';\nimport { Keys, guid, validatePackage } from '@progress/kendo-vue-common';\nimport { getDirectParentId, isIdEmptyOrZeroLevel, EMPTY_ID, ZERO_LEVEL_ZERO_ITEM_ID, getRootParentId, getItemById } from '../utils/itemsIdsUtils';\nimport { prepareInputItemsForInternalWork } from '../utils/prepareInputItemsForInternalWork';\nimport { getNewItemIdUponKeyboardNavigation } from '../utils/getNewItemIdUponKeyboardNavigation';\nimport { getHoverOpenDelay, getHoverCloseDelay } from '../utils/hoverDelay';\nimport { MenuItemInternalsList } from './MenuItemInternalsList';\nimport { DirectionHolder } from '../utils/DirectionHolder';\nimport { MouseOverHandler } from '../utils/MouseOverHandler';\nimport { packageMetadata } from '../../package-metadata';\n/**\n * @hidden\n */\nvar MenuVue2 = {\n name: 'KendoMenu',\n props: {\n vertical: {\n type: Boolean,\n default: false\n },\n items: Array,\n dir: String,\n hoverOpenDelay: {\n type: Number,\n default: undefined\n },\n hoverCloseDelay: {\n type: Number,\n default: undefined\n },\n openOnClick: Boolean,\n itemRender: [String, Object, Function],\n linkRender: [String, Object, Function],\n customCloseItemIds: Array\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.mouseOverHandler = new MouseOverHandler(this.$props.openOnClick, this.reset, this.onItemMouseOver);\n // private itemHoverRequest: any;\n // private itemLeaveRequest: any;\n // private menuWrapperEl: any;\n this.guid = guid();\n this.directionHolder = new DirectionHolder();\n this.inputItems = [];\n this.currentItems = [];\n // private mouseOverHandler: MouseOverHandler;\n },\n\n mounted: function mounted() {\n this.isFirstRender = false;\n this.menuWrapperEl = getRef(this, 'menuWrapper');\n },\n updated: function updated() {\n // Reset the Menu upon big UI changes\n // to avoid misleading the user and to\n // keep the component consistent.\n // if (Boolean(prevProps.vertical) !== Boolean(this.$props.vertical) ||\n // this.directionHolder.hasDirectionChanged()) {\n // this.reset();\n // }\n this.mouseOverHandler.OpenOnClick = this.$props.openOnClick;\n },\n destroyed: !!isV3 ? undefined : function () {\n this.clearItemHoverAndLeaveRequestsIfApplicable();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.clearItemHoverAndLeaveRequestsIfApplicable();\n },\n data: function data() {\n return {\n focusedItemId: EMPTY_ID,\n hoveredItemId: EMPTY_ID,\n tabbableItemId: ZERO_LEVEL_ZERO_ITEM_ID,\n isFirstRender: true\n };\n },\n computed: {\n menuClassName: function menuClassName() {\n return {\n 'k-widget': true,\n 'k-reset': true,\n 'k-header': true,\n 'k-menu': true,\n 'k-menu-horizontal': !this.$props.vertical,\n 'k-menu-vertical': this.$props.vertical\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n this.prepareItems();\n if (!this.isFirstRender) {\n this.directionHolder.setIsDirectionRightToLeft(this.checkIsDirectionRightToLeft());\n }\n var lastItemIdToBeOpened = this.hoveredItemId ? this.hoveredItemId : this.focusedItemId ? getDirectParentId(this.focusedItemId) : EMPTY_ID;\n return h(\"div\", {\n \"class\": this.getMenuWrapperClassName(),\n ref: setRef(this, 'menuWrapper')\n }, [\n // @ts-ignore\n h(MenuItemInternalsList, {\n \"class\": this.menuClassName,\n \"aria-orientation\": this.$props.vertical ? 'vertical' : undefined,\n attrs: this.v3 ? undefined : {\n \"aria-orientation\": this.$props.vertical ? 'vertical' : undefined,\n items: this.currentItems,\n isMenuVertical: this.$props.vertical,\n isDirectionRightToLeft: this.directionHolder.getIsDirectionRightToLeft(),\n focusedItemId: this.focusedItemId,\n lastItemIdToBeOpened: lastItemIdToBeOpened,\n tabbableItemId: this.tabbableItemId,\n itemRender: templateRendering.call(this, this.$props.itemRender, getListeners.call(this)),\n linkRender: templateRendering.call(this, this.$props.linkRender, getListeners.call(this)),\n menuGuid: this.guid,\n originalItemNeeded: this.getInputItem\n },\n items: this.currentItems,\n isMenuVertical: this.$props.vertical,\n isDirectionRightToLeft: this.directionHolder.getIsDirectionRightToLeft(),\n focusedItemId: this.focusedItemId,\n lastItemIdToBeOpened: lastItemIdToBeOpened,\n tabbableItemId: this.tabbableItemId,\n itemRender: templateRendering.call(this, this.$props.itemRender, getListeners.call(this)),\n linkRender: templateRendering.call(this, this.$props.linkRender, getListeners.call(this)),\n menuGuid: this.guid,\n onMouseleave: this.onItemMouseLeave,\n on: this.v3 ? undefined : {\n \"mouseleave\": this.onItemMouseLeave,\n \"mouseover\": this.onItemMouseOver,\n \"mousedown\": this.onItemMouseDown,\n \"keydown\": this.onKeyDown,\n \"focus\": this.onItemFocus,\n \"click\": this.onItemClick,\n \"blur\": this.onItemBlur\n },\n onMouseover: this.onItemMouseOver,\n onMousedown: this.onItemMouseDown,\n onKeydown: this.onKeyDown,\n onFocus: this.onItemFocus,\n onClick: this.onItemClick,\n onBlur: this.onItemBlur,\n originalItemNeeded: this.getInputItem\n })]);\n },\n methods: {\n reset: function reset() {\n this.clearItemHoverAndLeaveRequestsIfApplicable();\n this.focusedItemId = EMPTY_ID;\n this.hoveredItemId = EMPTY_ID;\n this.tabbableItemId = ZERO_LEVEL_ZERO_ITEM_ID;\n },\n onKeyDown: function onKeyDown(event) {\n // The focusedItemId may be empty when contentRender is used.\n // For example, content with input.\n if (this.focusedItemId !== EMPTY_ID) {\n var currentItem = getItemById(this.focusedItemId, this.currentItems);\n var newItemId = getNewItemIdUponKeyboardNavigation(this.currentItems, currentItem.id, event.keyCode, event.key, this.$props.vertical, this.directionHolder.getIsDirectionRightToLeft());\n if (currentItem.id !== newItemId) {\n event.preventDefault();\n this.setFocusedItemId(newItemId);\n }\n if ((event.keyCode === Keys.enter || event.keyCode === Keys.space) && !currentItem.disabled) {\n this.mouseOverHandler.handleItemSelectedViaKeyboard();\n this.dispatchSelectEventIfWired(event, currentItem.id);\n if (!event.defaultPrevented && currentItem.items.length === 0 && currentItem.url && canUseDOM) {\n window.location.assign(currentItem.url);\n }\n }\n }\n },\n onItemMouseOver: function onItemMouseOver(itemId) {\n if (this.mouseOverHandler.IsMouseOverEnabled) {\n // The `over` event can get fired even without actually leaving the item.\n // For example, move the mouse little by little over the item content.\n this.clearItemHoverAndLeaveRequestsIfApplicable();\n var that_1 = this;\n this.itemHoverRequest = window.setTimeout(function () {\n that_1.setHoveredItemId(itemId);\n that_1.itemHoverRequest = null;\n }, getHoverOpenDelay(__assign({}, this.$props)));\n }\n },\n onItemMouseLeave: function onItemMouseLeave(itemId) {\n if (this.mouseOverHandler.IsMouseOverEnabled && this.isItemWithDefaultClose(itemId)) {\n // Both the `leave` and `hover` requests are cleared\n // to be defensive and consistent with the `over` handler.\n this.clearItemHoverAndLeaveRequestsIfApplicable();\n var that_2 = this;\n this.itemLeaveRequest = window.setTimeout(function () {\n that_2.setHoveredItemId(EMPTY_ID);\n that_2.itemLeaveRequest = null;\n }, getHoverCloseDelay(__assign({}, this.$props)));\n }\n },\n onItemMouseDown: function onItemMouseDown() {\n this.mouseOverHandler.handleItemMouseDown();\n },\n onItemFocus: function onItemFocus(itemId) {\n this.setFocusedItemId(itemId);\n this.mouseOverHandler.handleItemFocus();\n },\n onItemClick: function onItemClick(event, itemId) {\n var item = getItemById(itemId, this.currentItems);\n if (!item.disabled) {\n this.setFocusedItemId(itemId);\n this.mouseOverHandler.handleItemClick(itemId, this.isItemWithDefaultClose(itemId));\n this.dispatchSelectEventIfWired(event, itemId);\n if (!event.defaultPrevented && item.url && canUseDOM) {\n window.location.assign(item.url);\n }\n }\n },\n onItemBlur: function onItemBlur(itemId) {\n if (this.isItemWithDefaultClose(itemId)) {\n this.setFocusedItemId(EMPTY_ID);\n }\n },\n getInputItem: function getInputItem(itemId) {\n return getItemById(itemId, this.inputItems);\n },\n setFocusedItemId: function setFocusedItemId(focusedItemId) {\n var tabbableItemId = focusedItemId === EMPTY_ID ? this.tabbableItemId : getRootParentId(focusedItemId);\n var hoveredItemId = focusedItemId === EMPTY_ID || isIdEmptyOrZeroLevel(this.hoveredItemId) && isIdEmptyOrZeroLevel(focusedItemId) ? this.hoveredItemId : EMPTY_ID;\n this.hoveredItemId = hoveredItemId;\n this.focusedItemId = focusedItemId;\n this.tabbableItemId = tabbableItemId;\n },\n setHoveredItemId: function setHoveredItemId(hoveredItemId) {\n if (isIdEmptyOrZeroLevel(hoveredItemId) && isIdEmptyOrZeroLevel(this.focusedItemId)) {\n this.hoveredItemId = hoveredItemId;\n } else {\n this.hoveredItemId = hoveredItemId;\n this.focusedItemId = EMPTY_ID;\n this.tabbableItemId = ZERO_LEVEL_ZERO_ITEM_ID;\n }\n },\n getMenuWrapperClassName: function getMenuWrapperClassName() {\n return {\n 'k-rtl': this.directionHolder.getIsDirectionRightToLeft()\n };\n },\n clearItemHoverAndLeaveRequestsIfApplicable: function clearItemHoverAndLeaveRequestsIfApplicable() {\n if (this.itemHoverRequest) {\n clearTimeout(this.itemHoverRequest);\n this.itemHoverRequest = null;\n }\n if (this.itemLeaveRequest) {\n clearTimeout(this.itemLeaveRequest);\n this.itemLeaveRequest = null;\n }\n },\n isItemWithDefaultClose: function isItemWithDefaultClose(itemId) {\n return !this.$props.customCloseItemIds || this.$props.customCloseItemIds.indexOf(itemId) === -1;\n },\n checkIsDirectionRightToLeft: function checkIsDirectionRightToLeft() {\n return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.menuWrapperEl && getComputedStyle(this.menuWrapperEl).direction === 'rtl';\n },\n prepareItems: function prepareItems() {\n var _a = prepareInputItemsForInternalWork.call(this, this.$props.items),\n items = _a.items,\n inputItems = _a.inputItems;\n this.currentItems = items;\n this.inputItems = inputItems;\n },\n dispatchSelectEventIfWired: function dispatchSelectEventIfWired(event, itemId) {\n this.$emit('select', {\n event: event,\n compontent: this,\n item: this.getInputItem(itemId),\n itemId: itemId\n });\n }\n }\n};\n/**\n *\n * Represents the [Kendo UI for Vue Menu component]({% slug overview_menu %}).\n *\n *\n * ### props Readonly<[MenuProps]({% slug api_layout_menuprops %})>\n * The props of the Menu component.\n *\n */\nvar Menu = MenuVue2;\nexport { Menu, MenuVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getTemplate } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar SplitterPaneVue2 = {\n name: 'KendoSplitterPane',\n props: {\n orientation: {\n type: String,\n default: function _default() {\n return undefined;\n },\n validator: function validator(value) {\n return ['vertical', 'horizontal'].includes(value);\n }\n },\n overlay: Boolean,\n containsSplitter: Boolean,\n size: String,\n min: String,\n max: String,\n resizable: Boolean,\n collapsible: Boolean,\n collapsed: Boolean,\n scrollable: Boolean,\n keepMounted: Boolean,\n content: [Object, Function, String]\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var _b = this.$props,\n size = _b.size,\n collapsed = _b.collapsed,\n overlay = _b.overlay,\n containsSplitter = _b.containsSplitter,\n collapsible = _b.collapsible,\n resizable = _b.resizable,\n scrollable = _b.scrollable,\n keepMounted = _b.keepMounted;\n var fixedSize = size && size.length > 0;\n var style = {\n flexBasis: size\n };\n var paneClasses = classNames('k-pane', (_a = {}, _a['k-hidden'] = collapsed, _a['hidden'] = collapsed, _a['k-pane-flex'] = containsSplitter, _a['k-pane-static'] = !resizable && !collapsible || fixedSize, _a['k-scrollable'] = scrollable, _a));\n var content = getTemplate.call(this, {\n h: h,\n template: this.$props.content,\n defaultRendering: null\n });\n return h(\"div\", {\n style: style,\n \"class\": paneClasses,\n role: 'group',\n attrs: this.v3 ? undefined : {\n role: 'group'\n }\n }, [!collapsed || keepMounted ? content : undefined, overlay ? h(\"div\", {\n \"class\": 'k-splitter-overlay k-overlay'\n }) : undefined]);\n }\n};\n/**\n * @hidden\n */\nvar SplitterPane = SplitterPaneVue2;\nexport { SplitterPane, SplitterPaneVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, Draggable, Icon, Keys } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { splitterPaneLabel, messages } from '../messages/main';\nimport { caretAltDownIcon, caretAltLeftIcon, caretAltRightIcon, caretAltUpIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar SplitterBarVue2 = {\n name: 'KendoSplitterBar',\n // @ts-ignore\n emits: {\n drag: null,\n toggle: null,\n keyboardresize: null\n },\n props: {\n orientation: {\n type: String,\n default: 'vertical',\n validator: function validator(value) {\n return ['vertical', 'horizontal'].includes(value);\n }\n },\n index: Number,\n prev: Object,\n next: Object,\n isRtl: Boolean\n },\n created: function created() {\n this.draggable = null;\n },\n computed: {\n isStatic: function isStatic() {\n var _a = this.$props,\n prev = _a.prev,\n next = _a.next;\n var betweenResizablePanes = prev.resizable && next.resizable;\n var nearCollapsiblePane = prev.collapsible || next.collapsible;\n return !betweenResizablePanes && !nearCollapsiblePane;\n },\n isDraggable: function isDraggable() {\n var _a = this.$props,\n prev = _a.prev,\n next = _a.next;\n var betweenResizablePanes = prev.resizable && next.resizable;\n var nearCollapsedPane = prev.collapsed || next.collapsed;\n return !!betweenResizablePanes && !nearCollapsedPane;\n },\n isHorizontal: function isHorizontal() {\n return this.$props.orientation === 'horizontal';\n }\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n focused: false\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.draggable = this.$refs.draggable;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this2 = this;\n var _a;\n var _this = this;\n var h = gh || createElement;\n var isDraggable = this.isDraggable;\n var isStatic = this.isStatic;\n var isHorizontal = this.isHorizontal;\n var barClasses = classNames('k-splitbar', (_a = {}, _a['k-focus'] = this.focused, _a['k-splitbar-horizontal'] = isHorizontal, _a['k-splitbar-vertical'] = !isHorizontal, _a['k-splitbar-draggable-horizontal'] = isHorizontal && isDraggable, _a['k-splitbar-draggable-vertical'] = !isHorizontal && isDraggable, _a['k-splitbar-static-horizontal'] = isHorizontal && isStatic, _a['k-splitbar-static-vertical'] = !isHorizontal && isStatic, _a));\n var previousArrowName = this.previousArrowName(isHorizontal);\n var previousArrowSVG = this.previousArrowSVG(isHorizontal);\n var nextArrowName = this.nextArrowName(isHorizontal);\n var nextArrowSVG = this.nextArrowSVG(isHorizontal);\n var paneLabel = provideLocalizationService(this).toLanguageString(splitterPaneLabel, messages[splitterPaneLabel]);\n return (\n // @ts-ignore function children\n h(Draggable, {\n onPress: function onPress(event) {\n return _this.onDrag(event, true, false);\n },\n on: this.v3 ? undefined : {\n \"press\": function onPress(event) {\n return _this.onDrag(event, true, false);\n },\n \"drag\": function drag(event) {\n return _this.onDrag(event, false, false);\n },\n \"release\": function release(event) {\n return _this.onDrag(event, false, true);\n }\n },\n onDrag: function drag(event) {\n return _this.onDrag(event, false, false);\n },\n onRelease: function release(event) {\n return _this.onDrag(event, false, true);\n },\n ref: 'draggable'\n }, this.v3 ? function () {\n return [h(\"div\", {\n tabindex: isStatic ? -1 : 0,\n attrs: _this2.v3 ? undefined : {\n tabindex: isStatic ? -1 : 0,\n role: 'separator',\n ariaLabel: paneLabel,\n ariaOrientation: _this2.isHorizontal ? 'vertical' : 'horizontal'\n },\n role: 'separator',\n \"class\": barClasses,\n style: {\n touchAction: 'none'\n },\n onFocusin: _this2.onFocus,\n on: _this2.v3 ? undefined : {\n \"focusin\": _this2.onFocus,\n \"focusout\": _this2.onBlur,\n \"dblclick\": _this2.onToggle,\n \"keydown\": _this2.onKeyDown\n },\n onFocusout: _this2.onBlur,\n onDblclick: _this2.onToggle,\n onKeydown: _this2.onKeyDown,\n ariaLabel: paneLabel,\n ariaOrientation: _this2.isHorizontal ? 'vertical' : 'horizontal'\n }, [_this2.prev.collapsible && h(\"span\", {\n \"class\": 'k-collapse-prev',\n onClick: _this2.onPrevToggle,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.onPrevToggle\n }\n }, [h(Icon, {\n name: previousArrowName,\n attrs: _this2.v3 ? undefined : {\n name: previousArrowName,\n icon: previousArrowSVG,\n size: 'xsmall'\n },\n icon: previousArrowSVG,\n size: 'xsmall'\n })]), h(\"div\", {\n \"class\": 'k-resize-handle'\n }), _this2.next.collapsible && h(\"span\", {\n \"class\": 'k-collapse-next',\n onClick: _this2.onNextToggle,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.onNextToggle\n }\n }, [h(Icon, {\n name: nextArrowName,\n attrs: _this2.v3 ? undefined : {\n name: nextArrowName,\n icon: nextArrowSVG,\n size: 'xsmall'\n },\n icon: nextArrowSVG,\n size: 'xsmall'\n })])])];\n } : [h(\"div\", {\n tabindex: isStatic ? -1 : 0,\n attrs: _this2.v3 ? undefined : {\n tabindex: isStatic ? -1 : 0,\n role: 'separator',\n ariaLabel: paneLabel,\n ariaOrientation: _this2.isHorizontal ? 'vertical' : 'horizontal'\n },\n role: 'separator',\n \"class\": barClasses,\n style: {\n touchAction: 'none'\n },\n onFocusin: _this2.onFocus,\n on: _this2.v3 ? undefined : {\n \"focusin\": _this2.onFocus,\n \"focusout\": _this2.onBlur,\n \"dblclick\": _this2.onToggle,\n \"keydown\": _this2.onKeyDown\n },\n onFocusout: _this2.onBlur,\n onDblclick: _this2.onToggle,\n onKeydown: _this2.onKeyDown,\n ariaLabel: paneLabel,\n ariaOrientation: _this2.isHorizontal ? 'vertical' : 'horizontal'\n }, [_this2.prev.collapsible && h(\"span\", {\n \"class\": 'k-collapse-prev',\n onClick: _this2.onPrevToggle,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.onPrevToggle\n }\n }, [h(Icon, {\n name: previousArrowName,\n attrs: _this2.v3 ? undefined : {\n name: previousArrowName,\n icon: previousArrowSVG,\n size: 'xsmall'\n },\n icon: previousArrowSVG,\n size: 'xsmall'\n })]), h(\"div\", {\n \"class\": 'k-resize-handle'\n }), _this2.next.collapsible && h(\"span\", {\n \"class\": 'k-collapse-next',\n onClick: _this2.onNextToggle,\n on: _this2.v3 ? undefined : {\n \"click\": _this2.onNextToggle\n }\n }, [h(Icon, {\n name: nextArrowName,\n attrs: _this2.v3 ? undefined : {\n name: nextArrowName,\n icon: nextArrowSVG,\n size: 'xsmall'\n },\n icon: nextArrowSVG,\n size: 'xsmall'\n })])])])\n );\n },\n methods: {\n onDrag: function onDrag(data, isFirst, isLast) {\n var event = data;\n var index = this.$props.index;\n var element = this.draggable && this.draggable.element;\n if (!isLast && event) {\n event.originalEvent.preventDefault();\n }\n if (element && !this.isStatic && this.isDraggable) {\n this.$emit('drag', event, element, index, isFirst, isLast);\n }\n },\n onFocus: function onFocus() {\n this.focused = true;\n },\n onBlur: function onBlur() {\n this.focused = false;\n },\n onToggle: function onToggle(event) {\n var _a = this.$props,\n index = _a.index,\n prev = _a.prev,\n next = _a.next;\n if (prev.collapsible || next.collapsible) {\n this.$emit('toggle', prev.collapsible ? index : index + 1, event);\n }\n },\n onPrevToggle: function onPrevToggle(event) {\n var _a = this.$props,\n index = _a.index,\n prev = _a.prev;\n if (prev.collapsible) {\n this.$emit('toggle', index, event);\n }\n },\n onNextToggle: function onNextToggle(event) {\n var _a = this.$props,\n index = _a.index,\n next = _a.next;\n if (next.collapsible) {\n this.$emit('toggle', index + 1, event);\n }\n },\n onKeyDown: function onKeyDown(event) {\n var _this = this;\n var keyCode = event && event.keyCode;\n var isHorizontal = this.isHorizontal;\n var index = this.$props.index;\n var element = this.draggable && this.draggable.element;\n var onKeyboardResize = function onKeyboardResize(el, idx, offset) {\n event.preventDefault();\n _this.$emit('keyboardresize', el, idx, offset, event);\n };\n if (!element) {\n return;\n }\n if (keyCode === Keys.enter) {\n event.preventDefault();\n this.onToggle(event);\n } else if (this.isDraggable) {\n if (isHorizontal && keyCode === Keys.left) {\n onKeyboardResize(element, index, -10);\n } else if (isHorizontal && keyCode === Keys.right) {\n onKeyboardResize(element, index, 10);\n } else if (!isHorizontal && keyCode === Keys.up) {\n onKeyboardResize(element, index, -10);\n } else if (!isHorizontal && keyCode === Keys.down) {\n onKeyboardResize(element, index, 10);\n }\n }\n },\n previousArrowName: function previousArrowName(isHorizontal) {\n var prev = this.$props.prev;\n var isCollapsed = prev.collapsed;\n return isHorizontal && !isCollapsed ? this.isRtl ? 'caret-alt-right' : 'caret-alt-left' : isHorizontal && isCollapsed ? this.isRtl ? 'caret-alt-left' : 'caret-alt-right' : !isHorizontal && !isCollapsed ? 'caret-alt-up' : !isHorizontal && isCollapsed ? 'caret-alt-down' : '';\n },\n previousArrowSVG: function previousArrowSVG(isHorizontal) {\n var prev = this.$props.prev;\n var isCollapsed = prev.collapsed;\n return isHorizontal && !isCollapsed ? this.isRtl ? caretAltRightIcon : caretAltLeftIcon : isHorizontal && isCollapsed ? this.isRtl ? caretAltLeftIcon : caretAltRightIcon : !isHorizontal && !isCollapsed ? caretAltUpIcon : !isHorizontal && isCollapsed ? caretAltDownIcon : undefined;\n },\n nextArrowName: function nextArrowName(isHorizontal) {\n var next = this.$props.next;\n var isCollapsed = next.collapsed;\n return isHorizontal && !isCollapsed ? this.isRtl ? 'caret-alt-left' : 'caret-alt-right' : isHorizontal && isCollapsed ? this.isRtl ? 'caret-alt-right' : 'caret-alt-left' : !isHorizontal && !isCollapsed ? 'caret-alt-down' : !isHorizontal && isCollapsed ? 'caret-alt-up' : '';\n },\n nextArrowSVG: function nextArrowSVG(isHorizontal) {\n var next = this.$props.next;\n var isCollapsed = next.collapsed;\n return isHorizontal && !isCollapsed ? this.isRtl ? caretAltLeftIcon : caretAltRightIcon : isHorizontal && isCollapsed ? this.isRtl ? caretAltRightIcon : caretAltLeftIcon : !isHorizontal && !isCollapsed ? caretAltDownIcon : !isHorizontal && isCollapsed ? caretAltUpIcon : undefined;\n }\n }\n};\n/**\n * @hidden\n */\nvar SplitterBar = SplitterBarVue2;\nexport { SplitterBar, SplitterBarVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { SplitterPane } from './SplitterPane';\nimport { SplitterBar } from './SplitterBar';\nimport { classNames, getListeners, isRtl, templateRendering } from '@progress/kendo-vue-common';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar PANE_DEFAULTS = {\n collapsible: false,\n collapsed: false,\n resizable: true,\n scrollable: true\n};\n/**\n * @hidden\n */\nvar DOUBLE_CLICK_WAIT_TIME = 150;\n/**\n * @hidden\n */\nvar SplitterVue2 = {\n name: 'KendoSplitter',\n props: {\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['vertical', 'horizontal'].includes(value);\n }\n },\n panes: Array,\n defaultPanes: Array\n },\n mounted: function mounted() {\n this.currentRtl = isRtl(this.$el);\n },\n // @ts-ignore\n emits: {\n change: null\n },\n computed: {\n isControlledState: function isControlledState() {\n return this.$props.panes !== undefined;\n },\n computedPanes: function computedPanes() {\n // return this.panesDuringOnChange !== undefined ?\n // this.panesDuringOnChange :\n return this.isControlledState ? this.$props.panes : this.currentPanes;\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n // this.panesDuringOnChange?: SplitterPaneProps[];\n },\n\n data: function data() {\n return {\n currentRtl: false,\n isDragging: false,\n dragIndex: undefined,\n startTime: 0,\n originalX: 0,\n originalY: 0,\n originalPrevSize: 0,\n originalNextSize: 0,\n currentPanes: this.$props.defaultPanes || []\n };\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var panesOptions = this.panesOptions();\n var className = classNames('k-widget', 'k-splitter', 'k-splitter-flex', \"k-splitter-\".concat(this.orientation));\n this.validatePanes(panesOptions);\n var mapSplitterPanes = function mapSplitterPanes(panes) {\n return panes.map(function (pane, index) {\n var content = templateRendering.call(this, pane.content, getListeners.call(this));\n var splitterBar;\n var paneKey = index * 2;\n var barKey = paneKey + 1;\n if (index + 1 < panes.length) {\n var next = panes[index + 1];\n splitterBar = h(SplitterBar, {\n key: barKey,\n index: index,\n attrs: this.v3 ? undefined : {\n index: index,\n orientation: this.orientation,\n prev: pane,\n next: next,\n isRtl: this.currentRtl\n },\n orientation: this.orientation,\n prev: pane,\n next: next,\n onDrag: this.onBarDragResize,\n on: this.v3 ? undefined : {\n \"drag\": this.onBarDragResize,\n \"toggle\": this.onBarToggle,\n \"keyboardresize\": this.onBarKeyboardResize\n },\n onToggle: this.onBarToggle,\n onKeyboardresize: this.onBarKeyboardResize,\n isRtl: this.currentRtl\n });\n }\n var splitterPane = h(SplitterPane, {\n key: paneKey,\n containsSplitter: pane.containsSplitter,\n attrs: this.v3 ? undefined : {\n containsSplitter: pane.containsSplitter,\n size: pane.size,\n min: pane.min,\n max: pane.max,\n resizable: pane.resizable,\n collapsible: pane.collapsible,\n collapsed: pane.collapsed,\n scrollable: pane.scrollable,\n keepMounted: pane.keepMounted,\n content: content\n },\n size: pane.size,\n min: pane.min,\n max: pane.max,\n resizable: pane.resizable,\n collapsible: pane.collapsible,\n collapsed: pane.collapsed,\n scrollable: pane.scrollable,\n keepMounted: pane.keepMounted,\n content: content\n });\n return [splitterPane, splitterBar];\n }, this);\n };\n return h(\"div\", {\n \"class\": className\n }, [mapSplitterPanes.call(this, panesOptions)]);\n },\n methods: {\n validatePanes: function validatePanes(panesOptions) {\n var withoutSize = panesOptions.filter(function (pane) {\n return pane.size === undefined;\n });\n if (!withoutSize.length) {\n throw new Error('The Splitter should have at least one pane without a set size.');\n }\n },\n mapPaneOptions: function mapPaneOptions(panes) {\n var orientation = this.orientation;\n var paneOptions = [];\n for (var index = 0; index < panes.length; index++) {\n var overlay = false;\n if (this.isDragging && this.dragIndex !== undefined) {\n overlay = this.dragIndex === index || this.dragIndex + 1 === index;\n }\n paneOptions.push(__assign(__assign(__assign({}, PANE_DEFAULTS), {\n orientation: orientation,\n overlay: overlay\n }), panes[index]));\n }\n return paneOptions;\n },\n onBarToggle: function onBarToggle(index, event) {\n var panesOptions = this.panesOptions();\n var updatedState = panesOptions.map(function (pane, idx) {\n var paneProps = pane;\n if (idx === index) {\n return __assign(__assign({}, paneProps), {\n collapsed: !pane.collapsed\n });\n } else {\n return __assign({}, paneProps);\n }\n });\n this.$emit('change', {\n newState: updatedState,\n isLast: true,\n nativeEvent: event\n });\n },\n onBarDragResize: function onBarDragResize(event, barElement, index, isFirst, isLast) {\n var time = new Date().getTime();\n var pageX = event.pageX,\n pageY = event.pageY;\n var _a = this.surroudingPanes(barElement),\n prevElement = _a.prevElement,\n nextElement = _a.nextElement;\n if (!prevElement || !nextElement) {\n return;\n }\n if (isFirst) {\n this.isDragging = true;\n this.dragIndex = index;\n this.startTime = time;\n this.originalX = pageX;\n this.originalY = pageY;\n this.originalPrevSize = this.elementSize(prevElement);\n this.originalNextSize = this.elementSize(nextElement);\n return;\n }\n var _b = this.$data,\n originalPrevSize = _b.originalPrevSize,\n originalNextSize = _b.originalNextSize,\n startTime = _b.startTime,\n originalX = _b.originalX,\n originalY = _b.originalY;\n if (!isFirst && time - startTime < DOUBLE_CLICK_WAIT_TIME) {\n if (isLast) {\n this.resetDragState();\n }\n return;\n }\n var delta;\n if (this.orientation === 'vertical') {\n delta = pageY - originalY;\n } else if (this.currentRtl) {\n delta = originalX - pageX;\n } else {\n delta = pageX - originalX;\n }\n this.resize(index, index + 1, originalPrevSize, originalNextSize, delta, isLast, event);\n if (isLast) {\n this.resetDragState();\n }\n },\n onBarKeyboardResize: function onBarKeyboardResize(barElement, index, delta, event) {\n var _a = this.surroudingPanes(barElement),\n prevElement = _a.prevElement,\n nextElement = _a.nextElement;\n var originalPrevSize = this.elementSize(prevElement);\n var originalNextSize = this.elementSize(nextElement);\n this.resize(index, index + 1, originalPrevSize, originalNextSize, delta, true, event);\n },\n surroudingPanes: function surroudingPanes(barElement) {\n return {\n prevElement: barElement.previousElementSibling,\n nextElement: barElement.nextElementSibling\n };\n },\n containerSize: function containerSize() {\n if (!this.$el) {\n return 0;\n }\n return this.elementSize(this.$el, true);\n },\n isPercent: function isPercent(size) {\n return /%$/.test(size);\n },\n toPixels: function toPixels(size, splitterSize) {\n var result = parseInt(size, 10);\n if (this.isPercent(size)) {\n result = splitterSize * result / 100;\n }\n return result;\n },\n panesOptions: function panesOptions() {\n return this.mapPaneOptions(this.computedPanes);\n },\n resetDragState: function resetDragState() {\n this.isDragging = false;\n this.dragIndex = undefined;\n this.startTime = 0;\n this.originalX = 0;\n this.originalY = 0;\n this.originalPrevSize = 0;\n this.originalNextSize = 0;\n },\n elementSize: function elementSize(el, isContainer) {\n var sizeType = isContainer ? 'client' : 'offset';\n if (this.orientation === 'vertical') {\n return el[\"\".concat(sizeType, \"Height\")];\n } else {\n return el[\"\".concat(sizeType, \"Width\")];\n }\n },\n clamp: function clamp(min, max, v) {\n return Math.min(max, Math.max(min, v));\n },\n fixedSize: function fixedSize(size) {\n return size && size.length > 0;\n },\n resize: function resize(prevIndex, nextIndex, originalPrevSize, originalNextSize, delta, isLast, event) {\n var _this = this;\n var panesOptions = this.panesOptions();\n var prevOptions = panesOptions[prevIndex];\n var nextOptions = panesOptions[nextIndex];\n var total = originalPrevSize + originalNextSize;\n var splitterSize = this.containerSize();\n var px = function px(s) {\n return _this.toPixels(s, splitterSize);\n };\n var prevDragState = {\n index: prevIndex,\n initialSize: originalPrevSize,\n min: px(prevOptions.min) || total - px(nextOptions.max) || 0,\n max: px(prevOptions.max) || total - px(nextOptions.min) || total\n };\n var nextDragState = {\n index: nextIndex,\n initialSize: originalNextSize,\n min: px(nextOptions.min) || total - px(prevOptions.max) || 0,\n max: px(nextOptions.max) || total - px(prevOptions.min) || total\n };\n var resize = function resize(paneState, change) {\n var pane = panesOptions[paneState.index];\n var newSize = _this.clamp(paneState.min, paneState.max, paneState.initialSize + change);\n if (_this.isPercent(pane.size || '')) {\n return 100 * newSize / splitterSize + '%';\n } else {\n return newSize + 'px';\n }\n };\n var prevSize;\n var nextSize;\n if (this.fixedSize(prevOptions.size) && this.fixedSize(nextOptions.size)) {\n prevSize = resize(prevDragState, delta);\n nextSize = resize(nextDragState, -delta);\n } else if (nextOptions.collapsible || this.fixedSize(nextOptions.size)) {\n nextSize = resize(nextDragState, -delta);\n } else {\n prevSize = resize(prevDragState, delta);\n }\n var updatedState = panesOptions.map(function (pane, idx) {\n var paneProps = pane;\n if (idx === prevIndex) {\n return __assign(__assign({}, paneProps), {\n size: prevSize\n });\n } else if (idx === nextIndex) {\n return __assign(__assign({}, paneProps), {\n size: nextSize\n });\n } else {\n return __assign({}, paneProps);\n }\n });\n this.panesDuringOnChange = updatedState;\n if (!this.isControlledState) {\n this.currentPanes = updatedState;\n }\n this.$emit('change', {\n newState: updatedState,\n isLast: isLast,\n nativeEvent: event\n });\n this.panesDuringOnChange = undefined;\n }\n }\n};\n/**\n * Represents the [Kendo UI for Vue Native Splitter component]({% slug overview_splitter %}).\n *\n * ```js-no-run\n * \n *\n * \n * ```\n *\n *\n *\n * ### props Readonly<[SplitterProps]({% slug api_layout_splitterprops %})\n * The props of the Splitter component.\n */\nvar Splitter = SplitterVue2;\nexport { Splitter, SplitterVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Reveal } from '@progress/kendo-vue-animation';\nimport { getTemplate } from '@progress/kendo-vue-common';\nimport { PanelBarItem } from './PanelBarItem';\n/**\n * @hidden\n */\nvar PanelBarGroupVue2 = {\n name: 'KendoPanelBarGroup',\n props: {\n item: Object,\n items: Array,\n animation: Boolean,\n expanded: Boolean,\n disabled: Boolean,\n keepItemsMounted: Boolean,\n uniquePrivateKey: [String, Number],\n content: Object\n },\n data: function data() {\n return {\n show: this.$props.expanded\n };\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n item = _a.item,\n items = _a.items,\n uniquePrivateKey = _a.uniquePrivateKey,\n disabled = _a.disabled,\n expanded = _a.expanded,\n animation = _a.animation,\n keepItemsMounted = _a.keepItemsMounted;\n var animationStyle = {\n display: 'block'\n };\n var content = getTemplate.call(this, {\n h: h,\n template: this.$props.content,\n defaultRendering: null,\n additionalProps: __assign(__assign({}, this.$props), {\n show: this.show\n })\n });\n var opened = !disabled && expanded;\n var itemContent = opened || keepItemsMounted ? items ? h(\"ul\", {\n role: \"group\",\n attrs: this.v3 ? undefined : {\n role: \"group\"\n },\n \"class\": \"k-panelbar-group k-panel k-group\",\n style: {\n display: keepItemsMounted ? this.$data.show ? 'block' : 'none' : 'block'\n }\n }, [items.map(function (currentItem) {\n return h(PanelBarItem, __assign(__assign({\n props: this.v3 ? undefined : __assign(__assign({}, currentItem), {\n item: item\n })\n }, currentItem), {\n item: item\n }));\n }, this)]) : this.$props.content ? h(\"div\", {\n \"class\": \"k-panelbar-content k-content\"\n }, [content]) : null : null;\n return (animation !== undefined ? animation : true) && !disabled ?\n // @ts-ignore function children\n h(Reveal, {\n appear: opened,\n attrs: this.v3 ? undefined : {\n appear: opened,\n transitionEnterDuration: 200,\n transitionExitDuration: 200,\n // childFactory={keepItemsMounted && this.childFactory}\n unmountOnExit: !keepItemsMounted\n },\n transitionEnterDuration: 200,\n transitionExitDuration: 200,\n key: uniquePrivateKey + '_animation',\n style: animationStyle,\n unmountOnExit: !keepItemsMounted,\n onEntering: this.handleEntering,\n on: this.v3 ? undefined : {\n \"entering\": this.handleEntering,\n \"exited\": this.handleExited\n },\n onExited: this.handleExited\n }, this.v3 ? function () {\n return [itemContent];\n } : [itemContent]) : itemContent;\n },\n methods: {\n handleEntering: function handleEntering() {\n if (this.keepItemsMounted) {\n this.show = true;\n }\n },\n handleExited: function handleExited() {\n if (this.keepItemsMounted) {\n this.show = false;\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar PanelBarGroup = PanelBarGroupVue2;\nexport { PanelBarGroup, PanelBarGroupVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getTemplate, Icon } from '@progress/kendo-vue-common';\nimport { chevronUpIcon, chevronDownIcon } from '@progress/kendo-svg-icons';\nimport { PanelBarGroup } from './PanelBarGroup';\n/**\n * @hidden\n */\nvar PanelBarItemVue2 = {\n name: 'KendoPanelBarItem',\n props: {\n item: Object,\n items: Array,\n animation: Boolean,\n expanded: Boolean,\n disabled: Boolean,\n selected: Boolean,\n level: Number,\n title: {\n type: [String, Object, Function],\n default: function _default() {\n return 'Untitled';\n }\n },\n id: [String, Number],\n focused: Boolean,\n keepItemsMounted: Boolean,\n uniquePrivateKey: [String, Number],\n parentUniquePrivateKey: Array,\n parentExpanded: Boolean,\n headerClassName: String,\n iconClass: String,\n imageUrl: String,\n icon: String,\n svgIcon: Object,\n content: Object,\n header: Object\n },\n inject: {\n dispatchItemSelect: {\n default: null\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var _b = this.$props,\n id = _b.id,\n item = _b.item,\n icon = _b.icon,\n svgIcon = _b.svgIcon,\n items = _b.items,\n content = _b.content,\n title = _b.title,\n uniquePrivateKey = _b.uniquePrivateKey,\n disabled = _b.disabled,\n selected = _b.selected,\n focused = _b.focused,\n expanded = _b.expanded,\n className = _b.className,\n level = _b.level,\n headerClassName = _b.headerClassName,\n animation = _b.animation,\n keepItemsMounted = _b.keepItemsMounted;\n var hasContent = !!items || content;\n var panelBarItemClassName = classNames('k-panelbar-item', {\n 'k-panelbar-header': level === 0,\n 'k-panelbar-item': level !== 0,\n 'k-expanded': expanded && hasContent,\n 'k-disabled': disabled\n }, \"k-level-\".concat(level), className);\n var panelBarLinkClassName = classNames('k-link', {\n 'k-selected': !disabled && selected,\n 'k-focus': focused\n }, headerClassName);\n var panelBarItemArrowClassName = classNames('k-panelbar-toggle', (_a = {}, _a['k-panelbar-collapse'] = expanded && hasContent, _a['k-panelbar-expand'] = !expanded && hasContent, _a));\n var itemIconName = expanded ? 'chevron-up' : 'chevron-down';\n var itemIconSVG = expanded ? chevronUpIcon : chevronDownIcon;\n var iconElement = function iconElement() {\n if (this.imageUrl) {\n return h(\"img\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\",\n src: this.imageUrl\n },\n \"class\": 'k-panelbar-item-icon k-image',\n src: this.imageUrl\n });\n } else if (icon || svgIcon) {\n return h(Icon, {\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon\n },\n \"class\": 'k-panelbar-item-icon',\n icon: svgIcon\n });\n } else if (this.iconClass) {\n return h(Icon, {\n \"class\": 'k-panelbar-item-icon ' + this.iconClass\n });\n }\n return null;\n };\n var iconRender = iconElement.call(this);\n var arrow = !disabled && (items || content) ? h(Icon, {\n name: itemIconName,\n attrs: this.v3 ? undefined : {\n name: itemIconName,\n icon: itemIconSVG\n },\n icon: itemIconSVG,\n \"class\": panelBarItemArrowClassName\n }) : null;\n var group = items || content ? h(PanelBarGroup, {\n items: items,\n attrs: this.v3 ? undefined : {\n items: items,\n item: item,\n content: content,\n uniquePrivateKey: uniquePrivateKey,\n disabled: disabled,\n expanded: expanded,\n animation: animation,\n keepItemsMounted: keepItemsMounted\n },\n item: item,\n content: content,\n uniquePrivateKey: uniquePrivateKey,\n disabled: disabled,\n expanded: expanded,\n animation: animation,\n keepItemsMounted: keepItemsMounted\n }) : null;\n var header = getTemplate.call(this, {\n h: h,\n template: this.$props.header,\n defaultRendering: null,\n additionalProps: __assign({}, this.$props)\n });\n return h(\"li\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: 'treeitem',\n \"aria-disabled\": disabled,\n \"aria-hidden\": !disabled && !expanded,\n \"aria-selected\": !disabled && selected,\n \"aria-expanded\": !disabled && expanded && hasContent\n },\n \"class\": panelBarItemClassName,\n role: 'treeitem',\n \"aria-disabled\": disabled,\n \"aria-hidden\": !disabled && !expanded,\n \"aria-selected\": !disabled && selected,\n \"aria-expanded\": !disabled && expanded && hasContent\n }, [h(\"span\", {\n \"class\": panelBarLinkClassName,\n onClick: this.handleItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleItemClick\n }\n }, [iconRender, this.$props.header ? header : h(\"span\", {\n \"class\": 'k-panelbar-item-text'\n }, [title]), arrow]), group]);\n },\n methods: {\n handleItemClick: function handleItemClick() {\n var _a = this.$props,\n disabled = _a.disabled,\n id = _a.id;\n if (!disabled) {\n this.dispatchItemSelect({\n uniquePrivateKey: this.$props.uniquePrivateKey,\n id: id,\n target: this\n });\n }\n },\n childFactory: function childFactory(child) {\n return child;\n }\n }\n};\n/**\n * @hidden\n */\nvar PanelBarItem = PanelBarItemVue2;\nexport { PanelBarItem, PanelBarItemVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = this && this.__spreadArray || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { getListeners, templateRendering } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nexport var renderChildren = function renderChildren(items, _a) {\n var _b = _a.animation,\n animation = _b === void 0 ? true : _b,\n _c = _a.keepItemsMounted,\n keepItemsMounted = _c === void 0 ? false : _c,\n state = _a.state,\n expanded = _a.expanded,\n handleSelect = _a.handleSelect,\n _d = _a.parentExpanded,\n parentExpanded = _d === void 0 ? true : _d,\n _e = _a.level,\n level = _e === void 0 ? 0 : _e,\n _f = _a.parentPrivateKey,\n parentPrivateKey = _f === void 0 ? [] : _f;\n return items.map(function (child, idx) {\n var nestedChildren;\n var privateKey = getId(child, parentPrivateKey, idx);\n var content = templateRendering.call(this, child.content, getListeners.call(this));\n var header = templateRendering.call(this, child.header, getListeners.call(this));\n if (child.items) {\n var renderState = {\n animation: animation,\n keepItemsMounted: keepItemsMounted,\n state: state,\n expanded: expanded,\n handleSelect: handleSelect,\n parentExpanded: (expanded || []).indexOf(privateKey) > -1,\n level: level + 1,\n parentPrivateKey: __spreadArray(__spreadArray([], parentPrivateKey, true), [privateKey], false)\n };\n nestedChildren = renderChildren.call(this, child.items, renderState);\n }\n return __assign(__assign({}, child), {\n animation: child.animation !== undefined ? child.animation : animation,\n keepItemsMounted: keepItemsMounted,\n id: child.id || \"k-panelbar-item-default-\".concat(privateKey),\n uniquePrivateKey: privateKey,\n parentUniquePrivateKey: parentPrivateKey,\n parentExpanded: parentExpanded,\n level: level,\n expanded: (expanded || []).indexOf(privateKey) > -1,\n focused: state.currentFocused === privateKey && state.wrapperFocused,\n selected: state.currentSelected === privateKey,\n items: nestedChildren,\n content: content,\n header: header\n });\n }, this);\n};\n/**\n * @hidden\n */\nexport var getFirstId = function getFirstId(props) {\n var firstItem = props.items[0];\n if (firstItem) {\n return getId(firstItem, [], 0);\n }\n return '';\n};\n/**\n * @hidden\n */\nexport var getInitialState = function getInitialState(props, expandMode, result, parentExpanded, parentPrivateKey) {\n if (result === void 0) {\n result = {\n currentExpanded: props.expanded || [],\n currentSelected: props.selected || '',\n currentFocused: props.focused || '',\n wrapperFocused: false\n };\n }\n if (parentExpanded === void 0) {\n parentExpanded = true;\n }\n if (parentPrivateKey === void 0) {\n parentPrivateKey = [];\n }\n props.items.forEach(function (item, idx) {\n var privateKey = getId(item, parentPrivateKey, idx);\n if (!item.disabled && parentExpanded) {\n if (item.selected) {\n result.currentSelected = privateKey;\n }\n if (item.focused) {\n result.currentFocused = privateKey;\n }\n if (item.expanded) {\n if (expandMode === 'multiple') {\n result.currentExpanded.push(privateKey);\n } else if (expandMode === 'single') {\n result.currentExpanded = [privateKey];\n }\n }\n if (item.items) {\n result = getInitialState(item, expandMode, result, !!item.expanded, __spreadArray(__spreadArray([], parentPrivateKey, true), [privateKey], false));\n }\n }\n });\n return result;\n};\n/**\n * @hidden\n */\nvar getId = function getId(child, parentPrivateKey, idx) {\n return child && child && child.id ? child.id : parentPrivateKey.length ? parentPrivateKey[parentPrivateKey.length - 1] + \".\".concat(idx) : \".\".concat(idx);\n};\n/**\n * @hidden\n */\nexport function flatVisibleItems(data, flattedItems) {\n if (flattedItems === void 0) {\n flattedItems = [];\n }\n (data || []).forEach(function (item) {\n if (!item.disabled) {\n flattedItems.push(item);\n if (item.expanded && item.children) {\n flatVisibleItems(item.children, flattedItems);\n }\n }\n });\n return flattedItems;\n}\n/**\n * @hidden\n */\nexport function flatChildren(children, flattenChildren) {\n if (flattenChildren === void 0) {\n flattenChildren = [];\n }\n children.forEach(function (child) {\n if (child && child && !child.disabled) {\n flattenChildren.push(child);\n if (child.items) {\n flatChildren(child.items, flattenChildren);\n }\n }\n });\n return flattenChildren;\n}\n/**\n * @hidden\n */\nexport function flatVisibleChildren(children, flattenVisibleChildren) {\n if (flattenVisibleChildren === void 0) {\n flattenVisibleChildren = [];\n }\n children.forEach(function (child) {\n if (child && (child.expanded || child.parentExpanded)) {\n flattenVisibleChildren.push(child);\n if (child.items) {\n flatVisibleChildren(child.items, flattenVisibleChildren);\n }\n }\n });\n return flattenVisibleChildren;\n}\n/**\n * @hidden\n */\nexport var isPresent = function isPresent(value) {\n return value !== null && value !== undefined;\n};\n/**\n * @hidden\n */\nexport var isArrayEqual = function isArrayEqual(firstArray, secondArray) {\n if (firstArray.length !== secondArray.length) {\n return false;\n }\n return firstArray.every(function (ex, i) {\n return ex === secondArray[i];\n });\n};","/**\n * @hidden\n */\nexport var NavigationAction;\n(function (NavigationAction) {\n NavigationAction[NavigationAction[\"Toggle\"] = 0] = \"Toggle\";\n NavigationAction[NavigationAction[\"Next\"] = 1] = \"Next\";\n NavigationAction[NavigationAction[\"Previous\"] = 2] = \"Previous\";\n})(NavigationAction || (NavigationAction = {}));\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = this && this.__spreadArray || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { PanelBarItem } from './PanelBarItem';\nimport { renderChildren, getInitialState, flatVisibleChildren, flatChildren, isArrayEqual, getFirstId } from './util';\nimport { classNames, Keys } from '@progress/kendo-vue-common';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { NavigationAction } from './interfaces/NavigationAction';\n/**\n * @hidden\n */\nvar PanelBarVue2 = {\n name: 'KendoPanelBar',\n // @ts-ignore\n emits: {\n select: null,\n keydown: null\n },\n props: {\n animation: {\n type: Boolean,\n default: true\n },\n items: Array,\n dir: String,\n selected: String,\n expanded: {\n type: Array,\n default: undefined\n },\n focused: String,\n expandMode: {\n type: String,\n default: 'multiple',\n validator: function validator(value) {\n return ['single', 'multiple'].includes(value);\n }\n },\n className: String,\n keepItemsMounted: Boolean\n },\n created: function created() {\n this.activeDescendant = null;\n validatePackage(packageMetadata);\n },\n data: function data() {\n var initialState = getInitialState(this.$props, this.expandMode);\n if (!initialState.currentFocused) {\n initialState.currentFocused = getFirstId(this.$props);\n }\n return initialState;\n },\n computed: {\n selectedItem: function selectedItem() {\n var _a = this.$props.selected,\n selected = _a === void 0 ? this.currentSelected : _a;\n return selected;\n },\n expandedItems: function expandedItems() {\n var expanded = this.$props.expanded !== undefined ? this.$props.expanded || [] : this.currentExpanded;\n return expanded;\n },\n computedItems: function computedItems() {\n var state = __assign(__assign({\n currentExpanded: []\n }, this.$data), {\n selected: this.selectedItem\n });\n var renderState = {\n animation: this.$props.animation,\n keepItemsMounted: this.$props.keepItemsMounted,\n state: state,\n expanded: this.expandedItems,\n handleSelect: this.handleSelect\n };\n return renderChildren.call(this, this.items, renderState);\n }\n },\n provide: function provide() {\n return {\n dispatchItemSelect: this.handleSelect\n };\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var className = classNames('k-panelbar', this.$props.className);\n return h(\"ul\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir,\n role: 'tree',\n tabindex: 0,\n \"aria-activedescendant\": this.activeDescendant\n },\n role: 'tree',\n tabindex: 0,\n onKeydown: this.handleKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.handleKeyDown,\n \"focus\": this.handleWrapperFocus,\n \"blur\": this.handleWrapperBlur\n },\n onFocus: this.handleWrapperFocus,\n onBlur: this.handleWrapperBlur,\n \"class\": className,\n \"aria-activedescendant\": this.activeDescendant\n }, [this.computedItems.map(function (item) {\n return h(PanelBarItem, __assign(__assign({\n props: this.v3 ? undefined : __assign(__assign({}, item), {\n item: item\n })\n }, item), {\n item: item\n }));\n }, this)]);\n },\n methods: {\n handleSelect: function handleSelect(event) {\n this.onSelect(event);\n this.onFocus(event);\n },\n onSelect: function onSelect(event) {\n var _this = this;\n var flattenChildren = flatChildren(this.computedItems);\n var selectedChild;\n var newExpanded;\n flattenChildren.forEach(function (child) {\n if (child.uniquePrivateKey === (event.uniquePrivateKey || _this.currentFocused)) {\n selectedChild = child;\n }\n });\n if (selectedChild) {\n switch (this.expandMode) {\n case 'single':\n newExpanded = __spreadArray(__spreadArray([], selectedChild.parentUniquePrivateKey, true), [selectedChild.uniquePrivateKey], false);\n if (isArrayEqual(this.expandedItems, newExpanded)) {\n if (selectedChild.parentUniquePrivateKey) {\n newExpanded = __spreadArray([], selectedChild.parentUniquePrivateKey, true);\n } else {\n newExpanded = [];\n }\n }\n break;\n case 'multiple':\n newExpanded = this.expandedItems.slice();\n var index = newExpanded.indexOf(selectedChild.uniquePrivateKey);\n index === -1 ? newExpanded.push(selectedChild.uniquePrivateKey) : newExpanded.splice(index, 1);\n break;\n default:\n newExpanded = this.expandedItems.slice();\n break;\n }\n this.currentSelected = selectedChild.uniquePrivateKey;\n this.currentExpanded = newExpanded;\n this.$emit('select', {\n target: selectedChild,\n expandedItems: newExpanded\n });\n }\n },\n onFocus: function onFocus(event, step) {\n var _this = this;\n if (step === void 0) {\n step = 0;\n }\n var flattenChildren = flatVisibleChildren(this.computedItems);\n var focusedChild;\n flattenChildren.forEach(function (child, ixd) {\n if (child.uniquePrivateKey === (event.uniquePrivateKey || _this.currentFocused)) {\n var index = ixd + step < 0 ? 0 : ixd + step > flattenChildren.length ? flattenChildren.length - 1 : ixd + step;\n focusedChild = flattenChildren[index];\n }\n });\n if (focusedChild) {\n this.activeDescendant = focusedChild.id;\n this.currentFocused = focusedChild.uniquePrivateKey;\n }\n },\n onNavigate: function onNavigate(event, action) {\n var step;\n switch (action) {\n case NavigationAction.Previous:\n step = -1;\n this.onFocus(event, step);\n break;\n case NavigationAction.Next:\n step = 1;\n this.onFocus(event, step);\n break;\n case NavigationAction.Toggle:\n this.onSelect(event);\n break;\n default:\n }\n },\n handleWrapperFocus: function handleWrapperFocus() {\n if (!this.wrapperFocused) {\n this.wrapperFocused = true;\n }\n },\n handleWrapperBlur: function handleWrapperBlur() {\n this.wrapperFocused = false;\n },\n handleKeyDown: function handleKeyDown(event) {\n var rtl = this._element && getComputedStyle(this._element).direction === 'rtl' || false;\n if (event.target === event.currentTarget) {\n var keyCode = event.keyCode;\n var action = void 0;\n switch (keyCode) {\n case Keys.left:\n action = !rtl ? NavigationAction.Previous : NavigationAction.Next;\n break;\n case Keys.up:\n action = NavigationAction.Previous;\n break;\n case Keys.right:\n action = !rtl ? NavigationAction.Next : NavigationAction.Previous;\n break;\n case Keys.down:\n action = NavigationAction.Next;\n break;\n case Keys.space:\n case Keys.enter:\n action = NavigationAction.Toggle;\n break;\n default:\n action = null;\n break;\n }\n if (action !== null) {\n event.preventDefault();\n this.onNavigate(event, action);\n }\n }\n this.$emit('keydown', event);\n }\n }\n};\n/**\n *\n * ### props [PanelBarProps]({% slug api_layout_panelbarprops %})\n * The props of the PanelBar component.\n */\nvar PanelBar = PanelBarVue2;\nexport { PanelBar, PanelBarVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Draggable } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ResizeHandlersVue2 = {\n name: 'KendoResizeHandlers',\n props: {\n direction: String,\n rtl: Boolean\n },\n computed: {\n handleClass: function handleClass() {\n return 'k-resize-handle k-cursor-' + this.direction + '-resize';\n },\n dirStyles: function dirStyles() {\n var direction = this.$props.direction;\n switch (direction) {\n case 'ew':\n return this.rtl ? {\n top: 0,\n width: '9px',\n left: 0,\n right: ''\n } : {\n top: 0,\n width: '9px',\n right: 0,\n left: ''\n };\n case 'ns':\n return {\n left: 0,\n height: '9px'\n };\n case 'nesw':\n case 'nwse':\n return this.rtl ? {\n width: '9px',\n height: '9px',\n right: '',\n left: 0\n } : {\n width: '9px',\n height: '9px',\n right: 0,\n left: ''\n };\n default:\n return {};\n }\n },\n handleStyle: function handleStyle() {\n return __assign({\n bottom: 0,\n right: 0\n }, this.dirStyles);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this2 = this;\n var _this = this;\n var h = gh || createElement;\n var direction = this.$props.direction;\n return (\n // @ts-ignore function children\n h(Draggable, {\n onPress: this.handlePress,\n on: this.v3 ? undefined : {\n \"press\": this.handlePress,\n \"drag\": function drag(event) {\n _this.handleResize(event, false, direction);\n },\n \"release\": function release(event) {\n _this.handleResize(event, true, direction);\n }\n },\n onDrag: function drag(event) {\n _this.handleResize(event, false, direction);\n },\n onRelease: function release(event) {\n _this.handleResize(event, true, direction);\n }\n }, this.v3 ? function () {\n return [h(\"div\", {\n \"class\": _this2.handleClass,\n style: _this2.handleStyle\n })];\n } : [h(\"div\", {\n \"class\": _this2.handleClass,\n style: _this2.handleStyle\n })])\n );\n },\n methods: {\n handleResize: function handleResize(event, isEnd, direction) {\n event.originalEvent.preventDefault();\n this.$emit('resize', event, {\n end: isEnd,\n direction: direction\n });\n },\n handlePress: function handlePress(event) {\n this.$emit('press', event);\n }\n }\n};\n/**\n * @hidden\n */\nvar ResizeHandlers = ResizeHandlersVue2;\nexport { ResizeHandlers, ResizeHandlersVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArray = this && this.__spreadArray || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { canUseDOM, Draggable, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { ResizeHandlers } from './ResizeHandlers';\nvar tileDragClasses = ['k-card-title', 'k-card-body', 'k-tilelayout-item-body', 'k-tilelayout-item', 'k-tilelayout-item-header', 'k-resize-handle'];\n/**\n * @hidden\n */\nvar ANIMATION_DURATION = 200;\n/**\n * @hidden\n */\nvar TileVue2 = {\n name: 'KendoTile',\n props: {\n defaultPosition: {\n required: true\n },\n index: Number,\n tile: Object,\n hintStyle: Object,\n hintClass: String,\n header: [String, Function, Object],\n body: [String, Function, Object],\n item: [String, Function, Object],\n resizable: {\n type: [String, Boolean],\n default: true,\n validator: function validator(value) {\n return ['horizontal', 'vertical', true, false].includes(value);\n }\n },\n reorderable: {\n type: Boolean,\n default: true\n },\n tabIndex: {\n type: Number,\n default: 0\n },\n ariaDescribedBy: String,\n ignoreDrag: Function\n },\n created: function created() {\n this.oldSize = {};\n this.dragging = false;\n this.resizing = false;\n this.currentIgnoreDrag = false;\n this.pressOffset = {\n x: 0,\n y: 0\n };\n this.pressXY = {\n x: 0,\n y: 0\n };\n this.currentTranslate = {\n x: 0,\n y: 0\n };\n this.prevDefaultPosition = this.$props.defaultPosition;\n this.preventDataOps = undefined;\n },\n computed: {\n wrapperClass: function wrapperClass() {\n return {\n 'k-tilelayout-item': true,\n 'k-card': true,\n 'k-cursor-grab': this.reorderable\n };\n }\n },\n data: function data() {\n return {\n rtl: false,\n grabbed: false\n };\n },\n mounted: function mounted() {\n if (!this.$el) {\n return;\n }\n if (this.$el) {\n this.draggable = this.$refs.draggable;\n }\n if (getComputedStyle(this.$el).direction === 'rtl') {\n this.rtl = true;\n }\n },\n watch: {\n defaultPosition: function defaultPosition(_, oldValue) {\n this.prevDefaultPosition = oldValue;\n }\n },\n beforeUpdate: function beforeUpdate() {\n this.oldSize = {};\n var dragElement = this.dragElement();\n if (dragElement) {\n this.oldSize = dragElement.getBoundingClientRect();\n }\n return null;\n },\n updated: function updated() {\n var dragElement = this.dragElement();\n if (!dragElement) {\n return;\n }\n var newBox = dragElement.getBoundingClientRect();\n var oldBox = this.oldSize;\n var that = this;\n if (this.resizing) {\n var diffCol = newBox.width - oldBox.width;\n if (this.rtl) {\n var currentM = parseFloat(dragElement.style.marginLeft || '0');\n dragElement.style.marginLeft = currentM - diffCol + 'px';\n } else {\n var currentM = parseFloat(dragElement.style.marginRight || '0');\n dragElement.style.marginRight = currentM + diffCol + 'px';\n }\n this.pressXY.x += this.rtl ? -diffCol : diffCol;\n var diffRow = newBox.height - oldBox.height;\n var currentBot = parseFloat(dragElement.style.height.substring(12));\n dragElement.style.height = \"calc(100% + \".concat(currentBot + diffRow, \"px)\");\n this.pressXY.y += diffRow;\n }\n var deltaX = oldBox.left - newBox.left;\n var deltaY = oldBox.top - newBox.top;\n if (deltaX === 0 && deltaY === 0) {\n return;\n }\n if (this.dragging) {\n if (this.prevDefaultPosition.order !== this.$props.defaultPosition.order || this.prevDefaultPosition.col !== this.$props.defaultPosition.col) {\n this.currentTranslate.x = 0;\n this.currentTranslate.y = 0;\n dragElement.style.transform = '';\n }\n return;\n }\n if (Math.abs(deltaY) < 15 && Math.abs(deltaX) < 15) {\n // improves performance and removes random flickering\n return;\n }\n requestAnimationFrame(function () {\n var domNode = that.$el;\n if (!domNode) {\n return;\n }\n domNode.style.transform = \"translate(\".concat(deltaX, \"px, \").concat(deltaY, \"px)\");\n domNode.style.transition = 'transform 0s';\n requestAnimationFrame(function () {\n domNode.style.transform = '';\n domNode.style.transition = \"transform \".concat(ANIMATION_DURATION, \"ms cubic-bezier(0.2, 0, 0, 1) 0s\");\n });\n });\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n if (clearTimeout && typeof clearTimeout === 'function') {\n clearTimeout(this.preventDataOps);\n if (canUseDOM) {\n this.preventDataOps = window.setTimeout(function () {\n _this.preventDataOps = undefined;\n }, 200);\n }\n }\n var position = this.$props.defaultPosition;\n var resizable = this.$props.resizable;\n var itemStyles = __assign({\n gridColumnStart: position.col,\n gridColumnEnd: \"span \".concat(position.colSpan),\n gridRowStart: position.row,\n gridRowEnd: \"span \".concat(position.rowSpan),\n outline: 'none',\n order: position.order\n }, this.$props.hintStyle);\n var card = h(\"div\", {\n \"class\": this.wrapperClass,\n style: {\n height: '100%'\n },\n role: 'listitem',\n attrs: this.v3 ? undefined : {\n role: 'listitem',\n tabIndex: this.$props.tabIndex,\n \"aria-keyshortcuts\": 'Enter',\n \"aria-dropeffect\": 'execute',\n \"aria-grabbed\": this.grabbed ? true : false,\n \"aria-ariaDescribedBy\": this.$props.ariaDescribedBy\n },\n tabIndex: this.$props.tabIndex,\n \"aria-keyshortcuts\": 'Enter',\n \"aria-dropeffect\": 'execute',\n \"aria-grabbed\": this.grabbed ? true : false,\n \"aria-ariaDescribedBy\": this.$props.ariaDescribedBy,\n onTouchstart: this.touchStart,\n on: this.v3 ? undefined : {\n \"touchstart\": this.touchStart\n }\n }, [defaultSlots, resizable && resizable !== 'vertical' && h(ResizeHandlers, {\n onPress: this.handlePress,\n on: this.v3 ? undefined : {\n \"press\": this.handlePress,\n \"resize\": this.handleResize\n },\n onResize: this.handleResize,\n direction: \"ew\",\n attrs: this.v3 ? undefined : {\n direction: \"ew\",\n rtl: this.rtl\n },\n rtl: this.rtl\n }), resizable && resizable !== 'horizontal' && h(ResizeHandlers, {\n onPress: this.handlePress,\n on: this.v3 ? undefined : {\n \"press\": this.handlePress,\n \"resize\": this.handleResize\n },\n onResize: this.handleResize,\n direction: \"ns\",\n attrs: this.v3 ? undefined : {\n direction: \"ns\",\n rtl: this.rtl\n },\n rtl: this.rtl\n }), resizable === true && h(ResizeHandlers, {\n onPress: this.handlePress,\n on: this.v3 ? undefined : {\n \"press\": this.handlePress,\n \"resize\": this.handleResize\n },\n onResize: this.handleResize,\n direction: this.rtl ? 'nesw' : 'nwse',\n attrs: this.v3 ? undefined : {\n direction: this.rtl ? 'nesw' : 'nwse',\n rtl: this.rtl\n },\n rtl: this.rtl\n })]);\n return h(\"div\", {\n style: itemStyles,\n \"class\": this.$props.hintClass\n }, [\n // @ts-ignore function children\n h(Draggable, {\n ref: 'draggable',\n onDrag: this.handleDrag,\n on: this.v3 ? undefined : {\n \"drag\": this.handleDrag,\n \"release\": this.handleRelease,\n \"press\": this.handlePress\n },\n onRelease: this.handleRelease,\n onPress: this.handlePress\n }, this.v3 ? function () {\n return [card];\n } : [card])]);\n },\n methods: {\n touchStart: function touchStart(e) {\n var dragClasses = this.tile.dragClasses ? __spreadArray(__spreadArray([], tileDragClasses, true), this.tile.dragClasses, true) : tileDragClasses;\n if (dragClasses.some(function (dragClass) {\n return e.target.classList.contains(dragClass);\n })) {\n e.preventDefault();\n }\n },\n dragElement: function dragElement() {\n return this.draggable && this.draggable.element;\n },\n handleResize: function handleResize(e, q) {\n var dragElement = this.dragElement();\n if (q.end) {\n this.handleRelease();\n return;\n }\n if (!this.reorderable || !this.$el) {\n return;\n }\n var x = e.clientX;\n var y = e.clientY;\n this.resizing = true;\n var dX = (q.direction !== 'ns' ? x - this.pressXY.x : 0) * (this.rtl ? -1 : 1);\n var dY = q.direction !== 'ew' ? y - this.pressXY.y : 0;\n if (dragElement) {\n if (this.rtl) {\n dragElement.style.marginLeft = -dX + 'px';\n } else {\n dragElement.style.marginRight = -dX + 'px';\n }\n dragElement.style.height = \"calc(100% + \".concat(dY, \"px)\");\n }\n this.$el.classList.add('k-layout-item-hint', 'k-layout-item-hint-resize');\n if (this.preventDataOps) {\n return;\n }\n var col = 0;\n var row = 0;\n var wrapBox = this.$el.getBoundingClientRect();\n if (dX > wrapBox.width / this.$props.defaultPosition.colSpan / 3) {\n col = 1;\n }\n if (dX < -wrapBox.width / this.$props.defaultPosition.colSpan / 1.25) {\n col = -1;\n }\n // vertical\n if (dY > wrapBox.height / this.$props.defaultPosition.rowSpan / 3) {\n row = 1;\n }\n if (dY < -wrapBox.height / this.$props.defaultPosition.rowSpan / 1.25) {\n row = -1;\n }\n if (col !== 0 || row !== 0) {\n this.$emit('update', this.$props.index, 0, 0, row, col, true);\n }\n },\n handlePress: function handlePress(e) {\n var dragElement = this.dragElement();\n if (!this.reorderable || !dragElement) {\n return;\n }\n this.pressXY = {\n x: e.clientX,\n y: e.clientY\n };\n this.currentIgnoreDrag = false;\n if (this.$props.ignoreDrag && this.$props.ignoreDrag(e.originalEvent)) {\n this.currentIgnoreDrag = true;\n return;\n }\n if (this.$el) {\n this.$el.style.zIndex = '10';\n this.$el.classList.add('k-layout-item-hint');\n }\n dragElement.classList.remove('k-cursor-grab');\n dragElement.classList.add('k-cursor-grabbing');\n this.grabbed = true;\n var rec = dragElement.getBoundingClientRect();\n this.pressOffset = {\n x: e.clientX - rec.x,\n y: e.clientY - rec.y\n };\n },\n handleDrag: function handleDrag(e) {\n if (!this.reorderable || this.currentIgnoreDrag) {\n return;\n }\n var dragElement = this.dragElement();\n if (e.originalEvent.defaultPrevented || !dragElement) {\n return;\n }\n this.dragging = true;\n e.originalEvent.preventDefault();\n var rec = dragElement.getBoundingClientRect();\n this.currentTranslate = {\n x: e.clientX - rec.x - this.pressOffset.x + this.currentTranslate.x,\n y: e.clientY - rec.y - this.pressOffset.y + this.currentTranslate.y\n };\n dragElement.style.transform = \"translate(\".concat(this.currentTranslate.x, \"px, \").concat(this.currentTranslate.y, \"px)\");\n dragElement.style.transition = 'transform 0s';\n if (this.preventDataOps) {\n return;\n }\n var col = 0;\n var row = 0;\n if (this.currentTranslate.y > 0.7 * rec.height / this.$props.defaultPosition.rowSpan) {\n row = 1;\n }\n if (this.currentTranslate.y < 0.7 * -rec.height / this.$props.defaultPosition.rowSpan) {\n row = -1;\n }\n if (this.currentTranslate.x > 0.7 * rec.width / this.$props.defaultPosition.colSpan) {\n col = 1;\n }\n if (this.currentTranslate.x < 0.7 * -rec.width / this.$props.defaultPosition.colSpan) {\n col = -1;\n }\n this.$emit('update', this.$props.index, row, this.rtl ? -col : col, 0, 0);\n },\n handleRelease: function handleRelease() {\n if (!this.reorderable) {\n return;\n }\n this.dragging = this.resizing = false;\n this.currentTranslate = {\n x: 0,\n y: 0\n };\n if (this.$el) {\n this.$el.style.zIndex = '1';\n this.$el.classList.remove('k-layout-item-hint', 'k-layout-item-hint-resize');\n }\n var dragElement = this.dragElement();\n if (dragElement) {\n dragElement.style.transform = 'translate(0px, 0px)';\n dragElement.style.transition = \"transform \".concat(ANIMATION_DURATION, \"ms cubic-bezier(0.2, 0, 0, 1) 0s\");\n dragElement.style.marginRight = '0px';\n dragElement.style.marginLeft = '0px';\n dragElement.style.height = '100%';\n dragElement.classList.remove('k-cursor-grabbing');\n dragElement.classList.add('k-cursor-grab');\n this.grabbed = false;\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar Tile = TileVue2;\nexport { Tile, TileVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getListeners, getTemplate, getter, templateRendering, validatePackage, guid } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\nimport { Tile } from './Tile';\n/**\n * @hidden\n */\nvar AUTO_FLOW_CLASSES = {\n 'column': 'k-grid-flow-col',\n 'row': 'k-grid-flow-row',\n 'column dense': 'k-grid-flow-col-dense',\n 'row dense': 'k-grid-flow-row-dense',\n 'unset': 'k-grid-flow-unset'\n};\n/**\n * @hidden\n */\nvar TileLayoutVue2 = {\n name: 'KendoTileLayout',\n props: {\n id: String,\n dir: String,\n gap: Object,\n columns: Number,\n columnWidth: [Number, String],\n rowHeight: [Number, String],\n dataItemKey: String,\n items: Array,\n positions: Array,\n autoFlow: {\n type: String,\n default: 'column',\n validator: function validator(value) {\n return ['column', 'row', 'column dense', 'row dense', 'unset'].includes(value);\n }\n },\n ignoreDrag: Function\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n data: function data() {\n return {\n currentPositions: []\n };\n },\n computed: {\n compPositions: function compPositions() {\n if (this.positions) {\n return this.positions.map(function (p, i) {\n return Object.assign({\n order: i,\n rowSpan: 1,\n colSpan: 1\n }, p);\n });\n }\n if (this.items && this.currentPositions.length) {\n return this.currentPositions.map(function (p, i) {\n return Object.assign({\n order: i,\n rowSpan: 1,\n colSpan: 1\n }, p);\n });\n }\n return (this.$props.items || []).map(function (p, i) {\n return Object.assign({\n order: i,\n rowSpan: 1,\n colSpan: 1\n }, p.defaultPosition);\n });\n },\n wrapperClass: function wrapperClass() {\n var _a;\n var autoFlow = this.$props.autoFlow;\n return _a = {\n 'k-tilelayout': true\n }, _a[AUTO_FLOW_CLASSES[autoFlow]] = true, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n _b = _a.columns,\n columns = _b === void 0 ? 3 : _b,\n _c = _a.columnWidth,\n columnWidth = _c === void 0 ? '1fr' : _c,\n gap = _a.gap,\n _d = _a.rowHeight,\n rowHeight = _d === void 0 ? '1fr' : _d,\n _e = _a.items,\n items = _e === void 0 ? [] : _e;\n var gapValue = gap ? \"\".concat(typeof gap.rows === 'number' ? gap.rows + 'px' : gap.rows) + ' ' + \"\".concat(typeof gap.columns === 'number' ? gap.columns + 'px' : gap.columns) : 16;\n var tileLayoutStyles = {\n gridTemplateColumns: \"repeat(\".concat(columns, \", minmax(0px, \").concat(typeof columnWidth === 'number' ? columnWidth + 'px' : columnWidth, \"))\"),\n gridAutoRows: \"minmax(0px, \".concat(typeof rowHeight === 'number' ? rowHeight + 'px' : rowHeight, \")\"),\n gap: gapValue,\n padding: gapValue\n };\n return h(\"div\", {\n dir: this.$props.dir,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir,\n id: this.$props.id,\n role: 'list'\n },\n \"class\": this.wrapperClass,\n style: tileLayoutStyles,\n id: this.$props.id,\n role: 'list'\n }, [items.map(function (tile, index) {\n var _this = this;\n var tileTitleId = tile && tile.id || guid();\n var item = templateRendering.call(this, tile.item, getListeners.call(this));\n var itemContent = getTemplate.call(this, {\n h: h,\n template: item,\n defaultRendering: null,\n additionalProps: {\n tile: tile,\n index: index\n }\n });\n var header = templateRendering.call(this, tile.header, getListeners.call(this));\n var headerContent = getTemplate.call(this, {\n h: h,\n template: header,\n defaultRendering: null,\n additionalProps: {\n tile: tile,\n index: index,\n id: tileTitleId,\n headerText: tile.headerText\n }\n });\n var body = templateRendering.call(this, tile.body, getListeners.call(this));\n var bodyContent = getTemplate.call(this, {\n h: h,\n template: body,\n defaultRendering: null,\n additionalProps: {\n tile: tile,\n index: index,\n bodyText: tile.bodyText\n }\n });\n return (\n // @ts-ignore function children\n h(Tile, {\n key: this.$props.dataItemKey ? getter(this.$props.dataItemKey)(tile) : index,\n onUpdate: this.updateHandle,\n on: this.v3 ? undefined : {\n \"update\": this.updateHandle\n },\n defaultPosition: this.compPositions[index],\n attrs: this.v3 ? undefined : {\n defaultPosition: this.compPositions[index],\n index: index,\n resizable: tile.resizable,\n reorderable: tile.reorderable,\n tile: tile,\n hintClass: tile.hintClass,\n hintStyle: tile.hintStyle,\n ignoreDrag: this.$props.ignoreDrag,\n \"aria-describedby\": tileTitleId,\n \"tab-index\": tile.tabIndex\n },\n index: index,\n resizable: tile.resizable,\n reorderable: tile.reorderable,\n style: tile.style,\n \"class\": tile.class,\n tile: tile,\n hintClass: tile.hintClass,\n hintStyle: tile.hintStyle,\n ignoreDrag: this.$props.ignoreDrag,\n \"aria-describedby\": tileTitleId,\n \"tab-index\": tile.tabIndex\n }, this.v3 ? function () {\n return [tile.item ? itemContent : [h(\"div\", {\n \"class\": \"k-tilelayout-item-header k-card-header\"\n }, [tile.header ? headerContent : h(\"h5\", {\n \"class\": 'k-card-title',\n id: tileTitleId,\n attrs: _this.v3 ? undefined : {\n id: tileTitleId\n }\n }, [tile.headerText])]), h(\"div\", {\n \"class\": 'k-tilelayout-item-body k-card-body'\n }, [tile.body ? bodyContent : tile.bodyText])]];\n } : [tile.item ? itemContent : [h(\"div\", {\n \"class\": \"k-tilelayout-item-header k-card-header\"\n }, [tile.header ? headerContent : h(\"h5\", {\n \"class\": 'k-card-title',\n id: tileTitleId,\n attrs: _this.v3 ? undefined : {\n id: tileTitleId\n }\n }, [tile.headerText])]), h(\"div\", {\n \"class\": 'k-tilelayout-item-body k-card-body'\n }, [tile.body ? bodyContent : tile.bodyText])]])\n );\n }, this)]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n updateHandle: function updateHandle(index, dOrder, dCol, dRowSpan, dColSpan, isResized) {\n if (dRowSpan === void 0) {\n dRowSpan = 0;\n }\n if (dColSpan === void 0) {\n dColSpan = 0;\n }\n if (dOrder === 0 && dCol === 0 && !dColSpan && !dRowSpan) {\n return;\n }\n var shouldUpdate = false;\n var positions = this.compPositions.map(function (p) {\n return Object.assign({}, p);\n });\n // reordering:\n var current = positions[index];\n var other = positions.find(function (item) {\n return item.order === current.order + dOrder;\n });\n if (other && other !== current) {\n current.order += dOrder;\n other.order += -dOrder;\n shouldUpdate = true;\n }\n var proposedCol = current.col + dCol;\n if (dCol !== 0 && proposedCol >= 1 && proposedCol + current.colSpan <= (this.$props.columns || 3) + 1) {\n current.col = proposedCol;\n shouldUpdate = true;\n }\n // resizing:\n var proposedColSpan = current.colSpan + dColSpan;\n if (dColSpan && proposedColSpan >= 1 && proposedColSpan + current.col <= (this.$props.columns || 3) + 1) {\n current.colSpan = proposedColSpan;\n shouldUpdate = true;\n }\n var proposedRowSpan = current.rowSpan + dRowSpan;\n if (dRowSpan && proposedRowSpan >= 1) {\n current.rowSpan = proposedRowSpan;\n shouldUpdate = true;\n }\n if (shouldUpdate) {\n this.currentPositions = positions;\n if (isResized) {\n this.$emit('tileresize', {\n value: positions,\n index: index,\n rowSpan: dRowSpan,\n colSpan: dColSpan\n });\n }\n this.$emit('reposition', {\n value: positions,\n index: index,\n row: dOrder,\n col: dCol\n });\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar TileLayout = TileLayoutVue2;\nexport { TileLayout, TileLayoutVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { focusFirstFocusableChild, getDefaultSlots, guid, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar AppBarVue2 = {\n name: 'KendoAppBar',\n props: {\n id: String,\n themeColor: {\n type: String,\n default: 'light'\n },\n position: {\n type: String,\n default: 'top',\n validator: function validator(value) {\n return ['top', 'bottom'].includes(value);\n }\n },\n positionMode: {\n type: String,\n default: 'static',\n validator: function validator(value) {\n return ['static', 'sticky', 'fixed'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.calculatedId = guid();\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a = this.$props,\n position = _a.position,\n positionMode = _a.positionMode,\n themeColor = _a.themeColor;\n return {\n 'k-appbar': true,\n 'k-appbar-top': position === 'top',\n 'k-appbar-bottom': position === 'bottom',\n 'k-appbar-static': positionMode === 'static',\n 'k-appbar-sticky': positionMode === 'sticky',\n 'k-appbar-fixed': positionMode === 'fixed',\n 'k-appbar-light': themeColor === 'light',\n 'k-appbar-dark': themeColor === 'dark',\n 'k-appbar-inherit': themeColor === 'inherit'\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var id = this.$props.id;\n return h(\"div\", {\n \"class\": this.wrapperClass,\n id: id || this.calculatedId,\n attrs: this.v3 ? undefined : {\n id: id || this.calculatedId\n }\n }, [defaultSlot]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n focusFirstFocusableChild(this.$el);\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar AppBar = AppBarVue2;\nexport { AppBar, AppBarVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { focusFirstFocusableChild, getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar AppBarSectionVue2 = {\n name: 'KendoAppBarSection',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-appbar-section'\n }, [defaultSlot]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n focusFirstFocusableChild(this.$el);\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar AppBarSection = AppBarSectionVue2;\nexport { AppBarSection, AppBarSectionVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { focusFirstFocusableChild, getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar AppBarSpacerVue2 = {\n name: 'KendoAppBarSpacer',\n props: {\n width: [String, Number]\n },\n computed: {\n spacerClasses: function spacerClasses() {\n return {\n 'k-appbar-spacer': true,\n 'k-appbar-spacer-sized': this.width !== undefined\n };\n },\n spacerStyles: function spacerStyles() {\n return {\n flexBasis: this.width !== undefined ? this.width : undefined\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"span\", {\n \"class\": this.spacerClasses,\n style: this.spacerStyles\n }, [defaultSlot]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n focusFirstFocusableChild(this.$el);\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar AppBarSpacer = AppBarSpacerVue2;\nexport { AppBarSpacer, AppBarSpacerVue2 };","/**\n * @hidden\n */\nexport var THEME_COLOR_CLASSES = {\n 'primary': 'k-bottom-nav-primary',\n 'secondary': 'k-bottom-nav-secondary',\n 'tertiary': 'k-bottom-nav-tertiary',\n 'info': 'k-bottom-nav-info',\n 'success': 'k-bottom-nav-success',\n 'warning': 'k-bottom-nav-warning',\n 'error': 'k-bottom-nav-error',\n 'dark': 'k-bottom-nav-dark',\n 'light': 'k-bottom-nav-light',\n 'inverse': 'k-bottom-nav-inverse'\n};\n/**\n * @hidden\n */\nexport var FILL_CLASSES = {\n 'flat': 'k-bottom-nav-flat',\n 'solid': 'k-bottom-nav-solid'\n};\n/**\n * @hidden\n */\nexport var ITEM_FLOW_CLASSES = {\n 'vertical': 'k-bottom-nav-item-flow-vertical',\n 'horizontal': 'k-bottom-nav-item-flow-horizontal'\n};\n/**\n * @hidden\n */\nexport var POSITION_MODE_CLASSES = {\n 'fixed': 'k-pos-fixed',\n 'sticky': 'k-pos-sticky'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { packageMetadata } from '../package-metadata';\nimport { getTemplate, Icon, validatePackage } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar BottomNavigationItemVue2 = {\n name: 'KendoBottomNavigationItem',\n // @ts-ignore\n emits: {\n 'keydown': null,\n 'select': null\n },\n props: {\n id: String,\n disabled: Boolean,\n selected: Boolean,\n icon: String,\n item: [String, Object, Function],\n text: String,\n dataItem: Object,\n index: Number,\n tabIndex: {\n type: Number,\n default: 0\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n itemClasses: function itemClasses() {\n var _a = this.$props,\n selected = _a.selected,\n disabled = _a.disabled;\n return {\n 'k-bottom-nav-item': true,\n 'k-selected': selected,\n 'k-disabled': disabled\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n selected = _a.selected,\n disabled = _a.disabled,\n item = _a.item,\n dataItem = _a.dataItem,\n id = _a.id,\n index = _a.index,\n tabIndex = _a.tabIndex;\n var icon = dataItem.icon,\n text = dataItem.text,\n svgIcon = dataItem.svgIcon;\n var content = getTemplate.call(this, {\n h: h,\n template: item,\n defaultRendering: null,\n additionalProps: {\n itemIndex: index,\n item: dataItem\n }\n });\n var bottomNavItem = h(\"span\", {\n \"class\": this.itemClasses,\n role: 'link',\n attrs: this.v3 ? undefined : {\n role: 'link',\n id: id,\n tabIndex: tabIndex,\n \"aria-current\": selected,\n \"aria-disabled\": disabled\n },\n id: id,\n tabIndex: tabIndex,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"keydown\": this.handleKeyDown\n },\n onKeydown: this.handleKeyDown,\n \"aria-current\": selected,\n \"aria-disabled\": disabled\n }, [this.$props.item ? content : [icon && h(Icon, {\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon,\n size: 'xlarge'\n },\n icon: svgIcon,\n size: 'xlarge',\n \"class\": \"k-bottom-nav-item-icon\"\n }), text && h(\"span\", {\n \"class\": 'k-bottom-nav-item-text',\n style: {\n userSelect: 'none'\n }\n }, [text])]]);\n return bottomNavItem;\n },\n methods: {\n handleClick: function handleClick(event) {\n if (this.index !== undefined && !this.disabled) {\n this.$emit('select', event, this.index);\n }\n },\n handleKeyDown: function handleKeyDown(event) {\n if (this.index !== undefined && !this.disabled) {\n this.$emit('keydown', event, this.index);\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar BottomNavigationItem = BottomNavigationItemVue2;\nexport { BottomNavigationItem, BottomNavigationItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { packageMetadata } from '../package-metadata';\nimport { focusFirstFocusableChild, getListeners, guid, Keys, templateRendering, validatePackage } from '@progress/kendo-vue-common';\nimport { FILL_CLASSES, ITEM_FLOW_CLASSES, POSITION_MODE_CLASSES, THEME_COLOR_CLASSES } from './models/utils';\nimport { BottomNavigationItem } from './BottomNavigationItem';\n/**\n * @hidden\n */\nvar BottomNavigationVue2 = {\n name: 'KendoBottomNavigation',\n // @ts-ignore\n emits: {\n 'keydown': null,\n 'select': null\n },\n props: {\n dir: String,\n themeColor: {\n type: String,\n default: 'primary',\n validator: function validator(value) {\n return ['primary', 'secondary', 'tertiary', 'info', 'success', 'warning', 'error', 'dark', 'light', 'inverse'].includes(value);\n }\n },\n fill: {\n type: String,\n default: 'flat',\n validator: function validator(value) {\n return ['solid', 'flat'].includes(value);\n }\n },\n fillMode: {\n type: String,\n default: 'flat',\n validator: function validator(value) {\n return ['solid', 'flat'].includes(value);\n }\n },\n item: [String, Object, Function],\n items: Array,\n itemFlow: {\n type: String,\n default: 'vertical',\n validator: function validator(value) {\n return ['vertical', 'horizontal'].includes(value);\n }\n },\n positionMode: {\n type: String,\n default: 'fixed',\n validator: function validator(value) {\n return ['sticky', 'fixed'].includes(value);\n }\n },\n border: {\n type: Boolean,\n default: true\n },\n disabled: Boolean,\n selected: Number\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.navId = guid();\n },\n computed: {\n navClasses: function navClasses() {\n var _a;\n var _b = this.$props,\n themeColor = _b.themeColor,\n fillMode = _b.fillMode,\n positionMode = _b.positionMode,\n itemFlow = _b.itemFlow,\n border = _b.border,\n disabled = _b.disabled;\n var fill = fillMode !== undefined ? fillMode : this.$props.fill;\n return _a = {\n 'k-bottom-nav': true\n }, _a[POSITION_MODE_CLASSES[positionMode]] = true, _a[THEME_COLOR_CLASSES[themeColor]] = true, _a[FILL_CLASSES[fill]] = true, _a[ITEM_FLOW_CLASSES[itemFlow]] = true, _a['k-bottom-nav-border'] = border, _a['k-disabled'] = disabled, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n id = _a.id,\n items = _a.items,\n item = _a.item,\n disabled = _a.disabled;\n // const dir = useDir(elementRef, props.dir);\n return h(\"nav\", {\n \"class\": this.navClasses,\n id: id || this.navId,\n attrs: this.v3 ? undefined : {\n id: id || this.navId\n }\n }, [items && items.map(function (element, index) {\n var content = templateRendering.call(this, element.item || item, getListeners.call(this));\n return (\n // @ts-ignore \n h(BottomNavigationItem, {\n key: index,\n index: index,\n attrs: this.v3 ? undefined : {\n index: index,\n id: \"\".concat(id || this.navId, \"-\").concat(index),\n disabled: disabled || element.disabled,\n selected: this.selected === index || element.selected,\n dataItem: element,\n item: content\n },\n style: element.style,\n \"class\": element.class,\n id: \"\".concat(id || this.navId, \"-\").concat(index),\n disabled: disabled || element.disabled,\n selected: this.selected === index || element.selected,\n dataItem: element,\n item: content,\n onSelect: this.handleSelect,\n on: this.v3 ? undefined : {\n \"select\": this.handleSelect,\n \"keydown\": this.handleKeyDown\n },\n onKeydown: this.handleKeyDown\n })\n );\n }, this)]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n focusFirstFocusableChild(this.$el);\n }\n },\n dispatchSelectEvent: function dispatchSelectEvent(dispatchedEvent, index) {\n if (!this.items) {\n return;\n }\n if (!this.items[index].disabled) {\n this.$emit('select', {\n event: dispatchedEvent,\n itemTarget: this.items[index],\n itemIndex: index\n });\n }\n },\n handleSelect: function handleSelect(event, clickedItemIndex) {\n this.dispatchSelectEvent(event, clickedItemIndex);\n },\n handleKeyDown: function handleKeyDown(event, clickedItemIndex) {\n switch (event.keyCode) {\n case Keys.enter:\n case Keys.space:\n this.dispatchSelectEvent(event, clickedItemIndex);\n event.preventDefault();\n break;\n default:\n break;\n }\n this.$emit('keydown', {\n event: event,\n itemTarget: this.items[clickedItemIndex],\n itemIndex: clickedItemIndex\n });\n }\n }\n};\n/**\n * @hidden\n */\nvar BottomNavigation = BottomNavigationVue2;\nexport { BottomNavigation, BottomNavigationVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getTabIndex, validatePackage, Keys, getDefaultSlots, templateRendering, getListeners, getTemplate, Icon, getIconName } from '@progress/kendo-vue-common';\nimport { chevronUpIcon, chevronDownIcon } from '@progress/kendo-svg-icons';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ExpansionPanelVue2 = {\n name: 'KendoExpansionPanel',\n props: {\n dir: String,\n id: String,\n tabIndex: Number,\n title: String,\n subtitle: String,\n titleRender: [String, Object, Function],\n subtitleRender: [String, Object, Function],\n expandIcon: String,\n expandSvgIcon: Object,\n collapseIcon: String,\n collapseSvgIcon: Object,\n expanded: Boolean,\n disabled: Boolean\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a = this.$props,\n expanded = _a.expanded,\n disabled = _a.disabled;\n return {\n 'k-expander': true,\n 'k-expanded': expanded,\n 'k-focus': this.focused && !disabled,\n 'k-disabled': disabled\n };\n },\n expandIconName: function expandIconName() {\n var _a = this.$props,\n expanded = _a.expanded,\n expandIcon = _a.expandIcon,\n collapseIcon = _a.collapseIcon;\n return expanded ? expandIcon ? getIconName(expandIcon) : 'chevron-up' : collapseIcon ? getIconName(collapseIcon) : 'chevron-down';\n },\n expandSVGIcon: function expandSVGIcon() {\n var _a = this.$props,\n expanded = _a.expanded,\n expandSvgIcon = _a.expandSvgIcon,\n collapseSvgIcon = _a.collapseSvgIcon;\n return expanded ? expandSvgIcon || chevronUpIcon : collapseSvgIcon || chevronDownIcon;\n }\n },\n data: function data() {\n return {\n focused: false\n };\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n var _a = this.$props,\n _b = _a.expanded,\n expanded = _b === void 0 ? false : _b,\n disabled = _a.disabled,\n title = _a.title,\n titleRender = _a.titleRender,\n subtitle = _a.subtitle,\n subtitleRender = _a.subtitleRender,\n ariaControls = _a.ariaControls,\n tabIndex = _a.tabIndex,\n id = _a.id;\n var titleTemplate = templateRendering.call(this, titleRender, getListeners.call(this));\n var titleToRender = getTemplate.call(this, {\n h: h,\n template: titleTemplate,\n defaultRendering: h(\"div\", {\n \"class\": \"k-expander-title\"\n }, [title])\n });\n var subtitleTemplate = templateRendering.call(this, subtitleRender, getListeners.call(this));\n var subtitleToRender = getTemplate.call(this, {\n h: h,\n template: subtitleTemplate,\n defaultRendering: h(\"div\", {\n \"class\": \"k-expander-sub-title\"\n }, [subtitle])\n });\n return h(\"div\", {\n \"class\": this.wrapperClass,\n onFocusin: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focusin\": this.handleFocus,\n \"focusout\": this.handleBlur,\n \"keydown\": this.onKeyDown\n },\n onFocusout: this.handleBlur,\n id: id\n // dir={useRtl(elementRef, dir)}\n ,\n attrs: this.v3 ? undefined : {\n id: id\n },\n onKeydown: this.onKeyDown\n }, [h(\"div\", {\n role: 'button',\n attrs: this.v3 ? undefined : {\n role: 'button',\n \"aria-controls\": ariaControls,\n \"aria-expanded\": expanded,\n \"aria-disabled\": disabled,\n tabIndex: getTabIndex(tabIndex, disabled)\n },\n ref: 'header',\n \"aria-controls\": ariaControls,\n \"aria-expanded\": expanded,\n \"aria-disabled\": disabled,\n tabIndex: getTabIndex(tabIndex, disabled),\n \"class\": \"k-expander-header\",\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick\n }\n }, [titleToRender, h(\"span\", {\n \"class\": \"k-spacer\"\n }), subtitleToRender, h(\"span\", {\n \"class\": \"k-expander-indicator\"\n }, [h(Icon, {\n name: this.expandIconName,\n attrs: this.v3 ? undefined : {\n name: this.expandIconName,\n icon: this.expandSVGIcon\n },\n icon: this.expandSVGIcon\n })])]), defaultSlots]);\n },\n methods: {\n onClick: function onClick(event) {\n if (this.$props.disabled) {\n return;\n }\n this.$emit('action', {\n event: event,\n expanded: this.expanded\n });\n },\n onKeyDown: function onKeyDown(event) {\n if (this.$props.disabled) {\n return;\n }\n if ((event.keyCode === Keys.enter || event.keyCode === Keys.space) && event.target === this.$refs.header) {\n event.preventDefault();\n this.$emit('action', {\n event: event,\n expanded: this.expanded\n });\n }\n },\n handleFocus: function handleFocus() {\n if (this.$props.disabled) {\n return;\n }\n this.focused = true;\n },\n handleBlur: function handleBlur() {\n if (this.$props.disabled) {\n return;\n }\n this.focused = false;\n }\n }\n};\n/**\n * @hidden\n */\nvar ExpansionPanel = ExpansionPanelVue2;\nexport { ExpansionPanel, ExpansionPanelVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { packageMetadata } from '../package-metadata';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ExpansionPanelContentVue2 = {\n name: 'KendoExpansionPanelContent',\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlots = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-expander-content-wrapper'\n }, [h(\"div\", {\n \"class\": 'k-expander-content'\n }, [defaultSlots])]);\n }\n};\n/**\n * @hidden\n */\nvar ExpansionPanelContent = ExpansionPanelContentVue2;\nexport { ExpansionPanelContent, ExpansionPanelContentVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { packageMetadata } from '../package-metadata';\nimport { getTemplate, guid, validatePackage } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar GridLayoutItemVue2 = {\n name: 'KendoGridLayoutItem',\n props: {\n content: [String, Function, Object],\n id: String,\n col: Number,\n colSpan: Number,\n row: Number,\n rowSpan: Number\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.itemId = guid();\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n computed: {\n gridLayoutItemStyles: function gridLayoutItemStyles() {\n var _a = this.$props,\n row = _a.row,\n col = _a.col,\n rowSpan = _a.rowSpan,\n colSpan = _a.colSpan;\n return {\n gridArea: \"\".concat(row || 'auto', \" / \").concat(col || 'auto', \" / \").concat(rowSpan ? 'span ' + rowSpan : 'auto', \" / \").concat(colSpan ? 'span ' + colSpan : 'auto')\n };\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n id = _a.id,\n content = _a.content;\n var contentToRender = getTemplate.call(this, {\n h: h,\n template: content\n });\n return h(\"div\", {\n style: this.gridLayoutItemStyles,\n id: id || this.itemId,\n attrs: this.v3 ? undefined : {\n id: id || this.itemId\n }\n }, [contentToRender]);\n }\n};\n/**\n * @hidden\n */\nvar GridLayoutItem = GridLayoutItemVue2;\nexport { GridLayoutItem, GridLayoutItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { packageMetadata } from '../package-metadata';\nimport { getListeners, guid, templateRendering, validatePackage } from '@progress/kendo-vue-common';\nimport { GridLayoutItem } from './GridLayoutItem';\n/**\n * @hidden\n */\nvar GridLayoutVue2 = {\n name: 'KendoGridLayout',\n props: {\n id: String,\n gap: {\n type: Object\n },\n align: {\n type: Object,\n validator: function validator(value) {\n return ['top', 'middle', 'bottom', 'stretch', undefined].includes(value.vertical) && ['start', 'center', 'end', 'stretch', undefined].includes(value.horizontal);\n }\n },\n rows: Array,\n cols: Array,\n items: Array\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.layoutId = guid();\n },\n computed: {\n hAlign: function hAlign() {\n return this.$props.align && this.$props.align.horizontal ? this.$props.align.horizontal : 'stretch';\n },\n vAlign: function vAlign() {\n return this.$props.align && this.$props.align.vertical ? this.$props.align.vertical : 'stretch';\n },\n gridLayoutClasses: function gridLayoutClasses() {\n return {\n 'k-grid-layout': true,\n 'k-justify-items-start': this.hAlign === 'start',\n 'k-justify-items-center': this.hAlign === 'center',\n 'k-justify-items-end': this.hAlign === 'end',\n 'k-justify-items-stretch': this.hAlign === 'stretch',\n 'k-align-items-start': this.vAlign === 'top',\n 'k-align-items-center': this.vAlign === 'middle',\n 'k-align-items-end': this.vAlign === 'bottom',\n 'k-align-items-stretch': this.vAlign === 'stretch'\n };\n },\n gapStyle: function gapStyle() {\n return this.gap ? \"\".concat(typeof this.gap.rows === 'number' ? this.gap.rows + 'px' : this.gap.rows) + ' ' + \"\".concat(typeof this.gap.cols === 'number' ? this.gap.cols + 'px' : this.gap.cols) : undefined;\n },\n gridTemplateRowsStyle: function gridTemplateRowsStyle() {\n return this.$props.rows && this.$props.rows.map(function (row) {\n return \"\".concat(typeof row.height === 'number' ? row.height + 'px' : row.height);\n }).join(' ');\n },\n gridTemplateColumnsStyle: function gridTemplateColumnsStyle() {\n return this.$props.cols && this.$props.cols.map(function (col) {\n return \"\".concat(typeof col.width === 'number' ? col.width + 'px' : col.width);\n }).join(' ');\n },\n gridLayoutStyles: function gridLayoutStyles() {\n return {\n gap: this.gapStyle,\n gridTemplateColumns: this.gridTemplateColumnsStyle,\n gridTemplateRows: this.gridTemplateRowsStyle\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n id = _a.id,\n items = _a.items;\n return h(\"div\", {\n \"class\": this.gridLayoutClasses,\n style: this.gridLayoutStyles,\n id: id || this.layoutId,\n attrs: this.v3 ? undefined : {\n id: id || this.layoutId\n }\n }, [items.map(function (item) {\n var contentTemplate = templateRendering.call(this, item.content, getListeners.call(this));\n return (\n // @ts-ignore\n h(GridLayoutItem, {\n content: contentTemplate,\n attrs: this.v3 ? undefined : {\n content: contentTemplate,\n id: item.id,\n col: item.col,\n colSpan: item.colSpan,\n row: item.row,\n rowSpan: item.rowSpan\n },\n \"class\": item.class,\n style: item.style,\n id: item.id,\n col: item.col,\n colSpan: item.colSpan,\n row: item.row,\n rowSpan: item.rowSpan\n })\n );\n }, this)]);\n }\n};\n/**\n * Represents the Object which is passed to\n * callback of the GridLayout component.\n */\nvar GridLayout = GridLayoutVue2;\nexport { GridLayout, GridLayoutVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { packageMetadata } from '../package-metadata';\nimport { getDefaultSlots, guid, validatePackage } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar StackLayoutVue2 = {\n name: 'KendoStackLayout',\n props: {\n id: String,\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n },\n gap: {\n type: [String, Number]\n },\n align: {\n type: Object,\n validator: function validator(value) {\n return ['top', 'middle', 'bottom', 'stretch', undefined].includes(value.vertical) && ['start', 'center', 'end', 'stretch', undefined].includes(value.horizontal);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.layoutId = guid();\n },\n computed: {\n hAlign: function hAlign() {\n return this.$props.align && this.$props.align.horizontal ? this.$props.align.horizontal : 'stretch';\n },\n vAlign: function vAlign() {\n return this.$props.align && this.$props.align.vertical ? this.$props.align.vertical : 'stretch';\n },\n stackLayoutClasses: function stackLayoutClasses() {\n var orientation = this.$props.orientation;\n var isHorizontal = orientation === 'horizontal';\n return {\n 'k-stack-layout': true,\n 'k-hstack': orientation === 'horizontal',\n 'k-vstack': orientation === 'vertical',\n 'k-justify-content-start': isHorizontal && this.hAlign === 'start' || !isHorizontal && this.vAlign === 'top',\n 'k-justify-content-center': isHorizontal && this.hAlign === 'center' || !isHorizontal && this.vAlign === 'middle',\n 'k-justify-content-end': isHorizontal && this.hAlign === 'end' || !isHorizontal && this.vAlign === 'bottom',\n 'k-justify-content-stretch': isHorizontal && this.hAlign === 'stretch' || !isHorizontal && this.vAlign === 'stretch',\n 'k-align-items-start': !isHorizontal && this.hAlign === 'start' || isHorizontal && this.vAlign === 'top',\n 'k-align-items-center': !isHorizontal && this.hAlign === 'center' || isHorizontal && this.vAlign === 'middle',\n 'k-align-items-end': !isHorizontal && this.hAlign === 'end' || isHorizontal && this.vAlign === 'bottom',\n 'k-align-items-stretch': !isHorizontal && this.hAlign === 'stretch' || isHorizontal && this.vAlign === 'stretch'\n };\n },\n stackLayoutStyles: function stackLayoutStyles() {\n return {\n gap: \"\".concat(typeof this.$props.gap === 'number' ? this.$props.gap + 'px' : this.$props.gap)\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var id = this.$props.id;\n return h(\"div\", {\n \"class\": this.stackLayoutClasses,\n style: this.stackLayoutStyles,\n id: id || this.layoutId,\n attrs: this.v3 ? undefined : {\n id: id || this.layoutId\n }\n }, [defaultSlot]);\n }\n};\n/**\n * Represents the [Kendo UI for Vue StackLayout component]({% slug overview_stacklayout %}).\n * Arranges its inner elements horizontally, or vertically in a stack. Nesting stack layouts is supported to build more complex layouts.\n */\nvar StackLayout = StackLayoutVue2;\nexport { StackLayout, StackLayoutVue2 };","import { support } from '../common';\n\n/* eslint-disable no-multi-spaces, key-spacing, indent, camelcase, space-before-blocks, eqeqeq, brace-style */\n/* eslint-disable space-infix-ops, space-before-function-paren, array-bracket-spacing, object-curly-spacing */\n/* eslint-disable no-nested-ternary, max-params, default-case, no-else-return, no-empty */\n/* eslint-disable no-param-reassign, no-var, block-scoped-var */\n\n// XXX: remove this junk (assume `true`) when we no longer have to support IE < 10\n// IE 9 (at least compatibility) reports having Uint8Array but the request response does not contain ArrayBuffer which results in missing table head error\nvar HAS_TYPED_ARRAYS = typeof Uint8Array !== 'undefined' && support.browser && (!support.browser.msie || support.browser.version > 9);\n\nvar BASE64 = (function(){\n var keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return {\n decode: function(str) {\n var input = str.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\"), i = 0, n = input.length, output = [];\n\n while (i < n) {\n var enc1 = keyStr.indexOf(input.charAt(i++));\n var enc2 = keyStr.indexOf(input.charAt(i++));\n var enc3 = keyStr.indexOf(input.charAt(i++));\n var enc4 = keyStr.indexOf(input.charAt(i++));\n\n var chr1 = (enc1 << 2) | (enc2 >>> 4);\n var chr2 = ((enc2 & 15) << 4) | (enc3 >>> 2);\n var chr3 = ((enc3 & 3) << 6) | enc4;\n\n output.push(chr1);\n if (enc3 != 64) {\n output.push(chr2);\n }\n if (enc4 != 64) {\n output.push(chr3);\n }\n }\n\n return output;\n },\n encode: function(bytes) {\n var i = 0, n = bytes.length;\n var output = \"\";\n\n while (i < n) {\n var chr1 = bytes[i++];\n var chr2 = bytes[i++];\n var chr3 = bytes[i++];\n\n var enc1 = chr1 >>> 2;\n var enc2 = ((chr1 & 3) << 4) | (chr2 >>> 4);\n var enc3 = ((chr2 & 15) << 2) | (chr3 >>> 6);\n var enc4 = chr3 & 63;\n\n if (i - n == 2) {\n enc3 = enc4 = 64;\n } else if (i - n == 1) {\n enc4 = 64;\n }\n\n output += keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);\n }\n return output;\n }\n };\n}());\n\nfunction BinaryStream(data) {\n var offset = 0, length = 0;\n if (data == null) {\n data = HAS_TYPED_ARRAYS ? new Uint8Array(256) : [];\n } else {\n length = data.length;\n }\n\n var ensure = HAS_TYPED_ARRAYS ? function(len) {\n if (len >= data.length) {\n var tmp = new Uint8Array(Math.max(len + 256, data.length * 2));\n tmp.set(data, 0);\n data = tmp;\n }\n } : function() {};\n\n var get = HAS_TYPED_ARRAYS ? function() {\n return new Uint8Array(data.buffer, 0, length);\n } : function() {\n return data;\n };\n\n var write = HAS_TYPED_ARRAYS ? function(bytes) {\n if (typeof bytes == \"string\") {\n return writeString(bytes);\n }\n var len = bytes.length;\n ensure(offset + len);\n data.set(bytes, offset);\n offset += len;\n if (offset > length) {\n length = offset;\n }\n } : function(bytes) {\n if (typeof bytes == \"string\") {\n return writeString(bytes);\n }\n for (var i = 0; i < bytes.length; ++i) {\n writeByte(bytes[i]);\n }\n };\n\n var slice = HAS_TYPED_ARRAYS ? function(start, length) {\n if (data.buffer.slice) {\n return new Uint8Array(data.buffer.slice(start, start + length));\n } else {\n // IE10\n var x = new Uint8Array(length);\n x.set(new Uint8Array(data.buffer, start, length));\n return x;\n }\n } : function(start, length) {\n return data.slice(start, start + length);\n };\n\n function eof() {\n return offset >= length;\n }\n function readByte() {\n return offset < length ? data[offset++] : 0;\n }\n function writeByte(b) {\n ensure(offset);\n data[offset++] = b & 0xFF;\n if (offset > length) {\n length = offset;\n }\n }\n function readShort() {\n return (readByte() << 8) | readByte();\n }\n function writeShort(w) {\n writeByte(w >> 8);\n writeByte(w);\n }\n function readShort_() {\n var w = readShort();\n return w >= 0x8000 ? w - 0x10000 : w;\n }\n function writeShort_(w) {\n writeShort(w < 0 ? w + 0x10000 : w);\n }\n function readLong() {\n return (readShort() * 0x10000) + readShort();\n }\n function writeLong(w) {\n writeShort((w >>> 16) & 0xFFFF);\n writeShort(w & 0xFFFF);\n }\n function readLong_() {\n var w = readLong();\n return w >= 0x80000000 ? w - 0x100000000 : w;\n }\n function writeLong_(w) {\n writeLong(w < 0 ? w + 0x100000000 : w);\n }\n function readFixed() {\n return readLong() / 0x10000;\n }\n function writeFixed(f) {\n writeLong(Math.round(f * 0x10000));\n }\n function readFixed_() {\n return readLong_() / 0x10000;\n }\n function writeFixed_(f) {\n writeLong_(Math.round(f * 0x10000));\n }\n function read(len) {\n return times(len, readByte);\n }\n function readString(len) {\n return String.fromCharCode.apply(String, read(len));\n }\n function writeString(str) {\n for (var i = 0; i < str.length; ++i) {\n writeByte(str.charCodeAt(i));\n }\n }\n function times(n, reader) {\n for (var ret = new Array(n), i = 0; i < n; ++i) {\n ret[i] = reader();\n }\n return ret;\n }\n\n var stream = {\n eof : eof,\n readByte : readByte,\n writeByte : writeByte,\n readShort : readShort,\n writeShort : writeShort,\n readLong : readLong,\n writeLong : writeLong,\n readFixed : readFixed,\n writeFixed : writeFixed,\n\n // signed numbers.\n readShort_ : readShort_,\n writeShort_ : writeShort_,\n readLong_ : readLong_,\n writeLong_ : writeLong_,\n readFixed_ : readFixed_,\n writeFixed_ : writeFixed_,\n\n read : read,\n write : write,\n readString : readString,\n writeString : writeString,\n\n times : times,\n get : get,\n slice : slice,\n\n offset: function(pos) {\n if (pos != null) {\n offset = pos;\n return stream;\n }\n return offset;\n },\n\n skip: function(nbytes) {\n offset += nbytes;\n },\n\n toString: function() {\n throw new Error(\"FIX CALLER. BinaryStream is no longer convertible to string!\");\n },\n\n length: function() { return length; },\n\n saveExcursion: function(f) {\n var pos = offset;\n try {\n return f();\n } finally {\n offset = pos;\n }\n },\n\n writeBase64: function(base64) {\n if (window.atob) {\n writeString(window.atob(base64));\n } else {\n write(BASE64.decode(base64));\n }\n },\n base64: function() {\n return BASE64.encode(get());\n }\n };\n\n return stream;\n}\n\nfunction ucs2decode(string) {\n var output = [],\n counter = 0,\n length = string.length,\n value,\n extra;\n while (counter < length) {\n value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // high surrogate, and there is a next character\n extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // low surrogate\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // unmatched surrogate; only append this code unit, in case the next\n // code unit is the high surrogate of a surrogate pair\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\n\nfunction ucs2encode(array) {\n return array.map(function(value){\n var output = \"\";\n if (value > 0xFFFF) {\n value -= 0x10000;\n output += String.fromCharCode(value >>> 10 & 0x3FF | 0xD800);\n value = 0xDC00 | value & 0x3FF;\n }\n output += String.fromCharCode(value);\n return output;\n }).join(\"\");\n}\n\nfunction atobUint8Array(base64) {\n var data = window.atob(base64);\n var result = new Uint8Array(data.length);\n\n for (var idx = 0; idx < data.length; idx++) {\n result[idx] = data.charCodeAt(idx);\n }\n\n return result;\n}\n\nfunction createUint8Array(data) {\n var result = new Uint8Array(data.length);\n\n for (var idx = 0; idx < data.length; idx++) {\n result[idx] = data[idx];\n }\n\n return result;\n}\n\nfunction base64ToUint8Array(base64) {\n if (window.atob) {\n return atobUint8Array(base64);\n }\n\n return createUint8Array(BASE64.decode(base64));\n}\n\nexport {\n HAS_TYPED_ARRAYS,\n BASE64,\n BinaryStream,\n ucs2decode,\n ucs2encode,\n base64ToUint8Array\n};\n","/* eslint-disable no-multi-spaces, key-spacing, indent, camelcase, space-before-blocks, eqeqeq, brace-style */\n/* eslint-disable space-infix-ops, space-before-function-paren, array-bracket-spacing, object-curly-spacing */\n/* eslint-disable no-nested-ternary, max-params, default-case, no-else-return, no-empty */\n/* eslint-disable no-param-reassign, no-var, block-scoped-var */\n\n/*****************************************************************************\\\n *\n * The code in this file, although written from scratch, is influenced by the\n * TrueType parser/encoder in PDFKit -- http://pdfkit.org/ (a CoffeeScript\n * library for producing PDF files).\n *\n * PDFKit is (c) Devon Govett 2014 and released under the MIT License.\n *\n\\*****************************************************************************/\n\nimport { BinaryStream, ucs2decode } from \"./utils\";\n\nfunction hasOwnProperty(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nfunction sortedKeys(obj) {\n return Object.keys(obj).sort(function(a, b){ return a - b; }).map(parseFloat);\n}\n\n///\nvar Directory = function Directory(data) {\n this.raw = data;\n this.scalerType = data.readLong();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n\n var tables = this.tables = {};\n for (var i = 0; i < this.tableCount; ++i) {\n var entry = {\n tag : data.readString(4),\n checksum : data.readLong(),\n offset : data.readLong(),\n length : data.readLong()\n };\n tables[entry.tag] = entry;\n }\n};\n\nDirectory.prototype.readTable = function readTable (name, Ctor) {\n var def = this.tables[name];\n if (!def) {\n throw new Error(\"Table \" + name + \" not found in directory\");\n }\n return (this[name] = def.table = new Ctor(this, def));\n};\n\nDirectory.prototype.render = function render (tables) {\n var this$1 = this;\n\n var tableCount = Object.keys(tables).length;\n\n var maxpow2 = Math.pow(2, Math.floor(Math.log(tableCount) / Math.LN2));\n var searchRange = maxpow2 * 16;\n var entrySelector = Math.floor(Math.log(maxpow2) / Math.LN2);\n var rangeShift = tableCount * 16 - searchRange;\n\n var out = BinaryStream();\n out.writeLong(this.scalerType);\n out.writeShort(tableCount);\n out.writeShort(searchRange);\n out.writeShort(entrySelector);\n out.writeShort(rangeShift);\n\n var directoryLength = tableCount * 16;\n var offset = out.offset() + directoryLength;\n var headOffset = null;\n var tableData = BinaryStream();\n\n for (var tag in tables) {\n if (hasOwnProperty(tables, tag)) {\n var table = tables[tag];\n\n out.writeString(tag);\n out.writeLong(this$1.checksum(table));\n out.writeLong(offset);\n out.writeLong(table.length);\n\n tableData.write(table);\n if (tag == \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n\n while (offset % 4) {\n tableData.writeByte(0);\n offset++;\n }\n }\n }\n\n out.write(tableData.get());\n var sum = this.checksum(out.get());\n var adjustment = 0xB1B0AFBA - sum;\n\n out.offset(headOffset + 8);\n out.writeLong(adjustment);\n return out.get();\n};\n\nDirectory.prototype.checksum = function checksum (data) {\n data = BinaryStream(data);\n var sum = 0;\n while (!data.eof()) {\n sum += data.readLong();\n }\n return sum & 0xFFFFFFFF;\n};\n\nvar Table = function Table(file, def) {\n this.definition = def;\n this.length = def.length;\n this.offset = def.offset;\n this.file = file;\n this.rawData = file.raw;\n this.parse(file.raw);\n};\n\nTable.prototype.raw = function raw () {\n return this.rawData.slice(this.offset, this.length);\n};\n\nTable.prototype.parse = function parse () {};\n\nvar HeadTable = (function (Table) {\n function HeadTable () {\n Table.apply(this, arguments);\n }\n\n if ( Table ) HeadTable.__proto__ = Table;\n HeadTable.prototype = Object.create( Table && Table.prototype );\n HeadTable.prototype.constructor = HeadTable;\n\n HeadTable.prototype.parse = function parse (data) {\n data.offset(this.offset);\n this.version = data.readLong();\n this.revision = data.readLong();\n this.checkSumAdjustment = data.readLong();\n this.magicNumber = data.readLong();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.read(8);\n this.modified = data.read(8);\n\n this.xMin = data.readShort_();\n this.yMin = data.readShort_();\n this.xMax = data.readShort_();\n this.yMax = data.readShort_();\n\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort_();\n this.indexToLocFormat = data.readShort_();\n this.glyphDataFormat = data.readShort_();\n };\n\n HeadTable.prototype.render = function render (indexToLocFormat) {\n var out = BinaryStream();\n out.writeLong(this.version);\n out.writeLong(this.revision);\n out.writeLong(0); // checksum adjustment; shall be computed later\n out.writeLong(this.magicNumber);\n out.writeShort(this.flags);\n out.writeShort(this.unitsPerEm);\n out.write(this.created);\n out.write(this.modified);\n out.writeShort_(this.xMin);\n out.writeShort_(this.yMin);\n out.writeShort_(this.xMax);\n out.writeShort_(this.yMax);\n out.writeShort(this.macStyle);\n out.writeShort(this.lowestRecPPEM);\n out.writeShort_(this.fontDirectionHint);\n out.writeShort_(indexToLocFormat); // this will depend on the `loca` table\n out.writeShort_(this.glyphDataFormat);\n return out.get();\n };\n\n return HeadTable;\n}(Table));\n\nvar LocaTable = (function (Table) {\n function LocaTable () {\n Table.apply(this, arguments);\n }\n\n if ( Table ) LocaTable.__proto__ = Table;\n LocaTable.prototype = Object.create( Table && Table.prototype );\n LocaTable.prototype.constructor = LocaTable;\n\n LocaTable.prototype.parse = function parse (data) {\n data.offset(this.offset);\n var format = this.file.head.indexToLocFormat;\n if (format === 0) {\n this.offsets = data.times(this.length / 2, function(){\n return 2 * data.readShort();\n });\n } else {\n this.offsets = data.times(this.length / 4, data.readLong);\n }\n };\n\n LocaTable.prototype.offsetOf = function offsetOf (id) {\n return this.offsets[id];\n };\n\n LocaTable.prototype.lengthOf = function lengthOf (id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n\n LocaTable.prototype.render = function render (offsets) {\n var out = BinaryStream();\n var needsLongFormat = offsets[offsets.length - 1] > 0xFFFF;\n for (var i = 0; i < offsets.length; ++i) {\n if (needsLongFormat) {\n out.writeLong(offsets[i]);\n } else {\n out.writeShort(offsets[i] / 2);\n }\n }\n return {\n format: needsLongFormat ? 1 : 0,\n table: out.get()\n };\n };\n\n return LocaTable;\n}(Table));\n\nvar HheaTable = (function (Table) {\n function HheaTable () {\n Table.apply(this, arguments);\n }\n\n if ( Table ) HheaTable.__proto__ = Table;\n HheaTable.prototype = Object.create( Table && Table.prototype );\n HheaTable.prototype.constructor = HheaTable;\n\n HheaTable.prototype.parse = function parse (data) {\n data.offset(this.offset);\n\n this.version = data.readLong();\n this.ascent = data.readShort_();\n this.descent = data.readShort_();\n this.lineGap = data.readShort_();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort_();\n this.minRightSideBearing = data.readShort_();\n this.xMaxExtent = data.readShort_();\n this.caretSlopeRise = data.readShort_();\n this.caretSlopeRun = data.readShort_();\n this.caretOffset = data.readShort_();\n\n data.skip(4 * 2); // reserved\n\n this.metricDataFormat = data.readShort_();\n this.numOfLongHorMetrics = data.readShort();\n };\n\n HheaTable.prototype.render = function render (ids) {\n var out = BinaryStream();\n out.writeLong(this.version);\n out.writeShort_(this.ascent);\n out.writeShort_(this.descent);\n out.writeShort_(this.lineGap);\n out.writeShort(this.advanceWidthMax);\n out.writeShort_(this.minLeftSideBearing);\n out.writeShort_(this.minRightSideBearing);\n out.writeShort_(this.xMaxExtent);\n out.writeShort_(this.caretSlopeRise);\n out.writeShort_(this.caretSlopeRun);\n out.writeShort_(this.caretOffset);\n\n out.write([ 0, 0, 0, 0, 0, 0, 0, 0 ]); // reserved bytes\n\n out.writeShort_(this.metricDataFormat);\n out.writeShort(ids.length);\n return out.get();\n };\n\n return HheaTable;\n}(Table));\n\nvar MaxpTable = (function (Table) {\n function MaxpTable () {\n Table.apply(this, arguments);\n }\n\n if ( Table ) MaxpTable.__proto__ = Table;\n MaxpTable.prototype = Object.create( Table && Table.prototype );\n MaxpTable.prototype.constructor = MaxpTable;\n\n MaxpTable.prototype.parse = function parse (data) {\n data.offset(this.offset);\n this.version = data.readLong();\n this.numGlyphs = data.readShort();\n this.maxPoints = data.readShort();\n this.maxContours = data.readShort();\n this.maxComponentPoints = data.readShort();\n this.maxComponentContours = data.readShort();\n this.maxZones = data.readShort();\n this.maxTwilightPoints = data.readShort();\n this.maxStorage = data.readShort();\n this.maxFunctionDefs = data.readShort();\n this.maxInstructionDefs = data.readShort();\n this.maxStackElements = data.readShort();\n this.maxSizeOfInstructions = data.readShort();\n this.maxComponentElements = data.readShort();\n this.maxComponentDepth = data.readShort();\n };\n\n MaxpTable.prototype.render = function render (glyphIds) {\n var out = BinaryStream();\n out.writeLong(this.version);\n out.writeShort(glyphIds.length);\n out.writeShort(this.maxPoints);\n out.writeShort(this.maxContours);\n out.writeShort(this.maxComponentPoints);\n out.writeShort(this.maxComponentContours);\n out.writeShort(this.maxZones);\n out.writeShort(this.maxTwilightPoints);\n out.writeShort(this.maxStorage);\n out.writeShort(this.maxFunctionDefs);\n out.writeShort(this.maxInstructionDefs);\n out.writeShort(this.maxStackElements);\n out.writeShort(this.maxSizeOfInstructions);\n out.writeShort(this.maxComponentElements);\n out.writeShort(this.maxComponentDepth);\n return out.get();\n };\n\n return MaxpTable;\n}(Table));\n\nvar HmtxTable = (function (Table) {\n function HmtxTable () {\n Table.apply(this, arguments);\n }\n\n if ( Table ) HmtxTable.__proto__ = Table;\n HmtxTable.prototype = Object.create( Table && Table.prototype );\n HmtxTable.prototype.constructor = HmtxTable;\n\n HmtxTable.prototype.parse = function parse (data) {\n data.offset(this.offset);\n var dir = this.file, hhea = dir.hhea;\n this.metrics = data.times(hhea.numOfLongHorMetrics, function(){\n return {\n advance: data.readShort(),\n lsb: data.readShort_()\n };\n });\n var lsbCount = dir.maxp.numGlyphs - dir.hhea.numOfLongHorMetrics;\n this.leftSideBearings = data.times(lsbCount, data.readShort_);\n };\n\n HmtxTable.prototype.forGlyph = function forGlyph (id) {\n var metrics = this.metrics;\n var n = metrics.length;\n if (id < n) {\n return metrics[id];\n }\n return {\n advance: metrics[n - 1].advance,\n lsb: this.leftSideBearings[id - n]\n };\n };\n\n HmtxTable.prototype.render = function render (glyphIds) {\n var this$1 = this;\n\n var out = BinaryStream();\n for (var i = 0; i < glyphIds.length; ++i) {\n var m = this$1.forGlyph(glyphIds[i]);\n out.writeShort(m.advance);\n out.writeShort_(m.lsb);\n }\n return out.get();\n };\n\n return HmtxTable;\n}(Table));\n\nvar GlyfTable = (function(){\n var SimpleGlyph = function SimpleGlyph(raw) {\n this.raw = raw;\n };\n\n var prototypeAccessors = { compound: { configurable: true } };\n\n prototypeAccessors.compound.get = function () {\n return false;\n };\n\n SimpleGlyph.prototype.render = function render () {\n return this.raw.get();\n };\n\n Object.defineProperties( SimpleGlyph.prototype, prototypeAccessors );\n\n var ARG_1_AND_2_ARE_WORDS = 0x0001;\n var WE_HAVE_A_SCALE = 0x0008;\n var MORE_COMPONENTS = 0x0020;\n var WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n var WE_HAVE_A_TWO_BY_TWO = 0x0080;\n //var WE_HAVE_INSTRUCTIONS = 0x0100;\n\n var CompoundGlyph = function CompoundGlyph(data) {\n this.raw = data;\n var ids = this.glyphIds = [];\n var offsets = this.idOffsets = [];\n while (true) { // eslint-disable-line no-constant-condition\n var flags = data.readShort();\n offsets.push(data.offset());\n ids.push(data.readShort());\n\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n\n data.skip(flags & ARG_1_AND_2_ARE_WORDS ? 4 : 2);\n\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.skip(8);\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.skip(4);\n } else if (flags & WE_HAVE_A_SCALE) {\n data.skip(2);\n }\n }\n };\n\n var prototypeAccessors$1 = { compound: { configurable: true } };\n\n prototypeAccessors$1.compound.get = function () {\n return true;\n };\n\n CompoundGlyph.prototype.render = function render (old2new) {\n var this$1 = this;\n\n var out = BinaryStream(this.raw.get());\n for (var i = 0; i < this.glyphIds.length; ++i) {\n var id = this$1.glyphIds[i];\n out.offset(this$1.idOffsets[i]);\n out.writeShort(old2new[id]);\n }\n return out.get();\n };\n\n Object.defineProperties( CompoundGlyph.prototype, prototypeAccessors$1 );\n\n return (function (Table) {\n function anonymous () {\n Table.apply(this, arguments);\n }\n\n if ( Table ) anonymous.__proto__ = Table;\n anonymous.prototype = Object.create( Table && Table.prototype );\n anonymous.prototype.constructor = anonymous;\n\n anonymous.prototype.parse = function parse () {\n this.cache = {};\n };\n\n anonymous.prototype.glyphFor = function glyphFor (id) {\n var cache = this.cache;\n if (hasOwnProperty(cache, id)) {\n return cache[id];\n }\n\n var loca = this.file.loca;\n var length = loca.lengthOf(id);\n\n if (length === 0) {\n return (cache[id] = null);\n }\n\n var data = this.rawData;\n var offset = this.offset + loca.offsetOf(id);\n var raw = BinaryStream(data.slice(offset, length));\n\n var numberOfContours = raw.readShort_();\n var xMin = raw.readShort_();\n var yMin = raw.readShort_();\n var xMax = raw.readShort_();\n var yMax = raw.readShort_();\n\n var glyph = cache[id] = numberOfContours < 0 ? new CompoundGlyph(raw) : new SimpleGlyph(raw);\n\n glyph.numberOfContours = numberOfContours;\n glyph.xMin = xMin;\n glyph.yMin = yMin;\n glyph.xMax = xMax;\n glyph.yMax = yMax;\n\n return glyph;\n };\n\n anonymous.prototype.render = function render (glyphs, oldIds, old2new) {\n var out = BinaryStream(), offsets = [];\n for (var i = 0; i < oldIds.length; ++i) {\n var id = oldIds[i];\n var glyph = glyphs[id];\n if (out.offset() % 2) {\n out.writeByte(0);\n }\n offsets.push(out.offset());\n if (glyph) {\n out.write(glyph.render(old2new));\n }\n }\n if (out.offset() % 2) {\n out.writeByte(0);\n }\n offsets.push(out.offset());\n return {\n table: out.get(),\n offsets: offsets\n };\n };\n\n return anonymous;\n }(Table));\n}());\n\nvar NameTable = (function(){\n var NameEntry = function NameEntry(text, entry) {\n this.text = text;\n this.length = text.length;\n this.platformID = entry.platformID;\n this.platformSpecificID = entry.platformSpecificID;\n this.languageID = entry.languageID;\n this.nameID = entry.nameID;\n };\n\n return (function (Table) {\n function anonymous () {\n Table.apply(this, arguments);\n }\n\n if ( Table ) anonymous.__proto__ = Table;\n anonymous.prototype = Object.create( Table && Table.prototype );\n anonymous.prototype.constructor = anonymous;\n\n anonymous.prototype.parse = function parse (data) {\n data.offset(this.offset);\n data.readShort(); // format\n var count = data.readShort();\n var stringOffset = this.offset + data.readShort();\n var nameRecords = data.times(count, function(){\n return {\n platformID : data.readShort(),\n platformSpecificID : data.readShort(),\n languageID : data.readShort(),\n nameID : data.readShort(),\n length : data.readShort(),\n offset : data.readShort() + stringOffset\n };\n });\n var strings = this.strings = {};\n for (var i = 0; i < nameRecords.length; ++i) {\n var rec = nameRecords[i];\n data.offset(rec.offset);\n var text = data.readString(rec.length);\n if (!strings[rec.nameID]) {\n strings[rec.nameID] = [];\n }\n strings[rec.nameID].push(new NameEntry(text, rec));\n }\n this.postscriptEntry = strings[6][0];\n this.postscriptName = this.postscriptEntry.text.replace(/[^\\x20-\\x7F]/g, \"\");\n };\n\n anonymous.prototype.render = function render (psName) {\n var this$1 = this;\n\n var strings = this.strings;\n var strCount = 0;\n for (var i in strings) {\n if (hasOwnProperty(strings, i)) {\n strCount += strings[i].length;\n }\n }\n var out = BinaryStream();\n var strTable = BinaryStream();\n\n out.writeShort(0); // format\n out.writeShort(strCount);\n out.writeShort(6 + 12 * strCount); // stringOffset\n\n for (i in strings) {\n if (hasOwnProperty(strings, i)) {\n var list = i == 6 ? [\n new NameEntry(psName, this$1.postscriptEntry)\n ] : strings[i];\n for (var j = 0; j < list.length; ++j) {\n var str = list[j];\n out.writeShort(str.platformID);\n out.writeShort(str.platformSpecificID);\n out.writeShort(str.languageID);\n out.writeShort(str.nameID);\n out.writeShort(str.length);\n out.writeShort(strTable.offset());\n\n strTable.writeString(str.text);\n }\n }\n }\n\n out.write(strTable.get());\n\n return out.get();\n };\n\n return anonymous;\n }(Table));\n})();\n\nvar PostTable = (function(){\n var POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent ampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash zero one two three four five six seven eight nine colon semicolon less equal greater question at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z bracketleft backslash bracketright asciicircum underscore grave a b c d e f g h i j k l m n o p q r s t u v w x y z braceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis Udieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave ecircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve ocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent sterling section bullet paragraph germandbls registered copyright trademark acute dieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu partialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash questiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft guillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash quotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis fraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered quotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis Egrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute Ucircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla hungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth eth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior onehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla Cacute cacute Ccaron ccaron dcroat\".split(/\\s+/g);\n\n return (function (Table) {\n function anonymous () {\n Table.apply(this, arguments);\n }\n\n if ( Table ) anonymous.__proto__ = Table;\n anonymous.prototype = Object.create( Table && Table.prototype );\n anonymous.prototype.constructor = anonymous;\n\n anonymous.prototype.parse = function parse (data) {\n var this$1 = this;\n\n data.offset(this.offset);\n\n this.format = data.readLong();\n this.italicAngle = data.readFixed_();\n this.underlinePosition = data.readShort_();\n this.underlineThickness = data.readShort_();\n this.isFixedPitch = data.readLong();\n this.minMemType42 = data.readLong();\n this.maxMemType42 = data.readLong();\n this.minMemType1 = data.readLong();\n this.maxMemType1 = data.readLong();\n\n var numberOfGlyphs;\n\n switch (this.format) {\n case 0x00010000:\n case 0x00030000:\n break;\n\n case 0x00020000:\n numberOfGlyphs = data.readShort();\n this.glyphNameIndex = data.times(numberOfGlyphs, data.readShort);\n this.names = [];\n var limit = this.offset + this.length;\n while (data.offset() < limit) {\n this$1.names.push(data.readString(data.readByte()));\n }\n break;\n\n case 0x00025000:\n numberOfGlyphs = data.readShort();\n this.offsets = data.read(numberOfGlyphs);\n break;\n\n case 0x00040000:\n this.map = data.times(this.file.maxp.numGlyphs, data.readShort);\n break;\n }\n };\n\n anonymous.prototype.glyphFor = function glyphFor (code) {\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || \".notdef\";\n\n case 0x00020000:\n var index = this.glyphNameIndex[code];\n if (index < POSTSCRIPT_GLYPHS.length) {\n return POSTSCRIPT_GLYPHS[index];\n }\n return this.names[index - POSTSCRIPT_GLYPHS.length] || \".notdef\";\n\n case 0x00025000:\n\n case 0x00030000:\n return \".notdef\";\n\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };\n\n anonymous.prototype.render = function render (mapping) {\n var this$1 = this;\n\n if (this.format == 0x00030000) {\n return this.raw();\n }\n\n // keep original header, but set format to 2.0\n var out = BinaryStream(this.rawData.slice(this.offset, 32));\n out.writeLong(0x00020000);\n out.offset(32);\n\n var indexes = [];\n var strings = [];\n\n for (var i = 0; i < mapping.length; ++i) {\n var id = mapping[i];\n var post = this$1.glyphFor(id);\n var index = POSTSCRIPT_GLYPHS.indexOf(post);\n if (index >= 0) {\n indexes.push(index);\n } else {\n indexes.push(POSTSCRIPT_GLYPHS.length + strings.length);\n strings.push(post);\n }\n }\n\n out.writeShort(mapping.length);\n\n for (i = 0; i < indexes.length; ++i) {\n out.writeShort(indexes[i]);\n }\n\n for (i = 0; i < strings.length; ++i) {\n out.writeByte(strings[i].length);\n out.writeString(strings[i]);\n }\n\n return out.get();\n };\n\n return anonymous;\n }(Table));\n})();\n\nvar CmapTable = (function(){\n var CmapEntry = function CmapEntry(data, offset, codeMap) {\n var self = this;\n self.platformID = data.readShort();\n self.platformSpecificID = data.readShort();\n self.offset = offset + data.readLong();\n\n data.saveExcursion(function(){\n var code;\n data.offset(self.offset);\n self.format = data.readShort();\n\n switch (self.format) {\n case 0:\n self.length = data.readShort();\n self.language = data.readShort();\n for (var i = 0; i < 256; ++i) {\n codeMap[i] = data.readByte();\n }\n break;\n\n case 4:\n self.length = data.readShort();\n self.language = data.readShort();\n var segCount = data.readShort() / 2;\n\n data.skip(6); // searchRange, entrySelector, rangeShift\n var endCode = data.times(segCount, data.readShort);\n data.skip(2); // reserved pad\n var startCode = data.times(segCount, data.readShort);\n var idDelta = data.times(segCount, data.readShort_);\n var idRangeOffset = data.times(segCount, data.readShort);\n\n var count = (self.length + self.offset - data.offset()) / 2;\n var glyphIds = data.times(count, data.readShort);\n\n for (i = 0; i < segCount; ++i) {\n var start = startCode[i], end = endCode[i];\n for (code = start; code <= end; ++code) {\n var glyphId;\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n ///\n // When non-zero, idRangeOffset contains for each segment the byte offset of the Glyph ID\n // into the glyphIds table, from the *current* `i` cell of idRangeOffset. In other words,\n // this offset spans from the first into the second array. This works, because the arrays\n // are consecutive in the TTF file:\n //\n // [ ...idRangeOffset... ][ ...glyphIds... ]\n // ...... 48 ...... .... ID ....\n // ^----- 48 bytes -----^\n //\n // (but I can't stop wondering why is it not just a plain index, possibly incremented by 1\n // so that we can have that special `zero` value.)\n //\n // The elements of idRangeOffset are even numbers, because both arrays contain 16-bit words,\n // yet the offset is in bytes. That is why we divide it by 2. Then we subtract the\n // remaining segments (segCount-i), and add the code-start offset, to which we need to add\n // the corresponding delta to get the actual glyph ID.\n ///\n var index = idRangeOffset[i] / 2 - (segCount - i) + (code - start);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n codeMap[code] = glyphId & 0xFFFF;\n }\n }\n break;\n\n case 6:\n self.length = data.readShort();\n self.language = data.readShort();\n code = data.readShort();\n var length = data.readShort();\n while (length-- > 0) {\n codeMap[code++] = data.readShort();\n }\n break;\n\n case 12:\n data.readShort(); // reserved\n self.length = data.readLong();\n self.language = data.readLong();\n var ngroups = data.readLong();\n while (ngroups-- > 0) {\n code = data.readLong();\n var endCharCode = data.readLong();\n var glyphCode = data.readLong();\n while (code <= endCharCode) {\n codeMap[code++] = glyphCode++;\n }\n }\n break;\n\n default:\n if (window.console) {\n window.console.error(\"Unhandled CMAP format: \" + self.format);\n }\n }\n });\n };\n\n function renderCharmap(ncid2ogid, ogid2ngid) {\n var codes = sortedKeys(ncid2ogid);\n var startCodes = [];\n var endCodes = [];\n var last = null;\n var diff = null;\n\n function new_gid(charcode) {\n return ogid2ngid[ncid2ogid[charcode]];\n }\n\n for (var i = 0; i < codes.length; ++i) {\n var code = codes[i];\n var gid = new_gid(code);\n var delta = gid - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xFFFF);\n startCodes.push(0xFFFF);\n\n var segCount = startCodes.length;\n var segCountX2 = segCount * 2;\n var searchRange = 2 * Math.pow(2, Math.floor(Math.log(segCount) / Math.LN2));\n var entrySelector = Math.log(searchRange / 2) / Math.LN2;\n var rangeShift = segCountX2 - searchRange;\n\n var deltas = [];\n var rangeOffsets = [];\n var glyphIds = [];\n\n for (i = 0; i < segCount; ++i) {\n var startCode = startCodes[i];\n var endCode = endCodes[i];\n if (startCode == 0xFFFF) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n var startGlyph = new_gid(startCode);\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIds.length + segCount - i));\n for (var j = startCode; j <= endCode; ++j) {\n glyphIds.push(new_gid(j));\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n\n var out = BinaryStream();\n\n out.writeShort(3); // platformID\n out.writeShort(1); // platformSpecificID\n out.writeLong(12); // offset\n out.writeShort(4); // format\n out.writeShort(16 + segCount * 8 + glyphIds.length * 2); // length\n out.writeShort(0); // language\n out.writeShort(segCountX2);\n out.writeShort(searchRange);\n out.writeShort(entrySelector);\n out.writeShort(rangeShift);\n\n endCodes.forEach(out.writeShort);\n out.writeShort(0); // reserved pad\n startCodes.forEach(out.writeShort);\n deltas.forEach(out.writeShort_);\n rangeOffsets.forEach(out.writeShort);\n glyphIds.forEach(out.writeShort);\n\n return out.get();\n }\n\n return (function (Table) {\n function anonymous () {\n Table.apply(this, arguments);\n }\n\n if ( Table ) anonymous.__proto__ = Table;\n anonymous.prototype = Object.create( Table && Table.prototype );\n anonymous.prototype.constructor = anonymous;\n\n anonymous.prototype.parse = function parse (data) {\n var self = this;\n var offset = self.offset;\n data.offset(offset);\n self.codeMap = {};\n self.version = data.readShort();\n var tableCount = data.readShort();\n self.tables = data.times(tableCount, function(){\n return new CmapEntry(data, offset, self.codeMap);\n });\n };\n\n anonymous.render = function render (ncid2ogid, ogid2ngid) {\n var out = BinaryStream();\n out.writeShort(0); // version\n out.writeShort(1); // tableCount\n out.write(renderCharmap(ncid2ogid, ogid2ngid));\n return out.get();\n };\n\n return anonymous;\n }(Table));\n\n})();\n\nvar OS2Table = (function (Table) {\n function OS2Table () {\n Table.apply(this, arguments);\n }\n\n if ( Table ) OS2Table.__proto__ = Table;\n OS2Table.prototype = Object.create( Table && Table.prototype );\n OS2Table.prototype.constructor = OS2Table;\n\n OS2Table.prototype.parse = function parse (data) {\n data.offset(this.offset);\n this.version = data.readShort();\n this.averageCharWidth = data.readShort_();\n this.weightClass = data.readShort();\n this.widthClass = data.readShort();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort_();\n this.ySubscriptYSize = data.readShort_();\n this.ySubscriptXOffset = data.readShort_();\n this.ySubscriptYOffset = data.readShort_();\n this.ySuperscriptXSize = data.readShort_();\n this.ySuperscriptYSize = data.readShort_();\n this.ySuperscriptXOffset = data.readShort_();\n this.ySuperscriptYOffset = data.readShort_();\n this.yStrikeoutSize = data.readShort_();\n this.yStrikeoutPosition = data.readShort_();\n this.familyClass = data.readShort_();\n\n this.panose = data.times(10, data.readByte);\n this.charRange = data.times(4, data.readLong);\n\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n\n if (this.version > 0) {\n this.ascent = data.readShort_();\n this.descent = data.readShort_();\n this.lineGap = data.readShort_();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = data.times(2, data.readLong);\n\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n this.maxContext = data.readShort();\n }\n }\n };\n\n OS2Table.prototype.render = function render () {\n return this.raw();\n };\n\n return OS2Table;\n}(Table));\n\nvar subsetTag = 100000;\n\nfunction nextSubsetTag() {\n var ret = \"\", n = String(subsetTag);\n for (var i = 0; i < n.length; ++i) {\n ret += String.fromCharCode(n.charCodeAt(i) - 48 + 65);\n }\n ++subsetTag;\n return ret;\n}\n\nvar Subfont = function Subfont(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.ogid2ngid = { 0: 0 };\n this.ngid2ogid = { 0: 0 };\n this.ncid2ogid = {};\n this.next = this.firstChar = 1;\n this.nextGid = 1;\n this.psName = nextSubsetTag() + \"+\" + this.font.psName;\n};\n\nSubfont.prototype.use = function use (ch) {\n var self = this;\n if (typeof ch == \"string\") {\n return ucs2decode(ch).reduce(function(ret, code){\n return ret + String.fromCharCode(self.use(code));\n }, \"\");\n }\n var code = self.unicodes[ch];\n if (!code) {\n code = self.next++;\n self.subset[code] = ch;\n self.unicodes[ch] = code;\n\n // generate new GID (glyph ID) and maintain newGID ->\n // oldGID and back mappings\n var old_gid = self.font.cmap.codeMap[ch];\n if (old_gid) {\n self.ncid2ogid[code] = old_gid;\n if (self.ogid2ngid[old_gid] == null) {\n var new_gid = self.nextGid++;\n self.ogid2ngid[old_gid] = new_gid;\n self.ngid2ogid[new_gid] = old_gid;\n }\n }\n }\n return code;\n};\n\nSubfont.prototype.encodeText = function encodeText (text) {\n return this.use(text);\n};\n\nSubfont.prototype.glyphIds = function glyphIds () {\n return sortedKeys(this.ogid2ngid);\n};\n\nSubfont.prototype.glyphsFor = function glyphsFor (glyphIds, result) {\n var this$1 = this;\n\n if (!result) {\n result = {};\n }\n for (var i = 0; i < glyphIds.length; ++i) {\n var id = glyphIds[i];\n if (!result[id]) {\n var glyph = result[id] = this$1.font.glyf.glyphFor(id);\n if (glyph && glyph.compound) {\n this$1.glyphsFor(glyph.glyphIds, result);\n }\n }\n }\n return result;\n};\n\nSubfont.prototype.render = function render () {\n var this$1 = this;\n\n var glyphs = this.glyphsFor(this.glyphIds());\n\n // add missing sub-glyphs\n for (var old_gid in glyphs) {\n if (hasOwnProperty(glyphs, old_gid)) {\n old_gid = parseInt(old_gid, 10);\n if (this$1.ogid2ngid[old_gid] == null) {\n var new_gid = this$1.nextGid++;\n this$1.ogid2ngid[old_gid] = new_gid;\n this$1.ngid2ogid[new_gid] = old_gid;\n }\n }\n }\n\n // must obtain old_gid_ids in an order matching sorted\n // new_gid_ids\n var new_gid_ids = sortedKeys(this.ngid2ogid);\n var old_gid_ids = new_gid_ids.map(function(id){\n return this.ngid2ogid[id];\n }, this);\n\n var font = this.font;\n var glyf = font.glyf.render(glyphs, old_gid_ids, this.ogid2ngid);\n var loca = font.loca.render(glyf.offsets);\n\n this.lastChar = this.next - 1;\n\n var tables = {\n \"cmap\" : CmapTable.render(this.ncid2ogid, this.ogid2ngid),\n \"glyf\" : glyf.table,\n \"loca\" : loca.table,\n \"hmtx\" : font.hmtx.render(old_gid_ids),\n \"hhea\" : font.hhea.render(old_gid_ids),\n \"maxp\" : font.maxp.render(old_gid_ids),\n \"post\" : font.post.render(old_gid_ids),\n \"name\" : font.name.render(this.psName),\n \"head\" : font.head.render(loca.format),\n \"OS/2\" : font.os2.render()\n };\n\n return this.font.directory.render(tables);\n};\n\nSubfont.prototype.cidToGidMap = function cidToGidMap () {\n var this$1 = this;\n\n var out = BinaryStream(), len = 0;\n for (var cid = this.firstChar; cid < this.next; ++cid) {\n while (len < cid) {\n out.writeShort(0);\n len++;\n }\n var old_gid = this$1.ncid2ogid[cid];\n if (old_gid) {\n var new_gid = this$1.ogid2ngid[old_gid];\n out.writeShort(new_gid);\n } else {\n out.writeShort(0);\n }\n len++;\n }\n return out.get();\n};\n\nvar TTFFont = function TTFFont(rawData, name) {\n var self = this;\n var data = self.contents = BinaryStream(rawData);\n if (data.readString(4) == \"ttcf\") {\n var offset;\n var parse = function() {\n data.offset(offset);\n self.parse();\n };\n if (!name) {\n throw new Error(\"Must specify a name for TTC files\");\n }\n data.readLong(); // version\n var numFonts = data.readLong();\n for (var i = 0; i < numFonts; ++i) {\n offset = data.readLong();\n data.saveExcursion(parse);\n if (self.psName == name) {\n return;\n }\n }\n throw new Error(\"Font \" + name + \" not found in collection\");\n } else {\n data.offset(0);\n self.parse();\n }\n};\n\nTTFFont.prototype.parse = function parse () {\n var dir = this.directory = new Directory(this.contents);\n\n this.head = dir.readTable(\"head\", HeadTable);\n this.loca = dir.readTable(\"loca\", LocaTable);\n this.hhea = dir.readTable(\"hhea\", HheaTable);\n this.maxp = dir.readTable(\"maxp\", MaxpTable);\n this.hmtx = dir.readTable(\"hmtx\", HmtxTable);\n this.glyf = dir.readTable(\"glyf\", GlyfTable);\n this.name = dir.readTable(\"name\", NameTable);\n this.post = dir.readTable(\"post\", PostTable);\n this.cmap = dir.readTable(\"cmap\", CmapTable);\n this.os2 = dir.readTable(\"OS/2\", OS2Table);\n\n this.psName = this.name.postscriptName;\n this.ascent = this.os2.ascent || this.hhea.ascent;\n this.descent = this.os2.descent || this.hhea.descent;\n this.lineGap = this.os2.lineGap || this.hhea.lineGap;\n this.scale = 1000 / this.head.unitsPerEm;\n};\n\nTTFFont.prototype.widthOfGlyph = function widthOfGlyph (glyph) {\n return this.hmtx.forGlyph(glyph).advance * this.scale;\n};\n\nTTFFont.prototype.makeSubset = function makeSubset () {\n return new Subfont(this);\n};\n\nexport { TTFFont };\n","import { deflate as pakoDeflate } from '@progress/pako-esm';\n\nexport var deflate = pakoDeflate;\n\nexport function supportsDeflate() {\n return true;\n}\n\n","/* eslint-disable no-multi-spaces, key-spacing, indent, camelcase, space-before-blocks, eqeqeq, brace-style */\n/* eslint-disable space-infix-ops, space-before-function-paren, array-bracket-spacing, object-curly-spacing */\n/* eslint-disable no-nested-ternary, max-params, default-case, no-else-return, no-empty */\n/* eslint-disable no-param-reassign, no-var, block-scoped-var */\n\nimport { BinaryStream, ucs2encode, base64ToUint8Array, HAS_TYPED_ARRAYS } from \"./utils\";\nimport { support } from '../common';\nimport { TTFFont } from \"./ttf\";\nimport { deflate, supportsDeflate } from './deflate';\nimport { encodeUTF16BE, BOM } from \"../util/encode-utf\";\nimport { encodeBase64 } from \"../util\";\n\nvar browser = support.browser;\nvar NL = \"\\n\";\n\nvar RESOURCE_COUNTER = 0;\n\nvar PAPER_SIZE = {\n a0 : [ 2383.94 , 3370.39 ],\n a1 : [ 1683.78 , 2383.94 ],\n a2 : [ 1190.55 , 1683.78 ],\n a3 : [ 841.89 , 1190.55 ],\n a4 : [ 595.28 , 841.89 ],\n a5 : [ 419.53 , 595.28 ],\n a6 : [ 297.64 , 419.53 ],\n a7 : [ 209.76 , 297.64 ],\n a8 : [ 147.40 , 209.76 ],\n a9 : [ 104.88 , 147.40 ],\n a10 : [ 73.70 , 104.88 ],\n b0 : [ 2834.65 , 4008.19 ],\n b1 : [ 2004.09 , 2834.65 ],\n b2 : [ 1417.32 , 2004.09 ],\n b3 : [ 1000.63 , 1417.32 ],\n b4 : [ 708.66 , 1000.63 ],\n b5 : [ 498.90 , 708.66 ],\n b6 : [ 354.33 , 498.90 ],\n b7 : [ 249.45 , 354.33 ],\n b8 : [ 175.75 , 249.45 ],\n b9 : [ 124.72 , 175.75 ],\n b10 : [ 87.87 , 124.72 ],\n c0 : [ 2599.37 , 3676.54 ],\n c1 : [ 1836.85 , 2599.37 ],\n c2 : [ 1298.27 , 1836.85 ],\n c3 : [ 918.43 , 1298.27 ],\n c4 : [ 649.13 , 918.43 ],\n c5 : [ 459.21 , 649.13 ],\n c6 : [ 323.15 , 459.21 ],\n c7 : [ 229.61 , 323.15 ],\n c8 : [ 161.57 , 229.61 ],\n c9 : [ 113.39 , 161.57 ],\n c10 : [ 79.37 , 113.39 ],\n executive : [ 521.86 , 756.00 ],\n folio : [ 612.00 , 936.00 ],\n legal : [ 612.00 , 1008.00 ],\n letter : [ 612.00 , 792.00 ],\n tabloid : [ 792.00 , 1224.00 ]\n};\n\nfunction makeOutput() {\n var indentLevel = 0, output = BinaryStream();\n function out() {\n var arguments$1 = arguments;\n\n for (var i = 0; i < arguments.length; ++i) {\n var x = arguments$1[i];\n if (x === undefined) {\n throw new Error(\"Cannot output undefined to PDF\");\n }\n else if (x instanceof PDFValue) {\n x.beforeRender(out);\n x.render(out);\n }\n else if (isArray(x)) {\n renderArray(x, out);\n }\n else if (isDate(x)) {\n renderDate(x, out);\n }\n else if (typeof x == \"number\") {\n if (isNaN(x)) {\n throw new Error(\"Cannot output NaN to PDF\");\n }\n // make sure it doesn't end up in exponent notation\n var num = x.toFixed(7);\n if (num.indexOf(\".\") >= 0) {\n num = num.replace(/\\.?0+$/, \"\");\n }\n if (num == \"-0\") {\n num = \"0\";\n }\n output.writeString(num);\n }\n else if (/string|boolean/.test(typeof x)) {\n output.writeString(String(x));\n }\n else if (typeof x.get == \"function\") {\n output.write(x.get());\n }\n else if (typeof x == \"object\") {\n if (!x) {\n output.writeString(\"null\");\n } else {\n out(new PDFDictionary(x));\n }\n }\n }\n }\n out.writeData = function(data) {\n output.write(data);\n };\n out.withIndent = function(f) {\n ++indentLevel;\n f(out);\n --indentLevel;\n };\n out.indent = function() {\n out(NL, pad(\"\", indentLevel * 2, \" \"));\n out.apply(null, arguments);\n };\n out.offset = function() {\n return output.offset();\n };\n out.toString = function() {\n throw new Error(\"FIX CALLER\");\n };\n out.get = function() {\n return output.get();\n };\n out.stream = function() {\n return output;\n };\n return out;\n}\n\nfunction wrapObject(value, id) {\n var beforeRender = value.beforeRender;\n var renderValue = value.render;\n\n value.beforeRender = function(){};\n\n value.render = function(out) {\n out(id, \" 0 R\");\n };\n\n value.renderFull = function(out) {\n value._offset = out.offset();\n out(id, \" 0 obj \");\n beforeRender.call(value, out);\n renderValue.call(value, out);\n out(\" endobj\");\n };\n}\n\nfunction getPaperOptions(getOption) {\n if (typeof getOption != \"function\") {\n var options = getOption;\n getOption = function(key, def) {\n return key in options ? options[key] : def;\n };\n }\n var paperSize = getOption(\"paperSize\", PAPER_SIZE.a4);\n if (!paperSize) {\n return {};\n }\n if (typeof paperSize == \"string\") {\n paperSize = PAPER_SIZE[paperSize.toLowerCase()];\n if (paperSize == null) {\n throw new Error(\"Unknown paper size\");\n }\n }\n\n paperSize[0] = unitsToPoints(paperSize[0]);\n paperSize[1] = unitsToPoints(paperSize[1]);\n\n if (getOption(\"landscape\", false)) {\n paperSize = [\n Math.max(paperSize[0], paperSize[1]),\n Math.min(paperSize[0], paperSize[1])\n ];\n }\n\n var margin = getOption(\"margin\");\n if (margin) {\n if (typeof margin == \"string\" || typeof margin == \"number\") {\n margin = unitsToPoints(margin, 0);\n margin = { left: margin, top: margin, right: margin, bottom: margin };\n } else {\n margin = {\n left : unitsToPoints(margin.left, 0),\n top : unitsToPoints(margin.top, 0),\n right : unitsToPoints(margin.right, 0),\n bottom : unitsToPoints(margin.bottom, 0)\n };\n }\n if (getOption(\"addMargin\")) {\n paperSize[0] += margin.left + margin.right;\n paperSize[1] += margin.top + margin.bottom;\n }\n }\n return { paperSize: paperSize, margin: margin };\n}\n\nvar FONT_CACHE = {\n \"Times-Roman\" : true,\n \"Times-Bold\" : true,\n \"Times-Italic\" : true,\n \"Times-BoldItalic\" : true,\n \"Helvetica\" : true,\n \"Helvetica-Bold\" : true,\n \"Helvetica-Oblique\" : true,\n \"Helvetica-BoldOblique\" : true,\n \"Courier\" : true,\n \"Courier-Bold\" : true,\n \"Courier-Oblique\" : true,\n \"Courier-BoldOblique\" : true,\n \"Symbol\" : true,\n \"ZapfDingbats\" : true\n};\n\nfunction loadBinary(url, cont) {\n // IE throws Accesss denied error for Data URIs\n var m;\n if (browser.msie && (m = /^data:.*?;base64,/i.exec(url))) {\n cont(base64ToUint8Array(url.substr(m[0].length)));\n return;\n }\n\n function error() {\n if (window.console) {\n if (window.console.error) {\n window.console.error(\"Cannot load URL: %s\", url);\n } else {\n window.console.log(\"Cannot load URL: %s\", url);\n }\n }\n cont(null);\n }\n var req = new XMLHttpRequest();\n req.open('GET', url, true);\n if (HAS_TYPED_ARRAYS) {\n req.responseType = \"arraybuffer\";\n }\n req.onload = function() {\n if (req.status == 200 || req.status == 304) {\n if (HAS_TYPED_ARRAYS) {\n cont(new Uint8Array(req.response));\n } else {\n cont(new window.VBArray(req.responseBody).toArray()); // IE9 only\n }\n } else {\n error();\n }\n };\n req.onerror = error;\n req.send(null);\n}\n\nfunction loadFont(url, cont) {\n var font = FONT_CACHE[url];\n if (font) {\n cont(font);\n } else {\n loadBinary(url, function(data){\n if (data == null) {\n throw new Error(\"Cannot load font from \" + url);\n } else {\n var font = new TTFFont(data);\n FONT_CACHE[url] = font;\n cont(font);\n }\n });\n }\n}\n\nvar IMAGE_CACHE = {};\n\nfunction clearImageCache() {\n IMAGE_CACHE = {};\n}\n\nfunction loadImage(url, size, cont, options) {\n var img = IMAGE_CACHE[url], bloburl, blob;\n if (img) {\n cont(img);\n } else {\n img = new Image();\n if (!(/^data:/i.test(url))) {\n img.crossOrigin = \"Anonymous\";\n }\n if (HAS_TYPED_ARRAYS && !(/^data:/i.test(url))) {\n // IE10 fails to load images from another domain even when the server sends the\n // proper CORS headers. a XHR, however, will be able to load the data.\n // http://stackoverflow.com/a/19734516/154985\n //\n // On the other hand, it's worth doing it this way for all browsers which support\n // responseType = \"blob\" (HAS_TYPED_ARRAYS will be true), because we can inspect the\n // mime type and if it's a JPEG (very common case) we can save a lot of time in\n // _load below.\n var xhr = new XMLHttpRequest();\n xhr.onload = function() {\n blob = xhr.response;\n if (browser.mozilla && blob.type == \"image/svg+xml\") {\n // Firefox won't render SVGs that don't contain width and height attributes.\n var reader = new FileReader();\n reader.onload = function() {\n var doc = new window.DOMParser().parseFromString(this.result, \"image/svg+xml\");\n var svg = doc.documentElement;\n if (svg.getAttribute(\"width\") && svg.getAttribute(\"height\")) {\n // we're good, continue with the existing blob.\n bloburl = URL.createObjectURL(blob);\n _load(bloburl);\n } else {\n svg.setAttribute(\"width\", size.width);\n svg.setAttribute(\"height\", size.height);\n var xml = new window.XMLSerializer().serializeToString(svg);\n var dataURL = \"data:image/svg+xml;base64,\" + (encodeBase64(xml));\n _load(dataURL);\n }\n };\n reader.readAsText(blob);\n } else {\n bloburl = URL.createObjectURL(blob);\n _load(bloburl);\n }\n };\n xhr.onerror = _onerror;\n xhr.open(\"GET\", url, true);\n xhr.responseType = \"blob\";\n xhr.send();\n } else {\n _load(url);\n }\n }\n\n function _load(url) {\n img.src = url;\n if (img.complete && !browser.msie) {\n // IE, bless its little heart, says img.complete == true even though the image is\n // not loaded (width=0), therefore we must go the onload route (ticket 929635).\n _onload.call(img);\n } else {\n img.onload = _onload;\n img.onerror = _onerror;\n }\n }\n\n function _trycanvas() {\n if (!size) {\n size = { width: img.width, height: img.height };\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = size.width;\n canvas.height = size.height;\n\n var ctx = canvas.getContext(\"2d\");\n ctx.drawImage(img, 0, 0, size.width, size.height);\n\n var imgdata;\n try {\n imgdata = ctx.getImageData(0, 0, size.width, size.height);\n } catch (ex) {\n // it tainted the canvas -- can't draw it.\n _onerror();\n return;\n } finally {\n if (bloburl) {\n URL.revokeObjectURL(bloburl);\n }\n }\n\n // in case it contains transparency, we must separate rgb data from the alpha\n // channel and create a PDFRawImage image with opacity. otherwise we can use a\n // PDFJpegImage.\n //\n // to do this in one step, we create the rgb and alpha streams anyway, even if\n // we might end up not using them if hasAlpha remains false.\n\n var hasAlpha = false, rgb = BinaryStream(), alpha = BinaryStream();\n var rawbytes = imgdata.data;\n var i = 0;\n while (i < rawbytes.length) {\n rgb.writeByte(rawbytes[i++]);\n rgb.writeByte(rawbytes[i++]);\n rgb.writeByte(rawbytes[i++]);\n var a = rawbytes[i++];\n if (a < 255) {\n hasAlpha = true;\n }\n alpha.writeByte(a);\n }\n\n if (hasAlpha || options.keepPNG) {\n img = new PDFRawImage(size.width, size.height, rgb, alpha);\n } else {\n // no transparency, encode as JPEG.\n var data = canvas.toDataURL(\"image/jpeg\", options.jpegQuality);\n data = data.substr(data.indexOf(\";base64,\") + 8);\n\n var stream = BinaryStream();\n stream.writeBase64(data);\n img = new PDFJpegImage(stream);\n }\n\n cont(IMAGE_CACHE[url] = img);\n }\n\n function _onerror() {\n cont(IMAGE_CACHE[url] = \"ERROR\");\n }\n\n function _onload() {\n if (size) {\n var svg = (blob && blob.type === 'image/svg+xml') || (\n /^data:image\\/svg\\+xml;/i.test(this.src.substring(0, 19))\n );\n\n var upscale = size.width >= img.width || size.height >= img.height;\n\n // Use the original image if requested size is bigger than the source,\n // unless it's an SVG that can be upscaled.\n if (!svg && upscale) {\n size = null;\n }\n }\n if (!size && blob && /^image\\/jpe?g$/i.test(blob.type)) {\n // If we know we got a JPEG, we can skip the process of rendering it to a\n // canvas, getting the pixel data, searching for transparency we know we won't\n // find, getting back a data URI and then decoding the BASE64 to finally get the\n // binary we already have. Also, we avoid downgrading the image quality, with\n // the possible drawback of making a bigger PDF; still, seems legit.\n //\n // Besides saving a lot of work, this also reuses the buffer memory\n // (BinaryStream does not create a copy), potentially saving some GC cycles.\n var reader = new FileReader();\n reader.onload = function() {\n try {\n var img = new PDFJpegImage(BinaryStream(new Uint8Array(this.result)));\n URL.revokeObjectURL(bloburl);\n cont(IMAGE_CACHE[url] = img);\n } catch (ex) {\n // if there's an error parsing the JPEG stream, it could be due to a\n // misconfigured server (improper content-type:\n // https://github.com/telerik/kendo-ui-core/issues/4184). If that's the case,\n // the canvas will still be able to draw it.\n _trycanvas();\n }\n };\n reader.readAsArrayBuffer(blob);\n } else {\n _trycanvas();\n }\n }\n}\n\nfunction manyLoader(loadOne) {\n return function(urls, callback) {\n var n = urls.length, i = n;\n if (n === 0) {\n return callback();\n }\n function next() {\n if (--n === 0) {\n callback();\n }\n }\n while (i-- > 0) {\n loadOne(urls[i], next);\n }\n };\n}\n\nvar loadFonts = manyLoader(loadFont);\nvar loadImages = function(images, callback, options) {\n options = Object.assign({\n jpegQuality : 0.92,\n keepPNG : false\n }, options);\n var urls = Object.keys(images), n = urls.length;\n if (n === 0) {\n return callback();\n }\n function next() {\n if (--n === 0) {\n callback();\n }\n }\n urls.forEach(function(url){\n loadImage(url, images[url], next, options);\n });\n};\n\nvar PDFDocument = function PDFDocument (options) {\n var self = this;\n var out = makeOutput();\n var objcount = 0;\n var objects = [];\n\n function getOption(name, defval) {\n return (options && options[name] != null) ? options[name] : defval;\n }\n\n self.getOption = getOption;\n\n self.attach = function(value) {\n if (objects.indexOf(value) < 0) {\n wrapObject(value, ++objcount);\n objects.push(value);\n }\n return value;\n };\n\n self.pages = [];\n\n self.FONTS = {};\n self.IMAGES = {};\n self.GRAD_COL_FUNCTIONS = {}; // cache for color gradient functions\n self.GRAD_OPC_FUNCTIONS = {}; // cache for opacity gradient functions\n self.GRAD_COL = {}; // cache for whole color gradient objects\n self.GRAD_OPC = {}; // cache for whole opacity gradient objects\n\n var catalog = self.attach(new PDFCatalog());\n var pageTree = self.attach(new PDFPageTree());\n\n if (getOption(\"autoPrint\")) {\n var nameTree = {};\n nameTree.JavaScript = new PDFDictionary({ Names: [\n new PDFString(\"JS\"), self.attach(new PDFDictionary({\n S: _(\"JavaScript\"),\n JS: new PDFString(\"print(true);\")\n }))\n ] });\n catalog.props.Names = new PDFDictionary(nameTree);\n }\n\n catalog.setPages(pageTree);\n\n var info = self.attach(new PDFDictionary({\n Producer : new PDFString(getOption(\"producer\", \"Kendo UI PDF Generator\"), true), // XXX: kendo.version?\n Title : new PDFString(getOption(\"title\", \"\"), true),\n Author : new PDFString(getOption(\"author\", \"\"), true),\n Subject : new PDFString(getOption(\"subject\", \"\"), true),\n Keywords : new PDFString(getOption(\"keywords\", \"\"), true),\n Creator : new PDFString(getOption(\"creator\", \"Kendo UI PDF Generator\"), true),\n CreationDate : getOption(\"date\", new Date())\n }));\n\n self.addPage = function(options) {\n var paperOptions = getPaperOptions(function(name, defval){\n return (options && options[name] != null) ? options[name] : defval;\n });\n var paperSize = paperOptions.paperSize;\n var margin = paperOptions.margin;\n var contentWidth = paperSize[0];\n var contentHeight = paperSize[1];\n if (margin) {\n contentWidth -= margin.left + margin.right;\n contentHeight -= margin.top + margin.bottom;\n }\n var content = new PDFStream(makeOutput(), null, true);\n var props = {\n Contents : self.attach(content),\n Parent : pageTree,\n MediaBox : [ 0, 0, paperSize[0], paperSize[1] ]\n };\n var page = new PDFPage(self, props);\n page._content = content;\n pageTree.addPage(self.attach(page));\n\n // canvas-like coord. system. (0,0) is upper-left.\n // text must be vertically mirorred before drawing.\n page.transform(1, 0, 0, -1, 0, paperSize[1]);\n\n if (margin) {\n page.translate(margin.left, margin.top);\n // XXX: clip to right/bottom margin. Make this optional?\n page.rect(0, 0, contentWidth, contentHeight);\n page.clip();\n }\n\n self.pages.push(page);\n return page;\n };\n\n self.render = function() {\n var i;\n /// file header\n out(\"%PDF-1.4\", NL, \"%\\xc2\\xc1\\xda\\xcf\\xce\", NL, NL);\n\n /// file body\n for (i = 0; i < objects.length; ++i) {\n objects[i].renderFull(out);\n out(NL, NL);\n }\n\n /// cross-reference table\n var xrefOffset = out.offset();\n out(\"xref\", NL, 0, \" \", objects.length + 1, NL);\n out(\"0000000000 65535 f \", NL);\n for (i = 0; i < objects.length; ++i) {\n out(zeropad(objects[i]._offset, 10), \" 00000 n \", NL);\n }\n out(NL);\n\n /// trailer\n out(\"trailer\", NL);\n out(new PDFDictionary({\n Size: objects.length + 1,\n Root: catalog,\n Info: info\n }), NL, NL);\n\n /// end\n out(\"startxref\", NL, xrefOffset, NL);\n out(\"%%EOF\", NL);\n\n return out.stream().offset(0);\n };\n\n self.loadFonts = loadFonts;\n self.loadImages = loadImages;\n};\n\nPDFDocument.prototype.getFont = function getFont (url) {\n var font = this.FONTS[url];\n if (!font) {\n font = FONT_CACHE[url];\n if (!font) {\n throw new Error(\"Font \" + url + \" has not been loaded\");\n }\n if (font === true) {\n font = this.attach(new PDFStandardFont(url));\n } else {\n font = this.attach(new PDFFont(this, font));\n }\n this.FONTS[url] = font;\n }\n return font;\n};\n\nPDFDocument.prototype.getImage = function getImage (url) {\n var img = this.IMAGES[url];\n if (!img) {\n img = IMAGE_CACHE[url];\n if (!img) {\n throw new Error(\"Image \" + url + \" has not been loaded\");\n }\n if (img === \"ERROR\") {\n return null;\n }\n img = this.IMAGES[url] = this.attach(img.asStream(this));\n }\n return img;\n};\n\nPDFDocument.prototype.getOpacityGS = function getOpacityGS (opacity, forStroke) {\n var id = parseFloat(opacity).toFixed(3);\n opacity = parseFloat(id);\n id += forStroke ? \"S\" : \"F\";\n var cache = this._opacityGSCache || (this._opacityGSCache = {});\n var gs = cache[id];\n if (!gs) {\n var props = {\n Type: _(\"ExtGState\")\n };\n if (forStroke) {\n props.CA = opacity;\n } else {\n props.ca = opacity;\n }\n gs = this.attach(new PDFDictionary(props));\n gs._resourceName = _(\"GS\" + (++RESOURCE_COUNTER));\n cache[id] = gs;\n }\n return gs;\n};\n\nPDFDocument.prototype.dict = function dict (props) {\n return new PDFDictionary(props);\n};\n\nPDFDocument.prototype.name = function name (str) {\n return _(str);\n};\n\nPDFDocument.prototype.stream = function stream (props, content) {\n return new PDFStream(content, props);\n};\n\n/* -----[ utils ]----- */\n\nfunction pad(str, len, ch) {\n while (str.length < len) {\n str = ch + str;\n }\n return str;\n}\n\nfunction zeropad(n, len) {\n return pad(String(n), len, \"0\");\n}\n\nfunction hasOwnProperty(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nvar isArray = Array.isArray || function(obj) {\n return obj instanceof Array;\n};\n\nfunction isDate(obj) {\n return obj instanceof Date;\n}\n\nfunction renderArray(a, out) {\n out(\"[\");\n if (a.length > 0) {\n out.withIndent(function(){\n for (var i = 0; i < a.length; ++i) {\n if (i > 0 && i % 8 === 0) {\n out.indent(a[i]);\n } else {\n out(\" \", a[i]);\n }\n }\n });\n //out.indent();\n }\n out(\" ]\");\n}\n\nfunction renderDate(date, out) {\n out(\"(D:\",\n zeropad(date.getUTCFullYear(), 4),\n zeropad(date.getUTCMonth() + 1, 2),\n zeropad(date.getUTCDate(), 2),\n zeropad(date.getUTCHours(), 2),\n zeropad(date.getUTCMinutes(), 2),\n zeropad(date.getUTCSeconds(), 2),\n \"Z)\");\n}\n\nfunction mm2pt(mm) {\n return mm * (72/25.4);\n}\n\nfunction cm2pt(cm) {\n return mm2pt(cm * 10);\n}\n\nfunction in2pt(inch) {\n return inch * 72;\n}\n\n\nfunction unitsToPoints(x, def) {\n if (typeof x == \"number\") {\n return x;\n }\n if (typeof x == \"string\") {\n var m;\n m = /^\\s*([0-9.]+)\\s*(mm|cm|in|pt)\\s*$/.exec(x);\n if (m) {\n var num = parseFloat(m[1]);\n if (!isNaN(num)) {\n if (m[2] == \"pt\") {\n return num;\n }\n return {\n \"mm\": mm2pt,\n \"cm\": cm2pt,\n \"in\": in2pt\n }[m[2]](num);\n }\n }\n }\n if (def != null) {\n return def;\n }\n throw new Error(\"Can't parse unit: \" + x);\n}\n\n/* -----[ PDF basic objects ]----- */\n\nvar PDFValue = function PDFValue () {};\n\nPDFValue.prototype.beforeRender = function beforeRender () {};\n\nvar PDFString = (function (PDFValue) {\n function PDFString(value, utf16be) {\n PDFValue.call(this);\n this.value = value;\n this.utf16be = Boolean(utf16be);\n }\n\n if ( PDFValue ) PDFString.__proto__ = PDFValue;\n PDFString.prototype = Object.create( PDFValue && PDFValue.prototype );\n PDFString.prototype.constructor = PDFString;\n\n PDFString.prototype.render = function render (out) {\n var txt = this.value;\n if (this.utf16be) {\n txt = BOM + encodeUTF16BE(txt);\n txt = txt.replace(/([\\(\\)\\\\])/g, \"\\\\$1\");\n out(\"(\", txt, \")\");\n } else {\n // out.writeString truncates charcodes to 8 bits and\n // 0x128 & 0xFF is 40, the code for open paren.\n // therefore we need to do the chopping here to make\n // sure we backslash all cases.\n var data = [ 40 ]; // open PDF string '('\n for (var i = 0; i < txt.length; ++i) {\n var code = txt.charCodeAt(i) & 0xFF;\n if (code == 40 || code == 41 || code == 92) {\n // backslash before (, ) and \\\n data.push(92);\n }\n data.push(code);\n }\n data.push(41); // ')' close PDF string\n out.writeData(data);\n }\n };\n\n PDFString.prototype.toString = function toString () {\n return this.value;\n };\n\n return PDFString;\n}(PDFValue));\n\nvar PDFHexString = (function (PDFString) {\n function PDFHexString(value) {\n PDFString.call(this, value);\n this.value = value;\n }\n\n if ( PDFString ) PDFHexString.__proto__ = PDFString;\n PDFHexString.prototype = Object.create( PDFString && PDFString.prototype );\n PDFHexString.prototype.constructor = PDFHexString;\n\n PDFHexString.prototype.render = function render (out) {\n var this$1 = this;\n\n out(\"<\");\n for (var i = 0; i < this.value.length; ++i) {\n out(zeropad(this$1.value.charCodeAt(i).toString(16), 4));\n }\n out(\">\");\n };\n\n return PDFHexString;\n}(PDFString));\n\n/// names\nvar PDFName = (function (PDFValue) {\n function PDFName(name) {\n PDFValue.call(this);\n this.name = name;\n }\n\n if ( PDFValue ) PDFName.__proto__ = PDFValue;\n PDFName.prototype = Object.create( PDFValue && PDFValue.prototype );\n PDFName.prototype.constructor = PDFName;\n\n PDFName.get = function get (name) {\n return _(name);\n };\n\n PDFName.prototype.render = function render (out) {\n out(\"/\" + this.escape());\n };\n\n PDFName.prototype.escape = function escape () {\n return this.name.replace(/[^\\x21-\\x7E]/g, function(c){\n return \"#\" + zeropad(c.charCodeAt(0).toString(16), 2);\n });\n };\n\n PDFName.prototype.toString = function toString () {\n return this.name;\n };\n\n return PDFName;\n}(PDFValue));\n\nvar PDFName_cache = {};\n\nfunction _(name) {\n if (hasOwnProperty(PDFName_cache, name)) {\n return PDFName_cache[name];\n }\n return (PDFName_cache[name] = new PDFName(name));\n}\n\n/// dictionary\n\nvar PDFDictionary = (function (PDFValue) {\n function PDFDictionary(props) {\n PDFValue.call(this);\n this.props = props;\n }\n\n if ( PDFValue ) PDFDictionary.__proto__ = PDFValue;\n PDFDictionary.prototype = Object.create( PDFValue && PDFValue.prototype );\n PDFDictionary.prototype.constructor = PDFDictionary;\n\n PDFDictionary.prototype.render = function render (out) {\n var props = this.props, empty = true;\n out(\"<<\");\n out.withIndent(function(){\n for (var i in props) {\n if (hasOwnProperty(props, i) && !/^_/.test(i)) {\n empty = false;\n out.indent(_(i), \" \", props[i]);\n }\n }\n });\n if (!empty) {\n out.indent();\n }\n out(\">>\");\n };\n\n return PDFDictionary;\n}(PDFValue));\n\n/// streams\n\nvar PDFStream = (function (PDFValue) {\n function PDFStream(data, props, compress) {\n PDFValue.call(this);\n if (typeof data == \"string\") {\n var tmp = BinaryStream();\n tmp.write(data);\n data = tmp;\n }\n this.data = data;\n this.props = props || {};\n this.compress = compress;\n }\n\n if ( PDFValue ) PDFStream.__proto__ = PDFValue;\n PDFStream.prototype = Object.create( PDFValue && PDFValue.prototype );\n PDFStream.prototype.constructor = PDFStream;\n\n PDFStream.prototype.render = function render (out) {\n var data = this.data.get(), props = this.props;\n if (this.compress && supportsDeflate()) {\n if (!props.Filter) {\n props.Filter = [];\n } else if (!(props.Filter instanceof Array)) {\n props.Filter = [ props.Filter ];\n }\n props.Filter.unshift(_(\"FlateDecode\"));\n data = deflate(data);\n }\n props.Length = data.length;\n out(new PDFDictionary(props), \" stream\", NL);\n out.writeData(data);\n out(NL, \"endstream\");\n };\n\n return PDFStream;\n}(PDFValue));\n\n/// catalog\n\nvar PDFCatalog = (function (PDFDictionary) {\n function PDFCatalog() {\n PDFDictionary.call(this, {\n Type: _(\"Catalog\")\n });\n }\n\n if ( PDFDictionary ) PDFCatalog.__proto__ = PDFDictionary;\n PDFCatalog.prototype = Object.create( PDFDictionary && PDFDictionary.prototype );\n PDFCatalog.prototype.constructor = PDFCatalog;\n\n PDFCatalog.prototype.setPages = function setPages (pagesObj) {\n this.props.Pages = pagesObj;\n };\n\n return PDFCatalog;\n}(PDFDictionary));\n\n/// page tree\n\nvar PDFPageTree = (function (PDFDictionary) {\n function PDFPageTree() {\n PDFDictionary.call(this, {\n Type : _(\"Pages\"),\n Kids : [],\n Count : 0\n });\n }\n\n if ( PDFDictionary ) PDFPageTree.__proto__ = PDFDictionary;\n PDFPageTree.prototype = Object.create( PDFDictionary && PDFDictionary.prototype );\n PDFPageTree.prototype.constructor = PDFPageTree;\n\n PDFPageTree.prototype.addPage = function addPage (pageObj) {\n this.props.Kids.push(pageObj);\n this.props.Count++;\n };\n\n return PDFPageTree;\n}(PDFDictionary));\n\n/// images\n\n// JPEG\n\nvar SOF_CODES = [0xc0, 0xc1, 0xc2, 0xc3, 0xc5, 0xc6, 0xc7, 0xc9, 0xca, 0xcb, 0xcd, 0xce, 0xcf];\n\nvar PDFJpegImage = function PDFJpegImage(data) {\n // we must determine the correct color space. we'll parse a bit\n // of the JPEG stream for this, it's still better than going\n // through the canvas.\n // https://github.com/telerik/kendo-ui-core/issues/2845\n data.offset(0);\n var width, height, colorSpace, bitsPerComponent;\n var soi = data.readShort();\n if (soi != 0xFFD8) {\n // XXX: do we have some better options here?\n throw new Error(\"Invalid JPEG image\");\n }\n while (!data.eof()) {\n var ff = data.readByte();\n if (ff != 0xFF) {\n throw new Error(\"Invalid JPEG image\");\n }\n var marker = data.readByte();\n var length = data.readShort();\n if (SOF_CODES.indexOf(marker) >= 0) {\n // \"start of frame\" marker\n bitsPerComponent = data.readByte();\n height = data.readShort();\n width = data.readShort();\n colorSpace = data.readByte();\n break;\n }\n data.skip(length - 2);\n }\n\n if (colorSpace == null) {\n throw new Error(\"Invalid JPEG image\");\n }\n\n var props = {\n Type : _(\"XObject\"),\n Subtype : _(\"Image\"),\n Width : width,\n Height : height,\n BitsPerComponent : bitsPerComponent,\n Filter : _(\"DCTDecode\")\n };\n\n switch (colorSpace) {\n case 1:\n props.ColorSpace = _(\"DeviceGray\");\n break;\n case 3:\n props.ColorSpace = _(\"DeviceRGB\");\n break;\n case 4:\n props.ColorSpace = _(\"DeviceCMYK\");\n props.Decode = [ 1, 0, 1, 0, 1, 0, 1, 0 ]; // invert colors\n break;\n }\n\n this.asStream = function() {\n data.offset(0);\n var stream = new PDFStream(data, props);\n stream._resourceName = _(\"I\" + (++RESOURCE_COUNTER));\n return stream;\n };\n};\n\n// PDFRawImage will be used for images with transparency (PNG)\n\nvar PDFRawImage = function PDFRawImage(width, height, rgb, alpha) {\n this.asStream = function(pdf) {\n var mask = new PDFStream(alpha, {\n Type : _(\"XObject\"),\n Subtype : _(\"Image\"),\n Width : width,\n Height : height,\n BitsPerComponent : 8,\n ColorSpace : _(\"DeviceGray\")\n }, true);\n var stream = new PDFStream(rgb, {\n Type : _(\"XObject\"),\n Subtype : _(\"Image\"),\n Width : width,\n Height : height,\n BitsPerComponent : 8,\n ColorSpace : _(\"DeviceRGB\"),\n SMask : pdf.attach(mask)\n }, true);\n stream._resourceName = _(\"I\" + (++RESOURCE_COUNTER));\n return stream;\n };\n};\n\n/// standard fonts\n\nvar PDFStandardFont = (function (PDFDictionary) {\n function PDFStandardFont(name){\n PDFDictionary.call(this, {\n Type : _(\"Font\"),\n Subtype : _(\"Type1\"),\n BaseFont : _(name)\n });\n\n this._resourceName = _(\"F\" + (++RESOURCE_COUNTER));\n }\n\n if ( PDFDictionary ) PDFStandardFont.__proto__ = PDFDictionary;\n PDFStandardFont.prototype = Object.create( PDFDictionary && PDFDictionary.prototype );\n PDFStandardFont.prototype.constructor = PDFStandardFont;\n\n PDFStandardFont.prototype.encodeText = function encodeText (str) {\n return new PDFString(String(str));\n };\n\n return PDFStandardFont;\n}(PDFDictionary));\n\n/// TTF fonts\n\nvar PDFFont = (function (PDFDictionary) {\n function PDFFont(pdf, font, props){\n PDFDictionary.call(this, {});\n\n props = this.props;\n props.Type = _(\"Font\");\n props.Subtype = _(\"Type0\");\n props.Encoding = _(\"Identity-H\");\n\n this._pdf = pdf;\n this._font = font;\n this._sub = font.makeSubset();\n this._resourceName = _(\"F\" + (++RESOURCE_COUNTER));\n\n var head = font.head;\n\n this.name = font.psName;\n var scale = this.scale = font.scale;\n this.bbox = [\n head.xMin * scale,\n head.yMin * scale,\n head.xMax * scale,\n head.yMax * scale\n ];\n\n this.italicAngle = font.post.italicAngle;\n this.ascent = font.ascent * scale;\n this.descent = font.descent * scale;\n this.lineGap = font.lineGap * scale;\n this.capHeight = font.os2.capHeight || this.ascent;\n this.xHeight = font.os2.xHeight || 0;\n this.stemV = 0;\n\n this.familyClass = (font.os2.familyClass || 0) >> 8;\n this.isSerif = this.familyClass >= 1 && this.familyClass <= 7;\n this.isScript = this.familyClass == 10;\n\n this.flags = ((font.post.isFixedPitch ? 1 : 0) |\n (this.isSerif ? 1 << 1 : 0) |\n (this.isScript ? 1 << 3 : 0) |\n (this.italicAngle !== 0 ? 1 << 6 : 0) |\n (1 << 5));\n }\n\n if ( PDFDictionary ) PDFFont.__proto__ = PDFDictionary;\n PDFFont.prototype = Object.create( PDFDictionary && PDFDictionary.prototype );\n PDFFont.prototype.constructor = PDFFont;\n\n PDFFont.prototype.encodeText = function encodeText (text) {\n return new PDFHexString(this._sub.encodeText(String(text)));\n };\n\n PDFFont.prototype.getTextWidth = function getTextWidth (fontSize, text) {\n var this$1 = this;\n\n var width = 0, codeMap = this._font.cmap.codeMap;\n for (var i = 0; i < text.length; ++i) {\n var glyphId = codeMap[text.charCodeAt(i)];\n width += this$1._font.widthOfGlyph(glyphId || 0);\n }\n return width * fontSize / 1000;\n };\n\n PDFFont.prototype.beforeRender = function beforeRender () {\n var self = this;\n var sub = self._sub;\n\n // write the TTF data\n var data = sub.render();\n var fontStream = new PDFStream(BinaryStream(data), {\n Length1: data.length\n }, true);\n\n var descriptor = self._pdf.attach(new PDFDictionary({\n Type : _(\"FontDescriptor\"),\n FontName : _(self._sub.psName),\n FontBBox : self.bbox,\n Flags : self.flags,\n StemV : self.stemV,\n ItalicAngle : self.italicAngle,\n Ascent : self.ascent,\n Descent : self.descent,\n CapHeight : self.capHeight,\n XHeight : self.xHeight,\n FontFile2 : self._pdf.attach(fontStream)\n }));\n\n var cmap = sub.ncid2ogid;\n var firstChar = sub.firstChar;\n var lastChar = sub.lastChar;\n var charWidths = [];\n (function loop(i, chunk){\n if (i <= lastChar) {\n var gid = cmap[i];\n if (gid == null) {\n loop(i + 1);\n } else {\n if (!chunk) {\n charWidths.push(i, chunk = []);\n }\n chunk.push(self._font.widthOfGlyph(gid));\n loop(i + 1, chunk);\n }\n }\n })(firstChar);\n\n // As if two dictionaries weren't enough, we need another\n // one, the \"descendant font\". Only that one can be of\n // Subtype CIDFontType2. PDF is the X11 of document\n // formats: portable but full of legacy that nobody cares\n // about anymore.\n\n var descendant = new PDFDictionary({\n Type: _(\"Font\"),\n Subtype: _(\"CIDFontType2\"),\n BaseFont: _(self._sub.psName),\n CIDSystemInfo: new PDFDictionary({\n Registry : new PDFString(\"Adobe\"),\n Ordering : new PDFString(\"Identity\"),\n Supplement : 0\n }),\n FontDescriptor: descriptor,\n FirstChar: firstChar,\n LastChar: lastChar,\n DW: Math.round(self._font.widthOfGlyph(0)),\n W: charWidths,\n CIDToGIDMap: self._pdf.attach(self._makeCidToGidMap())\n });\n\n var dict = self.props;\n dict.BaseFont = _(self._sub.psName);\n dict.DescendantFonts = [ self._pdf.attach(descendant) ];\n\n // Compute the ToUnicode map so that apps can extract\n // meaningful text from the PDF.\n var unimap = new PDFToUnicodeCmap(firstChar, lastChar, sub.subset);\n var unimapStream = new PDFStream(makeOutput(), null, true);\n unimapStream.data(unimap);\n dict.ToUnicode = self._pdf.attach(unimapStream);\n };\n\n PDFFont.prototype._makeCidToGidMap = function _makeCidToGidMap () {\n return new PDFStream(BinaryStream(this._sub.cidToGidMap()), null, true);\n };\n\n return PDFFont;\n}(PDFDictionary));\n\nvar PDFToUnicodeCmap = (function (PDFValue) {\n function PDFToUnicodeCmap(firstChar, lastChar, map){\n PDFValue.call(this);\n this.firstChar = firstChar;\n this.lastChar = lastChar;\n this.map = map;\n }\n\n if ( PDFValue ) PDFToUnicodeCmap.__proto__ = PDFValue;\n PDFToUnicodeCmap.prototype = Object.create( PDFValue && PDFValue.prototype );\n PDFToUnicodeCmap.prototype.constructor = PDFToUnicodeCmap;\n\n PDFToUnicodeCmap.prototype.render = function render (out) {\n out.indent(\"/CIDInit /ProcSet findresource begin\");\n out.indent(\"12 dict begin\");\n out.indent(\"begincmap\");\n out.indent(\"/CIDSystemInfo <<\");\n out.indent(\" /Registry (Adobe)\");\n out.indent(\" /Ordering (UCS)\");\n out.indent(\" /Supplement 0\");\n out.indent(\">> def\");\n out.indent(\"/CMapName /Adobe-Identity-UCS def\");\n out.indent(\"/CMapType 2 def\");\n out.indent(\"1 begincodespacerange\");\n out.indent(\" <0000>\");\n out.indent(\"endcodespacerange\");\n\n var self = this;\n out.indent(self.lastChar - self.firstChar + 1, \" beginbfchar\");\n out.withIndent(function(){\n for (var code = self.firstChar; code <= self.lastChar; ++code) {\n var unicode = self.map[code];\n var str = ucs2encode([ unicode ]);\n out.indent(\"<\", zeropad(code.toString(16), 4), \">\", \"<\");\n for (var i = 0; i < str.length; ++i) {\n out(zeropad(str.charCodeAt(i).toString(16), 4));\n }\n out(\">\");\n }\n });\n out.indent(\"endbfchar\");\n\n out.indent(\"endcmap\");\n out.indent(\"CMapName currentdict /CMap defineresource pop\");\n out.indent(\"end\");\n out.indent(\"end\");\n };\n\n return PDFToUnicodeCmap;\n}(PDFValue));\n\n/// gradients\n\nfunction makeHash(a) {\n return a.map(function(x){\n return isArray(x) ? makeHash(x)\n : typeof x == \"number\" ? (Math.round(x * 1000) / 1000).toFixed(3)\n : x;\n }).join(\" \");\n}\n\nfunction cacheColorGradientFunction(pdf, r1, g1, b1, r2, g2, b2) {\n var hash = makeHash([ r1, g1, b1, r2, g2, b2 ]);\n var func = pdf.GRAD_COL_FUNCTIONS[hash];\n if (!func) {\n func = pdf.GRAD_COL_FUNCTIONS[hash] = pdf.attach(new PDFDictionary({\n FunctionType: 2,\n Domain: [ 0, 1 ],\n Range: [ 0, 1, 0, 1, 0, 1 ],\n N: 1,\n C0: [ r1 , g1 , b1 ],\n C1: [ r2 , g2 , b2 ]\n }));\n }\n return func;\n}\n\nfunction cacheOpacityGradientFunction(pdf, a1, a2) {\n var hash = makeHash([ a1, a2 ]);\n var func = pdf.GRAD_OPC_FUNCTIONS[hash];\n if (!func) {\n func = pdf.GRAD_OPC_FUNCTIONS[hash] = pdf.attach(new PDFDictionary({\n FunctionType: 2,\n Domain: [ 0, 1 ],\n Range: [ 0, 1 ],\n N: 1,\n C0: [ a1 ],\n C1: [ a2 ]\n }));\n }\n return func;\n}\n\nfunction makeGradientFunctions(pdf, stops) {\n var hasAlpha = false;\n var opacities = [];\n var colors = [];\n var offsets = [];\n var encode = [];\n var i, prev, cur, prevColor, curColor;\n for (i = 1; i < stops.length; ++i) {\n prev = stops[i - 1];\n cur = stops[i];\n prevColor = prev.color;\n curColor = cur.color;\n colors.push(cacheColorGradientFunction(\n pdf,\n prevColor.r, prevColor.g, prevColor.b,\n curColor.r, curColor.g, curColor.b\n ));\n if (prevColor.a < 1 || curColor.a < 1) {\n hasAlpha = true;\n }\n offsets.push(cur.offset);\n encode.push(0, 1);\n }\n if (hasAlpha) {\n for (i = 1; i < stops.length; ++i) {\n prev = stops[i - 1];\n cur = stops[i];\n prevColor = prev.color;\n curColor = cur.color;\n opacities.push(cacheOpacityGradientFunction(\n pdf, prevColor.a, curColor.a\n ));\n }\n }\n offsets.pop();\n return {\n hasAlpha : hasAlpha,\n colors : assemble(colors),\n opacities : hasAlpha ? assemble(opacities) : null\n };\n function assemble(funcs) {\n if (funcs.length == 1) {\n return funcs[0];\n }\n return {\n FunctionType: 3,\n Functions: funcs,\n Domain: [ 0, 1 ],\n Bounds: offsets,\n Encode: encode\n };\n }\n}\n\nfunction cacheColorGradient(pdf, isRadial, stops, coords, funcs, box) {\n var shading, hash;\n // if box is given then we have user-space coordinates, which\n // means the gradient is designed for a certain position/size\n // on page. caching won't do any good.\n if (!box) {\n var a = [ isRadial ].concat(coords);\n stops.forEach(function(x){\n a.push(x.offset, x.color.r, x.color.g, x.color.b);\n });\n hash = makeHash(a);\n shading = pdf.GRAD_COL[hash];\n }\n if (!shading) {\n shading = new PDFDictionary({\n Type: _(\"Shading\"),\n ShadingType: isRadial ? 3 : 2,\n ColorSpace: _(\"DeviceRGB\"),\n Coords: coords,\n Domain: [ 0, 1 ],\n Function: funcs,\n Extend: [ true, true ]\n });\n pdf.attach(shading);\n shading._resourceName = \"S\" + (++RESOURCE_COUNTER);\n if (hash) {\n pdf.GRAD_COL[hash] = shading;\n }\n }\n return shading;\n}\n\nfunction cacheOpacityGradient(pdf, isRadial, stops, coords, funcs, box) {\n var opacity, hash;\n // if box is given then we have user-space coordinates, which\n // means the gradient is designed for a certain position/size\n // on page. caching won't do any good.\n if (!box) {\n var a = [ isRadial ].concat(coords);\n stops.forEach(function(x){\n a.push(x.offset, x.color.a);\n });\n hash = makeHash(a);\n opacity = pdf.GRAD_OPC[hash];\n }\n if (!opacity) {\n opacity = new PDFDictionary({\n Type: _(\"ExtGState\"),\n AIS: false,\n CA: 1,\n ca: 1,\n SMask: {\n Type: _(\"Mask\"),\n S: _(\"Luminosity\"),\n G: pdf.attach(new PDFStream(\"/a0 gs /s0 sh\", {\n Type: _(\"XObject\"),\n Subtype: _(\"Form\"),\n FormType: 1,\n BBox: (box ? [\n box.left, box.top + box.height, box.left + box.width, box.top\n ] : [ 0, 1, 1, 0 ]),\n Group: {\n Type: _(\"Group\"),\n S: _(\"Transparency\"),\n CS: _(\"DeviceGray\"),\n I: true\n },\n Resources: {\n ExtGState: {\n a0: { CA: 1, ca: 1 }\n },\n Shading: {\n s0: {\n ColorSpace: _(\"DeviceGray\"),\n Coords: coords,\n Domain: [ 0, 1 ],\n ShadingType: isRadial ? 3 : 2,\n Function: funcs,\n Extend: [ true, true ]\n }\n }\n }\n }))\n }\n });\n pdf.attach(opacity);\n opacity._resourceName = \"O\" + (++RESOURCE_COUNTER);\n if (hash) {\n pdf.GRAD_OPC[hash] = opacity;\n }\n }\n return opacity;\n}\n\nfunction cacheGradient(pdf, gradient, box) {\n var isRadial = gradient.type == \"radial\";\n var funcs = makeGradientFunctions(pdf, gradient.stops);\n var coords = isRadial ? [\n gradient.start.x , gradient.start.y , gradient.start.r,\n gradient.end.x , gradient.end.y , gradient.end.r\n ] : [\n gradient.start.x , gradient.start.y,\n gradient.end.x , gradient.end.y\n ];\n var shading = cacheColorGradient(\n pdf, isRadial, gradient.stops, coords, funcs.colors, gradient.userSpace && box\n );\n var opacity = funcs.hasAlpha ? cacheOpacityGradient(\n pdf, isRadial, gradient.stops, coords, funcs.opacities, gradient.userSpace && box\n ) : null;\n return {\n hasAlpha: funcs.hasAlpha,\n shading: shading,\n opacity: opacity\n };\n}\n\n/// page object\n\nvar PDFPage = (function (PDFDictionary) {\n function PDFPage(pdf, props){\n PDFDictionary.call(this, props);\n\n this._pdf = pdf;\n this._rcount = 0;\n this._textMode = false;\n this._fontResources = {};\n this._gsResources = {};\n this._xResources = {};\n this._patResources = {};\n this._shResources = {};\n this._opacity = 1;\n this._matrix = [ 1, 0, 0, 1, 0, 0 ];\n this._annotations = [];\n\n this._font = null;\n this._fontSize = null;\n\n this._contextStack = [];\n\n props = this.props;\n props.Type = _(\"Page\");\n props.ProcSet = [\n _(\"PDF\"),\n _(\"Text\"),\n _(\"ImageB\"),\n _(\"ImageC\"),\n _(\"ImageI\")\n ];\n props.Resources = new PDFDictionary({\n Font : new PDFDictionary(this._fontResources),\n ExtGState : new PDFDictionary(this._gsResources),\n XObject : new PDFDictionary(this._xResources),\n Pattern : new PDFDictionary(this._patResources),\n Shading : new PDFDictionary(this._shResources)\n });\n props.Annots = this._annotations;\n }\n\n if ( PDFDictionary ) PDFPage.__proto__ = PDFDictionary;\n PDFPage.prototype = Object.create( PDFDictionary && PDFDictionary.prototype );\n PDFPage.prototype.constructor = PDFPage;\n\n PDFPage.prototype._out = function _out () {\n this._content.data.apply(null, arguments);\n };\n\n PDFPage.prototype.transform = function transform (a, b, c, d, e, f) {\n if (!isIdentityMatrix(arguments)) {\n this._matrix = mmul(arguments, this._matrix);\n this._out(a, \" \", b, \" \", c, \" \", d, \" \", e, \" \", f, \" cm\");\n // XXX: debug\n // this._out(\" % current matrix: \", this._matrix);\n this._out(NL);\n }\n };\n\n PDFPage.prototype.translate = function translate (dx, dy) {\n this.transform(1, 0, 0, 1, dx, dy);\n };\n\n PDFPage.prototype.scale = function scale (sx, sy) {\n this.transform(sx, 0, 0, sy, 0, 0);\n };\n\n PDFPage.prototype.rotate = function rotate (angle) {\n var cos = Math.cos(angle), sin = Math.sin(angle);\n this.transform(cos, sin, -sin, cos, 0, 0);\n };\n\n PDFPage.prototype.beginText = function beginText () {\n this._textMode = true;\n this._out(\"BT\", NL);\n };\n\n PDFPage.prototype.endText = function endText () {\n this._textMode = false;\n this._out(\"ET\", NL);\n };\n\n PDFPage.prototype._requireTextMode = function _requireTextMode () {\n if (!this._textMode) {\n throw new Error(\"Text mode required; call page.beginText() first\");\n }\n };\n\n PDFPage.prototype._requireFont = function _requireFont () {\n if (!this._font) {\n throw new Error(\"No font selected; call page.setFont() first\");\n }\n };\n\n PDFPage.prototype.setFont = function setFont (font, size) {\n this._requireTextMode();\n if (font == null) {\n font = this._font;\n } else if (!(font instanceof PDFFont)) {\n font = this._pdf.getFont(font);\n }\n if (size == null) {\n size = this._fontSize;\n }\n this._fontResources[font._resourceName] = font;\n this._font = font;\n this._fontSize = size;\n this._out(font._resourceName, \" \", size, \" Tf\", NL);\n };\n\n PDFPage.prototype.setTextLeading = function setTextLeading (size) {\n this._requireTextMode();\n this._out(size, \" TL\", NL);\n };\n\n PDFPage.prototype.setTextRenderingMode = function setTextRenderingMode (mode) {\n this._requireTextMode();\n this._out(mode, \" Tr\", NL);\n };\n\n PDFPage.prototype.showText = function showText (text, requestedWidth) {\n this._requireFont();\n if (text.length > 1 && requestedWidth && this._font instanceof PDFFont) {\n var outputWidth = this._font.getTextWidth(this._fontSize, text);\n var scale = requestedWidth / outputWidth * 100;\n this._out(scale, \" Tz \");\n }\n this._out(this._font.encodeText(text), \" Tj\", NL);\n };\n\n PDFPage.prototype.showTextNL = function showTextNL (text) {\n this._requireFont();\n this._out(this._font.encodeText(text), \" '\", NL);\n };\n\n PDFPage.prototype.addLink = function addLink (uri, box) {\n var ll = this._toPage({ x: box.left, y: box.bottom });\n var ur = this._toPage({ x: box.right, y: box.top });\n this._annotations.push(new PDFDictionary({\n Type : _(\"Annot\"),\n Subtype : _(\"Link\"),\n Rect : [ ll.x, ll.y, ur.x, ur.y ],\n Border : [ 0, 0, 0 ],\n A : new PDFDictionary({\n Type : _(\"Action\"),\n S : _(\"URI\"),\n URI : new PDFString(uri)\n })\n }));\n };\n\n PDFPage.prototype.setStrokeColor = function setStrokeColor (r, g, b) {\n this._out(r, \" \", g, \" \", b, \" RG\", NL);\n };\n\n PDFPage.prototype.setOpacity = function setOpacity (opacity) {\n this.setFillOpacity(opacity);\n this.setStrokeOpacity(opacity);\n this._opacity *= opacity;\n };\n\n PDFPage.prototype.setStrokeOpacity = function setStrokeOpacity (opacity) {\n if (opacity < 1) {\n var gs = this._pdf.getOpacityGS(this._opacity * opacity, true);\n this._gsResources[gs._resourceName] = gs;\n this._out(gs._resourceName, \" gs\", NL);\n }\n };\n\n PDFPage.prototype.setFillColor = function setFillColor (r, g, b) {\n this._out(r, \" \", g, \" \", b, \" rg\", NL);\n };\n\n PDFPage.prototype.setFillOpacity = function setFillOpacity (opacity) {\n if (opacity < 1) {\n var gs = this._pdf.getOpacityGS(this._opacity * opacity, false);\n this._gsResources[gs._resourceName] = gs;\n this._out(gs._resourceName, \" gs\", NL);\n }\n };\n\n PDFPage.prototype.gradient = function gradient (gradient$1, box) {\n this.save();\n this.rect(box.left, box.top, box.width, box.height);\n this.clip();\n if (!gradient$1.userSpace) {\n this.transform(box.width, 0, 0, box.height, box.left, box.top);\n }\n var g = cacheGradient(this._pdf, gradient$1, box);\n var sname = g.shading._resourceName, oname;\n this._shResources[sname] = g.shading;\n if (g.hasAlpha) {\n oname = g.opacity._resourceName;\n this._gsResources[oname] = g.opacity;\n this._out(\"/\" + oname + \" gs \");\n }\n this._out(\"/\" + sname + \" sh\", NL);\n this.restore();\n };\n\n PDFPage.prototype.setDashPattern = function setDashPattern (dashArray, dashPhase) {\n this._out(dashArray, \" \", dashPhase, \" d\", NL);\n };\n\n PDFPage.prototype.setLineWidth = function setLineWidth (width) {\n this._out(width, \" w\", NL);\n };\n\n PDFPage.prototype.setLineCap = function setLineCap (lineCap) {\n this._out(lineCap, \" J\", NL);\n };\n\n PDFPage.prototype.setLineJoin = function setLineJoin (lineJoin) {\n this._out(lineJoin, \" j\", NL);\n };\n\n PDFPage.prototype.setMitterLimit = function setMitterLimit (mitterLimit) {\n this._out(mitterLimit, \" M\", NL);\n };\n\n PDFPage.prototype.save = function save () {\n this._contextStack.push(this._context());\n this._out(\"q\", NL);\n };\n\n PDFPage.prototype.restore = function restore () {\n this._out(\"Q\", NL);\n this._context(this._contextStack.pop());\n };\n\n\n // paths\n PDFPage.prototype.moveTo = function moveTo (x, y) {\n this._out(x, \" \", y, \" m\", NL);\n };\n\n PDFPage.prototype.lineTo = function lineTo (x, y) {\n this._out(x, \" \", y, \" l\", NL);\n };\n\n PDFPage.prototype.bezier = function bezier (x1, y1, x2, y2, x3, y3) {\n this._out(x1, \" \", y1, \" \", x2, \" \", y2, \" \", x3, \" \", y3, \" c\", NL);\n };\n\n PDFPage.prototype.bezier1 = function bezier1 (x1, y1, x3, y3) {\n this._out(x1, \" \", y1, \" \", x3, \" \", y3, \" y\", NL);\n };\n\n PDFPage.prototype.bezier2 = function bezier2 (x2, y2, x3, y3) {\n this._out(x2, \" \", y2, \" \", x3, \" \", y3, \" v\", NL);\n };\n\n PDFPage.prototype.close = function close () {\n this._out(\"h\", NL);\n };\n\n PDFPage.prototype.rect = function rect (x, y, w, h) {\n this._out(x, \" \", y, \" \", w, \" \", h, \" re\", NL);\n };\n\n PDFPage.prototype.ellipse = function ellipse (x, y, rx, ry) {\n function _X(v) { return x + v; }\n function _Y(v) { return y + v; }\n\n // how to get to the \"magic number\" is explained here:\n // http://www.whizkidtech.redprince.net/bezier/circle/kappa/\n var k = 0.5522847498307936;\n\n this.moveTo(_X(0), _Y(ry));\n this.bezier(\n _X(rx * k) , _Y(ry),\n _X(rx) , _Y(ry * k),\n _X(rx) , _Y(0)\n );\n this.bezier(\n _X(rx) , _Y(-ry * k),\n _X(rx * k) , _Y(-ry),\n _X(0) , _Y(-ry)\n );\n this.bezier(\n _X(-rx * k) , _Y(-ry),\n _X(-rx) , _Y(-ry * k),\n _X(-rx) , _Y(0)\n );\n this.bezier(\n _X(-rx) , _Y(ry * k),\n _X(-rx * k) , _Y(ry),\n _X(0) , _Y(ry)\n );\n };\n\n PDFPage.prototype.circle = function circle (x, y, r) {\n this.ellipse(x, y, r, r);\n };\n\n PDFPage.prototype.stroke = function stroke () {\n this._out(\"S\", NL);\n };\n\n PDFPage.prototype.nop = function nop () {\n this._out(\"n\", NL);\n };\n\n PDFPage.prototype.clip = function clip () {\n this._out(\"W n\", NL);\n };\n\n PDFPage.prototype.clipStroke = function clipStroke () {\n this._out(\"W S\", NL);\n };\n\n PDFPage.prototype.closeStroke = function closeStroke () {\n this._out(\"s\", NL);\n };\n\n PDFPage.prototype.fill = function fill () {\n this._out(\"f\", NL);\n };\n\n PDFPage.prototype.fillStroke = function fillStroke () {\n this._out(\"B\", NL);\n };\n\n PDFPage.prototype.drawImage = function drawImage (url) {\n var img = this._pdf.getImage(url);\n if (img) { // the result can be null for a cross-domain image\n this._xResources[img._resourceName] = img;\n this._out(img._resourceName, \" Do\", NL);\n }\n };\n\n PDFPage.prototype.comment = function comment (txt) {\n var self = this;\n txt.split(/\\r?\\n/g).forEach(function(line){\n self._out(\"% \", line, NL);\n });\n };\n\n // internal\n PDFPage.prototype._context = function _context (val) {\n if (val != null) {\n this._opacity = val.opacity;\n this._matrix = val.matrix;\n } else {\n return {\n opacity: this._opacity,\n matrix: this._matrix\n };\n }\n };\n\n PDFPage.prototype._toPage = function _toPage (p) {\n var m = this._matrix;\n var a = m[0], b = m[1], c = m[2], d = m[3], e = m[4], f = m[5];\n return {\n x: a*p.x + c*p.y + e,\n y: b*p.x + d*p.y + f\n };\n };\n\n return PDFPage;\n}(PDFDictionary));\n\nfunction unquote(str) {\n return str.replace(/^\\s*(['\"])(.*)\\1\\s*$/, \"$2\");\n}\n\nfunction parseFontDef(fontdef) {\n // XXX: this is very crude for now and buggy. Proper parsing is quite involved.\n var rx = /^\\s*((normal|italic)\\s+)?((normal|small-caps)\\s+)?((normal|bold|\\d+)\\s+)?(([0-9.]+)(px|pt))(\\/(([0-9.]+)(px|pt)|normal))?\\s+(.*?)\\s*$/i;\n var m = rx.exec(fontdef);\n if (!m) {\n return { fontSize: 12, fontFamily: \"sans-serif\" };\n }\n var fontSize = m[8] ? parseInt(m[8], 10) : 12;\n return {\n italic : m[2] && m[2].toLowerCase() == \"italic\",\n variant : m[4],\n bold : m[6] && /bold|700/i.test(m[6]),\n fontSize : fontSize,\n lineHeight : m[12] ? m[12] == \"normal\" ? fontSize : parseInt(m[12], 10) : null,\n fontFamily : m[14].split(/\\s*,\\s*/g).map(unquote)\n };\n}\n\nfunction getFontURL(style) {\n function mkFamily(name) {\n if (style.bold) {\n name += \"|bold\";\n }\n if (style.italic) {\n name += \"|italic\";\n }\n return name.toLowerCase();\n }\n var fontFamily = style.fontFamily;\n var name, url;\n if (fontFamily instanceof Array) {\n for (var i = 0; i < fontFamily.length; ++i) {\n name = mkFamily(fontFamily[i]);\n url = FONT_MAPPINGS[name];\n if (url) {\n break;\n }\n }\n } else {\n url = FONT_MAPPINGS[fontFamily.toLowerCase()];\n }\n while (typeof url == \"function\") {\n url = url();\n }\n if (!url) {\n url = \"Times-Roman\";\n }\n return url;\n}\n\nvar FONT_MAPPINGS = {\n \"serif\" : \"Times-Roman\",\n \"serif|bold\" : \"Times-Bold\",\n \"serif|italic\" : \"Times-Italic\",\n \"serif|bold|italic\" : \"Times-BoldItalic\",\n \"sans-serif\" : \"Helvetica\",\n \"sans-serif|bold\" : \"Helvetica-Bold\",\n \"sans-serif|italic\" : \"Helvetica-Oblique\",\n \"sans-serif|bold|italic\" : \"Helvetica-BoldOblique\",\n \"monospace\" : \"Courier\",\n \"monospace|bold\" : \"Courier-Bold\",\n \"monospace|italic\" : \"Courier-Oblique\",\n \"monospace|bold|italic\" : \"Courier-BoldOblique\",\n \"zapfdingbats\" : \"ZapfDingbats\",\n \"zapfdingbats|bold\" : \"ZapfDingbats\",\n \"zapfdingbats|italic\" : \"ZapfDingbats\",\n \"zapfdingbats|bold|italic\" : \"ZapfDingbats\"\n};\n\nfunction fontAlias(alias, name) {\n alias = alias.toLowerCase();\n FONT_MAPPINGS[alias] = function() {\n return FONT_MAPPINGS[name];\n };\n FONT_MAPPINGS[alias + \"|bold\"] = function() {\n return FONT_MAPPINGS[name + \"|bold\"];\n };\n FONT_MAPPINGS[alias + \"|italic\"] = function() {\n return FONT_MAPPINGS[name + \"|italic\"];\n };\n FONT_MAPPINGS[alias + \"|bold|italic\"] = function() {\n return FONT_MAPPINGS[name + \"|bold|italic\"];\n };\n}\n\n// Let's define some common names to an appropriate replacement.\n// These are overridable via pdf.defineFont, should the user want to\n// include the proper versions.\n\nfontAlias(\"Times New Roman\" , \"serif\");\nfontAlias(\"Courier New\" , \"monospace\");\nfontAlias(\"Arial\" , \"sans-serif\");\nfontAlias(\"Helvetica\" , \"sans-serif\");\nfontAlias(\"Verdana\" , \"sans-serif\");\nfontAlias(\"Tahoma\" , \"sans-serif\");\nfontAlias(\"Georgia\" , \"sans-serif\");\nfontAlias(\"Monaco\" , \"monospace\");\nfontAlias(\"Andale Mono\" , \"monospace\");\n\nfunction defineFont(name, url) {\n if (arguments.length == 1) {\n for (var i in name) {\n if (hasOwnProperty(name, i)) {\n defineFont(i, name[i]);\n }\n }\n } else {\n name = name.toLowerCase();\n FONT_MAPPINGS[name] = url;\n\n // special handling for DejaVu fonts: if they get defined,\n // let them also replace the default families, for good\n // Unicode support out of the box.\n switch (name) {\n case \"dejavu sans\" : FONT_MAPPINGS[\"sans-serif\"] = url; break;\n case \"dejavu sans|bold\" : FONT_MAPPINGS[\"sans-serif|bold\"] = url; break;\n case \"dejavu sans|italic\" : FONT_MAPPINGS[\"sans-serif|italic\"] = url; break;\n case \"dejavu sans|bold|italic\" : FONT_MAPPINGS[\"sans-serif|bold|italic\"] = url; break;\n case \"dejavu serif\" : FONT_MAPPINGS[\"serif\"] = url; break;\n case \"dejavu serif|bold\" : FONT_MAPPINGS[\"serif|bold\"] = url; break;\n case \"dejavu serif|italic\" : FONT_MAPPINGS[\"serif|italic\"] = url; break;\n case \"dejavu serif|bold|italic\" : FONT_MAPPINGS[\"serif|bold|italic\"] = url; break;\n case \"dejavu mono\" : FONT_MAPPINGS[\"monospace\"] = url; break;\n case \"dejavu mono|bold\" : FONT_MAPPINGS[\"monospace|bold\"] = url; break;\n case \"dejavu mono|italic\" : FONT_MAPPINGS[\"monospace|italic\"] = url; break;\n case \"dejavu mono|bold|italic\" : FONT_MAPPINGS[\"monospace|bold|italic\"] = url; break;\n }\n }\n}\n\nfunction mmul(a, b) {\n var a1 = a[0], b1 = a[1], c1 = a[2], d1 = a[3], e1 = a[4], f1 = a[5];\n var a2 = b[0], b2 = b[1], c2 = b[2], d2 = b[3], e2 = b[4], f2 = b[5];\n return [\n a1*a2 + b1*c2, a1*b2 + b1*d2,\n c1*a2 + d1*c2, c1*b2 + d1*d2,\n e1*a2 + f1*c2 + e2, e1*b2 + f1*d2 + f2\n ];\n}\n\nfunction isIdentityMatrix(m) {\n return m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1 && m[4] === 0 && m[5] === 0;\n}\n\nvar TEXT_RENDERING_MODE = {\n fill : 0,\n stroke : 1,\n fillAndStroke : 2,\n invisible : 3,\n fillAndClip : 4,\n strokeAndClip : 5,\n fillStrokeClip : 6,\n clip : 7\n};\n\nexport {\n PDFDocument as Document,\n BinaryStream,\n defineFont,\n parseFontDef,\n getFontURL,\n loadFonts,\n loadImages,\n getPaperOptions,\n clearImageCache,\n TEXT_RENDERING_MODE\n};\n","export default function template() {\n throw new Error(\"Template implementation missing.\");\n}\n","/* eslint-disable no-multi-spaces, key-spacing, indent, camelcase, space-before-blocks, eqeqeq, brace-style */\n/* eslint-disable space-infix-ops, space-before-function-paren, array-bracket-spacing, object-curly-spacing */\n/* eslint-disable no-nested-ternary, max-params, default-case, no-else-return, no-empty, yoda */\n/* eslint-disable no-param-reassign, no-var, block-scoped-var */\n\nimport * as geo from \"../geometry\";\nimport * as PDF from \"../pdf\";\nimport { arabicToRoman, createPromise, measureText, mergeSort } from '../util';\nimport { parseColor as utils_parseColor, support, template as compileTemplate } from \"../common\";\nimport { Path, Text, Group, Image, Circle, LinearGradient } from \"../drawing\";\nimport { encodeBase64 } from \"../util\";\n\nvar browser = support.browser || {};\n/*\n\n XXX: to test:\n\n - cloneNodes function:\n - drawing document containing canvas with page breaking\n - drawing document with named radio -s (should not clear selection)\n - IE9/IE10 don't support el.dataset; do they copy user data?\n\n - repeating table headers/footers on page breaking\n\n - forceBreak, keepTogether\n\n - avoidLinks\n\n */\n\n/* -----[ local vars ]----- */\n\nfunction slice(thing) {\n return Array.prototype.slice.call(thing);\n}\n\nvar KENDO_PSEUDO_ELEMENT = \"KENDO-PSEUDO-ELEMENT\";\n\nvar IMAGE_CACHE = {};\n\nvar nodeInfo = {};\nnodeInfo._root = nodeInfo;\n\n/* -----[ Custom Text node to speed up rendering in PDF ]----- */\n\nvar inBrowser = typeof window !== 'undefined';\nvar microsoft = inBrowser ? browser.msie || browser.edge : false;\n\nvar TextRect = (function (Text) {\n function TextRect(str, rect, options) {\n Text.call(this, str, rect.getOrigin(), options);\n this._pdfRect = rect;\n }\n\n if ( Text ) TextRect.__proto__ = Text;\n TextRect.prototype = Object.create( Text && Text.prototype );\n TextRect.prototype.constructor = TextRect;\n TextRect.prototype.rect = function rect () {\n // this is the crux of it: we can avoid a call to\n // measure(), which is what the base class does, since we\n // already know the rect. measure() is s-l-o-w.\n return this._pdfRect;\n };\n TextRect.prototype.rawBBox = function rawBBox () {\n // also let's avoid creating a new rectangle.\n return this._pdfRect;\n };\n\n return TextRect;\n}(Text));\n\nfunction addClass(el, cls) {\n if (el.classList) {\n el.classList.add(cls);\n } else {\n el.className += \" \" + cls;\n }\n}\n\nfunction removeClass(el, cls) {\n if (el.classList) {\n el.classList.remove(cls);\n } else {\n el.className = el.className.split(/\\s+/).reduce(function(a, word){\n if (word != cls) {\n a.push(word);\n }\n return a;\n }, []).join(\" \");\n }\n}\n\nfunction setCSS(el, styles) {\n Object.keys(styles).forEach(function(key){\n el.style[key] = styles[key];\n });\n}\n\nvar matches = typeof Element !== \"undefined\" && Element.prototype && (function(p){\n if (p.matches) {\n return function(el, selector) { return el.matches(selector); };\n }\n if (p.webkitMatchesSelector) {\n return function(el, selector) { return el.webkitMatchesSelector(selector); };\n }\n if (p.mozMatchesSelector) {\n return function(el, selector) { return el.mozMatchesSelector(selector); };\n }\n if (p.msMatchesSelector) {\n return function(el, selector) { return el.msMatchesSelector(selector); };\n }\n return function(s) {\n\treturn [].indexOf.call(document.querySelectorAll(s), this) !== -1;\n };\n})(Element.prototype);\n\nfunction closest(el, selector) {\n if (el.closest) {\n return el.closest(selector);\n }\n // IE: stringifying rather than simply comparing with `document`,\n // which is not iframe-proof and fails in editor export —\n // https://github.com/telerik/kendo/issues/6721\n while (el && !/^\\[object (?:HTML)?Document\\]$/.test(String(el))) {\n if (el.nodeType == 1 /* Element */ && matches(el, selector)) {\n return el;\n }\n el = el.parentNode;\n }\n}\n\n// clone nodes ourselves, so that we redraw (DOM or\n// jQuery clone will not)\nvar cloneNodes = (function($){\n if ($) {\n // if we have Kendo and jQuery, use this version as it will\n // maintain proper links between cloned element and Kendo\n // widgets (i.e. it clones jQuery data(), which isn't the same\n // as element's data attributes).\n // https://github.com/telerik/kendo-ui-core/issues/2750\n return function cloneNodes(el) {\n var clone = el.cloneNode(false);\n if (el.nodeType == 1 /* Element */) {\n var $el = $(el), $clone = $(clone), i;\n var data = $el.data();\n for (i in data) {\n $clone.data(i, data[i]);\n }\n if (/^canvas$/i.test(el.tagName)) {\n clone.getContext(\"2d\").drawImage(el, 0, 0);\n } else if (/^(?:input|select|textarea|option)$/i.test(el.tagName)) {\n // drop the name attributes so that we don't affect the selection of the\n // original nodes (i.e. checked status of radio buttons) when we insert our copy\n // into the DOM. https://github.com/telerik/kendo/issues/5409\n clone.removeAttribute(\"id\");\n clone.removeAttribute(\"name\");\n if (!/^textarea$/i.test(el.tagName)) {\n clone.value = el.value;\n }\n clone.checked = el.checked;\n clone.selected = el.selected;\n }\n for (i = el.firstChild; i; i = i.nextSibling) {\n clone.appendChild(cloneNodes(i));\n }\n }\n return clone;\n };\n } else {\n // the no-jQuery version\n return function cloneNodes(el) {\n var clone = (function dive(node){\n var clone = node.cloneNode(false);\n if (node._kendoExportVisual) {\n clone._kendoExportVisual = node._kendoExportVisual;\n }\n for (var i = node.firstChild; i; i = i.nextSibling) {\n clone.appendChild(dive(i));\n }\n return clone;\n })(el);\n\n // re-draw canvases - https://github.com/telerik/kendo/issues/4872\n var canvases = el.querySelectorAll(\"canvas\");\n if (canvases.length) {\n slice(clone.querySelectorAll(\"canvas\")).forEach(function (canvas, i) {\n canvas.getContext(\"2d\").drawImage(canvases[i], 0, 0);\n });\n }\n\n // remove \"name\" attributes from elements -\n // https://github.com/telerik/kendo/issues/5409\n var orig = el.querySelectorAll(\"input, select, textarea, option\");\n slice(clone.querySelectorAll(\"input, select, textarea, option\")).forEach(function (el, i) {\n el.removeAttribute(\"id\");\n el.removeAttribute(\"name\");\n if (!/^textarea$/i.test(el.tagName)) {\n el.value = orig[i].value;\n }\n el.checked = orig[i].checked;\n el.selected = orig[i].selected;\n });\n\n return clone;\n };\n }\n})(typeof window !== \"undefined\" && window.kendo && window.kendo.jQuery);\n\nfunction getXY(thing) {\n if (typeof thing == \"number\") {\n return { x: thing, y: thing };\n }\n if (Array.isArray(thing)) {\n return { x: thing[0], y: thing[1] };\n }\n return { x: thing.x, y: thing.y };\n}\n\nfunction drawDOM(element, options) {\n if (!options) {\n options = {};\n }\n var promise = createPromise();\n\n if (!element) {\n return promise.reject(\"No element to export\");\n }\n\n if (typeof window.getComputedStyle != \"function\") {\n throw new Error(\"window.getComputedStyle is missing. You are using an unsupported browser, or running in IE8 compatibility mode. Drawing HTML is supported in Chrome, Firefox, Safari and IE9+.\");\n }\n\n PDF.defineFont(getFontFaces(element.ownerDocument));\n\n var scale = getXY(options.scale || 1);\n\n function doOne(element) {\n var group = new Group();\n\n // translate to start of page\n var pos = element.getBoundingClientRect();\n setTransform(group, [\n scale.x,\n 0,\n 0,\n scale.y,\n (-pos.left * scale.x),\n (-pos.top * scale.y)\n ]);\n\n nodeInfo._clipbox = false;\n nodeInfo._matrix = geo.Matrix.unit();\n nodeInfo._stackingContext = {\n element: element,\n group: group\n };\n\n if (options.avoidLinks === true) {\n nodeInfo._avoidLinks = \"a\";\n } else {\n nodeInfo._avoidLinks = options.avoidLinks;\n }\n\n addClass(element, \"k-pdf-export\");\n renderElement(element, group);\n removeClass(element, \"k-pdf-export\");\n\n return group;\n }\n\n cacheImages([ element ], function(){\n var forceBreak = options && options.forcePageBreak;\n var hasPaperSize = options && options.paperSize && options.paperSize != \"auto\";\n var paperOptions = PDF.getPaperOptions(function(key, def){\n if (key == \"paperSize\") {\n // PDF.getPaperOptions croaks on \"auto\", just pass dummy A4 as we might\n // still be interested in margins.\n return hasPaperSize ? options[key] : \"A4\";\n }\n return key in options ? options[key] : def;\n });\n var pageWidth = hasPaperSize && paperOptions.paperSize[0];\n var pageHeight = hasPaperSize && paperOptions.paperSize[1];\n var margin = options.margin && paperOptions.margin;\n var hasMargin = Boolean(margin);\n if (forceBreak || pageHeight) {\n if (!margin) {\n margin = { left: 0, top: 0, right: 0, bottom: 0 };\n }\n\n // we want paper size and margin to be unaffected by\n // scaling in the output, so we have to reverse-scale\n // before our calculations begin.\n if (pageWidth) { pageWidth /= scale.x; }\n if (pageHeight) { pageHeight /= scale.y; }\n margin.left /= scale.x;\n margin.right /= scale.x;\n margin.top /= scale.y;\n margin.bottom /= scale.y;\n\n var group = new Group({\n pdf: {\n multiPage : true,\n paperSize : hasPaperSize ? paperOptions.paperSize : \"auto\",\n _ignoreMargin : hasMargin // HACK! see exportPDF in pdf/drawing.js\n }\n });\n handlePageBreaks(\n function(x) {\n if (options.progress) {\n var canceled = false, pageNum = 0;\n (function next(){\n if (pageNum < x.pages.length) {\n var page = doOne(x.pages[pageNum]);\n group.append(page);\n options.progress({\n page: page,\n pageNum: ++pageNum,\n totalPages: x.pages.length,\n cancel: function() {\n canceled = true;\n }\n });\n if (!canceled) {\n setTimeout(next);\n } else {\n // XXX: should we also fail() the deferred object?\n x.container.parentNode.removeChild(x.container);\n }\n } else {\n x.container.parentNode.removeChild(x.container);\n promise.resolve(group);\n }\n })();\n } else {\n x.pages.forEach(function(page){\n group.append(doOne(page));\n });\n x.container.parentNode.removeChild(x.container);\n promise.resolve(group);\n }\n },\n element,\n forceBreak,\n pageWidth ? pageWidth - margin.left - margin.right : null,\n pageHeight ? pageHeight - margin.top - margin.bottom : null,\n margin,\n options\n );\n } else {\n promise.resolve(doOne(element));\n }\n });\n\n function makeTemplate(template) {\n if (template != null) {\n if (typeof template == \"string\") {\n template = compileTemplate(template.replace(/^\\s+|\\s+$/g, \"\"));\n }\n if (typeof template == \"function\") {\n return function(data) {\n var el = template(data);\n if (el && typeof el == \"string\") {\n var div = document.createElement(\"div\");\n div.innerHTML = el;\n el = div.firstElementChild;\n }\n return el;\n };\n }\n // assumed DOM element\n return function() {\n return template.cloneNode(true);\n };\n }\n }\n\n function handlePageBreaks(callback, element, forceBreak, pageWidth, pageHeight, margin, options) {\n var template = makeTemplate(options.template);\n var doc = element.ownerDocument;\n var pages = [];\n var copy = options._destructive ? element : cloneNodes(element);\n var container = doc.createElement(\"KENDO-PDF-DOCUMENT\");\n var adjust = 0;\n\n // make sure elements are at the end (Grid widget\n // places TFOOT before TBODY, tricking our algorithm to\n // insert a page break right after the header).\n // https://github.com/telerik/kendo/issues/4699\n slice(copy.querySelectorAll(\"tfoot\")).forEach(function(tfoot){\n tfoot.parentNode.appendChild(tfoot);\n });\n\n // remember the index of each LI from an ordered list.\n // we'll use it to reconstruct the proper numbering.\n slice(copy.querySelectorAll(\"ol\")).forEach(function(ol){\n slice(ol.children).forEach(function(li, index){\n li.setAttribute(\"kendo-split-index\", index);\n });\n });\n\n setCSS(container, {\n display : \"block\",\n position : \"absolute\",\n boxSizing : \"content-box\",\n left : \"-10000px\",\n top : \"-10000px\"\n });\n\n if (pageWidth) {\n // subtle: if we don't set the width *and* margins here, the layout in this\n // container will be different from the one in our final page elements, and we'll\n // split at the wrong places.\n setCSS(container, {\n width : pageWidth + \"px\",\n paddingLeft : margin.left + \"px\",\n paddingRight : margin.right + \"px\"\n });\n\n // when the first element has a margin-top (i.e. a

) the page will be\n // inadvertently enlarged by that number (the browser will report the container's\n // bounding box top to start at the element's top, rather than including its\n // margin). Adding overflow: hidden seems to fix it.\n //\n // to understand the difference, try the following snippets in your browser:\n //\n // 1.
\n //

Foo

\n //
\n //\n // 2.
\n //

Foo

\n //
\n //\n // this detail is not important when automatic page breaking is not requested, hence\n // doing it only if pageWidth is defined.\n setCSS(copy, { overflow: \"hidden\" });\n }\n\n element.parentNode.insertBefore(container, element);\n container.appendChild(copy);\n\n // With cache disabled, images will still have height zero until their `complete` attribute\n // is true. `whenImagesAreActuallyLoaded` will wait for it.\n if (options.beforePageBreak) {\n whenImagesAreActuallyLoaded([ container ], function() {\n options.beforePageBreak(container, doPageBreak);\n });\n } else {\n whenImagesAreActuallyLoaded([ container ], doPageBreak);\n }\n\n function doPageBreak() {\n if (forceBreak != \"-\" || pageHeight) {\n splitElement(copy);\n }\n\n {\n var page = makePage();\n copy.parentNode.insertBefore(page, copy);\n page.appendChild(copy);\n }\n\n if (template) {\n pages.forEach(function(page, i){\n var el = template({\n element : page,\n pageNum : i + 1,\n totalPages : pages.length\n });\n if (el) {\n page.appendChild(el);\n }\n });\n }\n\n cacheImages(pages, callback.bind(null, { pages: pages, container: container }));\n }\n\n function keepTogether(el) {\n if (options.keepTogether && matches(el, options.keepTogether) && el.offsetHeight <= pageHeight - adjust) {\n return true;\n }\n\n var tag = el.tagName;\n if (/^h[1-6]$/i.test(tag) && el.offsetHeight >= pageHeight - adjust) {\n return false;\n }\n\n return (el.getAttribute(\"data-kendo-chart\") ||\n /^(?:img|tr|thead|th|tfoot|iframe|svg|object|canvas|input|textarea|select|video|h[1-6])/i.test(el.tagName));\n }\n\n function splitElement(element) {\n if (element.tagName == \"TABLE\") {\n setCSS(element, { tableLayout: \"fixed\" });\n }\n if (keepTogether(element)) {\n return;\n }\n var style = getComputedStyle(element);\n var bottomPadding = parseFloat(getPropertyValue(style, \"padding-bottom\"));\n var bottomBorder = parseFloat(getPropertyValue(style, \"border-bottom-width\"));\n var saveAdjust = adjust;\n adjust += bottomPadding + bottomBorder;\n var isFirst = true;\n for (var el = element.firstChild; el; el = el.nextSibling) {\n if (el.nodeType == 1 /* Element */) {\n isFirst = false;\n if (matches(el, forceBreak)) {\n breakAtElement(el);\n continue;\n }\n if (!pageHeight) {\n // we're in \"manual breaks mode\"\n splitElement(el);\n continue;\n }\n if (!/^(?:static|relative)$/.test(getPropertyValue(getComputedStyle(el), \"position\"))) {\n continue;\n }\n var fall = fallsOnMargin(el);\n if (fall == 1) {\n // element starts on next page, break before anyway.\n breakAtElement(el);\n }\n else if (fall) {\n // elements ends up on next page, or possibly doesn't fit on a page at\n // all. break before it anyway if it's an or , otherwise\n // attempt to split.\n if (keepTogether(el)) {\n breakAtElement(el);\n } else {\n splitElement(el);\n }\n }\n else {\n splitElement(el);\n }\n }\n else if (el.nodeType == 3 /* Text */ && pageHeight) {\n splitText(el, isFirst);\n isFirst = false;\n }\n }\n adjust = saveAdjust;\n }\n\n function firstInParent(el) {\n var p = el.parentNode, first = p.firstChild;\n if (el === first) {\n return true;\n }\n if (el === p.children[0]) {\n if (first.nodeType == 7 /* comment */ ||\n first.nodeType == 8 /* processing instruction */) {\n return true;\n }\n if (first.nodeType == 3 /* text */) {\n // if whitespace only we can probably consider it's first\n return !/\\S/.test(first.data);\n }\n }\n return false;\n }\n\n function breakAtElement(el) {\n if (el.nodeType == 1 && el !== copy && firstInParent(el)) {\n return breakAtElement(el.parentNode);\n }\n var table, colgroup, thead, grid, gridHead;\n table = closest(el, \"table\");\n colgroup = table && table.querySelector(\"colgroup\");\n if (options.repeatHeaders) {\n thead = table && table.querySelector(\"thead\");\n\n // If we break page in a Kendo Grid, repeat its header. This ugly hack is\n // necessary because a scrollable grid will keep the header in a separate\n // element from its content.\n //\n // XXX: This is likely to break as soon as the widget HTML is modified.\n grid = closest(el, \".k-grid.k-widget\");\n if (grid && grid.querySelector(\".k-auto-scrollable\")) {\n gridHead = grid.querySelector(\".k-grid-header\");\n }\n }\n var page = makePage();\n var range = doc.createRange();\n range.setStartBefore(copy);\n range.setEndBefore(el);\n page.appendChild(range.extractContents());\n copy.parentNode.insertBefore(page, copy);\n preventBulletOnListItem(el.parentNode);\n if (table) {\n table = closest(el, \"table\"); // that's the
on next page!\n if (options.repeatHeaders && thead) {\n table.insertBefore(thead.cloneNode(true), table.firstChild);\n }\n if (colgroup) {\n table.insertBefore(colgroup.cloneNode(true), table.firstChild);\n }\n }\n if (options.repeatHeaders && gridHead) {\n grid = closest(el, \".k-grid.k-widget\");\n grid.insertBefore(gridHead.cloneNode(true), grid.firstChild);\n }\n }\n\n function makePage() {\n var page = doc.createElement(\"KENDO-PDF-PAGE\");\n setCSS(page, {\n display : \"block\",\n boxSizing: \"content-box\",\n width : pageWidth ? (pageWidth + \"px\") : \"auto\",\n padding : (margin.top + \"px \" +\n margin.right + \"px \" +\n margin.bottom + \"px \" +\n margin.left + \"px\"),\n\n // allow absolutely positioned elements to be relative to current page\n position : \"relative\",\n\n // without the following we might affect layout of subsequent pages\n height : pageHeight ? (pageHeight + \"px\") : \"auto\",\n overflow : pageHeight || pageWidth ? \"hidden\" : \"visible\",\n clear : \"both\"\n });\n\n // debug\n // $(\"
\").css({\n // position : \"absolute\",\n // left : margin.left,\n // top : margin.top,\n // width : pageWidth,\n // height : pageHeight,\n // boxSizing : \"border-box\",\n // background: \"rgba(255, 255, 0, 0.5)\"\n // //border : \"1px solid red\"\n // }).appendTo(page);\n\n if (options && options.pageClassName) {\n page.className = options.pageClassName;\n }\n pages.push(page);\n return page;\n }\n\n function fallsOnMargin(thing) {\n var box = thing.getBoundingClientRect();\n if (box.width === 0 || box.height === 0) {\n // I'd say an element with dimensions zero fits on current page.\n return 0;\n }\n var top = copy.getBoundingClientRect().top;\n var available = pageHeight - adjust;\n return (box.height > available) ? 3\n : (box.top - top > available) ? 1\n : (box.bottom - top > available) ? 2\n : 0;\n }\n\n function splitText(node, isFirst) {\n if (!/\\S/.test(node.data)) {\n return;\n }\n\n var len = node.data.length;\n var range = doc.createRange();\n range.selectNodeContents(node);\n var fall = fallsOnMargin(range);\n if (!fall) {\n return; // the whole text fits on current page\n }\n\n var nextnode = node;\n if (fall == 1) {\n // starts on next page, break before anyway.\n if (isFirst) {\n // avoid leaving an empty

,

  • , etc. on previous page.\n breakAtElement(node.parentNode);\n } else {\n breakAtElement(node);\n }\n }\n else {\n (function findEOP(min, pos, max) {\n range.setEnd(node, pos);\n if (min == pos || pos == max) {\n return pos;\n }\n if (fallsOnMargin(range)) {\n return findEOP(min, (min + pos) >> 1, pos);\n } else {\n return findEOP(pos, (pos + max) >> 1, max);\n }\n })(0, len >> 1, len);\n\n if (!/\\S/.test(range.toString()) && isFirst) {\n // avoid leaving an empty

    ,

  • , etc. on previous page.\n breakAtElement(node.parentNode);\n } else {\n // This is only needed for IE, but it feels cleaner to do it anyway. Without\n // it, IE will truncate a very long text (playground/pdf-long-text-2.html).\n nextnode = node.splitText(range.endOffset);\n\n var page = makePage();\n range.setStartBefore(copy);\n page.appendChild(range.extractContents());\n copy.parentNode.insertBefore(page, copy);\n preventBulletOnListItem(nextnode.parentNode);\n }\n }\n\n splitText(nextnode);\n }\n\n function preventBulletOnListItem(el) {\n // set a hint on continued LI elements, to tell the\n // renderer not to draw the bullet again.\n // https://github.com/telerik/kendo-ui-core/issues/2732\n var li = closest(el, \"li\");\n if (li) {\n li.setAttribute(\"kendo-no-bullet\", \"1\");\n preventBulletOnListItem(li.parentNode);\n }\n }\n }\n\n return promise;\n}\n\n// This is needed for the Spreadsheet print functionality. Since\n// there we only need to draw text, this cuts through the ceremony\n// of drawDOM/renderElement and renders the text node directly.\nfunction drawText(element) {\n var group = new Group();\n nodeInfo._clipbox = false;\n nodeInfo._matrix = geo.Matrix.unit();\n nodeInfo._stackingContext = {\n element: element,\n group: group\n };\n pushNodeInfo(element, getComputedStyle(element), group);\n if (element.firstChild.nodeType == 3 /* Text */) {\n // avoid the penalty of renderElement\n renderText(element, element.firstChild, group);\n } else {\n _renderElement(element, group);\n }\n popNodeInfo();\n return group;\n}\n\nvar parseBackgroundImage = (function(){\n var tok_linear_gradient = /^((-webkit-|-moz-|-o-|-ms-)?linear-gradient\\s*)\\(/;\n //var tok_radial_gradient = /^((-webkit-|-moz-|-o-|-ms-)?radial-gradient\\s*)\\(/;\n var tok_percent = /^([-0-9.]+%)/;\n var tok_length = /^([-0-9.]+px)/;\n var tok_keyword = /^(left|right|top|bottom|to|center)\\W/;\n var tok_angle = /^([-0-9.]+(deg|grad|rad|turn)|0)/;\n var tok_whitespace = /^(\\s+)/;\n var tok_popen = /^(\\()/;\n var tok_pclose = /^(\\))/;\n var tok_comma = /^(,)/;\n var tok_url = /^(url)\\(/;\n var tok_content = /^(.*?)\\)/;\n\n var cache1 = {}, cache2 = {};\n\n function parse(input) {\n var orig = input;\n if (hasOwnProperty(cache1, orig)) {\n return cache1[orig];\n }\n function skip_ws() {\n var m = tok_whitespace.exec(input);\n if (m) {\n input = input.substr(m[1].length);\n }\n }\n function read(token) {\n skip_ws();\n var m = token.exec(input);\n if (m) {\n input = input.substr(m[1].length);\n return m[1];\n }\n }\n\n function read_stop() {\n var color = utils_parseColor(input, true);\n var length, percent;\n if (color) {\n var match =\n /^#[0-9a-f]+/i.exec(input) ||\n /^rgba?\\(.*?\\)/i.exec(input) ||\n /^..*?\\b/.exec(input); // maybe named color\n input = input.substr(match[0].length);\n color = color.toRGB();\n if (!(length = read(tok_length))) {\n percent = read(tok_percent);\n }\n return { color: color, length: length, percent: percent };\n }\n }\n\n function read_linear_gradient(propName) {\n var angle;\n var to1, to2;\n var stops = [];\n var reverse = false;\n\n if (read(tok_popen)) {\n // 1. [ || to , ]?\n angle = read(tok_angle);\n if (angle == \"0\") {\n angle = \"0deg\"; // Edge\n }\n if (angle) {\n angle = parseAngle(angle);\n read(tok_comma);\n }\n else {\n to1 = read(tok_keyword);\n if (to1 == \"to\") {\n to1 = read(tok_keyword);\n } else if (to1 && /^-/.test(propName)) {\n reverse = true;\n }\n to2 = read(tok_keyword);\n read(tok_comma);\n }\n\n if (/-moz-/.test(propName) && angle == null && to1 == null) {\n var x = read(tok_percent), y = read(tok_percent);\n reverse = true;\n if (x == \"0%\") {\n to1 = \"left\";\n } else if (x == \"100%\") {\n to1 = \"right\";\n }\n if (y == \"0%\") {\n to2 = \"top\";\n } else if (y == \"100%\") {\n to2 = \"bottom\";\n }\n read(tok_comma);\n }\n\n // 2. color stops\n while (input && !read(tok_pclose)) {\n var stop = read_stop();\n if (!stop) {\n break;\n }\n stops.push(stop);\n read(tok_comma);\n }\n\n return {\n type : \"linear\",\n angle : angle,\n to : to1 && to2 ? to1 + \" \" + to2 : to1 ? to1 : to2 ? to2 : null,\n stops : stops,\n reverse : reverse\n };\n }\n }\n\n function read_url() {\n if (read(tok_popen)) {\n var url = read(tok_content);\n url = url.replace(/^['\"]+|[\"']+$/g, \"\");\n read(tok_pclose);\n return { type: \"url\", url: url };\n }\n }\n\n var tok;\n\n if ((tok = read(tok_linear_gradient))) {\n tok = read_linear_gradient(tok);\n }\n else if ((tok = read(tok_url))) {\n tok = read_url();\n }\n\n return (cache1[orig] = tok || { type: \"none\" });\n }\n\n return function(input) {\n if (hasOwnProperty(cache2, input)) {\n return cache2[input];\n }\n return (cache2[input] = splitProperty(input).map(parse));\n };\n})();\n\nvar splitProperty = (function(){\n var cache = {};\n return function(input, separator) {\n if (!separator) {\n separator = /^\\s*,\\s*/;\n }\n\n var cacheKey = input + separator;\n\n if (hasOwnProperty(cache, cacheKey)) {\n return cache[cacheKey];\n }\n\n var ret = [];\n var last = 0, pos = 0;\n var in_paren = 0;\n var in_string = false;\n var m;\n\n function looking_at(rx) {\n return (m = rx.exec(input.substr(pos)));\n }\n\n function trim(str) {\n return str.replace(/^\\s+|\\s+$/g, \"\");\n }\n\n while (pos < input.length) {\n if (!in_string && looking_at(/^[\\(\\[\\{]/)) {\n in_paren++;\n pos++;\n }\n else if (!in_string && looking_at(/^[\\)\\]\\}]/)) {\n in_paren--;\n pos++;\n }\n else if (!in_string && looking_at(/^[\\\"\\']/)) {\n in_string = m[0];\n pos++;\n }\n else if (in_string == \"'\" && looking_at(/^\\\\\\'/)) {\n pos += 2;\n }\n else if (in_string == '\"' && looking_at(/^\\\\\\\"/)) {\n pos += 2;\n }\n else if (in_string == \"'\" && looking_at(/^\\'/)) {\n in_string = false;\n pos++;\n }\n else if (in_string == '\"' && looking_at(/^\\\"/)) {\n in_string = false;\n pos++;\n }\n else if (looking_at(separator)) {\n if (!in_string && !in_paren && pos > last) {\n ret.push(trim(input.substring(last, pos)));\n last = pos + m[0].length;\n }\n pos += m[0].length;\n }\n else {\n pos++;\n }\n }\n if (last < pos) {\n ret.push(trim(input.substring(last, pos)));\n }\n return (cache[cacheKey] = ret);\n };\n})();\n\nvar getFontURL = (function(cache){\n return function(el){\n // XXX: for IE we get here the whole cssText of the rule,\n // because the computedStyle.src is empty. Next time we need\n // to fix these regexps we better write a CSS parser. :-\\\n var url = cache[el];\n if (!url) {\n var m;\n if ((m = /url\\((['\"]?)([^'\")]*?)\\1\\)\\s+format\\((['\"]?)truetype\\3\\)/.exec(el))) {\n url = cache[el] = m[2];\n } else if ((m = /url\\((['\"]?)([^'\")]*?\\.ttf)\\1\\)/.exec(el))) {\n url = cache[el] = m[2];\n }\n }\n return url;\n };\n})(Object.create(null));\n\nvar getFontHeight = (function(cache){\n return function(font) {\n var height = cache[font];\n if (height == null) {\n height = cache[font] = measureText(\"Mapq\", { font: font }).height;\n }\n return height;\n };\n})(Object.create(null));\n\nfunction getFontFaces(doc) {\n if (doc == null) {\n doc = document;\n }\n var result = {};\n for (var i = 0; i < doc.styleSheets.length; ++i) {\n doStylesheet(doc.styleSheets[i]);\n }\n return result;\n function doStylesheet(ss) {\n if (ss) {\n var rules = null;\n try {\n rules = ss.cssRules;\n } catch (ex) {}\n if (rules) {\n addRules(ss, rules);\n }\n }\n }\n function findFonts(rule) {\n var src = getPropertyValue(rule.style, \"src\");\n if (src) {\n return splitProperty(src).reduce(function(a, el){\n var font = getFontURL(el);\n if (font) {\n a.push(font);\n }\n return a;\n }, []);\n } else {\n // Internet Explorer\n // XXX: this is gross. should work though for valid CSS.\n var font = getFontURL(rule.cssText);\n return font ? [ font ] : [];\n }\n }\n function addRules(styleSheet, rules) {\n for (var i = 0; i < rules.length; ++i) {\n var r = rules[i];\n switch (r.type) {\n case 3: // CSSImportRule\n doStylesheet(r.styleSheet);\n break;\n case 5: // CSSFontFaceRule\n var style = r.style;\n var family = splitProperty(getPropertyValue(style, \"font-family\"));\n var bold = /^([56789]00|bold)$/i.test(getPropertyValue(style, \"font-weight\"));\n var italic = \"italic\" == getPropertyValue(style, \"font-style\");\n var src = findFonts(r);\n if (src.length > 0) {\n addRule(styleSheet, family, bold, italic, src[0]);\n }\n }\n }\n }\n function addRule(styleSheet, names, bold, italic, url) {\n // We get full resolved absolute URLs in Chrome, but sadly\n // not in Firefox.\n if (!(/^data:/i.test(url))) {\n if (!(/^[^\\/:]+:\\/\\//.test(url) || /^\\//.test(url))) {\n url = String(styleSheet.href).replace(/[^\\/]*$/, \"\") + url;\n }\n }\n names.forEach(function(name){\n name = name.replace(/^(['\"]?)(.*?)\\1$/, \"$2\"); // it's quoted\n if (bold) {\n name += \"|bold\";\n }\n if (italic) {\n name += \"|italic\";\n }\n result[name] = url;\n });\n }\n}\n\nfunction hasOwnProperty(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nfunction getCounter(name) {\n name = \"_counter_\" + name;\n return nodeInfo[name];\n}\n\nfunction getAllCounters(name) {\n var values = [], p = nodeInfo;\n name = \"_counter_\" + name;\n while (p) {\n if (hasOwnProperty(p, name)) {\n values.push(p[name]);\n }\n p = Object.getPrototypeOf(p);\n }\n return values.reverse();\n}\n\nfunction incCounter(name, inc) {\n var p = nodeInfo;\n name = \"_counter_\" + name;\n while (p && !hasOwnProperty(p, name)) {\n p = Object.getPrototypeOf(p);\n }\n if (!p) {\n p = nodeInfo._root;\n }\n p[name] = (p[name] || 0) + (inc == null ? 1 : inc);\n}\n\nfunction resetCounter(name, val) {\n name = \"_counter_\" + name;\n nodeInfo[name] = val == null ? 0 : val;\n}\n\nfunction doCounters(a, f, def) {\n for (var i = 0; i < a.length;) {\n var name = a[i++];\n var val = parseFloat(a[i]);\n if (isNaN(val)) {\n f(name, def);\n } else {\n f(name, val);\n ++i;\n }\n }\n}\n\nfunction updateCounters(style) {\n var counterReset = getPropertyValue(style, \"counter-reset\");\n if (counterReset) {\n doCounters(splitProperty(counterReset, /^\\s+/), resetCounter, 0);\n }\n var counterIncrement = getPropertyValue(style, \"counter-increment\");\n if (counterIncrement) {\n doCounters(splitProperty(counterIncrement, /^\\s+/), incCounter, 1);\n }\n}\n\nfunction parseColor(str, css) {\n var color = utils_parseColor(str, true);\n if (color) {\n color = color.toRGB();\n if (css) {\n color = color.toCssRgba();\n } else if (color.a === 0) {\n color = null;\n }\n }\n return color;\n}\n\nfunction whenImagesAreActuallyLoaded(elements, callback) {\n var pending = 0;\n var done = false;\n elements.forEach(function(el){\n var images = el.querySelectorAll(\"img\");\n for (var i = 0; i < images.length; ++i) {\n var img = images[i];\n if (!img.complete) {\n pending++;\n img.onload = img.onerror = next;\n }\n }\n });\n next();\n\n function next() {\n if (!done && --pending <= 0) {\n callback();\n done = true;\n }\n }\n}\n\nfunction cacheImages(elements, callback) {\n var urls = [];\n function add(url) {\n if (!IMAGE_CACHE[url]) {\n IMAGE_CACHE[url] = true;\n urls.push(url);\n }\n }\n\n elements.forEach(function dive(element){\n if (/^img$/i.test(element.tagName)) {\n add(element.src);\n }\n parseBackgroundImage(\n getPropertyValue(\n getComputedStyle(element), \"background-image\"\n )\n ).forEach(function(bg){\n if (bg.type == \"url\") {\n add(bg.url);\n }\n });\n\n if (element.children) {\n slice(element.children).forEach(dive);\n }\n });\n\n var count = urls.length;\n function next() {\n if (--count <= 0) {\n // Even though we cached them, they simply won't be available immediately in the newly\n // created DOM. Previously we'd allow a 10ms timeout, but that's arbitrary and clearly\n // not working in all cases (https://github.com/telerik/kendo/issues/5399), so this\n // function will wait for their .complete attribute.\n whenImagesAreActuallyLoaded(elements, callback);\n }\n }\n if (count === 0) {\n next();\n }\n urls.forEach(function(url){\n var img = IMAGE_CACHE[url] = new window.Image();\n if (!(/^data:/i.test(url))) {\n img.crossOrigin = \"Anonymous\";\n }\n img.src = url;\n if (img.complete) {\n next();\n } else {\n img.onload = next;\n img.onerror = function() {\n IMAGE_CACHE[url] = null;\n next();\n };\n }\n });\n}\n\nfunction alphaNumeral(n) {\n var result = \"\";\n do {\n var r = n % 26;\n result = String.fromCharCode(97 + r) + result;\n n = Math.floor(n / 26);\n } while (n > 0);\n return result;\n}\n\nfunction pushNodeInfo(element, style, group) {\n nodeInfo = Object.create(nodeInfo);\n nodeInfo[element.tagName.toLowerCase()] = {\n element: element,\n style: style\n };\n var decoration = getPropertyValue(style, \"text-decoration\");\n if (decoration && decoration != \"none\") {\n var color = getPropertyValue(style, \"text-decoration-color\");\n decoration.split(/\\s+/g).forEach(function(name){\n if (!nodeInfo[name]) {\n nodeInfo[name] = color;\n if (name == \"underline\") {\n var offset = getPropertyValue(style, \"text-underline-offset\");\n if (offset != \"auto\") {\n nodeInfo[\"underline-offset\"] = parseFloat(offset);\n }\n }\n }\n });\n }\n\n if (createsStackingContext(style)) {\n nodeInfo._stackingContext = {\n element: element,\n group: group\n };\n }\n}\n\nfunction popNodeInfo() {\n nodeInfo = Object.getPrototypeOf(nodeInfo);\n}\n\nfunction updateClipbox(path) {\n if (nodeInfo._clipbox != null) {\n var box = path.bbox(nodeInfo._matrix);\n if (nodeInfo._clipbox) {\n nodeInfo._clipbox = geo.Rect.intersect(nodeInfo._clipbox, box);\n } else {\n nodeInfo._clipbox = box;\n }\n }\n}\n\nfunction emptyClipbox() {\n var cb = nodeInfo._clipbox;\n if (cb == null) {\n return true;\n }\n if (cb) {\n return cb.width() === 0 || cb.height() === 0;\n }\n}\n\nfunction createsStackingContext(style) {\n function prop(name) { return getPropertyValue(style, name); }\n if (prop(\"transform\") != \"none\" ||\n prop(\"position\") != \"static\" ||\n prop(\"z-index\") != \"auto\" ||\n prop(\"opacity\") < 1) {\n return true;\n }\n}\n\nfunction getComputedStyle(element, pseudoElt) {\n return window.getComputedStyle(element, pseudoElt || null);\n}\n\nfunction getPropertyValue(style, prop, defa) {\n var val = style.getPropertyValue(prop);\n if (val == null || val === \"\") {\n if (browser.webkit) {\n val = style.getPropertyValue(\"-webkit-\" + prop );\n } else if (browser.mozilla) {\n val = style.getPropertyValue(\"-moz-\" + prop );\n } else if (browser.opera) {\n val = style.getPropertyValue(\"-o-\" + prop);\n } else if (microsoft) {\n val = style.getPropertyValue(\"-ms-\" + prop);\n }\n }\n if (arguments.length > 2 && (val == null || val === \"\")) {\n return defa;\n } else {\n return val;\n }\n}\n\nfunction pleaseSetPropertyValue(style, prop, value, important) {\n style.setProperty(prop, value, important);\n if (browser.webkit) {\n style.setProperty(\"-webkit-\" + prop, value, important);\n } else if (browser.mozilla) {\n style.setProperty(\"-moz-\" + prop, value, important);\n } else if (browser.opera) {\n style.setProperty(\"-o-\" + prop, value, important);\n } else if (microsoft) {\n style.setProperty(\"-ms-\" + prop, value, important);\n prop = \"ms\" + prop.replace(/(^|-)([a-z])/g, function(s, p1, p2){\n return p1 + p2.toUpperCase();\n });\n style[prop] = value;\n }\n}\n\nfunction getBorder(style, side) {\n side = \"border-\" + side;\n return {\n width: parseFloat(getPropertyValue(style, side + \"-width\")),\n style: getPropertyValue(style, side + \"-style\"),\n color: parseColor(getPropertyValue(style, side + \"-color\"), true)\n };\n}\n\nfunction saveStyle(element, func) {\n var prev = element.style.cssText;\n var result = func();\n element.style.cssText = prev;\n return result;\n}\n\nfunction getBorderRadius(style, side) {\n var r = getPropertyValue(style, \"border-\" + side + \"-radius\").split(/\\s+/g).map(parseFloat);\n if (r.length == 1) {\n r.push(r[0]);\n }\n return sanitizeRadius({ x: r[0], y: r[1] });\n}\n\nfunction getContentBox(element) {\n var box = element.getBoundingClientRect();\n box = innerBox(box, \"border-*-width\", element);\n box = innerBox(box, \"padding-*\", element);\n return box;\n}\n\nfunction innerBox(box, prop, element) {\n var style, wt, wr, wb, wl;\n if (typeof prop == \"string\") {\n style = getComputedStyle(element);\n wt = parseFloat(getPropertyValue(style, prop.replace(\"*\", \"top\")));\n wr = parseFloat(getPropertyValue(style, prop.replace(\"*\", \"right\")));\n wb = parseFloat(getPropertyValue(style, prop.replace(\"*\", \"bottom\")));\n wl = parseFloat(getPropertyValue(style, prop.replace(\"*\", \"left\")));\n }\n else if (typeof prop == \"number\") {\n wt = wr = wb = wl = prop;\n }\n return {\n top : box.top + wt,\n right : box.right - wr,\n bottom : box.bottom - wb,\n left : box.left + wl,\n width : box.right - box.left - wr - wl,\n height : box.bottom - box.top - wb - wt\n };\n}\n\nfunction getTransform(style) {\n var transform = getPropertyValue(style, \"transform\");\n if (transform == \"none\") {\n return null;\n }\n var matrix = /^\\s*matrix\\(\\s*(.*?)\\s*\\)\\s*$/.exec(transform);\n if (matrix) {\n var origin = getPropertyValue(style, \"transform-origin\");\n matrix = matrix[1].split(/\\s*,\\s*/g).map(parseFloat);\n origin = origin.split(/\\s+/g).map(parseFloat);\n return {\n matrix: matrix,\n origin: origin\n };\n }\n}\n\nfunction radiansToDegrees(radians) {\n return ((180 * radians) / Math.PI) % 360;\n}\n\nfunction parseAngle(angle) {\n var num = parseFloat(angle);\n if (/grad$/.test(angle)) {\n return Math.PI * num / 200;\n }\n else if (/rad$/.test(angle)) {\n return num;\n }\n else if (/turn$/.test(angle)) {\n return Math.PI * num * 2;\n }\n else if (/deg$/.test(angle)) {\n return Math.PI * num / 180;\n }\n}\n\nfunction setTransform(shape, m) {\n m = new geo.Matrix(m[0], m[1], m[2], m[3], m[4], m[5]);\n shape.transform(m);\n return m;\n}\n\nfunction setClipping(shape, clipPath) {\n shape.clip(clipPath);\n}\n\nfunction addArcToPath(path, x, y, options) {\n var points = new geo.Arc([ x, y ], options).curvePoints(), i = 1;\n while (i < points.length) {\n path.curveTo(points[i++], points[i++], points[i++]);\n }\n}\n\nfunction sanitizeRadius(r) {\n if (r.x <= 0 || r.y <= 0) {\n r.x = r.y = 0;\n }\n return r;\n}\n\nfunction adjustBorderRadiusForBox(box, rTL, rTR, rBR, rBL) {\n // adjust border radiuses such that the sum of adjacent\n // radiuses is not bigger than the length of the side.\n // seems the correct algorithm is variant (3) from here:\n // http://www.w3.org/Style/CSS/Tracker/issues/29?changelog\n var tl_x = Math.max(0, rTL.x), tl_y = Math.max(0, rTL.y);\n var tr_x = Math.max(0, rTR.x), tr_y = Math.max(0, rTR.y);\n var br_x = Math.max(0, rBR.x), br_y = Math.max(0, rBR.y);\n var bl_x = Math.max(0, rBL.x), bl_y = Math.max(0, rBL.y);\n\n var f = Math.min(\n box.width / (tl_x + tr_x),\n box.height / (tr_y + br_y),\n box.width / (br_x + bl_x),\n box.height / (bl_y + tl_y)\n );\n\n if (f < 1) {\n tl_x *= f; tl_y *= f;\n tr_x *= f; tr_y *= f;\n br_x *= f; br_y *= f;\n bl_x *= f; bl_y *= f;\n }\n\n return {\n tl: { x: tl_x, y: tl_y },\n tr: { x: tr_x, y: tr_y },\n br: { x: br_x, y: br_y },\n bl: { x: bl_x, y: bl_y }\n };\n}\n\nfunction elementRoundBox(element, box, type) {\n var style = getComputedStyle(element);\n\n var rTL = getBorderRadius(style, \"top-left\");\n var rTR = getBorderRadius(style, \"top-right\");\n var rBL = getBorderRadius(style, \"bottom-left\");\n var rBR = getBorderRadius(style, \"bottom-right\");\n\n if (type == \"padding\" || type == \"content\") {\n var bt = getBorder(style, \"top\");\n var br = getBorder(style, \"right\");\n var bb = getBorder(style, \"bottom\");\n var bl = getBorder(style, \"left\");\n rTL.x -= bl.width; rTL.y -= bt.width;\n rTR.x -= br.width; rTR.y -= bt.width;\n rBR.x -= br.width; rBR.y -= bb.width;\n rBL.x -= bl.width; rBL.y -= bb.width;\n if (type == \"content\") {\n var pt = parseFloat(getPropertyValue(style, \"padding-top\"));\n var pr = parseFloat(getPropertyValue(style, \"padding-right\"));\n var pb = parseFloat(getPropertyValue(style, \"padding-bottom\"));\n var pl = parseFloat(getPropertyValue(style, \"padding-left\"));\n rTL.x -= pl; rTL.y -= pt;\n rTR.x -= pr; rTR.y -= pt;\n rBR.x -= pr; rBR.y -= pb;\n rBL.x -= pl; rBL.y -= pb;\n }\n }\n\n if (typeof type == \"number\") {\n rTL.x -= type; rTL.y -= type;\n rTR.x -= type; rTR.y -= type;\n rBR.x -= type; rBR.y -= type;\n rBL.x -= type; rBL.y -= type;\n }\n\n return roundBox(box, rTL, rTR, rBR, rBL);\n}\n\n// Create a drawing.Path for a rounded rectangle. Receives the\n// bounding box and the border-radiuses in CSS order (top-left,\n// top-right, bottom-right, bottom-left). The radiuses must be\n// objects containing x (horiz. radius) and y (vertical radius).\nfunction roundBox(box, rTL0, rTR0, rBR0, rBL0) {\n var tmp = adjustBorderRadiusForBox(box, rTL0, rTR0, rBR0, rBL0);\n var rTL = tmp.tl;\n var rTR = tmp.tr;\n var rBR = tmp.br;\n var rBL = tmp.bl;\n var path = new Path({ fill: null, stroke: null });\n path.moveTo(box.left, box.top + rTL.y);\n if (rTL.x) {\n addArcToPath(path, box.left + rTL.x, box.top + rTL.y, {\n startAngle: -180,\n endAngle: -90,\n radiusX: rTL.x,\n radiusY: rTL.y\n });\n }\n path.lineTo(box.right - rTR.x, box.top);\n if (rTR.x) {\n addArcToPath(path, box.right - rTR.x, box.top + rTR.y, {\n startAngle: -90,\n endAngle: 0,\n radiusX: rTR.x,\n radiusY: rTR.y\n });\n }\n path.lineTo(box.right, box.bottom - rBR.y);\n if (rBR.x) {\n addArcToPath(path, box.right - rBR.x, box.bottom - rBR.y, {\n startAngle: 0,\n endAngle: 90,\n radiusX: rBR.x,\n radiusY: rBR.y\n });\n }\n path.lineTo(box.left + rBL.x, box.bottom);\n if (rBL.x) {\n addArcToPath(path, box.left + rBL.x, box.bottom - rBL.y, {\n startAngle: 90,\n endAngle: 180,\n radiusX: rBL.x,\n radiusY: rBL.y\n });\n }\n return path.close();\n}\n\nfunction formatCounter(val, style) {\n var str = String(parseFloat(val));\n switch (style) {\n case \"decimal-leading-zero\":\n if (str.length < 2) {\n str = \"0\" + str;\n }\n return str;\n case \"lower-roman\":\n return arabicToRoman(val).toLowerCase();\n case \"upper-roman\":\n return arabicToRoman(val).toUpperCase();\n case \"lower-latin\":\n case \"lower-alpha\":\n return alphaNumeral(val - 1);\n case \"upper-latin\":\n case \"upper-alpha\":\n return alphaNumeral(val - 1).toUpperCase();\n default:\n return str;\n }\n}\n\nfunction evalPseudoElementContent(element, content) {\n function displayCounter(name, style, separator) {\n if (!separator) {\n return formatCounter(getCounter(name) || 0, style);\n }\n separator = separator.replace(/^\\s*([\"'])(.*)\\1\\s*$/, \"$2\");\n return getAllCounters(name).map(function(val){\n return formatCounter(val, style);\n }).join(separator);\n }\n var a = splitProperty(content, /^\\s+/);\n var result = [], m;\n a.forEach(function(el){\n var tmp;\n if ((m = /^\\s*([\"'])(.*)\\1\\s*$/.exec(el))) {\n result.push(m[2].replace(/\\\\([0-9a-f]{4})/gi, function(s, p){\n return String.fromCharCode(parseInt(p, 16));\n }));\n }\n else if ((m = /^\\s*counter\\((.*?)\\)\\s*$/.exec(el))) {\n tmp = splitProperty(m[1]);\n result.push(displayCounter(tmp[0], tmp[1]));\n }\n else if ((m = /^\\s*counters\\((.*?)\\)\\s*$/.exec(el))) {\n tmp = splitProperty(m[1]);\n result.push(displayCounter(tmp[0], tmp[2], tmp[1]));\n }\n else if ((m = /^\\s*attr\\((.*?)\\)\\s*$/.exec(el))) {\n result.push(element.getAttribute(m[1]) || \"\");\n }\n else {\n result.push(el);\n }\n });\n return result.join(\"\");\n}\n\nfunction getCssText(style) {\n if (style.cssText) {\n return style.cssText;\n }\n // Status: NEW. Report year: 2002. Current year: 2014.\n // Nice played, Mozillians.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=137687\n var result = [];\n for (var i = 0; i < style.length; ++i) {\n result.push(style[i] + \": \" + getPropertyValue(style, style[i]));\n }\n return result.join(\";\\n\");\n}\n\nfunction _renderWithPseudoElements(element, group) {\n if (element.tagName == KENDO_PSEUDO_ELEMENT) {\n _renderElement(element, group);\n return;\n }\n var fake = [];\n function pseudo(kind, place) {\n var style = getComputedStyle(element, kind), content = style.content;\n updateCounters(style);\n if (content && content != \"normal\" && content != \"none\" && style.width != \"0px\") {\n var psel = element.ownerDocument.createElement(KENDO_PSEUDO_ELEMENT);\n psel.style.cssText = getCssText(style);\n psel.textContent = evalPseudoElementContent(element, content);\n element.insertBefore(psel, place);\n fake.push(psel);\n }\n }\n pseudo(\":before\", element.firstChild);\n pseudo(\":after\", null);\n if (fake.length > 0) {\n var saveClass = element.className;\n element.className += \" kendo-pdf-hide-pseudo-elements\";\n _renderElement(element, group);\n element.className = saveClass;\n fake.forEach(function(el){ element.removeChild(el); });\n } else {\n _renderElement(element, group);\n }\n}\n\nfunction _renderElement(element, group) {\n var style = getComputedStyle(element);\n\n var top = getBorder(style, \"top\");\n var right = getBorder(style, \"right\");\n var bottom = getBorder(style, \"bottom\");\n var left = getBorder(style, \"left\");\n\n var rTL0 = getBorderRadius(style, \"top-left\");\n var rTR0 = getBorderRadius(style, \"top-right\");\n var rBL0 = getBorderRadius(style, \"bottom-left\");\n var rBR0 = getBorderRadius(style, \"bottom-right\");\n\n var dir = getPropertyValue(style, \"direction\");\n\n var backgroundColor = getPropertyValue(style, \"background-color\");\n backgroundColor = parseColor(backgroundColor);\n\n var backgroundImage = parseBackgroundImage( getPropertyValue(style, \"background-image\") );\n var backgroundRepeat = splitProperty( getPropertyValue(style, \"background-repeat\") );\n var backgroundPosition = splitProperty( getPropertyValue(style, \"background-position\") );\n var backgroundOrigin = splitProperty( getPropertyValue(style, \"background-origin\") );\n var backgroundSize = splitProperty( getPropertyValue(style, \"background-size\") );\n\n // IE shrinks the text with text-overflow: ellipsis,\n // apparently because the returned bounding box for the range\n // is limited to the visible area minus space for the dots,\n // instead of being the full width of the text.\n //\n // https://github.com/telerik/kendo/issues/5232\n // https://github.com/telerik/kendo-ui-core/issues/1868\n //\n // We have to test it here rather than in renderText because\n // text-overflow: ellipsis could be set on a parent element (not\n // necessarily the one containing the text); in this case,\n // getComputedStyle(elementWithTheText) will return \"clip\", not\n // \"ellipsis\" (which is probably a bug, but oh well...)\n var textOverflow, saveTextOverflow;\n if (microsoft) {\n textOverflow = style.textOverflow; // computed style\n if (textOverflow == \"ellipsis\") {\n saveTextOverflow = element.style.textOverflow; // own style.\n element.style.textOverflow = \"clip\";\n }\n }\n\n if (browser.msie && browser.version < 10) {\n // IE9 hacks. getPropertyValue won't return the correct\n // value. Sucks that we have to do it here, I'd prefer to\n // move it in getPropertyValue, but we don't have the\n // element.\n backgroundPosition = splitProperty(element.currentStyle.backgroundPosition);\n }\n\n var innerbox = innerBox(element.getBoundingClientRect(), \"border-*-width\", element);\n\n // CSS \"clip\" property - if present, replace the group with a\n // new one which is clipped. This must happen before drawing\n // the borders and background.\n (function(){\n var clip = getPropertyValue(style, \"clip\");\n var m = /^\\s*rect\\((.*)\\)\\s*$/.exec(clip);\n if (m) {\n var a = m[1].split(/[ ,]+/g);\n var top = a[0] == \"auto\" ? innerbox.top : parseFloat(a[0]) + innerbox.top;\n var right = a[1] == \"auto\" ? innerbox.right : parseFloat(a[1]) + innerbox.left;\n var bottom = a[2] == \"auto\" ? innerbox.bottom : parseFloat(a[2]) + innerbox.top;\n var left = a[3] == \"auto\" ? innerbox.left : parseFloat(a[3]) + innerbox.left;\n var tmp = new Group();\n var clipPath = new Path()\n .moveTo(left, top)\n .lineTo(right, top)\n .lineTo(right, bottom)\n .lineTo(left, bottom)\n .close();\n setClipping(tmp, clipPath);\n group.append(tmp);\n group = tmp;\n updateClipbox(clipPath);\n }\n })();\n\n var boxes, i, cells;\n var display = getPropertyValue(style, \"display\");\n\n if (display == \"table-row\") {\n // because of rowspan/colspan, we shouldn't draw background of table row elements on the\n // box given by its getBoundingClientRect, because if we do we risk overwritting a\n // previously rendered cell. https://github.com/telerik/kendo/issues/4881\n boxes = [];\n for (i = 0, cells = element.children; i < cells.length; ++i) {\n boxes.push(cells[i].getBoundingClientRect());\n }\n } else {\n boxes = element.getClientRects();\n if (boxes.length == 1) {\n // Workaround the missing borders in Chrome! getClientRects() boxes contains values\n // rounded to integer. getBoundingClientRect() appears to work fine. We still need\n // getClientRects() to support cases where there are more boxes (continued inline\n // elements that might have border/background).\n boxes = [ element.getBoundingClientRect() ];\n }\n }\n\n // This function workarounds another Chrome bug, where boxes returned for a table with\n // border-collapse: collapse will overlap the table border. Our rendering is not perfect in\n // such case anyway, but with this is better than without it.\n boxes = adjustBoxes(boxes);\n\n for (i = 0; i < boxes.length; ++i) {\n drawOneBox(boxes[i], i === 0, i == boxes.length - 1);\n }\n\n // Render links as separate groups. We can't use boxes returned by element's getClientRects\n // because if display type is \"inline\" (default for ), boxes will not include the height of\n // images inside. https://github.com/telerik/kendo-ui-core/issues/3359\n if (element.tagName == \"A\" && element.href && !/^#?$/.test(element.getAttribute(\"href\"))) {\n if (!nodeInfo._avoidLinks || !matches(element, nodeInfo._avoidLinks)) {\n var r = document.createRange();\n r.selectNodeContents(element);\n slice(r.getClientRects()).forEach(function(box){\n var g = new Group();\n g._pdfLink = {\n url : element.href,\n top : box.top,\n right : box.right,\n bottom : box.bottom,\n left : box.left\n };\n group.append(g);\n });\n }\n }\n\n if (boxes.length > 0 && display == \"list-item\" && !element.getAttribute(\"kendo-no-bullet\")) {\n drawBullet(boxes[0]);\n }\n\n // overflow: hidden/auto - if present, replace the group with\n // a new one clipped by the inner box.\n (function(){\n function clipit() {\n var clipPath = elementRoundBox(element, innerbox, \"padding\");\n var tmp = new Group();\n setClipping(tmp, clipPath);\n group.append(tmp);\n group = tmp;\n updateClipbox(clipPath);\n }\n if (isFormField(element)) {\n clipit();\n } else if (/^(hidden|auto|scroll)/.test(getPropertyValue(style, \"overflow\"))) {\n clipit();\n } else if (/^(hidden|auto|scroll)/.test(getPropertyValue(style, \"overflow-x\"))) {\n clipit();\n } else if (/^(hidden|auto|scroll)/.test(getPropertyValue(style, \"overflow-y\"))) {\n clipit();\n }\n })();\n\n if (!maybeRenderWidget(element, group)) {\n renderContents(element, group);\n }\n\n if (microsoft && textOverflow == \"ellipsis\") {\n element.style.textOverflow = saveTextOverflow;\n }\n\n return group; // only utility functions after this line.\n\n function adjustBoxes(boxes) {\n if (/^td$/i.test(element.tagName)) {\n var table = nodeInfo.table;\n if (table && getPropertyValue(table.style, \"border-collapse\") == \"collapse\") {\n var tableBorderLeft = getBorder(table.style, \"left\").width;\n var tableBorderTop = getBorder(table.style, \"top\").width;\n // check if we need to adjust\n if (tableBorderLeft === 0 && tableBorderTop === 0) {\n return boxes; // nope\n }\n var tableBox = table.element.getBoundingClientRect();\n var firstCell = table.element.rows[0].cells[0];\n var firstCellBox = firstCell.getBoundingClientRect();\n if (firstCellBox.top == tableBox.top || firstCellBox.left == tableBox.left) {\n return slice(boxes).map(function(box){\n return {\n left : box.left + tableBorderLeft,\n top : box.top + tableBorderTop,\n right : box.right + tableBorderLeft,\n bottom : box.bottom + tableBorderTop,\n height : box.height,\n width : box.width\n };\n });\n }\n }\n }\n return boxes;\n }\n\n // this function will be called to draw each border. it\n // draws starting at origin and the resulted path must be\n // translated/rotated to be placed in the proper position.\n //\n // arguments are named as if it draws the top border:\n //\n // - `len` the length of the edge\n // - `Wtop` the width of the edge (i.e. border-top-width)\n // - `Wleft` the width of the left edge (border-left-width)\n // - `Wright` the width of the right edge\n // - `rl` and `rl` -- the border radius on the left and right\n // (objects containing x and y, for horiz/vertical radius)\n // - `transform` -- transformation to apply\n //\n function drawEdge(color, len, Wtop, Wleft, Wright, rl, rr, transform) {\n if (Wtop <= 0) {\n return;\n }\n\n var path, edge = new Group();\n setTransform(edge, transform);\n group.append(edge);\n\n sanitizeRadius(rl);\n sanitizeRadius(rr);\n\n // draw main border. this is the area without the rounded corners\n path = new Path({\n fill: { color: color },\n stroke: null\n });\n edge.append(path);\n path.moveTo(rl.x ? Math.max(rl.x, Wleft) : 0, 0)\n .lineTo(len - (rr.x ? Math.max(rr.x, Wright) : 0), 0)\n .lineTo(len - Math.max(rr.x, Wright), Wtop)\n .lineTo(Math.max(rl.x, Wleft), Wtop)\n .close();\n\n if (rl.x) {\n drawRoundCorner(Wleft, rl, [ -1, 0, 0, 1, rl.x, 0 ]);\n }\n\n if (rr.x) {\n drawRoundCorner(Wright, rr, [ 1, 0, 0, 1, len - rr.x, 0 ]);\n }\n\n // draws one round corner, starting at origin (needs to be\n // translated/rotated to be placed properly).\n function drawRoundCorner(Wright, r, transform) {\n var angle = Math.PI/2 * Wright / (Wright + Wtop);\n\n // not sanitizing this one, because negative values\n // are useful to fill the box correctly.\n var ri = {\n x: r.x - Wright,\n y: r.y - Wtop\n };\n\n var path = new Path({\n fill: { color: color },\n stroke: null\n }).moveTo(0, 0);\n\n setTransform(path, transform);\n\n addArcToPath(path, 0, r.y, {\n startAngle: -90,\n endAngle: -radiansToDegrees(angle),\n radiusX: r.x,\n radiusY: r.y\n });\n\n if (ri.x > 0 && ri.y > 0) {\n path.lineTo(ri.x * Math.cos(angle), r.y - ri.y * Math.sin(angle));\n addArcToPath(path, 0, r.y, {\n startAngle: -radiansToDegrees(angle),\n endAngle: -90,\n radiusX: ri.x,\n radiusY: ri.y,\n anticlockwise: true\n });\n }\n else if (ri.x > 0) {\n path.lineTo(ri.x, Wtop)\n .lineTo(0, Wtop);\n }\n else {\n path.lineTo(ri.x, Wtop)\n .lineTo(ri.x, 0);\n }\n\n edge.append(path.close());\n }\n }\n\n function drawBackground(box) {\n var background = new Group();\n setClipping(background, roundBox(box, rTL0, rTR0, rBR0, rBL0));\n group.append(background);\n\n if (backgroundColor) {\n var path = new Path({\n fill: { color: backgroundColor.toCssRgba() },\n stroke: null\n });\n path.moveTo(box.left, box.top)\n .lineTo(box.right, box.top)\n .lineTo(box.right, box.bottom)\n .lineTo(box.left, box.bottom)\n .close();\n background.append(path);\n }\n\n for (var i = backgroundImage.length; --i >= 0;) {\n drawOneBackground(\n background, box,\n backgroundImage[i],\n backgroundRepeat[i % backgroundRepeat.length],\n backgroundPosition[i % backgroundPosition.length],\n backgroundOrigin[i % backgroundOrigin.length],\n backgroundSize[i % backgroundSize.length]\n );\n }\n }\n\n function drawOneBackground(group, box, background, backgroundRepeat, backgroundPosition, backgroundOrigin, backgroundSize) {\n if (!background || (background == \"none\")) {\n return;\n }\n\n if (background.type == \"url\") {\n var img = IMAGE_CACHE[background.url];\n if (img && img.width > 0 && img.height > 0) {\n drawBackgroundImage(group, box, img.width, img.height, function(group, rect){\n group.append(new Image(background.url, rect));\n });\n }\n } else if (background.type == \"linear\") {\n drawBackgroundImage(group, box, box.width, box.height, gradientRenderer(background));\n } else {\n return;\n }\n\n function drawBackgroundImage(group, box, img_width, img_height, renderBG) {\n var aspect_ratio = img_width / img_height, f;\n\n // for background-origin: border-box the box is already appropriate\n var orgBox = box;\n if (backgroundOrigin == \"content-box\") {\n orgBox = innerBox(orgBox, \"border-*-width\", element);\n orgBox = innerBox(orgBox, \"padding-*\", element);\n } else if (backgroundOrigin == \"padding-box\") {\n orgBox = innerBox(orgBox, \"border-*-width\", element);\n }\n\n if (!/^\\s*auto(\\s+auto)?\\s*$/.test(backgroundSize)) {\n if (backgroundSize == \"contain\") {\n f = Math.min(orgBox.width / img_width,\n orgBox.height / img_height);\n img_width *= f;\n img_height *= f;\n }\n else if (backgroundSize == \"cover\") {\n f = Math.max(orgBox.width / img_width,\n orgBox.height / img_height);\n img_width *= f;\n img_height *= f;\n }\n else {\n var size = backgroundSize.split(/\\s+/g);\n // compute width\n if (/%$/.test(size[0])) {\n img_width = orgBox.width * parseFloat(size[0]) / 100;\n } else {\n img_width = parseFloat(size[0]);\n }\n // compute height\n if (size.length == 1 || size[1] == \"auto\") {\n img_height = img_width / aspect_ratio;\n } else if (/%$/.test(size[1])) {\n img_height = orgBox.height * parseFloat(size[1]) / 100;\n } else {\n img_height = parseFloat(size[1]);\n }\n }\n }\n\n var pos = String(backgroundPosition);\n\n // IE sometimes reports single-word positions\n // https://github.com/telerik/kendo-ui-core/issues/2786\n //\n // it seems to switch to percentages when the horizontal\n // position is not \"center\", therefore we don't handle\n // multi-word cases here. All other browsers return\n // percentages or pixels instead of keywords. At least\n // for now...\n switch (pos) {\n case \"bottom\" : pos = \"50% 100%\"; break;\n case \"top\" : pos = \"50% 0\"; break;\n case \"left\" : pos = \"0 50%\"; break;\n case \"right\" : pos = \"100% 50%\"; break;\n case \"center\" : pos = \"50% 50%\"; break;\n }\n\n pos = pos.split(/\\s+/);\n if (pos.length == 1) {\n pos[1] = \"50%\";\n }\n\n if (/%$/.test(pos[0])) {\n pos[0] = parseFloat(pos[0]) / 100 * (orgBox.width - img_width);\n } else {\n pos[0] = parseFloat(pos[0]);\n }\n if (/%$/.test(pos[1])) {\n pos[1] = parseFloat(pos[1]) / 100 * (orgBox.height - img_height);\n } else {\n pos[1] = parseFloat(pos[1]);\n }\n\n var rect = new geo.Rect([ orgBox.left + pos[0], orgBox.top + pos[1] ], [ img_width, img_height ]);\n\n // XXX: background-repeat could be implemented more\n // efficiently as a fill pattern (at least for PDF\n // output, probably SVG too).\n\n function rewX() {\n while (rect.origin.x > box.left) {\n rect.origin.x -= img_width;\n }\n }\n\n function rewY() {\n while (rect.origin.y > box.top) {\n rect.origin.y -= img_height;\n }\n }\n\n function repeatX() {\n while (rect.origin.x < box.right) {\n renderBG(group, rect.clone());\n rect.origin.x += img_width;\n }\n }\n\n if (backgroundRepeat == \"no-repeat\") {\n renderBG(group, rect);\n }\n else if (backgroundRepeat == \"repeat-x\") {\n rewX();\n repeatX();\n }\n else if (backgroundRepeat == \"repeat-y\") {\n rewY();\n while (rect.origin.y < box.bottom) {\n renderBG(group, rect.clone());\n rect.origin.y += img_height;\n }\n }\n else if (backgroundRepeat == \"repeat\") {\n rewX();\n rewY();\n var origin = rect.origin.clone();\n while (rect.origin.y < box.bottom) {\n rect.origin.x = origin.x;\n repeatX();\n rect.origin.y += img_height;\n }\n }\n }\n }\n\n function drawBullet() {\n var listStyleType = getPropertyValue(style, \"list-style-type\");\n if (listStyleType == \"none\") {\n return;\n }\n var listStylePosition = getPropertyValue(style, \"list-style-position\");\n\n function _drawBullet(f) {\n saveStyle(element, function(){\n element.style.position = \"relative\";\n var bullet = element.ownerDocument.createElement(KENDO_PSEUDO_ELEMENT);\n bullet.style.position = \"absolute\";\n bullet.style.boxSizing = \"border-box\";\n if (listStylePosition == \"outside\") {\n bullet.style.width = \"6em\";\n bullet.style.left = \"-6.8em\";\n bullet.style.textAlign = \"right\";\n } else {\n bullet.style.left = \"0px\";\n }\n f(bullet);\n element.insertBefore(bullet, element.firstChild);\n renderElement(bullet, group);\n element.removeChild(bullet);\n });\n }\n\n function elementIndex(f) {\n var a = element.parentNode.children;\n var k = element.getAttribute(\"kendo-split-index\");\n if (k != null) {\n return f(k|0, a.length);\n }\n for (var i = 0; i < a.length; ++i) {\n if (a[i] === element) {\n return f(i, a.length);\n }\n }\n }\n\n switch (listStyleType) {\n case \"circle\":\n case \"disc\":\n case \"square\":\n _drawBullet(function(bullet){\n // XXX: the science behind these values is called \"trial and error\".\n bullet.style.fontSize = \"60%\";\n bullet.style.lineHeight = \"200%\";\n bullet.style.paddingRight = \"0.5em\";\n bullet.style.fontFamily = \"DejaVu Serif\";\n bullet.innerHTML = {\n \"disc\" : \"\\u25cf\",\n \"circle\" : \"\\u25ef\",\n \"square\" : \"\\u25a0\"\n }[listStyleType];\n });\n break;\n\n case \"decimal\":\n case \"decimal-leading-zero\":\n _drawBullet(function(bullet){\n elementIndex(function(idx){\n ++idx;\n if (listStyleType == \"decimal-leading-zero\" && idx < 10) {\n idx = \"0\" + idx;\n }\n bullet.innerHTML = idx + \".\";\n });\n });\n break;\n\n case \"lower-roman\":\n case \"upper-roman\":\n _drawBullet(function(bullet){\n elementIndex(function(idx){\n idx = arabicToRoman(idx + 1);\n if (listStyleType == \"upper-roman\") {\n idx = idx.toUpperCase();\n }\n bullet.innerHTML = idx + \".\";\n });\n });\n break;\n\n case \"lower-latin\":\n case \"lower-alpha\":\n case \"upper-latin\":\n case \"upper-alpha\":\n _drawBullet(function(bullet){\n elementIndex(function(idx){\n idx = alphaNumeral(idx);\n if (/^upper/i.test(listStyleType)) {\n idx = idx.toUpperCase();\n }\n bullet.innerHTML = idx + \".\";\n });\n });\n break;\n }\n }\n\n // draws a single border box\n function drawOneBox(box, isFirst, isLast) {\n if (box.width === 0 || box.height === 0) {\n return;\n }\n\n drawBackground(box);\n\n var shouldDrawLeft = (left.width > 0 && ((isFirst && dir == \"ltr\") || (isLast && dir == \"rtl\")));\n var shouldDrawRight = (right.width > 0 && ((isLast && dir == \"ltr\") || (isFirst && dir == \"rtl\")));\n\n // The most general case is that the 4 borders have different widths and border\n // radiuses. The way that is handled is by drawing 3 Paths for each border: the\n // straight line, and two round corners which represent half of the entire rounded\n // corner. To simplify code those shapes are drawed at origin (by the drawEdge\n // function), then translated/rotated into the right position.\n //\n // However, this leads to poor results due to rounding in the simpler cases where\n // borders are straight lines. Therefore we handle a few such cases separately with\n // straight lines. C^wC^wC^w -- nope, scratch that. poor rendering was because of a bug\n // in Chrome (getClientRects() returns rounded integer values rather than exact floats.\n // web dev is still a ghetto.)\n\n // first, just in case there is no border...\n if (top.width === 0 && left.width === 0 && right.width === 0 && bottom.width === 0) {\n return;\n }\n\n // START paint borders\n // if all borders have equal colors...\n if (top.color == right.color && top.color == bottom.color && top.color == left.color) {\n\n // if same widths too, we can draw the whole border by stroking a single path.\n if (top.width == right.width && top.width == bottom.width && top.width == left.width)\n {\n if (shouldDrawLeft && shouldDrawRight) {\n // reduce box by half the border width, so we can draw it by stroking.\n box = innerBox(box, top.width/2);\n\n // adjust the border radiuses, again by top.width/2, and make the path element.\n var path = elementRoundBox(element, box, top.width/2);\n path.options.stroke = {\n color: top.color,\n width: top.width\n };\n group.append(path);\n return;\n }\n }\n }\n\n // if border radiuses are zero and widths are at most one pixel, we can again use simple\n // paths.\n if (rTL0.x === 0 && rTR0.x === 0 && rBR0.x === 0 && rBL0.x === 0) {\n // alright, 1.9px will do as well. the difference in color blending should not be\n // noticeable.\n if (top.width < 2 && left.width < 2 && right.width < 2 && bottom.width < 2) {\n // top border\n if (top.width > 0) {\n group.append(\n new Path({\n stroke: { width: top.width, color: top.color }\n })\n .moveTo(box.left, box.top + top.width/2)\n .lineTo(box.right, box.top + top.width/2)\n );\n }\n\n // bottom border\n if (bottom.width > 0) {\n group.append(\n new Path({\n stroke: { width: bottom.width, color: bottom.color }\n })\n .moveTo(box.left, box.bottom - bottom.width/2)\n .lineTo(box.right, box.bottom - bottom.width/2)\n );\n }\n\n // left border\n if (shouldDrawLeft) {\n group.append(\n new Path({\n stroke: { width: left.width, color: left.color }\n })\n .moveTo(box.left + left.width/2, box.top)\n .lineTo(box.left + left.width/2, box.bottom)\n );\n }\n\n // right border\n if (shouldDrawRight) {\n group.append(\n new Path({\n stroke: { width: right.width, color: right.color }\n })\n .moveTo(box.right - right.width/2, box.top)\n .lineTo(box.right - right.width/2, box.bottom)\n );\n }\n\n return;\n }\n }\n // END paint borders\n\n var tmp = adjustBorderRadiusForBox(box, rTL0, rTR0, rBR0, rBL0);\n var rTL = tmp.tl;\n var rTR = tmp.tr;\n var rBR = tmp.br;\n var rBL = tmp.bl;\n\n // top border\n drawEdge(top.color,\n box.width, top.width, left.width, right.width,\n rTL, rTR,\n [ 1, 0, 0, 1, box.left, box.top ]);\n\n // bottom border\n drawEdge(bottom.color,\n box.width, bottom.width, right.width, left.width,\n rBR, rBL,\n [ -1, 0, 0, -1, box.right, box.bottom ]);\n\n // for left/right borders we need to invert the border-radiuses\n function inv(p) {\n return { x: p.y, y: p.x };\n }\n\n // left border\n drawEdge(left.color,\n box.height, left.width, bottom.width, top.width,\n inv(rBL), inv(rTL),\n [ 0, -1, 1, 0, box.left, box.bottom ]);\n\n // right border\n drawEdge(right.color,\n box.height, right.width, top.width, bottom.width,\n inv(rTR), inv(rBR),\n [ 0, 1, -1, 0, box.right, box.top ]);\n }\n}\n\nfunction gradientRenderer(gradient) {\n return function(group, rect) {\n var width = rect.width(), height = rect.height();\n\n switch (gradient.type) {\n case \"linear\":\n\n // figure out the angle.\n var angle = gradient.angle != null ? gradient.angle : Math.PI;\n switch (gradient.to) {\n case \"top\":\n angle = 0;\n break;\n case \"left\":\n angle = -Math.PI / 2;\n break;\n case \"bottom\":\n angle = Math.PI;\n break;\n case \"right\":\n angle = Math.PI / 2;\n break;\n case \"top left\": case \"left top\":\n angle = -Math.atan2(height, width);\n break;\n case \"top right\": case \"right top\":\n angle = Math.atan2(height, width);\n break;\n case \"bottom left\": case \"left bottom\":\n angle = Math.PI + Math.atan2(height, width);\n break;\n case \"bottom right\": case \"right bottom\":\n angle = Math.PI - Math.atan2(height, width);\n break;\n }\n\n if (gradient.reverse) {\n angle -= Math.PI;\n }\n\n // limit the angle between 0..2PI\n angle %= 2 * Math.PI;\n if (angle < 0) {\n angle += 2 * Math.PI;\n }\n\n // compute gradient's start/end points. here len is the length of the gradient line\n // and x,y is the end point relative to the center of the rectangle in conventional\n // (math) axis direction.\n\n // this is the original (unscaled) length of the gradient line. needed to deal with\n // absolutely positioned color stops. formula from the CSS spec:\n // http://dev.w3.org/csswg/css-images-3/#linear-gradient-syntax\n var pxlen = Math.abs(width * Math.sin(angle)) + Math.abs(height * Math.cos(angle));\n\n // The math below is pretty simple, but it took a while to figure out. We compute x\n // and y, the *end* of the gradient line. However, we want to transform them into\n // element-based coordinates (SVG's gradientUnits=\"objectBoundingBox\"). That means,\n // x=0 is the left edge, x=1 is the right edge, y=0 is the top edge and y=1 is the\n // bottom edge.\n //\n // A naive approach would use the original angle for these calculations. Say we'd\n // like to draw a gradient angled at 45deg in a 100x400 box. When we use\n // objectBoundingBox, the renderer will draw it in a 1x1 *square* box, and then\n // scale that to the desired dimensions. The 45deg angle will look more like 70deg\n // after scaling. SVG (http://www.w3.org/TR/SVG/pservers.html#LinearGradients) says\n // the following:\n //\n // When gradientUnits=\"objectBoundingBox\" and 'gradientTransform' is the\n // identity matrix, the normal of the linear gradient is perpendicular to the\n // gradient vector in object bounding box space (i.e., the abstract coordinate\n // system where (0,0) is at the top/left of the object bounding box and (1,1) is\n // at the bottom/right of the object bounding box). When the object's bounding\n // box is not square, the gradient normal which is initially perpendicular to\n // the gradient vector within object bounding box space may render\n // non-perpendicular relative to the gradient vector in user space. If the\n // gradient vector is parallel to one of the axes of the bounding box, the\n // gradient normal will remain perpendicular. This transformation is due to\n // application of the non-uniform scaling transformation from bounding box space\n // to user space.\n //\n // which is an extremely long and confusing way to tell what I just said above.\n //\n // For this reason we need to apply the reverse scaling to the original angle, so\n // that when it'll finally be rendered it'll actually be at the desired slope. Now\n // I'll let you figure out the math yourself.\n\n var scaledAngle = Math.atan(width * Math.tan(angle) / height);\n var sin = Math.sin(scaledAngle), cos = Math.cos(scaledAngle);\n var len = Math.abs(sin) + Math.abs(cos);\n var x = len/2 * sin;\n var y = len/2 * cos;\n\n // Because of the arctangent, our scaledAngle ends up between -PI/2..PI/2, possibly\n // losing the intended direction of the gradient. The following fixes it.\n if (angle > Math.PI/2 && angle <= 3*Math.PI/2) {\n x = -x;\n y = -y;\n }\n\n // compute the color stops.\n var implicit = [], right = 0;\n var stops = gradient.stops.map(function(s, i){\n var offset = s.percent;\n if (offset) {\n offset = parseFloat(offset) / 100;\n } else if (s.length) {\n offset = parseFloat(s.length) / pxlen;\n } else if (i === 0) {\n offset = 0;\n } else if (i == gradient.stops.length - 1) {\n offset = 1;\n }\n var stop = {\n color: s.color.toCssRgba(),\n offset: offset\n };\n if (offset != null) {\n right = offset;\n // fix implicit offsets\n implicit.forEach(function(s, i){\n var stop = s.stop;\n stop.offset = s.left + (right - s.left) * (i + 1) / (implicit.length + 1);\n });\n implicit = [];\n } else {\n implicit.push({ left: right, stop: stop });\n }\n return stop;\n });\n\n var start = [ 0.5 - x, 0.5 + y ];\n var end = [ 0.5 + x, 0.5 - y ];\n\n // finally, draw it.\n group.append(\n Path.fromRect(rect)\n .stroke(null)\n .fill(new LinearGradient({\n start : start,\n end : end,\n stops : stops,\n userSpace : false\n }))\n );\n break;\n case \"radial\":\n // XXX:\n if (window.console && window.console.log) {\n window.console.log(\"Radial gradients are not yet supported in HTML renderer\");\n }\n break;\n }\n };\n}\n\nfunction maybeRenderWidget(element, group) {\n var visual;\n\n if (element._kendoExportVisual) {\n visual = element._kendoExportVisual();\n } else if (window.kendo && window.kendo.jQuery && element.getAttribute(window.kendo.attr(\"role\"))) {\n var widget = window.kendo.widgetInstance(window.kendo.jQuery(element));\n if (widget && (widget.exportDOMVisual || widget.exportVisual)) {\n if (widget.exportDOMVisual) {\n visual = widget.exportDOMVisual();\n } else {\n visual = widget.exportVisual();\n }\n }\n }\n\n if (!visual) {\n return false;\n }\n\n var wrap = new Group();\n wrap.children.push(visual);\n\n var bbox = element.getBoundingClientRect();\n wrap.transform(geo.transform().translate(bbox.left, bbox.top));\n\n group.append(wrap);\n\n return true;\n}\n\nfunction renderImage(element, url, group) {\n var box = getContentBox(element);\n var rect = new geo.Rect([ box.left, box.top ], [ box.width, box.height ]);\n var image = new Image(url, rect);\n setClipping(image, elementRoundBox(element, box, \"content\"));\n group.append(image);\n}\n\nfunction zIndexSort(a, b) {\n var sa = getComputedStyle(a);\n var sb = getComputedStyle(b);\n var za = parseFloat(getPropertyValue(sa, \"z-index\"));\n var zb = parseFloat(getPropertyValue(sb, \"z-index\"));\n var pa = getPropertyValue(sa, \"position\");\n var pb = getPropertyValue(sb, \"position\");\n if (isNaN(za) && isNaN(zb)) {\n if ((/static|absolute/.test(pa)) && (/static|absolute/.test(pb))) {\n return 0;\n }\n if (pa == \"static\") {\n return -1;\n }\n if (pb == \"static\") {\n return 1;\n }\n return 0;\n }\n if (isNaN(za)) {\n return zb === 0 ? 0 : zb > 0 ? -1 : 1;\n }\n if (isNaN(zb)) {\n return za === 0 ? 0 : za > 0 ? 1 : -1;\n }\n return parseFloat(za) - parseFloat(zb);\n}\n\nfunction isFormField(element) {\n return /^(?:textarea|select|input)$/i.test(element.tagName);\n}\n\nfunction getSelectedOption(element) {\n if (element.selectedOptions && element.selectedOptions.length > 0) {\n return element.selectedOptions[0];\n }\n return element.options[element.selectedIndex];\n}\n\nfunction renderCheckbox(element, group) {\n var style = getComputedStyle(element);\n var color = getPropertyValue(style, \"color\");\n var box = element.getBoundingClientRect();\n if (element.type == \"checkbox\") {\n group.append(\n Path.fromRect(\n new geo.Rect([ box.left+1, box.top+1 ],\n [ box.width-2, box.height-2 ])\n ).stroke(color, 1)\n );\n if (element.checked) {\n // fill a rectangle inside? looks kinda ugly.\n // group.append(\n // Path.fromRect(\n // new geo.Rect([ box.left+4, box.top+4 ],\n // [ box.width-8, box.height-8])\n // ).fill(color).stroke(null)\n // );\n\n // let's draw a checkmark instead. artistic, eh?\n group.append(\n new Path()\n .stroke(color, 1.2)\n .moveTo(box.left + 0.22 * box.width,\n box.top + 0.55 * box.height)\n .lineTo(box.left + 0.45 * box.width,\n box.top + 0.75 * box.height)\n .lineTo(box.left + 0.78 * box.width,\n box.top + 0.22 * box.width)\n );\n }\n } else {\n group.append(\n new Circle(\n new geo.Circle([\n (box.left + box.right) / 2,\n (box.top + box.bottom) / 2\n ], Math.min(box.width-2, box.height-2) / 2)\n ).stroke(color, 1)\n );\n if (element.checked) {\n group.append(\n new Circle(\n new geo.Circle([\n (box.left + box.right) / 2,\n (box.top + box.bottom) / 2\n ], Math.min(box.width-8, box.height-8) / 2)\n ).fill(color).stroke(null)\n );\n }\n }\n}\n\nfunction renderFormField(element, group) {\n var tag = element.tagName.toLowerCase();\n if (tag == \"input\" && (element.type == \"checkbox\" || element.type == \"radio\")) {\n return renderCheckbox(element, group);\n }\n var p = element.parentNode;\n var doc = element.ownerDocument;\n var el = doc.createElement(KENDO_PSEUDO_ELEMENT);\n var option;\n el.style.cssText = getCssText(getComputedStyle(element));\n if (tag == \"input\") {\n el.style.whiteSpace = \"pre\";\n }\n if (tag == \"select\" || tag == \"textarea\") {\n el.style.overflow = \"auto\";\n }\n if (tag == \"select\") {\n if (element.multiple) {\n for (var i = 0; i < element.options.length; ++i) {\n option = doc.createElement(KENDO_PSEUDO_ELEMENT);\n option.style.cssText = getCssText(getComputedStyle(element.options[i]));\n option.style.display = \"block\"; // IE9 messes up without this\n option.textContent = element.options[i].textContent;\n el.appendChild(option);\n }\n } else {\n option = getSelectedOption(element);\n if (option) {\n el.textContent = option.textContent;\n }\n }\n } else {\n el.textContent = element.value;\n }\n p.insertBefore(el, element);\n el.scrollLeft = element.scrollLeft;\n el.scrollTop = element.scrollTop;\n\n // must temporarily hide the original element, otherwise it\n // may affect layout of the fake element we want to render.\n element.style.display = \"none\";\n\n renderContents(el, group);\n element.style.display = \"\";\n p.removeChild(el);\n}\n\nfunction serializeSVG(element) {\n var serializer = new window.XMLSerializer();\n var xml = serializer.serializeToString(element);\n\n if (browser.mozilla && !(element.getAttribute(\"width\") && element.getAttribute(\"height\"))) {\n var doc = new window.DOMParser().parseFromString(xml, \"image/svg+xml\");\n var svg = doc.documentElement;\n var box = getContentBox(element);\n svg.setAttribute(\"width\", box.width);\n svg.setAttribute(\"height\", box.height);\n xml = serializer.serializeToString(svg);\n }\n\n return xml;\n}\n\nfunction renderContents(element, group) {\n if (nodeInfo._stackingContext.element === element) {\n // the group that was set in pushNodeInfo might have\n // changed due to clipping/transforms, update it here.\n nodeInfo._stackingContext.group = group;\n }\n switch (element.tagName.toLowerCase()) {\n case \"img\":\n renderImage(element, element.src, group);\n break;\n\n case \"svg\":\n var xml = serializeSVG(element);\n var dataURL = \"data:image/svg+xml;base64,\" + (encodeBase64(xml));\n renderImage(element, dataURL, group);\n break;\n\n case \"canvas\":\n try {\n renderImage(element, element.toDataURL(\"image/png\"), group);\n } catch (ex) {\n // tainted; can't draw it, ignore.\n }\n break;\n\n case \"textarea\":\n case \"input\":\n case \"select\":\n renderFormField(element, group);\n break;\n\n default:\n var children = [], floats = [], positioned = [];\n for (var i = element.firstChild; i; i = i.nextSibling) {\n switch (i.nodeType) {\n case 3: // Text\n if (/\\S/.test(i.data)) {\n renderText(element, i, group);\n }\n break;\n case 1: // Element\n var style = getComputedStyle(i);\n var floating = getPropertyValue(style, \"float\");\n var position = getPropertyValue(style, \"position\");\n if (position != \"static\") {\n positioned.push(i);\n }\n else if (floating != \"none\") {\n floats.push(i);\n } else {\n children.push(i);\n }\n break;\n }\n }\n\n mergeSort(children, zIndexSort).forEach(function(el){ renderElement(el, group); });\n mergeSort(floats, zIndexSort).forEach(function(el){ renderElement(el, group); });\n mergeSort(positioned, zIndexSort).forEach(function(el){ renderElement(el, group); });\n }\n}\n\nfunction renderText(element, node, group) {\n if (emptyClipbox()) {\n return;\n }\n var style = getComputedStyle(element);\n\n if (parseFloat(getPropertyValue(style, \"text-indent\")) < -500) {\n // assume it should not be displayed. the slider's\n // draggable handle displays a Drag text for some reason,\n // having text-indent: -3333px.\n return;\n }\n\n var text = node.data;\n var start = 0;\n var end = text.search(/\\S\\s*$/) + 1;\n\n if (!end) {\n return; // whitespace-only node\n }\n\n var fontSize = getPropertyValue(style, \"font-size\");\n var lineHeight = getPropertyValue(style, \"line-height\");\n\n // simply getPropertyValue(\"font\") doesn't work in Firefox :-\\\n var font = [\n getPropertyValue(style, \"font-style\"),\n getPropertyValue(style, \"font-variant\"),\n getPropertyValue(style, \"font-weight\"),\n fontSize, // no need for line height here; it breaks layout in FF\n getPropertyValue(style, \"font-family\")\n ].join(\" \");\n\n fontSize = parseFloat(fontSize);\n lineHeight = parseFloat(lineHeight);\n\n if (fontSize === 0 || isNaN(fontSize)) {\n return;\n }\n\n var color = getPropertyValue(style, \"color\");\n var range = element.ownerDocument.createRange();\n var align = getPropertyValue(style, \"text-align\");\n var isJustified = align == \"justify\";\n var columnCount = getPropertyValue(style, \"column-count\", 1);\n var whiteSpace = getPropertyValue(style, \"white-space\");\n var textTransform = getPropertyValue(style, \"text-transform\");\n\n // A line of 500px, with a font of 12px, contains an average of 80 characters, but since we\n // err, we'd like to guess a bigger number rather than a smaller one. Multiplying by 5\n // seems to be a good option.\n var estimateLineLength = element.getBoundingClientRect().width / fontSize * 5;\n if (estimateLineLength === 0) {\n estimateLineLength = 500;\n }\n\n // we'll maintain this so we can workaround bugs in Chrome's Range.getClientRects\n // https://github.com/telerik/kendo/issues/5740\n var prevLineBottom = null;\n\n var underline = nodeInfo[\"underline\"];\n var lineThrough = nodeInfo[\"line-through\"];\n var overline = nodeInfo[\"overline\"];\n var underlineOffset = nodeInfo[\"underline-offset\"];\n\n if (underline) {\n forEachRect(decorateUnder);\n }\n\n // doChunk returns true when all text has been rendered\n while (!doChunk()) {}\n\n if (lineThrough || overline) {\n forEachRect(decorateOver);\n }\n\n return; // only function declarations after this line\n\n function forEachRect(callback) {\n range.selectNode(node);\n var clientRects = slice(range.getClientRects());\n\n forEachRect = function (cb) { return clientRects.forEach(cb); };\n forEachRect(callback);\n }\n\n function actuallyGetRangeBoundingRect(range) {\n // XXX: to be revised when this Chrome bug is fixed:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=612459\n if (microsoft || browser.chrome || browser.safari) {\n // Workaround browser bugs: IE and Chrome would sometimes\n // return 0 or 1-width rectangles before or after the main\n // one. https://github.com/telerik/kendo/issues/4674\n\n // Actually Chrome 50 got worse, since the rectangles can now have the width of a\n // full character, making it hard to tell whether it's a bogus rectangle or valid\n // selection location. The workaround is to ignore rectangles that fall on the\n // previous line. https://github.com/telerik/kendo/issues/5740\n var rectangles = range.getClientRects(), box = {\n top : Infinity,\n right : -Infinity,\n bottom : -Infinity,\n left : Infinity\n }, done = false;\n for (var i = 0; i < rectangles.length; ++i) {\n var b = rectangles[i];\n if (b.width <= 1 || b.bottom === prevLineBottom) {\n continue; // bogus rectangle\n }\n box.left = Math.min(b.left , box.left);\n box.top = Math.min(b.top , box.top);\n box.right = Math.max(b.right , box.right);\n box.bottom = Math.max(b.bottom , box.bottom);\n done = true;\n }\n if (!done) {\n return range.getBoundingClientRect();\n }\n box.width = box.right - box.left;\n box.height = box.bottom - box.top;\n return box;\n }\n return range.getBoundingClientRect();\n }\n\n // Render a chunk of text, typically one line (but for justified text we render each word as\n // a separate Text object, because spacing is variable). Returns true when it finished the\n // current node. After each chunk it updates `start` to just after the last rendered\n // character.\n function doChunk() {\n var origStart = start;\n var box, pos = text.substr(start).search(/\\S/);\n start += pos;\n if (pos < 0 || start >= end) {\n return true;\n }\n\n // Select a single character to determine the height of a line of text. The box.bottom\n // will be essential for us to figure out where the next line begins.\n range.setStart(node, start);\n range.setEnd(node, start + 1);\n box = actuallyGetRangeBoundingRect(range);\n\n // for justified text we must split at each space, because space has variable width.\n var found = false;\n if (isJustified || columnCount > 1) {\n pos = text.substr(start).search(/\\s/);\n if (pos >= 0) {\n // we can only split there if it's on the same line, otherwise we'll fall back\n // to the default mechanism (see findEOL below).\n range.setEnd(node, start + pos);\n var r = actuallyGetRangeBoundingRect(range);\n if (r.bottom == box.bottom) {\n box = r;\n found = true;\n start += pos;\n }\n }\n }\n\n if (!found) {\n // This code does three things: (1) it selects one line of text in `range`, (2) it\n // leaves the bounding rect of that line in `box` and (3) it returns the position\n // just after the EOL. We know where the line starts (`start`) but we don't know\n // where it ends. To figure this out, we select a piece of text and look at the\n // bottom of the bounding box. If it changes, we have more than one line selected\n // and should retry with a smaller selection.\n //\n // To speed things up, we first try to select all text in the node (`start` ->\n // `end`). If there's more than one line there, then select only half of it. And\n // so on. When we find a value for `end` that fits in one line, we try increasing\n // it (also in halves) until we get to the next line. The algorithm stops when the\n // right side of the bounding box does not change.\n //\n // One more thing to note is that everything happens in a single Text DOM node.\n // There's no other tags inside it, therefore the left/top coordinates of the\n // bounding box will not change.\n pos = (function findEOL(min, eol, max){\n range.setEnd(node, eol);\n var r = actuallyGetRangeBoundingRect(range);\n if (r.bottom != box.bottom && min < eol) {\n return findEOL(min, (min + eol) >> 1, eol);\n } else if (r.right != box.right) {\n box = r;\n if (eol < max) {\n return findEOL(eol, (eol + max) >> 1, max);\n } else {\n return eol;\n }\n } else {\n return eol;\n }\n })(start, Math.min(end, start + estimateLineLength), end);\n\n if (pos == start) {\n // if EOL is at the start, then no more text fits on this line. Skip the\n // remainder of this node entirely to avoid a stack overflow.\n return true;\n }\n start = pos;\n\n pos = range.toString().search(/\\s+$/);\n if (pos === 0) {\n return false; // whitespace only; we should not get here.\n }\n if (pos > 0) {\n // eliminate trailing whitespace\n range.setEnd(node, range.startOffset + pos);\n box = actuallyGetRangeBoundingRect(range);\n }\n }\n\n // another workaround for IE: if we rely on getBoundingClientRect() we'll overlap with the bullet for LI\n // elements. Calling getClientRects() and using the *first* rect appears to give us the correct location.\n // Note: not to be used in Chrome as it randomly returns a zero-width rectangle from the previous line.\n if (microsoft) {\n box = range.getClientRects()[0];\n }\n\n var str = range.toString();\n if (!/^(?:pre|pre-wrap)$/i.test(whiteSpace)) {\n // node with non-significant space -- collapse whitespace.\n str = str.replace(/\\s+/g, \" \");\n }\n else if (/\\t/.test(str)) {\n // with significant whitespace we need to do something about literal TAB characters.\n // There's no TAB glyph in a font so they would be rendered in PDF as an empty box,\n // and the whole text will stretch to fill the original width. The core PDF lib\n // does not have sufficient context to deal with it.\n\n // calculate the starting column here, since we initially discarded any whitespace.\n var cc = 0;\n for (pos = origStart; pos < range.startOffset; ++pos) {\n var code = text.charCodeAt(pos);\n if (code == 9) {\n // when we meet a TAB we must round up to the next tab stop.\n // in all browsers TABs seem to be 8 characters.\n cc += 8 - cc % 8;\n } else if (code == 10 || code == 13) {\n // just in case we meet a newline we must restart.\n cc = 0;\n } else {\n // ordinary character --> advance one column\n cc++;\n }\n }\n\n // based on starting column, replace any TAB characters in the string we actually\n // have to display with spaces so that they align to columns multiple of 8.\n while ((pos = str.search(\"\\t\")) >= 0) {\n var indent = \" \".substr(0, 8 - (cc + pos) % 8);\n str = str.substr(0, pos) + indent + str.substr(pos + 1);\n }\n }\n\n if (!found) {\n prevLineBottom = box.bottom;\n }\n drawText(str, box);\n }\n\n function drawText(str, box) {\n // In IE the box height will be approximately lineHeight, while in\n // other browsers it'll (correctly) be the height of the bounding\n // box for the current text/font. Which is to say, IE sucks again.\n // The only good solution I can think of is to measure the text\n // ourselves and center the bounding box.\n if (microsoft && !isNaN(lineHeight)) {\n var height = getFontHeight(font);\n var top = (box.top + box.bottom - height) / 2;\n box = {\n top : top,\n right : box.right,\n bottom : top + height,\n left : box.left,\n height : height,\n width : box.right - box.left\n };\n }\n\n // var path = new Path({ stroke: { color: \"red\" }});\n // path.moveTo(box.left, box.top)\n // .lineTo(box.right, box.top)\n // .lineTo(box.right, box.bottom)\n // .lineTo(box.left, box.bottom)\n // .close();\n // group.append(path);\n\n switch (textTransform) {\n case \"uppercase\":\n str = str.toUpperCase();\n break;\n case \"lowercase\":\n str = str.toLowerCase();\n break;\n case \"capitalize\":\n str = str.replace(/(?:^|\\s)\\S/g, function (l) { return l.toUpperCase(); });\n break;\n }\n\n var text = new TextRect(\n str, new geo.Rect([ box.left, box.top ],\n [ box.width, box.height ]),\n {\n font: font,\n fill: { color: color }\n }\n );\n group.append(text);\n }\n\n function drawTextLine(lineWidth, textBox, color, ypos) {\n if (color) {\n var path = new Path({ stroke: {\n width: lineWidth,\n color: color\n }});\n\n ypos -= lineWidth;\n path.moveTo(textBox.left, ypos)\n .lineTo(textBox.right, ypos);\n group.append(path);\n }\n }\n\n function decorateOver(box) {\n var width = fontSize / 12;\n drawTextLine(width, box, lineThrough, box.bottom - box.height / 2.7);\n drawTextLine(width, box, overline, box.top);\n }\n\n function decorateUnder(box) {\n var width = fontSize / 12;\n var underlinePos = box.bottom;\n if (underlineOffset != null) {\n underlinePos += underlineOffset;\n } else {\n underlinePos += width; // for \"auto\" it seems better to add line width\n }\n drawTextLine(width, box, underline, underlinePos);\n }\n}\n\nfunction groupInStackingContext(element, group, zIndex) {\n var main;\n if (zIndex != \"auto\") {\n // use the current stacking context\n main = nodeInfo._stackingContext.group;\n zIndex = parseFloat(zIndex);\n } else {\n // normal flow — use given container. we still have to\n // figure out where should we insert this element with the\n // assumption that its z-index is zero, as the group might\n // already contain elements with higher z-index.\n main = group;\n zIndex = 0;\n }\n var a = main.children;\n for (var i = 0; i < a.length; ++i) {\n if (a[i]._dom_zIndex != null && a[i]._dom_zIndex > zIndex) {\n break;\n }\n }\n\n var tmp = new Group();\n main.insert(i, tmp);\n tmp._dom_zIndex = zIndex;\n\n if (main !== group) {\n // console.log(\"Placing\", element, \"in\", nodeInfo._stackingContext.element, \"at position\", i, \" / \", a.length);\n // console.log(a.slice(i+1));\n\n // if (nodeInfo._matrix) {\n // tmp.transform(nodeInfo._matrix);\n // }\n if (nodeInfo._clipbox) {\n var m = nodeInfo._matrix.invert();\n var r = nodeInfo._clipbox.transformCopy(m);\n setClipping(tmp, Path.fromRect(r));\n // console.log(r);\n // tmp.append(Path.fromRect(r));\n // tmp.append(new Text(element.className || element.id, r.topLeft()));\n }\n }\n\n return tmp;\n}\n\nfunction renderElement(element, container) {\n var style = getComputedStyle(element);\n\n updateCounters(style);\n\n if (/^(style|script|link|meta|iframe|col|colgroup)$/i.test(element.tagName)) {\n return;\n }\n\n if (nodeInfo._clipbox == null) {\n return;\n }\n\n var opacity = parseFloat(getPropertyValue(style, \"opacity\"));\n var visibility = getPropertyValue(style, \"visibility\");\n var display = getPropertyValue(style, \"display\");\n\n if (opacity === 0 || visibility == \"hidden\" || display == \"none\") {\n return;\n }\n\n var tr = getTransform(style);\n var group;\n\n var zIndex = getPropertyValue(style, \"z-index\");\n if ((tr || opacity < 1) && zIndex == \"auto\") {\n zIndex = 0;\n }\n group = groupInStackingContext(element, container, zIndex);\n\n // XXX: remove at some point\n // group._pdfElement = element;\n // group.options._pdfDebug = \"\";\n // if (element.id) {\n // group.options._pdfDebug = \"#\" + element.id;\n // }\n // if (element.className) {\n // group.options._pdfDebug += \".\" + element.className.split(\" \").join(\".\");\n // }\n\n if (opacity < 1) {\n group.opacity(opacity * group.opacity());\n }\n\n pushNodeInfo(element, style, group);\n\n if (!tr) {\n _renderWithPseudoElements(element, group);\n }\n else {\n saveStyle(element, function(){\n // must clear transform, so getBoundingClientRect returns correct values.\n pleaseSetPropertyValue(element.style, \"transform\", \"none\", \"important\");\n\n // must also clear transitions, so correct values are returned *immediately*\n pleaseSetPropertyValue(element.style, \"transition\", \"none\", \"important\");\n\n // the presence of any transform makes it behave like it had position: relative,\n // because why not.\n // http://meyerweb.com/eric/thoughts/2011/09/12/un-fixing-fixed-elements-with-css-transforms/\n if (getPropertyValue(style, \"position\") == \"static\") {\n // but only if it's not already positioned. :-/\n pleaseSetPropertyValue(element.style, \"position\", \"relative\", \"important\");\n }\n\n // must translate to origin before applying the CSS\n // transformation, then translate back.\n var bbox = element.getBoundingClientRect();\n var x = bbox.left + tr.origin[0];\n var y = bbox.top + tr.origin[1];\n var m = [ 1, 0, 0, 1, -x, -y ];\n m = mmul(m, tr.matrix);\n m = mmul(m, [ 1, 0, 0, 1, x, y ]);\n m = setTransform(group, m);\n\n nodeInfo._matrix = nodeInfo._matrix.multiplyCopy(m);\n\n _renderWithPseudoElements(element, group);\n });\n }\n\n popNodeInfo();\n\n //drawDebugBox(element.getBoundingClientRect(), container);\n}\n\n// function drawDebugBox(box, group, color) {\n// var path = Path.fromRect(new geo.Rect([ box.left, box.top ], [ box.width, box.height ]));\n// if (color) {\n// path.stroke(color);\n// }\n// group.append(path);\n// }\n\n// function dumpTextNode(node) {\n// var txt = node.data.replace(/^\\s+/, \"\");\n// if (txt.length < 100) {\n// console.log(node.data.length + \": |\" + txt);\n// } else {\n// console.log(node.data.length + \": |\" + txt.substr(0, 50) + \"|...|\" + txt.substr(-50));\n// }\n// }\n\nfunction mmul(a, b) {\n var a1 = a[0], b1 = a[1], c1 = a[2], d1 = a[3], e1 = a[4], f1 = a[5];\n var a2 = b[0], b2 = b[1], c2 = b[2], d2 = b[3], e2 = b[4], f2 = b[5];\n return [\n a1*a2 + b1*c2, a1*b2 + b1*d2,\n c1*a2 + d1*c2, c1*b2 + d1*d2,\n e1*a2 + f1*c2 + e2, e1*b2 + f1*d2 + f2\n ];\n}\n\nexport { drawDOM, drawText, getFontFaces };\n","/* eslint-disable no-multi-spaces, key-spacing, indent, camelcase, space-before-blocks, eqeqeq, brace-style */\n/* eslint-disable space-infix-ops, space-before-function-paren, array-bracket-spacing, object-curly-spacing */\n/* eslint-disable no-nested-ternary, max-params, default-case, no-else-return, no-empty */\n/* eslint-disable no-param-reassign, no-var, block-scoped-var */\n\nimport { createPromise } from \"../util\";\nimport { parseColor as utils_parseColor, saveAs as util_saveAs, support } from \"../common\";\nimport * as PDF from \"./core\";\nimport { Group, Path, MultiPath, Gradient, RadialGradient } from '../drawing';\nimport * as geo from \"../geometry\";\n\nvar DEFAULT_IMAGE_DPI = 300;\nvar TEXT_RENDERING_MODE = PDF.TEXT_RENDERING_MODE;\n\nvar DASH_PATTERNS = {\n dash : [ 4 ],\n dashDot : [ 4, 2, 1, 2 ],\n dot : [ 1, 2 ],\n longDash : [ 8, 2 ],\n longDashDot : [ 8, 2, 1, 2 ],\n longDashDotDot : [ 8, 2, 1, 2, 1, 2 ],\n solid : []\n};\n\nvar LINE_CAP = {\n butt : 0,\n round : 1,\n square : 2\n};\n\nvar LINE_JOIN = {\n miter : 0,\n round : 1,\n bevel : 2\n};\n\nfunction render(group, callback) {\n var fonts = [], images = {}, options = group.options;\n\n function getOption(name, defval, hash) {\n if (!hash) {\n hash = options;\n }\n if (hash.pdf && hash.pdf[name] != null) {\n return hash.pdf[name];\n }\n return defval;\n }\n\n var multiPage = getOption(\"multiPage\");\n var imgDPI = getOption(\"imgDPI\", DEFAULT_IMAGE_DPI);\n\n PDF.clearImageCache();\n\n group.traverse(function(element){\n dispatch({\n Image: function(element) {\n var url = element.src();\n var size = element.bbox().size;\n if (imgDPI) {\n var prev = images[url];\n size = {\n width: Math.ceil(size.width * imgDPI / 72),\n height: Math.ceil(size.height * imgDPI / 72)\n };\n\n if (prev) {\n size.width = Math.max(prev.width, size.width);\n size.height = Math.max(prev.height, size.height);\n }\n }\n\n images[url] = size;\n },\n Text: function(element) {\n var style = PDF.parseFontDef(element.options.font);\n var url = PDF.getFontURL(style);\n if (fonts.indexOf(url) < 0) {\n fonts.push(url);\n }\n }\n }, element);\n });\n\n function doIt() {\n if (--count > 0) {\n return;\n }\n\n var pdf = new (PDF.Document)({\n producer : getOption(\"producer\"),\n title : getOption(\"title\"),\n author : getOption(\"author\"),\n subject : getOption(\"subject\"),\n keywords : getOption(\"keywords\"),\n creator : getOption(\"creator\"),\n date : getOption(\"date\"),\n\n autoPrint : getOption(\"autoPrint\")\n });\n\n function drawPage(group) {\n var options = group.options;\n\n var tmp = optimize(group);\n var bbox = tmp.bbox;\n group = tmp.root;\n // var tmp, bbox;\n\n var paperSize = getOption(\"paperSize\", getOption(\"paperSize\", \"auto\"), options), addMargin = false;\n if (paperSize == \"auto\") {\n if (bbox) {\n var size = bbox.getSize();\n paperSize = [ size.width, size.height ];\n addMargin = true;\n var origin = bbox.getOrigin();\n tmp = new Group();\n tmp.transform(new geo.Matrix(1, 0, 0, 1, -origin.x, -origin.y));\n tmp.append(group);\n group = tmp;\n }\n else {\n paperSize = \"A4\";\n }\n }\n\n var page;\n page = pdf.addPage({\n paperSize : paperSize,\n margin : getOption(\"margin\", getOption(\"margin\"), options),\n addMargin : addMargin,\n landscape : getOption(\"landscape\", getOption(\"landscape\", false), options)\n });\n drawElement(group, page, pdf);\n }\n\n if (multiPage) {\n group.children.forEach(drawPage);\n } else {\n drawPage(group);\n }\n\n callback(pdf.render(), pdf);\n }\n\n var count = 2;\n PDF.loadFonts(fonts, doIt);\n PDF.loadImages(images, doIt, {\n jpegQuality : getOption(\"jpegQuality\", 0.92),\n keepPNG : getOption(\"keepPNG\", false)\n });\n}\n\nfunction toDataURL(group, callback) {\n render(group, function(data){\n callback(\"data:application/pdf;base64,\" + data.base64());\n });\n}\n\nfunction toBlob(group, callback) {\n render(group, function(data){\n callback(new window.Blob([ data.get() ], { type: \"application/pdf\" }));\n });\n}\n\nfunction saveAs(group, filename, proxy, callback) {\n // XXX: Safari has Blob, but does not support the download attribute\n // so we'd end up converting to dataURL and using the proxy anyway.\n if (window.Blob && !support.browser.safari) {\n toBlob(group, function(blob){\n util_saveAs({ dataURI: blob, fileName: filename });\n if (callback) {\n callback(blob);\n }\n });\n } else {\n toDataURL(group, function(dataURL){\n util_saveAs({ dataURI: dataURL, fileName: filename, proxyURL: proxy });\n if (callback) {\n callback(dataURL);\n }\n });\n }\n}\n\nfunction dispatch(handlers, element) {\n var handler = handlers[element.nodeType];\n if (handler) {\n return handler.call.apply(handler, arguments);\n }\n return element;\n}\n\nfunction drawElement(element, page, pdf) {\n if (element.options._pdfDebug) {\n page.comment(\"BEGIN: \" + element.options._pdfDebug);\n }\n\n var transform = element.transform();\n var opacity = element.opacity();\n\n page.save();\n\n if (opacity != null && opacity < 1) {\n page.setOpacity(opacity);\n }\n\n setStrokeOptions(element, page, pdf);\n setFillOptions(element, page, pdf);\n\n if (transform) {\n var m = transform.matrix();\n page.transform(m.a, m.b, m.c, m.d, m.e, m.f);\n }\n\n setClipping(element, page, pdf);\n\n dispatch({\n Path : drawPath,\n MultiPath : drawMultiPath,\n Circle : drawCircle,\n Arc : drawArc,\n Text : drawText,\n Image : drawImage,\n Group : drawGroup,\n Rect : drawRect\n }, element, page, pdf);\n\n page.restore();\n\n if (element.options._pdfDebug) {\n page.comment(\"END: \" + element.options._pdfDebug);\n }\n}\n\nfunction setStrokeOptions(element, page) {\n var stroke = element.stroke && element.stroke();\n if (!stroke) {\n return;\n }\n\n var color = stroke.color;\n if (color) {\n color = parseColor(color);\n if (color == null) {\n return; // no stroke\n }\n page.setStrokeColor(color.r, color.g, color.b);\n if (color.a != 1) {\n page.setStrokeOpacity(color.a);\n }\n }\n\n var width = stroke.width;\n if (width != null) {\n if (width === 0) {\n return; // no stroke\n }\n page.setLineWidth(width);\n }\n\n var dashType = stroke.dashType;\n if (dashType) {\n page.setDashPattern(DASH_PATTERNS[dashType], 0);\n }\n\n var lineCap = stroke.lineCap;\n if (lineCap) {\n page.setLineCap(LINE_CAP[lineCap]);\n }\n\n var lineJoin = stroke.lineJoin;\n if (lineJoin) {\n page.setLineJoin(LINE_JOIN[lineJoin]);\n }\n\n var opacity = stroke.opacity;\n if (opacity != null) {\n page.setStrokeOpacity(opacity);\n }\n}\n\nfunction setFillOptions(element, page) {\n var fill = element.fill && element.fill();\n if (!fill) {\n return;\n }\n\n if (fill instanceof Gradient) {\n return;\n }\n\n var color = fill.color;\n if (color) {\n color = parseColor(color);\n if (color == null) {\n return; // no fill\n }\n page.setFillColor(color.r, color.g, color.b);\n if (color.a != 1) {\n page.setFillOpacity(color.a);\n }\n }\n\n var opacity = fill.opacity;\n if (opacity != null) {\n page.setFillOpacity(opacity);\n }\n}\n\nfunction setClipping(element, page, pdf) {\n // XXX: only Path supported at the moment.\n var clip = element.clip();\n if (clip) {\n _drawPath(clip, page, pdf);\n page.clip();\n // page.setStrokeColor(Math.random(), Math.random(), Math.random());\n // page.setLineWidth(1);\n // page.stroke();\n }\n}\n\nfunction shouldDraw(thing) {\n return (thing &&\n (thing instanceof Gradient ||\n (thing.color && !/^(none|transparent)$/i.test(thing.color) &&\n (thing.width == null || thing.width > 0) &&\n (thing.opacity == null || thing.opacity > 0))));\n}\n\nfunction maybeGradient(element, page, pdf, stroke) {\n var fill = element.fill();\n if (fill instanceof Gradient) {\n if (stroke) {\n page.clipStroke();\n } else {\n page.clip();\n }\n var isRadial = fill instanceof RadialGradient;\n var start, end;\n if (isRadial) {\n start = { x: fill.center().x , y: fill.center().y , r: 0 };\n end = { x: fill.center().x , y: fill.center().y , r: fill.radius() };\n } else {\n start = { x: fill.start().x , y: fill.start().y };\n end = { x: fill.end().x , y: fill.end().y };\n }\n\n var stops = fill.stops.elements().map(function(stop){\n var offset = stop.offset();\n if (/%$/.test(offset)) {\n offset = parseFloat(offset) / 100;\n } else {\n offset = parseFloat(offset);\n }\n var color = parseColor(stop.color());\n color.a *= stop.opacity();\n return {\n offset: offset,\n color: color\n };\n });\n\n // Duplicats first and last stop to fix\n // https://github.com/telerik/kendo-ui-core/issues/1782\n stops.unshift(stops[0]);\n stops.push(stops[stops.length - 1]);\n\n var gradient = {\n userSpace : fill.userSpace(),\n type : isRadial ? \"radial\" : \"linear\",\n start : start,\n end : end,\n stops : stops\n };\n var box = element.rawBBox();\n var tl = box.topLeft(), size = box.getSize();\n box = {\n left : tl.x,\n top : tl.y,\n width : size.width,\n height : size.height\n };\n page.gradient(gradient, box);\n return true;\n }\n}\n\nfunction maybeFillStroke(element, page, pdf) {\n if (shouldDraw(element.fill()) && shouldDraw(element.stroke())) {\n if (!maybeGradient(element, page, pdf, true)) {\n page.fillStroke();\n }\n } else if (shouldDraw(element.fill())) {\n if (!maybeGradient(element, page, pdf, false)) {\n page.fill();\n }\n } else if (shouldDraw(element.stroke())) {\n page.stroke();\n } else {\n // we should not get here; the path should have been\n // optimized away. but let's be prepared.\n page.nop();\n }\n}\n\nfunction maybeDrawRect(path, page) {\n var segments = path.segments;\n if (segments.length == 4 && path.options.closed) {\n // detect if this path looks like a rectangle parallel to the axis\n var a = [];\n for (var i = 0; i < segments.length; ++i) {\n if (segments[i].controlIn()) { // has curve?\n return false;\n }\n a[i] = segments[i].anchor();\n }\n // it's a rectangle if the y/x/y/x or x/y/x/y coords of\n // consecutive points are the same.\n var isRect = (\n a[0].y == a[1].y && a[1].x == a[2].x && a[2].y == a[3].y && a[3].x == a[0].x\n ) || (\n a[0].x == a[1].x && a[1].y == a[2].y && a[2].x == a[3].x && a[3].y == a[0].y\n );\n if (isRect) {\n // this saves a bunch of instructions in PDF:\n // moveTo, lineTo, lineTo, lineTo, close -> rect.\n page.rect(a[0].x, a[0].y,\n a[2].x - a[0].x /*width*/,\n a[2].y - a[0].y /*height*/);\n return true;\n }\n }\n}\n\nfunction _drawPath(element, page, pdf) {\n var segments = element.segments;\n if (segments.length === 0) {\n return;\n }\n if (!maybeDrawRect(element, page, pdf)) {\n for (var prev, i = 0; i < segments.length; ++i) {\n var seg = segments[i];\n var anchor = seg.anchor();\n if (!prev) {\n page.moveTo(anchor.x, anchor.y);\n } else {\n var prevOut = prev.controlOut();\n var controlIn = seg.controlIn();\n if (prevOut && controlIn) {\n page.bezier(\n prevOut.x , prevOut.y,\n controlIn.x , controlIn.y,\n anchor.x , anchor.y\n );\n } else {\n page.lineTo(anchor.x, anchor.y);\n }\n }\n prev = seg;\n }\n if (element.options.closed) {\n page.close();\n }\n }\n}\n\nfunction drawPath(element, page, pdf) {\n _drawPath(element, page, pdf);\n maybeFillStroke(element, page, pdf);\n}\n\nfunction drawMultiPath(element, page, pdf) {\n var paths = element.paths;\n for (var i = 0; i < paths.length; ++i) {\n _drawPath(paths[i], page, pdf);\n }\n maybeFillStroke(element, page, pdf);\n}\n\nfunction drawCircle(element, page, pdf) {\n var g = element.geometry();\n page.circle(g.center.x, g.center.y, g.radius);\n maybeFillStroke(element, page, pdf);\n}\n\nfunction drawArc(element, page, pdf) {\n var points = element.geometry().curvePoints();\n page.moveTo(points[0].x, points[0].y);\n for (var i = 1; i < points.length;) {\n page.bezier(\n points[i].x, points[i++].y,\n points[i].x, points[i++].y,\n points[i].x, points[i++].y\n );\n }\n maybeFillStroke(element, page, pdf);\n}\n\nfunction drawText(element, page) {\n var style = PDF.parseFontDef(element.options.font);\n var pos = element._position;\n var mode;\n if (element.fill() && element.stroke()) {\n mode = TEXT_RENDERING_MODE.fillAndStroke;\n } else if (element.fill()) {\n mode = TEXT_RENDERING_MODE.fill;\n } else if (element.stroke()) {\n mode = TEXT_RENDERING_MODE.stroke;\n }\n\n page.transform(1, 0, 0, -1, pos.x, pos.y + style.fontSize);\n page.beginText();\n page.setFont(PDF.getFontURL(style), style.fontSize);\n page.setTextRenderingMode(mode);\n page.showText(element.content(), element._pdfRect ? element._pdfRect.width() : null);\n page.endText();\n}\n\nfunction drawGroup(element, page, pdf) {\n if (element._pdfLink) {\n page.addLink(element._pdfLink.url, element._pdfLink);\n }\n var children = element.children;\n for (var i = 0; i < children.length; ++i) {\n drawElement(children[i], page, pdf);\n }\n}\n\nfunction drawImage(element, page) {\n var url = element.src();\n if (!url) {\n return;\n }\n\n var rect = element.rect();\n var tl = rect.getOrigin();\n var sz = rect.getSize();\n page.transform(sz.width, 0, 0, -sz.height, tl.x, tl.y + sz.height);\n page.drawImage(url);\n}\n\nfunction drawRect(element, page, pdf) {\n var geometry = element.geometry();\n var ref = geometry.cornerRadius;\n var rx = ref[0];\n var ry = ref[1];\n if (rx === 0 && ry === 0) {\n page.rect(geometry.origin.x, geometry.origin.y, geometry.size.width, geometry.size.height);\n maybeFillStroke(element, page, pdf);\n } else {\n drawPath(Path.fromRect(geometry, element.options), page, pdf);\n }\n}\n\nfunction parseColor(value) {\n var color = utils_parseColor(value, true);\n return color ? color.toRGB() : null;\n}\n\nfunction optimize(root) {\n var clipbox = false;\n var matrix = geo.Matrix.unit();\n var currentBox = null;\n var changed;\n do {\n changed = false;\n root = opt(root);\n } while (root && changed);\n return { root: root, bbox: currentBox };\n\n function change(newShape) {\n changed = true;\n return newShape;\n }\n\n function visible(shape) {\n return (shape.visible() && shape.opacity() > 0 &&\n ( shouldDraw(shape.fill()) ||\n shouldDraw(shape.stroke()) ));\n }\n\n function optArray(a) {\n var b = [];\n for (var i = 0; i < a.length; ++i) {\n var el = opt(a[i]);\n if (el != null) {\n b.push(el);\n }\n }\n return b;\n }\n\n function withClipping(shape, f) {\n var saveclipbox = clipbox;\n var savematrix = matrix;\n\n if (shape.transform()) {\n matrix = matrix.multiplyCopy(shape.transform().matrix());\n }\n\n var clip = shape.clip();\n if (clip) {\n clip = clip.bbox();\n if (clip) {\n clip = clip.bbox(matrix);\n clipbox = clipbox ? geo.Rect.intersect(clipbox, clip) : clip;\n }\n }\n\n try {\n return f();\n }\n finally {\n clipbox = saveclipbox;\n matrix = savematrix;\n }\n }\n\n function inClipbox(shape) {\n if (clipbox == null) {\n return false;\n }\n var box = shape.rawBBox().bbox(matrix);\n if (clipbox && box) {\n box = geo.Rect.intersect(box, clipbox);\n }\n return box;\n }\n\n function opt(shape) {\n return withClipping(shape, function(){\n if (!(shape instanceof Group || shape instanceof MultiPath)) {\n var box = inClipbox(shape);\n if (!box) {\n return change(null);\n }\n currentBox = currentBox ? geo.Rect.union(currentBox, box) : box;\n }\n return dispatch({\n Path: function(shape) {\n if (shape.segments.length === 0 || !visible(shape)) {\n return change(null);\n }\n return shape;\n },\n MultiPath: function(shape) {\n if (!visible(shape)) {\n return change(null);\n }\n var el = new MultiPath(shape.options);\n el.paths = optArray(shape.paths);\n if (el.paths.length === 0) {\n return change(null);\n }\n return el;\n },\n Circle: function(shape) {\n if (!visible(shape)) {\n return change(null);\n }\n return shape;\n },\n Arc: function(shape) {\n if (!visible(shape)) {\n return change(null);\n }\n return shape;\n },\n Text: function(shape) {\n if (!/\\S/.test(shape.content()) || !visible(shape)) {\n return change(null);\n }\n return shape;\n },\n Image: function(shape) {\n if (!(shape.visible() && shape.opacity() > 0)) {\n return change(null);\n }\n return shape;\n },\n Group: function(shape) {\n if (!(shape.visible() && shape.opacity() > 0)) {\n return change(null);\n }\n var el = new Group(shape.options);\n el.children = optArray(shape.children);\n el._pdfLink = shape._pdfLink;\n if (shape !== root && el.children.length === 0 && !shape._pdfLink) {\n return change(null);\n }\n return el;\n },\n Rect: function(shape) {\n if (!visible(shape)) {\n return change(null);\n }\n return shape;\n }\n }, shape);\n });\n }\n}\n\nfunction exportPDF(group, options) {\n var promise = createPromise();\n\n for (var i in options) {\n if (i == \"margin\" && group.options.pdf && group.options.pdf._ignoreMargin) {\n // This hackish option is set by the page breaking code in drawDOM. The idea is\n // that margin is already taken into account there (that's required to do proper\n // page breaking) and we don't want to set it again here, as it would double the\n // top-left margin, and truncate the content on bottom/right.\n continue;\n }\n group.options.set(\"pdf.\" + i, options[i]);\n }\n\n toDataURL(group, promise.resolve);\n\n return promise;\n}\n\n// XXX: the duplication is in order to keep exportPDF return a data\n// URI, which is what previous versions do. Currently only IE9 does\n// not support Blob, IMO we should switch to Blob by default\n// everywhere.\nfunction exportPDFToBlob(group, options) {\n var promise = createPromise();\n\n for (var i in options) {\n if (i == \"margin\" && group.options.pdf && group.options.pdf._ignoreMargin) {\n // This hackish option is set by the page breaking code in drawDOM. The idea is\n // that margin is already taken into account there (that's required to do proper\n // page breaking) and we don't want to set it again here, as it would double the\n // top-left margin, and truncate the content on bottom/right.\n continue;\n }\n group.options.set(\"pdf.\" + i, options[i]);\n }\n\n if (window.Blob && !support.browser.safari) {\n toBlob(group, promise.resolve);\n } else {\n toDataURL(group, promise.resolve);\n }\n\n return promise;\n}\n\n\nexport { exportPDF, exportPDFToBlob, saveAs, toDataURL, toBlob, render };\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar h = allVue.h;\nvar createApp = allVue.createApp;\nimport { canUseDOM } from '@progress/kendo-vue-common';\nvar defaultFileName = 'export.pdf';\nvar defaultCreator = 'Kendo UI PDF Generator';\n/**\n * @hidden\n */\nvar KendoDrawingAdapter = /** @class */ (function () {\n function KendoDrawingAdapter(drawDOM, exportPDF, saveAs, domElement, options) {\n if (options === void 0) { options = {}; }\n var _this = this;\n this.drawDOM = drawDOM;\n this.exportPDF = exportPDF;\n this.saveAs = saveAs;\n this.domElement = domElement;\n this.options = options;\n this.convertPageTemplateToHtml = function (pageContext) {\n if (h && createApp && canUseDOM) {\n var that_1 = _this;\n var outerWrapper_1 = document.createElement('div');\n outerWrapper_1.setAttribute('style', 'position:absolute; left: -5000px; top: 0px;');\n var innerWrapper = document.createElement('div');\n outerWrapper_1.appendChild(innerWrapper);\n document.body.appendChild(outerWrapper_1);\n var tempPageComponent_1;\n var pageTemplate = {\n render: function () {\n return h(that_1.options.pageTemplate, {\n pageNum: pageContext.pageNum,\n totalPages: pageContext.totalPages\n });\n },\n mounted: function mounted() {\n // @ts-ignore\n this.$nextTick(function () {\n document.body.removeChild(outerWrapper_1);\n tempPageComponent_1.unmount();\n });\n }\n };\n tempPageComponent_1 = createApp(pageTemplate);\n tempPageComponent_1.mount(innerWrapper);\n return innerWrapper.outerHTML;\n }\n else {\n var currentVue = allVue.extend ? allVue : allVue.default;\n var extendTemplate = currentVue.extend;\n var template = extendTemplate.call(currentVue, _this.options.pageTemplate);\n var instance_1 = new template({\n propsData: {\n pageNum: pageContext.pageNum,\n totalPages: pageContext.totalPages\n }\n });\n instance_1.$mount();\n instance_1.$nextTick(function () {\n instance_1.$destroy();\n });\n return instance_1.$el.outerHTML;\n }\n };\n }\n KendoDrawingAdapter.prototype.savePDF = function (callback) {\n var _this = this;\n var savePromise = this.drawDOM(this.domElement, this.getDrawOptions())\n .then(function (group) { return _this.exportPDF(group, _this.getPDFOptions()); })\n .then(function (dataUri) { return _this.saveAs(dataUri, _this.options.fileName || defaultFileName, _this.getSaveOptions()); });\n if (callback) {\n savePromise.then(callback, callback);\n }\n };\n KendoDrawingAdapter.prototype.getDrawOptions = function () {\n return {\n avoidLinks: this.options.avoidLinks,\n forcePageBreak: this.options.forcePageBreak,\n keepTogether: this.options.keepTogether,\n margin: this.options.margin,\n paperSize: this.options.paperSize,\n landscape: this.options.landscape,\n repeatHeaders: this.options.repeatHeaders,\n scale: this.options.scale,\n template: this.options.pageTemplate && this.convertPageTemplateToHtml\n };\n };\n KendoDrawingAdapter.prototype.getPDFOptions = function () {\n return {\n author: this.options.author,\n creator: this.options.creator || defaultCreator,\n date: this.options.date,\n imgDPI: this.options.imageResolution,\n keywords: this.options.keywords,\n landscape: this.options.landscape,\n margin: this.options.margin,\n multiPage: true,\n paperSize: this.options.paperSize,\n producer: this.options.producer,\n subject: this.options.subject,\n title: this.options.title\n };\n };\n KendoDrawingAdapter.prototype.getSaveOptions = function () {\n return {\n forceProxy: this.options.forceProxy,\n proxyData: this.options.proxyData,\n proxyTarget: this.options.proxyTarget,\n proxyURL: this.options.proxyURL\n };\n };\n return KendoDrawingAdapter;\n}());\nexport default KendoDrawingAdapter;\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-pdf',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052505,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { drawDOM, exportPDF } from '@progress/kendo-drawing';\nimport { saveAs } from '@progress/kendo-file-saver';\nimport KendoDrawingAdapter from './KendoDrawingAdapter';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\n/**\n * @hidden\n */\nvar PDFExportVue2 = {\n name: 'pdf-export',\n props: {\n author: String,\n avoidLinks: [Boolean, String],\n forcePageBreak: String,\n keepTogether: String,\n creator: String,\n date: Date,\n imageResolution: Number,\n fileName: String,\n forceProxy: Boolean,\n keywords: String,\n landscape: Boolean,\n margin: [String, Object],\n pageTemplate: [Object, Function],\n paperSize: [String, Object],\n repeatHeaders: Boolean,\n scale: Number,\n proxyData: Object,\n proxyURL: String,\n proxyTarget: String,\n producer: String,\n subject: String,\n title: String\n },\n methods: {\n save: function save(callback) {\n new KendoDrawingAdapter(drawDOM, exportPDF, saveAs, this.$el,\n // To do: we should consider whether we need a margin-top, margin-left, etc. props\n this.$props).savePDF(callback);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", [defaultSlot]);\n }\n // To do: we should consider whether we need a margin-top, margin-left, etc. props\n // private getOptions() {\n // return Object.assign({}, this.$props, { margin: getPageMrgin(this.$props) });\n // }\n};\n/**\n * @hidden\n */\nvar PDFExport = PDFExportVue2;\nexport { PDFExport, PDFExportVue2 };","import { drawDOM, exportPDF } from '@progress/kendo-drawing';\nimport { saveAs } from '@progress/kendo-file-saver';\nimport KendoDrawingAdapter from './KendoDrawingAdapter';\n/**\n * Saves the content of a DOM element to a PDF file.\n *\n * @param domElement - The root DOM element to save to a PDF file.\n * @param options - The export options.\n * @param callback - The callback to be executed after the PDF is saved.\n */\nexport function savePDF(domElement, options, callback) {\n if (options === void 0) { options = {}; }\n new KendoDrawingAdapter(drawDOM, exportPDF, saveAs, domElement, options).savePDF(callback);\n}\n","var focusableRegex = /^(?:a|input|select|option|textarea|button|object)$/i;\nvar NODE_NAME_PREDICATES = {};\nvar toClassList = function (classNames) { return String(classNames).trim().split(' '); };\n/**\n * @hidden\n */\nexport var hasClasses = function (element, classNames) {\n var namesList = toClassList(classNames);\n return Boolean(toClassList(element.className).find(function (className) { return namesList.indexOf(className) >= 0; }));\n};\n/**\n * @hidden\n */\nexport var matchesClasses = function (classNames) {\n return function (element) { return hasClasses(element, classNames); };\n};\n/**\n * @hidden\n */\nexport var matchesNodeName = function (nodeName) {\n if (!NODE_NAME_PREDICATES[nodeName]) {\n NODE_NAME_PREDICATES[nodeName] = function (element) {\n return String(element.nodeName).toLowerCase() === nodeName.toLowerCase();\n };\n }\n return NODE_NAME_PREDICATES[nodeName];\n};\n/**\n * @hidden\n */\nexport var closest = function (node, predicate) {\n while (node && !predicate(node)) {\n node = node.parentNode;\n }\n return node;\n};\n/**\n * @hidden\n */\nexport var closestInScope = function (node, predicate, scope) {\n while (node && node !== scope && !predicate(node)) {\n node = node.parentNode;\n }\n if (node !== scope) {\n return node;\n }\n};\n/**\n * @hidden\n */\nexport var contains = function (parent, node, matchSelf) {\n if (matchSelf === void 0) { matchSelf = false; }\n var outside = !closest(node, function (child) { return child === parent; });\n if (outside) {\n return false;\n }\n var el = closest(node, function (child) { return child === node; });\n return el && (matchSelf || el !== parent);\n};\n/**\n * @hidden\n */\nexport var isVisible = function (element) {\n var rect = element.getBoundingClientRect();\n var hasSize = rect.width > 0 && rect.height > 0;\n var hasPosition = rect.x !== 0 && rect.y !== 0;\n // Elements can have zero size due to styling, but they still count as visible.\n // For example, the selection checkbox has no size, but is made visible through styling.\n return (hasSize || hasPosition) && window.getComputedStyle(element).visibility !== 'hidden';\n};\n/**\n * @hidden\n */\nexport var isFocusable = function (element, checkVisibility) {\n if (checkVisibility === void 0) { checkVisibility = true; }\n if (element.tagName) {\n var tagName = element.tagName.toLowerCase();\n var tabIndex = element.getAttribute('tabIndex');\n var skipTab = tabIndex === '-1';\n var focusable = tabIndex !== null && !skipTab;\n if (focusableRegex.test(tagName)) {\n focusable = !element.disabled && !skipTab;\n }\n return focusable && (!checkVisibility || isVisible(element));\n }\n return false;\n};\n/**\n * @hidden\n */\nexport var findElement = function (node, predicate, matchSelf) {\n if (matchSelf === void 0) { matchSelf = true; }\n if (!node) {\n return;\n }\n if (matchSelf && predicate(node)) {\n return node;\n }\n node = node.firstChild;\n while (node) {\n if (node.nodeType === 1) {\n var element = findElement(node, predicate);\n if (element) {\n return element;\n }\n }\n node = node.nextSibling;\n }\n};\n/**\n * @hidden\n */\nexport var findFocusable = function (element, checkVisibility) {\n if (checkVisibility === void 0) { checkVisibility = true; }\n return findElement(element, function (node) { return isFocusable(node, checkVisibility); });\n};\n/**\n * @hidden\n */\nexport var findFocusableChild = function (element, checkVisibility) {\n if (checkVisibility === void 0) { checkVisibility = true; }\n return findElement(element, function (node) { return isFocusable(node, checkVisibility); }, false);\n};\n","import { matchesClasses, matchesNodeName, findElement } from '../common/dom-queries';\n/**\n * @hidden\n */\nexport var HEADER_CLASS = 'k-grid-header';\n/**\n * @hidden\n */\nexport var FOOTER_CLASS = 'k-grid-footer';\nvar TABLE = 'TABLE';\nvar matchesTable = matchesNodeName(TABLE);\nvar suffix = function (locked) { return locked ? 'locked' : 'wrap'; };\n/**\n * @hidden\n */\nvar GridQuery = /** @class */ (function () {\n function GridQuery(element) {\n this.element = element;\n this.list = findElement(element, matchesClasses('k-grid-container'));\n }\n GridQuery.prototype.content = function (locked) {\n return findElement(this.list, matchesClasses(\"k-grid-content\".concat(locked ? '-locked' : '')));\n };\n GridQuery.prototype.header = function (locked) {\n this.headerWrap = this.headerWrap || findElement(this.element, matchesClasses(HEADER_CLASS));\n return findElement(this.headerWrap, matchesClasses(\"\".concat(HEADER_CLASS, \"-\").concat(suffix(locked))));\n };\n GridQuery.prototype.footer = function (locked) {\n this.footerWrap = this.footerWrap || findElement(this.element, matchesClasses(FOOTER_CLASS));\n return findElement(this.footerWrap, matchesClasses(\"\".concat(FOOTER_CLASS, \"-\").concat(suffix(locked))));\n };\n GridQuery.prototype.table = function () {\n return findElement(this.element, matchesTable);\n };\n return GridQuery;\n}());\nexport { GridQuery };\n","var FIRST_CLASS = 'k-first';\nvar HEADER_CLASS = 'k-grid-header';\nvar FOOTER_CLASS = 'k-grid-footer';\n/**\n * @hidden\n */\nexport var appendNodes = function (element, nodes) {\n var length = nodes.length;\n for (var idx = 0; idx < length; idx++) {\n element.appendChild(nodes[idx].cloneNode(true));\n }\n};\n/**\n * @hidden\n */\nexport var wrapTable = function (table) {\n var wrapper = document.createElement('div');\n wrapper.className = 'k-grid k-grid-md';\n wrapper.appendChild(table);\n return wrapper;\n};\n/**\n * @hidden\n */\nexport var createTableElement = function (sources) {\n var sourceCount = sources.length;\n var element = sources[0].cloneNode(true);\n var rowsCount = element.rows.length;\n if (sourceCount > 1) {\n for (var rowIdx = 0; rowIdx < rowsCount; rowIdx++) {\n for (var sourceIdx = 1; sourceIdx < sourceCount; sourceIdx++) {\n appendNodes(element.rows[rowIdx], sources[sourceIdx].rows[rowIdx].cells);\n }\n }\n }\n return element;\n};\n/**\n * @hidden\n */\nexport var setFirstCellClass = function (header, headers) {\n if (headers.length > 1 && header.rows.length > 1) {\n for (var idx = 1; idx < header.rows.length; idx++) {\n var firstCellIndex = headers[0].rows[idx].cells.length;\n var cell = header.rows[idx].cells[firstCellIndex];\n if (String(cell.className).indexOf(FIRST_CLASS) === -1) {\n cell.className += \" \".concat(FIRST_CLASS);\n }\n }\n }\n};\n/**\n * @hidden\n */\nexport var createTable = function (colGroups, headers, bodies, footers) {\n var table = document.createElement('table');\n var colGroup = colGroups[0].cloneNode(true);\n for (var idx = 1; idx < colGroups.length; idx++) {\n appendNodes(colGroup, colGroups[idx].querySelectorAll('col'));\n }\n var header = createTableElement(headers);\n var body = createTableElement(bodies);\n header.className = HEADER_CLASS;\n setFirstCellClass(header, headers);\n table.appendChild(colGroup);\n table.appendChild(header);\n table.appendChild(body);\n if (footers.length) {\n var footer = createTableElement(footers);\n footer.className = FOOTER_CLASS;\n table.appendChild(footer);\n }\n return wrapTable(table);\n};\n","import { GridQuery } from './grid-query';\nimport { wrapTable, createTable } from '../common/utils';\n/**\n * @hidden\n */\nexport var exportElement = function (wrapper) {\n var query = new GridQuery(wrapper);\n var content = query.content();\n var result;\n if (content) {\n var colGroups = [content.querySelector('colgroup')];\n var headers = [query.header().querySelector('thead')];\n var bodies = [content.querySelector('tbody')];\n var footer = query.footer();\n var footers = footer ? [footer.querySelector('tfoot')] : [];\n result = createTable(colGroups, headers, bodies, footers);\n }\n else {\n result = wrapTable(query.table().cloneNode(true));\n }\n return result;\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nimport { canUseDOM } from '@progress/kendo-vue-common';\nvar allVue = Vue;\nvar h = allVue.h;\nvar createApp = allVue.createApp;\nimport { exportElement } from './export-element';\n/**\n * @hidden\n */\nexport function provideSaveGridPDF(savePDF) {\n return function (grid, pdfExportOptions, callback, data, columns) {\n if (pdfExportOptions === void 0) {\n pdfExportOptions = {};\n }\n return saveGridPDF(savePDF, grid, pdfExportOptions, callback, data, columns);\n };\n}\nfunction saveGridPDF(savePDF, grid, pdfExportOptions, callback, data, v3) {\n if (pdfExportOptions === void 0) {\n pdfExportOptions = {};\n }\n renderGrid();\n var gridOuterWrapper;\n var gridInnerWrapper;\n var finalContainer;\n var gridInstance;\n function renderGrid() {\n if (!canUseDOM) {\n return;\n }\n gridOuterWrapper = document.createElement('div');\n gridOuterWrapper.setAttribute('style', 'position:absolute; left: -5000px; top: 0px;');\n gridInnerWrapper = document.createElement('div');\n gridOuterWrapper.appendChild(gridInnerWrapper);\n document.body.appendChild(gridOuterWrapper);\n var customDataProps = data && {\n dataItems: data,\n total: data.length,\n pageSize: data.length,\n skip: 0\n };\n if (v3) {\n var gridForPdf = {\n render: function render() {\n return h(grid.type, __assign(__assign({}, grid.props), customDataProps), grid.children);\n },\n store: grid.$store,\n mounted: function mounted() {\n // @ts-ignore\n if (this.$el.style) {\n // @ts-ignore\n this.$el.style.width = '1000px';\n }\n onGridRendered.call(this);\n }\n };\n gridInstance = createApp(gridForPdf);\n gridInstance.mount(gridInnerWrapper);\n } else {\n var gridConstructor = Object.getPrototypeOf(grid).constructor;\n gridInstance = new gridConstructor({\n propsData: Object.assign({}, grid.$props, customDataProps),\n store: grid.$store,\n mounted: function mounted() {\n if (gridInstance.$el.style) {\n gridInstance.$el.style.width = '1000px';\n }\n onGridRendered.call(gridInstance);\n }\n });\n gridInstance.$slots = grid.$slots;\n gridInstance.$scopedSlots = grid.$scopedSlots;\n gridInstance.$mount(gridInnerWrapper);\n }\n }\n function onGridRendered() {\n savePDF(prepareFinalElementForExport.call(this), pdfExportOptions, cleanUpAndInvokeCallback);\n }\n function cleanUpAndInvokeCallback() {\n if (gridInstance.unmount) {\n gridInstance.unmount();\n } else {\n gridInstance.$destroy();\n }\n document.body.removeChild(gridOuterWrapper);\n document.body.removeChild(finalContainer);\n gridOuterWrapper = finalContainer = undefined;\n if (callback) {\n callback();\n }\n }\n function prepareFinalElementForExport() {\n /* Ultimatelly, there is no need for double DOM-copying of the grid.\n The one in this method is a copied Angular implementation\n that has been plugged almost seemlessly. */\n finalContainer = document.createElement('div');\n finalContainer.className = 'k-grid-pdf-export-element';\n var result = exportElement(this.$el);\n finalContainer.appendChild(result);\n document.body.appendChild(finalContainer);\n return result;\n }\n}","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { savePDF } from '../savePDF';\nimport { provideSaveGridPDF } from './provideSaveGridPDF';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar GridPdfExportVue2 = {\n name: 'grid-pdf-export',\n props: {\n author: String,\n avoidLinks: [Boolean, String],\n forcePageBreak: String,\n keepTogether: String,\n creator: String,\n date: Date,\n imageResolution: Number,\n fileName: String,\n forceProxy: Boolean,\n keywords: String,\n landscape: Boolean,\n margin: [String, Object],\n pageTemplate: [Object, Function],\n paperSize: [String, Object],\n repeatHeaders: Boolean,\n scale: Number,\n proxyData: Object,\n proxyURL: String,\n proxyTarget: String,\n producer: String,\n subject: String,\n title: String\n },\n created: function created() {\n this.saveGridPDF = provideSaveGridPDF(this.getSavePDF());\n },\n methods: {\n save: function save(data, callback) {\n var defaultSlot = getDefaultSlots(this);\n // @ts-ignore\n var gridSlot = defaultSlot.filter(function (child) {\n return child && child.tag && child.tag.toLowerCase().indexOf('grid') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('grid') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('grid') !== -1;\n });\n if (gridSlot.length) {\n this.gridComponent = this.v3 ? gridSlot[0] : gridSlot[0].componentInstance;\n this.saveGridPDF(this.gridComponent, this.$props, callback, data, this.v3);\n }\n },\n getSavePDF: function getSavePDF() {\n return savePDF;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", [defaultSlot]);\n }\n};\n/**\n * @hidden\n */\nvar GridPdfExport = GridPdfExportVue2;\nexport { GridPdfExport, GridPdfExportVue2 };","import { matchesClasses, matchesNodeName, findElement } from './dom-queries';\n/**\n * @hidden\n */\nexport var HEADER_CLASS = 'k-grid-header';\n/**\n * @hidden\n */\nexport var FOOTER_CLASS = 'k-grid-footer';\nvar TABLE = 'TABLE';\nvar matchesTable = matchesNodeName(TABLE);\n/**\n * @hidden\n */\nvar GridQuery = /** @class */ (function () {\n function GridQuery(element) {\n this.element = element;\n this.list = findElement(element, matchesClasses('k-grid'));\n }\n GridQuery.prototype.content = function () {\n return findElement(this.list, matchesClasses('k-grid'));\n };\n GridQuery.prototype.header = function () {\n this.headerWrap = this.headerWrap || findElement(this.element, matchesClasses(HEADER_CLASS));\n return findElement(this.headerWrap, matchesClasses(\"\".concat(HEADER_CLASS)));\n };\n GridQuery.prototype.footer = function () {\n this.footerWrap = this.footerWrap || findElement(this.element, matchesClasses(FOOTER_CLASS));\n return findElement(this.footerWrap, matchesClasses(\"\".concat(FOOTER_CLASS)));\n };\n GridQuery.prototype.table = function () {\n return findElement(this.element, matchesTable);\n };\n return GridQuery;\n}());\nexport { GridQuery };\n","import { GridQuery } from '../common/table-query';\nimport { wrapTable, createTable } from '../common/utils';\n/**\n * @hidden\n */\nexport var exportElement = function (wrapper) {\n var query = new GridQuery(wrapper);\n var content = query.content();\n var result;\n var headerWithoutFilter = query.header();\n if (headerWithoutFilter.children.length > 1) {\n headerWithoutFilter.removeChild(headerWithoutFilter.children[1]);\n }\n headerWithoutFilter.children[0].childNodes.forEach(function (headerCell) {\n if (headerCell.style) {\n return headerCell.style.top = 0;\n }\n });\n if (content) {\n var colGroups = [content.querySelector('colgroup')];\n var headers = [headerWithoutFilter];\n var bodies = [content.querySelector('tbody')];\n var footer = query.footer();\n var footers = footer ? [footer.querySelector('tfoot')] : [];\n result = createTable(colGroups, headers, bodies, footers);\n }\n else {\n result = wrapTable(query.table().cloneNode(true));\n }\n return result;\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nimport { canUseDOM } from '@progress/kendo-vue-common';\nvar allVue = Vue;\nvar h = allVue.h;\nvar createApp = allVue.createApp;\nimport { exportElement } from './export-element';\n/**\n * @hidden\n */\nexport function provideSaveTreeListPDF(savePDF) {\n return function (treeList, pdfExportOptions, callback, data, columns) {\n if (pdfExportOptions === void 0) {\n pdfExportOptions = {};\n }\n return saveTreeListPDF(savePDF, treeList, pdfExportOptions, callback, data, columns);\n };\n}\nfunction saveTreeListPDF(savePDF, treeList, pdfExportOptions, callback, data, v3) {\n if (pdfExportOptions === void 0) {\n pdfExportOptions = {};\n }\n renderTreeList();\n var treeListOuterWrapper;\n var treeListInnerWrapper;\n var finalContainer;\n var treeListInstance;\n function renderTreeList() {\n if (!canUseDOM) {\n return;\n }\n treeListOuterWrapper = document.createElement('div');\n treeListOuterWrapper.setAttribute('style', 'position:absolute; left: -5000px; top: 0px;');\n treeListInnerWrapper = document.createElement('div');\n treeListOuterWrapper.appendChild(treeListInnerWrapper);\n document.body.appendChild(treeListOuterWrapper);\n var customDataProps = data && {\n dataItems: data,\n total: data.length,\n pageSize: data.length,\n skip: 0\n };\n if (v3) {\n var treeListForPdf = {\n render: function render() {\n return h(treeList.type, __assign(__assign({}, treeList.props), customDataProps), treeList.children);\n },\n store: treeList.$store,\n mounted: function mounted() {\n // @ts-ignore\n if (this.$el.style) {\n // @ts-ignore\n this.$el.style.width = '1000px';\n }\n onTreeListRendered.call(this);\n }\n };\n treeListInstance = createApp(treeListForPdf);\n treeListInstance.mount(treeListInnerWrapper);\n } else {\n var treeListConstructor = Object.getPrototypeOf(treeList).constructor;\n treeListInstance = new treeListConstructor({\n propsData: Object.assign({}, treeList.$props, customDataProps),\n store: treeList.$store,\n mounted: function mounted() {\n if (treeListInstance.$el.style) {\n treeListInstance.$el.style.width = '1000px';\n }\n onTreeListRendered.call(treeListInstance);\n }\n });\n treeListInstance.$slots = treeList.$slots;\n treeListInstance.$scopedSlots = treeList.$scopedSlots;\n treeListInstance.$mount(treeListInnerWrapper);\n }\n }\n function onTreeListRendered() {\n savePDF(prepareFinalElementForExport.call(this), pdfExportOptions, cleanUpAndInvokeCallback);\n }\n function cleanUpAndInvokeCallback() {\n if (treeListInstance.unmount) {\n treeListInstance.unmount();\n } else {\n treeListInstance.$destroy();\n }\n document.body.removeChild(treeListOuterWrapper);\n document.body.removeChild(finalContainer);\n treeListOuterWrapper = finalContainer = undefined;\n if (callback) {\n callback();\n }\n }\n function prepareFinalElementForExport() {\n /* Ultimatelly, there is no need for double DOM-copying of the treeList.\n The one in this method is a copied Angular implementation\n that has been plugged almost seemlessly. */\n finalContainer = document.createElement('div');\n finalContainer.className = 'k-treelist-pdf-export-element';\n var result = exportElement(this.$el);\n finalContainer.appendChild(result);\n document.body.appendChild(finalContainer);\n return result;\n }\n}","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { savePDF } from '../savePDF';\nimport { provideSaveTreeListPDF } from './provideSaveTreeListPDF';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar TreeListPDFExportVue2 = {\n name: 'treelist-pdf-export',\n props: {\n author: String,\n avoidLinks: [Boolean, String],\n forcePageBreak: String,\n keepTogether: String,\n creator: String,\n date: Date,\n imageResolution: Number,\n fileName: String,\n forceProxy: Boolean,\n keywords: String,\n landscape: Boolean,\n margin: [String, Object],\n pageTemplate: [Object, Function],\n paperSize: [String, Object],\n repeatHeaders: Boolean,\n scale: Number,\n proxyData: Object,\n proxyURL: String,\n proxyTarget: String,\n producer: String,\n subject: String,\n title: String\n },\n created: function created() {\n this.saveTreeListPDF = provideSaveTreeListPDF(this.getSavePDF());\n },\n methods: {\n save: function save(data, callback) {\n var defaultSlot = getDefaultSlots(this);\n // @ts-ignore\n var treeListSlot = defaultSlot.filter(function (child) {\n return child && child.tag && child.tag.toLowerCase().indexOf('treelist') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('treelist') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('treelist') !== -1;\n });\n if (treeListSlot.length) {\n this.treeListComponent = this.v3 ? treeListSlot[0] : treeListSlot[0].componentInstance;\n this.saveTreeListPDF(this.treeListComponent, this.$props, callback, data, this.v3);\n }\n },\n getSavePDF: function getSavePDF() {\n return savePDF;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", [defaultSlot]);\n }\n};\n/**\n * @hidden\n */\nvar TreeListPDFExport = TreeListPDFExportVue2;\nexport { TreeListPDFExport, TreeListPDFExportVue2 };","import { PDFExport, PDFExportVue2 } from './PDFExport';\nimport { savePDF } from './savePDF';\nimport { GridPdfExport, GridPdfExportVue2 } from './grid/GridPDFExport';\nimport { TreeListPDFExport, TreeListPDFExportVue2 } from './treelist/TreeListPDFExport';\nexport { PDFExport, PDFExportVue2, savePDF, GridPdfExport, GridPdfExportVue2, TreeListPDFExport, TreeListPDFExportVue2 };\n// Automatic installation if Vue has been added to the global scope.\nvar vue = 'Vue';\nif (typeof window !== 'undefined' && window[vue] && window[vue].component) {\n window[vue].component('kendo-pdf-export', PDFExport);\n window[vue].component('kendo-grid-pdf-export', GridPdfExport);\n}\n","import { parents, siblingContainer } from '@progress/kendo-popup-common';\n/**\n * @hidden\n */\nexport var eitherRect = function eitherRect(rect, offset) {\n if (!rect) {\n return {\n height: 0,\n left: offset.left,\n top: offset.top,\n width: 0\n };\n }\n return rect;\n};\n/**\n * @hidden\n */\nexport var replaceOffset = function replaceOffset(rect, offset) {\n if (!offset) {\n return rect;\n }\n var result = {\n height: rect.height,\n left: offset.left,\n top: offset.top,\n width: rect.width\n };\n return result;\n};\n/**\n * @hidden\n */\nexport var removeStackingOffset = function removeStackingOffset(rect, stackingOffset) {\n if (!stackingOffset) {\n return rect;\n }\n var result = {\n height: rect.height,\n left: rect.left - stackingOffset.left,\n top: rect.top - stackingOffset.top,\n width: rect.width\n };\n return result;\n};\n/**\n * @hidden\n */\nexport var isDifferentOffset = function isDifferentOffset(oldOffset, newOffset) {\n var oldLeft = oldOffset.left,\n oldTop = oldOffset.top;\n var newLeft = newOffset.left,\n newTop = newOffset.top;\n return Math.abs(oldLeft - newLeft) >= 1 || Math.abs(oldTop - newTop) >= 1;\n};\n/**\n * @hidden\n */\nexport var isDocumentAvailable = function isDocumentAvailable() {\n return typeof document !== 'undefined' && !!document.body;\n};\n/**\n * @hidden\n */\nexport var isWindowAvailable = function isWindowAvailable() {\n return typeof window !== 'undefined';\n};\n/**\n * @hidden\n */\nexport var hasBoundingRect = function hasBoundingRect(elem) {\n return !!elem.getBoundingClientRect;\n};\n/**\n * @hidden\n */\nexport var OVERFLOW_REGEXP = /auto|scroll/;\n/**\n * @hidden\n */\nvar overflowStyle = function overflowStyle(element) {\n var styles = window.getComputedStyle(element);\n return \"\".concat(styles.overflow).concat(styles.overflowX).concat(styles.overflowY);\n};\n/**\n * @hidden\n */\nexport var scrollableParents = function scrollableParents(element) {\n var parentElements = [];\n if (!isDocumentAvailable() || !isWindowAvailable()) {\n return parentElements;\n }\n var parent = element.parentElement;\n while (parent) {\n if (OVERFLOW_REGEXP.test(overflowStyle(parent))) {\n parentElements.push(parent);\n }\n parent = parent.parentElement;\n }\n parentElements.push(window);\n return parentElements;\n};\n/**\n * @hidden\n */\nexport var FRAME_DURATION = 1000 / 60; // 1000ms divided by 60fps\n/**\n * @hidden\n */\nexport var hasRelativeStackingContext = function hasRelativeStackingContext() {\n if (!isDocumentAvailable()) {\n return false;\n }\n var top = 10;\n var parent = document.createElement('div');\n parent.style.transform = 'matrix(10, 0, 0, 10, 0, 0)';\n parent.innerHTML = \"
    child
    \";\n document.body.appendChild(parent);\n if (parent && parent.firstChild) {\n var firstChild = parent.firstChild;\n firstChild.style.position = 'fixed';\n firstChild.style.top = \"\".concat(top, \"px\");\n }\n var isDifferent = parent.children[0].getBoundingClientRect().top !== top;\n document.body.removeChild(parent);\n return isDifferent;\n};\n/**\n * @hidden\n */\nexport var HAS_RELATIVE_STACKING_CONTEXT = hasRelativeStackingContext();\n/**\n * @hidden\n */\nexport var zIndex = function zIndex(anchor, container) {\n if (!anchor || !isDocumentAvailable() || !isWindowAvailable()) {\n return null;\n }\n var sibling = siblingContainer(anchor, container);\n if (!sibling) {\n return null;\n }\n var result = [anchor].concat(parents(anchor, sibling)).reduce(function (index, p) {\n var zIndexStyle = p.style.zIndex || window.getComputedStyle(p).zIndex;\n var current = parseInt(zIndexStyle, 10);\n return current > index ? current : index;\n }, 0);\n return result ? result + 1 : null;\n};\n/**\n * @hidden\n */\nexport var CollisionType = {\n fit: 'fit',\n flip: 'flip'\n};\n/**\n * @hidden\n */\nexport var AlignPoint = {\n left: 'left',\n center: 'center',\n right: 'right',\n bottom: 'bottom',\n top: 'top'\n};\n/**\n * @hidden\n */\nexport var throttle = function throttle(func, wait, options) {\n if (options === void 0) {\n options = {};\n }\n var timeout, context, args, result;\n var previous = 0;\n options = options || {};\n var later = function later() {\n previous = options.leading === false ? 0 : new Date().getTime();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n };\n var throttled = function throttled() {\n var now = new Date().getTime();\n if (!previous && options.leading === false) {\n previous = now;\n }\n var remaining = wait - (now - previous);\n // @ts-ignore\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n return throttled;\n};","import { eitherRect, removeStackingOffset } from '../util';\n/**\n * @hidden\n */\nvar AlignService = /** @class */ (function () {\n function AlignService(_dom) {\n this._dom = _dom;\n }\n AlignService.prototype.alignElement = function (settings) {\n var anchor = settings.anchor, element = settings.element, anchorAlign = settings.anchorAlign, elementAlign = settings.elementAlign, offset = settings.offset;\n var fixedMode = !this._dom.hasOffsetParent(element);\n var anchorRect = fixedMode ?\n this.absoluteRect(anchor, element, offset) :\n this.relativeRect(anchor, element, offset);\n return this._dom.align({\n anchorAlign: anchorAlign,\n anchorRect: anchorRect,\n elementAlign: elementAlign,\n elementRect: this._dom.offset(element)\n });\n };\n AlignService.prototype.absoluteRect = function (anchor, element, offset) {\n var dom = this._dom;\n var rect = eitherRect(dom.offset(anchor), offset);\n var stackingOffset = dom.stackingElementOffset(element);\n var removedOffset = removeStackingOffset(rect, stackingOffset);\n var stackingScroll = dom.stackingElementScroll(element);\n var withScroll = dom.addScroll(removedOffset, stackingScroll);\n var scrollPosition = this.elementScrollPosition(anchor, element);\n var result = dom.removeScroll(withScroll, scrollPosition);\n result.left += window.scrollX || window.pageXOffset;\n result.top += window.scrollY || window.pageYOffset;\n return result;\n };\n AlignService.prototype.elementScrollPosition = function (anchor, element) {\n return anchor ? { x: 0, y: 0 } : this._dom.scrollPosition(element);\n };\n AlignService.prototype.relativeRect = function (anchor, element, offset) {\n return eitherRect(this._dom.position(anchor, element), offset);\n };\n return AlignService;\n}());\nexport { AlignService };\n","import { align, applyLocationOffset, boundingOffset, getWindowViewPort, isBodyOffset, offset, positionWithScroll, restrictToView, addScroll, removeScroll, scrollPosition, siblingContainer } from '@progress/kendo-popup-common';\nimport { isDocumentAvailable, isWindowAvailable, HAS_RELATIVE_STACKING_CONTEXT, scrollableParents, zIndex } from '../util';\n/**\n * @hidden\n */\nvar DOMService = /** @class */ (function () {\n function DOMService() {\n }\n DOMService.prototype.addOffset = function (current, addition) {\n return {\n left: current.left + addition.left,\n top: current.top + addition.top\n };\n };\n DOMService.prototype.align = function (settings) {\n return align(settings);\n };\n DOMService.prototype.boundingOffset = function (el) {\n return boundingOffset(el);\n };\n DOMService.prototype.getWindow = function () {\n return isWindowAvailable() ? window : null;\n };\n DOMService.prototype.isBodyOffset = function (el) {\n return isBodyOffset(el);\n };\n DOMService.prototype.hasOffsetParent = function (el) {\n if (!el) {\n return false;\n }\n var offsetParentEl = el.offsetParent;\n return offsetParentEl &&\n !(offsetParentEl.nodeName === 'BODY' &&\n window.getComputedStyle(offsetParentEl).position === 'static');\n };\n DOMService.prototype.offset = function (el) {\n if (!el) {\n return null;\n }\n return offset(el);\n };\n DOMService.prototype.staticOffset = function (element) {\n if (!element) {\n return null;\n }\n var _a = element.style, left = _a.left, top = _a.top;\n element.style.left = '0px';\n element.style.top = '0px';\n var currentOffset = offset(element);\n element.style.left = left;\n element.style.top = top;\n return currentOffset;\n };\n DOMService.prototype.position = function (element, popup) {\n if (!element || !popup) {\n return null;\n }\n var parentSibling = siblingContainer(element, popup);\n return positionWithScroll(element, parentSibling);\n };\n DOMService.prototype.relativeOffset = function (el, currentLocation) {\n return applyLocationOffset(this.offset(el), currentLocation, this.isBodyOffset(el));\n };\n DOMService.prototype.addScroll = function (rect, scroll) {\n return addScroll(rect, scroll);\n };\n DOMService.prototype.removeScroll = function (rect, scroll) {\n return removeScroll(rect, scroll);\n };\n DOMService.prototype.restrictToView = function (settings) {\n return restrictToView(settings);\n };\n DOMService.prototype.scrollPosition = function (el) {\n return scrollPosition(el);\n };\n DOMService.prototype.scrollableParents = function (el) {\n return scrollableParents(el);\n };\n DOMService.prototype.stackingElementOffset = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return null;\n }\n return offset(relativeContextElement);\n };\n DOMService.prototype.stackingElementScroll = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return { x: 0, y: 0 };\n }\n return {\n x: relativeContextElement.scrollLeft,\n y: relativeContextElement.scrollTop\n };\n };\n DOMService.prototype.stackingElementViewPort = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return null;\n }\n return {\n height: relativeContextElement.scrollHeight,\n width: relativeContextElement.scrollWidth\n };\n };\n DOMService.prototype.getRelativeContextElement = function (el) {\n if (!el || !HAS_RELATIVE_STACKING_CONTEXT) {\n return null;\n }\n var parent = el.parentElement;\n while (parent) {\n if (window.getComputedStyle(parent).transform !== 'none') {\n return parent;\n }\n parent = parent.parentElement;\n }\n return null;\n };\n DOMService.prototype.useRelativePosition = function (el) {\n return !!this.getRelativeContextElement(el);\n };\n DOMService.prototype.windowViewPort = function (el) {\n return getWindowViewPort(el);\n };\n DOMService.prototype.zIndex = function (anchor, container) {\n return zIndex(anchor, container);\n };\n DOMService.prototype.zoomLevel = function () {\n if (!isDocumentAvailable() || !isWindowAvailable()) {\n return 1;\n }\n return parseFloat((document.documentElement.clientWidth / window.innerWidth).toFixed(2));\n };\n DOMService.prototype.isZoomed = function () {\n return this.zoomLevel() > 1;\n };\n return DOMService;\n}());\nexport { DOMService };\n","import { eitherRect, replaceOffset } from '../util';\n/**\n * @hidden\n */\nvar PositionService = /** @class */ (function () {\n function PositionService(_dom) {\n this._dom = _dom;\n }\n PositionService.prototype.positionElement = function (settings) {\n var anchor = settings.anchor, currentLocation = settings.currentLocation, element = settings.element, anchorAlign = settings.anchorAlign, elementAlign = settings.elementAlign, collisions = settings.collisions;\n var dom = this._dom;\n var viewPort = settings.viewPort || dom.stackingElementViewPort(element) || dom.windowViewPort(element);\n var anchorRect = eitherRect(dom.offset(anchor), currentLocation);\n var initialElementRect = replaceOffset(dom.staticOffset(element), currentLocation);\n var elementRect = this.elementRect(element, initialElementRect);\n var result = dom.restrictToView({\n anchorAlign: anchorAlign,\n anchorRect: anchorRect,\n collisions: collisions,\n elementAlign: elementAlign,\n elementRect: elementRect,\n viewPort: viewPort\n });\n return {\n flipped: result.flipped,\n offset: dom.addOffset(initialElementRect, result.offset)\n };\n };\n PositionService.prototype.elementRect = function (element, rect) {\n return this._dom.removeScroll(rect, this._dom.scrollPosition(element));\n };\n return PositionService;\n}());\nexport { PositionService };\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-popup',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1686052178,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Slide } from '@progress/kendo-vue-animation';\nimport { CollisionType, AlignPoint, throttle, FRAME_DURATION, isWindowAvailable } from './util';\nimport { AlignService } from './services/alignService';\nimport { DOMService } from './services/domService';\nimport { PositionService } from './services/positionService';\nimport { canUseDOM, getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nvar DEFAULT_POPUP_ZINDEX = 100;\nvar ZINDEX_POPUP_STEP = 1;\nvar DEFAULT_OFFSET = {\n left: -1000,\n top: 0\n};\nvar ANIMATION_CONTAINER = 'k-animation-container';\nvar ANIMATION_CONTAINER_SHOWN = 'k-animation-container-shown';\nvar K_POPUP = 'k-popup';\n/**\n * @hidden\n */\nvar PopupVue2 = {\n name: 'Popup',\n props: {\n appendTo: {\n type: String,\n default: ''\n },\n anchor: {\n type: String,\n default: ''\n },\n className: String,\n id: String,\n popupClass: String,\n collision: {\n type: Object,\n default: function _default() {\n return {\n horizontal: CollisionType.fit,\n vertical: CollisionType.flip\n };\n }\n },\n anchorAlign: {\n type: Object,\n default: function _default() {\n return {\n horizontal: AlignPoint.left,\n vertical: AlignPoint.bottom\n };\n }\n },\n popupAlign: {\n type: Object,\n default: function _default() {\n return {\n horizontal: AlignPoint.left,\n vertical: AlignPoint.top\n };\n }\n },\n offset: {\n type: Object,\n default: function _default() {\n return DEFAULT_OFFSET;\n }\n },\n show: {\n type: Boolean,\n default: false\n },\n animate: {\n type: [Boolean, Object],\n default: function _default() {\n return true;\n }\n },\n direction: {\n type: String,\n default: 'down'\n },\n transition: {\n type: String,\n default: 'expand'\n }\n },\n inject: {\n kCurrentZIndex: {\n default: null\n }\n },\n data: function data() {\n return {\n hasMounted: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.mountedAppendTo = undefined;\n this.mountedAnchor = undefined;\n this._clonedElement = undefined;\n this._flipped = false;\n this._offsetTop = 0;\n this._offsetLeft = -1000;\n this._exitingAnimation = false;\n this._prevShow = false;\n this._prevShow = this.$props.show;\n this._domService = new DOMService();\n this._alignService = new AlignService(this._domService);\n this._positionService = new PositionService(this._domService);\n this.reposition = throttle(this.reposition.bind(this), FRAME_DURATION);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (canUseDOM) {\n this.mountedAppendTo = this.appendTo ? this.getParentRef(this.appendTo) : document.body;\n this.mountedAnchor = this.anchor ? this.getParentRef(this.anchor, true) : document.body;\n }\n this._parentElement = this.$el.parentElement;\n this._clonedElement = this.$el.cloneNode(true);\n this.hasMounted = true;\n this.mountedAppendTo.appendChild(this.$el);\n },\n updated: function updated() {\n this._prevShow = this.$props.show;\n },\n destroyed: !!isV3 ? undefined : function () {\n this.detachRepositionHandlers();\n },\n beforeDestroy: !!isV3 ? undefined : function () {\n if (this._parentElement) {\n this._parentElement.appendChild(this.$el);\n }\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.detachRepositionHandlers();\n },\n // @ts-ignore\n beforeUnmount: function beforeUnmount() {\n if (this._parentElement) {\n this._parentElement.appendChild(this.$el);\n }\n },\n methods: {\n onOpened: function onOpened() {\n var element = this.$el;\n if (this.$props.show) {\n element.classList.add(ANIMATION_CONTAINER_SHOWN);\n }\n this.attachRepositionHandlers(element);\n this.$emit('open', {\n target: this\n });\n },\n onClosing: function onClosing() {\n if (!this.$props.show) {\n var element = this.$el;\n element.classList.remove(ANIMATION_CONTAINER_SHOWN);\n }\n this.detachRepositionHandlers();\n },\n onClosed: function onClosed() {\n if (this._exitingAnimation) {\n this._exitingAnimation = false;\n this.$forceUpdate();\n }\n this.$emit('close', {\n target: this\n });\n },\n transitionDuration: function transitionDuration() {\n var animate = this.$props.animate;\n var transitionEnterDuration = 0;\n var transitionExitDuration = 0;\n if (animate) {\n if (animate === true) {\n // Inherit the default duration of the Animation component.\n transitionEnterDuration = transitionExitDuration = undefined;\n } else {\n transitionEnterDuration = animate.openDuration;\n transitionExitDuration = animate.closeDuration;\n }\n }\n return {\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration\n };\n },\n getParentRef: function getParentRef(anchor, isAnchor) {\n // @ts-ignore\n var parent = this.$parent;\n while (!parent.$refs[anchor]) {\n // @ts-ignore\n if (parent && parent.kendoAnchorRef && isAnchor) {\n // @ts-ignore\n return parent.kendoAnchorRef;\n }\n // @ts-ignore\n parent = parent.$parent;\n if (!parent && canUseDOM) {\n return document.getElementById(anchor) || document.body;\n }\n }\n // @ts-ignore\n return parent.$refs[anchor].$el || parent.$refs[anchor];\n },\n position: function position(settings, element, anchor) {\n var anchorAlign = settings.anchorAlign,\n popupAlign = settings.popupAlign,\n collision = settings.collision,\n offset = settings.offset;\n var anchorElement = anchor ? this.v3 ? this.mountedAnchor : this.getParentRef(anchor, true) : document.body;\n var alignedOffset = this._alignService.alignElement({\n anchor: anchor ? anchorElement : undefined,\n element: element,\n elementAlign: popupAlign,\n anchorAlign: anchorAlign,\n offset: offset\n });\n var result = this._positionService.positionElement({\n anchor: anchorElement,\n anchorAlign: anchorAlign,\n collisions: collision,\n element: element,\n currentLocation: alignedOffset,\n elementAlign: popupAlign\n });\n return result;\n },\n calculatePosition: function calculatePosition($props, appendToElement) {\n if (!appendToElement || !isWindowAvailable() || !canUseDOM) {\n return {\n flipped: false,\n offset: $props.offset\n };\n }\n var defaultSlot = getDefaultSlots(this);\n var root = document.createElement('div');\n var contentElement = this.$el && this.$el.firstChild ? this.$el.firstChild.firstChild ? this.$el.firstChild.firstChild.cloneNode(true) : null : null;\n var divWrapper = contentElement && contentElement.getBoundingClientRect ? contentElement : this._clonedElement;\n if (divWrapper) {\n root.appendChild(divWrapper);\n } else {\n // @ts-ignore\n var internalClass = this.v3 ? defaultSlot && defaultSlot[0].props ? defaultSlot[0].props.class : '' : defaultSlot && defaultSlot[0].data ? defaultSlot[0].data.staticClass : '';\n // @ts-ignore\n var domClass = this.v3 ? this.$props.popupClass ? this.$props.popupClass : '' : defaultSlot && defaultSlot[0].data ? defaultSlot[0].data.class : '';\n root.innerHTML = \"
    \\t\\n
    \\n
    \\n
    \\t\\n
    \\t\\n
    \");\n }\n appendToElement.appendChild(root);\n if (root && root.firstChild) {\n var firstChild = root.firstChild;\n firstChild.style.position = 'absolute';\n firstChild.style.visibility = 'hidden';\n firstChild.style.display = 'block';\n firstChild.style.left = '-1000';\n firstChild.style.top = '0';\n var inlineStyles = this.v3 ? defaultSlot && defaultSlot[0].props ? defaultSlot[0].props.style : {} : defaultSlot[0].data ? defaultSlot[0].data.style : {};\n if (inlineStyles) {\n for (var _i = 0, _a = Object.entries(inlineStyles); _i < _a.length; _i++) {\n var _b = _a[_i],\n key = _b[0],\n value = _b[1];\n firstChild.style[key] = value;\n }\n }\n }\n var newPosition = this.position($props, root.firstChild, this.$props.anchor);\n root.parentNode.removeChild(root);\n return newPosition;\n },\n attachRepositionHandlers: function attachRepositionHandlers(element) {\n var _this = this;\n this.detachRepositionHandlers();\n this._scrollableParents = this._domService.scrollableParents(this.$props.anchor ? this.mountedAnchor : element);\n this._scrollableParents.map(function (p) {\n return p.addEventListener('scroll', _this.reposition);\n });\n window.addEventListener('resize', this.reposition);\n },\n detachRepositionHandlers: function detachRepositionHandlers() {\n var _this = this;\n if (this._scrollableParents) {\n this._scrollableParents.map(function (p) {\n return p.removeEventListener('scroll', _this.reposition);\n });\n this._scrollableParents = undefined;\n }\n window.removeEventListener('resize', this.reposition);\n },\n reposition: function reposition() {\n this._clonedElement = this.$el.cloneNode(true);\n this.$forceUpdate();\n },\n getCurrentZIndex: function getCurrentZIndex() {\n return this.kCurrentZIndex ? this.kCurrentZIndex + ZINDEX_POPUP_STEP : DEFAULT_POPUP_ZINDEX;\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n className = _a.className,\n popupClass = _a.popupClass,\n show = _a.show,\n id = _a.id;\n var defaultSlots = getDefaultSlots(this);\n var defaultSlot = this.v3 ? defaultSlots : show ? defaultSlots : null;\n var defaultAppentTo = isWindowAvailable() ? this.$props.appendTo ? this.mountedAppendTo || this.getParentRef(this.$props.appendTo) : document.body : undefined;\n if (this.$props.show) {\n var newPosition = this.calculatePosition(this.$props, defaultAppentTo);\n this._offsetLeft = newPosition.offset.left;\n this._offsetTop = newPosition.offset.top;\n this._flipped = !!newPosition.flipped;\n }\n var direction = this._flipped ? 'up' : 'down';\n var _b = this.transitionDuration(),\n transitionEnterDuration = _b.transitionEnterDuration,\n transitionExitDuration = _b.transitionExitDuration;\n var currentZIndex = this.getCurrentZIndex();\n this._exitingAnimation = this._exitingAnimation || this._prevShow && !show;\n if (!this.hasMounted) {\n return h(\"div\", {\n style: {\n display: 'none'\n },\n \"class\": className\n }, [h(\"div\", {\n \"class\": [popupClass, K_POPUP]\n }, [defaultSlots])]);\n }\n if (show || this._exitingAnimation && defaultAppentTo) {\n var popup =\n // @ts-ignore function children\n h(Slide, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: this.appendTo ? '' : 'region',\n componentChildClassName: [popupClass, K_POPUP],\n className: className,\n direction: direction,\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration,\n appear: show\n },\n role: this.appendTo ? '' : 'region',\n componentChildClassName: [popupClass, K_POPUP],\n className: className,\n onEntered: this.onOpened,\n on: this.v3 ? undefined : {\n \"entered\": this.onOpened,\n \"exiting\": this.onClosing,\n \"exited\": this.onClosed\n },\n onExiting: this.onClosing,\n onExited: this.onClosed,\n direction: direction,\n style: {\n zIndex: currentZIndex,\n position: 'absolute',\n top: this._offsetTop + 'px',\n left: this._offsetLeft + 'px'\n },\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration,\n appear: show\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot]);\n return popup;\n }\n return null;\n }\n};\n/**\n * @hidden\n */\nvar Popup = PopupVue2;\nexport { Popup, PopupVue2 };","/**\n * @hidden\n */\nexport var isObject = function (value) {\n return typeof value === 'object';\n};\n","import { isObject } from './isObject';\n/**\n * @hidden\n */\nexport var classNames = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args\n .filter(function (arg) { return arg !== true && !!arg; })\n .map(function (arg) {\n return Array.isArray(arg)\n ? classNames.apply(void 0, arg) : isObject(arg)\n ? Object\n .keys(arg)\n .map(function (key, idx) { return arg[idx] || (arg[key] && key) || null; })\n .filter(function (el) { return el !== null; })\n .join(' ')\n : arg;\n })\n .filter(function (arg) { return !!arg; })\n .join(' ');\n};\n","/* tslint:disable:no-bitwise */\n/**\n * @hidden\n */\nvar guid = function () {\n var id = '';\n var i;\n var random;\n for (i = 0; i < 32; i++) {\n random = Math.random() * 16 | 0;\n if (i === 8 || i === 12 || i === 16 || i === 20) {\n id += '-';\n }\n id += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random)).toString(16);\n }\n return id;\n};\nexport { guid };\n","/**\n * @hidden\n */\nvar Keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n shift: 16,\n esc: 27,\n space: 32,\n pageUp: 33,\n pageDown: 34,\n end: 35,\n home: 36,\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n delete: 46\n};\nexport { Keys };\n","/**\n * @hidden\n */\nvar canUseDOM = Boolean(\n// from fbjs\ntypeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\nexport { canUseDOM };\n","/**\n * @hidden\n */\nexport function getRef(comp, refName, customRef) {\n return comp.v3 ? comp[\"\".concat(refName, \"Ref\")] : comp.$refs[\"\".concat(customRef || refName)];\n}\n/**\n * @hidden\n */\nexport function setRef(comp, refName, customRef) {\n return (comp.v3 ? function (el) {\n comp[\"\".concat(refName, \"Ref\")] = el;\n } : customRef || refName);\n}\n","import { Keys } from './keys';\nvar FOCUSABLE_SELECTOR = 'input, [tabindex]:not([tabindex=\"-1\"])';\n/**\n * @hidden\n */\nexport var firstFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[0].focus) {\n return elements[0];\n }\n }\n return undefined;\n};\n/**\n * @hidden\n */\nexport var lastFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[elements.length - 1].focus) {\n return elements[elements.length - 1];\n }\n }\n return undefined;\n};\n/**\n * @hidden\n */\nexport var focusFirstFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[0].focus) {\n elements[0].focus();\n }\n }\n};\n/**\n * @hidden\n */\nexport var focusLastFocusableChild = function (element) {\n if (element) {\n // should focus wrapper if it's focusable in future versions\n var elements = element.querySelectorAll(FOCUSABLE_SELECTOR);\n if (elements.length && elements[elements.length - 1].focus) {\n elements[elements.length - 1].focus();\n }\n }\n};\n/**\n * @hidden\n */\nexport var focusContainer = function (e, containerElement) {\n var focusState = true;\n if (e.keyCode !== Keys.enter && e.target === containerElement) {\n return false;\n }\n if (e.keyCode === Keys.enter && e.target === containerElement) {\n focusState = true;\n setTimeout(function () {\n focusFirstFocusableChild(containerElement);\n }, 1);\n }\n else if (e.keyCode === Keys.esc) {\n focusState = false;\n containerElement.focus();\n }\n else if (e.keyCode === Keys.tab) {\n var firstChild = firstFocusableChild(containerElement);\n var lastChild = lastFocusableChild(containerElement);\n if (lastChild && !e.shiftKey && e.target === lastChild) {\n e.preventDefault();\n firstChild.focus();\n }\n if (firstChild && e.shiftKey && e.target === firstChild) {\n e.preventDefault();\n lastChild.focus();\n }\n }\n return focusState;\n};\n","var _DraggableVue;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return (typeof key === \"undefined\" ? \"undefined\" : _typeof(key)) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if ((typeof input === \"undefined\" ? \"undefined\" : _typeof(input)) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if ((typeof res === \"undefined\" ? \"undefined\" : _typeof(res)) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport * as d from '@progress/kendo-draggable';\nimport { getDefaultSlots } from './defaultSlots';\n/**\n * @hidden\n */\nvar DraggableVue2 = (_DraggableVue = {\n // @ts-ignore\n emits: {\n press: null,\n drag: null,\n release: null\n },\n inheritAttrs: false,\n created: function created() {\n this.element = null;\n var draggable = d;\n var dp = typeof draggable !== 'undefined' && draggable.Draggable ? draggable : draggable.default;\n this.draggable = new dp.Draggable({\n press: this.press,\n drag: this.drag,\n release: this.release\n });\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (this.$el) {\n this.element = this.$el.nodeType === 3 || this.$el.nodeType === 8 ? this.$el.nextElementSibling : this.$el;\n this.draggable.bindTo(this.element);\n }\n },\n destroyed: !!isV3 ? undefined : function () {\n this.draggable.destroy();\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.draggable.destroy();\n },\n methods: {\n press: function press(event) {\n if (this.element) {\n this.$emit('press', event, this.element);\n }\n },\n drag: function drag(event) {\n if (this.element) {\n this.$emit('drag', event, this.element);\n }\n },\n release: function release(event) {\n if (this.element) {\n this.$emit('release', event, this.element);\n }\n }\n }\n}, _defineProperty(_DraggableVue, \"setup\", !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n}), _defineProperty(_DraggableVue, \"render\", function render(createElement) {\n // @ts-ignore\n var h = gh || createElement;\n return getDefaultSlots(this);\n}), _DraggableVue);\n/**\n * @hidden\n */\nvar Draggable = DraggableVue2;\nexport { Draggable, DraggableVue2 };","/**\n * @hidden\n */\nexport function getDefaultSlots(component) {\n var defaultSlots = component.$slots.default;\n return (component.v3 && defaultSlots && typeof defaultSlots === 'function') ? defaultSlots() : defaultSlots;\n}\n","/**\n * @hidden\n */\nvar noop = function () { };\nexport { noop };\n","import { FIELD_REGEX } from './constants/main';\nvar getterCache = {};\ngetterCache.undefined = function () { return undefined; };\n/**\n * @hidden\n */\nexport function getter(field) {\n if (getterCache[field]) {\n return getterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n getterCache[field] = function (obj) {\n var result = obj;\n for (var idx = 0; idx < fields.length && result; idx++) {\n result = result[fields[idx]];\n }\n return result;\n };\n return getterCache[field];\n}\n","import { FIELD_REGEX } from './constants/main';\nvar setterCache = {};\nsetterCache.undefined = function (obj) { return obj; };\n/**\n * @hidden\n */\nexport function setter(field) {\n if (setterCache[field]) {\n return setterCache[field];\n }\n var fields = [];\n field.replace(FIELD_REGEX, function (_match, index, indexAccessor, fieldName) {\n fields.push(index !== undefined ? index : (indexAccessor || fieldName));\n });\n setterCache[field] = function (obj, value) {\n var root = obj;\n var depth = fields.length - 1;\n for (var idx = 0; idx < depth && root; idx++) {\n root = root[fields[idx]] = root[fields[idx]] || {};\n }\n root[fields[depth]] = value;\n };\n return setterCache[field];\n}\n","/**\n * @hidden\n */\nexport function hasListener(eventName) {\n if (this.v3) {\n var eventInAttrs = Object.keys(this.$attrs).map(function (name) { return name.toLowerCase(); })\n .some(function (event) { return event.endsWith(eventName.toLowerCase()); });\n var eventInProps = Object.entries(this.$props)\n .some(function (_a) {\n var name = _a[0], value = _a[1];\n var event = name.toLowerCase();\n return value !== undefined && event.startsWith('on') && event.endsWith(eventName.toLowerCase());\n });\n return eventInAttrs || eventInProps;\n }\n else {\n return this.$listeners[eventName];\n }\n}\n/**\n * @hidden\n */\nexport function getListeners() {\n if (this.v3) {\n var listeners = {};\n for (var key in (this.$attrs)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$attrs[key];\n }\n }\n for (var key in (this.$props)) {\n if (key.startsWith('on')) {\n listeners[key] = this.$props[key];\n }\n }\n return listeners;\n }\n else {\n return this.$listeners;\n }\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nimport { isObject } from './isObject';\nvar allVue = Vue;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nexport var templateDefinition = {\n type: [String, Function, Object, Boolean],\n default: function () {\n return undefined;\n }\n};\n/**\n * @hidden\n */\nexport function templateRendering(template, listeners) {\n if (!template && template !== false) {\n return undefined;\n }\n if (template.kt) {\n return template;\n }\n var scopedSlot = isV3 ?\n this.$slots[template] ||\n (template.toLowerCase ? this.$slots[template.toLowerCase()]\n : null) :\n this.$scopedSlots[template] ||\n (template.toLowerCase ? this.$scopedSlots[template.toLowerCase()]\n : null);\n if (typeof template === 'string' && scopedSlot) {\n return { kt: true, type: 'slot', render: scopedSlot, listeners: listeners };\n }\n if (typeof template === 'string' || isObject(template) ||\n (typeof template === 'function' && template.component)) {\n return { kt: true, type: 'component', render: template, listeners: listeners };\n }\n return { kt: true, type: 'renderFunction', render: template, listeners: listeners };\n}\n/**\n * @hidden\n */\nexport function getTemplate(_a) {\n var h = _a.h, template = _a.template, defaultRendering = _a.defaultRendering, defaultSlots = _a.defaultSlots, additionalProps = _a.additionalProps, additionalListeners = _a.additionalListeners, swapDefaultSlots = _a.swapDefaultSlots;\n if (!template || (template && template.render === true)) {\n return defaultRendering;\n }\n var events;\n var props;\n var componentOptions;\n if (isV3) {\n var passedProps = defaultRendering ? defaultRendering.props : {};\n events = __assign(__assign({}, transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, passedProps), additionalProps), events);\n componentOptions = __assign(__assign({}, props), events);\n }\n else {\n var hasComponentOptions = defaultRendering && defaultRendering.componentOptions;\n var defaultListeners = hasComponentOptions ?\n defaultRendering.componentOptions.listeners : {};\n var defaultProps = hasComponentOptions ?\n defaultRendering.componentOptions.propsData : {};\n events = __assign(__assign(__assign(__assign({}, defaultListeners), additionalListeners), transformListeners(additionalListeners)), template.listeners);\n props = __assign(__assign(__assign({}, defaultProps), additionalProps), events);\n componentOptions = { props: props, on: events };\n }\n if (template.type === 'slot') {\n var slotTemplate = template.render({ props: props, listeners: events, methods: events,\n defaultSlots: defaultSlots });\n return isV3\n ? slotTemplate\n : slotTemplate ? slotTemplate[0] : undefined;\n }\n else if (template.type === 'renderFunction') {\n if (swapDefaultSlots) {\n return template.render ? template.render(h, defaultRendering, defaultSlots, props, events) : undefined;\n }\n return template.render ? template.render(h, defaultRendering, props, events, defaultSlots) : undefined;\n }\n else {\n return h(template.render, componentOptions, isV3 ? function () { return [defaultSlots]; } : [defaultSlots]);\n }\n}\n/**\n * @hidden\n */\nexport function transformListeners(listeners) {\n if (!listeners) {\n return listeners;\n }\n var newListeners = {};\n var listenersKeys = Object.keys(listeners);\n for (var i = 0; i < listenersKeys.length; i++) {\n var currentKey = listenersKeys[i];\n newListeners['on' + currentKey.charAt(0).toUpperCase() + currentKey.slice(1)] =\n listeners[currentKey];\n }\n return newListeners;\n}\n","/**\n * @hidden\n */\nvar DISABLED_TABINDEX = -1;\n/**\n * @hidden\n */\nvar DEFAULT_TABINDEX = 0;\n/**\n * @hidden\n */\nexport var getTabIndex = function (tabIndex, disabled, useDefaultTabIndexWhenDisabled) {\n var parsedTabIndex = typeof tabIndex === 'string' ? parseInt(tabIndex, undefined) : tabIndex;\n if (parsedTabIndex === NaN) {\n return undefined;\n }\n return parsedTabIndex !== undefined\n ? parsedTabIndex\n : disabled ?\n (useDefaultTabIndexWhenDisabled ? undefined : DISABLED_TABINDEX)\n : DEFAULT_TABINDEX;\n};\n","import { canUseDOM } from './canUseDOM';\n/**\n * @hidden\n */\nexport function isRtl(element) {\n return Boolean(canUseDOM && element && getComputedStyle(element).direction === 'rtl');\n}\n/**\n * @hidden\n */\nexport function getDir(element, initialDir) {\n if (!initialDir && canUseDOM && element) {\n // Note: getComputedStyle forces reflow\n var rtlCandidate = window.getComputedStyle(element).direction;\n if (rtlCandidate) {\n // rerender is needed as DOM is read after first render\n return rtlCandidate;\n }\n }\n return initialDir;\n}\n","import * as l from '@progress/kendo-licensing';\nvar allowed = ['telerik.com', 'progress.com', 'stackblitz.io', 'csb.app', 'webcontainer.io'];\nvar licensing = l;\nvar ls = typeof licensing !== 'undefined' && licensing.validatePackage\n ? licensing\n : licensing.default;\n/**\n * @hidden\n */\nexport function validatePackage(packageMetadata) {\n if (ls && ls.validatePackage) {\n ls.validatePackage(packageMetadata);\n }\n else {\n var message = \"License activation failed for \".concat(packageMetadata.name, \"\\n\");\n message += 'The @progress/kendo-licensing script is not loaded.\\n';\n message += \"See \".concat(packageMetadata.licensingDocsUrl, \" for more information.\\n\");\n console.warn(message);\n }\n}\n/**\n * @hidden\n */\nexport function shouldShowValidationUI(packageMetadata) {\n var skip = allowed.some(function (hostname) { var _a; return (_a = globalThis.document) === null || _a === void 0 ? void 0 : _a.location.hostname.endsWith(hostname); });\n return !skip && !(ls && ls.validatePackage && ls.validatePackage(packageMetadata));\n}\n","/** @hidden */\nexport var kendoThemeMaps = {\n sizeMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n },\n roundedMap: {\n small: 'sm',\n medium: 'md',\n large: 'lg'\n }\n};\n","/**\n * @hidden\n */\nvar getDocument = function () { return typeof document !== 'undefined' ? document : {}; };\n/**\n * @hidden\n */\nvar BrowserSupportService = /** @class */ (function () {\n function BrowserSupportService() {\n }\n Object.defineProperty(BrowserSupportService.prototype, \"scrollbarWidth\", {\n get: function () {\n var document = getDocument();\n if (!this.scrollbar && document && document.createElement) {\n var div = document.createElement('div');\n div.style.cssText = 'overflow:scroll;overflow-x:hidden;zoom:1;clear:both;display:block';\n div.innerHTML = ' ';\n document.body.appendChild(div);\n this.scrollbar = div.offsetWidth - div.scrollWidth;\n document.body.removeChild(div);\n }\n return this.scrollbar;\n },\n enumerable: false,\n configurable: true\n });\n return BrowserSupportService;\n}());\nexport { BrowserSupportService };\n","/**\n * Lists the possible states of a file.\n */\nexport var UploadFileStatus;\n(function (UploadFileStatus) {\n /**\n * Indicates that the file upload process has failed.\n */\n UploadFileStatus[UploadFileStatus[\"UploadFailed\"] = 0] = \"UploadFailed\";\n /**\n * An initially selected fake file without a set state.\n */\n UploadFileStatus[UploadFileStatus[\"Initial\"] = 1] = \"Initial\";\n /**\n * The file is selected.\n */\n UploadFileStatus[UploadFileStatus[\"Selected\"] = 2] = \"Selected\";\n /**\n * The file is in the process of uploading.\n */\n UploadFileStatus[UploadFileStatus[\"Uploading\"] = 3] = \"Uploading\";\n /**\n * The file is successfully uploaded.\n */\n UploadFileStatus[UploadFileStatus[\"Uploaded\"] = 4] = \"Uploaded\";\n /**\n * The remove process has failed.\n */\n UploadFileStatus[UploadFileStatus[\"RemoveFailed\"] = 5] = \"RemoveFailed\";\n /**\n * The file is in the process of removing.\n */\n UploadFileStatus[UploadFileStatus[\"Removing\"] = 6] = \"Removing\";\n})(UploadFileStatus || (UploadFileStatus = {}));\n","/**\n * @hidden\n */\nexport var SIZE_CLASSES = {\n 'default': '',\n 'xsmall': 'k-icon-xs',\n 'small': 'k-icon-sm',\n 'medium': 'k-icon-md',\n 'large': 'k-icon-lg',\n 'xlarge': 'k-icon-xl',\n 'xxlarge': 'k-icon-xxl',\n 'xxxlarge': 'k-icon-xxxl'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { SIZE_CLASSES } from './constants';\n/**\n * @hidden\n */\nvar FontIconVue2 = {\n name: 'KendoFontIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n name: String,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n title: String,\n tabIndex: Number\n },\n computed: {\n fontClassNames: function fontClassNames() {\n var _a;\n var _b = this.$props,\n name = _b.name,\n flip = _b.flip,\n size = _b.size,\n themeColor = _b.themeColor;\n return _a = {\n 'k-icon': true,\n 'k-font-icon': true\n }, _a['k-i-' + name] = name, _a['k-color-' + themeColor] = themeColor, _a['k-flip-h'] = flip === 'horizontal' || flip === 'both', _a['k-flip-v'] = flip === 'vertical' || flip === 'both', _a[SIZE_CLASSES[size]] = size, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n id = _a.id,\n title = _a.title,\n tabIndex = _a.tabIndex,\n ariaLabel = _a.ariaLabel;\n return h(\"span\", {\n \"class\": this.fontClassNames,\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n title: title,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex,\n role: \"presentation\"\n },\n title: title,\n \"aria-label\": ariaLabel,\n tabIndex: tabIndex,\n role: \"presentation\",\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n }\n });\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar FontIcon = FontIconVue2;\nexport { FontIcon, FontIconVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { SIZE_CLASSES } from './constants';\nimport { getDefaultSlots } from '../defaultSlots';\n/**\n * @hidden\n */\nvar SvgIconVue2 = {\n name: 'KendoSvgIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n props: {\n name: String,\n icon: Object,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n title: String,\n viewBox: {\n type: String,\n default: '0 0 24 24'\n },\n tabIndex: Number,\n svgClassName: String,\n svgStyle: Object\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a;\n var _b = this.$props,\n name = _b.name,\n flip = _b.flip,\n size = _b.size,\n themeColor = _b.themeColor;\n return _a = {\n 'k-icon': true,\n 'k-svg-icon': true\n }, _a['k-color-' + themeColor] = themeColor, _a['k-svg-i-' + name] = name, _a['k-flip-h'] = flip === 'horizontal' || flip === 'both', _a['k-flip-v'] = flip === 'vertical' || flip === 'both', _a[SIZE_CLASSES[size]] = size, _a;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n svgClassName = _a.svgClassName,\n icon = _a.icon,\n id = _a.id,\n tabIndex = _a.tabIndex,\n svgStyle = _a.svgStyle,\n viewBox = _a.viewBox,\n title = _a.title,\n ariaLabel = _a.ariaLabel;\n var innerHTML = icon ? icon.content : undefined;\n var attrs = {\n id: id,\n title: title,\n 'aria-hidden': true,\n tabIndex: tabIndex,\n ariaLabel: ariaLabel,\n focusable: 'false',\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: icon ? icon.viewBox : viewBox\n };\n var svg = h('svg', __assign(__assign({}, attrs), {\n attrs: this.v3 ? undefined : attrs,\n domProps: this.v3 ? undefined : {\n innerHTML: innerHTML\n },\n innerHTML: innerHTML,\n 'class': svgClassName,\n style: svgStyle\n }), icon ? [] : [defaultSlot]);\n return h(\"span\", {\n \"class\": this.wrapperClass,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick\n },\n \"aria-hidden\": true,\n attrs: this.v3 ? undefined : {\n \"aria-hidden\": true\n }\n }, [svg]);\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar SvgIcon = SvgIconVue2;\nexport { SvgIcon, SvgIconVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { FontIcon } from './FontIcon';\nimport { SvgIcon } from './SvgIcon';\n/**\n * @hidden\n */\nvar IconVue2 = {\n name: 'KendoIcon',\n // @ts-ignore\n emits: {\n click: null\n },\n inject: {\n kendoIcons: {\n default: {\n type: 'svg',\n icons: {}\n }\n }\n },\n props: {\n name: String,\n icon: Object,\n title: String,\n themeColor: {\n type: String\n },\n size: {\n type: String\n },\n flip: {\n type: String\n },\n id: String,\n ariaLabel: String,\n viewBox: {\n type: String,\n default: '0 0 24 24'\n },\n tabIndex: Number\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n name = _a.name,\n icon = _a.icon,\n themeColor = _a.themeColor,\n size = _a.size,\n flip = _a.flip,\n id = _a.id,\n viewBox = _a.viewBox,\n tabIndex = _a.tabIndex,\n title = _a.title,\n ariaLabel = _a.ariaLabel;\n var svg = name && this.kendoIcons && this.kendoIcons.icons && this.kendoIcons.icons[name] || icon;\n var renderSVG = this.kendoIcons && this.kendoIcons.type === 'svg' && svg !== undefined;\n var newSize = this.kendoIcons && this.kendoIcons.size ? this.kendoIcons.size : size;\n var newFlip = this.kendoIcons && this.kendoIcons.flip ? this.kendoIcons.flip : flip;\n var resolvedName = name || (icon && icon.name ? icon.name : undefined);\n var commonProps = {\n themeColor: themeColor,\n size: newSize,\n flip: newFlip,\n id: id,\n tabIndex: tabIndex,\n title: title,\n ariaLabel: ariaLabel\n };\n var fontIcon = h(FontIcon, __assign(__assign({}, commonProps), {\n name: resolvedName,\n attrs: this.v3 ? undefined : __assign(__assign({}, commonProps), {\n name: resolvedName\n }),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n 'click': this.handleClick\n }\n }));\n var svgIcon = h(SvgIcon, __assign(__assign({}, commonProps), {\n icon: svg,\n viewBox: viewBox,\n name: resolvedName,\n attrs: this.v3 ? undefined : __assign(__assign({}, commonProps), {\n icon: svg,\n viewBox: viewBox,\n name: resolvedName\n }),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n 'click': this.handleClick\n }\n }));\n return renderSVG ? svgIcon : fontIcon;\n },\n methods: {\n handleClick: function handleClick(e) {\n this.$emit('click', e);\n }\n }\n};\n/**\n * @hidden\n */\nvar Icon = IconVue2;\nexport { Icon, IconVue2 };","var getIconName = function (iconName) {\n return (iconName && iconName.indexOf('k-i-') !== -1)\n ? iconName.split('k-i-')[1]\n : iconName;\n};\nexport { getIconName };\n","import * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n// @ts-ignore\nvar licenseKeyUrl = 'https://www.telerik.com/kendo-vue-ui/components/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-banner';\nvar banners = new Array();\nvar WatermarkOverlayVue2 = {\n name: 'KendoWatermarkOverlay',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n this.bannerWrapper = this.$refs.banner;\n banners.push(this.bannerWrapper);\n if (document && document.body) {\n document.body.append(this.bannerWrapper);\n }\n if (banners.length > 1) {\n for (var i = 1; i < banners.length; i++) {\n var bannerElement = banners[i];\n bannerElement.remove();\n }\n }\n },\n beforeDestroy: !!isV3 ? undefined : function () {\n this.bannerWrapper.remove();\n banners = [];\n },\n beforeUnmount: function beforeUnmount() {\n this.bannerWrapper.remove();\n banners = [];\n },\n data: function data() {\n return {\n watermarkStyles: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n opacity: 0.12,\n 'z-index': 101,\n 'pointer-events': 'none',\n 'background-image': 'url(\\'data:image/png;base64,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\\')'\n },\n bannerStyles: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n position: 'fixed',\n top: '16px',\n right: '16px',\n padding: '12px',\n 'border-radius': '4px',\n 'box-shadow': '0px 4px 5px 0px rgba(0, 0, 0, 0.04), 0px 2px 4px 0px rgba(0, 0, 0, 0.03)',\n 'font-size': '14px',\n 'font-weight': 400,\n 'line-height': '20px',\n 'background-color': '#FFC000',\n color: '#1E1E1E',\n 'z-index': 999999\n },\n bannerButtonStyles: {\n display: 'inline-flex',\n position: 'relative',\n border: 'none',\n 'border-radius': '4px',\n padding: '5px',\n 'background-color': 'transparent',\n transition: 'color 0.2s ease-in-out',\n outline: 'none',\n cursor: 'pointer'\n },\n showBanner: true\n };\n },\n methods: {\n onCloseBannerClick: function onCloseBannerClick() {\n this.showBanner = false;\n banners = [];\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var bannerElement = this.showBanner && h(\"div\", {\n style: this.bannerStyles,\n ref: 'banner'\n }, [h(\"span\", {\n style: {\n display: 'flex',\n alignSelf: 'center',\n marginRight: '8px'\n }\n }, [h(\"svg\", {\n width: \"16\",\n attrs: this.v3 ? undefined : {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n },\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n }, [h(\"path\", {\n \"fill-rule\": \"evenodd\",\n attrs: this.v3 ? undefined : {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M8 1L0 15H16L8 1ZM7 6V11H9V6H7ZM7 14V12H9V14H7Z\",\n fill: \"#1E1E1E\"\n },\n \"clip-rule\": \"evenodd\",\n d: \"M8 1L0 15H16L8 1ZM7 6V11H9V6H7ZM7 14V12H9V14H7Z\",\n fill: \"#1E1E1E\"\n })])]), h(\"span\", [\"No valid license found for Kendo UI for Vue. Learn how to activate your license.\"]), h(\"div\", {\n style: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '24px'\n }\n }, [h(\"a\", {\n href: licenseKeyUrl,\n attrs: this.v3 ? undefined : {\n href: licenseKeyUrl\n },\n style: {\n marginRight: '8px',\n display: 'flex'\n }\n }, [h(\"button\", {\n title: \"Learn More\",\n attrs: this.v3 ? undefined : {\n title: \"Learn More\"\n },\n style: this.bannerButtonStyles\n }, [h(\"svg\", {\n width: \"16\",\n attrs: this.v3 ? undefined : {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n },\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n }, [h(\"path\", {\n d: \"M15 8C15 11.8656 11.8656 15 8 15C4.13437 15 1 11.8656 1 8C1 4.13437 4.13437 1 8 1C11.8656 1 15 4.13437 15 8ZM14 8C14 4.6875 11.3125 2 8 2C4.6875 2 2 4.6875 2 8C2 11.3125 4.6875 14 8 14C11.3125 14 14 11.3125 14 8ZM11 6C11 7.4125 10.2687 8.05937 9.73125 8.53125C9.25937 8.94688 9 9.17813 9 10H7C7 8.275 7.84688 7.525 8.40938 7.03125C8.84062 6.65312 9 6.50938 9 6C9 5.45 8.55 5 8 5C7.45 5 7 5.45 7 6H5C5 4.34375 6.34375 3 8 3C9.65625 3 11 4.34375 11 6ZM9 13V11H7V13H9Z\",\n attrs: this.v3 ? undefined : {\n d: \"M15 8C15 11.8656 11.8656 15 8 15C4.13437 15 1 11.8656 1 8C1 4.13437 4.13437 1 8 1C11.8656 1 15 4.13437 15 8ZM14 8C14 4.6875 11.3125 2 8 2C4.6875 2 2 4.6875 2 8C2 11.3125 4.6875 14 8 14C11.3125 14 14 11.3125 14 8ZM11 6C11 7.4125 10.2687 8.05937 9.73125 8.53125C9.25937 8.94688 9 9.17813 9 10H7C7 8.275 7.84688 7.525 8.40938 7.03125C8.84062 6.65312 9 6.50938 9 6C9 5.45 8.55 5 8 5C7.45 5 7 5.45 7 6H5C5 4.34375 6.34375 3 8 3C9.65625 3 11 4.34375 11 6ZM9 13V11H7V13H9Z\",\n fill: \"#1E1E1E\"\n },\n fill: \"#1E1E1E\"\n })])])]), h(\"button\", {\n title: \"Close\",\n attrs: this.v3 ? undefined : {\n title: \"Close\"\n },\n style: this.bannerButtonStyles,\n onClick: this.onCloseBannerClick,\n on: this.v3 ? undefined : {\n \"click\": this.onCloseBannerClick\n }\n }, [h(\"svg\", {\n width: \"16\",\n attrs: this.v3 ? undefined : {\n width: \"16\",\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n },\n height: \"16\",\n viewBox: \"0 0 16 16\",\n fill: \"none\"\n }, [h(\"path\", {\n d: \"M13 4.41562L9.41563 8L13 11.5844L11.5844 13L8 9.41563L4.41562 13L3 11.5844L6.58437 8L3 4.41562L4.41562 3L8 6.58437L11.5844 3L13 4.41562Z\",\n attrs: this.v3 ? undefined : {\n d: \"M13 4.41562L9.41563 8L13 11.5844L11.5844 13L8 9.41563L4.41562 13L3 11.5844L6.58437 8L3 4.41562L4.41562 3L8 6.58437L11.5844 3L13 4.41562Z\",\n fill: \"#1E1E1E\"\n },\n fill: \"#1E1E1E\"\n })])])])]);\n return h(\"div\", {\n style: this.watermarkStyles\n }, [bannerElement]);\n }\n};\n/**\n * @hidden\n */\nvar WatermarkOverlay = WatermarkOverlayVue2;\nexport { WatermarkOverlay, WatermarkOverlayVue2 };","/**\n * @hidden\n */\nexport var FOCUSABLE_ELEMENTS = [\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]'\n];\n/**\n * @hidden\n */\nvar Navigation = /** @class */ (function () {\n function Navigation(options) {\n var _this = this;\n this.rovingTabIndex = true;\n this.update = function () { };\n this.focusNextIndex = function (target, indexDiff) {\n var all = _this.elements;\n var index = all.indexOf(target) + indexDiff;\n index = index < 0 ? all.length - 1 : index;\n _this.focusElement(all[index % all.length], target);\n };\n this.tabIndex = options.tabIndex || 0;\n this.root = options.root;\n this.selectors = options.selectors;\n this.rovingTabIndex = options.rovingTabIndex !== undefined ? options.rovingTabIndex : true;\n this.mouseEvents = options.mouseEvents || {};\n this.keyboardEvents = options.keyboardEvents || {};\n }\n Object.defineProperty(Navigation.prototype, \"elements\", {\n get: function () {\n return this.root ? Array.from(this.root.querySelectorAll(this.selectors.join(','))) : [];\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"first\", {\n get: function () {\n return (this.root && this.root.querySelector(this.selectors.join(','))) || null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"last\", {\n get: function () {\n var all = this.elements;\n return all[all.length - 1] || null;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Navigation.prototype, \"current\", {\n get: function () {\n return this.elements.find(function (el) { return el.matches(':focus'); }) || null;\n },\n enumerable: false,\n configurable: true\n });\n Navigation.prototype.focusNext = function (target) {\n this.focusNextIndex(target, 1);\n };\n Navigation.prototype.focusPrevious = function (target) {\n this.focusNextIndex(target, -1);\n };\n Navigation.prototype.triggerKeyboardEvent = function (ev) {\n var target = ev.target instanceof Element && ev.target.closest(this.selectors.join(','));\n var key = ev.key === ' ' ? 'Space' : ev.key;\n var eventType = ev.type;\n if (target && this.keyboardEvents[eventType][key]) {\n this.keyboardEvents[eventType][key].call(undefined, target, this, ev);\n }\n };\n Navigation.prototype.triggerMouseEvent = function (ev) {\n var target = ev.target instanceof Element && ev.target.closest(this.selectors.join(','));\n var eventType = ev.type;\n if (target) {\n this.mouseEvents[eventType].call(undefined, target, this, ev);\n }\n };\n Navigation.prototype.focusElement = function (element, previous) {\n if (element) {\n if (previous) {\n if (this.rovingTabIndex) {\n previous.removeAttribute('tabindex');\n }\n previous.classList.remove('k-focus');\n }\n if (this.rovingTabIndex) {\n element.setAttribute('tabindex', String(this.tabIndex));\n }\n element.focus({ preventScroll: true });\n }\n };\n return Navigation;\n}());\nexport { Navigation };\n","var _a;\n/**\n * @hidden\n */\nexport var cancel = 'upload.cancel';\n/**\n * @hidden\n */\nexport var clearSelectedFiles = 'upload.clearSelectedFiles';\n/**\n * @hidden\n */\nexport var dropFilesHere = 'upload.dropFilesHere';\n/**\n * @hidden\n */\nexport var headerStatusUploaded = 'upload.headerStatusUploaded';\n/**\n * @hidden\n */\nexport var headerStatusUploading = 'upload.headerStatusUploading';\n/**\n * @hidden\n */\nexport var invalidFileExtension = 'upload.invalidFileExtension';\n/**\n * @hidden\n */\nexport var invalidFiles = 'upload.invalidFiles';\n/**\n * @hidden\n */\nexport var invalidMaxFileSize = 'upload.invalidMaxFileSize';\n/**\n * @hidden\n */\nexport var invalidMinFileSize = 'upload.invalidMinFileSize';\n/**\n * @hidden\n */\nexport var remove = 'upload.remove';\n/**\n * @hidden\n */\nexport var retry = 'upload.retry';\n/**\n * @hidden\n */\nexport var select = 'upload.select';\n/**\n * @hidden\n */\nexport var selectTitle = 'upload.selectTitle';\n/**\n * @hidden\n */\nexport var selectNoFilesTitle = 'upload.selectNoFilesTitle';\n/**\n * @hidden\n */\nexport var uploadSelectedFiles = 'upload.uploadSelectedFiles';\n/**\n * @hidden\n */\nexport var total = 'upload.total';\n/**\n * @hidden\n */\nexport var files = 'upload.files';\n/**\n * @hidden\n */\nexport var statusUploaded = 'upload.statusUploaded';\n/**\n * @hidden\n */\nexport var statusUploadFailed = 'upload.statusUploadFailed';\n/**\n * @hidden\n */\nexport var dropZoneHint = 'upload.dropZoneHint';\n/**\n * @hidden\n */\nexport var dropZoneNote = 'upload.dropZoneNote';\n/**\n * @hidden\n */\nexport var messages = (_a = {},\n _a[cancel] = 'Cancel',\n _a[clearSelectedFiles] = 'Clear',\n _a[dropFilesHere] = 'Drop files here to upload',\n _a[headerStatusUploaded] = 'Done',\n _a[headerStatusUploading] = 'Uploading...',\n _a[invalidFileExtension] = 'File type not allowed.',\n _a[invalidFiles] = 'Invalid file(s). Please check file upload requirements.',\n _a[invalidMaxFileSize] = 'File size too large.',\n _a[invalidMinFileSize] = 'File size too small.',\n _a[remove] = 'Remove',\n _a[retry] = 'Retry',\n _a[select] = 'Select files...',\n _a[selectTitle] = 'Press to select more files',\n _a[selectNoFilesTitle] = 'No files selected',\n _a[uploadSelectedFiles] = 'Upload',\n _a[total] = 'Total',\n _a[files] = 'files',\n _a[statusUploaded] = 'File(s) successfully uploaded.',\n _a[statusUploadFailed] = 'File(s) failed to upload.',\n _a[dropZoneHint] = 'Drag and drop files here to upload.',\n _a[dropZoneNote] = 'Only JPEG and PNG files are allowed.',\n _a);\n","/**\n * @hidden\n */\nexport var FOCUS_ACTION;\n(function (FOCUS_ACTION) {\n FOCUS_ACTION[\"next\"] = \"next\";\n FOCUS_ACTION[\"prev\"] = \"prev\";\n FOCUS_ACTION[\"current\"] = \"current\";\n FOCUS_ACTION[\"reset\"] = \"reset\";\n})(FOCUS_ACTION || (FOCUS_ACTION = {}));\n/**\n * @hidden\n */\nexport var focusReducer = function focusReducer(state, action) {\n var currentIndex = action.items.findIndex(function (i) {\n return i === state;\n });\n switch (action.type) {\n case FOCUS_ACTION.next:\n return currentIndex === action.items.length - 1 ? state : action.items[currentIndex + 1];\n case FOCUS_ACTION.prev:\n return currentIndex === 0 ? state : action.items[currentIndex - 1];\n case FOCUS_ACTION.current:\n return action.payload;\n case FOCUS_ACTION.reset:\n return null;\n default:\n return state;\n }\n};","/**\n * @hidden\n */\nvar outerHeight = function (element) {\n if (!element) {\n return 0;\n }\n var wnd = element.ownerDocument.defaultView;\n var computedStyles = wnd.getComputedStyle(element);\n var marginTop = parseFloat(computedStyles.marginTop);\n var marginBottom = parseFloat(computedStyles.marginBottom);\n return element.offsetHeight + marginTop + marginBottom;\n};\n/**\n * @hidden\n */\nvar outerWidth = function (element) {\n if (!element) {\n return 0;\n }\n var wnd = element.ownerDocument.defaultView;\n var computedStyles = wnd.getComputedStyle(element);\n var marginLeft = parseFloat(computedStyles.marginLeft);\n var marginRight = parseFloat(computedStyles.marginRight);\n return element.offsetWidth + marginLeft + marginRight;\n};\n/**\n * @hidden\n */\nvar styles = {\n 'animation-container': 'k-animation-container',\n 'animation-container-relative': 'k-animation-container-relative',\n 'animation-container-fixed': 'k-animation-container-fixed',\n 'push-right-enter': 'k-push-right-enter',\n 'push-right-appear': 'k-push-right-appear',\n 'push-right-enter-active': 'k-push-right-enter-active',\n 'push-right-appear-active': 'k-push-right-appear-active',\n 'push-right-exit': 'k-push-right-exit',\n 'push-right-exit-active': 'k-push-right-exit-active',\n 'push-left-enter': 'k-push-left-enter',\n 'push-left-appear': 'k-push-left-appear',\n 'push-left-enter-active': 'k-push-left-enter-active',\n 'push-left-appear-active': 'k-push-left-appear-active',\n 'push-left-exit': 'k-push-left-exit',\n 'push-left-exit-active': 'k-push-left-exit-active',\n 'push-down-enter': 'k-push-down-enter',\n 'push-down-appear': 'k-push-down-appear',\n 'push-down-enter-active': 'k-push-down-enter-active',\n 'push-down-appear-active': 'k-push-down-appear-active',\n 'push-down-exit': 'k-push-down-exit',\n 'push-down-exit-active': 'k-push-down-exit-active',\n 'push-up-enter': 'k-push-up-enter',\n 'push-up-appear': 'k-push-up-appear',\n 'push-up-enter-active': 'k-push-up-enter-active',\n 'push-up-appear-active': 'k-push-up-appear-active',\n 'push-up-exit': 'k-push-up-exit',\n 'push-up-exit-active': 'k-push-up-exit-active',\n 'expand': 'k-expand',\n 'expand-vertical-enter': 'k-expand-vertical-enter',\n 'expand-vertical-appear': 'k-expand-vertical-appear',\n 'expand-vertical-enter-active': 'k-expand-vertical-enter-active',\n 'expand-vertical-appear-active': 'k-expand-vertical-appear-active',\n 'expand-vertical-exit': 'k-expand-vertical-exit',\n 'expand-vertical-exit-active': 'k-expand-vertical-exit-active',\n 'expand-horizontal-enter': 'k-expand-horizontal-enter',\n 'expand-horizontal-appear': 'k-expand-horizontal-appear',\n 'expand-horizontal-enter-active': 'k-expand-horizontal-enter-active',\n 'expand-horizontal-appear-active': 'k-expand-horizontal-appear-active',\n 'expand-horizontal-exit': 'k-expand-horizontal-exit',\n 'expand-horizontal-exit-active': 'k-expand-horizontal-exit-active',\n 'child-animation-container': 'k-child-animation-container',\n 'fade-enter': 'k-fade-enter',\n 'fade-appear': 'k-fade-appear',\n 'fade-enter-active': 'k-fade-enter-active',\n 'fade-appear-active': 'k-fade-appear-active',\n 'fade-exit': 'k-fade-exit',\n 'fade-exit-active': 'k-fade-exit-active',\n 'zoom-in-enter': 'k-zoom-in-enter',\n 'zoom-in-appear': 'k-zoom-in-appear',\n 'zoom-in-enter-active': 'k-zoom-in-enter-active',\n 'zoom-in-appear-active': 'k-zoom-in-appear-active',\n 'zoom-in-exit': 'k-zoom-in-exit',\n 'zoom-in-exit-active': 'k-zoom-in-exit-active',\n 'zoom-out-enter': 'k-zoom-out-enter',\n 'zoom-out-appear': 'k-zoom-out-appear',\n 'zoom-out-enter-active': 'k-zoom-out-enter-active',\n 'zoom-out-appear-active': 'k-zoom-out-appear-active',\n 'zoom-out-exit': 'k-zoom-out-exit',\n 'zoom-out-exit-active': 'k-zoom-out-exit-active',\n 'slide-in-appear': 'k-slide-in-appear',\n 'centered': 'k-centered',\n 'slide-in-appear-active': 'k-slide-in-appear-active',\n 'slide-down-enter': 'k-slide-down-enter',\n 'slide-down-appear': 'k-slide-down-appear',\n 'slide-down-enter-active': 'k-slide-down-enter-active',\n 'slide-down-appear-active': 'k-slide-down-appear-active',\n 'slide-down-exit': 'k-slide-down-exit',\n 'slide-down-exit-active': 'k-slide-down-exit-active',\n 'slide-up-enter': 'k-slide-up-enter',\n 'slide-up-appear': 'k-slide-up-appear',\n 'slide-up-enter-active': 'k-slide-up-enter-active',\n 'slide-up-appear-active': 'k-slide-up-appear-active',\n 'slide-up-exit': 'k-slide-up-exit',\n 'slide-up-exit-active': 'k-slide-up-exit-active',\n 'slide-right-enter': 'k-slide-right-enter',\n 'slide-right-appear': 'k-slide-right-appear',\n 'slide-right-enter-active': 'k-slide-right-enter-active',\n 'slide-right-appear-active': 'k-slide-right-appear-active',\n 'slide-right-exit': 'k-slide-right-exit',\n 'slide-right-exit-active': 'k-slide-right-exit-active',\n 'slide-left-enter': 'k-slide-left-enter',\n 'slide-left-appear': 'k-slide-left-appear',\n 'slide-left-enter-active': 'k-slide-left-enter-active',\n 'slide-left-appear-active': 'k-slide-left-appear-active',\n 'slide-left-exit': 'k-slide-left-exit',\n 'slide-left-exit-active': 'k-slide-left-exit-active',\n 'reveal-vertical-enter': 'k-reveal-vertical-enter',\n 'reveal-vertical-appear': 'k-reveal-vertical-appear',\n 'reveal-vertical-enter-active': 'k-reveal-vertical-enter-active',\n 'reveal-vertical-appear-active': 'k-reveal-vertical-appear-active',\n 'reveal-vertical-exit': 'k-reveal-vertical-exit',\n 'reveal-vertical-exit-active': 'k-reveal-vertical-exit-active',\n 'reveal-horizontal-enter': 'k-reveal-horizontal-enter',\n 'reveal-horizontal-appear': 'k-reveal-horizontal-appear',\n 'reveal-horizontal-enter-active': 'k-reveal-horizontal-enter-active',\n 'reveal-horizontal-appear-active': 'k-reveal-horizontal-appear-active',\n 'reveal-horizontal-exit': 'k-reveal-horizontal-exit',\n 'reveal-horizontal-exit-active': 'k-reveal-horizontal-exit-active'\n};\n/**\n * @hidden\n */\nexport default {\n outerHeight: outerHeight,\n outerWidth: outerWidth,\n styles: styles\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar Transition = allVue.Transition;\nimport util from './util';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar AnimationChildVue2 = {\n props: {\n in: Boolean,\n transitionName: {\n type: String,\n required: true\n },\n transitionStyle: Object,\n componentChildClassName: [Array],\n className: String,\n appear: {\n type: Boolean,\n default: true\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: Number,\n transitionExitDuration: Number,\n mountOnEnter: Boolean,\n unmountOnExit: Boolean,\n animationEnteringStyle: Object,\n animationEnteredStyle: Object,\n animationExitingStyle: Object,\n animationExitedStyle: Object\n },\n created: function created() {\n this.animationStep = '';\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var elementRef = ref(null);\n return {\n v3: v3,\n elementRef: elementRef\n };\n },\n mounted: function mounted() {\n this._element = this.v3 ? this.elementRef || null : this.$refs.element || null;\n },\n computed: {\n element: {\n get: function get() {\n return this._element;\n }\n }\n },\n methods: {\n onBeforeEnter: function onBeforeEnter(e) {\n this.$emit('beforeenter', {\n animatedElement: e,\n target: this\n });\n },\n onEnter: function onEnter(e) {\n this.animationStep = 'entering';\n this.$emit('entering', {\n animatedElement: e,\n target: this\n });\n },\n onAfterEnter: function onAfterEnter(e) {\n this.animationStep = 'entered';\n this.$emit('entered', {\n animatedElement: e,\n target: this\n });\n },\n onBeforeLeave: function onBeforeLeave(e) {\n this.$emit('exit', {\n animatedElement: e,\n target: this\n });\n },\n onLeave: function onLeave(e) {\n this.animationStep = 'exiting';\n this.$emit('exiting', {\n animatedElement: e,\n target: this\n });\n },\n onAfterLeave: function onAfterLeave(e) {\n this.animationStep = 'exited';\n this.$emit('exited', {\n animatedElement: e,\n target: this\n });\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n appear = _a.appear,\n enter = _a.enter,\n exit = _a.exit,\n transitionName = _a.transitionName,\n transitionEnterDuration = _a.transitionEnterDuration,\n transitionExitDuration = _a.transitionExitDuration,\n className = _a.className,\n componentChildClassName = _a.componentChildClassName,\n mountOnEnter = _a.mountOnEnter,\n unmountOnExit = _a.unmountOnExit,\n animationEnteringStyle = _a.animationEnteringStyle,\n animationEnteredStyle = _a.animationEnteredStyle,\n animationExitingStyle = _a.animationExitingStyle,\n animationExitedStyle = _a.animationExitedStyle,\n other = __rest(_a, [\"appear\", \"enter\", \"exit\", \"transitionName\", \"transitionEnterDuration\", \"transitionExitDuration\", \"className\", \"componentChildClassName\", \"mountOnEnter\", \"unmountOnExit\", \"animationEnteringStyle\", \"animationEnteredStyle\", \"animationExitingStyle\", \"animationExitedStyle\"]);\n var defaultSlot = getDefaultSlots(this);\n var hasChildren = this.v3 ? appear : !!defaultSlot;\n var transitionTag = this.v3 ? Transition : 'transition';\n var childAnimationContainerClassNames = [componentChildClassName, styles['child-animation-container']];\n var enterDuration = enter ? transitionEnterDuration : 0;\n var exitDuration = exit ? transitionExitDuration : 0;\n var defaultStyle = __assign({\n transitionDelay: '0ms',\n transitionDuration: hasChildren ? \"\".concat(enterDuration, \"ms\") : \"\".concat(exitDuration, \"ms\")\n }, this.$props.transitionStyle);\n var animationStyle = {\n entering: __assign({\n transitionDuration: \"\".concat(enterDuration, \"ms\")\n }, animationEnteringStyle),\n entered: __assign({}, animationEnteredStyle),\n exiting: __assign({\n transitionDuration: \"\".concat(exitDuration, \"ms\")\n }, animationExitingStyle),\n exited: __assign({}, animationExitedStyle)\n };\n var childElementStyles = [defaultStyle, animationStyle[this.animationStep]];\n var duration = {\n enter: enterDuration,\n leave: exitDuration\n };\n var rendererChildren = [hasChildren ? h('div', {\n style: childElementStyles,\n 'class': childAnimationContainerClassNames,\n ref: this.v3 ? function (el) {\n _this.elementRef = el;\n } : 'element'\n }, [defaultSlot]) : null];\n return h(transitionTag, {\n duration: duration,\n attrs: this.v3 ? null : {\n duration: duration,\n name: transitionName,\n appear: appear,\n appearClass: styles[\"\".concat(transitionName, \"-appear\")] || \"\".concat(transitionName, \"-appear\"),\n appearToClass: styles[\"\".concat(transitionName, \"-appear-active\")] || \"\".concat(transitionName, \"-appear-active\"),\n enterClass: styles[\"\".concat(transitionName, \"-enter\")] || \"\".concat(transitionName, \"-enter\"),\n enterToClass: styles[\"\".concat(transitionName, \"-enter-active\")] || \"\".concat(transitionName, \"-enter-active\"),\n leaveClass: styles[\"\".concat(transitionName, \"-exit\")] || \"\".concat(transitionName, \"-exit\"),\n leaveToClass: styles[\"\".concat(transitionName, \"-exit-active\")] || \"\".concat(transitionName, \"-exit-active\")\n },\n name: transitionName,\n appear: appear,\n appearFromClass: styles[\"\".concat(transitionName, \"-appear\")] || \"\".concat(transitionName, \"-appear\"),\n enterFromClass: styles[\"\".concat(transitionName, \"-enter\")] || \"\".concat(transitionName, \"-enter\"),\n leaveFromClass: styles[\"\".concat(transitionName, \"-exit\")] || \"\".concat(transitionName, \"-exit\"),\n appearToClass: styles[\"\".concat(transitionName, \"-appear-active\")] || \"\".concat(transitionName, \"-appear-active\"),\n enterToClass: styles[\"\".concat(transitionName, \"-enter-active\")] || \"\".concat(transitionName, \"-enter-active\"),\n leaveToClass: styles[\"\".concat(transitionName, \"-exit-active\")] || \"\".concat(transitionName, \"-exit-active\"),\n onBeforeEnter: this.onBeforeEnter,\n on: this.v3 ? null : {\n 'beforeEnter': this.onBeforeEnter,\n 'enter': this.onEnter,\n 'afterEnter': this.onAfterEnter,\n 'beforeLeave': this.onBeforeLeave,\n 'leave': this.onLeave,\n 'afterLeave': this.onAfterLeave\n },\n onEnter: this.onEnter,\n onAfterEnter: this.onAfterEnter,\n onBeforeLeave: this.onBeforeLeave,\n onLeave: this.onLeave,\n onAfterLeave: this.onAfterLeave\n }, this.v3 ? function () {\n return rendererChildren;\n } : rendererChildren);\n }\n};\n/**\n * @hidden\n */\nvar AnimationChild = AnimationChildVue2;\nexport { AnimationChild, AnimationChildVue2 };","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-animation',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1708437970,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { AnimationChild } from './AnimationChild';\nimport { getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar AnimationVue2 = {\n props: {\n componentChildStyle: Object,\n childFactory: Object,\n className: String,\n tag: String,\n id: String,\n animationEnteringStyle: Object,\n animationExitingStyle: Object,\n componentChildClassName: [Array],\n transitionName: {\n type: String,\n required: true\n },\n appear: {\n type: Boolean,\n default: true\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number\n },\n transitionExitDuration: {\n type: Number\n }\n },\n methods: {\n onEntering: function onEntering(e) {\n this.$emit('entering', e);\n },\n onEnter: function onEnter(e) {\n this.$emit('enter', e);\n },\n onEntered: function onEntered(e) {\n this.$emit('entered', e);\n },\n onExit: function onExit(e) {\n this.$emit('exit', e);\n },\n onExiting: function onExiting(e) {\n this.$emit('exiting', e);\n },\n onExited: function onExited(e) {\n this.$emit('exited', e);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n id = _a.id,\n tag = _a.tag,\n role = _a.role,\n className = _a.className,\n childFactory = _a.childFactory,\n stackChildren = _a.stackChildren,\n componentChildStyle = _a.componentChildStyle,\n componentChildClassName = _a.componentChildClassName,\n other = __rest(_a, [\"id\", \"tag\", \"role\", \"className\", \"childFactory\", \"stackChildren\", \"componentChildStyle\", \"componentChildClassName\"]);\n var parentDivClass = [styles['animation-container'], styles['animation-container-relative'], className];\n return h(\"div\", {\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n role: role\n },\n \"class\": parentDivClass,\n role: role\n }, [\n // @ts-ignore function children\n h(AnimationChild, {\n key: 'some',\n style: componentChildStyle,\n appear: this.$props.appear,\n attrs: this.v3 ? undefined : {\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionName: this.$props.transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n animationEnteringStyle: this.$props.animationEnteringStyle,\n animationExitingStyle: this.$props.animationExitingStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionName: this.$props.transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n onBeforeenter: this.onEnter,\n on: this.v3 ? undefined : {\n \"beforeenter\": this.onEnter,\n \"entering\": this.onEntering,\n \"entered\": this.onEntered,\n \"exit\": this.onExit,\n \"exiting\": this.onExiting,\n \"exited\": this.onExited\n },\n onEntering: this.onEntering,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited,\n animationEnteringStyle: this.$props.animationEnteringStyle,\n animationExitingStyle: this.$props.animationExitingStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])]);\n }\n};\n/**\n * @hidden\n */\nvar Animation = AnimationVue2;\nexport { Animation, AnimationVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar FadeVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: false\n },\n transitionEnterDuration: {\n type: Number,\n default: 500\n },\n transitionExitDuration: {\n type: Number,\n default: 500\n },\n componentChildStyle: Object,\n childFactory: Object,\n className: String,\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: \"fade\",\n attrs: this.v3 ? undefined : {\n transitionName: \"fade\",\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n componentChildStyle: this.$props.componentChildStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n componentChildStyle: this.$props.componentChildStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Fade = FadeVue2;\nexport { Fade, FadeVue2 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ExpandVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'vertical'\n },\n componentChildStyle: Object,\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n direction = _a.direction,\n other = __rest(_a, [\"direction\"]);\n var transitionName = \"expand-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n componentChildStyle: this.$props.componentChildStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n componentChildStyle: this.$props.componentChildStyle,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Expand = ExpandVue2;\nexport { Expand, ExpandVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar EXITING_ANIMATION_STYLE = {\n position: 'absolute',\n top: '0',\n left: '0'\n};\n/**\n * @hidden\n */\nvar PushVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n componentChildStyle: Object,\n className: String,\n direction: {\n type: String,\n default: 'right'\n },\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var transitionName = \"push-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n componentChildStyle: this.$props.componentChildStyle,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n componentChildStyle: this.$props.componentChildStyle,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Push = PushVue2;\nexport { Push, PushVue2 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar SlideVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n componentChildClassName: [Array],\n childFactory: Object,\n componentChildStyle: Object,\n className: String,\n direction: {\n type: String,\n default: 'down'\n },\n tag: String,\n id: String,\n role: String\n },\n methods: {\n onEntering: function onEntering(e) {\n this.$emit('entering', e);\n },\n onEnter: function onEnter(e) {\n this.$emit('enter', e);\n },\n onEntered: function onEntered(e) {\n this.$emit('entered', e);\n },\n onExit: function onExit(e) {\n this.$emit('exit', e);\n },\n onExiting: function onExiting(e) {\n this.$emit('exiting', e);\n },\n onExited: function onExited(e) {\n this.$emit('exited', e);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n direction = _a.direction,\n id = _a.id,\n other = __rest(_a, [\"direction\", \"id\"]);\n var transitionName = \"slide-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n transitionName: transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n componentChildStyle: this.$props.componentChildStyle,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n },\n transitionName: transitionName,\n componentChildClassName: this.$props.componentChildClassName,\n componentChildStyle: this.$props.componentChildStyle,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n onEnter: this.onEnter,\n on: this.v3 ? undefined : {\n \"enter\": this.onEnter,\n \"entering\": this.onEntering,\n \"entered\": this.onEntered,\n \"exit\": this.onExit,\n \"exiting\": this.onExiting,\n \"exited\": this.onExited\n },\n onEntering: this.onEntering,\n onEntered: this.onEntered,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Slide = SlideVue2;\nexport { Slide, SlideVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\nvar EXITING_ANIMATION_STYLE = {\n position: 'absolute',\n top: '0',\n left: '0'\n};\n/**\n * @hidden\n */\nvar ZoomVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n stackChildren: {\n type: Boolean,\n default: false\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'out'\n },\n tag: String,\n id: String\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var transitionName = \"zoom-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n transitionName: transitionName,\n attrs: this.v3 ? undefined : {\n transitionName: transitionName,\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n },\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n animationExitingStyle: this.$props.stackChildren ? EXITING_ANIMATION_STYLE : undefined\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Zoom = ZoomVue2;\nexport { Zoom, ZoomVue2 };","var __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Animation } from './Animation';\nimport util from './util';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar noop = function noop() {};\n/**\n * @hidden\n */\nvar RevealVue2 = {\n props: {\n appear: {\n type: Boolean,\n default: false\n },\n enter: {\n type: Boolean,\n default: true\n },\n exit: {\n type: Boolean,\n default: true\n },\n transitionEnterDuration: {\n type: Number,\n default: 300\n },\n transitionExitDuration: {\n type: Number,\n default: 300\n },\n componentChildStyle: Object,\n childFactory: Object,\n className: String,\n direction: {\n type: String,\n default: 'vertical'\n },\n tag: String,\n id: String\n },\n data: function data() {\n return {\n maxHeight: '',\n maxWidth: ''\n };\n },\n methods: {\n componentWillEnter: function componentWillEnter(event) {\n var onEnter = this.$props.onEnter;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onEnter) {\n onEnter.call(undefined, event);\n }\n });\n },\n componentIsEntering: function componentIsEntering(event) {\n var onEntering = this.$props.onEntering;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onEntering) {\n onEntering.call(undefined, event);\n }\n });\n },\n componentWillExit: function componentWillExit(event) {\n var onExit = this.$props.onExit;\n this.updateContainerDimensions(event.animatedElement, function () {\n if (onExit) {\n onExit.call(undefined, event);\n }\n });\n },\n updateContainerDimensions: function updateContainerDimensions(node, done) {\n if (done === void 0) {\n done = noop;\n }\n var content = node ? node.firstElementChild : null;\n if (content) {\n var newHeight = util.outerHeight(content);\n var newWidth = util.outerWidth(content);\n this.$data.maxHeight = newHeight;\n this.$data.maxWidth = newWidth;\n done();\n }\n }\n },\n computed: {\n animationEnteringStyle: {\n get: function get() {\n var maxOffset;\n if (this.$props.direction === 'vertical') {\n maxOffset = {\n maxHeight: this.maxHeight ? \"\".concat(this.maxHeight, \"px\") : null\n };\n } else {\n maxOffset = {\n maxWidth: this.maxWidth ? \"\".concat(this.maxWidth, \"px\") : null\n };\n }\n return {\n maxHeight: maxOffset.maxHeight,\n maxWidth: maxOffset.maxWidth\n };\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var _a = this.$props,\n direction = _a.direction,\n childFactory = _a.childFactory,\n other = __rest(_a, [\"direction\", \"childFactory\"]);\n var transitionName = \"reveal-\".concat(this.$props.direction);\n return (\n // @ts-ignore function children\n h(Animation, {\n appear: this.$props.appear,\n attrs: this.v3 ? undefined : {\n appear: this.$props.appear,\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n componentChildStyle: this.$props.componentChildStyle,\n animationEnteringStyle: this.animationEnteringStyle,\n transitionName: transitionName\n },\n enter: this.$props.enter,\n exit: this.$props.exit,\n transitionEnterDuration: this.$props.transitionEnterDuration,\n transitionExitDuration: this.$props.transitionExitDuration,\n onEnter: this.componentWillEnter,\n on: this.v3 ? undefined : {\n \"enter\": this.componentWillEnter,\n \"entering\": this.componentIsEntering,\n \"exit\": this.componentWillExit\n },\n onEntering: this.componentIsEntering,\n onExit: this.componentWillExit,\n componentChildStyle: this.$props.componentChildStyle,\n animationEnteringStyle: this.animationEnteringStyle,\n transitionName: transitionName\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot])\n );\n }\n};\n/**\n * @hidden\n */\nvar Reveal = RevealVue2;\nexport { Reveal, RevealVue2 };","/**\n * @hidden\n */\nexport var animate = function animate(transition, offset, animationFrame) {\n if (offset === void 0) {\n offset = 0;\n }\n if (animationFrame === void 0) {\n animationFrame = 0;\n }\n var duration = transition.duration;\n var start;\n var progress;\n var skip = offset && 1 - offset;\n if (transition.onStart) {\n transition.onStart();\n }\n var frame = function frame(timestamp) {\n if (!start) {\n start = timestamp;\n }\n progress = timestamp - start + 1;\n var rate = progress / duration + skip;\n if (rate <= 1) {\n if (transition.onUpdate) {\n transition.onUpdate(rate);\n }\n animationFrame = window.requestAnimationFrame(frame);\n offset = rate;\n } else {\n if (transition.onEnd) {\n transition.onEnd(1);\n }\n offset = 0;\n }\n };\n animationFrame = window.requestAnimationFrame(frame);\n return animationFrame;\n};\n/**\n * @hidden\n */\nexport var cancelAnimation = function cancelAnimation(animationFrame) {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n};","/**\n * @hidden\n */\nexport var MIN_RATIO = 0.00001;\n/**\n * @hidden\n */\nexport var LABEL_DECIMALS = 3;\n/**\n * @hidden\n */\nexport var DEFAULT_ANIMATION_DURATION = 400;\n/**\n * @hidden\n */\nexport var NO_ANIMATION = 0;\n","import { LABEL_DECIMALS, MIN_RATIO } from './constants';\n/**\n * @hidden\n */\nexport var truncateNumber = function (value) {\n var numberParts = value.toString().split('.');\n return numberParts.length === 1 ? \"\".concat(numberParts[0]) : \"\".concat(numberParts[0], \".\").concat(numberParts[1].substr(0, LABEL_DECIMALS));\n};\n/**\n * @hidden\n */\nexport var calculatePercentage = function (min, max, value) {\n var onePercent = Math.abs((max - min) / 100);\n return Math.abs((value - min) / onePercent);\n};\n/**\n * @hidden\n */\nexport var updateProgress = function (progressRef, progressWrapRef, percentage, isVertical) {\n var progressPercentage = Math.max(percentage, 0.01);\n var progressWrapPercentage = (100 / progressPercentage) * 100;\n if (progressRef && progressWrapRef) {\n progressRef.style.width = !isVertical ? \"\".concat(progressPercentage, \"%\") : '100%';\n progressWrapRef.style.width = !isVertical ? \"\".concat(progressWrapPercentage, \"%\") : '100%';\n progressRef.style.height = isVertical ? \"\".concat(progressPercentage, \"%\") : '100%';\n progressWrapRef.style.height = isVertical ? \"\".concat(progressWrapPercentage, \"%\") : '100%';\n }\n};\n/**\n * @hidden\n */\nexport var calculateRatio = function (min, max, value) {\n return Math.max((value - min) / (max - min), MIN_RATIO);\n};\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-progressbars',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1708438136,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { animate, cancelAnimation } from '@progress/kendo-vue-animation';\nimport { classNames, isRtl, getTabIndex, templateRendering, getListeners, getTemplate, setRef, getRef } from '@progress/kendo-vue-common';\nimport { calculatePercentage, updateProgress, truncateNumber } from '../common/utils';\nimport { DEFAULT_ANIMATION_DURATION, NO_ANIMATION } from '../common/constants';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ProgressBarVue2 = {\n name: 'KendoProgressBar',\n props: {\n animation: {\n type: [Boolean, Object],\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n reverse: {\n type: Boolean,\n default: false\n },\n label: String,\n labelRender: [String, Object, Function],\n labelVisible: {\n type: Boolean,\n default: true\n },\n labelPlacement: {\n type: String,\n default: undefined,\n validator: function validator(value) {\n return ['start', 'center', 'end'].includes(value);\n }\n },\n dir: {\n type: String,\n default: undefined\n },\n max: {\n type: Number,\n default: 100\n },\n min: {\n type: Number,\n default: 0\n },\n value: {\n type: Number,\n default: 0\n },\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n },\n tabIndex: Number,\n emptyStyle: Object,\n emptyClassName: String,\n progressStyle: Object,\n progressClassName: String,\n ariaLabel: String\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentDir = this.$props.dir;\n },\n mounted: function mounted() {\n this._progressStatus = getRef(this, 'progressStatus');\n this._progressStatusWrap = getRef(this, 'progressStatusWrap');\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : isRtl(this.$el) ? 'rtl' : 'ltr';\n this.animationFrame = animate({\n duration: this.animationDuration,\n onStart: this.handleStart,\n onUpdate: this.handleUpdate,\n onEnd: this.handleEnd\n });\n },\n destroyed: !!isV3 ? undefined : function () {\n cancelAnimation(this.animationFrame);\n },\n // @ts-ignore\n unmounted: function unmounted() {\n cancelAnimation(this.animationFrame);\n },\n data: function data() {\n return {\n currentDir: undefined\n };\n },\n watch: {\n value: function value(_newValue, oldValue) {\n this.prevValue = oldValue;\n this.animationFrame = animate({\n duration: this.animationDuration,\n onStart: this.handleStart,\n onUpdate: this.handleUpdate,\n onEnd: this.handleEnd\n });\n }\n },\n computed: {\n wrapperClass: function wrapperClass() {\n var _a = this.$props,\n disabled = _a.disabled,\n reverse = _a.reverse,\n orientation = _a.orientation,\n value = _a.value;\n var isVertical = orientation === 'vertical';\n var indeterminateProp = value === null;\n return {\n 'k-progressbar': true,\n 'k-progressbar-horizontal': !isVertical,\n 'k-progressbar-vertical': isVertical,\n 'k-progressbar-reverse': reverse,\n 'k-progressbar-indeterminate': indeterminateProp,\n 'k-disabled': disabled\n };\n },\n isVertical: function isVertical() {\n return this.orientation === 'vertical';\n },\n animationDuration: function animationDuration() {\n var animation = this.$props.animation;\n return typeof animation !== 'boolean' && animation !== undefined ? animation.duration : animation ? DEFAULT_ANIMATION_DURATION : NO_ANIMATION;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n labelVisible = _a.labelVisible,\n labelPlacement = _a.labelPlacement,\n max = _a.max,\n min = _a.min,\n tabIndex = _a.tabIndex,\n emptyStyle = _a.emptyStyle,\n emptyClassName = _a.emptyClassName,\n progressStyle = _a.progressStyle,\n progressClassName = _a.progressClassName;\n var value = this.$props.value || 0;\n var indeterminateProp = this.$props.value === null;\n var formattedLabel = truncateNumber(value);\n var labelProps = {\n value: value\n };\n var label = this.$props.labelRender ? templateRendering.call(this, this.$props.labelRender, getListeners.call(this)) : undefined;\n var labelDefaultRendering = h('span', {\n 'class': 'k-progress-status'\n }, formattedLabel);\n var toggleButtonRendering = getTemplate.call(this, {\n h: h,\n template: label,\n defaultRendering: labelDefaultRendering,\n additionalProps: labelProps\n });\n var renderLabel = labelVisible ? this.$props.label ? h(\"span\", {\n \"class\": 'k-progress-status'\n }, [this.$props.label]) : toggleButtonRendering : undefined;\n var positionClasses = classNames('k-progress-status-wrap', {\n 'k-progress-start': labelPlacement === 'start',\n 'k-progress-center': labelPlacement === 'center',\n 'k-progress-end': labelPlacement === 'end' || labelPlacement === undefined\n });\n return h(\"div\", {\n \"class\": this.wrapperClass,\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir,\n tabindex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled,\n \"aria-label\": this.$props.ariaLabel\n },\n tabindex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled,\n \"aria-label\": this.$props.ariaLabel\n }, [h(\"span\", {\n \"class\": positionClasses + (emptyClassName ? ' ' + emptyClassName : ''),\n style: emptyStyle\n }, [renderLabel]), h(\"div\", {\n \"class\": 'k-progressbar-value k-selected',\n style: progressStyle,\n ref: setRef(this, 'progressStatus')\n }, [h(\"span\", {\n \"class\": positionClasses + (progressClassName ? ' ' + progressClassName : ''),\n ref: setRef(this, 'progressStatusWrap')\n }, [renderLabel])])]);\n },\n methods: {\n focus: function focus() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n progressStatusElement: function progressStatusElement() {\n return this._progressStatus;\n },\n progressStatusWrapElement: function progressStatusWrapElement() {\n return this._progressStatusWrap;\n },\n handleStart: function handleStart() {\n var percentage = calculatePercentage(this.min, this.max, this.prevValue);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n },\n handleUpdate: function handleUpdate(progress) {\n var percentage = calculatePercentage(this.min, this.max, this.prevValue + (this.value - this.prevValue) * progress);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n },\n handleEnd: function handleEnd() {\n var percentage = calculatePercentage(this.min, this.max, this.value);\n updateProgress(this._progressStatus, this._progressStatusWrap, percentage, this.isVertical);\n }\n }\n};\n/**\n * @hidden\n */\nvar ProgressBar = ProgressBarVue2;\nexport { ProgressBar, ProgressBarVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getDir, getTabIndex } from '@progress/kendo-vue-common';\nimport { calculateRatio } from '../common/utils';\nimport { validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ChunkProgressBarVue2 = {\n name: 'KendoChunkProgressBar',\n props: {\n chunkCount: {\n type: Number,\n default: 5\n },\n ariaLabel: String,\n disabled: Boolean,\n reverse: {\n type: Boolean,\n default: false\n },\n max: {\n type: Number,\n default: 100\n },\n min: {\n type: Number,\n default: 0\n },\n value: {\n type: Number,\n default: 0\n },\n tabIndex: Number,\n emptyStyle: Object,\n emptyClassName: String,\n progressStyle: Object,\n progressClassName: String,\n orientation: {\n type: String,\n default: 'horizontal',\n validator: function validator(value) {\n return ['horizontal', 'vertical'].includes(value);\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n data: function data() {\n return {\n currentDir: undefined\n };\n },\n mounted: function mounted() {\n this.currentDir = getDir(this.$el, this.$props.dir);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n chunkCount = _a.chunkCount,\n disabled = _a.disabled,\n orientation = _a.orientation,\n min = _a.min,\n max = _a.max,\n reverse = _a.reverse,\n tabIndex = _a.tabIndex,\n emptyStyle = _a.emptyStyle,\n emptyClassName = _a.emptyClassName,\n progressStyle = _a.progressStyle,\n progressClassName = _a.progressClassName;\n var value = this.$props.value;\n var indeterminateProp = this.$props.value === null;\n var isVertical = orientation === 'vertical';\n var renderChunks = function renderChunks(count) {\n var chunks = [];\n var chunkSizePercentage = 100 / count + '%';\n var progressRatio = calculateRatio(min, max, value);\n var completedChunksCount = Math.floor(progressRatio * count);\n var completedChunks = Array(count).fill(false);\n var reverseCompletedChunks = isVertical && !reverse || !isVertical && reverse;\n for (var i = 0; i < completedChunksCount; i++) {\n completedChunks[i] = true;\n }\n for (var i = 0; i < count; ++i) {\n var isComplete = completedChunks[i];\n var classes = isComplete ? progressClassName : emptyClassName;\n var layoutStyles = {\n width: !isVertical ? chunkSizePercentage : undefined,\n height: isVertical ? chunkSizePercentage : undefined\n };\n var styles = isComplete ? progressStyle : emptyStyle;\n var mergedStyles = __assign(__assign({}, layoutStyles), styles);\n chunks.push(h(\"li\", {\n key: i,\n \"class\": classNames('k-progressbar-chunk', {\n 'k-first': i === 0,\n 'k-last': i === count - 1,\n 'k-selected': isComplete\n }, classes),\n style: mergedStyles\n }));\n }\n return chunks;\n };\n return h(\"div\", {\n \"class\": classNames('k-progressbar', 'k-chunk-progressbar', {\n 'k-progressbar-horizontal': !isVertical,\n 'k-progressbar-vertical': isVertical,\n 'k-progressbar-reverse': reverse,\n 'k-progressbar-indeterminate': indeterminateProp,\n 'k-disabled': disabled\n }),\n dir: this.currentDir,\n attrs: this.v3 ? undefined : {\n dir: this.currentDir,\n tabIndex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-label\": this.$props.ariaLabel,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled\n },\n tabIndex: getTabIndex(tabIndex, disabled),\n role: 'progressbar',\n \"aria-label\": this.$props.ariaLabel,\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": indeterminateProp ? undefined : value,\n \"aria-disabled\": disabled\n }, [h(\"ul\", {\n \"class\": 'k-progressbar-chunks k-reset'\n }, [renderChunks.call(this, chunkCount)])]);\n },\n methods: {\n focusElement: function focusElement() {\n if (this.$el) {\n this.$el.focus();\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar ChunkProgressBar = ChunkProgressBarVue2;\nexport { ChunkProgressBar, ChunkProgressBarVue2 };","import { UploadFileStatus } from '../interfaces/UploadFileStatus';\nimport { guid } from '@progress/kendo-vue-common';\nvar ampRegExp = /&/g;\nvar ltRegExp = //g;\nvar htmlEncode = function (value) {\n return ('' + value).replace(ampRegExp, '&')\n .replace(ltRegExp, '<')\n .replace(gtRegExp, '>')\n .replace(quoteRegExp, '"')\n .replace(aposRegExp, ''');\n};\nvar getFileExtension = function (fileName) {\n var rFileExtension = /\\.([^\\.]+)$/;\n var matches = fileName.match(rFileExtension);\n return matches ? matches[0] : '';\n};\nvar getFileInfo = function (rawFile) {\n var fileName = rawFile.name;\n var fileSize = rawFile.size;\n return {\n extension: getFileExtension(fileName),\n name: htmlEncode(fileName),\n getRawFile: function () { return rawFile; },\n size: fileSize,\n status: UploadFileStatus.Selected,\n progress: 0,\n uid: ''\n };\n};\nvar getAllFileInfo = function (rawFiles) {\n var allFileInfo = new Array();\n var i;\n for (i = 0; i < rawFiles.length; i++) {\n allFileInfo.push(getFileInfo(rawFiles[i]));\n }\n return allFileInfo;\n};\nvar fileHasValidationErrors = function (file) {\n if (file.validationErrors && file.validationErrors.length > 0) {\n return true;\n }\n return false;\n};\nvar filesHaveValidationErrors = function (files) {\n for (var _i = 0, files_1 = files; _i < files_1.length; _i++) {\n var file = files_1[_i];\n if (fileHasValidationErrors(file)) {\n return true;\n }\n }\n return false;\n};\nvar getTotalFilesSizeMessage = function (files) {\n var totalSize = 0;\n var i;\n if (typeof files[0].size === 'number') {\n for (i = 0; i < files.length; i++) {\n if (files[i].size) {\n totalSize += (files[i].size || 0);\n }\n }\n }\n else {\n return '';\n }\n totalSize /= 1024;\n if (totalSize < 1024) {\n return totalSize.toFixed(2) + ' KB';\n }\n else {\n return (totalSize / 1024).toFixed(2) + ' MB';\n }\n};\nvar assignGuidToFiles = function (files, batchFiles) {\n var uid = guid();\n return files.map(function (file) {\n file.uid = batchFiles ? uid : guid();\n return file;\n });\n};\nvar getFileStatus = function (currentFiles) {\n var isUploading = false;\n var isUploaded = false;\n var isUploadFailed = false;\n var isUploadValidationFailed = false;\n var checkFilesStatus = function (files) {\n files.forEach(function (file) {\n if (file.status === UploadFileStatus.Uploading) {\n isUploading = true;\n }\n if (file.status === UploadFileStatus.Uploaded) {\n isUploaded = true;\n }\n if (file.status === UploadFileStatus.UploadFailed) {\n isUploadFailed = true;\n }\n if (fileHasValidationErrors(file)) {\n isUploadValidationFailed = true;\n }\n });\n };\n if (Array.isArray(currentFiles)) {\n checkFilesStatus(currentFiles);\n }\n else {\n Object.keys(currentFiles).forEach(function (key) {\n checkFilesStatus(currentFiles[key]);\n });\n }\n return [isUploading, isUploaded, isUploadFailed, isUploadValidationFailed];\n};\n/**\n * @hidden\n */\nexport default {\n fileHasValidationErrors: fileHasValidationErrors,\n filesHaveValidationErrors: filesHaveValidationErrors,\n getTotalFilesSizeMessage: getTotalFilesSizeMessage,\n getAllFileInfo: getAllFileInfo,\n getFileInfo: getFileInfo,\n getFileExtension: getFileExtension,\n htmlEncode: htmlEncode,\n assignGuidToFiles: assignGuidToFiles,\n getFileStatus: getFileStatus\n};\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-buttons',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1708438050,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","/**\n * @hidden\n */\nvar styles = {\n button: 'k-button',\n 'flat': 'k-flat',\n 'outline': 'k-outline',\n 'clear': 'k-button-clear',\n 'primary': 'k-primary',\n 'state-selected': 'k-selected',\n 'button-icon': 'k-button-icon',\n 'button-icontext': 'k-button-icontext',\n 'state-disabled': 'k-disabled',\n 'group-start': 'k-group-start',\n 'group-end': 'k-group-end',\n 'button-group': 'k-button-group',\n 'button-group-stretched': 'k-button-group-stretched',\n 'ltr': 'k-ltr',\n 'rtl': 'k-rtl'\n};\nvar notInternalButton = ':not(.k-dropdownlist > .k-button):not(.k-colorpicker > .k-button)';\n/**\n * @hidden\n */\nexport var internalButtons = '.k-dropdownlist > .k-button,.k-colorpicker > .k-button';\n/**\n * @hidden\n */\nexport var toolbarButtons = [\n 'button' + notInternalButton,\n '.k-button-group > button',\n '.k-dropdownlist',\n '.k-colorpicker'\n];\n/**\n * @hidden\n */\nexport default {\n styles: styles\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getDefaultSlots, validatePackage, kendoThemeMaps, Icon } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar ButtonVue2 = {\n name: 'KendoButton',\n // @ts-ignore\n emits: {\n click: null,\n mousedown: null,\n mouseup: null,\n pointerdown: null,\n pointerup: null,\n focus: null,\n blur: null,\n keypress: null,\n keydown: null\n },\n props: {\n ariaLabel: String,\n title: String,\n dir: String,\n selected: {\n type: Boolean,\n default: undefined\n },\n togglable: {\n type: Boolean,\n default: false\n },\n icon: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n svgIcon: Object,\n iconClass: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n imageUrl: {\n type: String,\n default: function _default() {\n return undefined;\n }\n },\n imageAlt: String,\n disabled: {\n type: Boolean,\n default: undefined\n },\n size: {\n type: String,\n default: 'medium'\n },\n shape: {\n type: String\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid'\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base'\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentActive = this.$props.togglable === true && this.$props.selected === true;\n this._activeTemp = undefined;\n },\n data: function data() {\n return {\n currentActive: null\n };\n },\n computed: {\n computedSelected: function computedSelected() {\n return this._activeTemp !== undefined ? this._activeTemp : this.$props.selected !== undefined ? this.$props.selected : this.currentActive;\n },\n buttonClasses: function buttonClasses() {\n var _a;\n var _b = this.$props,\n disabled = _b.disabled,\n icon = _b.icon,\n iconClass = _b.iconClass,\n imageUrl = _b.imageUrl,\n dir = _b.dir,\n svgIcon = _b.svgIcon,\n size = _b.size,\n shape = _b.shape,\n rounded = _b.rounded,\n fillMode = _b.fillMode,\n themeColor = _b.themeColor;\n var hasIcon = svgIcon !== undefined || icon !== undefined || iconClass !== undefined || imageUrl !== undefined;\n var defaultSlot = getDefaultSlots(this);\n var hasChildren = defaultSlot;\n return _a = {}, _a[styles.button] = true, _a[\"k-button-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-button-\".concat(shape)] = shape && shape !== 'rectangle', _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a['k-icon-button'] = !hasChildren && hasIcon, _a['k-disabled'] = disabled, _a['k-selected'] = this.computedSelected, _a['k-rtl'] = dir === 'rtl', _a[\"k-button-\".concat(fillMode)] = fillMode, _a[\"k-button-\".concat(fillMode, \"-\").concat(themeColor)] = fillMode && themeColor, _a;\n }\n },\n updated: function updated() {\n if (this.$props.togglable && this.$props.selected !== undefined && this.$props.selected !== this.currentActive) {\n this.currentActive = this.$props.selected;\n }\n },\n methods: {\n focus: function focus(e) {\n this.$el.focus(e);\n },\n toggleIfApplicable: function toggleIfApplicable() {\n if (!this.disabled && this.$props.togglable && this.$props.selected === undefined) {\n var active = !this.currentActive;\n this._activeTemp = active;\n this.currentActive = active;\n this._activeTemp = undefined;\n }\n },\n handleClick: function handleClick(event) {\n this.toggleIfApplicable();\n if (!this.disabled) {\n this.$emit('click', event);\n }\n },\n handleMouseDown: function handleMouseDown(event) {\n if (!this.disabled) {\n this.$emit('mousedown', event);\n }\n },\n handlePointerDown: function handlePointerDown(event) {\n if (!this.disabled) {\n this.$emit('pointerdown', event);\n }\n },\n handleMouseUp: function handleMouseUp(event) {\n if (!this.disabled) {\n this.$emit('mouseup', event);\n }\n },\n handlePointerUp: function handlePointerUp(event) {\n if (!this.disabled) {\n this.$emit('pointerup', event);\n }\n },\n handleFocus: function handleFocus(event) {\n if (!this.disabled) {\n this.$emit('focus', event);\n }\n },\n handleBlur: function handleBlur(event) {\n if (!this.disabled) {\n this.$emit('blur', event);\n }\n },\n handleKeypress: function handleKeypress(event) {\n if (!this.disabled) {\n this.$emit('keypress', event);\n }\n },\n handleKeydown: function handleKeydown(event) {\n if (!this.disabled) {\n this.$emit('keydown', event);\n }\n },\n handleContextmenu: function handleContextmenu(event) {\n if (!this.disabled) {\n this.$emit('contextmenu', event);\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n togglable = _a.togglable,\n icon = _a.icon,\n svgIcon = _a.svgIcon,\n iconClass = _a.iconClass,\n imageUrl = _a.imageUrl,\n imageAlt = _a.imageAlt;\n var defaultSlot = getDefaultSlots(this);\n var iconElement = function iconElement() {\n if (imageUrl) {\n return h(\"img\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\",\n alt: imageAlt,\n src: imageUrl\n },\n \"class\": 'k-image',\n alt: imageAlt,\n src: imageUrl\n });\n } else if (icon || svgIcon) {\n var iconClasses = classNames('k-button-icon', iconClass);\n return h(Icon, {\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon\n },\n icon: svgIcon,\n \"class\": iconClasses\n });\n } else if (iconClass) {\n return h(\"span\", {\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n },\n \"class\": iconClass\n });\n }\n return null;\n };\n return h(\"button\", {\n \"class\": this.buttonClasses,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseup\": this.handleMouseUp,\n \"pointerdown\": this.handlePointerDown,\n \"pointerup\": this.handlePointerUp,\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"keypress\": this.handleKeypress,\n \"keydown\": this.handleKeydown,\n \"contextmenu\": this.handleContextmenu\n },\n onMousedown: this.handleMouseDown,\n onMouseup: this.handleMouseUp,\n onPointerdown: this.handlePointerDown,\n onPointerup: this.handlePointerUp,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onKeypress: this.handleKeypress,\n onKeydown: this.handleKeydown,\n onContextmenu: this.handleContextmenu,\n title: this.title,\n attrs: this.v3 ? undefined : {\n title: this.title,\n \"aria-label\": this.ariaLabel,\n \"aria-disabled\": this.$props.disabled || undefined,\n \"aria-pressed\": togglable ? this.currentActive ? true : false : undefined\n },\n \"aria-label\": this.ariaLabel,\n \"aria-disabled\": this.$props.disabled || undefined,\n \"aria-pressed\": togglable ? this.currentActive ? true : false : undefined\n }, [iconElement.call(this), defaultSlot && h(\"span\", {\n \"class\": \"k-button-text\"\n }, [defaultSlot])]);\n }\n};\n/**\n * @hidden\n */\nvar Button = ButtonVue2;\nexport { Button, ButtonVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ButtonWrapVue2 = {\n name: 'KendoButtonWrap',\n props: {},\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return defaultSlot[0];\n }\n};\n/**\n * @hidden\n */\nvar ButtonWrap = ButtonWrapVue2;\nexport { ButtonWrap, ButtonWrapVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { classNames, getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { ButtonWrap } from './ButtonWrap';\nimport { packageMetadata } from './package-metadata';\nimport util from './util';\nvar styles = util.styles;\n/**\n * @hidden\n */\nvar ButtonGroupVue2 = {\n name: 'KendoButtonGroup',\n props: {\n disabled: {\n type: Boolean,\n default: undefined\n },\n width: String,\n dir: {\n type: String,\n default: function _default() {\n return undefined;\n }\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n // @ts-ignore\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n var renderButton = function renderButton(child, index, isLast, isRtl) {\n var _a;\n var className = classNames((_a = {}, _a[styles['state-disabled']] = this.$props.disabled, _a[styles['group-start']] = isRtl ? isLast : index === 0, _a[styles['group-end']] = isRtl ? index === 0 : isLast, _a));\n return h(ButtonWrap, {\n class: className,\n attrs: this.v3 ? undefined : {\n 'aria-disabled': this.$props.disabled\n },\n 'aria-disabled': this.$props.disabled\n }, this.v3 ? function () {\n return [child];\n } : [child]);\n };\n var mapButtons = function mapButtons(children) {\n var _this = this;\n var count = children.length;\n var rtl = this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n return children.map(function (child, index) {\n if (_this.isValidButton(child)) {\n return renderButton.call(_this, child, index, index === count - 1, rtl);\n }\n return child;\n });\n };\n var groupClasses = classNames([styles['button-group']], (_a = {}, _a['k-disabled'] = this.$props.disabled, _a[styles['button-group-stretched']] = !!this.$props.width, _a));\n return h(\"div\", {\n style: {\n width: this.width\n },\n dir: this.$props.dir\n // Accessibility properties\n ,\n attrs: this.v3 ? undefined : {\n dir: this.$props.dir,\n role: 'group',\n \"aria-disabled\": this.$props.disabled\n },\n role: 'group',\n \"aria-disabled\": this.$props.disabled,\n \"class\": groupClasses\n }, [mapButtons.call(this, defaultSlot)]);\n },\n methods: {\n isValidButton: function isValidButton(child) {\n return child && child.tag && child.tag.toLowerCase().indexOf('button') !== -1 || child.componentOptions && child.componentOptions.tag && child.componentOptions.tag.toLowerCase().indexOf('button') !== -1 || child.type && child.type.name && child.type.name.toLowerCase().indexOf('kendobutton') !== -1;\n }\n }\n};\n/**\n * @hidden\n */\nvar ButtonGroup = ButtonGroupVue2;\nexport { ButtonGroup, ButtonGroupVue2 };","/**\n * @hidden\n */\nexport var DATA_ACTION;\n(function (DATA_ACTION) {\n DATA_ACTION[\"remove\"] = \"remove\";\n DATA_ACTION[\"add\"] = \"add\";\n DATA_ACTION[\"reorder\"] = \"reorder\";\n})(DATA_ACTION || (DATA_ACTION = {}));\n/**\n * @hidden\n */\nexport var dataReducer = function dataReducer(state, action) {\n switch (action.type) {\n case DATA_ACTION.add:\n // TODO v2\n break;\n case DATA_ACTION.remove:\n return state.filter(function (i) {\n return i[action.valueField] !== action.payload;\n });\n case DATA_ACTION.reorder:\n // TODO v2\n break;\n default:\n return state;\n }\n};","var __spreadArray = this && this.__spreadArray || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/**\n * @hidden\n */\nexport var SELECTION_TYPE;\n(function (SELECTION_TYPE) {\n SELECTION_TYPE[\"single\"] = \"single\";\n SELECTION_TYPE[\"multiple\"] = \"multiple\";\n SELECTION_TYPE[\"none\"] = \"none\";\n})(SELECTION_TYPE || (SELECTION_TYPE = {}));\n/**\n * @hidden\n */\nexport var SELECTION_ACTION;\n(function (SELECTION_ACTION) {\n SELECTION_ACTION[\"toggle\"] = \"toggle\";\n SELECTION_ACTION[\"remove\"] = \"remove\";\n})(SELECTION_ACTION || (SELECTION_ACTION = {}));\n/**\n * @hidden\n */\nexport var selectionReducer = function selectionReducer(state, action) {\n switch (action.selection) {\n case SELECTION_TYPE.single:\n switch (action.type) {\n case SELECTION_ACTION.toggle:\n {\n if (!Array.isArray(state) || state === null) {\n return action.payload === state ? null : action.payload;\n }\n throw new Error('State cannot be an array in single selection');\n }\n case SELECTION_ACTION.remove:\n {\n return action.payload === state ? null : state;\n }\n default:\n return state;\n }\n case SELECTION_TYPE.multiple:\n switch (action.type) {\n case SELECTION_ACTION.toggle:\n {\n if (Array.isArray(state)) {\n return state.some(function (i) {\n return i === action.payload;\n }) ? state.filter(function (i) {\n return i !== action.payload;\n }) : __spreadArray(__spreadArray([], state, true), [action.payload], false);\n }\n if (state === null) {\n return [action.payload];\n }\n throw new Error('State cannot be non-array in multiple selection');\n }\n case SELECTION_ACTION.remove:\n {\n if (Array.isArray(state)) {\n return state.some(function (i) {\n return i === action.payload;\n }) ? state.filter(function (i) {\n return i !== action.payload;\n }) : __spreadArray(__spreadArray([], state, true), [action.payload], false);\n }\n return state;\n }\n default:\n return state;\n }\n case SELECTION_TYPE.none:\n return null;\n default:\n return state;\n }\n};","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, getTabIndex, Keys, noop, validatePackage, kendoThemeMaps, setRef, getRef, templateRendering, getListeners, getTemplate, Icon, getIconName } from '@progress/kendo-vue-common';\nimport { checkIcon, xCircleIcon } from '@progress/kendo-svg-icons';\nimport { FOCUS_ACTION } from './focus-reducer';\nimport { DATA_ACTION } from './data-reducer';\nimport { SELECTION_ACTION } from './selection-reducer';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ChipVue2 = {\n name: 'KendoVueChip',\n props: {\n id: String,\n text: String,\n avatar: {\n type: [String, Function, Object],\n default: function _default() {\n return undefined;\n }\n },\n value: [String, Object],\n dir: {\n type: String,\n default: function _default() {\n return 'ltr';\n }\n },\n removable: {\n type: Boolean,\n default: false\n },\n removeIcon: {\n type: String,\n default: function _default() {\n return 'x-circle';\n }\n },\n removeSvgIcon: {\n type: Object,\n default: function _default() {\n return xCircleIcon;\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n icon: String,\n svgIcon: Object,\n selectedIcon: {\n type: String,\n default: function _default() {\n return 'check';\n }\n },\n selectedSvgIcon: {\n type: Object,\n default: function _default() {\n return checkIcon;\n }\n },\n look: {\n type: String,\n default: function _default() {\n return 'solid';\n }\n },\n size: {\n type: String,\n default: 'medium'\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'outline', 'solid'].includes(value);\n }\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base',\n validator: function validator(value) {\n return [null, 'base', 'error', 'info', 'success', 'warning'].includes(value);\n }\n },\n dataItem: Object,\n selected: Boolean,\n ariaDescribedBy: String,\n role: {\n type: String,\n default: 'button'\n }\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'keydown': null,\n 'blur': null,\n 'focus': null,\n 'remove': null\n },\n inject: {\n kendoSelection: {\n default: {\n value: null\n }\n },\n kendoFocused: {\n default: {\n value: null\n }\n },\n kendoDataItems: {\n default: null\n },\n handleDispatchDataItems: {\n default: noop\n },\n handleDispatchSelection: {\n default: noop\n },\n handleDispatchFocus: {\n default: noop\n }\n },\n created: function created() {\n this.currentDir = undefined;\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.chip = getRef(this, 'chip');\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir === 'rtl' : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n },\n updated: function updated() {\n if (this.kendoFocused.value === this.$props.value && this.$el) {\n this.$el.focus();\n }\n },\n computed: {\n currentSelected: function currentSelected() {\n var _this = this;\n return this.$props.selected || (Array.isArray(this.kendoSelection.value) ? this.kendoSelection.value.some(function (i) {\n return i === _this.$props.value;\n }) : this.kendoSelection.value === this.$props.value);\n },\n chipLabelClass: function chipLabelClass() {\n return {\n 'k-chip-label': true,\n 'k-text-ellipsis': true\n };\n }\n },\n methods: {\n computedFocused: function computedFocused() {\n return this.kendoFocused.value === this.$props.value;\n },\n handleClick: function handleClick(event) {\n if (this.handleDispatchSelection) {\n this.handleDispatchSelection({\n type: SELECTION_ACTION.toggle,\n payload: this.$props.value,\n event: event\n });\n }\n this.$emit('click', {\n target: this.target,\n event: event\n });\n },\n handleRemove: function handleRemove(event) {\n event.stopPropagation();\n if (!this.$props.removable) {\n return;\n }\n if (this.handleDispatchFocus) {\n this.handleDispatchDataItems({\n type: DATA_ACTION.remove,\n payload: this.$props.value,\n event: event\n });\n this.handleDispatchFocus({\n type: FOCUS_ACTION.reset,\n payload: this.$props.value,\n event: event\n });\n this.handleDispatchSelection({\n type: SELECTION_ACTION.remove,\n payload: this.$props.value,\n event: event\n });\n }\n this.$emit('remove', {\n target: this.target,\n event: event\n });\n },\n handleKeyDown: function handleKeyDown(event) {\n switch (event.keyCode) {\n case Keys.left:\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n type: FOCUS_ACTION.prev,\n payload: this.$props.value,\n event: event\n });\n }\n break;\n case Keys.right:\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n type: FOCUS_ACTION.next,\n payload: this.$props.value,\n event: event\n });\n }\n break;\n case Keys.enter:\n if (this.handleDispatchFocus) {\n this.handleDispatchSelection({\n type: SELECTION_ACTION.toggle,\n payload: this.$props.value,\n event: event\n });\n }\n break;\n case Keys.delete:\n this.handleRemove(event);\n break;\n default:\n break;\n }\n this.$emit('keydown', {\n target: this.target,\n event: event\n });\n },\n handleFocus: function handleFocus(event) {\n if (this.handleDispatchFocus) {\n this.handleDispatchFocus({\n payload: this.$props.value,\n type: FOCUS_ACTION.current,\n event: event\n });\n }\n this.$emit('focus', {\n target: this.target,\n event: event\n });\n },\n handleBlur: function handleBlur(event) {\n this.$emit('blur', {\n target: this.target,\n event: event\n });\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var chipRef = ref(null);\n return {\n v3: v3,\n chipRef: chipRef\n };\n },\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var _b = this.$props,\n size = _b.size,\n rounded = _b.rounded,\n themeColor = _b.themeColor,\n fillMode = _b.fillMode,\n look = _b.look,\n avatar = _b.avatar,\n icon = _b.icon,\n svgIcon = _b.svgIcon,\n selectedIcon = _b.selectedIcon,\n selectedSvgIcon = _b.selectedSvgIcon,\n removeIcon = _b.removeIcon,\n removeSvgIcon = _b.removeSvgIcon;\n var avatarTemplate = templateRendering.call(this, avatar, getListeners.call(this));\n var avatarDefaultRendering = avatar ? h(\"div\", {\n \"class\": \"k-chip-avatar k-avatar k-rounded-\".concat(avatar.rounded || 'medium', \" k-avatar-\").concat(kendoThemeMaps.sizeMap[size] || size, \" k-avatar-solid k-avatar-solid-primary\"),\n style: avatar.style\n }, [h(\"span\", {\n \"class\": \"k-avatar-image\"\n }, [h(\"img\", {\n src: avatar.imageUrl,\n attrs: this.v3 ? undefined : {\n src: avatar.imageUrl,\n alt: avatar.imageAlt\n },\n alt: avatar.imageAlt\n })])]) : null;\n var avatarRender = getTemplate.call(this, {\n h: h,\n template: avatarTemplate\n });\n return h(\"div\", {\n role: this.$props.role,\n attrs: this.v3 ? undefined : {\n role: this.$props.role,\n id: this.$props.value,\n dir: this.currentDir,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"aria-pressed\": this.$props.role === 'button' ? this.currentSelected : undefined,\n \"aria-selected\": this.$props.role === 'option' ? this.currentSelected : undefined,\n \"aria-disabled\": this.$props.disabled,\n \"aria-describedby\": this.$props.ariaDescribedBy\n },\n id: this.$props.value,\n ref: setRef(this, 'chip'),\n dir: this.currentDir,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"class\": classNames('k-chip', (_a = {\n 'k-rtl': this.currentDir === 'rtl',\n 'k-disabled': this.$props.disabled,\n 'k-selected': this.currentSelected,\n 'k-focus': this.computedFocused()\n }, _a[\"k-chip-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a[\"k-chip-\".concat(fillMode)] = fillMode, _a[\"k-chip-\".concat(fillMode, \"-\").concat(themeColor)] = Boolean(fillMode && themeColor), _a['k-chip-outline'] = look === 'outline' || look === 'outlined', _a['k-chip-solid'] = look === 'solid' || look === 'filled', _a)),\n \"aria-pressed\": this.$props.role === 'button' ? this.currentSelected : undefined,\n \"aria-selected\": this.$props.role === 'option' ? this.currentSelected : undefined,\n \"aria-disabled\": this.$props.disabled,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n onFocus: this.handleFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"click\": this.handleClick,\n \"keydown\": this.handleKeyDown\n },\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n onKeydown: this.handleKeyDown\n }, [this.currentSelected && (selectedIcon || selectedSvgIcon) && h(Icon, {\n name: getIconName(selectedIcon),\n attrs: this.v3 ? undefined : {\n name: getIconName(selectedIcon),\n icon: selectedSvgIcon,\n size: 'small'\n },\n icon: selectedSvgIcon,\n size: 'small'\n }), (icon || svgIcon) && h(Icon, {\n name: getIconName(icon),\n attrs: this.v3 ? undefined : {\n name: getIconName(icon),\n icon: svgIcon,\n size: 'small'\n },\n icon: svgIcon,\n size: 'small'\n }), avatar ? avatar.imageUrl ? avatarDefaultRendering : avatarRender : null, h(\"span\", {\n \"class\": 'k-chip-content'\n }, [this.$props.text && h(\"span\", {\n \"aria-label\": this.$props.text,\n attrs: this.v3 ? undefined : {\n \"aria-label\": this.$props.text\n },\n \"class\": this.chipLabelClass\n }, [this.$props.text])]), this.$props.removable && h(\"span\", {\n \"class\": \"k-chip-actions\"\n }, [h(\"span\", {\n \"class\": \"k-chip-action k-chip-remove-action\"\n }, [h(Icon, {\n name: getIconName(removeIcon),\n attrs: this.v3 ? undefined : {\n name: getIconName(removeIcon),\n icon: removeSvgIcon,\n size: 'small'\n },\n icon: removeSvgIcon,\n size: 'small',\n onClick: this.handleRemove,\n on: this.v3 ? undefined : {\n \"click\": this.handleRemove\n }\n })])])]);\n }\n};\n/**\n * @hidden\n */\nvar Chip = ChipVue2;\nexport { Chip, ChipVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { getTabIndex, classNames, getListeners, templateRendering, getTemplate, validatePackage, kendoThemeMaps, setRef } from '@progress/kendo-vue-common';\nimport { selectionReducer } from './selection-reducer';\nimport { focusReducer } from './focus-reducer';\nimport { dataReducer } from './data-reducer';\nimport { Chip } from './Chip';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ChipListVue2 = {\n name: 'KendoVueChipList',\n inheritAttrs: false,\n props: {\n id: String,\n tabIndex: Number,\n dataItems: Array,\n defaultDataItems: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n value: [Object, Array, String, Number],\n defaultValue: {\n type: [Object, Array, String, Number],\n default: function _default() {\n return null;\n }\n },\n size: {\n type: String,\n default: 'medium'\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'outline', 'solid'].includes(value);\n }\n },\n selection: {\n type: String,\n default: function _default() {\n return 'none';\n }\n },\n textField: {\n type: String,\n default: function _default() {\n return 'text';\n }\n },\n valueField: {\n type: String,\n default: function _default() {\n return 'value';\n }\n },\n avatarField: {\n type: String,\n default: function _default() {\n return 'avatar';\n }\n },\n disabled: {\n type: Boolean,\n default: false\n },\n dir: {\n type: String,\n default: function _default() {\n return 'ltr';\n }\n },\n chip: [String, Function, Object],\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n provide: function provide() {\n return {\n kendoSelection: this.currentValue,\n kendoFocused: this.currentFocused,\n kendoDataItems: this.computedDataItems,\n handleDispatchDataItems: this.handleDispatchDataItems,\n handleDispatchSelection: this.handleDispatchSelection,\n handleDispatchFocus: this.handleDispatchFocus\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.currentDataItems = this.$props.dataItems || this.$props.defaultDataItems;\n this.currentValue.value = this.$props.value || this.$props.defaultValue;\n },\n data: function data() {\n return {\n currentDataItems: [],\n currentDir: 'ltr',\n isRtl: false,\n currentFocused: {\n value: false\n },\n currentValue: {\n value: null\n }\n };\n },\n mounted: function mounted() {\n this.chipList = this.v3 ? this.chipListRef : this.$refs.chipList;\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n this.isRtl = this.currentDir === 'rtl';\n },\n computed: {\n computedDataItems: function computedDataItems() {\n return this.$props.dataItems || this.currentDataItems;\n },\n computedValue: function computedValue() {\n return this.$props.value || this.currentValue.value;\n },\n items: function items() {\n return this.computedDataItems.reduce(this.itemsReducer, []);\n }\n },\n methods: {\n handleDispatchSelection: function handleDispatchSelection(action) {\n var newState = selectionReducer(this.computedValue, __assign(__assign({}, action), {\n selection: this.$props.selection,\n state: this.computedValue\n }));\n this.handleChange(newState, action.event);\n this.currentValue.value = newState;\n },\n handleDispatchFocus: function handleDispatchFocus(action) {\n var newState = focusReducer(action.payload, __assign(__assign({}, action), {\n items: this.items\n }));\n this.currentFocused.value = newState;\n },\n handleDispatchDataItems: function handleDispatchDataItems(action) {\n var newState = dataReducer(this.computedDataItems, __assign(__assign({}, action), {\n state: this.computedDataItems,\n valueField: this.$props.valueField\n }));\n this.handleDataChange(newState, action.event);\n this.currentDataItems = newState;\n },\n handleChange: function handleChange(newValue, event) {\n if (this.$el) {\n this.$emit('change', {\n value: newValue,\n target: this.$el,\n event: event\n });\n }\n },\n handleDataChange: function handleDataChange(newData, event) {\n if (this.$el) {\n this.$emit('datachange', {\n value: newData,\n target: this.$el,\n event: event\n });\n }\n },\n itemsReducer: function itemsReducer(acc, current) {\n acc.push(current[this.$props.valueField || this.$props.valueField]);\n return acc;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var chipListRef = ref(null);\n return {\n v3: v3,\n chipListRef: chipListRef\n };\n },\n render: function render(createElement) {\n var _a;\n var h = gh || createElement;\n var size = this.$props.size;\n return h(\"div\", {\n ref: setRef(this, 'chipList'),\n role: 'listbox',\n attrs: this.v3 ? undefined : {\n role: 'listbox',\n id: this.$props.id,\n dir: this.currentDir,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-orientation\": 'horizontal',\n \"aria-multiselectable\": this.$props.selection === 'multiple' ? true : undefined\n },\n id: this.$props.id,\n dir: this.currentDir,\n style: this.$attrs.style,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n \"class\": classNames('k-chip-list', (_a = {}, _a[\"k-chip-list-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a['k-rtl'] = this.currentDir === 'rtl', _a['k-selection-single'] = this.$props.selection === 'single', _a['k-selection-multiple'] = this.$props.selection === 'multiple', _a['k-disabled'] = this.$props.disabled, _a)),\n \"aria-labelledby\": this.$props.ariaLabelledBy,\n \"aria-describedby\": this.$props.ariaDescribedBy,\n \"aria-orientation\": 'horizontal',\n \"aria-multiselectable\": this.$props.selection === 'multiple' ? true : undefined\n }, [this.computedDataItems.map(function (item) {\n var chipTemplate = templateRendering.call(this, this.$props.chip, getListeners.call(this));\n var chipDefaultRendering =\n // @ts-ignore function children\n h(Chip, {\n role: 'option',\n attrs: this.v3 ? undefined : {\n role: 'option',\n dataItem: item,\n text: item[this.$props.textField],\n value: item[this.$props.valueField],\n avatar: item[this.$props.avatarField],\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode\n },\n dataItem: item,\n key: item[this.$props.valueField],\n text: item[this.$props.textField],\n value: item[this.$props.valueField],\n avatar: item[this.$props.avatarField],\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode\n });\n return getTemplate.call(this, {\n h: h,\n template: chipTemplate,\n defaultRendering: chipDefaultRendering,\n additionalProps: {\n dataItem: item,\n key: item[this.$props.valueField],\n text: item[this.$props.textField],\n value: item[this.$props.valueField],\n size: this.$props.size\n }\n });\n }, this)]);\n }\n};\n/**\n * @hidden\n */\nvar ChipList = ChipListVue2;\nexport { ChipList, ChipListVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, getRef, getTabIndex, getTemplate, Icon, setRef } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar FloatingActionButtonItemVue2 = {\n name: 'KendoVueFloatingActionButtonItem',\n props: {\n disabled: Boolean,\n focused: Boolean,\n index: Number,\n icon: String,\n item: [String, Function, Object],\n dataItem: Object,\n text: String,\n tabIndex: Number,\n customProp: [String, Function, Object]\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'down': null\n },\n mounted: function mounted() {\n this.element = getRef(this, 'element');\n },\n computed: {\n itemClassNames: function itemClassNames() {\n return classNames('k-fab-item', {\n 'k-focus': this.focused,\n 'k-disabled': this.disabled\n });\n }\n },\n methods: {\n handleClick: function handleClick(event) {\n if (this.$props.index !== undefined && !this.$props.disabled) {\n this.$emit('click', event, this.$props.index);\n }\n },\n focusElement: function focusElement() {\n if (this.$el) {\n this.$el.focus();\n }\n },\n onDown: function onDown(event) {\n this.$emit('down', event);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var elementRef = ref(null);\n return {\n v3: v3,\n elementRef: elementRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n id = _a.id,\n tabIndex = _a.tabIndex,\n dataItem = _a.dataItem;\n var text = dataItem.text,\n icon = dataItem.icon,\n svgIcon = dataItem.svgIcon;\n var item;\n var itemDefaultRendering = h(\"li\", {\n ref: setRef(this, 'element'),\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: 'menuitem',\n tabindex: getTabIndex(tabIndex, disabled),\n \"aria-disabled\": disabled,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton item\")\n },\n \"class\": this.itemClassNames,\n role: 'menuitem',\n tabindex: getTabIndex(tabIndex, disabled),\n \"aria-disabled\": disabled,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton item\"),\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.onDown,\n \"pointerdown\": this.onDown\n },\n onMousedown: this.onDown,\n onPointerdown: this.onDown\n }, [text && h(\"span\", {\n \"class\": \"k-fab-item-text\"\n }, [text]), (svgIcon || icon) && h(Icon, {\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon\n },\n icon: svgIcon,\n \"class\": \"k-fab-item-icon\"\n })]);\n item = getTemplate.call(this, {\n h: h,\n template: this.$props.item,\n defaultRendering: itemDefaultRendering,\n additionalProps: this.$props,\n additionalListeners: {\n click: this.handleClick\n }\n });\n return item;\n }\n};\n/**\n * @hidden\n */\nvar FloatingActionButtonItem = FloatingActionButtonItemVue2;\nexport { FloatingActionButtonItem, FloatingActionButtonItemVue2 };","/**\n * @hidden\n */\nexport var DEFAULT_OFFSET = '16px';\n/**\n * @hidden\n */\nexport var toStringValues = function (val) {\n if (typeof val === 'number') {\n return val + 'px';\n }\n return val;\n};\n/**\n * @hidden\n */\nexport var getAnchorAlign = function (fabAlign, rtl) {\n var align = { horizontal: (rtl ? 'right' : 'left'), vertical: 'bottom' };\n if (fabAlign.horizontal === 'end') {\n align.horizontal = rtl ? 'left' : 'right';\n }\n return align;\n};\n/**\n * @hidden\n */\nexport var getPopupAlign = function (fabAlign, rtl) {\n var align = { horizontal: (rtl ? 'right' : 'left'), vertical: 'top' };\n if (fabAlign.horizontal === 'end') {\n align.horizontal = rtl ? 'left' : 'right';\n }\n return align;\n};\n/**\n * @hidden\n */\nexport var getTextDirectionClass = function (rtl, hAlign) {\n var al = hAlign === 'end' ? 'end' : 'start';\n var directions = {\n rtl: { end: 'k-text-left', start: 'k-text-right' },\n ltr: { start: 'k-text-left', end: 'k-text-right' }\n };\n return directions[rtl][al];\n};\n/**\n * @hidden\n */\nexport var position = function (ref, align, alignOffset, isRtl) {\n var horizontal = align.horizontal;\n var vertical = align.vertical;\n if (ref) {\n var xFab = alignOffset && alignOffset.x !== undefined ?\n toStringValues(alignOffset.x) :\n DEFAULT_OFFSET;\n var xCenterFab = alignOffset && alignOffset.x !== undefined ?\n \"calc(50% + \".concat(toStringValues(alignOffset.x), \")\") :\n '50%';\n var yFab = alignOffset && alignOffset.y !== undefined ?\n toStringValues(alignOffset.y) :\n DEFAULT_OFFSET;\n var yCenterFab = alignOffset && alignOffset.y !== undefined ?\n \"calc(50% + \".concat(toStringValues(alignOffset.y), \")\") :\n '50%';\n ref.style.setProperty(horizontalPosition(align, isRtl), horizontal === 'center' ? xCenterFab : xFab);\n ref.style.setProperty(verticalPosition(align), vertical === 'middle' ? yCenterFab : yFab);\n if (isRtl) {\n if ((vertical === 'top' || vertical === 'bottom') && horizontal === 'start') {\n ref.style.setProperty('left', 'unset');\n }\n if (vertical === 'middle' && horizontal === 'end') {\n ref.style.setProperty('right', 'unset');\n }\n if (vertical === 'middle' && horizontal === 'start') {\n ref.style.setProperty('left', 'unset');\n }\n }\n }\n};\nvar horizontalPosition = function (align, isRtl) {\n var horizontal = align.horizontal;\n return {\n end: isRtl ? 'left' : 'right',\n center: 'left',\n start: isRtl ? 'right' : 'left'\n }[horizontal || 'end'];\n};\nvar verticalPosition = function (align) {\n return {\n top: 'top',\n middle: 'top',\n bottom: 'bottom'\n }[align.vertical || 'bottom'];\n};\n","import { parents, siblingContainer } from '@progress/kendo-popup-common';\n/**\n * @hidden\n */\nexport var eitherRect = function eitherRect(rect, offset) {\n if (!rect) {\n return {\n height: 0,\n left: offset.left,\n top: offset.top,\n width: 0\n };\n }\n return rect;\n};\n/**\n * @hidden\n */\nexport var replaceOffset = function replaceOffset(rect, offset) {\n if (!offset) {\n return rect;\n }\n var result = {\n height: rect.height,\n left: offset.left,\n top: offset.top,\n width: rect.width\n };\n return result;\n};\n/**\n * @hidden\n */\nexport var removeStackingOffset = function removeStackingOffset(rect, stackingOffset) {\n if (!stackingOffset) {\n return rect;\n }\n var result = {\n height: rect.height,\n left: rect.left - stackingOffset.left,\n top: rect.top - stackingOffset.top,\n width: rect.width\n };\n return result;\n};\n/**\n * @hidden\n */\nexport var isDifferentOffset = function isDifferentOffset(oldOffset, newOffset) {\n var oldLeft = oldOffset.left,\n oldTop = oldOffset.top;\n var newLeft = newOffset.left,\n newTop = newOffset.top;\n return Math.abs(oldLeft - newLeft) >= 1 || Math.abs(oldTop - newTop) >= 1;\n};\n/**\n * @hidden\n */\nexport var isDocumentAvailable = function isDocumentAvailable() {\n return typeof document !== 'undefined' && !!document.body;\n};\n/**\n * @hidden\n */\nexport var isWindowAvailable = function isWindowAvailable() {\n return typeof window !== 'undefined';\n};\n/**\n * @hidden\n */\nexport var hasBoundingRect = function hasBoundingRect(elem) {\n return !!elem.getBoundingClientRect;\n};\n/**\n * @hidden\n */\nexport var OVERFLOW_REGEXP = /auto|scroll/;\n/**\n * @hidden\n */\nvar overflowStyle = function overflowStyle(element) {\n var styles = window.getComputedStyle(element);\n return \"\".concat(styles.overflow).concat(styles.overflowX).concat(styles.overflowY);\n};\n/**\n * @hidden\n */\nexport var scrollableParents = function scrollableParents(element) {\n var parentElements = [];\n if (!isDocumentAvailable() || !isWindowAvailable()) {\n return parentElements;\n }\n var parent = element.parentElement;\n while (parent) {\n if (OVERFLOW_REGEXP.test(overflowStyle(parent))) {\n parentElements.push(parent);\n }\n parent = parent.parentElement;\n }\n parentElements.push(window);\n return parentElements;\n};\n/**\n * @hidden\n */\nexport var FRAME_DURATION = 1000 / 60; // 1000ms divided by 60fps\n/**\n * @hidden\n */\nexport var hasRelativeStackingContext = function hasRelativeStackingContext() {\n if (!isDocumentAvailable()) {\n return false;\n }\n var top = 10;\n var parent = document.createElement('div');\n parent.style.transform = 'matrix(10, 0, 0, 10, 0, 0)';\n parent.innerHTML = \"
    child
    \";\n document.body.appendChild(parent);\n if (parent && parent.firstChild) {\n var firstChild = parent.firstChild;\n firstChild.style.position = 'fixed';\n firstChild.style.top = \"\".concat(top, \"px\");\n }\n var isDifferent = parent.children[0].getBoundingClientRect().top !== top;\n document.body.removeChild(parent);\n return isDifferent;\n};\n/**\n * @hidden\n */\nexport var HAS_RELATIVE_STACKING_CONTEXT = hasRelativeStackingContext();\n/**\n * @hidden\n */\nexport var zIndex = function zIndex(anchor, container) {\n if (!anchor || !isDocumentAvailable() || !isWindowAvailable()) {\n return null;\n }\n var sibling = siblingContainer(anchor, container);\n if (!sibling) {\n return null;\n }\n var result = [anchor].concat(parents(anchor, sibling)).reduce(function (index, p) {\n var zIndexStyle = p.style.zIndex || window.getComputedStyle(p).zIndex;\n var current = parseInt(zIndexStyle, 10);\n return current > index ? current : index;\n }, 0);\n return result ? result + 1 : null;\n};\n/**\n * @hidden\n */\nexport var CollisionType = {\n fit: 'fit',\n flip: 'flip'\n};\n/**\n * @hidden\n */\nexport var AlignPoint = {\n left: 'left',\n center: 'center',\n right: 'right',\n bottom: 'bottom',\n top: 'top'\n};\n/**\n * @hidden\n */\nexport var throttle = function throttle(func, wait, options) {\n if (options === void 0) {\n options = {};\n }\n var timeout, context, args, result;\n var previous = 0;\n options = options || {};\n var later = function later() {\n previous = options.leading === false ? 0 : new Date().getTime();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n };\n var throttled = function throttled() {\n var now = new Date().getTime();\n if (!previous && options.leading === false) {\n previous = now;\n }\n var remaining = wait - (now - previous);\n // @ts-ignore\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) {\n context = args = null;\n }\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n return throttled;\n};","import { eitherRect, removeStackingOffset } from '../util';\n/**\n * @hidden\n */\nvar AlignService = /** @class */ (function () {\n function AlignService(_dom) {\n this._dom = _dom;\n }\n AlignService.prototype.alignElement = function (settings) {\n var anchor = settings.anchor, element = settings.element, anchorAlign = settings.anchorAlign, elementAlign = settings.elementAlign, offset = settings.offset;\n var fixedMode = !this._dom.hasOffsetParent(element);\n var anchorRect = fixedMode ?\n this.absoluteRect(anchor, element, offset) :\n this.relativeRect(anchor, element, offset);\n return this._dom.align({\n anchorAlign: anchorAlign,\n anchorRect: anchorRect,\n elementAlign: elementAlign,\n elementRect: this._dom.offset(element)\n });\n };\n AlignService.prototype.absoluteRect = function (anchor, element, offset) {\n var dom = this._dom;\n var rect = eitherRect(dom.offset(anchor), offset);\n var stackingOffset = dom.stackingElementOffset(element);\n var removedOffset = removeStackingOffset(rect, stackingOffset);\n var stackingScroll = dom.stackingElementScroll(element);\n var withScroll = dom.addScroll(removedOffset, stackingScroll);\n var scrollPosition = this.elementScrollPosition(anchor, element);\n var result = dom.removeScroll(withScroll, scrollPosition);\n result.left += window.scrollX || window.pageXOffset;\n result.top += window.scrollY || window.pageYOffset;\n return result;\n };\n AlignService.prototype.elementScrollPosition = function (anchor, element) {\n return anchor ? { x: 0, y: 0 } : this._dom.scrollPosition(element);\n };\n AlignService.prototype.relativeRect = function (anchor, element, offset) {\n return eitherRect(this._dom.position(anchor, element), offset);\n };\n return AlignService;\n}());\nexport { AlignService };\n","import { align, applyLocationOffset, boundingOffset, getWindowViewPort, isBodyOffset, offset, positionWithScroll, restrictToView, addScroll, removeScroll, scrollPosition, siblingContainer } from '@progress/kendo-popup-common';\nimport { isDocumentAvailable, isWindowAvailable, HAS_RELATIVE_STACKING_CONTEXT, scrollableParents, zIndex } from '../util';\n/**\n * @hidden\n */\nvar DOMService = /** @class */ (function () {\n function DOMService() {\n }\n DOMService.prototype.addOffset = function (current, addition) {\n return {\n left: current.left + addition.left,\n top: current.top + addition.top\n };\n };\n DOMService.prototype.align = function (settings) {\n return align(settings);\n };\n DOMService.prototype.boundingOffset = function (el) {\n return boundingOffset(el);\n };\n DOMService.prototype.getWindow = function () {\n return isWindowAvailable() ? window : null;\n };\n DOMService.prototype.isBodyOffset = function (el) {\n return isBodyOffset(el);\n };\n DOMService.prototype.hasOffsetParent = function (el) {\n if (!el) {\n return false;\n }\n var offsetParentEl = el.offsetParent;\n return offsetParentEl &&\n !(offsetParentEl.nodeName === 'BODY' &&\n window.getComputedStyle(offsetParentEl).position === 'static');\n };\n DOMService.prototype.offset = function (el) {\n if (!el) {\n return null;\n }\n return offset(el);\n };\n DOMService.prototype.staticOffset = function (element) {\n if (!element) {\n return null;\n }\n var _a = element.style, left = _a.left, top = _a.top;\n element.style.left = '0px';\n element.style.top = '0px';\n var currentOffset = offset(element);\n element.style.left = left;\n element.style.top = top;\n return currentOffset;\n };\n DOMService.prototype.position = function (element, popup) {\n if (!element || !popup) {\n return null;\n }\n var parentSibling = siblingContainer(element, popup);\n return positionWithScroll(element, parentSibling);\n };\n DOMService.prototype.relativeOffset = function (el, currentLocation) {\n return applyLocationOffset(this.offset(el), currentLocation, this.isBodyOffset(el));\n };\n DOMService.prototype.addScroll = function (rect, scroll) {\n return addScroll(rect, scroll);\n };\n DOMService.prototype.removeScroll = function (rect, scroll) {\n return removeScroll(rect, scroll);\n };\n DOMService.prototype.restrictToView = function (settings) {\n return restrictToView(settings);\n };\n DOMService.prototype.scrollPosition = function (el) {\n return scrollPosition(el);\n };\n DOMService.prototype.scrollableParents = function (el) {\n return scrollableParents(el);\n };\n DOMService.prototype.stackingElementOffset = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return null;\n }\n return offset(relativeContextElement);\n };\n DOMService.prototype.stackingElementScroll = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return { x: 0, y: 0 };\n }\n return {\n x: relativeContextElement.scrollLeft,\n y: relativeContextElement.scrollTop\n };\n };\n DOMService.prototype.stackingElementViewPort = function (el) {\n var relativeContextElement = this.getRelativeContextElement(el);\n if (!relativeContextElement) {\n return null;\n }\n return {\n height: relativeContextElement.scrollHeight,\n width: relativeContextElement.scrollWidth\n };\n };\n DOMService.prototype.getRelativeContextElement = function (el) {\n if (!el || !HAS_RELATIVE_STACKING_CONTEXT) {\n return null;\n }\n var parent = el.parentElement;\n while (parent) {\n if (window.getComputedStyle(parent).transform !== 'none') {\n return parent;\n }\n parent = parent.parentElement;\n }\n return null;\n };\n DOMService.prototype.useRelativePosition = function (el) {\n return !!this.getRelativeContextElement(el);\n };\n DOMService.prototype.windowViewPort = function (el) {\n return getWindowViewPort(el);\n };\n DOMService.prototype.zIndex = function (anchor, container) {\n return zIndex(anchor, container);\n };\n DOMService.prototype.zoomLevel = function () {\n if (!isDocumentAvailable() || !isWindowAvailable()) {\n return 1;\n }\n return parseFloat((document.documentElement.clientWidth / window.innerWidth).toFixed(2));\n };\n DOMService.prototype.isZoomed = function () {\n return this.zoomLevel() > 1;\n };\n return DOMService;\n}());\nexport { DOMService };\n","import { eitherRect, replaceOffset } from '../util';\n/**\n * @hidden\n */\nvar PositionService = /** @class */ (function () {\n function PositionService(_dom) {\n this._dom = _dom;\n }\n PositionService.prototype.positionElement = function (settings) {\n var anchor = settings.anchor, currentLocation = settings.currentLocation, element = settings.element, anchorAlign = settings.anchorAlign, elementAlign = settings.elementAlign, collisions = settings.collisions;\n var dom = this._dom;\n var viewPort = settings.viewPort || dom.stackingElementViewPort(element) || dom.windowViewPort(element);\n var anchorRect = eitherRect(dom.offset(anchor), currentLocation);\n var initialElementRect = replaceOffset(dom.staticOffset(element), currentLocation);\n var elementRect = this.elementRect(element, initialElementRect);\n var result = dom.restrictToView({\n anchorAlign: anchorAlign,\n anchorRect: anchorRect,\n collisions: collisions,\n elementAlign: elementAlign,\n elementRect: elementRect,\n viewPort: viewPort\n });\n return {\n flipped: result.flipped,\n offset: dom.addOffset(initialElementRect, result.offset)\n };\n };\n PositionService.prototype.elementRect = function (element, rect) {\n return this._dom.removeScroll(rect, this._dom.scrollPosition(element));\n };\n return PositionService;\n}());\nexport { PositionService };\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-popup',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1708437982,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Slide } from '@progress/kendo-vue-animation';\nimport { CollisionType, AlignPoint, throttle, FRAME_DURATION, isWindowAvailable } from './util';\nimport { AlignService } from './services/alignService';\nimport { DOMService } from './services/domService';\nimport { PositionService } from './services/positionService';\nimport { canUseDOM, getDefaultSlots, validatePackage } from '@progress/kendo-vue-common';\nimport { packageMetadata } from './package-metadata';\nvar DEFAULT_POPUP_ZINDEX = 100;\nvar ZINDEX_POPUP_STEP = 1;\nvar DEFAULT_OFFSET = {\n left: -1000,\n top: 0\n};\nvar ANIMATION_CONTAINER = 'k-animation-container';\nvar ANIMATION_CONTAINER_SHOWN = 'k-animation-container-shown';\nvar K_POPUP = 'k-popup';\n/**\n * @hidden\n */\nvar PopupVue2 = {\n name: 'Popup',\n props: {\n appendTo: {\n type: String,\n default: ''\n },\n anchor: {\n type: String,\n default: ''\n },\n className: String,\n id: String,\n popupClass: String,\n collision: {\n type: Object,\n default: function _default() {\n return {\n horizontal: CollisionType.fit,\n vertical: CollisionType.flip\n };\n }\n },\n anchorAlign: {\n type: Object,\n default: function _default() {\n return {\n horizontal: AlignPoint.left,\n vertical: AlignPoint.bottom\n };\n }\n },\n popupAlign: {\n type: Object,\n default: function _default() {\n return {\n horizontal: AlignPoint.left,\n vertical: AlignPoint.top\n };\n }\n },\n offset: {\n type: Object,\n default: function _default() {\n return DEFAULT_OFFSET;\n }\n },\n show: {\n type: Boolean,\n default: false\n },\n animate: {\n type: [Boolean, Object],\n default: function _default() {\n return true;\n }\n },\n direction: {\n type: String,\n default: 'down'\n },\n transition: {\n type: String,\n default: 'expand'\n }\n },\n inject: {\n kCurrentZIndex: {\n default: null\n }\n },\n data: function data() {\n return {\n hasMounted: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.mountedAppendTo = undefined;\n this.mountedAnchor = undefined;\n this._clonedElement = undefined;\n this._flipped = false;\n this._offsetTop = 0;\n this._offsetLeft = -1000;\n this._exitingAnimation = false;\n this._prevShow = false;\n this._prevShow = this.$props.show;\n this._domService = new DOMService();\n this._alignService = new AlignService(this._domService);\n this._positionService = new PositionService(this._domService);\n this.reposition = throttle(this.reposition.bind(this), FRAME_DURATION);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n mounted: function mounted() {\n if (canUseDOM) {\n this.mountedAppendTo = this.appendTo ? this.getParentRef(this.appendTo) : document.body;\n this.mountedAnchor = this.anchor ? this.getParentRef(this.anchor, true) : document.body;\n }\n this._parentElement = this.$el.parentElement;\n this._clonedElement = this.$el.cloneNode(true);\n this.hasMounted = true;\n this.mountedAppendTo.appendChild(this.$el);\n },\n updated: function updated() {\n this._prevShow = this.$props.show;\n },\n destroyed: !!isV3 ? undefined : function () {\n this.detachRepositionHandlers();\n },\n beforeDestroy: !!isV3 ? undefined : function () {\n if (this._parentElement) {\n this._parentElement.appendChild(this.$el);\n }\n },\n // @ts-ignore\n unmounted: function unmounted() {\n this.detachRepositionHandlers();\n },\n // @ts-ignore\n beforeUnmount: function beforeUnmount() {\n if (this._parentElement) {\n this._parentElement.appendChild(this.$el);\n }\n },\n methods: {\n onOpened: function onOpened() {\n var element = this.$el;\n if (this.$props.show) {\n element.classList.add(ANIMATION_CONTAINER_SHOWN);\n }\n this.attachRepositionHandlers(element);\n this.$emit('open', {\n target: this\n });\n },\n onClosing: function onClosing() {\n if (!this.$props.show) {\n var element = this.$el;\n element.classList.remove(ANIMATION_CONTAINER_SHOWN);\n }\n this.detachRepositionHandlers();\n },\n onClosed: function onClosed() {\n if (this._exitingAnimation) {\n this._exitingAnimation = false;\n this.$forceUpdate();\n }\n this.$emit('close', {\n target: this\n });\n },\n transitionDuration: function transitionDuration() {\n var animate = this.$props.animate;\n var transitionEnterDuration = 0;\n var transitionExitDuration = 0;\n if (animate) {\n if (animate === true) {\n // Inherit the default duration of the Animation component.\n transitionEnterDuration = transitionExitDuration = undefined;\n } else {\n transitionEnterDuration = animate.openDuration;\n transitionExitDuration = animate.closeDuration;\n }\n }\n return {\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration\n };\n },\n getParentRef: function getParentRef(anchor, isAnchor) {\n // @ts-ignore\n var parent = this.$parent;\n while (!parent.$refs[anchor]) {\n // @ts-ignore\n if (parent && parent.kendoAnchorRef && isAnchor) {\n // @ts-ignore\n return parent.kendoAnchorRef;\n }\n // @ts-ignore\n parent = parent.$parent;\n if (!parent && canUseDOM) {\n return document.getElementById(anchor) || document.body;\n }\n }\n // @ts-ignore\n return parent.$refs[anchor].$el || parent.$refs[anchor];\n },\n position: function position(settings, element, anchor) {\n var anchorAlign = settings.anchorAlign,\n popupAlign = settings.popupAlign,\n collision = settings.collision,\n offset = settings.offset;\n var anchorElement = anchor ? this.v3 ? this.mountedAnchor : this.getParentRef(anchor, true) : document.body;\n var alignedOffset = this._alignService.alignElement({\n anchor: anchor ? anchorElement : undefined,\n element: element,\n elementAlign: popupAlign,\n anchorAlign: anchorAlign,\n offset: offset\n });\n var result = this._positionService.positionElement({\n anchor: anchorElement,\n anchorAlign: anchorAlign,\n collisions: collision,\n element: element,\n currentLocation: alignedOffset,\n elementAlign: popupAlign\n });\n return result;\n },\n calculatePosition: function calculatePosition($props, appendToElement) {\n if (!appendToElement || !isWindowAvailable() || !canUseDOM) {\n return {\n flipped: false,\n offset: $props.offset\n };\n }\n var defaultSlot = getDefaultSlots(this);\n var root = document.createElement('div');\n var contentElement = this.$el && this.$el.firstChild ? this.$el.firstChild.firstChild ? this.$el.firstChild.firstChild.cloneNode(true) : null : null;\n var divWrapper = contentElement && contentElement.getBoundingClientRect ? contentElement : this._clonedElement;\n if (divWrapper) {\n root.appendChild(divWrapper);\n } else {\n // @ts-ignore\n var internalClass = this.v3 ? defaultSlot && defaultSlot[0].props ? defaultSlot[0].props.class : '' : defaultSlot && defaultSlot[0].data ? defaultSlot[0].data.staticClass : '';\n // @ts-ignore\n var domClass = this.v3 ? this.$props.popupClass ? this.$props.popupClass : '' : defaultSlot && defaultSlot[0].data ? defaultSlot[0].data.class : '';\n root.innerHTML = \"
    \\t\\n
    \\n
    \\n
    \\t\\n
    \\t\\n
    \");\n }\n appendToElement.appendChild(root);\n if (root && root.firstChild) {\n var firstChild = root.firstChild;\n firstChild.style.position = 'absolute';\n firstChild.style.visibility = 'hidden';\n firstChild.style.display = 'block';\n firstChild.style.left = '-1000';\n firstChild.style.top = '0';\n var inlineStyles = this.v3 ? defaultSlot && defaultSlot[0].props ? defaultSlot[0].props.style : {} : defaultSlot[0].data ? defaultSlot[0].data.style : {};\n if (inlineStyles) {\n for (var _i = 0, _a = Object.entries(inlineStyles); _i < _a.length; _i++) {\n var _b = _a[_i],\n key = _b[0],\n value = _b[1];\n firstChild.style[key] = value;\n }\n }\n }\n var newPosition = this.position($props, root.firstChild, this.$props.anchor);\n root.parentNode.removeChild(root);\n return newPosition;\n },\n attachRepositionHandlers: function attachRepositionHandlers(element) {\n var _this = this;\n this.detachRepositionHandlers();\n this._scrollableParents = this._domService.scrollableParents(this.$props.anchor ? this.mountedAnchor : element);\n this._scrollableParents.map(function (p) {\n return p.addEventListener('scroll', _this.reposition);\n });\n window.addEventListener('resize', this.reposition);\n },\n detachRepositionHandlers: function detachRepositionHandlers() {\n var _this = this;\n if (this._scrollableParents) {\n this._scrollableParents.map(function (p) {\n return p.removeEventListener('scroll', _this.reposition);\n });\n this._scrollableParents = undefined;\n }\n window.removeEventListener('resize', this.reposition);\n },\n reposition: function reposition() {\n this._clonedElement = this.$el.cloneNode(true);\n this.$forceUpdate();\n },\n getCurrentZIndex: function getCurrentZIndex() {\n return this.kCurrentZIndex ? this.kCurrentZIndex + ZINDEX_POPUP_STEP : DEFAULT_POPUP_ZINDEX;\n }\n },\n // @ts-ignore\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n className = _a.className,\n popupClass = _a.popupClass,\n show = _a.show,\n id = _a.id;\n var defaultSlots = getDefaultSlots(this);\n var defaultSlot = this.v3 ? defaultSlots : show ? defaultSlots : null;\n var defaultAppentTo = isWindowAvailable() ? this.$props.appendTo ? this.mountedAppendTo || this.getParentRef(this.$props.appendTo) : document.body : undefined;\n if (this.$props.show) {\n var newPosition = this.calculatePosition(this.$props, defaultAppentTo);\n this._offsetLeft = newPosition.offset.left;\n this._offsetTop = newPosition.offset.top;\n this._flipped = !!newPosition.flipped;\n }\n var direction = this.$props.direction === 'down' ? this._flipped ? 'up' : 'down' : this._flipped ? 'down' : 'up';\n var _b = this.transitionDuration(),\n transitionEnterDuration = _b.transitionEnterDuration,\n transitionExitDuration = _b.transitionExitDuration;\n var currentZIndex = this.getCurrentZIndex();\n this._exitingAnimation = this._exitingAnimation || this._prevShow && !show;\n if (!this.hasMounted) {\n return h(\"div\", {\n style: {\n display: 'none'\n },\n \"class\": className\n }, [h(\"div\", {\n \"class\": [popupClass, K_POPUP]\n }, [defaultSlots])]);\n }\n if (show || this._exitingAnimation && defaultAppentTo) {\n var popup =\n // @ts-ignore function children\n h(Slide, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: this.appendTo ? '' : 'region',\n componentChildClassName: [popupClass, K_POPUP],\n className: className,\n direction: direction,\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration,\n appear: show\n },\n role: this.appendTo ? '' : 'region',\n componentChildClassName: [popupClass, K_POPUP],\n className: className,\n onEntered: this.onOpened,\n on: this.v3 ? undefined : {\n \"entered\": this.onOpened,\n \"exiting\": this.onClosing,\n \"exited\": this.onClosed\n },\n onExiting: this.onClosing,\n onExited: this.onClosed,\n direction: direction,\n style: {\n zIndex: currentZIndex,\n position: 'absolute',\n top: this._offsetTop + 'px',\n left: this._offsetLeft + 'px'\n },\n transitionEnterDuration: transitionEnterDuration,\n transitionExitDuration: transitionExitDuration,\n appear: show\n }, this.v3 ? function () {\n return [defaultSlot];\n } : [defaultSlot]);\n return popup;\n }\n return null;\n }\n};\n/**\n * @hidden\n */\nvar Popup = PopupVue2;\nexport { Popup, PopupVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, guid, Keys, getTabIndex, templateRendering, getListeners, validatePackage, canUseDOM, kendoThemeMaps, setRef, getRef, Icon } from '@progress/kendo-vue-common';\nimport { FloatingActionButtonItem } from './FloatingActionButtonItem';\nimport { packageMetadata } from '../package-metadata';\nimport { position, getAnchorAlign, getPopupAlign, getTextDirectionClass } from './utils';\nimport { Popup } from '@progress/kendo-vue-popup';\n/**\n * @hidden\n */\nvar FloatingActionButtonVue2 = {\n name: 'KendoVueFloatingActionButton',\n props: {\n id: String,\n dir: String,\n tabIndex: Number,\n accessKey: String,\n disabled: Boolean,\n icon: String,\n svgIcon: Object,\n iconClass: String,\n items: [Object, Array],\n item: [String, Function, Object],\n text: String,\n alignOffset: Object,\n opened: {\n type: Boolean,\n default: undefined\n },\n align: {\n type: Object,\n default: function _default() {\n return {\n vertical: 'bottom',\n horizontal: 'end'\n };\n }\n },\n positionMode: {\n type: String,\n default: function _default() {\n return 'fixed';\n }\n },\n popupSettings: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n shape: {\n type: String,\n default: function _default() {\n return 'rectangle';\n }\n },\n rounded: {\n type: String,\n default: 'full'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'link', 'outline', 'solid'].includes(value);\n }\n },\n size: {\n type: String,\n default: function _default() {\n return 'medium';\n }\n },\n themeColor: {\n type: String,\n default: function _default() {\n return 'primary';\n }\n }\n },\n // @ts-ignore\n emits: {\n 'click': null,\n 'mousedown': null,\n 'mouseup': null,\n 'open': null,\n 'close': null,\n 'itemclick': null,\n 'focus': null,\n 'blur': null,\n 'keydown': null\n },\n data: function data() {\n return {\n currentOpened: false,\n currentFocused: false,\n focusedIndex: -1,\n currentDir: 'ltr',\n isRtl: false\n };\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.element = undefined;\n this._anchor = guid();\n this.listId = guid();\n this.buttonId = guid();\n },\n mounted: function mounted() {\n this.element = this.v3 ? this.kendoAnchorRef : this.$refs[this._anchor];\n this.list = getRef(this, 'list');\n this.popup = getRef(this, 'popup');\n this.currentDir = this.$props.dir !== undefined ? this.$props.dir : this.$el && getComputedStyle(this.$el).direction === 'rtl' || false;\n this.isRtl = this.currentDir === 'rtl';\n if (this.opened !== undefined) {\n position(this.$el, this.$props.align, this.$props.alignOffset, this.isRtl);\n }\n },\n updated: function updated() {\n position(this.$el, this.$props.align, this.$props.alignOffset, this.isRtl);\n if (this.currentFocused && this.element) {\n this.element.focus();\n }\n },\n computed: {\n buttonClassNames: function buttonClassNames() {\n var _a;\n var _b = this.$props,\n size = _b.size,\n icon = _b.icon,\n shape = _b.shape,\n themeColor = _b.themeColor,\n fillMode = _b.fillMode,\n rounded = _b.rounded;\n return _a = {\n 'k-fab': true\n }, _a[\"k-fab-\".concat(shape || 'rectangle')] = shape !== null, _a[\"k-fab-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a[\"k-rounded-\".concat(kendoThemeMaps.roundedMap[rounded] || rounded)] = rounded, _a[\"k-fab-\".concat(fillMode)] = fillMode, _a[\"k-fab-\".concat(fillMode, \"-\").concat(themeColor)] = fillMode && themeColor, _a['k-disabled'] = this.$props.disabled, _a['k-focus'] = this.currentFocused, _a[\"k-\".concat(this.$props.align.vertical, \"-\").concat(this.$props.align.horizontal)] = true, _a;\n },\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n rootClassNames: function rootClassNames() {\n return classNames({\n 'k-pos-absolute': this.$props.positionMode === 'absolute',\n 'k-pos-fixed': this.$props.positionMode === 'fixed'\n });\n }\n },\n methods: {\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, isOpen) {\n if (!this.$props.items) {\n return;\n }\n this.$emit(isOpen ? 'open' : 'close', {\n event: dispatchedEvent,\n isOpened: !isOpen\n });\n },\n handleClick: function handleClick(event) {\n if (!event.target || this.$props.disabled) {\n return;\n }\n if (!this.$props.items) {\n this.$emit('click', event, undefined);\n } else {\n var currentOpenToggled = !this.computedOpened;\n this.currentOpened = currentOpenToggled;\n this.currentFocused = true;\n this.focusedIndex = currentOpenToggled ? 0 : -1;\n this.dispatchPopupEvent(event, !this.computedOpened);\n }\n },\n handleFocus: function handleFocus(event) {\n this.currentFocused = true;\n this.focusedIndex = this.computedOpened ? 0 : -1;\n this.$emit('focus', event, undefined);\n },\n handleBlur: function handleBlur(event) {\n this.currentFocused = false;\n this.currentOpened = false;\n this.focusedIndex = -1;\n this.$emit('blur', event, undefined);\n var fireCloseEvent = this.computedOpened;\n if (fireCloseEvent) {\n this.dispatchPopupEvent(event, false);\n }\n },\n handleMouseDown: function handleMouseDown(event) {\n event.preventDefault();\n this.$emit('mousedown', event);\n },\n handleMouseUp: function handleMouseUp(event) {\n this.$emit('mouseup', event);\n },\n dispatchItemClickEvent: function dispatchItemClickEvent(dispatchedEvent, index) {\n if (!this.$props.items) {\n return;\n }\n if (!this.$props.items[index].disabled) {\n this.$emit('itemclick', dispatchedEvent, {\n itemProps: this.$props.items[index],\n itemIndex: index\n });\n }\n },\n handleItemClick: function handleItemClick(event, clickedItemIndex) {\n if (!event.target || !this.$props.items) {\n return;\n }\n this.focusedIndex = clickedItemIndex;\n this.currentOpened = false;\n this.dispatchItemClickEvent(event, clickedItemIndex);\n this.dispatchPopupEvent(event, false);\n },\n handleItemDown: function handleItemDown(event) {\n if (canUseDOM && document.activeElement === this.element) {\n event.preventDefault();\n }\n },\n handleKeyDown: function handleKeyDown(event) {\n var currIndex = this.focusedIndex;\n var maxNavIndex = this.$props.items ? this.$props.items.length - 1 : -1;\n var isAtBottom = this.$props.align.vertical === 'bottom';\n switch (event.keyCode) {\n case Keys.enter:\n case Keys.space:\n if (currIndex >= 0) {\n this.dispatchItemClickEvent(event, currIndex);\n }\n event.preventDefault();\n this.currentOpened = !this.currentOpened;\n this.focusedIndex = !this.currentOpened ? 0 : -1;\n break;\n case Keys.esc:\n event.preventDefault();\n this.currentOpened = false;\n this.focusedIndex = -1;\n break;\n case Keys.home:\n event.preventDefault();\n this.focusedIndex = 0;\n break;\n case Keys.end:\n event.preventDefault();\n this.focusedIndex = maxNavIndex;\n break;\n case Keys.down:\n case Keys.right:\n event.preventDefault();\n if (currIndex < maxNavIndex && !isAtBottom) {\n this.focusedIndex = currIndex + 1;\n }\n if (currIndex > 0 && isAtBottom) {\n this.focusedIndex = currIndex - 1;\n }\n break;\n case Keys.up:\n case Keys.left:\n event.preventDefault();\n if (currIndex > 0 && !isAtBottom) {\n this.focusedIndex = currIndex - 1;\n }\n if (currIndex < maxNavIndex && isAtBottom) {\n this.focusedIndex = currIndex + 1;\n }\n break;\n default:\n break;\n }\n this.$emit('keydown', event, undefined);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var chipRef = ref(null);\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n chipRef: chipRef,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this2 = this;\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n align = _a.align,\n disabled = _a.disabled,\n icon = _a.icon,\n svgIcon = _a.svgIcon,\n iconClass = _a.iconClass,\n id = _a.id,\n items = _a.items,\n text = _a.text,\n tabIndex = _a.tabIndex,\n accessKey = _a.accessKey,\n popupSettings = _a.popupSettings;\n var item = templateRendering.call(this, this.$props.item, getListeners.call(this));\n var fabItems = function fabItems() {\n return items && items.map(function (element, index) {\n return (\n // @ts-ignore function children\n h(FloatingActionButtonItem, {\n key: index,\n index: index,\n attrs: this.v3 ? undefined : {\n index: index,\n id: \"\".concat(this.listId, \"-\").concat(index),\n disabled: disabled || element.disabled,\n focused: this.focusedIndex === index,\n dataItem: element,\n item: item\n },\n id: \"\".concat(this.listId, \"-\").concat(index),\n disabled: disabled || element.disabled,\n focused: this.focusedIndex === index,\n dataItem: element,\n item: item,\n \"class\": classNames(element.className, getTextDirectionClass(this.currentDir || 'ltr', align.horizontal)),\n onClick: this.handleItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleItemClick,\n \"down\": this.handleItemDown\n },\n onDown: this.handleItemDown\n })\n );\n }, this);\n };\n var isIconFab = icon && !text;\n var fabWidth = this.element ? this.element.offsetWidth : 0;\n var iconWidth = 32;\n var spacing = fabWidth / 2 - iconWidth / 2;\n return h(\"div\", {\n \"class\": this.rootClassNames\n }, [h(\"button\", {\n ref: this.v3 ? function (el) {\n _this.kendoAnchorRef = el;\n } : this._anchor,\n id: id || this.buttonId,\n attrs: this.v3 ? undefined : {\n id: id || this.buttonId,\n role: items ? 'menubutton' : 'button',\n type: 'button',\n \"aria-disabled\": disabled,\n \"aria-expanded\": items ? this.computedOpened : undefined,\n \"aria-haspopup\": items ? true : false,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton\"),\n \"aria-owns\": items ? this.listId : undefined,\n \"aria-activedescendant\": this.focusedIndex >= 0 && items ? \"\".concat(this.listId, \"-\").concat(this.focusedIndex) : undefined,\n tabindex: getTabIndex(tabIndex, disabled),\n accesskey: accessKey,\n dir: this.currentDir,\n disabled: disabled\n },\n role: items ? 'menubutton' : 'button',\n type: 'button',\n \"aria-disabled\": disabled,\n \"aria-expanded\": items ? this.computedOpened : undefined,\n \"aria-haspopup\": items ? true : false,\n \"aria-label\": \"\".concat(text || '', \" floatingactionbutton\"),\n \"aria-owns\": items ? this.listId : undefined,\n \"aria-activedescendant\": this.focusedIndex >= 0 && items ? \"\".concat(this.listId, \"-\").concat(this.focusedIndex) : undefined,\n tabindex: getTabIndex(tabIndex, disabled),\n accesskey: accessKey,\n dir: this.currentDir,\n disabled: disabled,\n \"class\": this.buttonClassNames,\n onClick: this.handleClick,\n on: this.v3 ? undefined : {\n \"click\": this.handleClick,\n \"mousedown\": this.handleMouseDown,\n \"mouseup\": this.handleMouseUp,\n \"focusin\": this.handleFocus,\n \"blur\": this.handleBlur,\n \"keydown\": this.handleKeyDown\n },\n onMousedown: this.handleMouseDown,\n onMouseup: this.handleMouseUp,\n onFocusin: this.handleFocus,\n onBlur: this.handleBlur,\n onKeydown: this.handleKeyDown\n }, [icon || svgIcon ? h(Icon, {\n name: icon,\n attrs: this.v3 ? undefined : {\n name: icon,\n icon: svgIcon\n },\n icon: svgIcon,\n \"class\": 'k-fab-icon'\n }) : iconClass ? h(Icon, {\n \"class\": iconClass\n }) : null, text && h(\"span\", {\n \"class\": \"k-fab-text\"\n }, [text])]),\n // @ts-ignore function children\n h(Popup, {\n ref: setRef(this, 'popup'),\n show: this.computedOpened,\n attrs: this.v3 ? undefined : {\n show: this.computedOpened,\n anchor: this._anchor,\n animate: popupSettings.animate,\n popupClass: classNames('k-popup-transparent k-fab-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(align, this.isRtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(align, this.isRtl)\n },\n anchor: this._anchor,\n animate: popupSettings.animate,\n popupClass: classNames('k-popup-transparent k-fab-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(align, this.isRtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(align, this.isRtl),\n style: {\n boxShadow: 'none'\n }\n }, this.v3 ? function () {\n return [h(\"ul\", {\n ref: setRef(_this2, 'list'),\n role: 'menu',\n attrs: _this2.v3 ? undefined : {\n role: 'menu',\n \"aria-labelledby\": id,\n id: _this2.listId\n },\n \"aria-labelledby\": id,\n id: _this2.listId,\n \"class\": classNames('k-fab-items', {\n 'k-fab-items-bottom': align.vertical !== 'bottom',\n 'k-fab-items-top': align.vertical === 'bottom'\n }),\n style: {\n paddingLeft: isIconFab ? spacing + 'px' : undefined,\n paddingRight: isIconFab ? spacing + 'px' : undefined\n }\n }, [fabItems.call(_this2)])];\n } : [h(\"ul\", {\n ref: setRef(_this2, 'list'),\n role: 'menu',\n attrs: _this2.v3 ? undefined : {\n role: 'menu',\n \"aria-labelledby\": id,\n id: _this2.listId\n },\n \"aria-labelledby\": id,\n id: _this2.listId,\n \"class\": classNames('k-fab-items', {\n 'k-fab-items-bottom': align.vertical !== 'bottom',\n 'k-fab-items-top': align.vertical === 'bottom'\n }),\n style: {\n paddingLeft: isIconFab ? spacing + 'px' : undefined,\n paddingRight: isIconFab ? spacing + 'px' : undefined\n }\n }, [fabItems.call(_this2)])])]);\n }\n};\n/**\n * @hidden\n */\nvar FloatingActionButton = FloatingActionButtonVue2;\nexport { FloatingActionButton, FloatingActionButtonVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getTemplate, Icon } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ButtonItemVue2 = {\n name: 'KendoButtonItem',\n // @ts-ignore\n emits: {\n click: null,\n down: null\n },\n props: {\n focused: Boolean,\n index: Number,\n item: Object,\n render: [String, Object, Function],\n dataItem: [String, Object],\n id: String,\n textField: String\n },\n computed: {\n wrapperClass: function wrapperClass() {\n return {\n 'k-item': true,\n 'k-focus': this.$props.focused\n };\n },\n innerClass: function innerClass() {\n var dataItem = this.$props.dataItem;\n return {\n 'k-link k-menu-link': true,\n 'k-selected': dataItem.selected,\n 'k-disabled': dataItem.disabled\n };\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event, this.$props.index);\n },\n onDown: function onDown(event) {\n this.$emit('down', event, this.$props.index);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n dataItem = _a.dataItem,\n id = _a.id,\n render = _a.render;\n var renderContent = function renderContent() {\n var _a = this.$props,\n textField = _a.textField,\n index = _a.index;\n var text = dataItem.text !== undefined ? dataItem.text : textField ? dataItem[textField] : dataItem;\n var itemContent = h(\"span\", {\n tabindex: -1,\n attrs: this.v3 ? undefined : {\n tabindex: -1\n },\n \"class\": this.innerClass,\n key: \"icon\"\n }, [dataItem.icon || dataItem.svgIcon ? h(Icon, {\n name: dataItem.icon,\n attrs: this.v3 ? undefined : {\n name: dataItem.icon,\n icon: dataItem.svgIcon\n },\n icon: dataItem.svgIcon,\n \"class\": dataItem.iconClass\n }) : dataItem.iconClass && h(\"span\", {\n \"class\": dataItem.iconClass,\n role: \"presentation\",\n attrs: this.v3 ? undefined : {\n role: \"presentation\"\n }\n }), dataItem.imageUrl && h(\"img\", {\n \"class\": \"k-icon\",\n alt: \"\",\n attrs: this.v3 ? undefined : {\n alt: \"\",\n src: dataItem.imageUrl,\n role: \"presentation\"\n },\n src: dataItem.imageUrl,\n role: \"presentation\",\n key: \"image\"\n }), text && h(\"span\", {\n \"class\": \"k-menu-link-text\"\n }, [text])]);\n return getTemplate.call(this, {\n h: h,\n template: this.$props.dataItem.render || render,\n defaultRendering: itemContent,\n additionalProps: {\n item: dataItem,\n itemIndex: index,\n innerClass: this.innerClass,\n focused: this.focused\n }\n });\n };\n var item = h(\"li\", {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: \"menuitem\",\n \"aria-disabled\": dataItem.disabled || undefined\n },\n \"class\": this.wrapperClass,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick,\n \"mousedown\": this.onDown,\n \"pointerdown\": this.onDown\n },\n onMousedown: this.onDown,\n onPointerdown: this.onDown,\n role: \"menuitem\",\n \"aria-disabled\": dataItem.disabled || undefined\n }, [renderContent.call(this)]);\n return item;\n }\n};\n/**\n * @hidden\n */\nvar ButtonItem = ButtonItemVue2;\nexport { ButtonItem, ButtonItemVue2 };","import { Keys } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar navigate = function (focusedIndex, keyCode, altKey, total) {\n if (altKey) {\n return focusedIndex;\n }\n switch (keyCode) {\n case Keys.enter:\n case Keys.space:\n case Keys.esc:\n return -1;\n case Keys.up:\n case Keys.left:\n return Math.max(0, focusedIndex - 1);\n case Keys.down:\n case Keys.right:\n return Math.min(total - 1, focusedIndex + 1);\n default:\n return focusedIndex;\n }\n};\nexport default navigate;\n","/**\n * @hidden\n */\nexport function getAnchorAlign(isDirectionRightToLeft) {\n var align = { horizontal: 'left', vertical: 'bottom' };\n if (isDirectionRightToLeft) {\n align.horizontal = 'right';\n }\n return align;\n}\n/**\n * @hidden\n */\nexport function getPopupAlign(isDirectionRightToLeft) {\n var align = { horizontal: 'left', vertical: 'top' };\n if (isDirectionRightToLeft) {\n align.horizontal = 'right';\n }\n return align;\n}\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { Button as KendoButton } from '../Button';\nimport { classNames, guid, Keys, kendoThemeMaps, getDefaultSlots } from '@progress/kendo-vue-common';\nimport { ButtonItem } from './ButtonItem';\nimport navigation from './utils/navigation';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { getAnchorAlign, getPopupAlign } from './utils/popup';\nimport { validatePackage, templateRendering, getListeners, canUseDOM } from '@progress/kendo-vue-common';\nimport { caretAltDownIcon } from '@progress/kendo-svg-icons';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar SplitButtonVue2 = {\n name: 'KendoSplitButton',\n // @ts-ignore\n emits: {\n focus: null,\n blur: null,\n buttonclick: null,\n itemclick: null,\n open: null,\n close: null\n },\n props: {\n accessKey: String,\n ariaLabel: String,\n text: String,\n items: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n textField: String,\n tabIndex: Number,\n disabled: Boolean,\n icon: String,\n svgIcon: Object,\n size: {\n type: String,\n default: 'medium'\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'link', 'outline', 'solid'].includes(value);\n }\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base',\n validator: function validator(value) {\n return [null, 'base', 'dark', 'error', 'info', 'inverse', 'inverse', 'light', 'primary', 'secondary', 'success', 'tertiary', 'warning'].includes(value);\n }\n },\n opened: {\n type: Boolean,\n default: undefined\n },\n iconClass: String,\n imageUrl: String,\n popupSettings: Object,\n itemRender: [String, Function, Object],\n item: [String, Function, Object],\n look: String,\n className: String,\n buttonClass: String,\n dir: String\n },\n data: function data() {\n return {\n focused: false,\n focusedIndex: -1,\n currentOpened: false\n };\n },\n created: function created() {\n this._blurTimeout = null;\n this._anchor = guid();\n this.mainButton = null;\n this.guid = guid();\n this.buttonsData = [];\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.mainButton = this.$refs[this._anchor];\n // If this.$props.opened is true during the initial render, the popup is not aligned.\n if (this.$props.dir === undefined && this.isRtl() || this.computedOpened) {\n this.$forceUpdate();\n }\n },\n updated: function updated() {\n if (this.focused && this.element()) {\n this.mainButton = this.$refs[this._anchor];\n this.mainButton.focus();\n }\n },\n computed: {\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n wrapperClass: function wrapperClass() {\n return {\n 'k-split-button': true,\n 'k-button-group': true,\n 'k-focus': this.focused\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this3 = this;\n var _this = this;\n var h = gh || createElement;\n this.buttonsData = this.$props.items;\n var rtl = this.isRtl();\n var dir = rtl ? 'rtl' : undefined;\n var _a = this.$props,\n tabIndex = _a.tabIndex,\n disabled = _a.disabled;\n var defaultSlot = getDefaultSlots(this);\n var renderChildItems = function renderChildItems() {\n var _a = this.$props,\n item = _a.item,\n itemRender = _a.itemRender,\n textField = _a.textField;\n return this.buttonsData.length > 0 ? this.buttonsData.map(function (dataItem, index) {\n var currentDataItem = typeof dataItem !== 'string' ? __assign(__assign({}, dataItem), {\n render: templateRendering.call(this, dataItem.render, getListeners.call(this))\n }) : dataItem;\n return (\n // @ts-ignore\n h(ButtonItem, {\n \"class\": \"k-menu-item\",\n role: \"menuitem\",\n attrs: this.v3 ? undefined : {\n role: \"menuitem\",\n dataItem: currentDataItem,\n textField: textField,\n focused: this.focusedIndex === index,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n },\n dataItem: currentDataItem,\n textField: textField,\n focused: this.focusedIndex === index,\n onClick: this.onItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.onItemClick,\n \"down\": this.onItemDown\n },\n onDown: this.onItemDown,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n key: index,\n index: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n })\n );\n }, this) : null;\n };\n var renderPopup = function renderPopup() {\n var _this2 = this;\n var _a = this.$props,\n _b = _a.popupSettings,\n popupSettings = _b === void 0 ? {} : _b,\n size = _a.size;\n return (\n // @ts-ignore function children\n h(Popup, {\n anchor: this._anchor,\n attrs: this.v3 ? undefined : {\n anchor: this._anchor,\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl)\n },\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl),\n style: rtl ? {\n direction: 'rtl'\n } : undefined\n }, this.v3 ? function () {\n return [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this2.v3 ? undefined : {\n role: \"menu\",\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n },\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n }, [renderChildItems.call(_this2)])];\n } : [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this2.v3 ? undefined : {\n role: \"menu\",\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n },\n id: _this2.guid,\n \"aria-labelledby\": _this2._anchor\n }, [renderChildItems.call(_this2)])])\n );\n };\n return h(\"div\", {\n \"class\": this.wrapperClass,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"focusin\": this.onFocus,\n \"focusout\": this.onBlur\n },\n onFocusin: this.onFocus,\n onFocusout: this.onBlur,\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n }\n }, [\n // @ts-ignore function children\n h(KendoButton, {\n size: this.$props.size,\n attrs: this.v3 ? undefined : {\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n dir: dir,\n id: this._anchor,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" splitbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n },\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n onClick: function onClick(event) {\n return _this.onItemClick(event, -1);\n },\n on: this.v3 ? undefined : {\n \"click\": function onClick(event) {\n return _this.onItemClick(event, -1);\n }\n },\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n \"class\": this.$props.buttonClass,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n dir: dir,\n id: this._anchor,\n ref: this._anchor,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" splitbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n }, this.v3 ? function () {\n return [_this3.$props.text, defaultSlot];\n } : [_this3.$props.text, defaultSlot]),\n // @ts-ignore\n h(KendoButton, {\n svgIcon: caretAltDownIcon,\n attrs: this.v3 ? undefined : {\n svgIcon: caretAltDownIcon,\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n icon: \"caret-alt-down\",\n disabled: disabled || undefined,\n tabIndex: -1,\n look: this.$props.look,\n dir: dir,\n \"aria-label\": \"menu toggling button\"\n },\n size: this.$props.size,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n icon: \"caret-alt-down\",\n disabled: disabled || undefined,\n tabIndex: -1,\n look: this.$props.look,\n onClick: this.onSplitPartClick,\n on: this.v3 ? undefined : {\n \"click\": this.onSplitPartClick,\n \"mousedown\": this.onDownSplitPart,\n \"pointerdown\": this.onDownSplitPart\n },\n onMousedown: this.onDownSplitPart,\n onPointerdown: this.onDownSplitPart,\n dir: dir,\n \"aria-label\": \"menu toggling button\"\n }), renderPopup.call(this)]);\n },\n methods: {\n element: function element() {\n return this.mainButton;\n },\n onKeyDown: function onKeyDown(event) {\n if (event.altKey) {\n if (!this.computedOpened && event.keyCode === Keys.down) {\n this.dispatchPopupEvent(event, true);\n this.focusedIndex = 0;\n this.currentOpened = true;\n } else if (this.computedOpened && event.keyCode === Keys.up) {\n this.dispatchPopupEvent(event, false);\n this.focusedIndex = -1;\n this.currentOpened = false;\n }\n return;\n }\n var newState = undefined;\n if (event.keyCode === Keys.enter || event.keyCode === Keys.space) {\n // Prevent default because otherwise when an item is selected\n // click on the default button gets emitted which opens the popup again.\n event.preventDefault();\n this.dispatchClickEvent(event, this.focusedIndex);\n if (this.focusedIndex !== undefined && this.focusedIndex >= 0) {\n newState = {\n focusedIndex: this.computedOpened ? -1 : 0,\n currentOpened: !this.computedOpened\n };\n this.dispatchPopupEvent(event, newState.currentOpened);\n }\n } else if (this.computedOpened && event.keyCode === Keys.esc) {\n newState = {\n focusedIndex: -1,\n currentOpened: false\n };\n this.dispatchPopupEvent(event, newState.currentOpened);\n }\n if (this.computedOpened) {\n var newFocused = navigation(this.focusedIndex, event.keyCode, event.altKey, this.buttonsData.length);\n if (newFocused !== this.focusedIndex) {\n newState = newState || {};\n // @ts-ignore\n newState.focusedIndex = newFocused;\n }\n var arrowKey = event.keyCode === Keys.up || event.keyCode === Keys.down || event.keyCode === Keys.left || event.keyCode === Keys.right;\n if (!event.altKey && arrowKey) {\n // Needed to notify the parent listeners that event is handled.\n event.preventDefault();\n }\n }\n if (newState) {\n this.focusedIndex = newState.focusedIndex;\n this.focused = newState.focused;\n if (newState.currentOpened !== undefined) {\n this.currentOpened = newState.currentOpened;\n }\n }\n },\n onFocus: function onFocus(event) {\n if (!this.focused) {\n this.$emit('focus', event, this, undefined);\n this.focused = true;\n }\n this.focusedIndex = -1;\n clearTimeout(this._blurTimeout);\n },\n onItemClick: function onItemClick(event, clickedItemIndex) {\n var opened = this.computedOpened;\n if (opened) {\n this.focusedIndex = 0;\n this.currentOpened = false;\n }\n this.dispatchClickEvent(event, clickedItemIndex);\n if (opened) {\n this.dispatchPopupEvent(event, false);\n }\n },\n onBlur: function onBlur(event) {\n clearTimeout(this._blurTimeout);\n this.createBlurTimeout(event);\n },\n createBlurTimeout: function createBlurTimeout(event) {\n var _this = this;\n var that = this;\n this._blurTimeout = setTimeout(function () {\n if (canUseDOM && document.activeElement !== that.mainButton) {\n that.focused = false;\n that.focusedIndex = -1;\n that.$emit('blur', event, _this, undefined);\n var fireCloseEvent = that.computedOpened;\n if (fireCloseEvent) {\n that.currentOpened = false;\n that.dispatchPopupEvent(event, false);\n }\n }\n }, 200);\n },\n dispatchClickEvent: function dispatchClickEvent(dispatchedEvent, clickedItemIndex) {\n if (!this.isItemDisabled(clickedItemIndex)) {\n if (clickedItemIndex === -1) {\n this.$emit('buttonclick', dispatchedEvent, this, undefined);\n } else {\n this.$emit('itemclick', {\n event: dispatchedEvent,\n component: this,\n item: this.buttonsData[clickedItemIndex],\n itemIndex: clickedItemIndex\n });\n }\n }\n },\n onSplitPartClick: function onSplitPartClick(event) {\n if (this.buttonsData.length) {\n var toOpen = !this.computedOpened;\n this.dispatchPopupEvent(event, toOpen);\n this.focusedIndex = toOpen ? 0 : -1;\n this.currentOpened = toOpen;\n this.focused = true;\n }\n },\n onDownSplitPart: function onDownSplitPart(event) {\n event.preventDefault();\n if (this.element() && document.activeElement !== this.element()) {\n // @ts-ignore\n this.element().focus();\n }\n },\n onItemDown: function onItemDown(event) {\n if (document.activeElement === this.element()) {\n event.preventDefault();\n }\n },\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, open) {\n this.$emit(open ? 'open' : 'close', dispatchedEvent, this, undefined);\n },\n isItemDisabled: function isItemDisabled(index) {\n return this.buttonsData[index] ? this.buttonsData[index].disabled : this.$props.disabled;\n },\n isRtl: function isRtl() {\n return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : !!this.$el && getComputedStyle(this.$el).direction === 'rtl';\n }\n }\n};\n/**\n * @hidden\n */\nvar SplitButton = SplitButtonVue2;\nexport { SplitButton, SplitButtonVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { Button as KendoButton } from '../Button';\nimport { classNames, guid, Keys, kendoThemeMaps, getDefaultSlots } from '@progress/kendo-vue-common';\nimport navigation from './utils/navigation';\nimport { ButtonItem } from './ButtonItem';\nimport { Popup } from '@progress/kendo-vue-popup';\nimport { getAnchorAlign, getPopupAlign } from './utils/popup';\nimport { validatePackage, templateRendering, getListeners, canUseDOM } from '@progress/kendo-vue-common';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar DropDownButtonVue2 = {\n name: 'KendoDropDownButton',\n // @ts-ignore\n emits: {\n focus: null,\n blur: null,\n itemclick: null,\n open: null,\n close: null\n },\n props: {\n accessKey: String,\n primary: Boolean,\n items: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n ariaLabel: String,\n text: String,\n textField: String,\n tabIndex: Number,\n disabled: Boolean,\n icon: String,\n svgIcon: Object,\n iconClass: String,\n imageUrl: String,\n popupSettings: Object,\n itemRender: [String, Object, Function],\n item: Function,\n size: {\n type: String,\n default: 'medium'\n },\n shape: {\n type: String,\n default: 'rectangle',\n validator: function validator(value) {\n return [null, 'rectangle', 'square'].includes(value);\n }\n },\n rounded: {\n type: String,\n default: 'medium'\n },\n fillMode: {\n type: String,\n default: 'solid',\n validator: function validator(value) {\n return [null, 'flat', 'link', 'outline', 'solid'].includes(value);\n }\n },\n // eslint-disable-next-line max-len\n themeColor: {\n type: String,\n default: 'base',\n validator: function validator(value) {\n return [null, 'base', 'dark', 'error', 'info', 'inverse', 'inverse', 'light', 'primary', 'secondary', 'success', 'tertiary', 'warning'].includes(value);\n }\n },\n opened: {\n type: Boolean,\n default: undefined\n },\n look: {\n type: String,\n validator: function validator(value) {\n return ['default', 'flat', 'outline'].includes(value);\n }\n },\n buttonClass: String,\n dir: String\n },\n created: function created() {\n this._blurTimeout = null;\n this._anchor = guid();\n this.wrapper = null;\n this.mainButton = null;\n this.guid = guid();\n this.buttonsData = [];\n validatePackage(packageMetadata);\n },\n mounted: function mounted() {\n this.mainButton = this.$refs[this._anchor];\n // If this.$props.opened is true during the initial render, the popup is not aligned.\n if (this.$props.dir === undefined && this.isRtl() || this.computedOpened) {\n this.$forceUpdate();\n }\n },\n updated: function updated() {\n if (this.focused && this.element()) {\n this.mainButton = this.$refs[this._anchor];\n this.mainButton.focus();\n }\n },\n data: function data() {\n return {\n currentOpened: false,\n focused: false,\n focusedIndex: -1\n };\n },\n computed: {\n computedOpened: function computedOpened() {\n return this.$props.opened === undefined ? this.currentOpened : this.$props.opened;\n },\n wrapperClass: function wrapperClass() {\n return {\n 'k-dropdown-button': true,\n 'k-focus': this.focused\n };\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoAnchorRef = ref(null);\n return {\n v3: v3,\n kendoAnchorRef: kendoAnchorRef\n };\n },\n render: function render(createElement) {\n var _this2 = this;\n var h = gh || createElement;\n var rtl = this.isRtl();\n var dir = rtl ? 'rtl' : undefined;\n var _a = this.$props,\n tabIndex = _a.tabIndex,\n disabled = _a.disabled;\n var defaultSlot = getDefaultSlots(this);\n this.buttonsData = this.$props.items;\n var renderChildItems = function renderChildItems() {\n var _a = this.$props,\n item = _a.item,\n itemRender = _a.itemRender,\n textField = _a.textField;\n return this.buttonsData.length > 0 ? this.buttonsData.map(function (dataItem, index) {\n var currentDataItem = typeof dataItem !== 'string' ? __assign(__assign({}, dataItem), {\n render: templateRendering.call(this, dataItem.render, getListeners.call(this))\n }) : dataItem;\n return (\n // @ts-ignore\n h(ButtonItem, {\n \"class\": \"k-menu-item\",\n dataItem: currentDataItem,\n attrs: this.v3 ? undefined : {\n dataItem: currentDataItem,\n textField: textField,\n focused: this.focusedIndex === index,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n },\n textField: textField,\n focused: this.focusedIndex === index,\n onClick: this.onItemClick,\n on: this.v3 ? undefined : {\n \"click\": this.onItemClick,\n \"down\": this.onItemDown\n },\n onDown: this.onItemDown,\n render: templateRendering.call(this, itemRender, getListeners.call(this)),\n item: item,\n index: index,\n key: index,\n id: \"\".concat(this.guid, \"-\").concat(index)\n })\n );\n }, this) : null;\n };\n var renderPopup = function renderPopup() {\n var _this = this;\n var _a = this.$props,\n _b = _a.popupSettings,\n popupSettings = _b === void 0 ? {} : _b,\n size = _a.size;\n return (\n // @ts-ignore function children\n h(Popup, {\n anchor: this._anchor,\n attrs: this.v3 ? undefined : {\n anchor: this._anchor,\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl)\n },\n show: this.computedOpened,\n animate: popupSettings.animate,\n popupClass: classNames('k-menu-popup', popupSettings.popupClass),\n anchorAlign: popupSettings.anchorAlign || getAnchorAlign(rtl),\n popupAlign: popupSettings.popupAlign || getPopupAlign(rtl),\n style: rtl ? {\n direction: 'rtl'\n } : undefined\n }, this.v3 ? function () {\n return [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this.v3 ? undefined : {\n role: \"menu\",\n id: _this.guid\n },\n id: _this.guid\n }, [renderChildItems.call(_this)])];\n } : [h(\"ul\", {\n \"class\": \"k-group k-menu-group k-reset k-menu-group-\".concat(kendoThemeMaps.sizeMap[size] || size),\n role: \"menu\",\n attrs: _this.v3 ? undefined : {\n role: \"menu\",\n id: _this.guid\n },\n id: _this.guid\n }, [renderChildItems.call(_this)])])\n );\n };\n return h(\"div\", {\n \"class\": this.wrapperClass,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"focusin\": this.onFocus,\n \"focusout\": this.onBlur\n },\n onFocusin: this.onFocus,\n onFocusout: this.onBlur,\n dir: dir,\n attrs: this.v3 ? undefined : {\n dir: dir\n }\n }, [\n // @ts-ignore function children\n h(KendoButton, {\n size: this.$props.size,\n attrs: this.v3 ? undefined : {\n size: this.$props.size,\n shape: this.$props.shape,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n primary: this.$props.primary,\n dir: dir,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" dropdownbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n },\n shape: this.$props.shape,\n rounded: this.$props.rounded,\n fillMode: this.$props.fillMode,\n themeColor: this.$props.themeColor,\n onClick: this.onClickMainButton,\n on: this.v3 ? undefined : {\n \"click\": this.onClickMainButton,\n \"mousedown\": this.mouseDown\n },\n onMousedown: this.mouseDown,\n disabled: disabled || undefined,\n tabIndex: tabIndex,\n accessKey: this.$props.accessKey,\n icon: this.$props.icon,\n svgIcon: this.$props.svgIcon,\n iconClass: this.$props.iconClass,\n \"class\": this.$props.buttonClass,\n imageUrl: this.$props.imageUrl,\n look: this.$props.look,\n primary: this.$props.primary,\n dir: dir,\n ref: this._anchor,\n type: \"button\",\n \"aria-disabled\": disabled,\n \"aria-haspopup\": 'menu',\n \"aria-expanded\": this.computedOpened,\n \"aria-label\": this.$props.ariaLabel || \"\".concat(this.$props.text || '', \" dropdownbutton\"),\n \"aria-controls\": this.guid,\n \"aria-activedescendant\": this.focusedIndex !== undefined && this.focusedIndex >= 0 ? \"\".concat(this.guid, \"-\").concat(this.focusedIndex) : undefined\n }, this.v3 ? function () {\n return [_this2.$props.text, defaultSlot];\n } : [_this2.$props.text, defaultSlot]), renderPopup.call(this)]);\n },\n methods: {\n element: function element() {\n return this.mainButton;\n },\n onKeyDown: function onKeyDown(event) {\n if (event.altKey) {\n if (!this.computedOpened && event.keyCode === Keys.down) {\n this.dispatchPopupEvent(event, true);\n this.focusedIndex = 0;\n this.currentOpened = true;\n } else if (this.computedOpened && event.keyCode === Keys.up) {\n this.dispatchPopupEvent(event, false);\n this.focusedIndex = -1;\n this.currentOpened = false;\n }\n return;\n }\n if (event.keyCode === Keys.enter || event.keyCode === Keys.space) {\n if (this.focusedIndex !== undefined && this.focusedIndex >= 0) {\n this.dispatchClickEvent(event, this.focusedIndex);\n }\n // Prevent default because otherwise when an item is selected\n // click on the default button gets emitted which opens the popup again.\n event.preventDefault();\n this.focusedIndex = this.computedOpened ? -1 : 0, this.currentOpened = !this.computedOpened;\n this.dispatchPopupEvent(event, this.currentOpened);\n } else if (this.computedOpened && event.keyCode === Keys.esc) {\n this.focusedIndex = -1;\n this.currentOpened = false;\n this.dispatchPopupEvent(event, this.currentOpened);\n }\n if (this.computedOpened) {\n var newFocused = navigation(this.focusedIndex, event.keyCode, event.altKey, this.buttonsData.length);\n this.focusedIndex = newFocused;\n var arrowKey = event.keyCode === Keys.up || event.keyCode === Keys.down || event.keyCode === Keys.left || event.keyCode === Keys.right;\n if (!event.altKey && arrowKey) {\n // Needed to notify the parent listeners that event is handled.\n event.preventDefault();\n }\n }\n },\n onFocus: function onFocus(event) {\n if (!this.focused) {\n this.focused = true;\n this.$emit('focus', event, this, undefined);\n }\n this.focusedIndex = this.computedOpened ? 0 : -1;\n clearTimeout(this._blurTimeout);\n },\n onBlur: function onBlur(event) {\n clearTimeout(this._blurTimeout);\n this.createBlurTimeout(event);\n },\n createBlurTimeout: function createBlurTimeout(event) {\n var that = this;\n this._blurTimeout = setTimeout(function () {\n if (canUseDOM && document.activeElement !== that.$el) {\n that.focused = false;\n that.focusedIndex = -1;\n that.$emit('blur', event, that, undefined);\n var fireCloseEvent = that.computedOpened;\n if (fireCloseEvent) {\n that.currentOpened = false;\n that.dispatchPopupEvent(event, false);\n }\n }\n }, 200);\n },\n onItemClick: function onItemClick(event, clickedItemIndex) {\n this.focusedIndex = -1;\n this.currentOpened = false;\n this.dispatchClickEvent(event, clickedItemIndex);\n this.dispatchPopupEvent(event, false);\n },\n onItemDown: function onItemDown(event) {\n if (document.activeElement === this.element()) {\n event.preventDefault();\n }\n },\n mouseDown: function mouseDown(event) {\n event.preventDefault();\n },\n dispatchClickEvent: function dispatchClickEvent(dispatchedEvent, index) {\n if (!this.isItemDisabled(index)) {\n this.$emit('itemclick', {\n event: dispatchedEvent,\n item: this.buttonsData[index],\n itemIndex: index\n });\n }\n },\n onClickMainButton: function onClickMainButton(event) {\n if (!this.buttonsData.length) {\n return;\n }\n var toOpen = !this.computedOpened;\n this.currentOpened = toOpen;\n this.focused = true;\n this.focusedIndex = toOpen ? 0 : -1;\n this.dispatchPopupEvent(event, toOpen);\n },\n dispatchPopupEvent: function dispatchPopupEvent(dispatchedEvent, open) {\n this.$emit(open ? 'open' : 'close', dispatchedEvent, this, undefined);\n },\n isItemDisabled: function isItemDisabled(index) {\n return this.buttonsData[index] ? this.buttonsData[index].disabled : this.$props.disabled;\n },\n isRtl: function isRtl() {\n return this.$props.dir !== undefined ? this.$props.dir === 'rtl' : !!this.$el && getComputedStyle(this.$el).direction === 'rtl';\n }\n }\n};\n/**\n * @hidden\n */\nvar DropDownButton = DropDownButtonVue2;\nexport { DropDownButton, DropDownButtonVue2 };","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { Keys, validatePackage, getDefaultSlots, kendoThemeMaps } from '@progress/kendo-vue-common';\nimport { toolbarButtons, internalButtons } from './../util';\nimport { packageMetadata } from '../package-metadata';\n/**\n * @hidden\n */\nvar ToolbarVue2 = {\n name: 'KendoToolbar',\n props: {\n tabIndex: {\n type: Number,\n default: 0\n },\n dir: String,\n keyboardNavigation: {\n type: Boolean,\n default: true\n },\n buttons: {\n type: Array,\n default: function _default() {\n return undefined;\n }\n },\n size: {\n type: String,\n default: 'medium',\n validator: function validator(value) {\n return [null, 'small', 'medium', 'large'].includes(value);\n }\n },\n ariaLabel: String\n },\n created: function created() {\n this.offsetHeight = 0;\n this.offsetWidth = 0;\n this.currentButtons = [];\n this.focusedSelector = this.selectors.map(function (s) {\n return s + ':focus';\n }).join(',');\n validatePackage(packageMetadata);\n },\n computed: {\n selectors: function selectors() {\n return this.$props.buttons || toolbarButtons;\n },\n wrapperClass: function wrapperClass() {\n var _a;\n var size = this.$props.size;\n return _a = {\n 'k-toolbar': true\n }, _a[\"k-toolbar-\".concat(kendoThemeMaps.sizeMap[size] || size)] = size, _a;\n }\n },\n mounted: function mounted() {\n window.addEventListener('resize', this.onWindowResize);\n var element = this.$el;\n if (element) {\n this.offsetWidth = element.offsetWidth;\n this.offsetHeight = element.offsetHeight;\n if (this.$props.keyboardNavigation !== false) {\n this.currentButtons = this.getCurrentButtons();\n this.setTabIndex(0);\n }\n }\n },\n updated: function updated() {\n var element = this.$el;\n if (!element || this.$props.keyboardNavigation === false) {\n return;\n }\n this.currentButtons = this.getCurrentButtons();\n this.setTabIndex(this.focusedIndex());\n },\n destroyed: !!isV3 ? undefined : function () {\n window.removeEventListener('resize', this.onWindowResize);\n this.currentButtons.length = 0;\n },\n // @ts-ignore\n unmounted: function unmounted() {\n window.removeEventListener('resize', this.onWindowResize);\n this.currentButtons.length = 0;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": this.wrapperClass,\n role: \"toolbar\",\n attrs: this.v3 ? undefined : {\n role: \"toolbar\",\n dir: this.$props.dir,\n \"aria-label\": this.$props.ariaLabel\n },\n dir: this.$props.dir,\n \"aria-label\": this.$props.ariaLabel,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown\n }\n }, [defaultSlot]);\n },\n methods: {\n getCurrentButtons: function getCurrentButtons() {\n return this.$el && this.$el.querySelectorAll ? Array.from(this.$el.querySelectorAll(this.selectors.join(','))) : [];\n },\n getInternalButtons: function getInternalButtons() {\n return this.$el && this.$el.querySelectorAll ? Array.from(this.$el.querySelectorAll(internalButtons)) : [];\n },\n focusedIndex: function focusedIndex() {\n var focused = this.$el && this.$el.querySelector && this.$el.querySelector(this.focusedSelector);\n return Math.max(0, this.currentButtons.findIndex(function (e) {\n return e === focused;\n }));\n },\n setTabIndex: function setTabIndex(focusedIndex) {\n var tabIndex = this.$props.tabIndex;\n this.currentButtons.forEach(function (button, index) {\n button.tabIndex = index === focusedIndex ? tabIndex : -1;\n });\n this.getInternalButtons().forEach(function (button) {\n button.tabIndex = -1;\n });\n },\n onKeyDown: function onKeyDown(event) {\n if (this.$props.keyboardNavigation === false) {\n return;\n }\n var target = event.target;\n var arrowKey = event.keyCode === Keys.left || event.keyCode === Keys.right;\n if (!arrowKey || event.defaultPrevented || this.currentButtons.findIndex(function (b) {\n return b === target;\n }) === -1) {\n return;\n }\n var focusedIndex = this.focusedIndex();\n if (event.keyCode === Keys.left) {\n this.focusButton(focusedIndex, focusedIndex - 1);\n } else {\n this.focusButton(focusedIndex, focusedIndex + 1);\n }\n },\n focusButton: function focusButton(prevIndex, index) {\n var tabIndex = this.$props.tabIndex;\n var button = this.currentButtons[index];\n if (button) {\n button.tabIndex = tabIndex;\n button.focus();\n var prevButton = this.currentButtons[prevIndex];\n if (prevButton) {\n prevButton.tabIndex = -1;\n }\n }\n },\n onWindowResize: function onWindowResize(event) {\n var element = this.$el;\n if (!element) {\n return;\n }\n var offsetWidth = element.offsetWidth;\n var offsetHeight = element.offsetHeight;\n if (this.offsetWidth !== offsetWidth || this.offsetHeight !== offsetHeight) {\n this.offsetWidth = offsetWidth;\n this.offsetHeight = offsetHeight;\n var newSizes = {\n offsetWidth: this.offsetWidth,\n offsetHeight: this.offsetHeight\n };\n this.$emit('resize', __assign(__assign({\n target: this\n }, newSizes), {\n nativeEvent: event\n }));\n }\n }\n }\n};\n/**\n * @hidden\n */\nvar Toolbar = ToolbarVue2;\nexport { Toolbar, ToolbarVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nimport { getDefaultSlots } from '@progress/kendo-vue-common';\n/**\n * @hidden\n */\nvar ToolbarItemVue2 = {\n name: 'KendoToolbarItem',\n methods: {\n element: function element() {\n return this.$el;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var defaultSlot = getDefaultSlots(this);\n return h(\"div\", {\n \"class\": 'k-toolbar-item'\n }, [defaultSlot]);\n }\n};\n/**\n * @hidden\n */\nvar ToolbarItem = ToolbarItemVue2;\nexport { ToolbarItem, ToolbarItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nvar ToolbarSeparatorVue2 = {\n name: 'KendoToolbarItem',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"div\", {\n \"class\": \"k-separator\"\n });\n }\n};\n/**\n * Represents the [Kendo UI for Vue ToolbarSeparator component]({% slug overview_toolbar %}). A separator element for the sub-elements of the Toolbar.\n *\n * ```jsx\n * \n * ```\n */\nvar ToolbarSeparator = ToolbarSeparatorVue2;\nexport { ToolbarSeparator, ToolbarSeparatorVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\n/**\n * @hidden\n */\nvar ToolbarSpacerVue2 = {\n name: 'KendoToolbarItem',\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n return h(\"span\", {\n \"class\": \"k-spacer\"\n });\n }\n};\n/**\n * Represents the [Kendo UI for Vue ToolbarSpacer component]({% slug overview_toolbar %}). A spacer element for the sub-elements of the Toolbar.\n *\n * ```jsx\n * \n * ```\n */\nvar ToolbarSpacer = ToolbarSpacerVue2;\nexport { ToolbarSpacer, ToolbarSpacerVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames } from '@progress/kendo-vue-common';\nimport { Button as KButton } from '@progress/kendo-vue-buttons';\nimport { UploadFileStatus } from './interfaces/UploadFileStatus';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, cancel, retry, remove } from './messages/main';\nimport { cancelIcon, xIcon, arrowRotateCwIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar UploadListActionButtonVue2 = {\n name: 'KendoVueUploadListActionButton',\n props: {\n progress: Number,\n uid: String,\n status: Number,\n async: Object,\n disabled: Boolean,\n files: Array\n },\n // @ts-ignore\n emits: {\n 'cancel': null,\n 'retry': null,\n 'remove': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n retryFocused: false,\n actionFocused: false\n };\n },\n methods: {\n actionButtonTitle: function actionButtonTitle(status, localizationService) {\n if (status === UploadFileStatus.Uploading) {\n return localizationService.toLanguageString(cancel, messages[cancel]);\n }\n return localizationService.toLanguageString(remove, messages[remove]);\n },\n retryButtonTitle: function retryButtonTitle(localizationService) {\n return localizationService.toLanguageString(retry, messages[retry]);\n },\n buttonClassNames: function buttonClassNames(type) {\n return classNames(this.actionFocused && type === 'action' || this.retryFocused && type === 'retry' ? 'k-focus' : '');\n },\n onRetryFocus: function onRetryFocus() {\n this.retryFocused = true;\n },\n onRetryBlur: function onRetryBlur() {\n this.retryFocused = false;\n },\n onActionFocus: function onActionFocus() {\n this.actionFocused = true;\n },\n onActionBlur: function onActionBlur() {\n this.actionFocused = false;\n },\n onActionClick: function onActionClick() {\n var _a = this.$props,\n status = _a.status,\n uid = _a.uid,\n disabled = _a.disabled;\n if (disabled || status === UploadFileStatus.Removing) {\n return;\n }\n if (status === UploadFileStatus.Uploading) {\n this.$emit('cancel', uid);\n } else {\n this.$emit('remove', uid);\n }\n },\n onRetryClick: function onRetryClick() {\n var _a = this.$props,\n uid = _a.uid,\n disabled = _a.disabled;\n if (disabled) {\n return;\n }\n this.$emit('retry', uid);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n status = _a.status,\n progress = _a.progress;\n var isRetryVisible = status === UploadFileStatus.UploadFailed;\n var isProgressVisible = status === UploadFileStatus.Uploading;\n var isActionHidden = (status === UploadFileStatus.Uploaded || status === UploadFileStatus.Initial) && !this.$props.async.removeUrl;\n var localizationService = provideLocalizationService(this);\n var percent = '%';\n return h(\"div\", {\n \"class\": 'k-upload-actions'\n }, [isProgressVisible ? h(\"span\", {\n \"class\": 'k-upload-pct'\n }, [progress, percent]) : undefined, isRetryVisible ?\n // @ts-ignore\n h(KButton, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n fillMode: 'flat',\n tabindex: -1,\n disabled: this.disabled,\n icon: 'arrow-rotate-cw-small',\n svgIcon: arrowRotateCwIcon,\n iconClass: 'k-retry',\n ariaLabel: this.retryButtonTitle(localizationService),\n title: this.retryButtonTitle(localizationService)\n },\n fillMode: 'flat',\n tabindex: -1,\n disabled: this.disabled,\n \"class\": this.buttonClassNames('retry'),\n icon: 'arrow-rotate-cw-small',\n svgIcon: arrowRotateCwIcon,\n iconClass: 'k-retry',\n ariaLabel: this.retryButtonTitle(localizationService),\n title: this.retryButtonTitle(localizationService),\n onFocus: this.onRetryFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.onRetryFocus,\n \"blur\": this.onRetryBlur,\n \"click\": this.onRetryClick\n },\n onBlur: this.onRetryBlur,\n onClick: this.onRetryClick\n }) : undefined, !isActionHidden ?\n // @ts-ignore\n h(KButton, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n fillMode: 'flat',\n tabindex: -1,\n disabled: this.disabled,\n icon: isProgressVisible ? 'deny' : 'x',\n svgIcon: isProgressVisible ? cancelIcon : xIcon,\n ariaLabel: this.actionButtonTitle(status, localizationService),\n title: this.actionButtonTitle(status, localizationService)\n },\n fillMode: 'flat',\n tabindex: -1,\n disabled: this.disabled,\n \"class\": this.buttonClassNames('action'),\n onFocus: this.onActionFocus,\n on: this.v3 ? undefined : {\n \"focus\": this.onActionFocus,\n \"blur\": this.onActionBlur,\n \"click\": this.onActionClick\n },\n onBlur: this.onActionBlur,\n onClick: this.onActionClick,\n icon: isProgressVisible ? 'deny' : 'x',\n svgIcon: isProgressVisible ? cancelIcon : xIcon,\n ariaLabel: this.actionButtonTitle(status, localizationService),\n title: this.actionButtonTitle(status, localizationService)\n }) : undefined]);\n }\n};\n/**\n * @hidden\n */\nvar UploadListActionButton = UploadListActionButtonVue2;\nexport { UploadListActionButton, UploadListActionButtonVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames, Icon } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { ProgressBar } from '@progress/kendo-vue-progressbars';\nimport { messages, statusUploaded, statusUploadFailed } from './messages/main';\nimport utils from './utils/utils';\nimport { UploadListActionButton } from './UploadListActionButton';\nimport { fileAudioIcon, fileConfigIcon, fileDataIcon, fileIcon, fileImageIcon, filePdfIcon, filePresentationIcon, fileProgrammingIcon, fileTxtIcon, fileVideoIcon, fileZipIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar UploadListSingleItemVue2 = {\n name: 'KendoVueUploadListSingleItem',\n props: {\n files: Array,\n disabled: Boolean,\n async: Object\n },\n // @ts-ignore\n emits: {\n 'cancel': null,\n 'retry': null,\n 'remove': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n methods: {\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onRemove: function onRemove(uid) {\n this.$emit('remove', uid);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n },\n getFileExtension: function getFileExtension(file) {\n return file.extension ? file.extension.substring(1) : '';\n },\n getFileValidationMessage: function getFileValidationMessage(file, isUploadFailed) {\n var localizationService = provideLocalizationService(this);\n var validationMessage = '';\n if (isUploadFailed) {\n validationMessage = localizationService.toLanguageString(statusUploadFailed, messages[statusUploadFailed]);\n } else if (file.validationErrors && file.validationErrors.length > 0) {\n var messageKey = \"upload.\".concat(file.validationErrors[0]);\n validationMessage = localizationService.toLanguageString(messageKey, messages[messageKey]);\n }\n return validationMessage;\n },\n getFileExtensionName: function getFileExtensionName(file) {\n switch (file.extension) {\n case '.png':\n case '.jpg':\n case '.jpeg':\n case '.tiff':\n case '.bmp':\n case '.gif':\n return 'file-image';\n case '.mp3':\n case '.mp4':\n case '.wav':\n return 'file-audio';\n case '.mkv':\n case '.webm':\n case '.flv':\n case '.gifv':\n case '.avi':\n case '.wmv':\n return 'file-video';\n case '.txt':\n return 'file-txt';\n case '.pdf':\n return 'file-pdf';\n case '.ppt':\n case '.pptx':\n return 'file-presentation';\n case '.csv':\n case '.xls':\n case '.xlsx':\n return 'file-data';\n case '.html':\n case '.css':\n case '.js':\n case '.ts':\n return 'file-programming';\n case '.exe':\n return 'file-config';\n case '.zip':\n case '.rar':\n return 'file-zip';\n default:\n return 'file';\n }\n },\n getFileExtensionSVG: function getFileExtensionSVG(file) {\n switch (file.extension) {\n case '.png':\n case '.jpg':\n case '.jpeg':\n case '.tiff':\n case '.bmp':\n case '.gif':\n return fileImageIcon;\n case '.mp3':\n case '.mp4':\n case '.wav':\n return fileAudioIcon;\n case '.mkv':\n case '.webm':\n case '.flv':\n case '.gifv':\n case '.avi':\n case '.wmv':\n return fileVideoIcon;\n case '.txt':\n return fileTxtIcon;\n case '.pdf':\n return filePdfIcon;\n case '.ppt':\n case '.pptx':\n return filePresentationIcon;\n case '.csv':\n case '.xls':\n case '.xlsx':\n return fileDataIcon;\n case '.html':\n case '.css':\n case '.js':\n case '.ts':\n return fileProgrammingIcon;\n case '.exe':\n return fileConfigIcon;\n case '.zip':\n case '.rar':\n return fileZipIcon;\n default:\n return fileIcon;\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n files = _a.files,\n disabled = _a.disabled,\n async = _a.async;\n var file = files[0];\n var itemClassName = classNames('k-file-single');\n var _b = utils.getFileStatus([file]),\n isUploaded = _b[1],\n isUploadFailed = _b[2],\n isUploadValidationFailed = _b[3];\n var showProgressBar = !isUploadValidationFailed && !isUploaded && !isUploadFailed;\n var renderValidationError = function renderValidationError(currentFile, isCurrentUploadFailed) {\n return h(\"span\", {\n \"class\": 'k-file-info',\n key: '2'\n }, [h(\"span\", {\n \"class\": 'k-file-name',\n title: currentFile.name,\n attrs: this.v3 ? undefined : {\n title: currentFile.name\n }\n }, [currentFile.name]), h(\"span\", {\n \"class\": 'k-file-validation-message'\n }, [this.getFileValidationMessage(currentFile, isCurrentUploadFailed)])]);\n };\n var renderFileDetails = function renderFileDetails(currentFile) {\n var localizationService = provideLocalizationService(this);\n var successMessage = localizationService.toLanguageString(statusUploaded, messages[statusUploaded]);\n return h(\"span\", {\n \"class\": 'k-file-info',\n key: '2'\n }, [h(\"span\", {\n \"class\": 'k-file-name',\n title: currentFile.name,\n attrs: this.v3 ? undefined : {\n title: currentFile.name\n }\n }, [currentFile.name]), currentFile.progress !== 100 ? h(\"span\", {\n \"class\": 'k-file-size'\n }, [utils.getTotalFilesSizeMessage([currentFile])]) : h(\"span\", {\n \"class\": 'k-file-validation-message'\n }, [successMessage])]);\n };\n return h(\"div\", {\n \"class\": itemClassName\n }, [showProgressBar && h(ProgressBar, {\n value: file.progress || 0,\n attrs: this.v3 ? undefined : {\n value: file.progress || 0,\n labelVisible: false\n },\n labelVisible: false\n }), h(\"span\", {\n \"class\": 'k-file-icon-wrapper',\n key: '1'\n }, [h(Icon, {\n name: this.getFileExtensionName(file),\n attrs: this.v3 ? undefined : {\n name: this.getFileExtensionName(file),\n icon: this.getFileExtensionSVG(file),\n size: 'xxxlarge'\n },\n icon: this.getFileExtensionSVG(file),\n size: 'xxxlarge',\n \"class\": 'k-file-icon'\n }), h(\"span\", {\n \"class\": 'k-file-state'\n })]), isUploadValidationFailed || isUploadFailed ? renderValidationError.call(this, file, isUploadFailed) : renderFileDetails.call(this, file),\n // @ts-ignore function children\n h(UploadListActionButton, {\n uid: file.uid,\n attrs: this.v3 ? undefined : {\n uid: file.uid,\n status: file.status,\n progress: file.progress,\n files: files,\n disabled: disabled,\n async: async\n },\n status: file.status,\n progress: file.progress,\n files: files,\n disabled: disabled,\n async: async,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry\n },\n onRemove: this.onRemove,\n onRetry: this.onRetry\n })]);\n }\n};\n/**\n * @hidden\n */\nvar UploadListSingleItem = UploadListSingleItemVue2;\nexport { UploadListSingleItem, UploadListSingleItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames, Icon } from '@progress/kendo-vue-common';\nimport utils from './utils/utils';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, total, files as filesM, statusUploadFailed, statusUploaded } from './messages/main';\nimport { UploadListActionButton } from './UploadListActionButton';\nimport { ProgressBar } from '@progress/kendo-vue-progressbars';\nimport { copyIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar UploadListMultiItemVue2 = {\n name: 'KendoVueUploadListMultiItem',\n props: {\n files: Array,\n disabled: Boolean,\n async: Object\n },\n // @ts-ignore\n emits: {\n 'cancel': null,\n 'retry': null,\n 'remove': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n methods: {\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onRemove: function onRemove(uid) {\n this.$emit('remove', uid);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n },\n getFileValidationMessage: function getFileValidationMessage(file) {\n var localizationService = provideLocalizationService(this);\n var validationMessage = '';\n if (file.validationErrors && file.validationErrors.length > 0) {\n var messageKey = \"upload.\".concat(file.validationErrors[0]);\n validationMessage = localizationService.toLanguageString(messageKey, messages[messageKey]);\n }\n return validationMessage;\n },\n progress: function progress() {\n var files = this.$props.files;\n var sum = 0;\n files.forEach(function (file) {\n sum += file.progress || 0;\n });\n return sum / files.length;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n files = _a.files,\n disabled = _a.disabled,\n async = _a.async;\n var itemClassName = classNames('k-file-multiple');\n var _b = utils.getFileStatus(files),\n isUploaded = _b[1],\n isUploadFailed = _b[2],\n isUploadValidationFailed = _b[3];\n var localizationService = provideLocalizationService(this);\n var totalMessage = localizationService.toLanguageString(total, messages[total]);\n var filesMessage = localizationService.toLanguageString(filesM, messages[filesM]);\n var uploadFailedMessage = localizationService.toLanguageString(statusUploadFailed, messages[statusUploadFailed]);\n var successMessage = localizationService.toLanguageString(statusUploaded, messages[statusUploaded]);\n var progress = this.progress();\n var showProgressBar = !isUploadValidationFailed && !isUploaded && !isUploadFailed;\n var mapFiles = function mapFiles() {\n return files.map(function (file) {\n return h(\"span\", {\n key: file.name,\n \"class\": 'k-file-info'\n }, [h(\"span\", {\n \"class\": 'k-file-name',\n title: file.name,\n attrs: this.v3 ? undefined : {\n title: file.name\n }\n }, [file.name]), utils.fileHasValidationErrors(file) ? h(\"span\", {\n \"class\": 'k-file-validation-message'\n }, [this.getFileValidationMessage(file)]) : h(\"span\", {\n key: \"\".concat(file.name, \"-size\"),\n \"class\": 'k-file-size'\n }, [utils.getTotalFilesSizeMessage([file])])]);\n }, this);\n };\n return h(\"div\", {\n \"class\": itemClassName\n }, [showProgressBar && h(ProgressBar, {\n value: progress || 0,\n attrs: this.v3 ? undefined : {\n value: progress || 0,\n labelVisible: false\n },\n labelVisible: false\n }), h(\"span\", {\n \"class\": 'k-file-icon-wrapper'\n }, [h(Icon, {\n name: 'copy',\n attrs: this.v3 ? undefined : {\n name: 'copy',\n icon: copyIcon,\n size: 'xxxlarge'\n },\n icon: copyIcon,\n size: 'xxxlarge',\n \"class\": 'k-file-icon'\n })]), h(\"span\", {\n \"class\": \"k-multiple-files-wrapper\"\n }, [mapFiles.call(this), !isUploadFailed ? progress !== 100 ? h(\"span\", {\n \"class\": 'k-file-summary'\n }, [\"\".concat(totalMessage, \": \").concat(files.length, \" \").concat(filesMessage, \", \").concat(utils.getTotalFilesSizeMessage(files))]) : h(\"span\", {\n \"class\": 'k-file-summary k-text-success'\n }, [\"\".concat(files.length, \" \").concat(successMessage)]) : h(\"span\", {\n \"class\": 'k-file-validation-message'\n }, [\"\".concat(files.length, \" \").concat(uploadFailedMessage)])]),\n // @ts-ignore function children\n h(UploadListActionButton, {\n uid: files[0].uid,\n attrs: this.v3 ? undefined : {\n uid: files[0].uid,\n status: files[0].status,\n progress: progress,\n files: files,\n disabled: disabled,\n async: async\n },\n status: files[0].status,\n progress: progress,\n files: files,\n disabled: disabled,\n async: async,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry\n },\n onRemove: this.onRemove,\n onRetry: this.onRetry\n })]);\n }\n};\n/**\n * @hidden\n */\nvar UploadListMultiItem = UploadListMultiItemVue2;\nexport { UploadListMultiItem, UploadListMultiItemVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { canUseDOM, classNames, getTemplate, setRef } from '@progress/kendo-vue-common';\nimport { UploadFileStatus } from './interfaces/UploadFileStatus';\nimport { UploadListSingleItem } from './UploadListSingleItem';\nimport { UploadListMultiItem } from './UploadListMultiItem';\nimport utils from './utils/utils';\n/**\n * @hidden\n */\nvar UploadListGroupVue2 = {\n name: 'KendoVueUploadListGroup',\n props: {\n files: Array,\n async: Object,\n disabled: Boolean,\n navigationIndex: Number,\n list: [String, Function, Object],\n index: Number\n },\n // @ts-ignore\n emits: {\n 'cancel': null,\n 'click': null,\n 'retry': null,\n 'remove': null\n },\n mounted: function mounted() {\n this._element = this.v3 ? this.elementRef : this.$refs.element;\n },\n updated: function updated() {\n var _a = this.$props,\n navigationIndex = _a.navigationIndex,\n index = _a.index;\n if (navigationIndex === index && this._element && canUseDOM && document.activeElement !== this._element) {\n this._element.focus();\n }\n },\n methods: {\n onClick: function onClick() {\n this.$emit('click', this.$props.index);\n },\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onRemove: function onRemove(uid) {\n this.$emit('remove', uid);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var elementRef = ref(null);\n return {\n v3: v3,\n elementRef: elementRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n files = _a.files,\n async = _a.async,\n disabled = _a.disabled,\n navigationIndex = _a.navigationIndex,\n index = _a.index,\n list = _a.list;\n var firstFile = files[0];\n var isFileSuccess = firstFile.status === UploadFileStatus.Uploaded || firstFile.status === UploadFileStatus.Initial;\n var validationErrors = utils.filesHaveValidationErrors(files);\n var actionFailed = firstFile.status === UploadFileStatus.UploadFailed || firstFile.status === UploadFileStatus.RemoveFailed;\n var liClassName = classNames('k-file', {\n 'k-file-invalid': validationErrors,\n 'k-file-error': actionFailed,\n 'k-file-progress': firstFile.status === UploadFileStatus.Uploading,\n 'k-file-success': isFileSuccess,\n 'k-focus': navigationIndex === index\n });\n var itemComponent;\n var defaultItemRendering = files.length === 1 ?\n // @ts-ignore\n h(UploadListSingleItem, {\n files: files,\n attrs: this.v3 ? undefined : {\n files: files,\n async: async,\n disabled: disabled\n },\n async: async,\n disabled: disabled,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry\n },\n onRemove: this.onRemove,\n onRetry: this.onRetry\n }) :\n // @ts-ignore\n h(UploadListMultiItem, {\n files: files,\n attrs: this.v3 ? undefined : {\n files: files,\n async: async,\n disabled: disabled\n },\n async: async,\n disabled: disabled,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry\n },\n onRemove: this.onRemove,\n onRetry: this.onRetry\n });\n itemComponent = getTemplate.call(this, {\n h: h,\n template: this.$props.list,\n defaultRendering: defaultItemRendering,\n additionalProps: this.$props,\n additionalListeners: {\n retry: this.onRetry,\n remove: this.onRemove,\n cancel: this.onCancel\n }\n });\n return h(\"li\", {\n ref: setRef(this, 'element'),\n \"class\": liClassName,\n \"data-uid\": firstFile.uid,\n attrs: this.v3 ? undefined : {\n \"data-uid\": firstFile.uid,\n tabindex: -1\n },\n tabindex: -1,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick\n }\n }, [itemComponent]);\n }\n};\n/**\n * @hidden\n */\nvar UploadListGroup = UploadListGroupVue2;\nexport { UploadListGroup, UploadListGroupVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames } from '@progress/kendo-vue-common';\nimport { UploadListGroup } from './UploadListGroup';\n/**\n * @hidden\n */\nvar UploadListVue2 = {\n name: 'KendoVueUploadList',\n props: {\n groupedFiles: Object,\n async: Object,\n disabled: Boolean,\n navigationIndex: {\n type: Number,\n default: undefined\n },\n list: [String, Function, Object]\n },\n // @ts-ignore\n emits: {\n 'cancel': null,\n 'click': null,\n 'retry': null,\n 'remove': null\n },\n methods: {\n onClick: function onClick(navIndex) {\n this.$emit('click', navIndex);\n },\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onRemove: function onRemove(uid) {\n this.$emit('remove', uid);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n groupedFiles = _a.groupedFiles,\n navigationIndex = _a.navigationIndex,\n async = _a.async,\n disabled = _a.disabled,\n list = _a.list;\n var ulClassName = classNames('k-upload-files', 'k-reset');\n return h(\"ul\", {\n \"class\": ulClassName\n }, [Object.keys(groupedFiles).map(function (key, index) {\n var files = groupedFiles[key];\n return (\n // @ts-ignore function children\n h(UploadListGroup, {\n key: key,\n files: files,\n attrs: this.v3 ? undefined : {\n files: files,\n index: index,\n navigationIndex: navigationIndex,\n async: async,\n disabled: disabled,\n list: list\n },\n index: index,\n navigationIndex: navigationIndex,\n async: async,\n disabled: disabled,\n list: list,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"click\": this.onClick,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry\n },\n onClick: this.onClick,\n onRemove: this.onRemove,\n onRetry: this.onRetry\n })\n );\n }, this)]);\n }\n};\n/**\n * @hidden\n */\nvar UploadList = UploadListVue2;\nexport { UploadList, UploadListVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { Button } from '@progress/kendo-vue-buttons';\nimport { messages, clearSelectedFiles, uploadSelectedFiles } from './messages/main';\n/**\n * @hidden\n */\nvar UploadActionButtonsVue2 = {\n name: 'KendoVueUploadActionButtons',\n props: {\n disabled: Boolean,\n navigationIndex: Number,\n clearButtonIndex: Number,\n uploadButtonIndex: Number,\n actionsLayout: String\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n emits: {\n 'clear': null,\n 'click': null,\n 'upload': null\n },\n created: function created() {\n this._prevNavigationIndex = undefined;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var uploadElementRef = ref(null);\n var clearElementRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n uploadElementRef: uploadElementRef,\n clearElementRef: clearElementRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n mounted: function mounted() {\n this._clearElement = this.v3 ? this.clearElementRef : this.$refs.clearElement;\n this._uploadElement = this.v3 ? this.uploadElementRef : this.$refs.uploadElement;\n },\n watch: {\n navigationIndex: function navigationIndex(_newNavigationIndex, oldNavigationIndex) {\n this._prevNavigationIndex = oldNavigationIndex;\n }\n },\n updated: function updated() {\n var _a = this.$props,\n navigationIndex = _a.navigationIndex,\n clearButtonIndex = _a.clearButtonIndex,\n uploadButtonIndex = _a.uploadButtonIndex;\n if (navigationIndex !== this._prevNavigationIndex) {\n if (navigationIndex === clearButtonIndex && this._clearElement) {\n this._clearElement.focus();\n }\n if (navigationIndex === uploadButtonIndex && this._uploadElement) {\n this._uploadElement.focus();\n }\n }\n },\n methods: {\n onClearClick: function onClearClick() {\n if (this.$props.disabled) {\n return;\n }\n this.$emit('clear');\n },\n onUploadClick: function onUploadClick() {\n if (this.$props.disabled) {\n return;\n }\n this.$emit('click', this.$props.uploadButtonIndex);\n this.$emit('upload');\n }\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n disabled = _a.disabled,\n navigationIndex = _a.navigationIndex,\n clearButtonIndex = _a.clearButtonIndex,\n uploadButtonIndex = _a.uploadButtonIndex,\n actionsLayout = _a.actionsLayout;\n var localizationService = provideLocalizationService(this);\n var wrapperClasses = classNames('k-actions', {\n 'k-actions-start': actionsLayout === 'start',\n 'k-actions-center': actionsLayout === 'center',\n 'k-actions-end': actionsLayout === 'end',\n 'k-actions-stretched': actionsLayout === 'stretched'\n });\n var clearButtonClasses = classNames('k-clear-selected', navigationIndex === clearButtonIndex ? 'k-focus' : '');\n var uploadButtonClasses = classNames('k-upload-selected', navigationIndex === uploadButtonIndex ? 'k-focus' : '');\n return h(\"div\", {\n \"class\": wrapperClasses\n }, [\n // @ts-ignore function children\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n disabled: disabled,\n tabIndex: -1\n },\n ref: this.v3 ? function (el) {\n _this.clearElementRef = el;\n } : 'clearElement',\n disabled: disabled,\n \"class\": clearButtonClasses,\n tabIndex: -1,\n onClick: this.onClearClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClearClick\n }\n }, this.v3 ? function () {\n return [localizationService.toLanguageString(clearSelectedFiles, messages[clearSelectedFiles])];\n } : [localizationService.toLanguageString(clearSelectedFiles, messages[clearSelectedFiles])]),\n // @ts-ignore function children\n h(Button, {\n type: \"button\",\n attrs: this.v3 ? undefined : {\n type: \"button\",\n disabled: disabled,\n themeColor: 'primary',\n tabIndex: -1\n },\n ref: this.v3 ? function (el) {\n _this.uploadElementRef = el;\n } : 'uploadElement',\n disabled: disabled,\n themeColor: 'primary',\n \"class\": uploadButtonClasses,\n tabIndex: -1,\n onClick: this.onUploadClick,\n on: this.v3 ? undefined : {\n \"click\": this.onUploadClick\n }\n }, this.v3 ? function () {\n return [localizationService.toLanguageString(uploadSelectedFiles, messages[uploadSelectedFiles])];\n } : [localizationService.toLanguageString(uploadSelectedFiles, messages[uploadSelectedFiles])])]);\n }\n};\n/**\n * @hidden\n */\nvar UploadActionButtons = UploadActionButtonsVue2;\nexport { UploadActionButtons, UploadActionButtonsVue2 };","// @ts-ignore\nimport { setRef } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { selectTitle, selectNoFilesTitle, select, messages } from './messages/main';\nvar CHROME_REGEX = /(chrome)[ \\/]([\\w.]+)/i;\nvar SAFARI_REGEX = /(webkit)[ \\/]([\\w.]+)/i;\n/**\n * @hidden\n */\nvar UploadInputVue2 = {\n name: 'KendoVueUploadInput',\n props: {\n async: Object,\n id: String,\n multiple: {\n type: Boolean,\n default: undefined\n },\n disabled: {\n type: Boolean,\n default: undefined\n },\n accept: {\n type: String,\n default: undefined\n },\n hasFiles: {\n type: Boolean,\n default: false\n },\n ariaLabelledBy: {\n type: String,\n default: undefined\n },\n ariaDescribedBy: {\n type: String,\n default: undefined\n }\n },\n // @ts-ignore\n emits: {\n 'mousedown': null,\n 'add': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n mounted: function mounted() {\n this._input = this.v3 ? this.inputRef : this.$refs.input;\n },\n methods: {\n onMouseDown: function onMouseDown(e) {\n this.$emit('mousedown', e);\n },\n onAdd: function onAdd() {\n var ua = navigator.userAgent;\n var input = this._input;\n if (input) {\n if (input.files) {\n this.$emit('add', input.files);\n }\n /*\n Chrome and Internet Explorer do not trigger a `change` event\n when a file with the same name is selected a number of consecutive times.\n As a workaround, clear the input value after handling the file.\n */\n if (!(!ua.match(CHROME_REGEX) && ua.match(SAFARI_REGEX))) {\n input.type = '';\n input.type = 'file';\n }\n }\n },\n actionElement: function actionElement() {\n return this._input;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var inputRef = ref(null);\n return {\n v3: v3,\n inputRef: inputRef\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n multiple = _a.multiple,\n async = _a.async,\n disabled = _a.disabled,\n accept = _a.accept,\n hasFiles = _a.hasFiles,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy;\n var localizationService = provideLocalizationService(this);\n var message = hasFiles ? selectTitle : selectNoFilesTitle;\n var selectMessage = localizationService.toLanguageString(message, messages[message]);\n var selectLabel = localizationService.toLanguageString(select, messages[select]);\n return h(\"input\", {\n ref: setRef(this, 'input'),\n id: this.id,\n attrs: this.v3 ? undefined : {\n id: this.id,\n autocomplete: 'off',\n name: async.saveField,\n accept: accept,\n type: 'file',\n tabindex: -1,\n multiple: multiple,\n disabled: disabled,\n title: selectMessage,\n \"aria-label\": ariaLabelledBy !== undefined ? undefined : selectLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy\n },\n \"class\": 'k-hidden',\n autocomplete: 'off',\n name: async.saveField,\n accept: accept,\n type: 'file',\n tabindex: -1,\n multiple: multiple,\n disabled: disabled,\n onChange: this.onAdd,\n on: this.v3 ? undefined : {\n \"change\": this.onAdd,\n \"mousedown\": this.onMouseDown\n },\n onMousedown: this.onMouseDown,\n title: selectMessage,\n \"aria-label\": ariaLabelledBy !== undefined ? undefined : selectLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy\n });\n }\n};\n/**\n * @hidden\n */\nvar UploadInput = UploadInputVue2;\nexport { UploadInput, UploadInputVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames, guid, setRef } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, select } from './messages/main';\nimport { UploadInput } from './UploadInput';\nimport { Button } from '@progress/kendo-vue-buttons';\n/**\n * @hidden\n */\nvar UploadAddButtonVue2 = {\n name: 'KendoVueUploadAddButton',\n props: {\n addButtonIndex: Number,\n navigationIndex: Number,\n notFocusedIndex: Number,\n tabIndex: Number,\n async: Object,\n multiple: Boolean,\n disabled: Boolean,\n accept: String,\n id: String\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n emits: {\n 'add': null,\n 'click': null\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var elementRef = ref(null);\n var uploadInputRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n elementRef: elementRef,\n uploadInputRef: uploadInputRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n created: function created() {\n this.uploadInputId = guid();\n },\n mounted: function mounted() {\n this.element = this.v3 ? this.elementRef : this.$refs.element;\n this.uploadInput = this.v3 ? this.uploadInputRef : this.$refs.uploadInput;\n },\n watch: {\n navigationIndex: function navigationIndex(_newNavigationIndex, oldNavigationIndex) {\n this._prevNavigationIndex = oldNavigationIndex;\n }\n },\n updated: function updated() {\n var _a = this.$props,\n navigationIndex = _a.navigationIndex,\n addButtonIndex = _a.addButtonIndex,\n notFocusedIndex = _a.notFocusedIndex;\n if (navigationIndex !== this._prevNavigationIndex && this._prevNavigationIndex !== notFocusedIndex && navigationIndex === addButtonIndex && this.element) {\n this.element.focus();\n }\n },\n methods: {\n focus: function focus() {\n if (this.element) {\n this.element.focus();\n }\n },\n onClick: function onClick() {\n if (this.actionElement()) {\n this.actionElement().click();\n }\n this.$emit('click', this.$props.addButtonIndex);\n },\n onAdd: function onAdd(files) {\n this.$emit('add', files);\n },\n onInputMouseDown: function onInputMouseDown(e) {\n if (this.element) {\n e.preventDefault();\n this.element.focus();\n }\n },\n actionElement: function actionElement() {\n if (this.uploadInput) {\n return this.uploadInput.actionElement();\n }\n }\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n navigationIndex = _a.navigationIndex,\n addButtonIndex = _a.addButtonIndex,\n tabIndex = _a.tabIndex,\n id = _a.id,\n async = _a.async,\n multiple = _a.multiple,\n disabled = _a.disabled,\n accept = _a.accept;\n var localizationService = provideLocalizationService(this);\n var selectMessage = localizationService.toLanguageString(select, messages[select]);\n var buttonClassName = classNames('k-upload-button', navigationIndex === addButtonIndex ? 'k-focus' : '');\n return h(\"div\", {\n \"class\": \"k-upload-button-wrap\"\n }, [\n // @ts-ignore function children\n h(Button, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n role: 'button',\n type: \"button\",\n disabled: disabled,\n ariaLabel: selectMessage,\n tabindex: tabIndex\n },\n ref: setRef(this, 'element'),\n role: 'button',\n type: \"button\",\n disabled: disabled,\n ariaLabel: selectMessage,\n \"class\": buttonClassName,\n tabindex: tabIndex,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick\n }\n }, this.v3 ? function () {\n return [selectMessage];\n } : [selectMessage]),\n // @ts-ignore function children\n h(UploadInput, {\n id: this.uploadInputId,\n attrs: this.v3 ? undefined : {\n id: this.uploadInputId,\n async: async,\n multiple: multiple,\n disabled: disabled,\n accept: accept\n },\n async: async,\n multiple: multiple,\n disabled: disabled,\n accept: accept,\n onMousedown: this.onInputMouseDown,\n on: this.v3 ? undefined : {\n \"mousedown\": this.onInputMouseDown,\n \"add\": this.onAdd\n },\n onAdd: this.onAdd,\n ref: this.v3 ? function (el) {\n _this.uploadInputRef = el;\n } : 'uploadInput'\n })]);\n }\n};\n/**\n * @hidden\n */\nvar UploadAddButton = UploadAddButtonVue2;\nexport { UploadAddButton, UploadAddButtonVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar inject = allVue.inject;\nimport { classNames, Icon } from '@progress/kendo-vue-common';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, headerStatusUploading, headerStatusUploaded } from './messages/main';\nimport { checkIcon, exclamationCircleIcon, uploadIcon } from '@progress/kendo-svg-icons';\n/**\n * @hidden\n */\nvar UploadStatusVue2 = {\n props: {\n isUploading: Boolean,\n isUploaded: Boolean,\n isUploadFailed: Boolean\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n isUploading = _a.isUploading,\n isUploaded = _a.isUploaded,\n isUploadFailed = _a.isUploadFailed;\n var statusText = '';\n var localizationService = provideLocalizationService(this);\n if (isUploading) {\n statusText = localizationService.toLanguageString(headerStatusUploading, messages[headerStatusUploading]);\n } else if (isUploaded || isUploadFailed) {\n statusText = localizationService.toLanguageString(headerStatusUploaded, messages[headerStatusUploaded]);\n }\n return h(\"div\", {\n \"class\": classNames('k-upload-status')\n }, [h(Icon, {\n name: !isUploading && !isUploadFailed && isUploaded ? 'check' : !isUploading && isUploadFailed ? 'exclamation-circle' : isUploading ? 'upload' : '',\n attrs: this.v3 ? undefined : {\n name: !isUploading && !isUploadFailed && isUploaded ? 'check' : !isUploading && isUploadFailed ? 'exclamation-circle' : isUploading ? 'upload' : '',\n icon: !isUploading && !isUploadFailed && isUploaded ? checkIcon : !isUploading && isUploadFailed ? exclamationCircleIcon : isUploading ? uploadIcon : {}\n },\n icon: !isUploading && !isUploadFailed && isUploaded ? checkIcon : !isUploading && isUploadFailed ? exclamationCircleIcon : isUploading ? uploadIcon : {}\n }), statusText]);\n }\n};\n/**\n * @hidden\n */\nvar UploadStatus = UploadStatusVue2;\nexport { UploadStatus, UploadStatusVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames } from '@progress/kendo-vue-common';\nimport { UploadAddButton } from './UploadAddButton';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\nimport { messages, dropFilesHere } from './messages/main';\nimport utils from './utils/utils';\nimport { UploadStatus } from './UploadStatus';\n/**\n * @hidden\n */\nvar TIME_TO_CHECK_DRAG = 100;\n/**\n * @hidden\n */\nvar UploadDropZoneVue2 = {\n name: 'KendoVueUploadDropZone',\n props: {\n addButtonIndex: Number,\n async: Object,\n multiple: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n showFileList: Boolean,\n showActionButtons: Boolean,\n actionsLayout: {\n type: String,\n default: function _default() {\n return 'end';\n }\n },\n tabIndex: Number,\n accept: String,\n groupedFiles: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n navigationIndex: Number,\n notFocusedIndex: Number,\n list: [String, Function, Object],\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String,\n fileGroup: Object\n },\n // @ts-ignore\n emits: {\n 'add': null,\n 'click': null\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n data: function data() {\n return {\n currentDocumentActive: false,\n currentElementActive: false\n };\n },\n created: function created() {\n this.currentElementActive = false;\n },\n mounted: function mounted() {\n this.uploadAddButton = this.v3 ? this.uploadAddButtonRef : this.$refs.uploadAddButton;\n document.addEventListener('dragenter', this.onDocumentDragEnter);\n document.addEventListener('dragover', this.onDocumentDragOver);\n },\n destroyed: !!isV3 ? undefined : function () {\n document.removeEventListener('dragenter', this.onDocumentDragEnter);\n document.removeEventListener('dragover', this.onDocumentDragOver);\n },\n // @ts-ignore\n unmounted: function unmounted() {\n document.removeEventListener('dragenter', this.onDocumentDragEnter);\n document.removeEventListener('dragover', this.onDocumentDragOver);\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var uploadAddButtonRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n uploadAddButtonRef: uploadAddButtonRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n computed: {\n dropZoneClasses: function dropZoneClasses() {\n return {\n 'k-dropzone': true,\n 'k-upload-dropzone': true,\n 'k-active': this.currentDocumentActive,\n 'k-hover': this.currentElementActive\n };\n }\n },\n methods: {\n actionElement: function actionElement() {\n if (this.uploadAddButton) {\n return this.uploadAddButton.uploadInput;\n }\n },\n focus: function focus() {\n if (this.uploadAddButton) {\n return this.uploadAddButton.focus();\n }\n },\n onDocumentDragEnter: function onDocumentDragEnter() {\n var _this = this;\n if (!this.currentDocumentActive) {\n this.currentDocumentActive = true;\n var documentInterval = function documentInterval() {\n if (_this.isDragOver(_this._lastDocumentDragOver)) {\n _this.currentDocumentActive = false;\n clearInterval(_this._documentInterval);\n _this._documentInterval = null;\n _this._lastDocumentDragOver = null;\n }\n };\n this._documentInterval = setInterval(documentInterval, TIME_TO_CHECK_DRAG);\n }\n },\n onDocumentDragOver: function onDocumentDragOver() {\n this._lastDocumentDragOver = new Date();\n },\n onElementDragEnter: function onElementDragEnter() {\n var _this = this;\n if (!this.currentElementActive) {\n this.currentElementActive = true;\n var elementInterval = function elementInterval() {\n if (_this.isDragOver(_this._lastElementDragOver)) {\n _this.currentElementActive = false;\n clearInterval(_this._elementInterval);\n _this._elementInterval = null;\n _this._lastElementDragOver = null;\n }\n };\n this._elementInterval = setInterval(elementInterval, TIME_TO_CHECK_DRAG);\n }\n },\n onElementDragOver: function onElementDragOver(event) {\n event.preventDefault();\n this._lastElementDragOver = new Date();\n },\n onDrop: function onDrop(event) {\n event.preventDefault();\n var droppedFiles = event.dataTransfer.files;\n if (droppedFiles.length > 0 && !this.$props.disabled) {\n this.$emit('add', droppedFiles);\n }\n },\n isDragOver: function isDragOver(prevDate) {\n return new Date().getTime() - (prevDate || new Date()).getTime() > TIME_TO_CHECK_DRAG;\n },\n onClick: function onClick(eventIndex) {\n this.$emit('click', eventIndex);\n },\n onAdd: function onAdd(files) {\n this.$emit('add', files);\n }\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n multiple = _a.multiple,\n disabled = _a.disabled,\n tabIndex = _a.tabIndex,\n fileGroup = _a.fileGroup,\n accept = _a.accept,\n navigationIndex = _a.navigationIndex,\n notFocusedIndex = _a.notFocusedIndex,\n id = _a.id,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy;\n var localizationService = provideLocalizationService(this);\n var dropFilesMessage = localizationService.toLanguageString(dropFilesHere, messages[dropFilesHere]);\n var _b = utils.getFileStatus(fileGroup),\n isUploading = _b[0],\n isUploaded = _b[1],\n isUploadFailed = _b[2],\n isUploadValidationFailed = _b[3];\n var dropZoneClassName = classNames('k-dropzone-hint', {\n // Unsure about that, since it hides the \"Drop Files Message\" when we remove all uploaded components.\n // 'k-hidden': this.isDragged && !this.elementActive\n });\n var addButtonComponent = function addButtonComponent() {\n var _this = this;\n return (\n // @ts-ignore function children\n h(UploadAddButton, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n accept: accept,\n async: this.async,\n addButtonIndex: this.addButtonIndex,\n navigationIndex: navigationIndex,\n notFocusedIndex: notFocusedIndex,\n tabIndex: tabIndex,\n multiple: multiple,\n disabled: disabled\n },\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n ref: this.v3 ? function (el) {\n _this.uploadAddButtonRef = el;\n } : 'uploadAddButton',\n accept: accept,\n async: this.async,\n addButtonIndex: this.addButtonIndex,\n navigationIndex: navigationIndex,\n notFocusedIndex: notFocusedIndex,\n tabIndex: tabIndex,\n multiple: multiple,\n disabled: disabled,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick,\n \"add\": this.onAdd\n },\n onAdd: this.onAdd\n })\n );\n };\n return h(\"div\", {\n \"class\": this.dropZoneClasses,\n onDrop: this.onDrop,\n on: this.v3 ? undefined : {\n \"drop\": this.onDrop,\n \"dragenter\": this.onElementDragEnter,\n \"dragover\": this.onElementDragOver\n },\n onDragenter: this.onElementDragEnter,\n onDragover: this.onElementDragOver\n }, [addButtonComponent.call(this), isUploading || isUploaded || isUploadFailed || isUploadValidationFailed ?\n // @ts-ignore function children\n h(UploadStatus, {\n isUploading: isUploading,\n attrs: this.v3 ? undefined : {\n isUploading: isUploading,\n isUploaded: isUploaded,\n isUploadFailed: isUploadFailed\n },\n isUploaded: isUploaded,\n isUploadFailed: isUploadFailed\n }) : h(\"div\", {\n \"class\": dropZoneClassName\n }, [dropFilesMessage])]);\n }\n};\n/**\n * @hidden\n */\nvar UploadDropZone = UploadDropZoneVue2;\nexport { UploadDropZone, UploadDropZoneVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { classNames, setRef } from '@progress/kendo-vue-common';\nimport { UploadList } from './UploadList';\nimport { UploadActionButtons } from './UploadActionButtons';\nimport { UploadDropZone } from './UploadDropZone';\nvar ADD_BUTTON_NAV_INDEX = -1;\n/**\n * @hidden\n */\nvar UploadUIVue2 = {\n name: 'KendoVueUploadUI',\n props: {\n async: Object,\n className: String,\n multiple: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n showFileList: Boolean,\n showActionButtons: Boolean,\n actionsLayout: {\n type: String,\n default: function _default() {\n return 'end';\n }\n },\n tabIndex: Number,\n accept: String,\n groupedFiles: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n navigationIndex: Number,\n notFocusedIndex: Number,\n list: [String, Function, Object],\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n computed: {\n groupsCount: function groupsCount() {\n return Object.keys(this.$props.groupedFiles).length;\n },\n lastGroupIndex: function lastGroupIndex() {\n return this.groupsCount - 1;\n },\n addButtonIndex: function addButtonIndex() {\n return ADD_BUTTON_NAV_INDEX;\n },\n clearButtonIndex: function clearButtonIndex() {\n return this.lastGroupIndex + 1;\n },\n uploadButtonIndex: function uploadButtonIndex() {\n return this.lastGroupIndex + 2;\n },\n isRtl: function isRtl() {\n return this._container && getComputedStyle(this._container).direction === 'rtl' || false;\n }\n },\n methods: {\n actionElement: function actionElement() {\n if (this.uploadDropZone) {\n return this.uploadDropZone.actionElement();\n }\n },\n focus: function focus() {\n if (this.uploadDropZone) {\n return this.uploadDropZone.focus();\n }\n },\n onAdd: function onAdd(files) {\n this.$emit('add', files);\n },\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n },\n onClear: function onClear() {\n this.$emit('clear');\n },\n onUpload: function onUpload() {\n this.$emit('upload');\n },\n onRemove: function onRemove(uid) {\n this.$emit('remove', uid);\n },\n onKeyDown: function onKeyDown(event) {\n this.$emit('keydown', event, this.isRtl);\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.$emit('blur', event);\n },\n onClick: function onClick(navIndex) {\n this.$emit('click', navIndex);\n }\n },\n // @ts-ignore\n emits: {\n 'add': null,\n 'retry': null,\n 'cancel': null,\n 'clear': null,\n 'upload': null,\n 'remove': null,\n 'keydown': null,\n 'click': null,\n 'focus': null,\n 'blur': null\n },\n mounted: function mounted() {\n this._container = this.v3 ? this.containerRef : this.$refs.container;\n this.uploadDropZone = this.v3 ? this.uploadDropZoneRef : this.$refs.uploadDropZone;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var containerRef = ref(null);\n var uploadDropZoneRef = ref(null);\n return {\n v3: v3,\n containerRef: containerRef,\n uploadDropZoneRef: uploadDropZoneRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n multiple = _a.multiple,\n disabled = _a.disabled,\n tabIndex = _a.tabIndex,\n accept = _a.accept,\n showFileList = _a.showFileList,\n groupedFiles = _a.groupedFiles,\n navigationIndex = _a.navigationIndex,\n showActionButtons = _a.showActionButtons,\n actionsLayout = _a.actionsLayout,\n notFocusedIndex = _a.notFocusedIndex,\n list = _a.list,\n id = _a.id,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy,\n async = _a.async;\n var className = classNames('k-upload', 'k-upload-async', this.$props.className, disabled ? 'k-disabled' : '');\n return h(\"div\", {\n ref: setRef(this, 'container'),\n \"class\": className,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"focus\": this.onFocus,\n \"blur\": this.onBlur\n },\n onFocus: this.onFocus,\n onBlur: this.onBlur\n }, [\n // @ts-ignore function children\n h(UploadDropZone, {\n id: id,\n attrs: this.v3 ? undefined : {\n id: id,\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n accept: accept,\n async: async,\n addButtonIndex: this.addButtonIndex,\n navigationIndex: navigationIndex,\n notFocusedIndex: notFocusedIndex,\n tabIndex: tabIndex,\n multiple: multiple,\n fileGroup: groupedFiles,\n disabled: disabled\n },\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n ref: this.v3 ? function (el) {\n _this.uploadDropZoneRef = el;\n } : 'uploadDropZone',\n accept: accept,\n async: async,\n addButtonIndex: this.addButtonIndex,\n navigationIndex: navigationIndex,\n notFocusedIndex: notFocusedIndex,\n tabIndex: tabIndex,\n multiple: multiple,\n onClick: this.onClick,\n on: this.v3 ? undefined : {\n \"click\": this.onClick,\n \"add\": this.onAdd\n },\n onAdd: this.onAdd,\n fileGroup: groupedFiles,\n disabled: disabled\n }), showFileList ?\n // @ts-ignore function children\n h(UploadList, {\n groupedFiles: groupedFiles,\n attrs: this.v3 ? undefined : {\n groupedFiles: groupedFiles,\n disabled: disabled,\n async: async,\n navigationIndex: navigationIndex,\n list: list\n },\n disabled: disabled,\n async: async,\n navigationIndex: navigationIndex,\n list: list,\n onCancel: this.onCancel,\n on: this.v3 ? undefined : {\n \"cancel\": this.onCancel,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry,\n \"click\": this.onClick\n },\n onRemove: this.onRemove,\n onRetry: this.onRetry,\n onClick: this.onClick\n }) : undefined, showActionButtons ?\n // @ts-ignore function children\n h(UploadActionButtons, {\n disabled: disabled,\n attrs: this.v3 ? undefined : {\n disabled: disabled,\n navigationIndex: navigationIndex,\n clearButtonIndex: this.clearButtonIndex,\n uploadButtonIndex: this.uploadButtonIndex,\n actionsLayout: actionsLayout\n },\n navigationIndex: navigationIndex,\n clearButtonIndex: this.clearButtonIndex,\n uploadButtonIndex: this.uploadButtonIndex,\n actionsLayout: actionsLayout,\n onUpload: this.onUpload,\n on: this.v3 ? undefined : {\n \"upload\": this.onUpload,\n \"clear\": this.onClear,\n \"click\": this.onClick\n },\n onClear: this.onClear,\n onClick: this.onClick\n }) : undefined]);\n }\n};\n/**\n * @hidden\n */\nvar UploadUI = UploadUIVue2;\nexport { UploadUI, UploadUIVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { Keys, canUseDOM } from '@progress/kendo-vue-common';\nimport { UploadUI } from './UploadUI';\n/**\n * @hidden\n */\nvar NOT_FOCUSED_INDEX = -2;\n/**\n * @hidden\n */\nvar DEFAULT_INDEX = -1;\n/**\n * @hidden\n */\nvar UploadNavigationVue2 = {\n name: 'KendoVueUploadNavigation',\n props: {\n async: Object,\n className: String,\n multiple: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n showFileList: Boolean,\n showActionButtons: Boolean,\n actionsLayout: {\n type: String,\n default: function _default() {\n return 'end';\n }\n },\n tabIndex: Number,\n accept: String,\n groupedFiles: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n notFocusedIndex: Number,\n list: [String, Function, Object],\n id: String,\n ariaLabelledBy: String,\n ariaDescribedBy: String\n },\n // @ts-ignore\n emits: {\n 'add': null,\n 'cancel': null,\n 'clear': null,\n 'upload': null,\n 'retry': null,\n 'remove': null\n },\n data: function data() {\n return {\n currentNavIndex: NOT_FOCUSED_INDEX\n };\n },\n updated: function updated() {\n // const prevGroupLength = Object.keys(prevProps.groupedFiles).length;\n // const groupLength = Object.keys(this.$props.groupedFiles).length;\n // if (prevGroupLength > groupLength && this.navIndex > DEFAULT_INDEX) {\n // this.navIndex = this.navIndex - (prevGroupLength - groupLength);\n // }\n },\n methods: {\n actionElement: function actionElement() {\n if (this._uploadUI) {\n return this._uploadUI.actionElement();\n }\n },\n navIndex: function navIndex(_navIndex) {\n if (_navIndex === undefined) {\n return this.currentNavIndex;\n }\n var prevNavIndex = this.navIndex;\n this.currentNavIndex = _navIndex;\n if (_navIndex !== prevNavIndex) {\n this.$forceUpdate();\n }\n },\n focus: function focus() {\n if (this._uploadUI) {\n this._uploadUI.focus();\n }\n },\n onKeyDown: function onKeyDown(event, isRtl) {\n var _a;\n var navIndex = this.navIndex();\n var groupKeys = Object.keys(this.$props.groupedFiles);\n var maxFileIndex = groupKeys.length - 1;\n var maxNavIndex = this.$props.autoUpload || groupKeys.length === 0 ? maxFileIndex : maxFileIndex + 1;\n var cancelButtonIndex = maxFileIndex + 1;\n var uploadButtonIndex = cancelButtonIndex + 1;\n var prevIndex = navIndex === NOT_FOCUSED_INDEX ? DEFAULT_INDEX : navIndex;\n var nextIndex = navIndex;\n switch (event.keyCode) {\n case Keys.up:\n event.preventDefault();\n if (navIndex > -1) {\n nextIndex = prevIndex - 1;\n }\n break;\n case Keys.down:\n event.preventDefault();\n if (navIndex < maxNavIndex) {\n nextIndex = prevIndex + 1;\n }\n break;\n case Keys.left:\n event.preventDefault();\n if (isRtl) {\n if (navIndex === cancelButtonIndex) {\n nextIndex = prevIndex + 1;\n }\n } else {\n if (navIndex === uploadButtonIndex) {\n nextIndex = prevIndex - 1;\n }\n }\n break;\n case Keys.right:\n event.preventDefault();\n if (isRtl) {\n if (navIndex === uploadButtonIndex) {\n nextIndex = prevIndex - 1;\n }\n } else {\n if (navIndex === cancelButtonIndex) {\n nextIndex = prevIndex + 1;\n }\n }\n break;\n case Keys.enter:\n if (navIndex === DEFAULT_INDEX || navIndex === NOT_FOCUSED_INDEX) {\n if (this.actionElement()) {\n if (canUseDOM && ((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.className.indexOf('k-upload-button')) === -1) {\n this.actionElement().$el.click();\n }\n }\n }\n if (navIndex >= 0 && navIndex <= maxFileIndex) {\n this.onRetry(groupKeys[navIndex]);\n }\n break;\n case Keys.space:\n event.preventDefault();\n if (navIndex === DEFAULT_INDEX || navIndex === NOT_FOCUSED_INDEX) {\n if (this.actionElement()) {\n this.actionElement().$el.click();\n }\n }\n break;\n case Keys.tab:\n nextIndex = NOT_FOCUSED_INDEX;\n break;\n case Keys.delete:\n if (navIndex >= 0 && navIndex <= maxFileIndex) {\n nextIndex = prevIndex - 1;\n this.onRemove(groupKeys[navIndex]);\n }\n break;\n case Keys.esc:\n if (navIndex >= 0 && navIndex <= maxFileIndex) {\n nextIndex = prevIndex - 1;\n this.onCancel(groupKeys[navIndex]);\n }\n break;\n default:\n }\n this.navIndex(nextIndex);\n },\n onCancel: function onCancel(uid) {\n this.$emit('cancel', uid);\n },\n onClear: function onClear() {\n this.navIndex(DEFAULT_INDEX);\n this.$emit('clear');\n },\n onUpload: function onUpload() {\n this.navIndex(DEFAULT_INDEX);\n this.$emit('upload');\n },\n onRetry: function onRetry(uid) {\n this.$emit('retry', uid);\n },\n onRemove: function onRemove(uid) {\n this.navIndex(this.navIndex() > DEFAULT_INDEX ? this.navIndex() - 1 : DEFAULT_INDEX);\n this.$emit('remove', uid);\n },\n onAdd: function onAdd(files) {\n this.navIndex(DEFAULT_INDEX);\n this.$emit('add', files);\n },\n onClick: function onClick(navIndex) {\n this.navIndex(navIndex);\n },\n onFocus: function onFocus() {\n if (this._blurTimeout) {\n clearTimeout(this._blurTimeout);\n this._blurTimeout = undefined;\n }\n },\n onBlurTimeout: function onBlurTimeout() {\n this.navIndex(NOT_FOCUSED_INDEX);\n this._blurTimeout = undefined;\n },\n onBlur: function onBlur() {\n clearTimeout(this._blurTimeout);\n this._blurTimeout = window.setTimeout(this.onBlurTimeout);\n }\n },\n mounted: function mounted() {\n this._uploadUI = this.v3 ? this.uploadUIRef : this.$refs.uploadUI;\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var uploadUIRef = ref(null);\n return {\n v3: v3,\n uploadUIRef: uploadUIRef\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n multiple = _a.multiple,\n disabled = _a.disabled,\n showFileList = _a.showFileList,\n showActionButtons = _a.showActionButtons,\n actionsLayout = _a.actionsLayout,\n tabIndex = _a.tabIndex,\n accept = _a.accept,\n groupedFiles = _a.groupedFiles,\n list = _a.list,\n id = _a.id,\n ariaLabelledBy = _a.ariaLabelledBy,\n ariaDescribedBy = _a.ariaDescribedBy,\n async = _a.async;\n return (\n // @ts-ignore function children\n h(UploadUI, {\n ref: this.v3 ? function (el) {\n _this.uploadUIRef = el;\n } : 'uploadUI',\n \"class\": this.$props.className,\n onKeydown: this.onKeyDown,\n on: this.v3 ? undefined : {\n \"keydown\": this.onKeyDown,\n \"add\": this.onAdd,\n \"clear\": this.onClear,\n \"upload\": this.onUpload,\n \"remove\": this.onRemove,\n \"retry\": this.onRetry,\n \"cancel\": this.onCancel,\n \"click\": this.onClick,\n \"focus\": this.onFocus,\n \"blur\": this.onBlur\n },\n navigationIndex: this.currentNavIndex,\n attrs: this.v3 ? undefined : {\n navigationIndex: this.currentNavIndex,\n notFocusedIndex: NOT_FOCUSED_INDEX,\n multiple: multiple,\n disabled: disabled,\n showFileList: showFileList,\n showActionButtons: showActionButtons,\n actionsLayout: actionsLayout,\n tabIndex: tabIndex,\n accept: accept,\n groupedFiles: groupedFiles,\n list: list,\n id: id,\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n async: async\n },\n notFocusedIndex: NOT_FOCUSED_INDEX,\n onAdd: this.onAdd,\n onClear: this.onClear,\n onUpload: this.onUpload,\n onRemove: this.onRemove,\n onRetry: this.onRetry,\n onCancel: this.onCancel,\n onClick: this.onClick,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n multiple: multiple,\n disabled: disabled,\n showFileList: showFileList,\n showActionButtons: showActionButtons,\n actionsLayout: actionsLayout,\n tabIndex: tabIndex,\n accept: accept,\n groupedFiles: groupedFiles,\n list: list,\n id: id,\n ariaLabelledBy: ariaLabelledBy,\n ariaDescribedBy: ariaDescribedBy,\n async: async\n })\n );\n }\n};\n/**\n * @hidden\n */\nvar UploadNavigation = UploadNavigationVue2;\nexport { UploadNavigation, UploadNavigationVue2 };","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isHeaders(header)) {\n for (const [key, value] of header.entries()) {\n setHeader(value, key, rewrite);\n }\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn.apply(null, args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let {data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth} = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n let contentType;\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // Let the browser set it\n } else if ((contentType = headers.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n headers.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst isFetchSupported = typeof fetch === 'function' && typeof Request === 'function' && typeof Response === 'function';\nconst isReadableStreamSupported = isFetchSupported && typeof ReadableStream === 'function';\n\n// used only inside the fetch adapter\nconst encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Response(str).arrayBuffer())\n);\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst supportsRequestStream = isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n});\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst supportsResponseStream = isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n\nconst resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n};\n\nisFetchSupported && (((res) => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = utils.isFunction(res[type]) ? (res) => res[type]() :\n (_, config) => {\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n})(new Response));\n\nconst getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if(utils.isBlob(body)) {\n return body.size;\n }\n\n if(utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if(utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if(utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if(utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n}\n\nconst resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n}\n\nexport default isFetchSupported && (async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n request = new Request(url, {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n });\n\n let response = await fetch(request);\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n});\n\n\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: fetchAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","export const VERSION = \"1.7.7\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy;\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy = {}) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { UploadFileStatus } from '../interfaces/UploadFileStatus';\nvar copyState = function (state) {\n return (state || []).map(function (file) {\n return __assign({}, file);\n });\n};\nvar add = function (file, filesState) {\n filesState.push(file);\n};\nvar addMany = function (fileList, filesState) {\n fileList.forEach(function (file) { return add(file, filesState); });\n};\nvar groupFilesByUid = function (files) {\n var fileGroup = {};\n files.forEach(function (file) {\n if (fileGroup[file.uid]) {\n fileGroup[file.uid].push(file);\n }\n else {\n fileGroup[file.uid] = [file];\n }\n });\n return fileGroup;\n};\nvar filesForUpload = function (files) {\n var notUploadedGroups = {};\n groupForEach(files, function (currentFiles, uid) {\n var currentFilesValid = true;\n currentFiles.forEach(function (file) {\n if (file.status !== UploadFileStatus.Selected ||\n (file.validationErrors && file.validationErrors.length > 0)) {\n currentFilesValid = false;\n }\n });\n if (currentFilesValid) {\n notUploadedGroups[uid] = currentFiles;\n }\n });\n return notUploadedGroups;\n};\nvar setFilesStatus = function (filesGroup, status) {\n groupForEach(filesGroup, function (currentFiles) {\n currentFiles.forEach(function (file) {\n file.status = status;\n });\n });\n};\nvar flatFileGroup = function (fileGroup) {\n var transformed = [];\n groupForEach(fileGroup, function (currentFiles) {\n transformed.push.apply(transformed, currentFiles);\n });\n return transformed;\n};\nvar groupForEach = function (fileGroup, callBack) {\n Object.keys(fileGroup).forEach(function (uidKey) {\n callBack(fileGroup[uidKey], uidKey);\n });\n};\n/**\n * @hidden\n */\nexport default {\n copyState: copyState,\n addMany: addMany,\n add: add,\n groupFilesByUid: groupFilesByUid,\n filesForUpload: filesForUpload,\n setFilesStatus: setFilesStatus,\n flatFileGroup: flatFileGroup,\n groupForEach: groupForEach\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar populateClientFormData = function (data, clientData) {\n Object.keys(clientData).forEach(function (key) {\n data.append(key, clientData[key]);\n });\n};\nvar populateUploadFormData = function (files, saveField, clientData) {\n var data = new FormData();\n populateClientFormData(data, clientData);\n files.forEach(function (file) {\n var rawFile = file.getRawFile ? file.getRawFile() : '';\n if (rawFile) {\n data.append(saveField, rawFile, file.name);\n }\n else {\n data.append(saveField, rawFile);\n }\n });\n return data;\n};\nvar populateRemoveFormData = function (fileNames, removeField, clientData) {\n var data = new FormData();\n populateClientFormData(data, clientData);\n fileNames.forEach(function (fileName) {\n data.append(removeField, fileName);\n });\n return data;\n};\nvar populateRequestOptions = function (headers, async) {\n return {\n headers: headers,\n responseType: async.responseType,\n withCredentials: async.withCredentials\n };\n};\nvar cloneRequestHeaders = function (headers) {\n var cloned = {};\n Object.keys(headers).forEach(function (key) {\n cloned[key] = headers[key];\n });\n return cloned;\n};\nvar convertAxiosResponse = function (event) {\n var data = event.data, config = event.config, others = __rest(event, [\"data\", \"config\"]);\n return __assign({ response: data }, others);\n};\n/**\n * @hidden\n */\nexport default {\n populateClientFormData: populateClientFormData,\n populateUploadFormData: populateUploadFormData,\n populateRemoveFormData: populateRemoveFormData,\n populateRequestOptions: populateRequestOptions,\n cloneRequestHeaders: cloneRequestHeaders,\n convertAxiosResponse: convertAxiosResponse\n};\n","var INVALIDMAXFILESIZE = 'invalidMaxFileSize';\nvar INVALIDMINFILESIZE = 'invalidMinFileSize';\nvar INVALIDFILEEXTENSION = 'invalidFileExtension';\nvar validateFileExtension = function (file, allowedExtensions) {\n if (allowedExtensions.length > 0) {\n if (allowedExtensions.indexOf((file.extension || '').toLowerCase()) < 0) {\n file.validationErrors = file.validationErrors || [];\n if (file.validationErrors.indexOf(INVALIDFILEEXTENSION) < 0) {\n file.validationErrors.push(INVALIDFILEEXTENSION);\n }\n }\n }\n};\nvar validateFileSize = function (file, minFileSize, maxFileSize) {\n if (minFileSize !== 0 && (file.size || 0) < minFileSize) {\n file.validationErrors = file.validationErrors || [];\n if (file.validationErrors.indexOf(INVALIDMINFILESIZE) < 0) {\n file.validationErrors.push(INVALIDMINFILESIZE);\n }\n }\n if (maxFileSize !== 0 && (file.size || 0) > maxFileSize) {\n file.validationErrors = file.validationErrors || [];\n if (file.validationErrors.indexOf(INVALIDMAXFILESIZE) < 0) {\n file.validationErrors.push(INVALIDMAXFILESIZE);\n }\n }\n};\nvar parseAllowedExtensions = function (extensions) {\n var allowedExtensions = extensions.map(function (ext) {\n var parsedExt = (ext.substring(0, 1) === '.') ? ext : ('.' + ext);\n return parsedExt.toLowerCase();\n });\n return allowedExtensions;\n};\nvar validateFiles = function (files, restrictionInfo, validateFile) {\n var allowedExtensions = parseAllowedExtensions(restrictionInfo.allowedExtensions || []);\n var maxFileSize = restrictionInfo.maxFileSize || 0;\n var minFileSize = restrictionInfo.minFileSize || 0;\n var i;\n for (i = 0; i < files.length; i++) {\n validateFileExtension(files[i], allowedExtensions);\n validateFileSize(files[i], minFileSize, maxFileSize);\n if (validateFile) {\n validateFile(files[i]);\n }\n }\n};\n/**\n * @hidden\n */\nexport default {\n validateFiles: validateFiles\n};\n","/**\n * @hidden\n */\nexport var packageMetadata = {\n name: '@progress/kendo-vue-upload',\n productName: 'Kendo UI for Vue',\n productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],\n publishDate: 1708438725,\n version: '',\n licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'\n};\n","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nimport { getListeners, getTabIndex, templateRendering, validatePackage } from '@progress/kendo-vue-common';\nimport { UploadFileStatus } from './interfaces/UploadFileStatus';\nimport { UploadNavigation } from './UploadNavigation';\nimport axios from 'axios';\nimport utils from './utils/utils';\nimport stateUtils from './utils/stateUtils';\nimport connectionUtils from './utils/connectionUtils';\nimport validationUtils from './utils/validationUtils';\nimport { packageMetadata } from './package-metadata';\n/**\n * @hidden\n */\nvar UploadVue2 = {\n name: 'KendoVueUpload',\n props: {\n autoUpload: {\n type: Boolean,\n default: true\n },\n batch: {\n type: Boolean,\n default: false\n },\n withCredentials: {\n type: Boolean,\n default: true\n },\n saveField: {\n type: String,\n default: function _default() {\n return 'files';\n }\n },\n saveHeaders: {\n type: [String, Function, Object],\n default: function _default() {\n return {};\n }\n },\n saveMethod: {\n type: String,\n default: function _default() {\n return 'POST';\n }\n },\n saveUrl: {\n type: [String, Function],\n default: function _default() {\n return '';\n }\n },\n responseType: {\n type: String,\n default: function _default() {\n return 'json';\n }\n },\n removeField: {\n type: String,\n default: function _default() {\n return 'fileNames';\n }\n },\n removeHeaders: {\n type: [String, Function, Object],\n default: function _default() {\n return {};\n }\n },\n removeMethod: {\n type: String,\n default: function _default() {\n return 'POST';\n }\n },\n removeUrl: {\n type: [String, Function],\n default: function _default() {\n return '';\n }\n },\n multiple: {\n type: Boolean,\n default: true\n },\n disabled: {\n type: Boolean,\n default: false\n },\n showFileList: {\n type: Boolean,\n default: true\n },\n showActionButtons: {\n type: Boolean,\n default: true\n },\n actionsLayout: {\n type: String,\n default: function _default() {\n return 'end';\n }\n },\n tabIndex: Number,\n accept: String,\n list: [String, Function, Object],\n restrictions: {\n type: Object,\n default: function _default() {\n return {\n allowedExtensions: [],\n maxFileSize: 0,\n minFileSize: 0\n };\n }\n },\n validateFile: Function,\n files: Array,\n defaultFiles: Array\n },\n // @ts-ignore\n emits: {\n 'add': null,\n 'beforeremove': null,\n 'beforeupload': null,\n 'cancel': null,\n 'statuschange': null,\n 'progress': null,\n 'remove': null\n },\n created: function created() {\n this._httpSubscriptions = {};\n validatePackage(packageMetadata);\n if (this.$props.defaultFiles) {\n this.currentFiles = this.$props.defaultFiles;\n }\n },\n data: function data() {\n return {\n currentFiles: []\n };\n },\n computed: {\n computedAsync: function computedAsync() {\n var _a = this.$props,\n autoUpload = _a.autoUpload,\n batch = _a.batch,\n removeField = _a.removeField,\n removeHeaders = _a.removeHeaders,\n removeMethod = _a.removeMethod,\n removeUrl = _a.removeUrl,\n responseType = _a.responseType,\n saveField = _a.saveField,\n saveHeaders = _a.saveHeaders,\n saveMethod = _a.saveMethod,\n saveUrl = _a.saveUrl,\n withCredentials = _a.withCredentials;\n return {\n autoUpload: autoUpload,\n batch: batch,\n removeField: removeField,\n removeHeaders: removeHeaders,\n removeMethod: removeMethod,\n removeUrl: removeUrl,\n responseType: responseType,\n saveField: saveField,\n saveHeaders: saveHeaders,\n saveMethod: saveMethod,\n saveUrl: saveUrl,\n withCredentials: withCredentials\n };\n },\n computedFiles: function computedFiles() {\n var files = this.isControlled ? this.$props.files : this.currentFiles;\n return files || [];\n },\n isControlled: function isControlled() {\n return !this.$props.defaultFiles;\n },\n isCustomSave: function isCustomSave() {\n return this.$props.saveUrl && typeof this.$props.saveUrl === 'function';\n },\n isCustomRemove: function isCustomRemove() {\n return this.$props.removeUrl && typeof this.$props.removeUrl === 'function';\n },\n fileStateCopy: function fileStateCopy() {\n return stateUtils.copyState(this.computedFiles);\n },\n actionElement: function actionElement() {\n if (this._uploadNavigation) {\n return this._uploadNavigation.actionElement;\n }\n }\n },\n mounted: function mounted() {\n this._uploadNavigation = this.v3 ? this.uploadNavigationRef : this.$refs.uploadNavigation;\n },\n methods: {\n focus: function focus() {\n if (this._uploadNavigation) {\n this._uploadNavigation.focus();\n }\n },\n uploadFiles: function uploadFiles(filesForUpload) {\n var _this = this;\n var async = this.computedAsync;\n stateUtils.setFilesStatus(filesForUpload, UploadFileStatus.Uploading);\n stateUtils.groupForEach(filesForUpload, function (currentFiles, uid) {\n var headers = connectionUtils.cloneRequestHeaders(async.saveHeaders || {});\n var additionalData = {};\n var eventData = {\n target: _this,\n files: currentFiles,\n headers: headers,\n additionalData: additionalData\n };\n _this.$emit('beforeupload', eventData);\n var requestOptions = connectionUtils.populateRequestOptions(eventData.headers, _this.computedAsync);\n var formData = connectionUtils.populateUploadFormData(currentFiles, async.saveField, eventData.additionalData);\n if (_this.isCustomSave) {\n _this.$props.saveUrl(currentFiles, {\n formData: formData,\n requestOptions: requestOptions\n }, _this.onUploadProgress).then(function (event) {\n return _this.onUploadSuccess(event.uid);\n }).catch(function (event) {\n return _this.onUploadError(event.uid);\n });\n } else {\n var cancelTokenSource = axios.CancelToken.source();\n _this._httpSubscriptions[uid] = cancelTokenSource;\n axios(__assign(__assign({\n method: async.saveMethod,\n url: async.saveUrl,\n data: formData,\n cancelToken: cancelTokenSource.token\n }, requestOptions), {\n onUploadProgress: function onUploadProgress(event) {\n return _this.onUploadProgress(uid, event);\n }\n })).then(function (event) {\n return _this.onUploadSuccess(uid, event);\n }).catch(function (event) {\n return _this.onUploadError(uid, event);\n });\n }\n });\n },\n removeFiles: function removeFiles(filesForRemove) {\n var _this = this;\n var async = this.computedAsync;\n stateUtils.groupForEach(filesForRemove, function (currentFiles, uid) {\n var headers = connectionUtils.cloneRequestHeaders(async.removeHeaders || {});\n var additionalData = {};\n var eventData = {\n target: _this,\n files: currentFiles,\n headers: headers,\n additionalData: additionalData\n };\n _this.$emit('beforeremove', eventData);\n var fileNames = currentFiles.map(function (file) {\n return file.name;\n });\n var requestOptions = connectionUtils.populateRequestOptions(eventData.headers, _this.computedAsync);\n var formData = connectionUtils.populateRemoveFormData(fileNames, async.removeField, eventData.additionalData);\n if (_this.isCustomRemove) {\n _this.$props.removeUrl(currentFiles, {\n formData: formData,\n requestOptions: requestOptions\n }).then(function (event) {\n return _this.onRemoveSuccess(event.uid);\n }).catch(function (event) {\n return _this.onRemoveError(event.uid);\n });\n } else {\n axios(__assign({\n method: async.removeMethod,\n url: async.removeUrl,\n data: formData\n }, requestOptions)).then(function (event) {\n return _this.onRemoveSuccess(uid, event);\n }).catch(function (event) {\n return _this.onRemoveError(uid, event);\n });\n }\n });\n },\n onUpload: function onUpload() {\n var _this = this;\n var newState = this.fileStateCopy;\n var groupedFiles = stateUtils.groupFilesByUid(newState);\n var filesForUpload = stateUtils.filesForUpload(groupedFiles);\n this.uploadFiles(filesForUpload);\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: stateUtils.flatFileGroup(filesForUpload)\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n },\n onAdd: function onAdd(files) {\n var _this = this;\n // The problem when removing rawFile is that there is no reliable way of preserving it internally.\n // For example, uid + filename - the filename can be changed at any moment.\n var selectedFiles = utils.getAllFileInfo(files);\n var newState;\n selectedFiles = utils.assignGuidToFiles(selectedFiles, this.computedAsync.batch);\n validationUtils.validateFiles(selectedFiles, this.$props.restrictions, this.validateFile);\n if (!this.$props.multiple) {\n newState = [];\n } else {\n newState = this.fileStateCopy;\n }\n stateUtils.addMany(selectedFiles, newState);\n if (this.computedAsync.autoUpload) {\n var groupedFiles = stateUtils.groupFilesByUid(newState);\n this.uploadFiles(stateUtils.filesForUpload(groupedFiles));\n }\n var onAddEvent = function onAddEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: selectedFiles\n };\n _this.$emit('add', eventData);\n };\n if (this.isControlled) {\n onAddEvent();\n } else {\n this.currentFiles = newState;\n onAddEvent();\n }\n },\n onUploadProgress: function onUploadProgress(uid, event) {\n var _this = this;\n var percentComplete = event.total ? Math.round(100 * event.loaded / event.total) : 0;\n var newState = this.fileStateCopy;\n var filesWithProgress = newState.filter(function (file) {\n return file.uid === uid;\n });\n if (!filesWithProgress.length) {\n return;\n }\n filesWithProgress.forEach(function (file) {\n file.progress = percentComplete;\n });\n var onProgressEvent = function onProgressEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: filesWithProgress\n };\n _this.$emit('progress', eventData);\n };\n if (this.isControlled) {\n onProgressEvent();\n } else {\n this.currentFiles = newState;\n onProgressEvent();\n }\n },\n onUploadSuccess: function onUploadSuccess(uid, event) {\n var _this = this;\n var newState = this.fileStateCopy;\n var successFiles = newState.filter(function (file) {\n return file.uid === uid;\n });\n successFiles.forEach(function (file) {\n file.status = UploadFileStatus.Uploaded;\n });\n delete this._httpSubscriptions[uid];\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: successFiles,\n response: event ? connectionUtils.convertAxiosResponse(event) : undefined\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n },\n onUploadError: function onUploadError(uid, event) {\n var _this = this;\n var newState = this.fileStateCopy;\n var failedFiles = newState.filter(function (file) {\n return file.uid === uid;\n });\n failedFiles.forEach(function (file) {\n file.status = UploadFileStatus.UploadFailed;\n });\n delete this._httpSubscriptions[uid];\n if (!failedFiles.length) {\n return;\n }\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: failedFiles,\n response: event ? connectionUtils.convertAxiosResponse(event) : undefined\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n },\n onRemove: function onRemove(uid) {\n var _a;\n var _this = this;\n var newState = this.fileStateCopy;\n var filesForRemove = newState.filter(function (file) {\n return file.uid === uid;\n });\n var filesToKeep = newState.filter(function (file) {\n return file.uid !== uid;\n });\n var remoteRemoveStatuses = [UploadFileStatus.Uploaded, UploadFileStatus.Initial, UploadFileStatus.RemoveFailed];\n if (filesForRemove[0] && remoteRemoveStatuses.indexOf(filesForRemove[0].status) > -1) {\n var fileGroup = (_a = {}, _a[uid] = filesForRemove, _a);\n stateUtils.setFilesStatus(fileGroup, UploadFileStatus.Removing);\n this.removeFiles(fileGroup);\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: filesForRemove\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n } else {\n var onRemoveEvent = function onRemoveEvent() {\n var eventData = {\n target: _this,\n newState: filesToKeep,\n affectedFiles: filesForRemove\n };\n _this.$emit('remove', eventData);\n };\n if (this.isControlled) {\n onRemoveEvent();\n } else {\n this.currentFiles = filesToKeep;\n onRemoveEvent();\n }\n }\n },\n onRemoveSuccess: function onRemoveSuccess(uid, event) {\n var _this = this;\n var newState = this.fileStateCopy;\n var filesForRemove = newState.filter(function (file) {\n return file.uid === uid;\n });\n var filesToKeep = newState.filter(function (file) {\n return file.uid !== uid;\n });\n var onRemoveEvent = function onRemoveEvent() {\n var eventData = {\n target: _this,\n newState: filesToKeep,\n affectedFiles: filesForRemove,\n response: event ? connectionUtils.convertAxiosResponse(event) : undefined\n };\n _this.$emit('remove', eventData);\n };\n if (this.isControlled) {\n onRemoveEvent();\n } else {\n this.currentFiles = filesToKeep;\n onRemoveEvent();\n }\n },\n onRemoveError: function onRemoveError(uid, event) {\n var _this = this;\n var newState = this.fileStateCopy;\n var failedFiles = newState.filter(function (file) {\n return file.uid === uid;\n });\n failedFiles.forEach(function (file) {\n file.status = UploadFileStatus.RemoveFailed;\n });\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: failedFiles,\n response: event ? connectionUtils.convertAxiosResponse(event) : undefined\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n },\n onRetry: function onRetry(uid) {\n var _this = this;\n var newState = this.fileStateCopy;\n var filesForRetry = stateUtils.groupFilesByUid(newState.filter(function (file) {\n return file.uid === uid;\n }));\n stateUtils.setFilesStatus(filesForRetry, UploadFileStatus.Uploading);\n this.uploadFiles(filesForRetry);\n var onStatusChangeEvent = function onStatusChangeEvent() {\n var eventData = {\n target: _this,\n newState: newState,\n affectedFiles: stateUtils.flatFileGroup(filesForRetry)\n };\n _this.$emit('statuschange', eventData);\n };\n if (this.isControlled) {\n onStatusChangeEvent();\n } else {\n this.currentFiles = newState;\n onStatusChangeEvent();\n }\n },\n onCancel: function onCancel(uid) {\n var _this = this;\n var newState = this.fileStateCopy;\n var filesToKeep = newState.filter(function (file) {\n return file.uid !== uid;\n });\n var filesForRemove = newState.filter(function (file) {\n return file.uid === uid;\n });\n if (this._httpSubscriptions[uid]) {\n this._httpSubscriptions[uid].cancel();\n delete this._httpSubscriptions[uid];\n }\n var eventData = {\n target: this,\n uid: uid\n };\n this.$emit('cancel', eventData);\n var onRemoveEvent = function onRemoveEvent() {\n var remEventData = {\n target: _this,\n newState: filesToKeep,\n affectedFiles: filesForRemove\n };\n _this.$emit('remove', remEventData);\n };\n if (this.isControlled) {\n onRemoveEvent();\n } else {\n this.currentFiles = newState;\n onRemoveEvent();\n }\n },\n onClear: function onClear() {\n var _this = this;\n if (!this.computedFiles.length) {\n return;\n }\n Object.keys(this._httpSubscriptions).forEach(function (key) {\n _this._httpSubscriptions[key].cancel();\n });\n this._httpSubscriptions = {};\n var onRemoveEvent = function onRemoveEvent() {\n var eventData = {\n target: _this,\n newState: [],\n affectedFiles: _this.fileStateCopy\n };\n _this.$emit('remove', eventData);\n };\n if (this.isControlled) {\n onRemoveEvent();\n } else {\n this.currentFiles = [];\n onRemoveEvent();\n }\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n return {\n v3: v3\n };\n },\n render: function render(createElement) {\n var _this = this;\n var h = gh || createElement;\n var _a = this.$props,\n showFileList = _a.showFileList,\n autoUpload = _a.autoUpload,\n showActionButtons = _a.showActionButtons,\n actionsLayout = _a.actionsLayout,\n tabIndex = _a.tabIndex,\n disabled = _a.disabled,\n batch = _a.batch,\n withCredentials = _a.withCredentials,\n saveField = _a.saveField,\n saveHeaders = _a.saveHeaders,\n saveMethod = _a.saveMethod,\n saveUrl = _a.saveUrl,\n responseType = _a.responseType,\n removeField = _a.removeField,\n removeHeaders = _a.removeHeaders,\n removeMethod = _a.removeMethod,\n removeUrl = _a.removeUrl,\n multiple = _a.multiple,\n accept = _a.accept,\n restrictions = _a.restrictions,\n files = _a.files,\n defaultFiles = _a.defaultFiles;\n var list = templateRendering.call(this, this.$props.list, getListeners.call(this));\n var groupedFiles = stateUtils.groupFilesByUid(this.computedFiles);\n var filesForUpload = stateUtils.filesForUpload(groupedFiles);\n return (\n // @ts-ignore function children\n h(UploadNavigation, {\n groupedFiles: groupedFiles,\n attrs: this.v3 ? undefined : {\n groupedFiles: groupedFiles,\n className: this.$props.className,\n showFileList: showFileList && !!Object.keys(groupedFiles).length,\n showActionButtons: showActionButtons && !autoUpload && !!Object.keys(filesForUpload).length,\n actionsLayout: actionsLayout,\n disabled: disabled,\n tabIndex: getTabIndex(tabIndex, disabled),\n multiple: multiple,\n accept: accept,\n list: list,\n restrictions: restrictions,\n files: files,\n defaultFiles: defaultFiles,\n async: this.computedAsync\n },\n className: this.$props.className,\n showFileList: showFileList && !!Object.keys(groupedFiles).length,\n showActionButtons: showActionButtons && !autoUpload && !!Object.keys(filesForUpload).length,\n actionsLayout: actionsLayout,\n disabled: disabled,\n onAdd: this.onAdd,\n on: this.v3 ? undefined : {\n \"add\": this.onAdd,\n \"remove\": this.onRemove,\n \"clear\": this.onClear,\n \"upload\": this.onUpload,\n \"retry\": this.onRetry,\n \"cancel\": this.onCancel\n },\n onRemove: this.onRemove,\n onClear: this.onClear,\n onUpload: this.onUpload,\n onRetry: this.onRetry,\n onCancel: this.onCancel,\n tabIndex: getTabIndex(tabIndex, disabled),\n ref: this.v3 ? function (el) {\n _this.uploadNavigationRef = el;\n } : 'uploadNavigation',\n multiple: multiple,\n accept: accept,\n list: list,\n restrictions: restrictions,\n files: files,\n defaultFiles: defaultFiles,\n async: this.computedAsync\n })\n );\n }\n};\n/**\n * @hidden\n */\nvar Upload = UploadVue2;\nexport { Upload, UploadVue2 };","// @ts-ignore\nimport * as Vue from 'vue';\nvar allVue = Vue;\nvar gh = allVue.h;\nvar isV3 = allVue.version && allVue.version[0] === '3';\nvar ref = allVue.ref;\nvar inject = allVue.inject;\nimport { classNames, getListeners, getTabIndex, getTemplate, Icon, setRef, templateRendering, validatePackage } from '@progress/kendo-vue-common';\nimport { dropZoneHint, dropZoneNote, messages } from './messages/main';\nimport { uploadIcon } from '@progress/kendo-svg-icons';\nimport { packageMetadata } from './package-metadata';\nimport { provideLocalizationService } from '@progress/kendo-vue-intl';\n/**\n * @hidden\n */\nvar TIME_TO_CHECK_DRAG = 100;\n/**\n * @hidden\n */\nvar ExternalDropZoneVue2 = {\n name: 'KendoVueExternalDropZone',\n props: {\n id: String,\n tabIndex: Number,\n innerStyle: Object,\n uploadRef: [String, Function, Object],\n disabled: Boolean,\n customHint: [String, Function, Object],\n customNote: [String, Function, Object]\n },\n inject: {\n kendoLocalizationService: {\n default: null\n }\n },\n created: function created() {\n validatePackage(packageMetadata);\n this.elementInterval = null;\n this.elementActive = false;\n this.lastElementDragOverRef = null;\n },\n data: function data() {\n return {\n overDropZone: false\n };\n },\n mounted: function mounted() {\n this.externalDropZone = this.v3 ? this.externalDropZoneRef : this.$refs.externalDropZone;\n },\n methods: {\n focus: function focus() {\n if (this.externalDropZone && this.externalDropZone.focus) {\n this.externalDropZone.focus();\n }\n },\n isDragOver: function isDragOver(prevDate) {\n return new Date().getTime() - (prevDate || new Date()).getTime() > TIME_TO_CHECK_DRAG;\n },\n handleOnDrop: function handleOnDrop(event) {\n event.preventDefault();\n var droppedFiles = event.dataTransfer.files;\n var refToUpload = this.$parent.$refs[this.$props.uploadRef];\n if (droppedFiles.length > 0 && !this.$props.disabled && refToUpload) {\n if (refToUpload.onAdd) {\n event.preventDefault();\n refToUpload.onAdd(droppedFiles);\n }\n }\n },\n handleOnElementDragEnter: function handleOnElementDragEnter() {\n var _this = this;\n this.elementActive = true;\n var locElementInterval = function locElementInterval() {\n if (_this.isDragOver(_this.lastElementDragOver)) {\n _this.overDropZone = false;\n _this.elementActive = false;\n clearInterval(_this.elementInterval);\n _this.elementInterval = null;\n _this.lastElementDragOver = null;\n }\n };\n this.elementInterval = setInterval(locElementInterval, TIME_TO_CHECK_DRAG);\n },\n handleOnElementDragOver: function handleOnElementDragOver(event) {\n event.preventDefault();\n this.lastElementDragOver = new Date();\n this.overDropZone = true;\n }\n },\n // @ts-ignore\n setup: !isV3 ? undefined : function () {\n var v3 = !!isV3;\n var externalDropZoneRef = ref(null);\n var kendoLocalizationService = inject('kendoLocalizationService', {});\n return {\n v3: v3,\n externalDropZoneRef: externalDropZoneRef,\n kendoLocalizationService: kendoLocalizationService\n };\n },\n render: function render(createElement) {\n var h = gh || createElement;\n var _a = this.$props,\n customNote = _a.customNote,\n customHint = _a.customHint;\n var localizationService = provideLocalizationService(this);\n var localizedHint = localizationService.toLanguageString(dropZoneHint, messages[dropZoneHint]);\n var localizedNote = localizationService.toLanguageString(dropZoneNote, messages[dropZoneNote]);\n var hintTemplate = templateRendering.call(this, customHint, getListeners.call(this));\n var noteTemplate = templateRendering.call(this, customNote, getListeners.call(this));\n var hintElement;\n var hintElementDefaultRendering = h(\"span\", [localizedHint]);\n hintElement = getTemplate.call(this, {\n h: h,\n template: hintTemplate,\n defaultRendering: hintElementDefaultRendering\n });\n var noteElement;\n var noteElementDefaultRendering = h(\"span\", [localizedNote]);\n noteElement = getTemplate.call(this, {\n h: h,\n template: noteTemplate,\n defaultRendering: noteElementDefaultRendering\n });\n return h(\"div\", {\n ref: setRef(this, 'externalDropZone'),\n id: this.$props.id,\n attrs: this.v3 ? undefined : {\n id: this.$props.id,\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined)\n },\n \"class\": classNames('k-external-dropzone', {\n 'k-external-dropzone-hover': this.overDropZone,\n 'k-disabled': this.$props.disabled\n }, this.$props.className),\n tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),\n onDrop: this.handleOnDrop,\n on: this.v3 ? undefined : {\n \"drop\": this.handleOnDrop,\n \"dragenter\": this.handleOnElementDragEnter,\n \"dragover\": this.handleOnElementDragOver\n },\n onDragenter: this.handleOnElementDragEnter,\n onDragover: this.handleOnElementDragOver\n }, [h(\"div\", {\n style: this.$props.innerStyle,\n \"class\": 'k-dropzone-inner'\n }, [h(Icon, {\n name: 'upload',\n attrs: this.v3 ? undefined : {\n name: 'upload',\n icon: uploadIcon,\n size: 'xxxlarge'\n },\n icon: uploadIcon,\n \"class\": 'k-dropzone-icon',\n size: 'xxxlarge'\n }), h(\"span\", {\n \"class\": 'k-dropzone-hint'\n }, [hintElement]), h(\"span\", {\n \"class\": 'k-dropzone-note'\n }, [noteElement])]), h(\"div\", {\n \"class\": 'k-upload'\n })]);\n }\n};\n/**\n * @hidden\n */\nvar ExternalDropZone = ExternalDropZoneVue2;\nexport { ExternalDropZone, ExternalDropZoneVue2 };","/* eslint-disable */\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH = 0;\nvar Z_PARTIAL_FLUSH = 1;\nvar Z_SYNC_FLUSH = 2;\nvar Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n/* Return codes for the compression/decompression functions. Negative values\n* are errors, positive values are used for special but normal events.\n*/\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\nvar Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\n//export var Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//export var Z_VERSION_ERROR = -6;\n\n/* compression levels */\nvar Z_NO_COMPRESSION = 0;\nvar Z_BEST_SPEED = 1;\nvar Z_BEST_COMPRESSION = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED = 1;\nvar Z_HUFFMAN_ONLY = 2;\nvar Z_RLE = 3;\nvar Z_FIXED = 4;\nvar Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY = 0;\nvar Z_TEXT = 1;\n//export var Z_ASCII = 1; // = Z_TEXT (deprecated)\nvar Z_UNKNOWN = 2;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n//export var Z_NULL = null // Use -1 or null inline; depending on var type\n\n/* eslint-disable */\n\nfunction _has(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (_has(source, p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n}\n\n\n// reduce buffer size, avoiding mem copy\nfunction shrinkBuf(buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n}\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n var i, l, len, pos, chunk, result;\n\n // calculate data length\n len = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n result = new Uint8Array(len);\n pos = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n },\n Buf8: function(size) {\n return new Uint8Array(size);\n },\n Buf16: function(size) {\n return new Uint16Array(size);\n },\n Buf32: function(size) {\n return new Int32Array(size);\n }\n};\n\nvar fnUntyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n return [].concat.apply([], chunks);\n },\n Buf8: function(size) {\n return new Array(size);\n },\n Buf16: function(size) {\n return new Array(size);\n },\n Buf32: function(size) {\n return new Array(size);\n }\n};\n\nvar typedOK = function () {\n var supported =\n (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\n typedOK = function () { return supported; };\n return supported;\n};\n\nvar arraySet = function (dest, src, src_offs, len, dest_offs) {\n arraySet = typedOK() ?\n fnTyped.arraySet : fnUntyped.arraySet;\n\n return arraySet(dest, src, src_offs, len, dest_offs);\n};\n\nvar flattenChunks = function (chunks) {\n flattenChunks = typedOK() ?\n fnTyped.flattenChunks : fnUntyped.flattenChunks;\n\n return flattenChunks(chunks);\n};\n\nvar Buf8 = function (size) {\n Buf8 = typedOK() ? fnTyped.Buf8 : fnUntyped.Buf8;\n return Buf8(size);\n};\n\nvar Buf16 = function (size) {\n Buf16 = typedOK() ? fnTyped.Buf16 : fnUntyped.Buf16;\n return Buf16(size);\n};\n\nvar Buf32 = function (size) {\n Buf32 = typedOK() ? fnTyped.Buf32 : fnUntyped.Buf32;\n return Buf32(size);\n};\n\n/* eslint-disable */\n\n\n// Quick check if we can use fast array to bin string conversion\n//\n// - apply(Array) can fail on Android 2.2\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\nvar strApplyOK = function() {\n var result = true;\n try {\n String.fromCharCode.apply(null, [ 0 ]);\n } catch (_) {\n result = false;\n }\n\n strApplyOK = function () { return result; };\n return result;\n};\n\nvar strApplyUintOK = function() {\n var result = true;\n try {\n String.fromCharCode.apply(null, new Uint8Array(1));\n } catch (_) {\n result = false;\n }\n\n strApplyUintOK = function () { return result; };\n return result;\n};\n\nvar utf8len = function(c) {\n // Table with utf8 lengths (calculated by first byte of sequence)\n // Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n // because max possible codepoint is 0x10ffff\n var table = Buf8(256);\n for (var q = 0; q < 256; q++) {\n table[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\n }\n table[254] = table[254] = 1; // Invalid sequence start\n\n utf8len = function (arg) { return table[arg]; };\n return table[c];\n};\n\n// convert string to array (typed, when possible)\nfunction string2buf(str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new Uint8Array(buf_len);\n\n // convert\n for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n}\n\n// Helper (used in 2 places)\nfunction _buf2binstring(buf, len) {\n // On Chrome, the arguments in a function call that are allowed is `65534`.\n // If the length of the buffer is smaller than that, we can use this optimization,\n // otherwise we will take a slower path.\n if (len < 65534) {\n if ((buf.subarray && strApplyUintOK()) || (!buf.subarray && strApplyOK())) {\n return String.fromCharCode.apply(null, shrinkBuf(buf, len));\n }\n }\n\n var result = '';\n for (var i = 0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n}\n\n\n// Convert byte array to binary string\nfunction buf2binstring(buf) {\n return _buf2binstring(buf, buf.length);\n}\n\n\n// Convert binary string (typed, when possible)\nfunction binstring2buf(str) {\n var buf = new Uint8Array(str.length);\n for (var i = 0, len = buf.length; i < len; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n}\n\n\n// convert array to string\nfunction buf2string(buf, max) {\n var i, out, c, c_len;\n var len = max || buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len * 2);\n\n for (out = 0, i = 0; i < len;) {\n c = buf[i++];\n // quick process ascii\n if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n c_len = utf8len(c);\n // skip 5 & 6 byte codes\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return _buf2binstring(utf16buf, out);\n}\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nfunction utf8border(buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max - 1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means buffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + utf8len(buf[pos]) > max) ? pos : max;\n}\n\n/* eslint-disable */\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0,\n s2 = ((adler >>> 16) & 0xffff) |0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n/* eslint-disable */\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\nvar crcTable = function() {\n var table = makeTable();\n crcTable = function () { return table; };\n return table;\n};\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable(),\n end = pos + len;\n\n crc ^= -1;\n\n for (var i = pos; i < end; i++) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n/* eslint-disable */\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nfunction inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()'s initial strm.output */\n var end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n var s_window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n s_window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = s_window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n}\n\n/* eslint-disable */\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n];\n\nfunction inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) {\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code's length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0, max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n// var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = Buf16(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = Buf16(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n}\n\n/* eslint-disable */\n\nvar CODES$1 = 0;\nvar LENS$1 = 1;\nvar DISTS$1 = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH$1 = 4;\nvar Z_BLOCK$1 = 5;\nvar Z_TREES$1 = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK$1 = 0;\nvar Z_STREAM_END$1 = 1;\nvar Z_NEED_DICT$1 = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR$1 = -2;\nvar Z_DATA_ERROR$1 = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR$1 = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED$1 = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE$1 = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD$1 = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS$1 = 852;\nvar ENOUGH_DISTS$1 = 592;\n\n\nfunction zswap32(q) {\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = Buf16(320); /* temporary storage for code lengths */\n this.work = Buf16(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR$1; }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = Buf32(ENOUGH_LENS$1);\n state.distcode = state.distdyn = Buf32(ENOUGH_DISTS$1);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK$1;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR$1; }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR$1; }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR$1;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) { return Z_STREAM_ERROR$1; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK$1) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = Buf32(512);\n distfix = Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inflate_table(LENS$1, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inflate_table(DISTS$1, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n arraySet(state.window, src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n arraySet(state.window, src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n arraySet(state.window, src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR$1;\n }\n\n state = strm.state;\n if (state.mode === TYPE$1) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK$1;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD$1;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED$1) {\n strm.msg = 'unknown compression method';\n state.mode = BAD$1;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD$1;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE$1;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED$1) {\n strm.msg = 'unknown compression method';\n state.mode = BAD$1;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD$1;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more convenient processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n arraySet(\n state.head.extra,\n input,\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD$1;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0;\n state.mode = TYPE$1;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = zswap32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT$1;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE$1;\n /* falls through */\n case TYPE$1:\n if (flush === Z_BLOCK$1 || flush === Z_TREES$1) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES$1) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD$1;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD$1;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES$1) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE$1;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD$1;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(CODES$1, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD$1;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD$1;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD$1;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD$1) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD$1;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(LENS$1, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD$1;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = { bits: state.distbits };\n ret = inflate_table(DISTS$1, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD$1;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES$1) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inflate_fast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE$1) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE$1;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD$1;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD$1;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD$1;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD$1;\n break;\n }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' instead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD$1;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD$1;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END$1;\n break inf_leave;\n case BAD$1:\n ret = Z_DATA_ERROR$1;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR$1;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD$1 &&\n (state.mode < CHECK || flush !== Z_FINISH$1))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) ;\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE$1 ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH$1) && ret === Z_OK$1) {\n ret = Z_BUF_ERROR$1;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR$1;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK$1;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR$1; }\n state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR$1; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK$1;\n}\n\nfunction inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var state;\n var dictid;\n var ret;\n\n /* check state */\n if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR$1; }\n state = strm.state;\n\n if (state.wrap !== 0 && state.mode !== DICT) {\n return Z_STREAM_ERROR$1;\n }\n\n /* check for correct dictionary identifier */\n if (state.mode === DICT) {\n dictid = 1; /* adler32(0, null, 0)*/\n /* dictid = adler32(dictid, dictionary, dictLength); */\n dictid = adler32(dictid, dictionary, dictLength, 0);\n if (dictid !== state.check) {\n return Z_DATA_ERROR$1;\n }\n }\n /* copy dictionary to window using updatewindow(), which will amend the\n existing dictionary if appropriate */\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\n if (ret) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n state.havedict = 1;\n // Tracev((stderr, \"inflate: dictionary set\\n\"));\n return Z_OK$1;\n}\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n\n/* eslint-disable */\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar msg = {\n 2: 'need dictionary', /* Z_NEED_DICT 2 */\n 1: 'stream end', /* Z_STREAM_END 1 */\n 0: '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n\n/* eslint-disable */\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\n/* eslint-disable */\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\n/* eslint-disable */\n\nvar toString = Object.prototype.toString;\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overridden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Inflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nvar Inflate = function Inflate(options) {\n if (!(this instanceof Inflate)) { return new Inflate(options); }\n\n this.options = assign({\n chunkSize: 16384,\n windowBits: 0,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended= false;// used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status= inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n this.header = new GZheader();\n\n inflateGetHeader(this.strm, this.header);\n\n // Setup dictionary\n if (opt.dictionary) {\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n opt.dictionary = string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n opt.dictionary = new Uint8Array(opt.dictionary);\n }\n if (opt.raw) { //In raw mode we need to set the dictionary early\n status = inflateSetDictionary(this.strm, opt.dictionary);\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n }\n }\n};\n\n/**\n * Inflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the decompression context.\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true);// push last chunk\n * ```\n **/\nInflate.prototype.push = function push (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var dictionary = this.options.dictionary;\n var status, _mode;\n var next_out_utf8, tail, utf8str;\n var dict;\n\n // Flag to properly process Z_BUF_ERROR on testing inflate call\n // when we check that all output data was flushed.\n var allowBufError = false;\n\n if (this.ended) { return false; }\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // Only binary strings can be decompressed on practice\n strm.input = binstring2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = inflate(strm, Z_NO_FLUSH); /* no bad return value */\n\n if (status === Z_NEED_DICT && dictionary) {\n // Convert data if needed\n if (typeof dictionary === 'string') {\n dict = string2buf(dictionary);\n } else if (toString.call(dictionary) === '[object ArrayBuffer]') {\n dict = new Uint8Array(dictionary);\n } else {\n dict = dictionary;\n }\n\n status = inflateSetDictionary(this.strm, dict);\n\n }\n\n if (status === Z_BUF_ERROR && allowBufError === true) {\n status = Z_OK;\n allowBufError = false;\n }\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === Z_STREAM_END || (strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH))) {\n\n if (this.options.to === 'string') {\n\n next_out_utf8 = utf8border(strm.output, strm.next_out);\n\n tail = strm.next_out - next_out_utf8;\n utf8str = buf2string(strm.output, next_out_utf8);\n\n // move tail\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) { arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }\n\n this.onData(utf8str);\n\n } else {\n this.onData(shrinkBuf(strm.output, strm.next_out));\n }\n }\n }\n\n // When no more input data, we should check that internal inflate buffers\n // are flushed. The only way to do it when avail_out = 0 - run one more\n // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR.\n // Here we set flag to process this error properly.\n //\n // NOTE. Deflate does not return error in this case and does not needs such\n // logic.\n if (strm.avail_in === 0 && strm.avail_out === 0) {\n allowBufError = true;\n }\n\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n if (status === Z_STREAM_END) {\n _mode = Z_FINISH;\n }\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === Z_SYNC_FLUSH) {\n this.onEnd(Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function onData (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called either after you tell inflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function onEnd (status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n // Glue & convert here, until we teach pako to send\n // utf8 aligned strings to onData\n this.result = this.chunks.join('');\n } else {\n this.result = flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n/**\n * inflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , input = pako.deflate([1,2,3,4,5,6,7,8,9])\n * , output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err)\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate$1(input, options) {\n var inflator = new Inflate(options);\n\n inflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) { throw inflator.msg || msg[inflator.err]; }\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return inflate$1(input, options);\n}\n\n/**\n * ungzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\nvar ungzip = inflate$1;\n\n/* eslint-disable */\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES = 30;\n/* number of distance codes */\n\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK = 256;\n/* end of block literal code */\n\nvar REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nvar extra_lbits = /* extra bits for each length code */\n [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];\n\nvar extra_dbits = /* extra bits for each distance code */\n [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];\n\nvar extra_blbits = /* extra bits for each bit length code */\n [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree;\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree;\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code;\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code;\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length;\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist;\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n}\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n}\n\n\n\nfunction d_code(dist) {\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short(s, w) {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n}\n\n\nfunction send_code(s, c, tree) {\n send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n var res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nfunction gen_bitlen(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var max_code = desc.max_code;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var extra = desc.stat_desc.extra_bits;\n var base = desc.stat_desc.extra_base;\n var max_length = desc.stat_desc.max_length;\n var h; /* heap index */\n var n, m; /* iterate over the tree elements */\n var bits; /* bit length */\n var xbits; /* extra bits */\n var f; /* frequency */\n var overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\n n = s.heap[h];\n bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n * 2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n - base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n tree[m * 2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\n var code = 0; /* running code value */\n var bits; /* bit index */\n var n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS; bits++) {\n next_code[bits] = code = (code + bl_count[bits - 1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1< length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1 << extra_lbits[code]); n++) {\n _length_code[length++] = code;\n }\n }\n //Assert (length == 256, \"tr_static_init: length != 256\");\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n _length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1 << extra_dbits[code]); n++) {\n _dist_code[dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: dist != 256\");\n dist >>= 7; /* from now on, all distances are divided by 128 */\n for (; code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n * 2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n * 2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES; n++) {\n static_dtree[n * 2 + 1]/*.Len*/ = 5;\n static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\n static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n\n //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n var n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n arraySet(s.pending_buf, s.window, buf, len, s.pending);\n s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n var _n2 = n * 2;\n var _m2 = m * 2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n var v = s.heap[k];\n var j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n var dist; /* distance of matched string */\n var lc; /* match length or unmatched char (if dist == 0) */\n var lx = 0; /* running index in l_buf */\n var code; /* the code to send */\n var extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code + LITERALS + 1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // \"pendingBuf overflow\");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var elems = desc.stat_desc.elems;\n var n, m; /* iterate over heap elements */\n var max_code = -1; /* largest code with non zero frequency */\n var node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n * 2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node * 2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count - 3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count - 3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count - 11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n var max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n var rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes - 1, 5);\n send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"black list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n var black_mask = 0xf3ffc07f;\n var n;\n\n /* Check for non-textual (\"black-listed\") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"white-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"black-listed\" or \"white-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s) {\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last) {\n //DeflateState *s;\n //charf *buf; /* input block */\n //ulg stored_len; /* length of input block */\n //int last; /* one if this is the last block for a file */\n send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last) {\n //DeflateState *s;\n //charf *buf; /* input block, or NULL if too old */\n //ulg stored_len; /* length of input block */\n //int last; /* one if this is the last block for a file */\n var opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n var max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc) {\n // deflate_state *s;\n // unsigned dist; /* distance of matched string */\n // unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n //var out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc * 2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize - 1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n}\n\n/* eslint-disable */\n\nvar MAX_MEM_LEVEL = 9;\n\n\nvar LENGTH_CODES$1 = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS$1 = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES$1 = LITERALS$1 + 1 + LENGTH_CODES$1;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES$1 = 30;\n/* number of distance codes */\nvar BL_CODES$1 = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE$1 = 2 * L_CODES$1 + 1;\n/* maximum heap size */\nvar MAX_BITS$1 = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH$1 = 3;\nvar MAX_MATCH$1 = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH$1 + MIN_MATCH$1 + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n strm.msg = msg[errorCode];\n return errorCode;\n}\n\nfunction rank(f) {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero$1(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n var s = strm.state;\n\n //_tr_flush_bits(s);\n var len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n}\n\n\nfunction flush_block_only(s, last) {\n _tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n// put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n // zmemcpy(buf, strm->next_in, len);\n arraySet(buf, strm.input, strm.next_in, len, start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n var chain_length = s.max_chain_length; /* max hash chain length */\n var scan = s.strstart; /* current string */\n var match; /* matched string */\n var len; /* length of current match */\n var best_len = s.prev_length; /* best match length so far */\n var nice_match = s.nice_match; /* stop if match long enough */\n var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n var _win = s.window; // shortcut\n\n var wmask = s.w_mask;\n var prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n var strend = s.strstart + MAX_MATCH$1;\n var scan_end1 = _win[scan + best_len - 1];\n var scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH$1 - (strend - scan);\n scan = strend - MAX_MATCH$1;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nfunction fill_window(s) {\n var _w_size = s.w_size;\n var p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n arraySet(s.window, s.window, _w_size, _w_size, 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don't care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH$1) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH$1 - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH$1) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// var curr = s.strstart + s.lookahead;\n// var init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n var max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, \"slide too late\");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error(\"slide too late\");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, \"block gone\");\n// if (s.block_start < 0) throw new Error(\"block gone\");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n var max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n var hash_head; /* head of the hash chain */\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH$1) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$1 - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH$1) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = _tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH$1);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH$1) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$1 - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH$1 - 1)) ? s.strstart : MIN_MATCH$1 - 1);\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n var hash_head; /* head of hash chain */\n var bflush; /* set if current block must be flushed */\n\n var max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH$1) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$1 - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH$1 - 1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH$1 && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH$1 - 1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH$1 && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH$1;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = _tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH$1);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length - 1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH$1 - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH$1 - 1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH$1 - 1 ? s.strstart : MIN_MATCH$1 - 1;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n var bflush; /* set if current block must be flushed */\n var prev; /* byte at distance one to match */\n var scan, strend; /* scan goes up to strend for length of run */\n\n var _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH$1) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH$1 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH$1 && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH$1;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH$1 - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH$1) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = _tr_tally(s, 1, s.match_length - MIN_MATCH$1);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n}\n\nvar configurationTable = function() {\n var table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n \n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n ];\n\n configurationTable = function () { return table; };\n return table;\n};\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero$1(s.head); // Fill with NIL (= 0);\n\n var table = configurationTable();\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = table[s.level].max_lazy;\n s.good_match = table[s.level].good_length;\n s.nice_match = table[s.level].nice_length;\n s.max_chain_length = table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH$1 - 1;\n s.match_available = 0;\n s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = Buf16(HEAP_SIZE$1 * 2);\n this.dyn_dtree = Buf16((2 * D_CODES$1 + 1) * 2);\n this.bl_tree = Buf16((2 * BL_CODES$1 + 1) * 2);\n zero$1(this.dyn_ltree);\n zero$1(this.dyn_dtree);\n zero$1(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = Buf16(MAX_BITS$1 + 1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = Buf16(2 * L_CODES$1 + 1); /* heap used to build the Huffman trees */\n zero$1(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = Buf16(2 * L_CODES$1 + 1); //uch depth[2*L_CODES+1];\n zero$1(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nfunction deflateResetKeep(strm) {\n var s;\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH;\n _tr_init(s);\n return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK) {\n lm_init(strm.state);\n }\n return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n strm.state.gzhead = head;\n return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR;\n }\n var wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n var s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH$1 - 1) / MIN_MATCH$1);\n\n s.window = Buf8(s.w_size * 2);\n s.head = Buf16(s.hash_size);\n s.prev = Buf16(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n\n //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);\n //s->pending_buf = (uchf *) overlay;\n s.pending_buf = Buf8(s.pending_buf_size);\n\n // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);\n s.d_buf = 1 * s.lit_bufsize;\n\n //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n}\n\n\nfunction deflate(strm, flush) {\n var old_flush, s;\n var beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n }\n\n s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n }\n\n s.strm = strm; /* just in case */\n old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n var level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configurationTable()[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n _tr_align(s);\n }\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n _tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero$1(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK;\n }\n }\n }\n //Assert(strm->avail_out > 0, \"bug2\");\n //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n if (flush !== Z_FINISH) { return Z_OK; }\n if (s.wrap <= 0) { return Z_STREAM_END; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n var status;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nfunction deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var s;\n var str, n;\n var wrap;\n var avail;\n var next;\n var input;\n var tmpDict;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n s = strm.state;\n wrap = s.wrap;\n\n if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n return Z_STREAM_ERROR;\n }\n\n /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n if (wrap === 1) {\n /* adler32(strm->adler, dictionary, dictLength); */\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n }\n\n s.wrap = 0; /* avoid computing Adler-32 in read_buf */\n\n /* if dictionary would fill window, just replace the history */\n if (dictLength >= s.w_size) {\n if (wrap === 0) { /* already empty otherwise */\n /*** CLEAR_HASH(s); ***/\n zero$1(s.head); // Fill with NIL (= 0);\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n /* use the tail */\n // dictionary = dictionary.slice(dictLength - s.w_size);\n tmpDict = Buf8(s.w_size);\n arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);\n dictionary = tmpDict;\n dictLength = s.w_size;\n }\n /* insert dictionary into window and hash */\n avail = strm.avail_in;\n next = strm.next_in;\n input = strm.input;\n strm.avail_in = dictLength;\n strm.next_in = 0;\n strm.input = dictionary;\n fill_window(s);\n while (s.lookahead >= MIN_MATCH$1) {\n str = s.strstart;\n n = s.lookahead - (MIN_MATCH$1 - 1);\n do {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH$1 - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n s.head[s.ins_h] = str;\n str++;\n } while (--n);\n s.strstart = str;\n s.lookahead = MIN_MATCH$1 - 1;\n fill_window(s);\n }\n s.strstart += s.lookahead;\n s.block_start = s.strstart;\n s.insert = s.lookahead;\n s.lookahead = 0;\n s.match_length = s.prev_length = MIN_MATCH$1 - 1;\n s.match_available = 0;\n strm.next_in = next;\n strm.input = input;\n strm.avail_in = avail;\n s.wrap = wrap;\n return Z_OK;\n}\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n\n/* eslint-disable */\n\nvar toString$1 = Object.prototype.toString;\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overridden.\n **/\n\n/**\n * Deflate.result -> Uint8Array|Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Deflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nvar Deflate = function Deflate(options) {\n this.options = assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended= false;// used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n if (opt.header) {\n deflateSetHeader(this.strm, opt.header);\n }\n\n if (opt.dictionary) {\n var dict;\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n // If we need to compress text, change encoding to utf8.\n dict = string2buf(opt.dictionary);\n } else if (toString$1.call(opt.dictionary) === '[object ArrayBuffer]') {\n dict = new Uint8Array(opt.dictionary);\n } else {\n dict = opt.dictionary;\n }\n\n status = deflateSetDictionary(this.strm, dict);\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n this._dict_set = true;\n }\n};\n\n/**\n * Deflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data. Strings will be\n * converted to utf8 byte sequence.\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Deflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the compression context.\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * array format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true);// push last chunk\n * ```\n **/\nDeflate.prototype.push = function push (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n\n if (this.ended) { return false; }\n\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = string2buf(data);\n } else if (toString$1.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n status = deflate(strm, _mode); /* no bad return value */\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n if (strm.avail_out === 0 || (strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH))) {\n if (this.options.to === 'string') {\n this.onData(buf2binstring(shrinkBuf(strm.output, strm.next_out)));\n } else {\n this.onData(shrinkBuf(strm.output, strm.next_out));\n }\n }\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === Z_SYNC_FLUSH) {\n this.onEnd(Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function onData (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function onEnd (status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate algorithm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n * - dictionary\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate$1(input, options) {\n var deflator = new Deflate(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg || msg[deflator.err]; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return deflate$1(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate$1(input, options);\n}\n\nexport { Deflate, Inflate, Z_BEST_COMPRESSION, Z_BEST_SPEED, Z_BINARY, Z_BLOCK, Z_BUF_ERROR, Z_DATA_ERROR, Z_DEFAULT_COMPRESSION, Z_DEFAULT_STRATEGY, Z_DEFLATED, Z_ERRNO, Z_FILTERED, Z_FINISH, Z_FIXED, Z_FULL_FLUSH, Z_HUFFMAN_ONLY, Z_NEED_DICT, Z_NO_COMPRESSION, Z_NO_FLUSH, Z_OK, Z_PARTIAL_FLUSH, Z_RLE, Z_STREAM_END, Z_STREAM_ERROR, Z_SYNC_FLUSH, Z_TEXT, Z_TREES, Z_UNKNOWN, deflate$1 as deflate, deflateRaw, gzip, inflate$1 as inflate, inflateRaw, ungzip };\n","import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, 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) {\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\" || 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 get$1 = /* @__PURE__ */ createGetter();\nconst shallowGet = /* @__PURE__ */ createGetter(false, true);\nconst readonlyGet = /* @__PURE__ */ createGetter(true);\nconst shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);\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}\nfunction createGetter(isReadonly2 = false, shallow = false) {\n return function get2(target, key, receiver) {\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\" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {\n return target;\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}\nconst set$1 = /* @__PURE__ */ createSetter();\nconst shallowSet = /* @__PURE__ */ createSetter(true);\nfunction createSetter(shallow = false) {\n return function set2(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!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}\nfunction 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}\nfunction has$1(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}\nfunction ownKeys(target) {\n track(target, \"iterate\", isArray(target) ? \"length\" : ITERATE_KEY);\n return Reflect.ownKeys(target);\n}\nconst mutableHandlers = {\n get: get$1,\n set: set$1,\n deleteProperty,\n has: has$1,\n ownKeys\n};\nconst readonlyHandlers = {\n get: readonlyGet,\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 shallowReactiveHandlers = /* @__PURE__ */ extend(\n {},\n mutableHandlers,\n {\n get: shallowGet,\n set: shallowSet\n }\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ extend(\n {},\n readonlyHandlers,\n {\n get: shallowReadonlyGet\n }\n);\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 (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 (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 : 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(\n source,\n key,\n defaultValue\n );\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, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, capitalize, isGloballyWhitelisted, 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 middleJobId = getId(queue[middle]);\n middleJobId < id ? start = middle + 1 : end = middle;\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(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 (!!(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 result = normalizeVNode(\n render.call(\n proxyToUse,\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 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 if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n const delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container2, anchor2, 0);\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) {\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) {\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 };\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(\n (v, i) => hasChanged(v, oldValue[i])\n ) : 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\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._leaveCb = () => {\n earlyRemove();\n el._leaveCb = 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._leaveCb) {\n el._leaveCb(\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el._leaveCb) {\n leavingVNode.el._leaveCb();\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._enterCb = (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._enterCb = 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._enterCb) {\n el._enterCb(\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._leaveCb = (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._leaveCb = 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) ? vnode.children ? vnode.children[0] : void 0 : 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\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;\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\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\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 - - + + + + + diff --git a/examples-standalone/coffee-warehouse/src/assets/data.js b/examples-standalone/coffee-warehouse/src/assets/data.js index d019f7b3..0a5075a1 100644 --- a/examples-standalone/coffee-warehouse/src/assets/data.js +++ b/examples-standalone/coffee-warehouse/src/assets/data.js @@ -1,252 +1,252 @@ -export const teams = [ - { label: "Tiger Team", value: "tiger" }, - { label: "Lemon Team", value: "lemon" }, - { label: "Organic Team", value: "organic" }, - { label: "Ocean Team", value: "ocean" }, -]; - -export const countries = [ - { name: 'Afghanistan', code: 'AF' }, - { name: 'Åland Islands', code: 'AX' }, - { name: 'Albania', code: 'AL' }, - { name: 'Algeria', code: 'DZ' }, - { name: 'American Samoa', code: 'AS' }, - { name: 'AndorrA', code: 'AD' }, - { name: 'Angola', code: 'AO' }, - { name: 'Anguilla', code: 'AI' }, - { name: 'Antarctica', code: 'AQ' }, - { name: 'Antigua and Barbuda', code: 'AG' }, - { name: 'Argentina', code: 'AR' }, - { name: 'Armenia', code: 'AM' }, - { name: 'Aruba', code: 'AW' }, - { name: 'Australia', code: 'AU' }, - { name: 'Austria', code: 'AT' }, - { name: 'Azerbaijan', code: 'AZ' }, - { name: 'Bahamas', code: 'BS' }, - { name: 'Bahrain', code: 'BH' }, - { name: 'Bangladesh', code: 'BD' }, - { name: 'Barbados', code: 'BB' }, - { name: 'Belarus', code: 'BY' }, - { name: 'Belgium', code: 'BE' }, - { name: 'Belize', code: 'BZ' }, - { name: 'Benin', code: 'BJ' }, - { name: 'Bermuda', code: 'BM' }, - { name: 'Bhutan', code: 'BT' }, - { name: 'Bolivia', code: 'BO' }, - { name: 'Bosnia and Herzegovina', code: 'BA' }, - { name: 'Botswana', code: 'BW' }, - { name: 'Bouvet Island', code: 'BV' }, - { name: 'Brazil', code: 'BR' }, - { name: 'British Indian Ocean Territory', code: 'IO' }, - { name: 'Brunei Darussalam', code: 'BN' }, - { name: 'Bulgaria', code: 'BG' }, - { name: 'Burkina Faso', code: 'BF' }, - { name: 'Burundi', code: 'BI' }, - { name: 'Cambodia', code: 'KH' }, - { name: 'Cameroon', code: 'CM' }, - { name: 'Canada', code: 'CA' }, - { name: 'Cape Verde', code: 'CV' }, - { name: 'Cayman Islands', code: 'KY' }, - { name: 'Central African Republic', code: 'CF' }, - { name: 'Chad', code: 'TD' }, - { name: 'Chile', code: 'CL' }, - { name: 'China', code: 'CN' }, - { name: 'Christmas Island', code: 'CX' }, - { name: 'Cocos (Keeling) Islands', code: 'CC' }, - { name: 'Colombia', code: 'CO' }, - { name: 'Comoros', code: 'KM' }, - { name: 'Congo', code: 'CG' }, - { name: 'Congo, The Democratic Republic of the', code: 'CD' }, - { name: 'Cook Islands', code: 'CK' }, - { name: 'Costa Rica', code: 'CR' }, - { name: 'Cote D\'Ivoire', code: 'CI' }, - { name: 'Croatia', code: 'HR' }, - { name: 'Cuba', code: 'CU' }, - { name: 'Cyprus', code: 'CY' }, - { name: 'Czech Republic', code: 'CZ' }, - { name: 'Denmark', code: 'DK' }, - { name: 'Djibouti', code: 'DJ' }, - { name: 'Dominica', code: 'DM' }, - { name: 'Dominican Republic', code: 'DO' }, - { name: 'Ecuador', code: 'EC' }, - { name: 'Egypt', code: 'EG' }, - { name: 'El Salvador', code: 'SV' }, - { name: 'Equatorial Guinea', code: 'GQ' }, - { name: 'Eritrea', code: 'ER' }, - { name: 'Estonia', code: 'EE' }, - { name: 'Ethiopia', code: 'ET' }, - { name: 'Falkland Islands (Malvinas)', code: 'FK' }, - { name: 'Faroe Islands', code: 'FO' }, - { name: 'Fiji', code: 'FJ' }, - { name: 'Finland', code: 'FI' }, - { name: 'France', code: 'FR' }, - { name: 'French Guiana', code: 'GF' }, - { name: 'French Polynesia', code: 'PF' }, - { name: 'French Southern Territories', code: 'TF' }, - { name: 'Gabon', code: 'GA' }, - { name: 'Gambia', code: 'GM' }, - { name: 'Georgia', code: 'GE' }, - { name: 'Germany', code: 'DE' }, - { name: 'Ghana', code: 'GH' }, - { name: 'Gibraltar', code: 'GI' }, - { name: 'Greece', code: 'GR' }, - { name: 'Greenland', code: 'GL' }, - { name: 'Grenada', code: 'GD' }, - { name: 'Guadeloupe', code: 'GP' }, - { name: 'Guam', code: 'GU' }, - { name: 'Guatemala', code: 'GT' }, - { name: 'Guernsey', code: 'GG' }, - { name: 'Guinea', code: 'GN' }, - { name: 'Guinea-Bissau', code: 'GW' }, - { name: 'Guyana', code: 'GY' }, - { name: 'Haiti', code: 'HT' }, - { name: 'Heard Island and Mcdonald Islands', code: 'HM' }, - { name: 'Holy See (Vatican City State)', code: 'VA' }, - { name: 'Honduras', code: 'HN' }, - { name: 'Hong Kong', code: 'HK' }, - { name: 'Hungary', code: 'HU' }, - { name: 'Iceland', code: 'IS' }, - { name: 'India', code: 'IN' }, - { name: 'Indonesia', code: 'ID' }, - { name: 'Iran, Islamic Republic Of', code: 'IR' }, - { name: 'Iraq', code: 'IQ' }, - { name: 'Ireland', code: 'IE' }, - { name: 'Isle of Man', code: 'IM' }, - { name: 'Israel', code: 'IL' }, - { name: 'Italy', code: 'IT' }, - { name: 'Jamaica', code: 'JM' }, - { name: 'Japan', code: 'JP' }, - { name: 'Jersey', code: 'JE' }, - { name: 'Jordan', code: 'JO' }, - { name: 'Kazakhstan', code: 'KZ' }, - { name: 'Kenya', code: 'KE' }, - { name: 'Kiribati', code: 'KI' }, - { name: 'Korea, Democratic People\'S Republic of', code: 'KP' }, - { name: 'Korea, Republic of', code: 'KR' }, - { name: 'Kuwait', code: 'KW' }, - { name: 'Kyrgyzstan', code: 'KG' }, - { name: 'Lao People\'S Democratic Republic', code: 'LA' }, - { name: 'Latvia', code: 'LV' }, - { name: 'Lebanon', code: 'LB' }, - { name: 'Lesotho', code: 'LS' }, - { name: 'Liberia', code: 'LR' }, - { name: 'Libyan Arab Jamahiriya', code: 'LY' }, - { name: 'Liechtenstein', code: 'LI' }, - { name: 'Lithuania', code: 'LT' }, - { name: 'Luxembourg', code: 'LU' }, - { name: 'Macao', code: 'MO' }, - { name: 'Macedonia, The Former Yugoslav Republic of', code: 'MK' }, - { name: 'Madagascar', code: 'MG' }, - { name: 'Malawi', code: 'MW' }, - { name: 'Malaysia', code: 'MY' }, - { name: 'Maldives', code: 'MV' }, - { name: 'Mali', code: 'ML' }, - { name: 'Malta', code: 'MT' }, - { name: 'Marshall Islands', code: 'MH' }, - { name: 'Martinique', code: 'MQ' }, - { name: 'Mauritania', code: 'MR' }, - { name: 'Mauritius', code: 'MU' }, - { name: 'Mayotte', code: 'YT' }, - { name: 'Mexico', code: 'MX' }, - { name: 'Micronesia, Federated States of', code: 'FM' }, - { name: 'Moldova, Republic of', code: 'MD' }, - { name: 'Monaco', code: 'MC' }, - { name: 'Mongolia', code: 'MN' }, - { name: 'Montserrat', code: 'MS' }, - { name: 'Morocco', code: 'MA' }, - { name: 'Mozambique', code: 'MZ' }, - { name: 'Myanmar', code: 'MM' }, - { name: 'Namibia', code: 'NA' }, - { name: 'Nauru', code: 'NR' }, - { name: 'Nepal', code: 'NP' }, - { name: 'Netherlands', code: 'NL' }, - { name: 'Netherlands Antilles', code: 'AN' }, - { name: 'New Caledonia', code: 'NC' }, - { name: 'New Zealand', code: 'NZ' }, - { name: 'Nicaragua', code: 'NI' }, - { name: 'Niger', code: 'NE' }, - { name: 'Nigeria', code: 'NG' }, - { name: 'Niue', code: 'NU' }, - { name: 'Norfolk Island', code: 'NF' }, - { name: 'Northern Mariana Islands', code: 'MP' }, - { name: 'Norway', code: 'NO' }, - { name: 'Oman', code: 'OM' }, - { name: 'Pakistan', code: 'PK' }, - { name: 'Palau', code: 'PW' }, - { name: 'Palestinian Territory, Occupied', code: 'PS' }, - { name: 'Panama', code: 'PA' }, - { name: 'Papua New Guinea', code: 'PG' }, - { name: 'Paraguay', code: 'PY' }, - { name: 'Peru', code: 'PE' }, - { name: 'Philippines', code: 'PH' }, - { name: 'Pitcairn', code: 'PN' }, - { name: 'Poland', code: 'PL' }, - { name: 'Portugal', code: 'PT' }, - { name: 'Puerto Rico', code: 'PR' }, - { name: 'Qatar', code: 'QA' }, - { name: 'Reunion', code: 'RE' }, - { name: 'Romania', code: 'RO' }, - { name: 'Russian Federation', code: 'RU' }, - { name: 'RWANDA', code: 'RW' }, - { name: 'Saint Helena', code: 'SH' }, - { name: 'Saint Kitts and Nevis', code: 'KN' }, - { name: 'Saint Lucia', code: 'LC' }, - { name: 'Saint Pierre and Miquelon', code: 'PM' }, - { name: 'Saint Vincent and the Grenadines', code: 'VC' }, - { name: 'Samoa', code: 'WS' }, - { name: 'San Marino', code: 'SM' }, - { name: 'Sao Tome and Principe', code: 'ST' }, - { name: 'Saudi Arabia', code: 'SA' }, - { name: 'Senegal', code: 'SN' }, - { name: 'Serbia and Montenegro', code: 'CS' }, - { name: 'Seychelles', code: 'SC' }, - { name: 'Sierra Leone', code: 'SL' }, - { name: 'Singapore', code: 'SG' }, - { name: 'Slovakia', code: 'SK' }, - { name: 'Slovenia', code: 'SI' }, - { name: 'Solomon Islands', code: 'SB' }, - { name: 'Somalia', code: 'SO' }, - { name: 'South Africa', code: 'ZA' }, - { name: 'South Georgia and the South Sandwich Islands', code: 'GS' }, - { name: 'Spain', code: 'ES' }, - { name: 'Sri Lanka', code: 'LK' }, - { name: 'Sudan', code: 'SD' }, - { name: 'Suriname', code: 'SR' }, - { name: 'Svalbard and Jan Mayen', code: 'SJ' }, - { name: 'Swaziland', code: 'SZ' }, - { name: 'Sweden', code: 'SE' }, - { name: 'Switzerland', code: 'CH' }, - { name: 'Syrian Arab Republic', code: 'SY' }, - { name: 'Taiwan, Province of China', code: 'TW' }, - { name: 'Tajikistan', code: 'TJ' }, - { name: 'Tanzania, United Republic of', code: 'TZ' }, - { name: 'Thailand', code: 'TH' }, - { name: 'Timor-Leste', code: 'TL' }, - { name: 'Togo', code: 'TG' }, - { name: 'Tokelau', code: 'TK' }, - { name: 'Tonga', code: 'TO' }, - { name: 'Trinidad and Tobago', code: 'TT' }, - { name: 'Tunisia', code: 'TN' }, - { name: 'Turkey', code: 'TR' }, - { name: 'Turkmenistan', code: 'TM' }, - { name: 'Turks and Caicos Islands', code: 'TC' }, - { name: 'Tuvalu', code: 'TV' }, - { name: 'Uganda', code: 'UG' }, - { name: 'Ukraine', code: 'UA' }, - { name: 'United Arab Emirates', code: 'AE' }, - { name: 'United Kingdom', code: 'GB' }, - { name: 'United States', code: 'US' }, - { name: 'United States Minor Outlying Islands', code: 'UM' }, - { name: 'Uruguay', code: 'UY' }, - { name: 'Uzbekistan', code: 'UZ' }, - { name: 'Vanuatu', code: 'VU' }, - { name: 'Venezuela', code: 'VE' }, - { name: 'Viet Nam', code: 'VN' }, - { name: 'Virgin Islands, British', code: 'VG' }, - { name: 'Virgin Islands, U.S.', code: 'VI' }, - { name: 'Wallis and Futuna', code: 'WF' }, - { name: 'Western Sahara', code: 'EH' }, - { name: 'Yemen', code: 'YE' }, - { name: 'Zambia', code: 'ZM' }, - { name: 'Zimbabwe', code: 'ZW' } +export const teams = [ + { label: "Tiger Team", value: "tiger" }, + { label: "Lemon Team", value: "lemon" }, + { label: "Organic Team", value: "organic" }, + { label: "Ocean Team", value: "ocean" }, +]; + +export const countries = [ + { name: 'Afghanistan', code: 'AF' }, + { name: 'Åland Islands', code: 'AX' }, + { name: 'Albania', code: 'AL' }, + { name: 'Algeria', code: 'DZ' }, + { name: 'American Samoa', code: 'AS' }, + { name: 'AndorrA', code: 'AD' }, + { name: 'Angola', code: 'AO' }, + { name: 'Anguilla', code: 'AI' }, + { name: 'Antarctica', code: 'AQ' }, + { name: 'Antigua and Barbuda', code: 'AG' }, + { name: 'Argentina', code: 'AR' }, + { name: 'Armenia', code: 'AM' }, + { name: 'Aruba', code: 'AW' }, + { name: 'Australia', code: 'AU' }, + { name: 'Austria', code: 'AT' }, + { name: 'Azerbaijan', code: 'AZ' }, + { name: 'Bahamas', code: 'BS' }, + { name: 'Bahrain', code: 'BH' }, + { name: 'Bangladesh', code: 'BD' }, + { name: 'Barbados', code: 'BB' }, + { name: 'Belarus', code: 'BY' }, + { name: 'Belgium', code: 'BE' }, + { name: 'Belize', code: 'BZ' }, + { name: 'Benin', code: 'BJ' }, + { name: 'Bermuda', code: 'BM' }, + { name: 'Bhutan', code: 'BT' }, + { name: 'Bolivia', code: 'BO' }, + { name: 'Bosnia and Herzegovina', code: 'BA' }, + { name: 'Botswana', code: 'BW' }, + { name: 'Bouvet Island', code: 'BV' }, + { name: 'Brazil', code: 'BR' }, + { name: 'British Indian Ocean Territory', code: 'IO' }, + { name: 'Brunei Darussalam', code: 'BN' }, + { name: 'Bulgaria', code: 'BG' }, + { name: 'Burkina Faso', code: 'BF' }, + { name: 'Burundi', code: 'BI' }, + { name: 'Cambodia', code: 'KH' }, + { name: 'Cameroon', code: 'CM' }, + { name: 'Canada', code: 'CA' }, + { name: 'Cape Verde', code: 'CV' }, + { name: 'Cayman Islands', code: 'KY' }, + { name: 'Central African Republic', code: 'CF' }, + { name: 'Chad', code: 'TD' }, + { name: 'Chile', code: 'CL' }, + { name: 'China', code: 'CN' }, + { name: 'Christmas Island', code: 'CX' }, + { name: 'Cocos (Keeling) Islands', code: 'CC' }, + { name: 'Colombia', code: 'CO' }, + { name: 'Comoros', code: 'KM' }, + { name: 'Congo', code: 'CG' }, + { name: 'Congo, The Democratic Republic of the', code: 'CD' }, + { name: 'Cook Islands', code: 'CK' }, + { name: 'Costa Rica', code: 'CR' }, + { name: 'Cote D\'Ivoire', code: 'CI' }, + { name: 'Croatia', code: 'HR' }, + { name: 'Cuba', code: 'CU' }, + { name: 'Cyprus', code: 'CY' }, + { name: 'Czech Republic', code: 'CZ' }, + { name: 'Denmark', code: 'DK' }, + { name: 'Djibouti', code: 'DJ' }, + { name: 'Dominica', code: 'DM' }, + { name: 'Dominican Republic', code: 'DO' }, + { name: 'Ecuador', code: 'EC' }, + { name: 'Egypt', code: 'EG' }, + { name: 'El Salvador', code: 'SV' }, + { name: 'Equatorial Guinea', code: 'GQ' }, + { name: 'Eritrea', code: 'ER' }, + { name: 'Estonia', code: 'EE' }, + { name: 'Ethiopia', code: 'ET' }, + { name: 'Falkland Islands (Malvinas)', code: 'FK' }, + { name: 'Faroe Islands', code: 'FO' }, + { name: 'Fiji', code: 'FJ' }, + { name: 'Finland', code: 'FI' }, + { name: 'France', code: 'FR' }, + { name: 'French Guiana', code: 'GF' }, + { name: 'French Polynesia', code: 'PF' }, + { name: 'French Southern Territories', code: 'TF' }, + { name: 'Gabon', code: 'GA' }, + { name: 'Gambia', code: 'GM' }, + { name: 'Georgia', code: 'GE' }, + { name: 'Germany', code: 'DE' }, + { name: 'Ghana', code: 'GH' }, + { name: 'Gibraltar', code: 'GI' }, + { name: 'Greece', code: 'GR' }, + { name: 'Greenland', code: 'GL' }, + { name: 'Grenada', code: 'GD' }, + { name: 'Guadeloupe', code: 'GP' }, + { name: 'Guam', code: 'GU' }, + { name: 'Guatemala', code: 'GT' }, + { name: 'Guernsey', code: 'GG' }, + { name: 'Guinea', code: 'GN' }, + { name: 'Guinea-Bissau', code: 'GW' }, + { name: 'Guyana', code: 'GY' }, + { name: 'Haiti', code: 'HT' }, + { name: 'Heard Island and Mcdonald Islands', code: 'HM' }, + { name: 'Holy See (Vatican City State)', code: 'VA' }, + { name: 'Honduras', code: 'HN' }, + { name: 'Hong Kong', code: 'HK' }, + { name: 'Hungary', code: 'HU' }, + { name: 'Iceland', code: 'IS' }, + { name: 'India', code: 'IN' }, + { name: 'Indonesia', code: 'ID' }, + { name: 'Iran, Islamic Republic Of', code: 'IR' }, + { name: 'Iraq', code: 'IQ' }, + { name: 'Ireland', code: 'IE' }, + { name: 'Isle of Man', code: 'IM' }, + { name: 'Israel', code: 'IL' }, + { name: 'Italy', code: 'IT' }, + { name: 'Jamaica', code: 'JM' }, + { name: 'Japan', code: 'JP' }, + { name: 'Jersey', code: 'JE' }, + { name: 'Jordan', code: 'JO' }, + { name: 'Kazakhstan', code: 'KZ' }, + { name: 'Kenya', code: 'KE' }, + { name: 'Kiribati', code: 'KI' }, + { name: 'Korea, Democratic People\'S Republic of', code: 'KP' }, + { name: 'Korea, Republic of', code: 'KR' }, + { name: 'Kuwait', code: 'KW' }, + { name: 'Kyrgyzstan', code: 'KG' }, + { name: 'Lao People\'S Democratic Republic', code: 'LA' }, + { name: 'Latvia', code: 'LV' }, + { name: 'Lebanon', code: 'LB' }, + { name: 'Lesotho', code: 'LS' }, + { name: 'Liberia', code: 'LR' }, + { name: 'Libyan Arab Jamahiriya', code: 'LY' }, + { name: 'Liechtenstein', code: 'LI' }, + { name: 'Lithuania', code: 'LT' }, + { name: 'Luxembourg', code: 'LU' }, + { name: 'Macao', code: 'MO' }, + { name: 'Macedonia, The Former Yugoslav Republic of', code: 'MK' }, + { name: 'Madagascar', code: 'MG' }, + { name: 'Malawi', code: 'MW' }, + { name: 'Malaysia', code: 'MY' }, + { name: 'Maldives', code: 'MV' }, + { name: 'Mali', code: 'ML' }, + { name: 'Malta', code: 'MT' }, + { name: 'Marshall Islands', code: 'MH' }, + { name: 'Martinique', code: 'MQ' }, + { name: 'Mauritania', code: 'MR' }, + { name: 'Mauritius', code: 'MU' }, + { name: 'Mayotte', code: 'YT' }, + { name: 'Mexico', code: 'MX' }, + { name: 'Micronesia, Federated States of', code: 'FM' }, + { name: 'Moldova, Republic of', code: 'MD' }, + { name: 'Monaco', code: 'MC' }, + { name: 'Mongolia', code: 'MN' }, + { name: 'Montserrat', code: 'MS' }, + { name: 'Morocco', code: 'MA' }, + { name: 'Mozambique', code: 'MZ' }, + { name: 'Myanmar', code: 'MM' }, + { name: 'Namibia', code: 'NA' }, + { name: 'Nauru', code: 'NR' }, + { name: 'Nepal', code: 'NP' }, + { name: 'Netherlands', code: 'NL' }, + { name: 'Netherlands Antilles', code: 'AN' }, + { name: 'New Caledonia', code: 'NC' }, + { name: 'New Zealand', code: 'NZ' }, + { name: 'Nicaragua', code: 'NI' }, + { name: 'Niger', code: 'NE' }, + { name: 'Nigeria', code: 'NG' }, + { name: 'Niue', code: 'NU' }, + { name: 'Norfolk Island', code: 'NF' }, + { name: 'Northern Mariana Islands', code: 'MP' }, + { name: 'Norway', code: 'NO' }, + { name: 'Oman', code: 'OM' }, + { name: 'Pakistan', code: 'PK' }, + { name: 'Palau', code: 'PW' }, + { name: 'Palestinian Territory, Occupied', code: 'PS' }, + { name: 'Panama', code: 'PA' }, + { name: 'Papua New Guinea', code: 'PG' }, + { name: 'Paraguay', code: 'PY' }, + { name: 'Peru', code: 'PE' }, + { name: 'Philippines', code: 'PH' }, + { name: 'Pitcairn', code: 'PN' }, + { name: 'Poland', code: 'PL' }, + { name: 'Portugal', code: 'PT' }, + { name: 'Puerto Rico', code: 'PR' }, + { name: 'Qatar', code: 'QA' }, + { name: 'Reunion', code: 'RE' }, + { name: 'Romania', code: 'RO' }, + { name: 'Russian Federation', code: 'RU' }, + { name: 'RWANDA', code: 'RW' }, + { name: 'Saint Helena', code: 'SH' }, + { name: 'Saint Kitts and Nevis', code: 'KN' }, + { name: 'Saint Lucia', code: 'LC' }, + { name: 'Saint Pierre and Miquelon', code: 'PM' }, + { name: 'Saint Vincent and the Grenadines', code: 'VC' }, + { name: 'Samoa', code: 'WS' }, + { name: 'San Marino', code: 'SM' }, + { name: 'Sao Tome and Principe', code: 'ST' }, + { name: 'Saudi Arabia', code: 'SA' }, + { name: 'Senegal', code: 'SN' }, + { name: 'Serbia and Montenegro', code: 'CS' }, + { name: 'Seychelles', code: 'SC' }, + { name: 'Sierra Leone', code: 'SL' }, + { name: 'Singapore', code: 'SG' }, + { name: 'Slovakia', code: 'SK' }, + { name: 'Slovenia', code: 'SI' }, + { name: 'Solomon Islands', code: 'SB' }, + { name: 'Somalia', code: 'SO' }, + { name: 'South Africa', code: 'ZA' }, + { name: 'South Georgia and the South Sandwich Islands', code: 'GS' }, + { name: 'Spain', code: 'ES' }, + { name: 'Sri Lanka', code: 'LK' }, + { name: 'Sudan', code: 'SD' }, + { name: 'Suriname', code: 'SR' }, + { name: 'Svalbard and Jan Mayen', code: 'SJ' }, + { name: 'Swaziland', code: 'SZ' }, + { name: 'Sweden', code: 'SE' }, + { name: 'Switzerland', code: 'CH' }, + { name: 'Syrian Arab Republic', code: 'SY' }, + { name: 'Taiwan, Province of China', code: 'TW' }, + { name: 'Tajikistan', code: 'TJ' }, + { name: 'Tanzania, United Republic of', code: 'TZ' }, + { name: 'Thailand', code: 'TH' }, + { name: 'Timor-Leste', code: 'TL' }, + { name: 'Togo', code: 'TG' }, + { name: 'Tokelau', code: 'TK' }, + { name: 'Tonga', code: 'TO' }, + { name: 'Trinidad and Tobago', code: 'TT' }, + { name: 'Tunisia', code: 'TN' }, + { name: 'Turkey', code: 'TR' }, + { name: 'Turkmenistan', code: 'TM' }, + { name: 'Turks and Caicos Islands', code: 'TC' }, + { name: 'Tuvalu', code: 'TV' }, + { name: 'Uganda', code: 'UG' }, + { name: 'Ukraine', code: 'UA' }, + { name: 'United Arab Emirates', code: 'AE' }, + { name: 'United Kingdom', code: 'GB' }, + { name: 'United States', code: 'US' }, + { name: 'United States Minor Outlying Islands', code: 'UM' }, + { name: 'Uruguay', code: 'UY' }, + { name: 'Uzbekistan', code: 'UZ' }, + { name: 'Vanuatu', code: 'VU' }, + { name: 'Venezuela', code: 'VE' }, + { name: 'Viet Nam', code: 'VN' }, + { name: 'Virgin Islands, British', code: 'VG' }, + { name: 'Virgin Islands, U.S.', code: 'VI' }, + { name: 'Wallis and Futuna', code: 'WF' }, + { name: 'Western Sahara', code: 'EH' }, + { name: 'Yemen', code: 'YE' }, + { name: 'Zambia', code: 'ZM' }, + { name: 'Zimbabwe', code: 'ZW' } ]; \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/assets/employees.json b/examples-standalone/coffee-warehouse/src/assets/employees.json index 67b98ffb..b1240ebd 100644 --- a/examples-standalone/coffee-warehouse/src/assets/employees.json +++ b/examples-standalone/coffee-warehouse/src/assets/employees.json @@ -1,1403 +1,1403 @@ -[ - { - "id": "848e6002-8a92-447d-951b-1ffd5e695578", - "full_name": "Sig Jeannel", - "job_title": "Human Resources Assistant III", - "country": "US", - "is_online": true, - "rating": 3, - "target": 100, - "budget": 47601, - "phone": "(936) 9429601", - "address": "138 Buhler Avenue", - "img_id": 1, - "gender": "M" - }, - { - "id": "19d18d40-0e64-4837-9420-92130a0ed253", - "full_name": "Shelden Greyes", - "job_title": "Operator", - "country": "GB", - "is_online": true, - "rating": 5, - "target": 40, - "budget": 12253, - "phone": "(343) 6656271", - "address": "2 Waxwing Point", - "img_id": 2, - "gender": "M" - }, - { - "id": "bebdc6eb-9179-484a-917d-2e16a23bfdfe", - "full_name": "Megen Cody", - "job_title": "Operator", - "country": "BR", - "is_online": true, - "rating": 1, - "target": 66, - "budget": 96183, - "phone": "(178) 2336256", - "address": "4082 Stephen Court", - "img_id": 6, - "gender": "F" - }, - { - "id": "38b08b88-e482-46fc-8976-83590c02ec23", - "full_name": "Clevey Thursfield", - "job_title": "VP Quality Control", - "country": "BR", - "is_online": true, - "rating": 2, - "target": 58, - "budget": 54936, - "phone": "(277) 7415010", - "address": "1563 Glacier Hill Parkway", - "img_id": 5, - "gender": "M" - }, - { - "id": "2aac53f8-b72d-4629-9082-6d8239a8fecf", - "full_name": "Ruthi Baldini", - "job_title": "Data Coordiator", - "country": "BR", - "is_online": true, - "rating": 3, - "target": 37, - "budget": 46572, - "phone": "(766) 5691615", - "address": "6 Laurel Avenue", - "img_id": 8, - "gender": "F" - }, - { - "id": "1aa789e5-de01-406e-a2ee-cc5ce20f7e34", - "full_name": "Annecorinne Morter", - "job_title": "Professor", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 35, - "budget": 37198, - "phone": "(807) 2524830", - "address": "106 Green Street", - "img_id": 3, - "gender": "F" - }, - { - "id": "d2ff1b02-3808-44aa-9056-3b5df34bf865", - "full_name": "Gracia Punyer", - "job_title": "Assistant Manager", - "country": "ES", - "is_online": true, - "rating": 4, - "target": 64, - "budget": 84752, - "phone": "(515) 9749536", - "address": "69 Brentwood Alley", - "img_id": 2, - "gender": "F" - }, - { - "id": "26b2b760-27e8-47a6-81c2-07870d1b2b30", - "full_name": "Duky Hurring", - "job_title": "Account Executive", - "country": "BR", - "is_online": false, - "rating": 3, - "target": 61, - "budget": -1266, - "phone": "(897) 7202034", - "address": "39 Morning Circle", - "img_id": 3, - "gender": "M" - }, - { - "id": "91c6b652-4206-4a0c-bac6-dc21283a72d7", - "full_name": "Briana Shemelt", - "job_title": "Professor", - "country": "US", - "is_online": false, - "rating": 3, - "target": 63, - "budget": -9308, - "phone": "(205) 2560799", - "address": "11 Walton Court", - "img_id": 2, - "gender": "F" - }, - { - "id": "1e8289dc-2ef3-4045-ad6b-786d00368427", - "full_name": "Lexis Mostin", - "job_title": "Analyst Programmer", - "country": "FR", - "is_online": true, - "rating": 4, - "target": 81, - "budget": 38153, - "phone": "(903) 8388089", - "address": "38547 Westend Way", - "img_id": 4, - "gender": "F" - }, - { - "id": "797387bd-c247-48b3-97b6-5e75791f8809", - "full_name": "Felizio Gooda", - "job_title": "GIS Technical Architect", - "country": "DE", - "is_online": true, - "rating": 3, - "target": 89, - "budget": 81585, - "phone": "(372) 2389397", - "address": "9 Summer Ridge Circle", - "img_id": 2, - "gender": "M" - }, - { - "id": "24c541b0-4978-4072-84d0-abe94fcd0756", - "full_name": "Aubry Oxberry", - "job_title": "Financial Advisor", - "country": "BR", - "is_online": false, - "rating": 2, - "target": 3, - "budget": -6095, - "phone": "(665) 4176083", - "address": "06 Lerdahl Point", - "img_id": 10, - "gender": "F" - }, - { - "id": "d3416440-7411-42cc-a913-7dd319ca8311", - "full_name": "Orly Glasbey", - "job_title": "Environmental Tech", - "country": "BR", - "is_online": true, - "rating": 5, - "target": 63, - "budget": 63945, - "phone": "(449) 8482879", - "address": "4035 Porter Parkway", - "img_id": 6, - "gender": "F" - }, - { - "id": "139066b5-60c5-4cf5-9afe-fb4e5558b087", - "full_name": "Stephanus Culp", - "job_title": "Cost Accountant", - "country": "BR", - "is_online": false, - "rating": 2, - "target": 60, - "budget": 10613, - "phone": "(148) 3124030", - "address": "57028 Moland Terrace", - "img_id": 8, - "gender": "M" - }, - { - "id": "eb844971-b97d-4f79-bd5a-a266fcfaaf70", - "full_name": "Roseanna Janecek", - "job_title": "Database Administrator IV", - "country": "FR", - "is_online": false, - "rating": 4, - "target": 97, - "budget": 77351, - "phone": "(125) 4421623", - "address": "21973 Beilfuss Alley", - "img_id": 4, - "gender": "F" - }, - { - "id": "5cb391fe-4855-445c-a8b8-617c04d1d999", - "full_name": "Weidar McCombe", - "job_title": "Civil Engineer", - "country": "FR", - "is_online": true, - "rating": 1, - "target": 77, - "budget": 35924, - "phone": "(488) 7911627", - "address": "7 Dahle Terrace", - "img_id": 1, - "gender": "M" - }, - { - "id": "4ba9ad7e-d8b7-40e7-b8cd-67a8e743a249", - "full_name": "Evelin Spirritt", - "job_title": "Analyst Programmer", - "country": "BR", - "is_online": false, - "rating": 2, - "target": 18, - "budget": 58552, - "phone": "(821) 9538078", - "address": "89418 Knutson Pass", - "img_id": 1, - "gender": "M" - }, - { - "id": "e4a31407-39d1-4ab7-aad1-4e026a8c42fa", - "full_name": "Andria Helbeck", - "job_title": "Nurse Practicioner", - "country": "BR", - "is_online": true, - "rating": 4, - "target": 53, - "budget": 72526, - "phone": "(387) 9614638", - "address": "8589 Vernon Drive", - "img_id": 8, - "gender": "F" - }, - { - "id": "cd050499-dbf1-4a43-86ab-54feaacef401", - "full_name": "Mariellen Ravelus", - "job_title": "Systems Administrator I", - "country": "DE", - "is_online": true, - "rating": 2, - "target": 22, - "budget": -6659, - "phone": "(300) 6741661", - "address": "707 Gale Hill", - "img_id": 9, - "gender": "F" - }, - { - "id": "fda1c419-c0b8-4278-94b0-2ebef6bda164", - "full_name": "Corri Pergens", - "job_title": "Help Desk Operator", - "country": "BR", - "is_online": true, - "rating": 2, - "target": 74, - "budget": 12376, - "phone": "(769) 7145603", - "address": "856 Forest Crossing", - "img_id": 3, - "gender": "F" - }, - { - "id": "4a962db9-136e-4fcc-a683-2f961e27fb6e", - "full_name": "Friedrick Macknish", - "job_title": "Human Resources Assistant II", - "country": "FR", - "is_online": true, - "rating": 2, - "target": 38, - "budget": 97848, - "phone": "(196) 4156385", - "address": "157 Talisman Trail", - "img_id": 9, - "gender": "M" - }, - { - "id": "fa47e456-83c4-4fdc-b57b-07effb279967", - "full_name": "Georgette Trevorrow", - "job_title": "VP Accounting", - "country": "FR", - "is_online": true, - "rating": 3, - "target": 3, - "budget": 17327, - "phone": "(319) 1412549", - "address": "07 Marquette Point", - "img_id": 3, - "gender": "F" - }, - { - "id": "67656444-fbcd-4813-84e7-1bdcd82f803e", - "full_name": "Vanya Goalby", - "job_title": "Senior Cost Accountant", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 77, - "budget": 33584, - "phone": "(496) 7538982", - "address": "2192 Iowa Lane", - "img_id": 6, - "gender": "F" - }, - { - "id": "05c098c2-9617-4e66-928a-e29b97297138", - "full_name": "Abel Ansell", - "job_title": "Actuary", - "country": "US", - "is_online": false, - "rating": 4, - "target": 52, - "budget": 12312, - "phone": "(571) 9908377", - "address": "4355 Iowa Parkway", - "img_id": 4, - "gender": "M" - }, - { - "id": "3b263e99-51bf-4461-bb20-d4303d326cd9", - "full_name": "Odille Barus", - "job_title": "Speech Pathologist", - "country": "FR", - "is_online": true, - "rating": 4, - "target": 60, - "budget": 46911, - "phone": "(974) 1137672", - "address": "496 Lotheville Avenue", - "img_id": 8, - "gender": "F" - }, - { - "id": "c09ddfaf-569e-4a75-8e53-1be27cf25927", - "full_name": "Rudolf Consadine", - "job_title": "Structural Analysis Engineer", - "country": "FR", - "is_online": true, - "rating": 4, - "target": 20, - "budget": 94258, - "phone": "(450) 7612220", - "address": "93 Thierer Park", - "img_id": 6, - "gender": "M" - }, - { - "id": "a48abbc9-6143-4f77-a720-0b76ad862a9a", - "full_name": "Christabel Bick", - "job_title": "Engineer III", - "country": "FR", - "is_online": true, - "rating": 5, - "target": 0, - "budget": 65359, - "phone": "(361) 5159566", - "address": "191 Bunting Pass", - "img_id": 5, - "gender": "F" - }, - { - "id": "d8816aee-4230-4392-a045-0a9c297451f7", - "full_name": "Lancelot Tanzer", - "job_title": "Senior Developer", - "country": "US", - "is_online": true, - "rating": 5, - "target": 80, - "budget": 13246, - "phone": "(502) 3949900", - "address": "4287 Corben Plaza", - "img_id": 8, - "gender": "M" - }, - { - "id": "9f5af32c-fb0d-4449-a658-f2c7f182b63a", - "full_name": "Bink Byk", - "job_title": "Software Engineer I", - "country": "FR", - "is_online": false, - "rating": 3, - "target": 17, - "budget": 56472, - "phone": "(475) 9070061", - "address": "075 Eggendart Avenue", - "img_id": 9, - "gender": "M" - }, - { - "id": "dbd7f48a-6540-4560-bb7c-cd60456b55b8", - "full_name": "Rhys Pheazey", - "job_title": "Speech Pathologist", - "country": "BR", - "is_online": false, - "rating": 5, - "target": 98, - "budget": 62483, - "phone": "(365) 8904529", - "address": "987 Carioca Lane", - "img_id": 9, - "gender": "M" - }, - { - "id": "844189fe-d36e-4e06-9761-932259701fc8", - "full_name": "Lyndell Howieson", - "job_title": "Speech Pathologist", - "country": "DE", - "is_online": true, - "rating": 2, - "target": 82, - "budget": 16694, - "phone": "(461) 3130038", - "address": "9 Pennsylvania Crossing", - "img_id": 8, - "gender": "F" - }, - { - "id": "5544d9d5-40ea-4e5a-8fb8-f5016b313b8f", - "full_name": "Cassey Fitchell", - "job_title": "Software Engineer III", - "country": "FR", - "is_online": true, - "rating": 2, - "target": 10, - "budget": 91253, - "phone": "(985) 5060547", - "address": "652 Merry Place", - "img_id": 9, - "gender": "F" - }, - { - "id": "1c669764-3cff-424a-b7e4-e7711d6c7d6c", - "full_name": "Coralyn Steljes", - "job_title": "Accounting Assistant III", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 81, - "budget": -9871, - "phone": "(760) 5696853", - "address": "4 Norway Maple Pass", - "img_id": 9, - "gender": "F" - }, - { - "id": "4cc649dc-7f85-40ab-bc59-950f37268a65", - "full_name": "Bruis Creavin", - "job_title": "Nuclear Power Engineer", - "country": "BR", - "is_online": false, - "rating": 1, - "target": 59, - "budget": -5798, - "phone": "(570) 8801169", - "address": "71 Carioca Park", - "img_id": 6, - "gender": "M" - }, - { - "id": "8c9505f1-e8f8-4ba6-8c9a-5a1d089c6f09", - "full_name": "Adrianne Peery", - "job_title": "Chief Design Engineer", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 2, - "budget": 56575, - "phone": "(793) 1143493", - "address": "3 2nd Drive", - "img_id": 7, - "gender": "F" - }, - { - "id": "ced0905e-44ac-4317-a203-76994e53a751", - "full_name": "Port Gerauld", - "job_title": "Senior Cost Accountant", - "country": "FR", - "is_online": true, - "rating": 2, - "target": 27, - "budget": 97919, - "phone": "(155) 5488067", - "address": "9 High Crossing Center", - "img_id": 5, - "gender": "M" - }, - { - "id": "f0bcc7cd-999e-4611-a04f-7bdc16bc6160", - "full_name": "Boy Antoszewski", - "job_title": "VP Accounting", - "country": "GB", - "is_online": true, - "rating": 2, - "target": 11, - "budget": 74779, - "phone": "(715) 9192627", - "address": "3773 Hazelcrest Road", - "img_id": 6, - "gender": "M" - }, - { - "id": "322540e3-b72e-4b7d-ae4a-d927911340b7", - "full_name": "Gib Yakebowitch", - "job_title": "Marketing Assistant", - "country": "BR", - "is_online": false, - "rating": 5, - "target": 57, - "budget": 89028, - "phone": "(923) 6953600", - "address": "7 Mariners Cove Point", - "img_id": 8, - "gender": "M" - }, - { - "id": "b1ed798d-6177-4a27-9571-2e02be932214", - "full_name": "Minerva Gilders", - "job_title": "Administrative Officer", - "country": "BR", - "is_online": false, - "rating": 3, - "target": 54, - "budget": 32267, - "phone": "(773) 8863232", - "address": "82 Annamark Way", - "img_id": 4, - "gender": "F" - }, - { - "id": "d26bcf84-a8b4-471c-a582-2de64d7e7715", - "full_name": "Wait Peperell", - "job_title": "Web Designer III", - "country": "US", - "is_online": true, - "rating": 4, - "target": 94, - "budget": 72251, - "phone": "(419) 5806752", - "address": "0355 Petterle Avenue", - "img_id": 8, - "gender": "M" - }, - { - "id": "da813d45-bd3b-4bfa-abdd-e12050a5da14", - "full_name": "Ailsun Esmead", - "job_title": "Software Test Engineer III", - "country": "FR", - "is_online": true, - "rating": 1, - "target": 12, - "budget": 69596, - "phone": "(852) 7039628", - "address": "0 Lunder Crossing", - "img_id": 8, - "gender": "F" - }, - { - "id": "944d8752-ef63-47bc-8db0-f40808d50b15", - "full_name": "Vallie Van der Velde", - "job_title": "Nurse", - "country": "GB", - "is_online": true, - "rating": 3, - "target": 89, - "budget": 19530, - "phone": "(331) 7690832", - "address": "2 Almo Lane", - "img_id": 4, - "gender": "F" - }, - { - "id": "3d2f991c-58ef-436d-912e-49496fd2065c", - "full_name": "Dov Amber", - "job_title": "Sales Representative", - "country": "FR", - "is_online": false, - "rating": 4, - "target": 55, - "budget": 61106, - "phone": "(793) 4768356", - "address": "4 Rockefeller Street", - "img_id": 3, - "gender": "M" - }, - { - "id": "29b406e9-ca20-45cb-8630-6df3a632276a", - "full_name": "Tedie Alu", - "job_title": "Business Systems Analyst", - "country": "FR", - "is_online": false, - "rating": 1, - "target": 76, - "budget": 3114, - "phone": "(602) 5831373", - "address": "28 Claremont Plaza", - "img_id": 5, - "gender": "M" - }, - { - "id": "767de27a-421c-4147-a552-26ac56390339", - "full_name": "Tally Rizzi", - "job_title": "Civil Engineer", - "country": "US", - "is_online": false, - "rating": 1, - "target": 5, - "budget": 78575, - "phone": "(302) 6856300", - "address": "1 Roth Park", - "img_id": 10, - "gender": "M" - }, - { - "id": "2b6e6902-11b5-4ca7-8a59-c32b3f57533b", - "full_name": "Ilise Lewnden", - "job_title": "Database Administrator I", - "country": "BR", - "is_online": false, - "rating": 4, - "target": 33, - "budget": -1059, - "phone": "(659) 8660881", - "address": "19 Stuart Alley", - "img_id": 2, - "gender": "F" - }, - { - "id": "c891e87f-b19b-4cb5-8902-b19c59e37494", - "full_name": "Farr Penwright", - "job_title": "Senior Editor", - "country": "US", - "is_online": true, - "rating": 3, - "target": 82, - "budget": 30505, - "phone": "(505) 3900066", - "address": "9200 Karstens Crossing", - "img_id": 6, - "gender": "M" - }, - { - "id": "65821428-adc7-4743-9dd8-cf62400e62f2", - "full_name": "Chantal Bidgod", - "job_title": "VP Sales", - "country": "BR", - "is_online": false, - "rating": 3, - "target": 62, - "budget": 25742, - "phone": "(746) 3962702", - "address": "8807 Kinsman Drive", - "img_id": 2, - "gender": "F" - }, - { - "id": "f42907e0-d92c-4fb0-b886-2e84331ffe28", - "full_name": "Johanna Bergin", - "job_title": "Electrical Engineer", - "country": "BR", - "is_online": false, - "rating": 2, - "target": 54, - "budget": 25864, - "phone": "(720) 6442547", - "address": "93166 Spohn Court", - "img_id": 3, - "gender": "F" - }, - { - "id": "4531be30-eec7-477f-bdc5-88acb8d902af", - "full_name": "Padriac Syphas", - "job_title": "Marketing Assistant", - "country": "BR", - "is_online": true, - "rating": 1, - "target": 50, - "budget": 20879, - "phone": "(606) 9062546", - "address": "50465 Buena Vista Plaza", - "img_id": 5, - "gender": "M" - }, - { - "id": "4f0ab8f6-7a36-4a5c-a513-d5495223a9cd", - "full_name": "Garey De Maria", - "job_title": "Operator", - "country": "US", - "is_online": true, - "rating": 2, - "target": 54, - "budget": 94251, - "phone": "(972) 1133958", - "address": "24 Maple Wood Terrace", - "img_id": 9, - "gender": "M" - }, - { - "id": "13556e73-d43a-485d-8603-cbf1769bd0ac", - "full_name": "Glenn Thorwarth", - "job_title": "Developer IV", - "country": "BR", - "is_online": false, - "rating": 5, - "target": 39, - "budget": 33511, - "phone": "(394) 3115946", - "address": "8 Dryden Park", - "img_id": 1, - "gender": "M" - }, - { - "id": "c8389213-a2cd-4bb8-ba99-9c29e9b70881", - "full_name": "Bron Crosson", - "job_title": "GIS Technical Architect", - "country": "FR", - "is_online": true, - "rating": 2, - "target": 80, - "budget": 62081, - "phone": "(686) 7934926", - "address": "974 Mayfield Place", - "img_id": 9, - "gender": "M" - }, - { - "id": "cd233a4e-0315-496d-8f5f-4c8787b0f1ba", - "full_name": "Garey Malecky", - "job_title": "Account Executive", - "country": "BR", - "is_online": false, - "rating": 5, - "target": 51, - "budget": 76354, - "phone": "(304) 6324519", - "address": "3 Paget Court", - "img_id": 9, - "gender": "M" - }, - { - "id": "339838eb-99dc-4fc0-8e18-060dbcf6bf78", - "full_name": "Elisabet Kimblin", - "job_title": "Automation Specialist I", - "country": "US", - "is_online": true, - "rating": 3, - "target": 35, - "budget": 26755, - "phone": "(904) 3334563", - "address": "75 Buell Court", - "img_id": 1, - "gender": "F" - }, - { - "id": "90a03a5a-1f16-4721-8c56-af4bb89a1f57", - "full_name": "Berk Uttley", - "job_title": "Health Coach IV", - "country": "FR", - "is_online": false, - "rating": 4, - "target": 58, - "budget": 82064, - "phone": "(200) 2124940", - "address": "4 Mockingbird Trail", - "img_id": 8, - "gender": "M" - }, - { - "id": "ce5ba778-43eb-4658-a6bd-56f04e6f125f", - "full_name": "Kenny Clackers", - "job_title": "Assistant Manager", - "country": "FR", - "is_online": true, - "rating": 4, - "target": 37, - "budget": 47477, - "phone": "(926) 3235464", - "address": "53315 Bashford Lane", - "img_id": 2, - "gender": "M" - }, - { - "id": "df3dffe4-6fb4-4a9c-8512-71f7cb508180", - "full_name": "Rickard Pingston", - "job_title": "Environmental Specialist", - "country": "BR", - "is_online": true, - "rating": 5, - "target": 72, - "budget": 94173, - "phone": "(902) 4658383", - "address": "8 Mesta Court", - "img_id": 2, - "gender": "M" - }, - { - "id": "2757a92d-5eed-4215-818f-fdf15b6b27d0", - "full_name": "Hobard Clabburn", - "job_title": "Systems Administrator I", - "country": "BR", - "is_online": true, - "rating": 2, - "target": 37, - "budget": 66166, - "phone": "(711) 6587550", - "address": "29796 Mcbride Court", - "img_id": 2, - "gender": "M" - }, - { - "id": "71ebd82a-f9f2-48ea-ada4-ce8db424df64", - "full_name": "Uri Champken", - "job_title": "Software Test Engineer IV", - "country": "BR", - "is_online": false, - "rating": 1, - "target": 39, - "budget": 65176, - "phone": "(514) 1953919", - "address": "78 Rowland Alley", - "img_id": 6, - "gender": "M" - }, - { - "id": "b7a77c35-1f9f-45c5-ba44-7622d279b377", - "full_name": "Obidiah Fold", - "job_title": "Budget/Accounting Analyst I", - "country": "FR", - "is_online": false, - "rating": 5, - "target": 66, - "budget": 74529, - "phone": "(747) 8711780", - "address": "58 Lakeland Court", - "img_id": 9, - "gender": "M" - }, - { - "id": "9c0fbca6-b793-4fdc-8dcf-5136cb5d049c", - "full_name": "Angelia Marconi", - "job_title": "Associate Professor", - "country": "FR", - "is_online": false, - "rating": 4, - "target": 91, - "budget": 38996, - "phone": "(530) 7506861", - "address": "7 Ohio Parkway", - "img_id": 2, - "gender": "F" - }, - { - "id": "9083010c-4f59-49e7-96c6-894cbf24ed75", - "full_name": "Ronda Lock", - "job_title": "Quality Engineer", - "country": "US", - "is_online": false, - "rating": 5, - "target": 36, - "budget": 69903, - "phone": "(916) 6819628", - "address": "802 American Ash Street", - "img_id": 6, - "gender": "F" - }, - { - "id": "4225013e-fd75-46f6-b678-b25675e131bc", - "full_name": "Rachele Fantham", - "job_title": "Business Systems Analyst", - "country": "FR", - "is_online": true, - "rating": 2, - "target": 100, - "budget": 79333, - "phone": "(652) 3112938", - "address": "62 Grim Center", - "img_id": 4, - "gender": "F" - }, - { - "id": "b75a42e9-db84-479c-96b0-d88109abfebb", - "full_name": "Emanuel Deery", - "job_title": "Electrical Engineer", - "country": "BR", - "is_online": false, - "rating": 3, - "target": 93, - "budget": 77477, - "phone": "(860) 8318923", - "address": "850 Mifflin Junction", - "img_id": 8, - "gender": "M" - }, - { - "id": "b2e28f42-7a35-4e23-b2e4-40fe3ed909ca", - "full_name": "Clay Ellins", - "job_title": "Design Engineer", - "country": "US", - "is_online": true, - "rating": 4, - "target": 98, - "budget": 4120, - "phone": "(682) 4688237", - "address": "458 Scoville Lane", - "img_id": 5, - "gender": "M" - }, - { - "id": "4239103e-80bc-4f09-8655-c2165b063027", - "full_name": "Bettina Menlove", - "job_title": "Senior Financial Analyst", - "country": "FR", - "is_online": false, - "rating": 5, - "target": 78, - "budget": 80574, - "phone": "(293) 8801412", - "address": "29 Onsgard Junction", - "img_id": 8, - "gender": "F" - }, - { - "id": "8442ff74-6f05-43f7-90de-b948a5c2c895", - "full_name": "Claiborne Willoughey", - "job_title": "Food Chemist", - "country": "US", - "is_online": true, - "rating": 5, - "target": 44, - "budget": 44673, - "phone": "(707) 3380798", - "address": "39114 Killdeer Terrace", - "img_id": 6, - "gender": "M" - }, - { - "id": "1701041a-2ede-4c1d-a51b-8fe4b3ec1c35", - "full_name": "Desmond Gritskov", - "job_title": "Pharmacist", - "country": "BR", - "is_online": false, - "rating": 4, - "target": 66, - "budget": 45319, - "phone": "(412) 1336481", - "address": "6912 Farwell Street", - "img_id": 6, - "gender": "M" - }, - { - "id": "609fd74e-e6c3-41ae-a227-d3d9caba0582", - "full_name": "Codee Maybery", - "job_title": "Clinical Specialist", - "country": "US", - "is_online": true, - "rating": 2, - "target": 26, - "budget": 43462, - "phone": "(682) 7969803", - "address": "4 Tennessee Plaza", - "img_id": 3, - "gender": "F" - }, - { - "id": "f535ef7f-c79d-4936-af40-d062d2b2d5c0", - "full_name": "Denys Beynke", - "job_title": "Occupational Therapist", - "country": "BR", - "is_online": true, - "rating": 4, - "target": 60, - "budget": 32402, - "phone": "(110) 4341370", - "address": "99 Trailsway Park", - "img_id": 4, - "gender": "M" - }, - { - "id": "ae126e65-b6ab-4388-ba5c-f6f5d54fc435", - "full_name": "Guthry Limpricht", - "job_title": "Geologist II", - "country": "DE", - "is_online": true, - "rating": 3, - "target": 65, - "budget": 68462, - "phone": "(100) 8946768", - "address": "3117 Commercial Crossing", - "img_id": 2, - "gender": "M" - }, - { - "id": "9b1efdfc-4cce-4350-9516-028884fb1725", - "full_name": "Cammie Knoble", - "job_title": "Community Outreach Specialist", - "country": "GB", - "is_online": false, - "rating": 2, - "target": 1, - "budget": 70198, - "phone": "(352) 1663192", - "address": "55 Longview Place", - "img_id": 4, - "gender": "F" - }, - { - "id": "a44c41e2-3adc-4d52-acb3-06f90e0214c9", - "full_name": "Kiri Espinal", - "job_title": "Accounting Assistant I", - "country": "FR", - "is_online": false, - "rating": 3, - "target": 47, - "budget": 3712, - "phone": "(946) 6686147", - "address": "90480 Chinook Drive", - "img_id": 4, - "gender": "F" - }, - { - "id": "9d6d3063-7be8-49fe-be31-64d0d5949f02", - "full_name": "Joy Tiddy", - "job_title": "Engineer III", - "country": "FR", - "is_online": true, - "rating": 5, - "target": 80, - "budget": 61355, - "phone": "(849) 1097790", - "address": "76 Summerview Hill", - "img_id": 9, - "gender": "F" - }, - { - "id": "44def3bb-7c65-45d3-aef6-bf8b49f934b3", - "full_name": "Arlene Karlsson", - "job_title": "Civil Engineer", - "country": "BR", - "is_online": true, - "rating": 4, - "target": 98, - "budget": 14267, - "phone": "(699) 4713080", - "address": "90 Dorton Point", - "img_id": 5, - "gender": "F" - }, - { - "id": "7b991e13-bef7-4f19-bd18-d5aa9d263cba", - "full_name": "Melony Millwater", - "job_title": "Chief Design Engineer", - "country": "US", - "is_online": true, - "rating": 2, - "target": 27, - "budget": 67126, - "phone": "(352) 5197697", - "address": "65242 Derek Place", - "img_id": 1, - "gender": "F" - }, - { - "id": "ab6704b8-20ed-4881-ab28-96e3d55f7792", - "full_name": "Mab Ballham", - "job_title": "Programmer Analyst II", - "country": "FR", - "is_online": false, - "rating": 1, - "target": 34, - "budget": 65648, - "phone": "(699) 9285470", - "address": "2579 Messerschmidt Crossing", - "img_id": 8, - "gender": "F" - }, - { - "id": "03f0f5a0-8b7c-486e-ae4b-c9e5858bbde8", - "full_name": "Nixie MacAskie", - "job_title": "Structural Analysis Engineer", - "country": "BR", - "is_online": true, - "rating": 2, - "target": 13, - "budget": -5312, - "phone": "(434) 6153212", - "address": "59672 Village Court", - "img_id": 4, - "gender": "F" - }, - { - "id": "6b63462d-b181-4055-813d-983002ea57b8", - "full_name": "Gianni Crafts", - "job_title": "Tax Accountant", - "country": "FR", - "is_online": false, - "rating": 3, - "target": 54, - "budget": 85744, - "phone": "(428) 3135618", - "address": "53766 Buhler Parkway", - "img_id": 8, - "gender": "M" - }, - { - "id": "dcafac96-c436-4232-8d0e-eda10d029e1d", - "full_name": "Moyra Summerlie", - "job_title": "Business Systems Analyst", - "country": "FR", - "is_online": true, - "rating": 5, - "target": 3, - "budget": 19109, - "phone": "(960) 7792763", - "address": "127 Spohn Crossing", - "img_id": 6, - "gender": "F" - }, - { - "id": "a765924f-8ffb-4186-8991-6000a6ce2652", - "full_name": "Hagan Trevers", - "job_title": "Mechanical Systems Engineer", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 93, - "budget": 28290, - "phone": "(749) 8913157", - "address": "516 Clove Road", - "img_id": 7, - "gender": "M" - }, - { - "id": "2c3423dd-81d0-4e41-987e-1c39956c9ba8", - "full_name": "Sela Westmacott", - "job_title": "Account Executive", - "country": "BR", - "is_online": false, - "rating": 3, - "target": 29, - "budget": 58239, - "phone": "(130) 9778509", - "address": "81 Maple Point", - "img_id": 2, - "gender": "F" - }, - { - "id": "e8bce62e-3bf4-4232-801c-bbcc8dab2e74", - "full_name": "Lilia Wiz", - "job_title": "VP Product Management", - "country": "FR", - "is_online": false, - "rating": 1, - "target": 65, - "budget": 1438, - "phone": "(418) 5940094", - "address": "905 Hauk Point", - "img_id": 1, - "gender": "F" - }, - { - "id": "5b9b9235-e0f2-4102-b5f1-d512774e7191", - "full_name": "Orlan MacAlpin", - "job_title": "Statistician I", - "country": "US", - "is_online": false, - "rating": 1, - "target": 1, - "budget": 9094, - "phone": "(512) 7106617", - "address": "6055 Truax Way", - "img_id": 2, - "gender": "M" - }, - { - "id": "1124d1b2-6ac3-4f2f-ba35-1da116844b0e", - "full_name": "Ty Nutton", - "job_title": "Speech Pathologist", - "country": "FR", - "is_online": false, - "rating": 5, - "target": 88, - "budget": 76684, - "phone": "(250) 2530424", - "address": "37247 Merry Plaza", - "img_id": 1, - "gender": "M" - }, - { - "id": "01e7f525-ab3f-48b7-941f-c6ad601ea69f", - "full_name": "Mirelle Jandl", - "job_title": "Civil Engineer", - "country": "DE", - "is_online": true, - "rating": 3, - "target": 19, - "budget": 94486, - "phone": "(871) 7917453", - "address": "31 Anderson Hill", - "img_id": 10, - "gender": "F" - }, - { - "id": "078b38d3-79a5-4df1-bd97-f83e300224a4", - "full_name": "Diann Bertram", - "job_title": "Structural Engineer", - "country": "BR", - "is_online": true, - "rating": 2, - "target": 38, - "budget": 2769, - "phone": "(716) 9445650", - "address": "958 Swallow Drive", - "img_id": 4, - "gender": "F" - }, - { - "id": "7ca6af51-11bc-44f3-b92f-7af02923d040", - "full_name": "Cindra Slobom", - "job_title": "Web Designer III", - "country": "BR", - "is_online": true, - "rating": 5, - "target": 48, - "budget": 81624, - "phone": "(409) 9223432", - "address": "82525 Northridge Junction", - "img_id": 1, - "gender": "F" - }, - { - "id": "86a585e1-b76d-43b5-982d-e74b5b4b616b", - "full_name": "Tymon Mattheissen", - "job_title": "Dental Hygienist", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 51, - "budget": 42972, - "phone": "(724) 3234885", - "address": "64363 Anzinger Plaza", - "img_id": 3, - "gender": "M" - }, - { - "id": "37e366fb-9371-4df5-980c-e9678ec9cde2", - "full_name": "Fancie Heighton", - "job_title": "Paralegal", - "country": "FR", - "is_online": true, - "rating": 5, - "target": 52, - "budget": 67403, - "phone": "(738) 9982239", - "address": "4353 Hermina Junction", - "img_id": 1, - "gender": "F" - }, - { - "id": "b7df7c2a-4d40-4c03-bfb6-ab6d6930340c", - "full_name": "Kit Utteridge", - "job_title": "Office Assistant I", - "country": "FR", - "is_online": true, - "rating": 4, - "target": 93, - "budget": 36268, - "phone": "(710) 2371400", - "address": "46806 Moland Center", - "img_id": 7, - "gender": "F" - }, - { - "id": "7d740468-fad9-4687-895b-cee07aa3bc3d", - "full_name": "Lea Willey", - "job_title": "VP Quality Control", - "country": "US", - "is_online": false, - "rating": 3, - "target": 19, - "budget": 54614, - "phone": "(304) 3327700", - "address": "1 Moland Crossing", - "img_id": 6, - "gender": "F" - }, - { - "id": "88df162f-24fa-495d-a65c-b948607193b8", - "full_name": "Arri Halton", - "job_title": "Staff Accountant II", - "country": "GB", - "is_online": true, - "rating": 5, - "target": 73, - "budget": 32500, - "phone": "(743) 8449571", - "address": "3 Starling Trail", - "img_id": 3, - "gender": "M" - }, - { - "id": "cb93d087-2f15-43cd-9bc3-89716e39a724", - "full_name": "Malva Pierpoint", - "job_title": "Operator", - "country": "US", - "is_online": true, - "rating": 4, - "target": 98, - "budget": 20312, - "phone": "(423) 8195288", - "address": "57584 Algoma Plaza", - "img_id": 1, - "gender": "F" - }, - { - "id": "b76e54a1-1c46-49aa-9464-7dd9aa738b65", - "full_name": "Dalston Sabben", - "job_title": "Social Worker", - "country": "BR", - "is_online": true, - "rating": 4, - "target": 85, - "budget": 99048, - "phone": "(388) 2523908", - "address": "53578 Clove Lane", - "img_id": 4, - "gender": "M" - }, - { - "id": "608f098b-16f8-4460-bb35-9599a8a74280", - "full_name": "Delinda Margrie", - "job_title": "Financial Advisor", - "country": "US", - "is_online": false, - "rating": 1, - "target": 1, - "budget": 8398, - "phone": "(702) 6480692", - "address": "9 Dapin Plaza", - "img_id": 9, - "gender": "F" - }, - { - "id": "23b426f8-76d5-4808-84cb-c42bde8362fd", - "full_name": "Meggi Westman", - "job_title": "Librarian", - "country": "US", - "is_online": true, - "rating": 3, - "target": 64, - "budget": 63413, - "phone": "(682) 3495155", - "address": "82 Duke Terrace", - "img_id": 7, - "gender": "F" - }, - { - "id": "7ecfb74e-64d9-43ee-a028-d2e3841acba9", - "full_name": "Bret Barnsdall", - "job_title": "Registered Nurse", - "country": "BR", - "is_online": true, - "rating": 3, - "target": 52, - "budget": 55153, - "phone": "(222) 2089814", - "address": "4 Corry Park", - "img_id": 8, - "gender": "M" - }, - { - "id": "cf505561-d9e1-4d2a-93d5-4745d50595c2", - "full_name": "Matthus Shyres", - "job_title": "Marketing Manager", - "country": "FR", - "is_online": false, - "rating": 3, - "target": 68, - "budget": 33697, - "phone": "(539) 9486139", - "address": "460 Norway Maple Junction", - "img_id": 1, - "gender": "M" - } - ] +[ + { + "id": "848e6002-8a92-447d-951b-1ffd5e695578", + "full_name": "Sig Jeannel", + "job_title": "Human Resources Assistant III", + "country": "US", + "is_online": true, + "rating": 3, + "target": 100, + "budget": 47601, + "phone": "(936) 9429601", + "address": "138 Buhler Avenue", + "img_id": 1, + "gender": "M" + }, + { + "id": "19d18d40-0e64-4837-9420-92130a0ed253", + "full_name": "Shelden Greyes", + "job_title": "Operator", + "country": "GB", + "is_online": true, + "rating": 5, + "target": 40, + "budget": 12253, + "phone": "(343) 6656271", + "address": "2 Waxwing Point", + "img_id": 2, + "gender": "M" + }, + { + "id": "bebdc6eb-9179-484a-917d-2e16a23bfdfe", + "full_name": "Megen Cody", + "job_title": "Operator", + "country": "BR", + "is_online": true, + "rating": 1, + "target": 66, + "budget": 96183, + "phone": "(178) 2336256", + "address": "4082 Stephen Court", + "img_id": 6, + "gender": "F" + }, + { + "id": "38b08b88-e482-46fc-8976-83590c02ec23", + "full_name": "Clevey Thursfield", + "job_title": "VP Quality Control", + "country": "BR", + "is_online": true, + "rating": 2, + "target": 58, + "budget": 54936, + "phone": "(277) 7415010", + "address": "1563 Glacier Hill Parkway", + "img_id": 5, + "gender": "M" + }, + { + "id": "2aac53f8-b72d-4629-9082-6d8239a8fecf", + "full_name": "Ruthi Baldini", + "job_title": "Data Coordiator", + "country": "BR", + "is_online": true, + "rating": 3, + "target": 37, + "budget": 46572, + "phone": "(766) 5691615", + "address": "6 Laurel Avenue", + "img_id": 8, + "gender": "F" + }, + { + "id": "1aa789e5-de01-406e-a2ee-cc5ce20f7e34", + "full_name": "Annecorinne Morter", + "job_title": "Professor", + "country": "FR", + "is_online": false, + "rating": 2, + "target": 35, + "budget": 37198, + "phone": "(807) 2524830", + "address": "106 Green Street", + "img_id": 3, + "gender": "F" + }, + { + "id": "d2ff1b02-3808-44aa-9056-3b5df34bf865", + "full_name": "Gracia Punyer", + "job_title": "Assistant Manager", + "country": "ES", + "is_online": true, + "rating": 4, + "target": 64, + "budget": 84752, + "phone": "(515) 9749536", + "address": "69 Brentwood Alley", + "img_id": 2, + "gender": "F" + }, + { + "id": "26b2b760-27e8-47a6-81c2-07870d1b2b30", + "full_name": "Duky Hurring", + "job_title": "Account Executive", + "country": "BR", + "is_online": false, + "rating": 3, + "target": 61, + "budget": -1266, + "phone": "(897) 7202034", + "address": "39 Morning Circle", + "img_id": 3, + "gender": "M" + }, + { + "id": "91c6b652-4206-4a0c-bac6-dc21283a72d7", + "full_name": "Briana Shemelt", + "job_title": "Professor", + "country": "US", + "is_online": false, + "rating": 3, + "target": 63, + "budget": -9308, + "phone": "(205) 2560799", + "address": "11 Walton Court", + "img_id": 2, + "gender": "F" + }, + { + "id": "1e8289dc-2ef3-4045-ad6b-786d00368427", + "full_name": "Lexis Mostin", + "job_title": "Analyst Programmer", + "country": "FR", + "is_online": true, + "rating": 4, + "target": 81, + "budget": 38153, + "phone": "(903) 8388089", + "address": "38547 Westend Way", + "img_id": 4, + "gender": "F" + }, + { + "id": "797387bd-c247-48b3-97b6-5e75791f8809", + "full_name": "Felizio Gooda", + "job_title": "GIS Technical Architect", + "country": "DE", + "is_online": true, + "rating": 3, + "target": 89, + "budget": 81585, + "phone": "(372) 2389397", + "address": "9 Summer Ridge Circle", + "img_id": 2, + "gender": "M" + }, + { + "id": "24c541b0-4978-4072-84d0-abe94fcd0756", + "full_name": "Aubry Oxberry", + "job_title": "Financial Advisor", + "country": "BR", + "is_online": false, + "rating": 2, + "target": 3, + "budget": -6095, + "phone": "(665) 4176083", + "address": "06 Lerdahl Point", + "img_id": 10, + "gender": "F" + }, + { + "id": "d3416440-7411-42cc-a913-7dd319ca8311", + "full_name": "Orly Glasbey", + "job_title": "Environmental Tech", + "country": "BR", + "is_online": true, + "rating": 5, + "target": 63, + "budget": 63945, + "phone": "(449) 8482879", + "address": "4035 Porter Parkway", + "img_id": 6, + "gender": "F" + }, + { + "id": "139066b5-60c5-4cf5-9afe-fb4e5558b087", + "full_name": "Stephanus Culp", + "job_title": "Cost Accountant", + "country": "BR", + "is_online": false, + "rating": 2, + "target": 60, + "budget": 10613, + "phone": "(148) 3124030", + "address": "57028 Moland Terrace", + "img_id": 8, + "gender": "M" + }, + { + "id": "eb844971-b97d-4f79-bd5a-a266fcfaaf70", + "full_name": "Roseanna Janecek", + "job_title": "Database Administrator IV", + "country": "FR", + "is_online": false, + "rating": 4, + "target": 97, + "budget": 77351, + "phone": "(125) 4421623", + "address": "21973 Beilfuss Alley", + "img_id": 4, + "gender": "F" + }, + { + "id": "5cb391fe-4855-445c-a8b8-617c04d1d999", + "full_name": "Weidar McCombe", + "job_title": "Civil Engineer", + "country": "FR", + "is_online": true, + "rating": 1, + "target": 77, + "budget": 35924, + "phone": "(488) 7911627", + "address": "7 Dahle Terrace", + "img_id": 1, + "gender": "M" + }, + { + "id": "4ba9ad7e-d8b7-40e7-b8cd-67a8e743a249", + "full_name": "Evelin Spirritt", + "job_title": "Analyst Programmer", + "country": "BR", + "is_online": false, + "rating": 2, + "target": 18, + "budget": 58552, + "phone": "(821) 9538078", + "address": "89418 Knutson Pass", + "img_id": 1, + "gender": "M" + }, + { + "id": "e4a31407-39d1-4ab7-aad1-4e026a8c42fa", + "full_name": "Andria Helbeck", + "job_title": "Nurse Practicioner", + "country": "BR", + "is_online": true, + "rating": 4, + "target": 53, + "budget": 72526, + "phone": "(387) 9614638", + "address": "8589 Vernon Drive", + "img_id": 8, + "gender": "F" + }, + { + "id": "cd050499-dbf1-4a43-86ab-54feaacef401", + "full_name": "Mariellen Ravelus", + "job_title": "Systems Administrator I", + "country": "DE", + "is_online": true, + "rating": 2, + "target": 22, + "budget": -6659, + "phone": "(300) 6741661", + "address": "707 Gale Hill", + "img_id": 9, + "gender": "F" + }, + { + "id": "fda1c419-c0b8-4278-94b0-2ebef6bda164", + "full_name": "Corri Pergens", + "job_title": "Help Desk Operator", + "country": "BR", + "is_online": true, + "rating": 2, + "target": 74, + "budget": 12376, + "phone": "(769) 7145603", + "address": "856 Forest Crossing", + "img_id": 3, + "gender": "F" + }, + { + "id": "4a962db9-136e-4fcc-a683-2f961e27fb6e", + "full_name": "Friedrick Macknish", + "job_title": "Human Resources Assistant II", + "country": "FR", + "is_online": true, + "rating": 2, + "target": 38, + "budget": 97848, + "phone": "(196) 4156385", + "address": "157 Talisman Trail", + "img_id": 9, + "gender": "M" + }, + { + "id": "fa47e456-83c4-4fdc-b57b-07effb279967", + "full_name": "Georgette Trevorrow", + "job_title": "VP Accounting", + "country": "FR", + "is_online": true, + "rating": 3, + "target": 3, + "budget": 17327, + "phone": "(319) 1412549", + "address": "07 Marquette Point", + "img_id": 3, + "gender": "F" + }, + { + "id": "67656444-fbcd-4813-84e7-1bdcd82f803e", + "full_name": "Vanya Goalby", + "job_title": "Senior Cost Accountant", + "country": "FR", + "is_online": false, + "rating": 2, + "target": 77, + "budget": 33584, + "phone": "(496) 7538982", + "address": "2192 Iowa Lane", + "img_id": 6, + "gender": "F" + }, + { + "id": "05c098c2-9617-4e66-928a-e29b97297138", + "full_name": "Abel Ansell", + "job_title": "Actuary", + "country": "US", + "is_online": false, + "rating": 4, + "target": 52, + "budget": 12312, + "phone": "(571) 9908377", + "address": "4355 Iowa Parkway", + "img_id": 4, + "gender": "M" + }, + { + "id": "3b263e99-51bf-4461-bb20-d4303d326cd9", + "full_name": "Odille Barus", + "job_title": "Speech Pathologist", + "country": "FR", + "is_online": true, + "rating": 4, + "target": 60, + "budget": 46911, + "phone": "(974) 1137672", + "address": "496 Lotheville Avenue", + "img_id": 8, + "gender": "F" + }, + { + "id": "c09ddfaf-569e-4a75-8e53-1be27cf25927", + "full_name": "Rudolf Consadine", + "job_title": "Structural Analysis Engineer", + "country": "FR", + "is_online": true, + "rating": 4, + "target": 20, + "budget": 94258, + "phone": "(450) 7612220", + "address": "93 Thierer Park", + "img_id": 6, + "gender": "M" + }, + { + "id": "a48abbc9-6143-4f77-a720-0b76ad862a9a", + "full_name": "Christabel Bick", + "job_title": "Engineer III", + "country": "FR", + "is_online": true, + "rating": 5, + "target": 0, + "budget": 65359, + "phone": "(361) 5159566", + "address": "191 Bunting Pass", + "img_id": 5, + "gender": "F" + }, + { + "id": "d8816aee-4230-4392-a045-0a9c297451f7", + "full_name": "Lancelot Tanzer", + "job_title": "Senior Developer", + "country": "US", + "is_online": true, + "rating": 5, + "target": 80, + "budget": 13246, + "phone": "(502) 3949900", + "address": "4287 Corben Plaza", + "img_id": 8, + "gender": "M" + }, + { + "id": "9f5af32c-fb0d-4449-a658-f2c7f182b63a", + "full_name": "Bink Byk", + "job_title": "Software Engineer I", + "country": "FR", + "is_online": false, + "rating": 3, + "target": 17, + "budget": 56472, + "phone": "(475) 9070061", + "address": "075 Eggendart Avenue", + "img_id": 9, + "gender": "M" + }, + { + "id": "dbd7f48a-6540-4560-bb7c-cd60456b55b8", + "full_name": "Rhys Pheazey", + "job_title": "Speech Pathologist", + "country": "BR", + "is_online": false, + "rating": 5, + "target": 98, + "budget": 62483, + "phone": "(365) 8904529", + "address": "987 Carioca Lane", + "img_id": 9, + "gender": "M" + }, + { + "id": "844189fe-d36e-4e06-9761-932259701fc8", + "full_name": "Lyndell Howieson", + "job_title": "Speech Pathologist", + "country": "DE", + "is_online": true, + "rating": 2, + "target": 82, + "budget": 16694, + "phone": "(461) 3130038", + "address": "9 Pennsylvania Crossing", + "img_id": 8, + "gender": "F" + }, + { + "id": "5544d9d5-40ea-4e5a-8fb8-f5016b313b8f", + "full_name": "Cassey Fitchell", + "job_title": "Software Engineer III", + "country": "FR", + "is_online": true, + "rating": 2, + "target": 10, + "budget": 91253, + "phone": "(985) 5060547", + "address": "652 Merry Place", + "img_id": 9, + "gender": "F" + }, + { + "id": "1c669764-3cff-424a-b7e4-e7711d6c7d6c", + "full_name": "Coralyn Steljes", + "job_title": "Accounting Assistant III", + "country": "FR", + "is_online": false, + "rating": 2, + "target": 81, + "budget": -9871, + "phone": "(760) 5696853", + "address": "4 Norway Maple Pass", + "img_id": 9, + "gender": "F" + }, + { + "id": "4cc649dc-7f85-40ab-bc59-950f37268a65", + "full_name": "Bruis Creavin", + "job_title": "Nuclear Power Engineer", + "country": "BR", + "is_online": false, + "rating": 1, + "target": 59, + "budget": -5798, + "phone": "(570) 8801169", + "address": "71 Carioca Park", + "img_id": 6, + "gender": "M" + }, + { + "id": "8c9505f1-e8f8-4ba6-8c9a-5a1d089c6f09", + "full_name": "Adrianne Peery", + "job_title": "Chief Design Engineer", + "country": "FR", + "is_online": false, + "rating": 2, + "target": 2, + "budget": 56575, + "phone": "(793) 1143493", + "address": "3 2nd Drive", + "img_id": 7, + "gender": "F" + }, + { + "id": "ced0905e-44ac-4317-a203-76994e53a751", + "full_name": "Port Gerauld", + "job_title": "Senior Cost Accountant", + "country": "FR", + "is_online": true, + "rating": 2, + "target": 27, + "budget": 97919, + "phone": "(155) 5488067", + "address": "9 High Crossing Center", + "img_id": 5, + "gender": "M" + }, + { + "id": "f0bcc7cd-999e-4611-a04f-7bdc16bc6160", + "full_name": "Boy Antoszewski", + "job_title": "VP Accounting", + "country": "GB", + "is_online": true, + "rating": 2, + "target": 11, + "budget": 74779, + "phone": "(715) 9192627", + "address": "3773 Hazelcrest Road", + "img_id": 6, + "gender": "M" + }, + { + "id": "322540e3-b72e-4b7d-ae4a-d927911340b7", + "full_name": "Gib Yakebowitch", + "job_title": "Marketing Assistant", + "country": "BR", + "is_online": false, + "rating": 5, + "target": 57, + "budget": 89028, + "phone": "(923) 6953600", + "address": "7 Mariners Cove Point", + "img_id": 8, + "gender": "M" + }, + { + "id": "b1ed798d-6177-4a27-9571-2e02be932214", + "full_name": "Minerva Gilders", + "job_title": "Administrative Officer", + "country": "BR", + "is_online": false, + "rating": 3, + "target": 54, + "budget": 32267, + "phone": "(773) 8863232", + "address": "82 Annamark Way", + "img_id": 4, + "gender": "F" + }, + { + "id": "d26bcf84-a8b4-471c-a582-2de64d7e7715", + "full_name": "Wait Peperell", + "job_title": "Web Designer III", + "country": "US", + "is_online": true, + "rating": 4, + "target": 94, + "budget": 72251, + "phone": "(419) 5806752", + "address": "0355 Petterle Avenue", + "img_id": 8, + "gender": "M" + }, + { + "id": "da813d45-bd3b-4bfa-abdd-e12050a5da14", + "full_name": "Ailsun Esmead", + "job_title": "Software Test Engineer III", + "country": "FR", + "is_online": true, + "rating": 1, + "target": 12, + "budget": 69596, + "phone": "(852) 7039628", + "address": "0 Lunder Crossing", + "img_id": 8, + "gender": "F" + }, + { + "id": "944d8752-ef63-47bc-8db0-f40808d50b15", + "full_name": "Vallie Van der Velde", + "job_title": "Nurse", + "country": "GB", + "is_online": true, + "rating": 3, + "target": 89, + "budget": 19530, + "phone": "(331) 7690832", + "address": "2 Almo Lane", + "img_id": 4, + "gender": "F" + }, + { + "id": "3d2f991c-58ef-436d-912e-49496fd2065c", + "full_name": "Dov Amber", + "job_title": "Sales Representative", + "country": "FR", + "is_online": false, + "rating": 4, + "target": 55, + "budget": 61106, + "phone": "(793) 4768356", + "address": "4 Rockefeller Street", + "img_id": 3, + "gender": "M" + }, + { + "id": "29b406e9-ca20-45cb-8630-6df3a632276a", + "full_name": "Tedie Alu", + "job_title": "Business Systems Analyst", + "country": "FR", + "is_online": false, + "rating": 1, + "target": 76, + "budget": 3114, + "phone": "(602) 5831373", + "address": "28 Claremont Plaza", + "img_id": 5, + "gender": "M" + }, + { + "id": "767de27a-421c-4147-a552-26ac56390339", + "full_name": "Tally Rizzi", + "job_title": "Civil Engineer", + "country": "US", + "is_online": false, + "rating": 1, + "target": 5, + "budget": 78575, + "phone": "(302) 6856300", + "address": "1 Roth Park", + "img_id": 10, + "gender": "M" + }, + { + "id": "2b6e6902-11b5-4ca7-8a59-c32b3f57533b", + "full_name": "Ilise Lewnden", + "job_title": "Database Administrator I", + "country": "BR", + "is_online": false, + "rating": 4, + "target": 33, + "budget": -1059, + "phone": "(659) 8660881", + "address": "19 Stuart Alley", + "img_id": 2, + "gender": "F" + }, + { + "id": "c891e87f-b19b-4cb5-8902-b19c59e37494", + "full_name": "Farr Penwright", + "job_title": "Senior Editor", + "country": "US", + "is_online": true, + "rating": 3, + "target": 82, + "budget": 30505, + "phone": "(505) 3900066", + "address": "9200 Karstens Crossing", + "img_id": 6, + "gender": "M" + }, + { + "id": "65821428-adc7-4743-9dd8-cf62400e62f2", + "full_name": "Chantal Bidgod", + "job_title": "VP Sales", + "country": "BR", + "is_online": false, + "rating": 3, + "target": 62, + "budget": 25742, + "phone": "(746) 3962702", + "address": "8807 Kinsman Drive", + "img_id": 2, + "gender": "F" + }, + { + "id": "f42907e0-d92c-4fb0-b886-2e84331ffe28", + "full_name": "Johanna Bergin", + "job_title": "Electrical Engineer", + "country": "BR", + "is_online": false, + "rating": 2, + "target": 54, + "budget": 25864, + "phone": "(720) 6442547", + "address": "93166 Spohn Court", + "img_id": 3, + "gender": "F" + }, + { + "id": "4531be30-eec7-477f-bdc5-88acb8d902af", + "full_name": "Padriac Syphas", + "job_title": "Marketing Assistant", + "country": "BR", + "is_online": true, + "rating": 1, + "target": 50, + "budget": 20879, + "phone": "(606) 9062546", + "address": "50465 Buena Vista Plaza", + "img_id": 5, + "gender": "M" + }, + { + "id": "4f0ab8f6-7a36-4a5c-a513-d5495223a9cd", + "full_name": "Garey De Maria", + "job_title": "Operator", + "country": "US", + "is_online": true, + "rating": 2, + "target": 54, + "budget": 94251, + "phone": "(972) 1133958", + "address": "24 Maple Wood Terrace", + "img_id": 9, + "gender": "M" + }, + { + "id": "13556e73-d43a-485d-8603-cbf1769bd0ac", + "full_name": "Glenn Thorwarth", + "job_title": "Developer IV", + "country": "BR", + "is_online": false, + "rating": 5, + "target": 39, + "budget": 33511, + "phone": "(394) 3115946", + "address": "8 Dryden Park", + "img_id": 1, + "gender": "M" + }, + { + "id": "c8389213-a2cd-4bb8-ba99-9c29e9b70881", + "full_name": "Bron Crosson", + "job_title": "GIS Technical Architect", + "country": "FR", + "is_online": true, + "rating": 2, + "target": 80, + "budget": 62081, + "phone": "(686) 7934926", + "address": "974 Mayfield Place", + "img_id": 9, + "gender": "M" + }, + { + "id": "cd233a4e-0315-496d-8f5f-4c8787b0f1ba", + "full_name": "Garey Malecky", + "job_title": "Account Executive", + "country": "BR", + "is_online": false, + "rating": 5, + "target": 51, + "budget": 76354, + "phone": "(304) 6324519", + "address": "3 Paget Court", + "img_id": 9, + "gender": "M" + }, + { + "id": "339838eb-99dc-4fc0-8e18-060dbcf6bf78", + "full_name": "Elisabet Kimblin", + "job_title": "Automation Specialist I", + "country": "US", + "is_online": true, + "rating": 3, + "target": 35, + "budget": 26755, + "phone": "(904) 3334563", + "address": "75 Buell Court", + "img_id": 1, + "gender": "F" + }, + { + "id": "90a03a5a-1f16-4721-8c56-af4bb89a1f57", + "full_name": "Berk Uttley", + "job_title": "Health Coach IV", + "country": "FR", + "is_online": false, + "rating": 4, + "target": 58, + "budget": 82064, + "phone": "(200) 2124940", + "address": "4 Mockingbird Trail", + "img_id": 8, + "gender": "M" + }, + { + "id": "ce5ba778-43eb-4658-a6bd-56f04e6f125f", + "full_name": "Kenny Clackers", + "job_title": "Assistant Manager", + "country": "FR", + "is_online": true, + "rating": 4, + "target": 37, + "budget": 47477, + "phone": "(926) 3235464", + "address": "53315 Bashford Lane", + "img_id": 2, + "gender": "M" + }, + { + "id": "df3dffe4-6fb4-4a9c-8512-71f7cb508180", + "full_name": "Rickard Pingston", + "job_title": "Environmental Specialist", + "country": "BR", + "is_online": true, + "rating": 5, + "target": 72, + "budget": 94173, + "phone": "(902) 4658383", + "address": "8 Mesta Court", + "img_id": 2, + "gender": "M" + }, + { + "id": "2757a92d-5eed-4215-818f-fdf15b6b27d0", + "full_name": "Hobard Clabburn", + "job_title": "Systems Administrator I", + "country": "BR", + "is_online": true, + "rating": 2, + "target": 37, + "budget": 66166, + "phone": "(711) 6587550", + "address": "29796 Mcbride Court", + "img_id": 2, + "gender": "M" + }, + { + "id": "71ebd82a-f9f2-48ea-ada4-ce8db424df64", + "full_name": "Uri Champken", + "job_title": "Software Test Engineer IV", + "country": "BR", + "is_online": false, + "rating": 1, + "target": 39, + "budget": 65176, + "phone": "(514) 1953919", + "address": "78 Rowland Alley", + "img_id": 6, + "gender": "M" + }, + { + "id": "b7a77c35-1f9f-45c5-ba44-7622d279b377", + "full_name": "Obidiah Fold", + "job_title": "Budget/Accounting Analyst I", + "country": "FR", + "is_online": false, + "rating": 5, + "target": 66, + "budget": 74529, + "phone": "(747) 8711780", + "address": "58 Lakeland Court", + "img_id": 9, + "gender": "M" + }, + { + "id": "9c0fbca6-b793-4fdc-8dcf-5136cb5d049c", + "full_name": "Angelia Marconi", + "job_title": "Associate Professor", + "country": "FR", + "is_online": false, + "rating": 4, + "target": 91, + "budget": 38996, + "phone": "(530) 7506861", + "address": "7 Ohio Parkway", + "img_id": 2, + "gender": "F" + }, + { + "id": "9083010c-4f59-49e7-96c6-894cbf24ed75", + "full_name": "Ronda Lock", + "job_title": "Quality Engineer", + "country": "US", + "is_online": false, + "rating": 5, + "target": 36, + "budget": 69903, + "phone": "(916) 6819628", + "address": "802 American Ash Street", + "img_id": 6, + "gender": "F" + }, + { + "id": "4225013e-fd75-46f6-b678-b25675e131bc", + "full_name": "Rachele Fantham", + "job_title": "Business Systems Analyst", + "country": "FR", + "is_online": true, + "rating": 2, + "target": 100, + "budget": 79333, + "phone": "(652) 3112938", + "address": "62 Grim Center", + "img_id": 4, + "gender": "F" + }, + { + "id": "b75a42e9-db84-479c-96b0-d88109abfebb", + "full_name": "Emanuel Deery", + "job_title": "Electrical Engineer", + "country": "BR", + "is_online": false, + "rating": 3, + "target": 93, + "budget": 77477, + "phone": "(860) 8318923", + "address": "850 Mifflin Junction", + "img_id": 8, + "gender": "M" + }, + { + "id": "b2e28f42-7a35-4e23-b2e4-40fe3ed909ca", + "full_name": "Clay Ellins", + "job_title": "Design Engineer", + "country": "US", + "is_online": true, + "rating": 4, + "target": 98, + "budget": 4120, + "phone": "(682) 4688237", + "address": "458 Scoville Lane", + "img_id": 5, + "gender": "M" + }, + { + "id": "4239103e-80bc-4f09-8655-c2165b063027", + "full_name": "Bettina Menlove", + "job_title": "Senior Financial Analyst", + "country": "FR", + "is_online": false, + "rating": 5, + "target": 78, + "budget": 80574, + "phone": "(293) 8801412", + "address": "29 Onsgard Junction", + "img_id": 8, + "gender": "F" + }, + { + "id": "8442ff74-6f05-43f7-90de-b948a5c2c895", + "full_name": "Claiborne Willoughey", + "job_title": "Food Chemist", + "country": "US", + "is_online": true, + "rating": 5, + "target": 44, + "budget": 44673, + "phone": "(707) 3380798", + "address": "39114 Killdeer Terrace", + "img_id": 6, + "gender": "M" + }, + { + "id": "1701041a-2ede-4c1d-a51b-8fe4b3ec1c35", + "full_name": "Desmond Gritskov", + "job_title": "Pharmacist", + "country": "BR", + "is_online": false, + "rating": 4, + "target": 66, + "budget": 45319, + "phone": "(412) 1336481", + "address": "6912 Farwell Street", + "img_id": 6, + "gender": "M" + }, + { + "id": "609fd74e-e6c3-41ae-a227-d3d9caba0582", + "full_name": "Codee Maybery", + "job_title": "Clinical Specialist", + "country": "US", + "is_online": true, + "rating": 2, + "target": 26, + "budget": 43462, + "phone": "(682) 7969803", + "address": "4 Tennessee Plaza", + "img_id": 3, + "gender": "F" + }, + { + "id": "f535ef7f-c79d-4936-af40-d062d2b2d5c0", + "full_name": "Denys Beynke", + "job_title": "Occupational Therapist", + "country": "BR", + "is_online": true, + "rating": 4, + "target": 60, + "budget": 32402, + "phone": "(110) 4341370", + "address": "99 Trailsway Park", + "img_id": 4, + "gender": "M" + }, + { + "id": "ae126e65-b6ab-4388-ba5c-f6f5d54fc435", + "full_name": "Guthry Limpricht", + "job_title": "Geologist II", + "country": "DE", + "is_online": true, + "rating": 3, + "target": 65, + "budget": 68462, + "phone": "(100) 8946768", + "address": "3117 Commercial Crossing", + "img_id": 2, + "gender": "M" + }, + { + "id": "9b1efdfc-4cce-4350-9516-028884fb1725", + "full_name": "Cammie Knoble", + "job_title": "Community Outreach Specialist", + "country": "GB", + "is_online": false, + "rating": 2, + "target": 1, + "budget": 70198, + "phone": "(352) 1663192", + "address": "55 Longview Place", + "img_id": 4, + "gender": "F" + }, + { + "id": "a44c41e2-3adc-4d52-acb3-06f90e0214c9", + "full_name": "Kiri Espinal", + "job_title": "Accounting Assistant I", + "country": "FR", + "is_online": false, + "rating": 3, + "target": 47, + "budget": 3712, + "phone": "(946) 6686147", + "address": "90480 Chinook Drive", + "img_id": 4, + "gender": "F" + }, + { + "id": "9d6d3063-7be8-49fe-be31-64d0d5949f02", + "full_name": "Joy Tiddy", + "job_title": "Engineer III", + "country": "FR", + "is_online": true, + "rating": 5, + "target": 80, + "budget": 61355, + "phone": "(849) 1097790", + "address": "76 Summerview Hill", + "img_id": 9, + "gender": "F" + }, + { + "id": "44def3bb-7c65-45d3-aef6-bf8b49f934b3", + "full_name": "Arlene Karlsson", + "job_title": "Civil Engineer", + "country": "BR", + "is_online": true, + "rating": 4, + "target": 98, + "budget": 14267, + "phone": "(699) 4713080", + "address": "90 Dorton Point", + "img_id": 5, + "gender": "F" + }, + { + "id": "7b991e13-bef7-4f19-bd18-d5aa9d263cba", + "full_name": "Melony Millwater", + "job_title": "Chief Design Engineer", + "country": "US", + "is_online": true, + "rating": 2, + "target": 27, + "budget": 67126, + "phone": "(352) 5197697", + "address": "65242 Derek Place", + "img_id": 1, + "gender": "F" + }, + { + "id": "ab6704b8-20ed-4881-ab28-96e3d55f7792", + "full_name": "Mab Ballham", + "job_title": "Programmer Analyst II", + "country": "FR", + "is_online": false, + "rating": 1, + "target": 34, + "budget": 65648, + "phone": "(699) 9285470", + "address": "2579 Messerschmidt Crossing", + "img_id": 8, + "gender": "F" + }, + { + "id": "03f0f5a0-8b7c-486e-ae4b-c9e5858bbde8", + "full_name": "Nixie MacAskie", + "job_title": "Structural Analysis Engineer", + "country": "BR", + "is_online": true, + "rating": 2, + "target": 13, + "budget": -5312, + "phone": "(434) 6153212", + "address": "59672 Village Court", + "img_id": 4, + "gender": "F" + }, + { + "id": "6b63462d-b181-4055-813d-983002ea57b8", + "full_name": "Gianni Crafts", + "job_title": "Tax Accountant", + "country": "FR", + "is_online": false, + "rating": 3, + "target": 54, + "budget": 85744, + "phone": "(428) 3135618", + "address": "53766 Buhler Parkway", + "img_id": 8, + "gender": "M" + }, + { + "id": "dcafac96-c436-4232-8d0e-eda10d029e1d", + "full_name": "Moyra Summerlie", + "job_title": "Business Systems Analyst", + "country": "FR", + "is_online": true, + "rating": 5, + "target": 3, + "budget": 19109, + "phone": "(960) 7792763", + "address": "127 Spohn Crossing", + "img_id": 6, + "gender": "F" + }, + { + "id": "a765924f-8ffb-4186-8991-6000a6ce2652", + "full_name": "Hagan Trevers", + "job_title": "Mechanical Systems Engineer", + "country": "FR", + "is_online": false, + "rating": 2, + "target": 93, + "budget": 28290, + "phone": "(749) 8913157", + "address": "516 Clove Road", + "img_id": 7, + "gender": "M" + }, + { + "id": "2c3423dd-81d0-4e41-987e-1c39956c9ba8", + "full_name": "Sela Westmacott", + "job_title": "Account Executive", + "country": "BR", + "is_online": false, + "rating": 3, + "target": 29, + "budget": 58239, + "phone": "(130) 9778509", + "address": "81 Maple Point", + "img_id": 2, + "gender": "F" + }, + { + "id": "e8bce62e-3bf4-4232-801c-bbcc8dab2e74", + "full_name": "Lilia Wiz", + "job_title": "VP Product Management", + "country": "FR", + "is_online": false, + "rating": 1, + "target": 65, + "budget": 1438, + "phone": "(418) 5940094", + "address": "905 Hauk Point", + "img_id": 1, + "gender": "F" + }, + { + "id": "5b9b9235-e0f2-4102-b5f1-d512774e7191", + "full_name": "Orlan MacAlpin", + "job_title": "Statistician I", + "country": "US", + "is_online": false, + "rating": 1, + "target": 1, + "budget": 9094, + "phone": "(512) 7106617", + "address": "6055 Truax Way", + "img_id": 2, + "gender": "M" + }, + { + "id": "1124d1b2-6ac3-4f2f-ba35-1da116844b0e", + "full_name": "Ty Nutton", + "job_title": "Speech Pathologist", + "country": "FR", + "is_online": false, + "rating": 5, + "target": 88, + "budget": 76684, + "phone": "(250) 2530424", + "address": "37247 Merry Plaza", + "img_id": 1, + "gender": "M" + }, + { + "id": "01e7f525-ab3f-48b7-941f-c6ad601ea69f", + "full_name": "Mirelle Jandl", + "job_title": "Civil Engineer", + "country": "DE", + "is_online": true, + "rating": 3, + "target": 19, + "budget": 94486, + "phone": "(871) 7917453", + "address": "31 Anderson Hill", + "img_id": 10, + "gender": "F" + }, + { + "id": "078b38d3-79a5-4df1-bd97-f83e300224a4", + "full_name": "Diann Bertram", + "job_title": "Structural Engineer", + "country": "BR", + "is_online": true, + "rating": 2, + "target": 38, + "budget": 2769, + "phone": "(716) 9445650", + "address": "958 Swallow Drive", + "img_id": 4, + "gender": "F" + }, + { + "id": "7ca6af51-11bc-44f3-b92f-7af02923d040", + "full_name": "Cindra Slobom", + "job_title": "Web Designer III", + "country": "BR", + "is_online": true, + "rating": 5, + "target": 48, + "budget": 81624, + "phone": "(409) 9223432", + "address": "82525 Northridge Junction", + "img_id": 1, + "gender": "F" + }, + { + "id": "86a585e1-b76d-43b5-982d-e74b5b4b616b", + "full_name": "Tymon Mattheissen", + "job_title": "Dental Hygienist", + "country": "FR", + "is_online": false, + "rating": 2, + "target": 51, + "budget": 42972, + "phone": "(724) 3234885", + "address": "64363 Anzinger Plaza", + "img_id": 3, + "gender": "M" + }, + { + "id": "37e366fb-9371-4df5-980c-e9678ec9cde2", + "full_name": "Fancie Heighton", + "job_title": "Paralegal", + "country": "FR", + "is_online": true, + "rating": 5, + "target": 52, + "budget": 67403, + "phone": "(738) 9982239", + "address": "4353 Hermina Junction", + "img_id": 1, + "gender": "F" + }, + { + "id": "b7df7c2a-4d40-4c03-bfb6-ab6d6930340c", + "full_name": "Kit Utteridge", + "job_title": "Office Assistant I", + "country": "FR", + "is_online": true, + "rating": 4, + "target": 93, + "budget": 36268, + "phone": "(710) 2371400", + "address": "46806 Moland Center", + "img_id": 7, + "gender": "F" + }, + { + "id": "7d740468-fad9-4687-895b-cee07aa3bc3d", + "full_name": "Lea Willey", + "job_title": "VP Quality Control", + "country": "US", + "is_online": false, + "rating": 3, + "target": 19, + "budget": 54614, + "phone": "(304) 3327700", + "address": "1 Moland Crossing", + "img_id": 6, + "gender": "F" + }, + { + "id": "88df162f-24fa-495d-a65c-b948607193b8", + "full_name": "Arri Halton", + "job_title": "Staff Accountant II", + "country": "GB", + "is_online": true, + "rating": 5, + "target": 73, + "budget": 32500, + "phone": "(743) 8449571", + "address": "3 Starling Trail", + "img_id": 3, + "gender": "M" + }, + { + "id": "cb93d087-2f15-43cd-9bc3-89716e39a724", + "full_name": "Malva Pierpoint", + "job_title": "Operator", + "country": "US", + "is_online": true, + "rating": 4, + "target": 98, + "budget": 20312, + "phone": "(423) 8195288", + "address": "57584 Algoma Plaza", + "img_id": 1, + "gender": "F" + }, + { + "id": "b76e54a1-1c46-49aa-9464-7dd9aa738b65", + "full_name": "Dalston Sabben", + "job_title": "Social Worker", + "country": "BR", + "is_online": true, + "rating": 4, + "target": 85, + "budget": 99048, + "phone": "(388) 2523908", + "address": "53578 Clove Lane", + "img_id": 4, + "gender": "M" + }, + { + "id": "608f098b-16f8-4460-bb35-9599a8a74280", + "full_name": "Delinda Margrie", + "job_title": "Financial Advisor", + "country": "US", + "is_online": false, + "rating": 1, + "target": 1, + "budget": 8398, + "phone": "(702) 6480692", + "address": "9 Dapin Plaza", + "img_id": 9, + "gender": "F" + }, + { + "id": "23b426f8-76d5-4808-84cb-c42bde8362fd", + "full_name": "Meggi Westman", + "job_title": "Librarian", + "country": "US", + "is_online": true, + "rating": 3, + "target": 64, + "budget": 63413, + "phone": "(682) 3495155", + "address": "82 Duke Terrace", + "img_id": 7, + "gender": "F" + }, + { + "id": "7ecfb74e-64d9-43ee-a028-d2e3841acba9", + "full_name": "Bret Barnsdall", + "job_title": "Registered Nurse", + "country": "BR", + "is_online": true, + "rating": 3, + "target": 52, + "budget": 55153, + "phone": "(222) 2089814", + "address": "4 Corry Park", + "img_id": 8, + "gender": "M" + }, + { + "id": "cf505561-d9e1-4d2a-93d5-4745d50595c2", + "full_name": "Matthus Shyres", + "job_title": "Marketing Manager", + "country": "FR", + "is_online": false, + "rating": 3, + "target": 68, + "budget": 33697, + "phone": "(539) 9486139", + "address": "460 Norway Maple Junction", + "img_id": 1, + "gender": "M" + } + ] \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/assets/images.js b/examples-standalone/coffee-warehouse/src/assets/images.js index 49d2f9c3..5b2915f9 100644 --- a/examples-standalone/coffee-warehouse/src/assets/images.js +++ b/examples-standalone/coffee-warehouse/src/assets/images.js @@ -1,79 +1,79 @@ -export const images = { - "10F": - "url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEA8ADwAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCEAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAG4AZAMBEQACEQEDEQH/2gAMAwEAAhEDEQA/APsugAoAOlAHP6v4ht9J+RsyTEcRpy31P90e5rCdWNPTr2NoU3PyXc831PxrqjgvAsdvEv8AESCMe7N8v5HrXA8RN/DodioxW+pkRfEu62+SzLKwOd8e3p6cH9QKft5paj9jBvQ29H+KAeYQ3sZVM48xQRjt8wPH8vXpVxxD2mtO6IlQX2Xr2Z69b3EdygliIZGGQRXoJpq62OBpxdnuTVQgoAKACgAoAKACgDlvEmsNYILe3IE8oJ3HpGg+9If5KO7enJHJWqci5Y6N/gv62OmlDm957Lp3f9bnmEk8Vr80mZZJeVQnLP8A9NJjx8vovT27V5LfV/16no26L+vJHI6taTas++dz5SHp0UeyqOM9MdT09QKhSa2L5UjnLu0ltseUoiiHqMscdyeQvp0c+r0+bvuNLsixav5aHdgh+OPXt2FVcpo9I8A+JHs2FtKT5ROAD2+nuP5V00anI7dGclWnzK63R7wrBhkdDXsHlbC0AFABQAUAFACMQoJPAHNLYPI8V1nUfNMt3LyJGyqnui5EKfQgGR/qfUV4FWfM2+7/AOG/zPahDlSS6L/hzhIZpLmVmJJdycsenH3jj+6g+VQO/wCBrkb6HRaxM92ckRgtsIVF/vOc5Y+45B9PmP8AEKd7DUeZ2NG18KvfETXhJJHCjgD2FUk/Q6LRjsW9S8MxW9uSi/d549qbvHVCspaHORSLFGt1GNpWTa49GHOf+BLn3OeapPqjncbaM+hPDOoC+tF/vJ8p+nY17dCfNG3Y8atHkl6nR11HMFABQAUAFAGRrc/kWrAcF/kH/AuP61zVpcsGu+hvSV5X7anh+vOZZfKTpEMn03Hp+gUfnXz83ZvyPagtkYojFpCWx8zfu1HsAC/1LMVT65rmTv8A10N2rfL82bfhnSGmfznHyJ092P3m/E8D/ZArohHmd+hb9xW6s9EWLbwK6bWMriyQb1KnpTa6AnY8zv8ATxamW2HAl+dfZwMj8MKV+rYrmXutxKmr2kjtfh7eFokDH7w2n6qSufxK/rXo4eVpW7nl146eh6wK9g8sKACgAoAKAOX12UFlQ9EBc/h0/WvNxErO3ZNndRjpfu7HkiJ9oZpCM7yx+oHT8wfzBrwJarzPZSszk/F+pw6EsZm3kcRqE++Xb5mI4POTuBwcFR6VpTg5y5Y9EDkormk7K/8AWhN4R8cJeOsVtJJ5OQpWdAecZwsqADdgEhWGTg+hx2uEqe6sgUo1L8ru18meyCcFfM/hxnNMjY841X4hpp12bVpLeNAdozvkf6lV2qPpuzTXM/hWnoN8q+JpPzdhup3630UV/BLFcRmRVygK43EY/iYEBsZ5BHTntyzVnfr2tY2SfLa2m6ad0dT4UjNrLsHBWRsD9f51vRfvL1OCqtPkeyKcjivoTw9haACgAoADxQB514hudiTzdziNR9f84NfP4iduaXdpI9qhH4Y9lc5e0tThd3f+QyWP/AjmvO8zu22OR1vQ49cvYkkGRGS+QSCrZ6gj0yRVUpOL93qbcicbyW2xt2Xge2syPKBVQ4kK54LgYBwABwOntkdCa9J3ktWcqah8K1O2urbFqIB6YpNWSsJbs87/AOFdwXFyl05IeFi0ZIVtuSWP3hz8xJ+bODVxk4qyCajLVrUk1bw7Bo1hIlvnAJlYnqW6luwHI6AAVx1ddTqpaK2ysdLok4eaOYHiTY34uAG/XNVSfvJ+aOCqvda9T2CE/IPoK+jjsjwnuyWqEFABQBHKdqk+1TLRMpbpHnGsxmZliHQMWP1PT+n4Zr5uvrJR6LU92jom++hTl/0eEsMAkYTPoB1/H+uelYNdO/5HbCN5KPTrY5zwztuMzuQ0uSH9AykhgPbOcUqUeVnbWiorljsdiJsNjoo5J9K7b/cec49ty7OwdVKkY4wT7/41pLbQzirXuJC4PHTFQmU0cT8R7k2Wg3kyfe8oqv1chB/6FRZNpPa42+WLtvYoeEJT9htC/wB75fyHP9a5qb10/m/UzqK3/gP6HvducopHoK+njsj556Nk9USFABQBXujtQ1lN2izSC1OIlTzHJ9Tj/H9P514EtW33f/D/ANeZ7cNFbt/SM6VBcmZ2O2O3UhfTO3JP0AI/WiEebmk+h2J+zUV1lq/S5414G1lbpSVb7/zfieT+tYNOErM72+eKaPQbnxZYaawgu96tJwP3bbWzx984Tqf71dMX5HOqUpe+mkl1d9PuTHya/Dax+dIkiW64IZkwoGMg56YI6YJp6rSzsV7OL2qQv5S/Tc3NK1e21dPNtWLL0ztYDj0JAB/AmkYTpypO0rfI8z+MWqollbaOh/fX9zFlR1EUbq7sfQZCr75PpVx0vL+VP77aHLN7R7tfcnqbemsLZII0GFQcD6Kp/rXmQlaz8zaavc7GDxHPYOHT95AfvL/d9x6D1r2YVnHbbqjyZ009Ho+jO/sdXhvUDqcZ7Zr1IzUtjz5R5TTDg9K1IH5oAztRfamPWuWs7ROiktTlXYIpbpgH9eT/ADrxmerHexVtyEds/cc9O2eh/StIe76HU9Urbo8D8T+C77wjezaxpS+bpsrmR4Ywd9vkAuwUfei3bjhRlB/DtBIucFNdmtn3Lp1OT0e67enkdZpdyniG0Q4DY5VhgkfgeCD0INcauvde6PQjP2T547PddCePwgsjjzNgTOcBAP0zitLM2eLitYw176fna5u6zr1h4MsPMkwu0YjjGN7t1wB7nknoOpq7dEeTObk3OR8xQaldeKdZOqXhy5YLGo+7GgJ2Ivtkkk9yGJoqvkhyr5nNBc0uZ/LyPop0Mctuo4Gxj+iCvKWlv66HU+pg2WpPECTyI5HjYewOR+akYrZScWmjGUU1qb1petZTrLGf3TgY54weufp29MjPHT1KMre8vmjy6sfs/cz0OC/kABDHHtXtJHkczRrJqjqMEZq7Bzl/VXwMegzXn130PSorqc27B4sHucH8QP8AGvLeqPQWjKMEyx/I3UcEe47/AI+opRlbQ691oX0m3jBHFdaaehi1bYpS6PbsTJEohkbksgC5PqQOG+p596mVNPVaMuFZx917djhtf1LUvD43sgniY4V04wT0DjqpPbqPfNYWcdGdLcWrrQ8J8Qwav4mmkvTFLMkakkqpKRoOSB6Ack/ma1jF72OSc4p2uvvF8BWomkDY6Mcfgdo/MsT9a5K/YdN2PoK4iCXSn+5CP1Lf4Vx2s16G19H6nnyZR53H3QVc/wC8DsP/AI6wz64BpatWW61E9H5PQ348vavt5EY3j8izD6MoP4n2rtpy0Ul8zhnGzcX8vI63w5eC5tlOc7cr7/Kcc+9e/QfNBeWn3Hh11yzfnZ/edOrjFdhxm1qs+Jtn049sV4teXv8AL/Wx9BSj7tzmppTCWPLRtzx1B/8A1dfwrzW7XXQ7Utn1OYu3+15EE21k5xtIcf7vT+YH4Vzv1/zN0+XoaOgXc+oO9u2FeMDBYgFh0JIGQDnqB613UFKponsYVaipK8l9x1i6fL/y1fHsg/qf8K9aNB/af3HlzxS+xH7yxJpttcJ5c6eYndWyQSD3Ax7GtlRgtbHM8VUacbpJ+QDTLaCCSC3jjhWRXU7EAzuU9cDnqetauKS0RzqTur9z5S8DRm3vXtiPmikcHt0cY/Pr+NfPV1Zn0VN6HtV3KPtUuP8AlnHGD+KMQPzYfnXny0k/Jf5nXH4V6nB3CPYxXM7ghJ5NgyORtb5mGf4Sqpj1Ymrjpr1t/wAH/gES10NLTJgmnTSHqkZXH6A/TBz9DWtPSTS23RjU1Svvsx3h27NpKEU5SQjI9G9fxHB/Cvbpfu7W2e/r3+Z4lX3733W3p2+R6lGg2jOa9NI81mxqmyWTeDgjjIPpXgYlLm54vyPo8O3blaOZud4JSJgGI4HQ/iCRke45A7V5jutvuO9W6nnfiGeaBGRZFeQKxPlkdQD3AJ4+uc1i7qSWm+pqrNM4CPxPc6IsF95jGTcNuTndnjbk9R1z+HqM+hRvGd49N/Q46qTjZ9dj6t0PUotcsYr6PpKgYj0OPmH4c19HF3R87JW0NErg/T/9R/xrQyIvY/5PINIaPma9ih8M+IpvN63Eg2j1DYOcdgOQScAAHGTwPBxCd2ux9BRd4o6S5uS9w+0/NcPGf+AJGCT/AN9BR+OK8aTv9y/M9KKsrdrnLa/rv2eL7MAJI5NzyKMD5Qw5GcY5GST7dFINbQi5aJ2tt6mcmoa2v/kS6LeQvbSJbsx3QlVVtpyQOMMpKk4AHPPFUnyTTl3JlHmg1HsL4Scz3xibKrF+8O7jAXOePQH9MCvdp++1FbJ3/wCAeFV/dpye9rf8E9sglMiBumfpXrHkl/V7XzsvC6r6A8YP14PP1+mK8uphoz1joz1qeJcNHqjznUdSvrJRDJCJATj75PqeCQTg446/WvHqUXT0f3PoerTqqeqXzR5reassE2JYzCpJDbRn5Txzk59yQen8NcnLzX5Xqdt7JXKF54U+12qqkkbxRj92c7TjOR1AwQfQkEd+K1jW5HfZ9TOVO6t06HtnwfWWzsXsZGVljclQCDgHr0JOPrj0FfQYeoqkbo8KvDklY9Zddp/z9P5EflXeec9CH/P9D+uKAR4Z8X9AaVI9StULTg+X8oyTv47c5A6emSa8zER05j1cPL7JzGmWjWVub3WpQhKAeWpy+0D7uQeCx5O32GRivnbXdoHu3stTjGnXXWTUFVYljmeOOIfwx7CVDeu/q3bkiuvk9n7nez+dzHm5lzdr/cXdLs1jfMHCtllH931XPohyAf7uCetZSu5cu729ew1pHm2W/p3Ox8P6ZvuZL6NtoBKn0cOSCPwHOeemK+jpU2mpdIqz83Y+arVE4yj3ldeSueqwzKiAdK7zz9juZo1x0xWUtE32OpLVJaHN6jaLtOABjnpzXDUoqpHV69Oy+R1wrezdktOvd/M8S8UeGm1mb7PC6wykZ3EHafxHIP4H6142kJXttv8A8A9mL5o26Pb59zNj0TUvDdruup0ZEBB8rduPpncFX6nbn61ElGT0VjRNxVjrPhPe+deSb9wkIORwVK5wCW4OeOm3HvXqYSyul0POxN9Gz3+QYP8An6f1/SvXR47K+D/n34/mAaZOxmaxaLfWskT91JHJGCB69R+FY1IqUWn2OinJxkmj5W1q981p4VA/dkwrkcbmB3N1JweBnlsZJycV844cjt89D6KMuZX+R5nYahcwq9mCFLy7gRnA7Y7HGOK62lpUXRHOm9aZ9A+GdH+zWQaRg7Fcnju3zdT25AxXVhqKb9u93dJdv+CediqzX7haJbvubllJ9mt5WUdHX9TivWWh47ZtW0h8sE8k81Qj/9k=')", - - "10M": - "url('data:image/jpeg;base64,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')", - - "1F": - "url('data:image/jpeg;base64,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')", - - "1M": - "url('data:image/jpeg;base64,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')", - - "2F": - "url('data:image/jpeg;base64,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')", - - "2M": - "url('data:image/jpeg;base64,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')", - - "3F": - "url('data:image/jpeg;base64,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')", - - "3M": - "url('data:image/jpeg;base64,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')", - - "4F": - "url('data:image/jpeg;base64,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')", - - "4M": - "url('data:image/jpeg;base64,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')", - - "5F": - "url('data:image/jpeg;base64,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')", - - "5M": - "url('data:image/jpeg;base64,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')", - - "6F": - "url('data:image/jpeg;base64,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')", - - "6M": - "url('data:image/jpeg;base64,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')", - - "7F": - "url('data:image/jpeg;base64,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')", - - "7M": - "url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEASABIAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCEAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAG4AZAMBEQACEQEDEQH/2gAMAwEAAhEDEQA/APsugAoAKAAnFAHA+M/H9j4Ot2lmO+UFVCAjgsR8xGQxVQwZtgJxgHBYVlOagrmsKbm7bHgT/tKXNkzvNZLcQk/u9u63cDnlwWuB83BUKeO571iqrbskjd0oxW7+4ntP2pLV5AJtPkCYy4SQFxzjIyACMEcHb9avnkuiM+SO12vke7+FPiPo3i+NHsLiPe4/1LMFlU+jI2D+IyD2JHNWpp6bPsyHTcdVqu6O9BrUyCgAoAKACgAoAKADpQB4N8RPi5Bpcdxpuhs02oxAKZVUGGJurqHOQ0irknAKp3O4EDirVlTVk9e/b/gnbRoOo7taLofIN5r8l9LJeXU5nm8pkCOSdpyBvYvgsdzFsKMBcgnaDXDZytdO17t3/qx3XULpNXtZJLRf15HHzreyIWffIxKhco20buSFBGMnIG1cnkgdMHrXKttF6nK+b5+glwWuYDmBIrqArvaFdg8o/wDPVR8u5XwAwAYlirbjtwLR6SvDW19dfJktWT0tLrbsS2WrS2iECRkI5BP3kPQ56cHsRwPQE5qZQu9F/Xl5mkZ2W9v66/5n018HviTPp8iWuq3LtbSfKDK25Rj7pUklkbPGc7JBgHDbTShNwlq/d2a/r+u5U6cZx0Xvbpn2Hb3Ed0gkhYOh6EdD2r0k76o8tpx0ZNTEFABQAUAFAHJeN7w2Wj3Do5iZ1ESsASQZiIsqq/MzAOWULySBis56Rf8AW+hpBXkv621PiNPEMcLG1EJeOeGZUfaFcyMhZ3bknKhs5zkHcxDEkn52Ueb3r6prfor2PoIvlslomvv0v+J58kbLqUaJCGnVJN4UAhT5bqDgEKGQfvXO48g8jbiu3T2b10ureeq/4ZHJtNaapP5b/wDDs2IY7u13LAwLTLGiy4wqSb+ig/e+Vdq7d3OXkwxyMnyuzeye3dW/z/yRslKOi3a37Nv/AC/zZhzWC2THzUZ43Y75FfcXDPlWB6OucA/N2VgR/Ftz83w2TWy2tbf0MnDl+JXvu999vUtSaQs6I0ELCIGRjk7XkHG4L97lccDcRnCgtnNQqjTalLXp2Vtv6sU6asnFO3Xzv/XcswhbQOixtI8W1Qp6r+9Vwz4yA/8ACSuAcksB/EXb7JP/AC6eXUajy7XbX+fl1Pun4ZeIJ9Z02PfCIjAqxvhht4yBt2gqSuMON2QRkgHAPoUJNxt20v3PPrxUZX2vrbsepV1nEFABQAUAFAHjPxk+0/YYvszPHtEjAqwUbwYypYck7QHx8o5YKGDMFbmrbLe1+h1UbJva/mfDtrqM9nepMzn7TDnO9MR42mNsqx+825dxwCTweckcMoLlemjfzvudkZO611X3WNuxvlurthgKk7O8rYPO45RA/PysWbkBWYZU7QrE88ouKv2skr/e7fI6YO75dr6t/l99z3nwJ4EstehW/u4gsCD5du9NzlQp2tkHYACeDjc/GAOeZczu3sjrk400opXk/wAF6fkb2ofCbSBg2ivEACuxiZEAOOgY5B4ABLEY5xu5Fq72umXG2l0tOhTg8BpEnkyNvUv5jYUAkjBAGc7BkBmC4DNk4Gc1Lg9+v3HVePZWMLxJ4bt9FtXureBSYWM5BzyQGOGIBOzJyQBnGTmiClzJPZ6GVRRUG47pHr3wgJGlASkfaHJlkQZCp5zuQoUn5RhR0AGScknge9RslZdD5ite93/X9XPYAMV0nILQAUAFABQBxXjeGzktN96yxIgcF237QrjaVbyyJMMdv+rZWBUHOAQYla2ppC99D8+7jS5o7iSQLuRy5CckEDlgS5VvlL54JK4DjjmvKnJR92+3U9enSc/fSdtbf8G5bsLOW1u4oBBkSsFKDcGwcZZSc8suRgAjJBC1zSkpRbvsdcIOE1G3XX/M+2bIp4e0aIoN6lN6hiRy53bemflztycYxzgdIj7kF1vqr+Y5L2taS2tpp2X9XOEtvG2sXbSPHawrbQXBgcuWEpZfvbEJQsB6gEcda3lGdOPM7en9M1pqnVk4x5lyrfVL8jsNbuLmxtBcIFLyKNgGcZYcZ4J/SkpSaV9L/qVDlk3GN/dv+B5PoranqqvLq4lkaSKcrbA7AkgDCNGIQKyy9OCxA6jkE7OMYSWt/v36GTc3CTceTybT06+nzPZvhdos2lWBa7LNcOxD7lVSuOcDYzKQSc5GBnsOc91GNk2+rPCryu1FbJHqR4rqOMBQAUAFABQByvjDTbjU9OkhswjSnjEm4qVPDAqD83HQEH1A3YNZVE3H3dzWm1GXvbHx34S0h9QurvRbpRFdBWNrLhgFkRgkkLZ3uGKxqACM7FbbzjPh1IX12a0a/E+owtZU/clrF6pq3ZrS/wAn8j1Sy8Fpm3a8RoLiCZIZtkhYNsXKPG4YNsYAfeCkNlcAAZ4XFr3X3s/mdU6iT5oWaceaPT5Pzv8Ahbue6G1S3gRIQFjiUKo9AOmM8/j1r1+WyXLsvwPn4yvKXPu3r5nOvpcUkpldQST6Y/E02tLnpKfKuVMj8Txq8ISIM3lnqBxx2/8A1VlNW92HQMLe7c7K/TqZFnYZmiVV2kupI6d+aajeUejujoqyUYTf91/kevQxLCoRAFAHAHFe0lbRHx7d9WSNTEA4oAWgAoAKACgD5o+NOim1vIdSt4m/frtklCnbG8ZUq2QDtkI5TpkgnNeViYNSU1s1r6nrYWaa5HutV6f8Odp8OL+TWNEtr64ZpZmDROztuYmGR4wxbuzABmPqTXnpPmu3fp6dV+Z1VJaci0tr/melAfLiu9bHn7MyLqNsEDgHg/jWLctkehTkt3ucZrOox2yCDzgrLgMd4YqACF4LfLjuQMk9cmsrtaLc9alSc7zUNHtpbfV9Nb/caXhZ3u50diHAG4MDkH3z3zW2HTdSz1tqefjGoU3FK3S2x6jXtnzIEUAFABQAUAFABQBUlNtdbraQxycfNG21uP8AaQ54+opuLtdp8r6taMSkr2i9V0T1RzFjo9j4e3WGngRIxafygchfMY8qP4ULK2AOBg149eKhK0dLq/zR6VOTmry6O1yxDqCsxjPysvVT1Hv7j3rjjVt7r0OmVFr3lt0Y2/hFzGBgMvcEZH4itZXkk47FUX7Nu+jPPNY0fzJQ6xqqr1woGR/QfSsffW2x9DSxDjFxc/xudx4MttsLykbRu2qPQAD/ABr0sJG0XN9WfNY+d5KF76XfzO3zXpHjhQAUAFABQAUAHSgDxnW7r7Y0rlobq2csrwzKRgZ2/I2ThcHqpORyVwTX1tKklGNNxcXZaqzTutpLZ+jXkmfIzqyc5TT5lzPTVNa6OPX5xfm0ePSaHeeD74eIfC0/nW5+S4sHk35XO5o0YnJIOWj7kfc6bK8XG5Y6qboq1SOqj0a7xvt5xez2ex7+DzCNO0a9/Zy0cuqfaXn2ktGt+p6RYeNtM8TBXgkENwBkxsQJY26MCpwevBBHPQivg6lNxk41IuMk7NPSzPvqSTgnTkpRavp1XTQ1H129tDiIo31yAePx/Ks4udN+69CnRhNar/gHP3Gq6pfSgymOOMEA7Cc4J9yB+Ndaleyd238h+z5E7WSSue+6dBFb28aW5DR7QVYEHcGGd2Rwd2c5HBzxxXvxioJKOx8jOTnJyluXQMVZmLQAUAFABQBHLKluhkkO1VGST2H+e3U1STk1GKu3siW1Fc0nZLqeXeIvHbAva6crghSWkKkYGM9Bynbn73PABFe/hsCtKldrfSP9b+mx49bEt3hRTStrLr8l09TwfV/F0+mO17esv2YBUk8pQsqhiBG/VkuI+0gcrMjHcGwcD2asfqyU4tOn1vf3Xe2i3S12WltUnsefCKrLka9/o+/XV9/X0ui4L9NRhNxC4lhuB/rBg45yolTJI6ZU5yOqOcFKuLvZ09HulfTXrF/n07pblJci5Z6rZvr8/wCvQxLiDTbOQyanFFLCVO8n/WqwG4tE64kZCg3YUnHGB0LebjsFHGR9o/cqRV1NR0dukl1tt37aXR62Dxbwr5F71NuzjfVX6xfS/bbvrqd3YeH7fUrVbnRtRuoo2QBUZlnWM4yA0cq71YZ5DMCRyc8GvzyrSdGXLUj1dmrpS9H2/LZn3FKv7Rc1KXRK2l4+q7/n0MPxBo+sW0blr+IWuwliluVnKgfMobzSilgDhtny5+6cVzw5U4p3u3a99NXva3T1OqcpyUnGyile1rvRbXv19ND0v4efEqynhg0q5eOEQxRwxFiFZdgCKkg6AAAL5nADDa3JBP21XCRUVPDO6sna99Lbrr6r7j4ONaXM411Z3etra32fRHuCOrqGQhlPIIOQR7EV5O2h2DqACgAoAOlAHC6/cvqLfZUyLclVZlOA2cFs4IOAGXGMdG57V7mGpqkvaP47NpdVva3no/wPAxVX2jVOPwXSv0b0vfy1X4nkeuWAt1e48sxTIwDOwlztdcDDo4wFZdvPQMAeMV9DSs2op3i1dap6p32a6p3+R5ilJptr3k7aaaWtt5NW+ZzZswWkiQI8bR+YocK/ylVYYbaCCFJByDnB5UgMOl2aXOuvK7d7taq+qv8An20LV1rF20vr95g6TpzWsskI22yuhOFA2DuSq+mcMyYPBLIWOatxjBK0dE9Lbf8AAb/P1KUnJ6vXrff/AIK/Qzru22grOAyxDdG5ywVGJ3CQjlkRmLLIckKcSEFQz1rTXL0e0uqaWifk0rX+/uCak7rTuv1Xn5fcZ/gXVG0jU40ifat2THLHJkEYX5QuCAcEjZkNxwpw3Hg5jhqc8NVcVZxjzxVldSWrt5PZ+R7uBqzhiKavpJ8rd9Gnor+j1R1nxX1s6bo7kHbJdOtunqN3Ln8EU/iRX5tQgp1FfZa/18z7nEz9lSaW8tF8/wDgXPLLq0lspLe3iGFjngaQhcSM6uB5jsP9YjFm2gk7CAowQd/6XSw/sqdNRX8jfd3advRX2+fc/PZ1eecm3/Nb8Vf10PYPDPivUfCzMlmcwj5mhbc8eB1YIWLL6lomXH8SkV1YjBQq6y+TVk/S+33r5mFOvKG33Pb+vQ+nfC/iSDxNaC6h+VhxImc7W9QcDcjdUbAyOCAwYD5CvQlhpcktnqn3X6NdV0Pap1FUV1v1XY6OuU2CgDM1SZootseA7kKM/UZ/nj8a6qEVKV5bLU48RNwhaNlJ6L9TlZIt8ZjX+IblA4+YZyv4/MP++a9dS5ZKT6Oz9Hs/lo/vPn3Hmi4Lqrr/ABLdfPVfcYEl1Ig80YkQfJKjcg8cE+zqMH0cZ6kV6KpxfufC/ig1uu6/7dev+F2OLnlH31rbSS7+f/by08pK5g3enQSsUhURtIoMEoA2nghVb0VgWicHhW57V0xlJK8teV2nHr0ba81pKPVrQpPklyp6SV4v12/+RfZnGXVmsrJaOGjMaElz1jIUs+OBkBw5567gvHBHem4pzVmm9ujTdl96a9LXNFaVraW/B9fxv95zFvdHTpDHcEbfmjVj91ZCN0WSf+WM5GxH42OXgfKgsc3Jq8JX5U079Unpr6fmr9ma2TXNHR2ene29v62+aOeOk2tzKJokfyw5IRPllQjkiM/89Iic+X918BkwXIbapCyvZab/AOf+F9Vt92rjN7Xt2f8AXXzOd+JbXup2dmtyfOjgmKidB8kqyKpjY4AAbGQwOGGQG+Ykn4bHYOnhp+3wllCaSlBbwld623Se3ZNaaNH1eHxU8RT9liG+aDbUn9pWXXq197T8md7eRJFIjkjajHDsgIUHGcjugP4gAspBJr7pQShotUkrem1uzX/APk1Jt2b0bJ51SRCsZ8i5gJ2nPykr1TcfmUg/cL9AcbnT5lzTfVXi9/8AO3Xzt62T0elraPR/1ubng/xFdaDcC6gTEb4FxDtwG5G/HdGUbmH8I+Y42g1y4nDwxNPkb95XcHfby809u+3U1p1XQldfC9GvI+s4ZVnRZYzuR1DKR0IIyD+INfAtOLcXo1oz6RO+q2JKQzhtZ1eJrho9w2W7rE5H8Eknl4zjoBvTcT0XJ7V7mHouNNStrNcyXeKv+Ls7LrofPYqrz1PZrSMFa/m7a+idr/McAcemT/3zJ3HsG7dun9009vu++Pf5f590c/mtNfun1Xo+ny7M5XVoDZubmM4hlyssbAlQzdenKZI3IegcEY7V6tCXtEqcvjjZxl1aX52Wj7p3OOpHlbqRXuyupLs3+V912loczKJ1XyCFdT89vIjZVt3BXnlQ/TnhJRjuTXemr+0V1b3Zxa1Vtn8vxizNRTXsm79YPbfdfP8ACSKEupmTbNKu50/dzKwwT/Dlh6SL8jekgycFhWigknTTsnrBrp10/wAL1X9126Fq8XzrfaS79PxWj89Tn9RsI2cQoqyRlG8styJI5CGVXzwdoDrg9CXHU4OkLP35aP4ZLou+nno79reZrJuNora90/y/rucrc2/9lQ/bLfizV0WdCSXix8qSBjyQgkHJyTEDuJ8lWZyfspJPtZ9uXv8AK2vk7+Rovfi7aO9169vnfTzLPiGwm1HS5hblSp2zGM/cEykbZBzgCQsjdMZLEY2sTy1aEJqdOy55QlGL/wDJl9zjr6LubU6soOMr+6pJtfg/wf5jbW7iv7aKY8wzrnI7B0XblfbIbHchgehrspT9pBVI7ySkl59V67ry0OaceSTh/K2v8v8AMnKkIqTgZjAjLDksmCFPo4KEhSe2MdTWkUrtx2etuz6+mu/mKT27oo6ROYfNsLkkBGCrKvJMbZ2OvTJjOGQ8HG6NuoAxcdXKHm0n36r0ez87NG91ZX/r/hvyPf8A4feNRcSLoV2AskUYEEueJAowY+f4hglSCcqMH5hz8rjsJyN4in8Ld5L+W70fo/z8j18NX5kqUtGtI+dunyPYa+fPTPBNNiabV9d08H5BdROC2Sd06ZI68qGXp/d+UV9epctLD1HvydO0f+Bt5nylaN5ziv5nf5y/4J2tncedAsjd1Ab34OD/ALy4OD3GAe+eSceWTS7try7r0d/60MovTXbZ+a6P1Vvn6XLM4+U7wHGfLkU/dcHPUe+Oe4IDDnNRHdKN1pzRfVf1f81saN8t29bPlkukv6tr52a1OA1rQkjIFs7wr/rFxyVD8EDkDqM7funGRtJOfcoVnJNzSb+F9m1r+Xz6a6HHUSg0vstKS7pP9b/fvocpqVzcWc+bgRyuN0c2MqJCmA7dON6EE8cSDcK7KUYzjaF4rRxvvG+qXyd1/h0NZaO/XZ+dt38/z1M0Xo82XTnDB7dWmjcEHC5UsueCMghuAcOODgk1drctRbT91r70n8np5r0GtYtdtV+q/rqUtQi3uMgeVdxuHTtvQgE4xjBVX9Mb8dBk2nsv5Xb5Si2l+V/S5K2fpdeqZmaLKyQNYOS32UGLd/ejG6RM99yxN5WfbPeojHlbX8srL0ai1911fu1cuTvaS05lf5pu/wB9n95R0e3+zvc2Tn5Ibpgm3gKrtHKoA4GE891UdAMDsMY0F7P2kFsptx8lOPPb/wACuaVHzckurik/WL5b/ckad1CWAiZmWNfLDbDh9rASAIxBCkYK5xnDEAjrXU1dNRbTd9V5Oz+/+tTKL6tXt+v+RasrRIojCoAe3lKlu7BmETkk5YnOx13E4O715z0i7raUb/NLmX4XT76FNtrXo/z0/wCG+ZW0/UPsGqWRjXiSbzmI+Vt1s2OCP7+4Fsg7uQccGs8RHmhKktLqS8rNL8r6djSi+V+06Ra0PsXTL9NUto7uIMqTLuAbAYD3wSPyNfnc4OnJ03unbTY+qjLmSktmf//Z')", - - "8F": - "url('data:image/jpeg;base64,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')", - - "8M": - "url('data:image/jpeg;base64,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')", - - "9F": - "url('data:image/jpeg;base64,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')", - - "9M": - "url('data:image/jpeg;base64,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')", - - BR: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAtCAIAAACRYfoNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJGNTM2NzBBMEMzNTExRTY5Q0NDQkU3NkQ1MUQ1OTFCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJGNTM2NzBCMEMzNTExRTY5Q0NDQkU3NkQ1MUQ1OTFCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkY1MzY3MDgwQzM1MTFFNjlDQ0NCRTc2RDUxRDU5MUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkY1MzY3MDkwQzM1MTFFNjlDQ0NCRTc2RDUxRDU5MUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4SeXTsAAAKC0lEQVR42uxZCWwU1xl+b469T3vXu16vjY0x5kiMEw47tATEIbUJh0pKSSg91FRNI0VpS5tDUZS0SqBqUoqCaNQEIqUlASqSNrQpacAFEihHQOXyGl9re32svXjXe83uzs71+t4YB/BVDjuBiqeRvDue433//3/ffywDts4Ft/OiwG2+7gD4PwcgU+S4LQEoEEj0Qmd0sTOKP5CvtxMAibYz0u+m+Wtm+vbP8r02vTmHlQiMcVg0WF44poan8LHcHf5zZcPS/ChUyLmqHG6lK9LJa+qTJgAggOhWBSAxBXp+8zT/b8oDDq2EpM9RgVyttNoTLjVkTsXNiawWUMotBgAzFcHvFfbsmNFwvyMBZIBUK0P1IAsRu8+wpVe7wzGZOh03E1ZQ6BYAgDBZmcnm1Ft3NT1b2mVhZGxvoAVQByBDHg8YADUAalW6ScDMyCtcfTMtydOcKZzREVg3R294U6WETNOU/ERR9wuTOnK0EjY80AOQBZ9dyP/0XNG5FmdP1Ihd4ban7p7YO7+io2pqEOgAyBAwMZF+qblwc8AjKTSg5S8cADa8TM+yx18tb12gxky/sfd8UrZxV9VhnxekWWLyfr7ii7Fb9OJXpnetW31i5YJGcr16y+GI5Rf1JZ9FrQTDDZH7hgBItIGVninpfKqkS88oZCsakEhpnnxtyR8/rCTb1YnD7Aaf51n8d+0DZ7f8bJ/VlAUCwZCVqY1tng3+wpTIAEYeZw4oxPCLnNFdMxoeLgizmKsKgCzoS+iWPbvq7zXTgUEErDx8WOOT+F+Mcu689xNfwYqvNhmMRKkYiOY5Eg86o35e25I0XrpyXABIdK5GfGVK6+apLR69iFRjQQqIiFr1yxUH/j0ZWPj//W58gVbqbHOeDuQ+vLCeoRDRKwW49eLa/N48nXAybk4L7LUL1LUBUNPTyvxenJ6+5orh6EADOo7V5tdvV279UzXQpYEoYzRAkoGMiI5CSI5hl1ZqaXIbDPy8OZ1AHNBZCGbncA/lhbsFti5xrSnvGjggMUWG9IbJgW8X9IIrtk5upkFvzPLQhmdSoslkpVmWFiRJycJkMhuLChcjHJ9Mk6jDesrSBBJ9ReUiUVYzf37rW4X5SSRe8UxCfbAz6HiusbgtZQC0NLpXRwWA0xMEj3p7XioL5OtFrOJoSDgkzY8fFB5T6IiWZliKEWQpJfHFhnwbsDW0hyIBeffhUwFfpqGpz2TSRmMcYK7AwOnWP7H/uUePodTgx2LMoQz7YlPRG51uwn5auU4ARCWpaZbUK+WtD7qiOEaRMsytCMFdZ7bU1DkzcT4c5yQJQQppdXSJO9fuYu+ZUjClzJk0RNviIalD33Q+9c67Z1tb+jCPgYYhT+DZWRUdJ7ZsJ0QYEizEFRT450X7Uw3FtThzj6CzwwGQaZaWfzIh+Hxph1UjDzX8pTuxkSKGgtXfKXJP7uMS8e6YGiGqvxWZvF/LOHOM90wtmHOfu2y2wTvREItnP/5b4MAHwebGENBjDIzZzNdv2+bJ4y4XTkNckRTo9S3eTW0FgjxMyhtMYsz+ubbk9orGHxaFdKpKjug7FvjbbX/YWxVLZrKSSIyKA52lSP7SMkBD4/en04LfH/r0UOuxw+FOf9ZoYBcu88xanOO1un2+XpHLCpBds6DO406BkRKAArQUWpwXX5QTa0rrOnktgqMAUKiZVq5mdu0kG4/FYXQJwB5oC1q37a28imQKyndbJVmRsBb1qxBGoqEERalvCP9rb6Cjli+dmLtgZV51lbe9NdPjT6x9wDehIAmkUd+lgEKzsNoVronYuvorqOEBQBTKag5HrVP0mUKjMLqIYQCRqP7Nj2ZgJgwUn/gD0OtYPivLMvEdw9AUDRUFKeQrViHQ1tx7cF9XKgwq59uWfqNUFuj5pfs9Tg6MnIKJFDPgRJ/pB+fLjsfM6OoUMTiE8GYCacP2bmdaoqpsnJZFUBnxuRjh1o9m8Bxjy9Hr9VqFbBul01lZwfkZMhC68ixmo1bgRQmBzx0iIbn2ZNB3kpt2t+tbq/IrTe8BMTGsVkLVTJxM/aq58Ee1Zf6UAQ1JcMMlMgrJCB6J2D8M20v0/CQzD9VEM/jpCBiN4p6jk6NRl9drFkQplcpqtKwsqzlJVpxOMyZHLJGZ4M2N9HGXkxrGZmRDwfihfRfvnyRMK9oJpGGMRFSIBvt7bY+cKX8v6JLx+4Zrg0bIxPhdlHKR177b7ezhNbNtnEmjDHUFNIBon/5Me1Vre1eKyxpNOofdmIilAYWbFZhKCxi1IEiRaApQV8i/KFdMLdCZNJkUU2h5e1H1QDK+2vC9Wfbp+uInL0wM4Q6OkUdKZ6M29Th9QPRGoKD62IxdXQ4MFg66PAvWLPQlk00AkeIZi0xfPK3RMQNyLHtd1rISJ8ARpVICU5wcELYFo1pGB+juHy9rIDXpEMPvDuZWH6t4vc1L9k0rN1ELqa6Iiez7PY46Tj/TwuXo5MvkVoDFIWDH1hwpBzoZmxxXEnPvLQ6GEpi42OqpjBBP8vj9+S4LlxasZr3dgtnCelzWCz7u+e8eXL6oBfFXkAorW1r7uK/0xabiqMSqyWtMijkSf6gubt7Z4zBR8iwrh6ugflZAGVTd1X2i2elvzMclGj7THowpCPW3w5gPRI4gxJ1brs0AEbJb9VxGCDRmF1ZfeH1dDUPKvktlFV5vtrvWnC0/gfsbRrnG/uZ6ymkKpSX6HyHHsbi5wpxyG0SoFp00i74+p/XIBQ8ukoHmKpvheIBEWzEMZDHrurtjFquxu02aU9ny/ssfWE0CTsD9hq9NGL5fW7appTBFOszrmFlcZ0NDIgr5OeM73U5suTk2jqFx/Qxwa/LNBQ2dUeO5Cx5SAtKXWnWGoSgKkshXUCKWAZKWz8JVS/6z44U9DjuPBGJ4QYGvtnjx7n24hGauu7G8mZ6YmmOP/3ZK27zcgZ6YBn85NHnjruqjdR6QUZuSyz0x6TOrpwV/uur46kWNpEVWbznaZ8Y98bHIdcTMGE8lGEot+yZ12HDwqFMJTMrjdQWHzhTVtjkuxg3YUXm29PQJkfmVgfumd1EDU4mESK/3F24KeET5S5lKXDUXoqdaOVx4L82LEkYi0uOTJkZRj36tplSTZ/uDEOwN2Z9uKPYlzDc8jBi7wZaq02Fes7M7rwOnPCtnxq7AhaBIxlhQHZ+QUlkEUCKoerLsurqJP28o6c1qRklPX/hoUQ3301Hr7lCukxUrrGlSN6DB3cmOoOORs1MOhHNIUUCNzYh3TIe7lJIQ2b/2OM8lDfdauVydBNEllfSndI/VTnq5uSguMdeSnr688bqa8uoTJlxE6SkF17N4r78P5K89V34qZrlhqRlPEo8yAlOoJa4Ijp2PQ7ljGDODFjNuv11hV8j7L+YQGzEyGLfFgHFdtALGed35mfUOgJtc/xVgALbmqDgClr53AAAAAElFTkSuQmCCMzQ4Mw==", - - DE: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAmCAIAAAD7pgrOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFMUI5MDQ1MEM3MjExRTY4MTcyRDlCOEZDMDU3Rjc3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFMUI5MDQ2MEM3MjExRTY4MTcyRDlCOEZDMDU3Rjc3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkUxQjkwNDMwQzcyMTFFNjgxNzJEOUI4RkMwNTdGNzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkUxQjkwNDQwQzcyMTFFNjgxNzJEOUI4RkMwNTdGNzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6gw/inAAAAVklEQVR42uzWUQ2AMAxF0Y5MxCThDI1TMAXwCXjg74VzHZw0TVslSZL039qeDljhgH6FA7YCAAAAAABIvsR3OmAc4c/cM8MnUKclBgAAAAAAAPjaK8AAbScGyes+6bEAAAAASUVORK5CYII5OTg=", - - ES: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAIAAABHOBkQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkRGRTFGQzcyMEQxRTExRTY4ODAyRUM0Q0I3OUUwQUMzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkRGRTFGQzczMEQxRTExRTY4ODAyRUM0Q0I3OUUwQUMzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REZFMUZDNzAwRDFFMTFFNjg4MDJFQzRDQjc5RTBBQzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6REZFMUZDNzEwRDFFMTFFNjg4MDJFQzRDQjc5RTBBQzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5CGIEmAAAD1UlEQVR42uyYy28bRRzHfzOzD7/Wie3EdtIkdkwSkTRt0iRSlJKKJqhCnJBAiAM3JLhx4QQ3uCP+A269IIGQECFItEhBrVFJBQ1NaVqTuCHOy0lsK2t7nzPDxs0BboYgY4sdzUr7mFnNZ3+v76yQ9vdBKzcMLd5cABfABXABXIAzNYFqqLUBwjNaSwMgvtziLgTGWfBrnbViEKOTqZxBXsVAaq9B/5UF/v7SOce6JaiGvF8Rf9oOzQ/kFYF5RMvpzrPmBkBQNaStY6+qiUS3pLLu14Dl9PskFG4zvQJPRhyLsCYGwHBoeDJfIfEhOgoIeMOrTVd+vNVujVF6iKovku450YMN4E0YA46Li+C4e7ytIoWMrIEqPqM6bnFcKE0w1TIfW6S7s+yRTZBqIxuXRm/VtXpG0c1vBUzghWsWeGHpLlnelAUdhQ71ShsIfnZlmA8PQ7mAbtwQB1J09BIFu5lciAL/nVoEgWGg1et+lseeLGKbHM+/3HdpjCq7WpewVV732Ytrquk3YLS5YoCDgGBwcp5yG8P3W4v+LY9u9uo9m3Lb+UlPcgZ+Xs+pHeJoLKosnp97rVO8ByzTXDGAZAjHXpXJS1YVEQ8tDsv58YAaAIEgdlDyFagSVhAxWBUFg2/7lPGT4tBEFhBhY0nK3vsECE0Xg+YRqDy0pyu9PLu3komNjJjtomLTfMaf/05SfR9qfDt8jXSkGhEG9VmAwHGOkok3yOzrz1xVcZTF8uX+uyyT7PlI969++bU9mSj45M4hs+sCD7zy3rE8YZVYY6Q6+eDNOkYxCPXD3sP24jcPUjMbBwSJx/Y5c/uOPb31bF9sdWWwuKD/tiTt3/ZiNfMF67/4ZGg6h1jzuJAMa5/jQt6feCvaPXRz5VeK44BlcnUnnUxvTkWzzK6IVWA7fOgdabd3Kvtpti+Cuib4mZTivwlgQOoKpeFZRlVmAndyKkOUknhXKSEXZL93JxLpqFQ5WGBx+cLlgeByJJh2rprGAgyUGGi5jy2L4hSAjRwd6hzURhUpIWm52AZYDAsRZLPK0dq7/YHHUhCaqZARuL/bf/2Xy05JjirGyMXN2yVsMMWMTZl4xH50x6dlRKINzukL67MLj0bC3oH3lc/afZUG6Lp6C1lA1GZ795164AEtOUbb4vqBltwVO3aK2cT0uVjxSVfPvq+Dx9dLz/cdeYQydkK4IZKuPi30NN+SU1Fx8l2FU9c63ccINYehtZOnd2xoDIDgZJh/XjnIX235Z3NKjVKjD56LtvamvvCDt7UBiJe3NID7b9QFcAFcABfg/w3whwADALA9jy2I9PhSAAAAAElFTkSuQmCCMTg5Mw==", - - FR: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAIAAABHOBkQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJENDg5REJDMEM3MDExRTZBM0QzODREQzFFNDczOURFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJENDg5REJEMEM3MDExRTZBM0QzODREQzFFNDczOURFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkQ0ODlEQkEwQzcwMTFFNkEzRDM4NERDMUU0NzM5REUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkQ0ODlEQkIwQzcwMTFFNkEzRDM4NERDMUU0NzM5REUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5eKs0eAAAAZUlEQVR42uzPMQ2AQBAAwXu610EwQxCAAnrE0GAAETR4IqGABg/XfTIrYJMp0W+R7vmOfZynIT14z+te1lJr+tBF4wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTVL8AAJaAJpU7NMCAAAAAASUVORK5CYIIxMDEz", - - GB: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFERTU2NTJEMEQyRDExRTY5MUVCQTMxOUMzRTQ4OUQ4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFERTU2NTJFMEQyRDExRTY5MUVCQTMxOUMzRTQ4OUQ4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MURFNTY1MkIwRDJEMTFFNjkxRUJBMzE5QzNFNDg5RDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MURFNTY1MkMwRDJEMTFFNjkxRUJBMzE5QzNFNDg5RDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4LW+oDAAAIsElEQVR42sxZ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", - - US: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAiCAIAAABgN0jYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkFBOEQ0MUQxMEQyRDExRTY4NzY1OUZEN0M0RTRGNDEzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkFBOEQ0MUQyMEQyRDExRTY4NzY1OUZEN0M0RTRGNDEzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUE4RDQxQ0YwRDJEMTFFNjg3NjU5RkQ3QzRFNEY0MTMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QUE4RDQxRDAwRDJEMTFFNjg3NjU5RkQ3QzRFNEY0MTMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Xh7i9AAAGGElEQVR42uxX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" -}; +export const images = { + "10F": + "url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEA8ADwAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCEAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAG4AZAMBEQACEQEDEQH/2gAMAwEAAhEDEQA/APsugAoAOlAHP6v4ht9J+RsyTEcRpy31P90e5rCdWNPTr2NoU3PyXc831PxrqjgvAsdvEv8AESCMe7N8v5HrXA8RN/DodioxW+pkRfEu62+SzLKwOd8e3p6cH9QKft5paj9jBvQ29H+KAeYQ3sZVM48xQRjt8wPH8vXpVxxD2mtO6IlQX2Xr2Z69b3EdygliIZGGQRXoJpq62OBpxdnuTVQgoAKACgAoAKACgDlvEmsNYILe3IE8oJ3HpGg+9If5KO7enJHJWqci5Y6N/gv62OmlDm957Lp3f9bnmEk8Vr80mZZJeVQnLP8A9NJjx8vovT27V5LfV/16no26L+vJHI6taTas++dz5SHp0UeyqOM9MdT09QKhSa2L5UjnLu0ltseUoiiHqMscdyeQvp0c+r0+bvuNLsixav5aHdgh+OPXt2FVcpo9I8A+JHs2FtKT5ROAD2+nuP5V00anI7dGclWnzK63R7wrBhkdDXsHlbC0AFABQAUAFACMQoJPAHNLYPI8V1nUfNMt3LyJGyqnui5EKfQgGR/qfUV4FWfM2+7/AOG/zPahDlSS6L/hzhIZpLmVmJJdycsenH3jj+6g+VQO/wCBrkb6HRaxM92ckRgtsIVF/vOc5Y+45B9PmP8AEKd7DUeZ2NG18KvfETXhJJHCjgD2FUk/Q6LRjsW9S8MxW9uSi/d549qbvHVCspaHORSLFGt1GNpWTa49GHOf+BLn3OeapPqjncbaM+hPDOoC+tF/vJ8p+nY17dCfNG3Y8atHkl6nR11HMFABQAUAFAGRrc/kWrAcF/kH/AuP61zVpcsGu+hvSV5X7anh+vOZZfKTpEMn03Hp+gUfnXz83ZvyPagtkYojFpCWx8zfu1HsAC/1LMVT65rmTv8A10N2rfL82bfhnSGmfznHyJ092P3m/E8D/ZArohHmd+hb9xW6s9EWLbwK6bWMriyQb1KnpTa6AnY8zv8ATxamW2HAl+dfZwMj8MKV+rYrmXutxKmr2kjtfh7eFokDH7w2n6qSufxK/rXo4eVpW7nl146eh6wK9g8sKACgAoAKAOX12UFlQ9EBc/h0/WvNxErO3ZNndRjpfu7HkiJ9oZpCM7yx+oHT8wfzBrwJarzPZSszk/F+pw6EsZm3kcRqE++Xb5mI4POTuBwcFR6VpTg5y5Y9EDkormk7K/8AWhN4R8cJeOsVtJJ5OQpWdAecZwsqADdgEhWGTg+hx2uEqe6sgUo1L8ru18meyCcFfM/hxnNMjY841X4hpp12bVpLeNAdozvkf6lV2qPpuzTXM/hWnoN8q+JpPzdhup3630UV/BLFcRmRVygK43EY/iYEBsZ5BHTntyzVnfr2tY2SfLa2m6ad0dT4UjNrLsHBWRsD9f51vRfvL1OCqtPkeyKcjivoTw9haACgAoADxQB514hudiTzdziNR9f84NfP4iduaXdpI9qhH4Y9lc5e0tThd3f+QyWP/AjmvO8zu22OR1vQ49cvYkkGRGS+QSCrZ6gj0yRVUpOL93qbcicbyW2xt2Xge2syPKBVQ4kK54LgYBwABwOntkdCa9J3ktWcqah8K1O2urbFqIB6YpNWSsJbs87/AOFdwXFyl05IeFi0ZIVtuSWP3hz8xJ+bODVxk4qyCajLVrUk1bw7Bo1hIlvnAJlYnqW6luwHI6AAVx1ddTqpaK2ysdLok4eaOYHiTY34uAG/XNVSfvJ+aOCqvda9T2CE/IPoK+jjsjwnuyWqEFABQBHKdqk+1TLRMpbpHnGsxmZliHQMWP1PT+n4Zr5uvrJR6LU92jom++hTl/0eEsMAkYTPoB1/H+uelYNdO/5HbCN5KPTrY5zwztuMzuQ0uSH9AykhgPbOcUqUeVnbWiorljsdiJsNjoo5J9K7b/cec49ty7OwdVKkY4wT7/41pLbQzirXuJC4PHTFQmU0cT8R7k2Wg3kyfe8oqv1chB/6FRZNpPa42+WLtvYoeEJT9htC/wB75fyHP9a5qb10/m/UzqK3/gP6HvducopHoK+njsj556Nk9USFABQBXujtQ1lN2izSC1OIlTzHJ9Tj/H9P514EtW33f/D/ANeZ7cNFbt/SM6VBcmZ2O2O3UhfTO3JP0AI/WiEebmk+h2J+zUV1lq/S5414G1lbpSVb7/zfieT+tYNOErM72+eKaPQbnxZYaawgu96tJwP3bbWzx984Tqf71dMX5HOqUpe+mkl1d9PuTHya/Dax+dIkiW64IZkwoGMg56YI6YJp6rSzsV7OL2qQv5S/Tc3NK1e21dPNtWLL0ztYDj0JAB/AmkYTpypO0rfI8z+MWqollbaOh/fX9zFlR1EUbq7sfQZCr75PpVx0vL+VP77aHLN7R7tfcnqbemsLZII0GFQcD6Kp/rXmQlaz8zaavc7GDxHPYOHT95AfvL/d9x6D1r2YVnHbbqjyZ009Ho+jO/sdXhvUDqcZ7Zr1IzUtjz5R5TTDg9K1IH5oAztRfamPWuWs7ROiktTlXYIpbpgH9eT/ADrxmerHexVtyEds/cc9O2eh/StIe76HU9Urbo8D8T+C77wjezaxpS+bpsrmR4Ywd9vkAuwUfei3bjhRlB/DtBIucFNdmtn3Lp1OT0e67enkdZpdyniG0Q4DY5VhgkfgeCD0INcauvde6PQjP2T547PddCePwgsjjzNgTOcBAP0zitLM2eLitYw176fna5u6zr1h4MsPMkwu0YjjGN7t1wB7nknoOpq7dEeTObk3OR8xQaldeKdZOqXhy5YLGo+7GgJ2Ivtkkk9yGJoqvkhyr5nNBc0uZ/LyPop0Mctuo4Gxj+iCvKWlv66HU+pg2WpPECTyI5HjYewOR+akYrZScWmjGUU1qb1petZTrLGf3TgY54weufp29MjPHT1KMre8vmjy6sfs/cz0OC/kABDHHtXtJHkczRrJqjqMEZq7Bzl/VXwMegzXn130PSorqc27B4sHucH8QP8AGvLeqPQWjKMEyx/I3UcEe47/AI+opRlbQ691oX0m3jBHFdaaehi1bYpS6PbsTJEohkbksgC5PqQOG+p596mVNPVaMuFZx917djhtf1LUvD43sgniY4V04wT0DjqpPbqPfNYWcdGdLcWrrQ8J8Qwav4mmkvTFLMkakkqpKRoOSB6Ack/ma1jF72OSc4p2uvvF8BWomkDY6Mcfgdo/MsT9a5K/YdN2PoK4iCXSn+5CP1Lf4Vx2s16G19H6nnyZR53H3QVc/wC8DsP/AI6wz64BpatWW61E9H5PQ348vavt5EY3j8izD6MoP4n2rtpy0Ul8zhnGzcX8vI63w5eC5tlOc7cr7/Kcc+9e/QfNBeWn3Hh11yzfnZ/edOrjFdhxm1qs+Jtn049sV4teXv8AL/Wx9BSj7tzmppTCWPLRtzx1B/8A1dfwrzW7XXQ7Utn1OYu3+15EE21k5xtIcf7vT+YH4Vzv1/zN0+XoaOgXc+oO9u2FeMDBYgFh0JIGQDnqB613UFKponsYVaipK8l9x1i6fL/y1fHsg/qf8K9aNB/af3HlzxS+xH7yxJpttcJ5c6eYndWyQSD3Ax7GtlRgtbHM8VUacbpJ+QDTLaCCSC3jjhWRXU7EAzuU9cDnqetauKS0RzqTur9z5S8DRm3vXtiPmikcHt0cY/Pr+NfPV1Zn0VN6HtV3KPtUuP8AlnHGD+KMQPzYfnXny0k/Jf5nXH4V6nB3CPYxXM7ghJ5NgyORtb5mGf4Sqpj1Ymrjpr1t/wAH/gES10NLTJgmnTSHqkZXH6A/TBz9DWtPSTS23RjU1Svvsx3h27NpKEU5SQjI9G9fxHB/Cvbpfu7W2e/r3+Z4lX3733W3p2+R6lGg2jOa9NI81mxqmyWTeDgjjIPpXgYlLm54vyPo8O3blaOZud4JSJgGI4HQ/iCRke45A7V5jutvuO9W6nnfiGeaBGRZFeQKxPlkdQD3AJ4+uc1i7qSWm+pqrNM4CPxPc6IsF95jGTcNuTndnjbk9R1z+HqM+hRvGd49N/Q46qTjZ9dj6t0PUotcsYr6PpKgYj0OPmH4c19HF3R87JW0NErg/T/9R/xrQyIvY/5PINIaPma9ih8M+IpvN63Eg2j1DYOcdgOQScAAHGTwPBxCd2ux9BRd4o6S5uS9w+0/NcPGf+AJGCT/AN9BR+OK8aTv9y/M9KKsrdrnLa/rv2eL7MAJI5NzyKMD5Qw5GcY5GST7dFINbQi5aJ2tt6mcmoa2v/kS6LeQvbSJbsx3QlVVtpyQOMMpKk4AHPPFUnyTTl3JlHmg1HsL4Scz3xibKrF+8O7jAXOePQH9MCvdp++1FbJ3/wCAeFV/dpye9rf8E9sglMiBumfpXrHkl/V7XzsvC6r6A8YP14PP1+mK8uphoz1joz1qeJcNHqjznUdSvrJRDJCJATj75PqeCQTg446/WvHqUXT0f3PoerTqqeqXzR5reassE2JYzCpJDbRn5Txzk59yQen8NcnLzX5Xqdt7JXKF54U+12qqkkbxRj92c7TjOR1AwQfQkEd+K1jW5HfZ9TOVO6t06HtnwfWWzsXsZGVljclQCDgHr0JOPrj0FfQYeoqkbo8KvDklY9Zddp/z9P5EflXeec9CH/P9D+uKAR4Z8X9AaVI9StULTg+X8oyTv47c5A6emSa8zER05j1cPL7JzGmWjWVub3WpQhKAeWpy+0D7uQeCx5O32GRivnbXdoHu3stTjGnXXWTUFVYljmeOOIfwx7CVDeu/q3bkiuvk9n7nez+dzHm5lzdr/cXdLs1jfMHCtllH931XPohyAf7uCetZSu5cu729ew1pHm2W/p3Ox8P6ZvuZL6NtoBKn0cOSCPwHOeemK+jpU2mpdIqz83Y+arVE4yj3ldeSueqwzKiAdK7zz9juZo1x0xWUtE32OpLVJaHN6jaLtOABjnpzXDUoqpHV69Oy+R1wrezdktOvd/M8S8UeGm1mb7PC6wykZ3EHafxHIP4H6142kJXttv8A8A9mL5o26Pb59zNj0TUvDdruup0ZEBB8rduPpncFX6nbn61ElGT0VjRNxVjrPhPe+deSb9wkIORwVK5wCW4OeOm3HvXqYSyul0POxN9Gz3+QYP8An6f1/SvXR47K+D/n34/mAaZOxmaxaLfWskT91JHJGCB69R+FY1IqUWn2OinJxkmj5W1q981p4VA/dkwrkcbmB3N1JweBnlsZJycV844cjt89D6KMuZX+R5nYahcwq9mCFLy7gRnA7Y7HGOK62lpUXRHOm9aZ9A+GdH+zWQaRg7Fcnju3zdT25AxXVhqKb9u93dJdv+CediqzX7haJbvubllJ9mt5WUdHX9TivWWh47ZtW0h8sE8k81Qj/9k=')", + + "10M": + "url('data:image/jpeg;base64,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')", + + "1F": + "url('data:image/jpeg;base64,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')", + + "1M": + "url('data:image/jpeg;base64,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')", + + "2F": + "url('data:image/jpeg;base64,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')", + + "2M": + "url('data:image/jpeg;base64,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')", + + "3F": + "url('data:image/jpeg;base64,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')", + + "3M": + "url('data:image/jpeg;base64,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')", + + "4F": + "url('data:image/jpeg;base64,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')", + + "4M": + "url('data:image/jpeg;base64,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')", + + "5F": + "url('data:image/jpeg;base64,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')", + + "5M": + "url('data:image/jpeg;base64,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')", + + "6F": + "url('data:image/jpeg;base64,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')", + + "6M": + "url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEBLAEsAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCEAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAG4AZAMBEQACEQEDEQH/2gAMAwEAAhEDEQA/APsugAoAKACgA6UAeOeMfjPpXht2tLFW1O8TIZImAijPTEk2CMg9VQOR0baadjaNOUvI8I1f42+LNQJW1Nvp6HoIohI4GT/FKXGfcKv0xRojoVE42fx54tZt51W63cnCttXt/CoC456YxxRdF+xt2+463QPjr4l0RgmoCPVYB13qI5QP9mSNQM/76PmjQylSt0+4+kfBvxa0LxkRbwSm1vT/AMu1xhHJ9I2zsk+inf3KCixzOLienUiAoAKACgAoAKAA8UAfO/j7xvc620mlaQxis1JSe4Q4aY9GSNuCsXUMw5k6AhM7pclD1PWoYb7c/uPDpdKFsNoXaPYY4Hb/AOvyfwzWfNc9HkUdhF0vJ+UfLjt2/DkdMenPvk1VyeWxDc6QGAyCM8cY69eeOvTpjH55SG4nPXWlmNuMgYPoP64/z0q7mTp9jOfT/Nwy/K6/MrDIIPUcjHIOMY56H6F7GTp83qfTfwY+KVxqMo8N69JvulH+i3D/AHpQoyYZCesiqMox+ZwCGywBa/NHl1KbgfS9I5woAKACgAoA4Xx7rTabZfZYDie7zGCDgrH0kYehwdqnsWz/AA0m+VXOzD0/aTu9lr/keS2+jJFGqqABivMlO7ufSpaaFeTw0JGzgH/D6UKpYGgPh3yo8AY/+v6Y5q/aEcplf2GWH3cn1546D2/z2quew+UxtS8OcFgDt49/qQP/ANdUqgcpyr6V83yjH5/55P1o5ylAxL+xk06VL63JingdZEYcFWUhlIPsR+mO9bQn0OarRTVz7t8J66niXSbXVE4+0xBmA/hkHyyL/wABcMB7Ct9j5qS5W4nRUEBQAUAFAHh/ieb+0dTeTqsR8pfYKSD+bbm/EVy1pW90+hwtPlgn1eoyPsB0FeY9T1krGlFGSKdiW0ifyuOaaVibroUfswjz/OmVoU7qAOpUjAqdijkrvT4wTjj0qXJo1UTk9bsFKbfUH/P5VvTkTKOlj2D4EXJbRJrNutneSKP911SQfmzMa9ZO6TPkcTHknY9tpnGFABQAyV/LRn/ugn8hmga7Hil1B5bbj1bn8+a86vpI+tor3Uh8CYri2OlmpCu2rRkyU9KvbYWxWk4o2GZtwCBipNEzn7iPByayZ0JnJaku9uenSqhoEkek/BaPyV1BfWSFvzRx/wCy17FN3ij5jHK04vyZ7jWp5AUAFAHnPiq7lkuhaqxjVUBXGQS5yTnBxjGB0/HtXJOT51Ha1j6PCUYrDus1dtta20S/4Opj6wGhUvGhlZBwgIBJ+pwKVVczOik7JI4K68W3mmDzJrBxGvXa24gDvkDHSslTT6o2bsupveH/ABvpmv8AyW8gWbvExAb8Ox/Ch0+QzT5tnc7DAqLFFWRVB9Knl7FJszpFXPUfnUuLRV7GJfDaM1k1Y3i+hx95GHy3oDUxetjaSsj0z4QRsFvpP4S8Kf8AAlVy36Ov517VNWij5bHP3oryZ7PWp5AUAFAHnHiVAmoIwGWkMSj2ycE/l/KuGorTVurR9Pg3fDuPSPO/wuc/q00nmMI8ZGetZVJNSaR1UorlTZwd8utiGV4nwwKeUIo0kOC48wuHKfdTJVBgsRgvWlNRkve3+4uomv4dvR3vtp97+44/RrG4vTFearBHDdtJjcqCKTcFViSq8EZJUElt20kbMgEqe4vclp2f+Q6SbTc42kle627Wue1WPmLBnOcDGa5UxNJM4DxFf3s8htrWXyjjBYdv5AfUkCrjKz2ubqC5bnmtvYQz3LQ3WszC4Q4MY/venMjZ5ByAK7G5JfBocCjeVlVu+ysjs7Sz1Cx2iG8S6tz1WQHJB67WG4g+351yScWrWszuimnqaF2RFFJJ/cRj+hrCC96xcnoX/Bni258K2yQTJGqTzmST5WLHftUBmBwMKFUYGAeua61XadklZHNLL1iU53fPbSzVlby6+Z9PqdwBHfmvRPjNtBaBBQBxniSy8y5t5+RtZenqrZ/rXPOPvRl2a/M9vB1LUqlPyb+9f8A5G8QC4b6muKr8bPYpfChjQEAhR1/z2qFoaaXMo2ZiJb19ST/OiT00Rpe+jLG/yLc84rNKyHa7tY42KDMwmIJZW3KckYPboevoTnFVB2d9n0NZLTl+y1ZobL4StLi4e9PmGSUHcrOXT5g4OEbKjiR8YAxuOMZrt9q0tb/pqcKpQi7qK6X+Wwy10GPTAQruV9Gbd+p5/PPFcEn1OxPSyQTR7oXCgFtp2g9MjkfXmiGicidOaMXtdXK+i2za3JbIFyzyIjjngh1JPPbGc+lOmrtLvb8z0ak1hY1L7Ri2vPRpfjY+sAMV7Z+YhQAUAVruNZImDDOBkexHIoNabcZK3p8meaXkYFwT68151ZWlc+oov3Uuw84xWSN0YVw5kYonAXqaT10Nlpqwu7aMQH5h93/P41fLZFRlrsclaXAhm8iQdc7T2I4/xrOKtozocbrmWx1SxDbmm1Y5tjEv/lBHSueRomZqRs2FXA6kk/565x14rde7FLqzJayb7HpXw98MCxH26QHoRFnqSfvyfj91fbPtXXRp299/L9WeVmWK9p+5j5OVulto/q/keqV2nzQUAFAENwP3Tgf3T/KmXHSS9Uea3/yyA+1cGIXU+mo7WIGmA4rhu+h1mBqNsLoYQlckZAJAOPXGD+tWnY3jJQ3Vyjf2bSQMkcjIQuAQQTx7sD/U1rccZLm1RnaZZtPsluiDJFwMDH4n36elZt2NpSUbxhs+507uI1wKm5ynJXc/mSY9KyWrNX7qPS/Dvg2C6t4ry5d/nG4xjAUjccc43cjk4P0Ir1o0k0mz56rjJU5Sp00t/i67fcemxxrCoRAFVQAAOAAOgFdO2iPEbbd3u9WPoEFABQBk6xrNro0Jlu2Cg8Kv8TE9lH9eg710UqM6ztTW276L1M5VI0rOT66Lq2cPeurgMvSuCqlKN0fUU7xdjmrq4lQ5hQSkdQW28exwa82Ojsegknu7GZ/al2uS1vgDspDH9dtdXIjrjRjLaS+ehRn18RcGF8t1yrcfhj+ppezXc6PqsrXVvvRRTW4i21I5Vf0CMQefXH86iUOVX6HNKnKO7X3mrPcMkfzHqM1xy8iImTYwveXCQoMvK6qB7k4rSlG7SJqyUIuT2SbPp22gW1iSFPuxqqj6KMV7ex8RJ8zcn1d/vJqCQoAKAMTXdch0O3M0vLYOxO7H+g9TXZh8PLES5Y6Lq+3/AATmrVY0I8z36I+RPGfi+51C+haZsmWeJFXsoaRQAB+NfWVVDAYafIre615ttbs8vCqWLrxc/wCZfdc9cS8ZUGfun9K/MYVPsvbp/Xmfp8qa3W6JeWG5OtZy91hHsVp3nQboxzirhUa0OiOhlNdXL5Vl/wA/lW7q23N+a2y/Eqx/uiWb7xrllNy0ZDdzHvb/AAcA8Cs0r6DSsrml4b8R23h6+gub1co7+Xnum5T+8A/2e/seOa9vAYd4mc4U94QcvndK3z1PCzOp7GlFvaU0n6Wbv+CPqCKRZkEkZDIwBUjkEHkEH0IrRpxdno10PnFrqh9IYUAce/jbTn3i1cz+WOWUHYD2G44yT/s5/CvVjgK2nOuS/R7/AHL9TheKpq/K72+77/8AI8U8T69JqcpaQ8DoOwHoK+uw1CNGKjFf13Pm69Z1Janhep201/q9r5ILCGZJmUddkbqWOPYHcfYGvHzltUlBdm38l/wT6XKIXnGXaS/M+kbdflH0r80R+jMXc1scj7h/8d/+tW697R7nPJW1RMbpWXtzTS5SosoTXUcdJ66Glzlr2/B+WMbnPAArPkNEzPhsnX97Ny3Ydh/if8j1pN20Rre5wHie5MmoQW6n7ivI34lVX+TV9lw/B+0qS6cq/M+Sz2aUKcPNv8l/mfT/AMJvERvbM6bO2ZLfmPPUxnt/wE/ofau3M8P7OftoLSW/k+/zPmcHV5o+ze629P8AgHr9fPHphQB8uBhp9uLdM8ck92Y9WP8AT0Ffo6XPLmf9I+JlLlXKjmL1yQTXdFWOK+pP4O04HVba+bBDmSMqR7HPtgjg18pmcr1HDtFfifbZcuWjzLfmf4WPb9Y0hNL2yRf6qQ4C91JGce6+nOR05618FXpKn70dr7dj7HDV3V9yXxJb91/mYhjrjPRMe4tUByMqfb/CtVNrR6+ocqe2hjy2PmfeZv8AP4U+fskXyW6jrTTo4uVAyep7/nUOTe5e2w+6hEaHHaoGjwiAnUdXvJX/AOWTJEo9AoJP5ls1+k5BBRp1J92l+f8AmfnWfVX7VQ6JW/r7z0PRtSm0SdLm2O10IP19j7Hoa+ixFKNWLhNaM+Vo1HTfNHdH1N4W8SL4itvN2GORQN4425P905zjjoRx6mvgcTh3hp8t7rp3+Z9XRq+1jzWsdRXCdB//2Q==')", + + "7F": + "url('data:image/jpeg;base64,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')", + + "7M": + "url('data:image/jpeg;base64,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')", + + "8F": + "url('data:image/jpeg;base64,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')", + + "8M": + "url('data:image/jpeg;base64,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')", + + "9F": + "url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEBLAEsAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCEAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAG4AZAMBEQACEQEDEQH/2gAMAwEAAhEDEQA/APsugAoAKAMHW/Elh4fjMl7KsfGQucsfoBz+NYzqRp/E9e3U2hTlU+Fad+h4B4i/aDW0cxaZbq5zgGXJ/HarKfzrn9tKWsUku7Oj2MY6Sbb7I5j/AIXZ4iukZQ1nCXGFZY23p7jc7KT9Qfw7YvE8un6Gqw6e35nJS+O/EKzCSW9ueOm2RlUflxz6dPas3X5l7ra+bNFR5Xql9yO90P4v6zAypcsJ1GMiSNdxH++hU5PuppLETj2aKeHhLZNM+g/DPjOy8RRgIyxXH8UJYZ/4CeNw78cjvXdSrxqabS7P9O5wVaEqWu8e6/XsdjXWcoUAFABQAUAFAHnfjrxwnhi1bycNOcqucYDfTPO3qew4B5NcVat7NWj8T0X9eR2UaPO7y+Fa/wBep8P+IvFNxq9y8t5K0jNk85P6cYHp7Vwwg2+eWr6tnfOaiuSOi6JHLr4dvNQPnWq/Ljtkf14NdUqkY6NnNGlOWsUVrjSdU035pUcKO45x+HNZ3py2sbclSG6djuPC1+NQX7FeYJx8jHuOhH4enX0ryq8fZvnhsdtJ8y5Zbm4LCXT5tjjfF0A7j6EYIP8APt1xUKSmrx0ka2cHZ7HZaUPszCSNmRhyrqcMCOnTg4P0z6ZrO73WjRq0vkz6D8E+NG1Rv7PviPtIHyOPuygDkf74HOMc8/j7mGxPtP3dT4+j7/8ABPDxOH9n+8p/D1Xb/gHpleqeYFABQAUAYniLUxpFjLc5CsFwpPQMe+O+0ZbHfbisqkuSLlsa0488lE+FPF/iNrsyXMrEqmFjBPrn9STknqTlickk+BC9Sd/6SPelanG39XOR8MaK2sSieYZTPA9frW1Wpye5EVGlzvnlsfR+k6OlvEI0UKMdMV5+r3PWSUdEjTfw/FcqVdQc9jSs+htpbVHmet+B20uYXdmuApyQO3X07HoaHJ25ZbGLpL4ob9i2hXUUCsMMFwwxyP8A9Xf1B9hWC91poza6MqM8ulrmX/V9/Qj+8vcEfxD0z12nPYknsc7TjuQ2XiB9MuUmjY7AwZGHBUjv+B6jpUcri+aGklqgumuWWqeh9j+GtaTX7CK9jxlxhwOzjhh+fI9iK+lo1PawU9ns12a3Pm61P2U3DpuvR7G7XQc4UAFAHjfxqvmtNIjjTjzZsE/RG/mCa87Ft8iiurPQwqXM32X6nwvq0x1C8S2jOQzcrjp8xGPTOFFc8IqnBz8jom3Oah5nuvhnTUtI0RRjaBXlN3bZ71OPKkker2S4A96tFvyOgjjA4rVIXMaEdikyYcZB9RWqgmtTBzcXoeX+K/DbaNKuoWYzETh1/u//AGJ6dOOK5KlPk9PyLUvaK/Vfic3fRx3cBRfmVgWXPY/xqf8AD1DdiKiDs7dUQ9U0ePKWs5mspTkA4U+x5RvoVIXPqPeu2S0U18/1PPTs3B/I+n/gTqrSR3OnscquyVB6fwt/7L+VdmElaUof9vfo/wBDkxSvGM+zt+q/U+hq9Y8kKACgDx341WBvNFVkGWilVvwIKn9WFceIjzR9GdmHlyya7o+LNL09o9d8qZdroZCRjGCM/wAjmuKelNndTX71fee86GED4LKCegJGfyry1FnuppHp1pAAAfSuhRE5GoiZYAVoomd7G9bRFhhe1dEYvocs5JbkeoWyzRNFIAysCCPY1lUjpZjpS1uj5s8QxSeH7locHygdyn1Q8Z+qdCO64PavKcWmdstNVseTa/EVKzIfmU8H/ZzkDP0Y49MZr06L5tH1X4nkVVyu6PdfgHf+Zqcij/lrA34EFW/pXTQXLVt/da/FHPXd6d/NP8z63r1zyAoAKAOc8V6Qms6bNbPwTG20+h2n+Y4/WsqivFmtN8sl6nxtFp0s2pLqFwmwyWwLMON7B2jkbt829HBrw5SdnGXVqS9H/wAE+hhCKcZR3ScWvNf8BojvtZ0u2SSM2sszQDc8sZ2lOQMh2YEnJAwM9fSrhFvVNL1/yHUqRho036f5mp4U8VSW2yQTSvZyfdS4GWVT0KP3A9MfTOKc06bs1r5F0pKavF6dnue+WbNND9pjxgrwfqMipT05jZ9InEajrl9ZuTc3wtYRnKxRjOB/tMSfqf0oU3flV7+QSgkuZ2t5m7oXiGx1kYtNQ82VcAqWVl/FeDz6Zq2v5rp+ZkmvsWa8typ4v0E6nACcGVM7SOASen0BIAxnj1rhqQtqdUZJpo+b7rS21GY2Nv8A6wOFCMduwswHX+6Dz7dMYIq4P2dpPZnFOHO+WO9/uPof4I+CpPDd3dSTsswSJEikXodzHep9GUrjHcHPsPWw7VSTqWtbT59TzsXTeHUaV7317adND6Or0TyAoAKAK17u8hwgyxUhR7kYGfb19qmWzsVHdX2Pn3xdoTaQ9vHtAg8hlGOu8zB3J+u7P5+teLXi4WXS1l9//BPoMLJTvbfmu/mtPyOam8I2sw8zy1YMORyPcjjBx7ZxXInKOzPTdNPdHO63pEMCxQRRrH5Z4xn5VJyVAzjk8nPfnvTcr7t3F7NL4Uke0eHiy6dHG3ACj+Qqo35bFSiua/lY5zXNDe5mZ0UhZUKHGDwylW4I4JBPIOfShXi+aPUHFTjyT6FTw58PdP0wKF3lkbeD0bOMYLD5ivoudvscCtZSlUVpM5Y0o0tYL5no91bqItg5AGKykuhcXrc84HhSN/NvWjDea7KCDtZWDYSRSCOVYfiDisLNRv0WlvXqdEVGT5dm9fu6HsPgWSCS1mEB3GG5eFznPzRhc/qSfxr28IuWDX95/kj53Hyc6qfTlSXyujt69A8oKACgAoA83+Jcamyicj5ll4PoCpyPxwPyrgxS9xep6mBdqjXSxwdtJHHD5kpCooySewAryUj6l+RwH9oDXLomFQIA4RSererew6YqLak35tuh7hp8Hk2yDHAGBXVa0UYTa5mk9ire3iQMIpFKbuFbsT1x9azbto1YuCvqnfyNSytwE8xSD/Ot4xsrowqT15GmiG5J6VjLTQeyLFjpxvNkS52rg+ir1JY88nJ4z7e9VTpuo1FbK3ovP1Mp1lh4uT3d/V36Lsu5V8IaZLoOvarZRA/YZ2S6j9FkdVMgB9yx/KvTprkqSgtrJ/19/wCB4NV89KE38V2v6+78T1Guw4QoAKACgDz34lRF9LDj/lnKpP0Ksv8AMiuLEr3Lroz0cG7Vbd1/keMa/ZyDTBMzMLbGZNuScepx/COp/XivFV3ax9O5Je6cZoy21wVlsbqPCnscjI9cHH1oacXqrPzCK5tYa+h7npV286rHLIoUDgo2AfXGTmt4tvQmcXH3ra+hrajbW97CYZGAHUHIyCOQR7g85q2k1ZmEZSg72Zz2kXU8UjWzMsyx42yLxkEkfMOzDHOMg8EdcDBS5Xy3udLtJc1reRe1nURpVlcX78+RE8mD0JVSQPxOB+NLdmE3yxb7HJ+AvHN7FcLLqrMIb+KOWNWjKgKWdcp2IXB+YZDLtJ54G1Go6Emp7P8ATS6/U82tBV43j8Uf11se82F9ZXXmXUDoQOJG3DAwOMnOMYHBzjrzXswlCV5Ra8zxpRnC0JL0NK3uY7ld8RyvY4IB9xkDI9xwa1TT2M2nHRk9MkKACgDnPFllJfaZNDEMsQpIA3EqrqzBR1LbQduOd2OvSsKsXKDSN6MuSak+h4faXu+0+yv1UkYPpjjg+o5r5/4fd7H1kXzWkuxzGhafbaXPN+5Qxzkkqy/JvwV3Lj7p55x1wD1GapSvrLX1OlUo1fgbhPq11+Wh6pp76eBhLNNwIOCw2gY7ZHQnnAFdS5ekfxOedGtHes7baJ338v8AMjufDkGqvG9zEkcMRDCNBt3sBgb24LKOuOAc8561CVu33ClJRVlKU5d29F6LuX0tEtmcqAoOMY44ArBqzdgT0SPOfipfC20CZBkec8cXHfc27H47adPWSXzOes7Qf3HkSX95ZW2m3Em9SsBEJkYsjIkzjGDkADpgfKRjIGaGvefa+n9fmcyasrb21/r8j0/wrfN4l1qIXDJHasqtcRxlljfylYqhG8lmMuwYIJILAAAGuinaU/e0T3Wqvb8zKpeEPc1a2ejtf8j6phVAqhBhQOB0wPof6817astjw3e+pNTEFABQAHjrQB4X42it767N3pAadoVJu3iQmFdhABMg+QyDJDKpYgKS2CDnx8RBTfNT1a+K2339z3MLUdNclTRP4b7/AHdjL0lY7g8DmvOiuh7vS529lZhDlQBj0rpjFnPOVla5oudvzNwBVPTVmC7I524uvtEnlxc/T+dcjd3odKVkcX8R9Al1bRZILYbp4iJkXu7IDlR7spYL/tYq4SUJpvbZ/Mxqxc4NR33R8opr11e+Ra3ErGG0HlQoxOIwTuYKD6t1/AcAAV6EoJK69TyYS1s/Q97+G8l59sFrYzx20syhQ7KGyOrFCRtLZyBjkexrlp83PaDSvpr+nmdVRR5LzTaWun9bH014fS8gu54Lpy/lxxE/O7qWcv8AON+WjJC8oCVxgjkmvYp8ybjLdJfjfXX0PHqcvKpRW7fS21tNPU6+ug5goAKAKWpWv2y2kgxkOuCucBh3QnsHGVJ7Ampkrpr+v6ZUXytMpW19YwQCI+XaKi4MMm2LYBwRtOBt91yhHIJHNSnFK21um1impXvv57nyu+sPpV1IbUiSNZHCgEbWUMcFSOMEYIxx6V87J8snbu/zPq6cnyr0R1On+Mrs9IGyf9rj+VCqW2LaTWpvJdX+qYEmIkPYdfzqHJy9ASUTqdPsUt145PcnrVxjYzlIS7TJxWM9zaG1z57+IHw0YvJqukIDuy80CjBDH70kY755LJ1zyuc7R10qu0J/f/mcNajZucPu/wAi/wCBNU0/7EljdMkN1afv7a6TG9TyTA+AcHfniQEYz2Izq7RT5vdkvejL9DmV21y6r4ZR/U998Lapd6ldyGKNTEETzZ8lVkbBCNApXG04O8YKqwOwnOK7aUpSk2ktUrvz6W/XscVWMYRSu93Zfnf9O56OseAAxJIHJyR/LA/Su6xwX7GXfayun/NJDO8QGd8SeaB9UQmX8ozTCxwmp/Gjwpo8ggu7xo5M4ZGt7lWTjOXVogQPwJ56UCOQ1D9pHwzbgizW6u2HTbGI0/FpGDAf8AP0oCx8z+M/ivrHxJv47NWNlZGQbLeM5AUdXkbAMj4z6KOgUck81VqMXKWyWi8zppR5pKMdG/yOqi6BF/hAA/CvnG+p9RFWVj0PRi+wVC30NbaHc2VxtwprVOxNjpbaatEzNxK2pXcVnG08zBEQFmYkAADnkms5IuLstT45+IHxKufE0rWVoWgsEYgBSQ02ONzkHBXuq/ic9vYw+HULTn8Xbt/wTw8RiXO8IaR/P/gf0zz7TNWuNInS6tZDFNGQysPb1HII9Qcj6jivQcU90eam1sfS3hH9o64tnEevwLOhVV863CxyjbnlkJEb9f4THj0NCVmS9rH0fpnxM8NarAtzDqFtGrfwzSLDIp7hkkKsMeuCp7EjmrIL2vakdG0u5vsbvstvJKF9SiFgOo7j1rTZB1Py31nVrjWb2W8u3Mk0zl3Y9yTnj0A6ADgAACsGWUw2Bj1oA77wBpK31005IHlcAf72cmvNxcuWKj3PUwcOaTl2PZhp4S4CqeK8Nux7yWp29lD5AABpI16HQWvLA0xbI3WuPsyFucKM1rsQ1c+WPip48udWmOlRboYEwXwfv55A+mDz+XTr6eFpKX76XyXbz9TxsXVcL0Y6d338vQ8WH901654ouccHvTDYlt0aVxGpwWIAz78f54NID6XsvgUfJQzX5WRlDMEhygJAJCkuCQPUqufQUXsVY//Z')", + + "9M": + "url('data:image/jpeg;base64,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')", + + BR: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAtCAIAAACRYfoNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJGNTM2NzBBMEMzNTExRTY5Q0NDQkU3NkQ1MUQ1OTFCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJGNTM2NzBCMEMzNTExRTY5Q0NDQkU3NkQ1MUQ1OTFCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkY1MzY3MDgwQzM1MTFFNjlDQ0NCRTc2RDUxRDU5MUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkY1MzY3MDkwQzM1MTFFNjlDQ0NCRTc2RDUxRDU5MUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4SeXTsAAAKC0lEQVR42uxZ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", + + DE: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAmCAIAAAD7pgrOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFMUI5MDQ1MEM3MjExRTY4MTcyRDlCOEZDMDU3Rjc3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFMUI5MDQ2MEM3MjExRTY4MTcyRDlCOEZDMDU3Rjc3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkUxQjkwNDMwQzcyMTFFNjgxNzJEOUI4RkMwNTdGNzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkUxQjkwNDQwQzcyMTFFNjgxNzJEOUI4RkMwNTdGNzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6gw/inAAAAVklEQVR42uzWUQ2AMAxF0Y5MxCThDI1TMAXwCXjg74VzHZw0TVslSZL039qeDljhgH6FA7YCAAAAAABIvsR3OmAc4c/cM8MnUKclBgAAAAAAAPjaK8AAbScGyes+6bEAAAAASUVORK5CYII5OTg=", + + ES: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAIAAABHOBkQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkRGRTFGQzcyMEQxRTExRTY4ODAyRUM0Q0I3OUUwQUMzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkRGRTFGQzczMEQxRTExRTY4ODAyRUM0Q0I3OUUwQUMzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REZFMUZDNzAwRDFFMTFFNjg4MDJFQzRDQjc5RTBBQzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6REZFMUZDNzEwRDFFMTFFNjg4MDJFQzRDQjc5RTBBQzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5CGIEmAAAD1UlEQVR42uyYy28bRRzHfzOzD7/Wie3EdtIkdkwSkTRt0iRSlJKKJqhCnJBAiAM3JLhx4QQ3uCP+A269IIGQECFItEhBrVFJBQ1NaVqTuCHOy0lsK2t7nzPDxs0BboYgY4sdzUr7mFnNZ3+v76yQ9vdBKzcMLd5cABfABXABXIAzNYFqqLUBwjNaSwMgvtziLgTGWfBrnbViEKOTqZxBXsVAaq9B/5UF/v7SOce6JaiGvF8Rf9oOzQ/kFYF5RMvpzrPmBkBQNaStY6+qiUS3pLLu14Dl9PskFG4zvQJPRhyLsCYGwHBoeDJfIfEhOgoIeMOrTVd+vNVujVF6iKovku450YMN4E0YA46Li+C4e7ytIoWMrIEqPqM6bnFcKE0w1TIfW6S7s+yRTZBqIxuXRm/VtXpG0c1vBUzghWsWeGHpLlnelAUdhQ71ShsIfnZlmA8PQ7mAbtwQB1J09BIFu5lciAL/nVoEgWGg1et+lseeLGKbHM+/3HdpjCq7WpewVV732Ytrquk3YLS5YoCDgGBwcp5yG8P3W4v+LY9u9uo9m3Lb+UlPcgZ+Xs+pHeJoLKosnp97rVO8ByzTXDGAZAjHXpXJS1YVEQ8tDsv58YAaAIEgdlDyFagSVhAxWBUFg2/7lPGT4tBEFhBhY0nK3vsECE0Xg+YRqDy0pyu9PLu3komNjJjtomLTfMaf/05SfR9qfDt8jXSkGhEG9VmAwHGOkok3yOzrz1xVcZTF8uX+uyyT7PlI969++bU9mSj45M4hs+sCD7zy3rE8YZVYY6Q6+eDNOkYxCPXD3sP24jcPUjMbBwSJx/Y5c/uOPb31bF9sdWWwuKD/tiTt3/ZiNfMF67/4ZGg6h1jzuJAMa5/jQt6feCvaPXRz5VeK44BlcnUnnUxvTkWzzK6IVWA7fOgdabd3Kvtpti+Cuib4mZTivwlgQOoKpeFZRlVmAndyKkOUknhXKSEXZL93JxLpqFQ5WGBx+cLlgeByJJh2rprGAgyUGGi5jy2L4hSAjRwd6hzURhUpIWm52AZYDAsRZLPK0dq7/YHHUhCaqZARuL/bf/2Xy05JjirGyMXN2yVsMMWMTZl4xH50x6dlRKINzukL67MLj0bC3oH3lc/afZUG6Lp6C1lA1GZ795164AEtOUbb4vqBltwVO3aK2cT0uVjxSVfPvq+Dx9dLz/cdeYQydkK4IZKuPi30NN+SU1Fx8l2FU9c63ccINYehtZOnd2xoDIDgZJh/XjnIX235Z3NKjVKjD56LtvamvvCDt7UBiJe3NID7b9QFcAFcABfg/w3whwADALA9jy2I9PhSAAAAAElFTkSuQmCCMTg5Mw==", + + FR: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAIAAABHOBkQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJENDg5REJDMEM3MDExRTZBM0QzODREQzFFNDczOURFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJENDg5REJEMEM3MDExRTZBM0QzODREQzFFNDczOURFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkQ0ODlEQkEwQzcwMTFFNkEzRDM4NERDMUU0NzM5REUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkQ0ODlEQkIwQzcwMTFFNkEzRDM4NERDMUU0NzM5REUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5eKs0eAAAAZUlEQVR42uzPMQ2AQBAAwXu610EwQxCAAnrE0GAAETR4IqGABg/XfTIrYJMp0W+R7vmOfZynIT14z+te1lJr+tBF4wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTVL8AAJaAJpU7NMCAAAAAASUVORK5CYIIxMDEz", + + GB: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFERTU2NTJEMEQyRDExRTY5MUVCQTMxOUMzRTQ4OUQ4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFERTU2NTJFMEQyRDExRTY5MUVCQTMxOUMzRTQ4OUQ4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MURFNTY1MkIwRDJEMTFFNjkxRUJBMzE5QzNFNDg5RDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MURFNTY1MkMwRDJEMTFFNjkxRUJBMzE5QzNFNDg5RDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4LW+oDAAAIsElEQVR42sxZ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", + + US: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAiCAIAAABgN0jYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkFBOEQ0MUQxMEQyRDExRTY4NzY1OUZEN0M0RTRGNDEzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkFBOEQ0MUQyMEQyRDExRTY4NzY1OUZEN0M0RTRGNDEzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUE4RDQxQ0YwRDJEMTFFNjg3NjU5RkQ3QzRFNEY0MTMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QUE4RDQxRDAwRDJEMTFFNjg3NjU5RkQ3QzRFNEY0MTMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Xh7i9AAAGGElEQVR42uxX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" +}; diff --git a/examples-standalone/coffee-warehouse/src/assets/orders.js b/examples-standalone/coffee-warehouse/src/assets/orders.js index 0cea252f..6e85d92d 100644 --- a/examples-standalone/coffee-warehouse/src/assets/orders.js +++ b/examples-standalone/coffee-warehouse/src/assets/orders.js @@ -1,8308 +1,8308 @@ -export const orders = [ - { - orderID: 10255, - orderDate: 1531342800000, - orderTotal: 2490.5, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1533821400000, - requiredDateEnd: 1533826800000, - teamID: 4 - }, - { - orderID: 10263, - orderDate: 1532293200000, - orderTotal: 1873.8, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1534766400000, - requiredDateEnd: 1534771800000, - teamID: 4 - }, - { - orderID: 10324, - orderDate: 1538946000000, - orderTotal: 5275.715, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1541415600000, - requiredDateEnd: 1541421000000, - teamID: 4 - }, - { - orderID: 10331, - orderDate: 1539637200000, - orderTotal: 88.5, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1543312800000, - requiredDateEnd: 1543316400000, - teamID: 4 - }, - { - orderID: 10386, - orderDate: 1545084000000, - orderTotal: 166, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1546347600000, - requiredDateEnd: 1546353000000, - teamID: 4 - }, - { - orderID: 10411, - orderDate: 1547071200000, - orderTotal: 966.8, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1549530000000, - requiredDateEnd: 1549533600000, - teamID: 4 - }, - { - orderID: 10475, - orderDate: 1552514400000, - orderTotal: 1505.18, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1554989400000, - requiredDateEnd: 1554991200000, - teamID: 4 - }, - { - orderID: 10501, - orderDate: 1554757200000, - orderTotal: 149, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1557228600000, - requiredDateEnd: 1557232200000, - teamID: 4 - }, - { - orderID: 10506, - orderDate: 1555275600000, - orderTotal: 415.8, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1557748800000, - requiredDateEnd: 1557754200000, - teamID: 4 - }, - { - orderID: 10538, - orderDate: 1557867600000, - orderTotal: 139.8, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1560337200000, - requiredDateEnd: 1560342600000, - teamID: 4 - }, - { - orderID: 10557, - orderDate: 1559509200000, - orderTotal: 1152.5, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1560771000000, - requiredDateEnd: 1560772800000, - teamID: 4 - }, - { - orderID: 10566, - orderDate: 1560286800000, - orderTotal: 1761, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1562758200000, - requiredDateEnd: 1562761800000, - teamID: 4 - }, - { - orderID: 10577, - orderDate: 1561237200000, - orderTotal: 569, - customerCompanyName: `Trail's Head Gourmet Provisioners`, - customerContactName: 'Helvetius Nagy', - requiredDateStart: 1564907400000, - requiredDateEnd: 1564911000000, - teamID: 4 - }, - { - orderID: 10586, - orderDate: 1562014800000, - orderTotal: 23.8, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1564473600000, - requiredDateEnd: 1564477200000, - teamID: 4 - }, - { - orderID: 10646, - orderDate: 1566853200000, - orderTotal: 1446, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1570534200000, - requiredDateEnd: 1570537800000, - teamID: 4 - }, - { - orderID: 10672, - orderDate: 1568667600000, - orderTotal: 3815.25, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1569925800000, - requiredDateEnd: 1569927600000, - teamID: 4 - }, - { - orderID: 10687, - orderDate: 1569790800000, - orderTotal: 4960.9, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1572271200000, - requiredDateEnd: 1572273000000, - teamID: 4 - }, - { - orderID: 10705, - orderDate: 1571086800000, - orderTotal: 378, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1573569000000, - requiredDateEnd: 1573574400000, - teamID: 4 - }, - { - orderID: 10736, - orderDate: 1573423200000, - orderTotal: 997, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1575892800000, - requiredDateEnd: 1575894600000, - teamID: 4 - }, - { - orderID: 10745, - orderDate: 1574028000000, - orderTotal: 4529.8, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1576488600000, - requiredDateEnd: 1576492200000, - teamID: 4 - }, - { - orderID: 10750, - orderDate: 1574287200000, - orderTotal: 1590.5625, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1576765800000, - requiredDateEnd: 1576771200000, - teamID: 4 - }, - { - orderID: 10771, - orderDate: 1575928800000, - orderTotal: 344, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1578402000000, - requiredDateEnd: 1578407400000, - teamID: 4 - }, - { - orderID: 10782, - orderDate: 1576533600000, - orderTotal: 12.5, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1579010400000, - requiredDateEnd: 1579015800000, - teamID: 4 - }, - { - orderID: 10799, - orderDate: 1577311200000, - orderTotal: 1553.5, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1580983200000, - requiredDateEnd: 1580985000000, - teamID: 4 - }, - { - orderID: 10828, - orderDate: 1578866400000, - orderTotal: 932, - customerCompanyName: 'Rancho grande', - customerContactName: 'Sergio Gutiérrez', - requiredDateStart: 1580133600000, - requiredDateEnd: 1580139000000, - teamID: 4 - }, - { - orderID: 10829, - orderDate: 1578866400000, - orderTotal: 1764, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1581332400000, - requiredDateEnd: 1581334200000, - teamID: 4 - }, - { - orderID: 10837, - orderDate: 1579125600000, - orderTotal: 1064.5, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1581595200000, - requiredDateEnd: 1581600600000, - teamID: 4 - }, - { - orderID: 10849, - orderDate: 1579730400000, - orderTotal: 967.819, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1582201800000, - requiredDateEnd: 1582207200000, - teamID: 4 - }, - { - orderID: 10853, - orderDate: 1580076000000, - orderTotal: 625, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1582551000000, - requiredDateEnd: 1582554600000, - teamID: 4 - }, - { - orderID: 10871, - orderDate: 1580853600000, - orderTotal: 1979.23, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1583402400000, - requiredDateEnd: 1583404200000, - teamID: 4 - }, - { - orderID: 10889, - orderDate: 1581804000000, - orderTotal: 11380, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1584361800000, - requiredDateEnd: 1584367200000, - teamID: 4 - }, - { - orderID: 10893, - orderDate: 1581976800000, - orderTotal: 5502.11, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1584540000000, - requiredDateEnd: 1584541800000, - teamID: 4 - }, - { - orderID: 10905, - orderDate: 1582495200000, - orderTotal: 342, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1585053000000, - requiredDateEnd: 1585058400000, - teamID: 4 - }, - { - orderID: 10942, - orderDate: 1583877600000, - orderTotal: 560, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1586332800000, - requiredDateEnd: 1586334600000, - teamID: 4 - }, - { - orderID: 10951, - orderDate: 1584309600000, - orderTotal: 458.755, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1587978000000, - requiredDateEnd: 1587979800000, - teamID: 4 - }, - { - orderID: 10953, - orderDate: 1584309600000, - orderTotal: 4441.25, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1585560600000, - requiredDateEnd: 1585562400000, - teamID: 4 - }, - { - orderID: 10963, - orderDate: 1584568800000, - orderTotal: 57.8, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1587043800000, - requiredDateEnd: 1587045600000, - teamID: 4 - }, - { - orderID: 10970, - orderDate: 1585000800000, - orderTotal: 224, - customerCompanyName: 'Bólido Comidas preparadas', - customerContactName: 'Martín Sommer', - requiredDateStart: 1586246400000, - requiredDateEnd: 1586248200000, - teamID: 4 - }, - { - orderID: 10978, - orderDate: 1585173600000, - orderTotal: 1303.195, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1587639600000, - requiredDateEnd: 1587645000000, - teamID: 4 - }, - { - orderID: 11016, - orderDate: 1586466000000, - orderTotal: 491.5, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1588924800000, - requiredDateEnd: 1588926600000, - teamID: 4 - }, - { - orderID: 11017, - orderDate: 1586725200000, - orderTotal: 6750, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1589196600000, - requiredDateEnd: 1589198400000, - teamID: 4 - }, - { - orderID: 11022, - orderDate: 1586811600000, - orderTotal: 1402, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1589283000000, - requiredDateEnd: 1589286600000, - teamID: 4 - }, - { - orderID: 11058, - orderDate: 1588107600000, - orderTotal: 858, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1590586200000, - requiredDateEnd: 1590588000000, - teamID: 4 - }, - { - orderID: 10262, - orderDate: 1532206800000, - orderTotal: 584, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1534672800000, - requiredDateEnd: 1534676400000, - teamID: 4 - }, - { - orderID: 10268, - orderDate: 1532898000000, - orderTotal: 1101.2, - customerCompanyName: 'GROSELLA-Restaurante', - customerContactName: 'Manuel Pereira', - requiredDateStart: 1535369400000, - requiredDateEnd: 1535371200000, - teamID: 4 - }, - { - orderID: 10276, - orderDate: 1533675600000, - orderTotal: 420, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1534928400000, - requiredDateEnd: 1534930200000, - teamID: 4 - }, - { - orderID: 10278, - orderDate: 1534021200000, - orderTotal: 1488.8, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1536494400000, - requiredDateEnd: 1536498000000, - teamID: 4 - }, - { - orderID: 10279, - orderDate: 1534107600000, - orderTotal: 351, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1536568200000, - requiredDateEnd: 1536571800000, - teamID: 4 - }, - { - orderID: 10286, - orderDate: 1534798800000, - orderTotal: 3016, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1537261200000, - requiredDateEnd: 1537264800000, - teamID: 4 - }, - { - orderID: 10287, - orderDate: 1534885200000, - orderTotal: 819, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1537351200000, - requiredDateEnd: 1537356600000, - teamID: 4 - }, - { - orderID: 10290, - orderDate: 1535317200000, - orderTotal: 2169, - customerCompanyName: 'Comércio Mineiro', - customerContactName: 'Pedro Afonso', - requiredDateStart: 1537776000000, - requiredDateEnd: 1537781400000, - teamID: 4 - }, - { - orderID: 10301, - orderDate: 1536440400000, - orderTotal: 755, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1538919000000, - requiredDateEnd: 1538922600000, - teamID: 4 - }, - { - orderID: 10305, - orderDate: 1536786000000, - orderTotal: 3741.3, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1539248400000, - requiredDateEnd: 1539250200000, - teamID: 4 - }, - { - orderID: 10310, - orderDate: 1537390800000, - orderTotal: 336, - customerCompanyName: 'The Big Cheese', - customerContactName: 'Liz Nixon', - requiredDateStart: 1539865800000, - requiredDateEnd: 1539869400000, - teamID: 4 - }, - { - orderID: 10318, - orderDate: 1538341200000, - orderTotal: 240.4, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1540810800000, - requiredDateEnd: 1540816200000, - teamID: 4 - }, - { - orderID: 10334, - orderDate: 1540069200000, - orderTotal: 144.8, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1542549600000, - requiredDateEnd: 1542555000000, - teamID: 4 - }, - { - orderID: 10354, - orderDate: 1542146400000, - orderTotal: 568.8, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1544621400000, - requiredDateEnd: 1544625000000, - teamID: 4 - }, - { - orderID: 10366, - orderDate: 1543356000000, - orderTotal: 136, - customerCompanyName: 'Galería del gastrónomo', - customerContactName: 'Eduardo Saavedra', - requiredDateStart: 1547033400000, - requiredDateEnd: 1547037000000, - teamID: 4 - }, - { - orderID: 10369, - orderDate: 1543701600000, - orderTotal: 2390.4, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1546180200000, - requiredDateEnd: 1546182000000, - teamID: 4 - }, - { - orderID: 10380, - orderDate: 1544565600000, - orderTotal: 1313.82, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1547044200000, - requiredDateEnd: 1547046000000, - teamID: 4 - }, - { - orderID: 10383, - orderDate: 1544911200000, - orderTotal: 899, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1547389800000, - requiredDateEnd: 1547395200000, - teamID: 4 - }, - { - orderID: 10399, - orderDate: 1546207200000, - orderTotal: 1765.6, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1547458200000, - requiredDateEnd: 1547463600000, - teamID: 4 - }, - { - orderID: 10402, - orderDate: 1546380000000, - orderTotal: 2713.5, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1550059200000, - requiredDateEnd: 1550064600000, - teamID: 4 - }, - { - orderID: 10408, - orderDate: 1546898400000, - orderTotal: 1622.4, - customerCompanyName: 'Folies gourmandes', - customerContactName: 'Martine Rancé', - requiredDateStart: 1549369800000, - requiredDateEnd: 1549373400000, - teamID: 4 - }, - { - orderID: 10412, - orderDate: 1547330400000, - orderTotal: 334.8, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1549789200000, - requiredDateEnd: 1549791000000, - teamID: 4 - }, - { - orderID: 10416, - orderDate: 1547589600000, - orderTotal: 720, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1550064600000, - requiredDateEnd: 1550068200000, - teamID: 4 - }, - { - orderID: 10421, - orderDate: 1548021600000, - orderTotal: 1194.27, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1551709800000, - requiredDateEnd: 1551713400000, - teamID: 4 - }, - { - orderID: 10435, - orderDate: 1549231200000, - orderTotal: 631.6, - customerCompanyName: 'Consolidated Holdings', - customerContactName: 'Elizabeth Brown', - requiredDateStart: 1552899600000, - requiredDateEnd: 1552905000000, - teamID: 4 - }, - { - orderID: 10437, - orderDate: 1549317600000, - orderTotal: 393, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1551781800000, - requiredDateEnd: 1551787200000, - teamID: 4 - }, - { - orderID: 10443, - orderDate: 1549922400000, - orderTotal: 517.44, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1552397400000, - requiredDateEnd: 1552402800000, - teamID: 4 - }, - { - orderID: 10450, - orderDate: 1550527200000, - orderTotal: 425.12, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1552991400000, - requiredDateEnd: 1552996800000, - teamID: 4 - }, - { - orderID: 10452, - orderDate: 1550613600000, - orderTotal: 2018.5, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1553092200000, - requiredDateEnd: 1553094000000, - teamID: 4 - }, - { - orderID: 10455, - orderDate: 1550959200000, - orderTotal: 2684, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1554636600000, - requiredDateEnd: 1554642000000, - teamID: 4 - }, - { - orderID: 10456, - orderDate: 1551045600000, - orderTotal: 557.6, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1554730200000, - requiredDateEnd: 1554735600000, - teamID: 4 - }, - { - orderID: 10460, - orderDate: 1551304800000, - orderTotal: 176.1, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1553781600000, - requiredDateEnd: 1553785200000, - teamID: 4 - }, - { - orderID: 10467, - orderDate: 1551823200000, - orderTotal: 235.2, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1554291000000, - requiredDateEnd: 1554292800000, - teamID: 4 - }, - { - orderID: 10472, - orderDate: 1552341600000, - orderTotal: 1036.8, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1554796800000, - requiredDateEnd: 1554798600000, - teamID: 4 - }, - { - orderID: 10476, - orderDate: 1552773600000, - orderTotal: 180.48, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1555232400000, - requiredDateEnd: 1555234200000, - teamID: 4 - }, - { - orderID: 10481, - orderDate: 1553032800000, - orderTotal: 1472, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1555493400000, - requiredDateEnd: 1555498800000, - teamID: 4 - }, - { - orderID: 10488, - orderDate: 1553637600000, - orderTotal: 1512, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1556109000000, - requiredDateEnd: 1556114400000, - teamID: 4 - }, - { - orderID: 10491, - orderDate: 1553983200000, - orderTotal: 259.505, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1556442000000, - requiredDateEnd: 1556445600000, - teamID: 4 - }, - { - orderID: 10498, - orderDate: 1554584400000, - orderTotal: 575, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1557059400000, - requiredDateEnd: 1557063000000, - teamID: 4 - }, - { - orderID: 10521, - orderDate: 1556485200000, - orderTotal: 225.5, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1558963800000, - requiredDateEnd: 1558965600000, - teamID: 4 - }, - { - orderID: 10533, - orderDate: 1557608400000, - orderTotal: 2222.2, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1560067200000, - requiredDateEnd: 1560072600000, - teamID: 4 - }, - { - orderID: 10534, - orderDate: 1557608400000, - orderTotal: 465.7, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1560076200000, - requiredDateEnd: 1560078000000, - teamID: 4 - }, - { - orderID: 10543, - orderDate: 1558386000000, - orderTotal: 1504.5, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1560850200000, - requiredDateEnd: 1560855600000, - teamID: 4 - }, - { - orderID: 10545, - orderDate: 1558472400000, - orderTotal: 210, - customerCompanyName: 'Lazy K Kountry Store', - customerContactName: 'John Steel', - requiredDateStart: 1560931200000, - requiredDateEnd: 1560936600000, - teamID: 4 - }, - { - orderID: 10560, - orderDate: 1559768400000, - orderTotal: 1072.425, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1562238000000, - requiredDateEnd: 1562239800000, - teamID: 4 - }, - { - orderID: 10565, - orderDate: 1560200400000, - orderTotal: 639.9, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1562670000000, - requiredDateEnd: 1562673600000, - teamID: 4 - }, - { - orderID: 10571, - orderDate: 1560718800000, - orderTotal: 550.5875, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1564396200000, - requiredDateEnd: 1564399800000, - teamID: 4 - }, - { - orderID: 10589, - orderDate: 1562187600000, - orderTotal: 72, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1564648200000, - requiredDateEnd: 1564650000000, - teamID: 4 - }, - { - orderID: 10596, - orderDate: 1562792400000, - orderTotal: 1180.88, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1565265600000, - requiredDateEnd: 1565269200000, - teamID: 4 - }, - { - orderID: 10602, - orderDate: 1563310800000, - orderTotal: 48.75, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1565780400000, - requiredDateEnd: 1565785800000, - teamID: 4 - }, - { - orderID: 10603, - orderDate: 1563397200000, - orderTotal: 1483, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1565861400000, - requiredDateEnd: 1565866800000, - teamID: 4 - }, - { - orderID: 10610, - orderDate: 1564002000000, - orderTotal: 299.25, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1566473400000, - requiredDateEnd: 1566477000000, - teamID: 4 - }, - { - orderID: 10614, - orderDate: 1564347600000, - orderTotal: 464, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1566810000000, - requiredDateEnd: 1566815400000, - teamID: 4 - }, - { - orderID: 10623, - orderDate: 1565125200000, - orderTotal: 1336.95, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1567596600000, - requiredDateEnd: 1567600200000, - teamID: 4 - }, - { - orderID: 10627, - orderDate: 1565470800000, - orderTotal: 1185.75, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1569141000000, - requiredDateEnd: 1569144600000, - teamID: 4 - }, - { - orderID: 10631, - orderDate: 1565730000000, - orderTotal: 55.8, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1568208600000, - requiredDateEnd: 1568212200000, - teamID: 4 - }, - { - orderID: 10632, - orderDate: 1565730000000, - orderTotal: 589, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1568205000000, - requiredDateEnd: 1568206800000, - teamID: 4 - }, - { - orderID: 10635, - orderDate: 1566075600000, - orderTotal: 1326.225, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1568536200000, - requiredDateEnd: 1568541600000, - teamID: 4 - }, - { - orderID: 10651, - orderDate: 1567285200000, - orderTotal: 397.8, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1569758400000, - requiredDateEnd: 1569762000000, - teamID: 4 - }, - { - orderID: 10660, - orderDate: 1567890000000, - orderTotal: 1701, - customerCompanyName: 'Hungry Coyote Import Store', - customerContactName: 'Yoshi Latimer', - requiredDateStart: 1570348800000, - requiredDateEnd: 1570350600000, - teamID: 4 - }, - { - orderID: 10679, - orderDate: 1569186000000, - orderTotal: 660, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1571648400000, - requiredDateEnd: 1571650200000, - teamID: 4 - }, - { - orderID: 10694, - orderDate: 1570309200000, - orderTotal: 4825, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1572786000000, - requiredDateEnd: 1572787800000, - teamID: 4 - }, - { - orderID: 10696, - orderDate: 1570482000000, - orderTotal: 996, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1574166600000, - requiredDateEnd: 1574172000000, - teamID: 4 - }, - { - orderID: 10706, - orderDate: 1571173200000, - orderTotal: 1893, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1573653600000, - requiredDateEnd: 1573659000000, - teamID: 4 - }, - { - orderID: 10719, - orderDate: 1572123600000, - orderTotal: 844.2525, - customerCompanyName: `Let's Stop N Shop`, - customerContactName: 'Jaime Yorres', - requiredDateStart: 1574598600000, - requiredDateEnd: 1574602200000, - teamID: 4 - }, - { - orderID: 10720, - orderDate: 1572213600000, - orderTotal: 550, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1573473600000, - requiredDateEnd: 1573477200000, - teamID: 4 - }, - { - orderID: 10722, - orderDate: 1572300000000, - orderTotal: 1570, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1575979200000, - requiredDateEnd: 1575981000000, - teamID: 4 - }, - { - orderID: 10724, - orderDate: 1572386400000, - orderTotal: 638.5, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1576072800000, - requiredDateEnd: 1576078200000, - teamID: 4 - }, - { - orderID: 10729, - orderDate: 1572818400000, - orderTotal: 1850, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1576490400000, - requiredDateEnd: 1576495800000, - teamID: 4 - }, - { - orderID: 10756, - orderDate: 1574805600000, - orderTotal: 1990, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1577275200000, - requiredDateEnd: 1577277000000, - teamID: 4 - }, - { - orderID: 10770, - orderDate: 1575842400000, - orderTotal: 236.25, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1578303000000, - requiredDateEnd: 1578304800000, - teamID: 4 - }, - { - orderID: 10786, - orderDate: 1576706400000, - orderTotal: 1531.08, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1579177800000, - requiredDateEnd: 1579183200000, - teamID: 4 - }, - { - orderID: 10795, - orderDate: 1577138400000, - orderTotal: 2158, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1579609800000, - requiredDateEnd: 1579613400000, - teamID: 4 - }, - { - orderID: 10811, - orderDate: 1577916000000, - orderTotal: 852, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1580376600000, - requiredDateEnd: 1580380200000, - teamID: 4 - }, - { - orderID: 10824, - orderDate: 1578520800000, - orderTotal: 250.8, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1580994000000, - requiredDateEnd: 1580995800000, - teamID: 4 - }, - { - orderID: 10844, - orderDate: 1579557600000, - orderTotal: 735, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1582018200000, - requiredDateEnd: 1582021800000, - teamID: 4 - }, - { - orderID: 10845, - orderDate: 1579557600000, - orderTotal: 3812.7, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1580826600000, - requiredDateEnd: 1580832000000, - teamID: 4 - }, - { - orderID: 10852, - orderDate: 1579989600000, - orderTotal: 2984, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1581258600000, - requiredDateEnd: 1581264000000, - teamID: 4 - }, - { - orderID: 10857, - orderDate: 1580162400000, - orderTotal: 2048.2125, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1582632000000, - requiredDateEnd: 1582637400000, - teamID: 4 - }, - { - orderID: 10862, - orderDate: 1580335200000, - orderTotal: 581, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1584100800000, - requiredDateEnd: 1584102600000, - teamID: 4 - }, - { - orderID: 10883, - orderDate: 1581458400000, - orderTotal: 36, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1584012600000, - requiredDateEnd: 1584018000000, - teamID: 4 - }, - { - orderID: 10887, - orderDate: 1581544800000, - orderTotal: 70, - customerCompanyName: 'Galería del gastrónomo', - customerContactName: 'Eduardo Saavedra', - requiredDateStart: 1584095400000, - requiredDateEnd: 1584097200000, - teamID: 4 - }, - { - orderID: 10932, - orderDate: 1583445600000, - orderTotal: 1788.63, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1585911600000, - requiredDateEnd: 1585917000000, - teamID: 4 - }, - { - orderID: 10940, - orderDate: 1583877600000, - orderTotal: 360, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1586334600000, - requiredDateEnd: 1586336400000, - teamID: 4 - }, - { - orderID: 10955, - orderDate: 1584396000000, - orderTotal: 74.4, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1586871000000, - requiredDateEnd: 1586872800000, - teamID: 4 - }, - { - orderID: 10957, - orderDate: 1584482400000, - orderTotal: 1762.7, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1586944800000, - requiredDateEnd: 1586948400000, - teamID: 4 - }, - { - orderID: 10961, - orderDate: 1584568800000, - orderTotal: 1119.9, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1587031200000, - requiredDateEnd: 1587033000000, - teamID: 4 - }, - { - orderID: 10962, - orderDate: 1584568800000, - orderTotal: 3584, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1587038400000, - requiredDateEnd: 1587043800000, - teamID: 4 - }, - { - orderID: 10977, - orderDate: 1585173600000, - orderTotal: 2233, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1587634200000, - requiredDateEnd: 1587636000000, - teamID: 4 - }, - { - orderID: 10979, - orderDate: 1585173600000, - orderTotal: 4813.5, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1587639600000, - requiredDateEnd: 1587643200000, - teamID: 4 - }, - { - orderID: 10986, - orderDate: 1585515600000, - orderTotal: 2220, - customerCompanyName: 'Océano Atlántico Ltda.', - customerContactName: 'Yvonne Moncada', - requiredDateStart: 1587979800000, - requiredDateEnd: 1587983400000, - teamID: 4 - }, - { - orderID: 10987, - orderDate: 1585602000000, - orderTotal: 2772, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1588060800000, - requiredDateEnd: 1588064400000, - teamID: 4 - }, - { - orderID: 10997, - orderDate: 1585861200000, - orderTotal: 1885, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1589542200000, - requiredDateEnd: 1589547600000, - teamID: 4 - }, - { - orderID: 10998, - orderDate: 1585861200000, - orderTotal: 686, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1587121200000, - requiredDateEnd: 1587123000000, - teamID: 4 - }, - { - orderID: 11007, - orderDate: 1586293200000, - orderTotal: 2633.9, - customerCompanyName: 'Princesa Isabel Vinhos', - customerContactName: 'Isabel de Castro', - requiredDateStart: 1588759200000, - requiredDateEnd: 1588764600000, - teamID: 4 - }, - { - orderID: 11034, - orderDate: 1587330000000, - orderTotal: 539.4, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1591016400000, - requiredDateEnd: 1591021800000, - teamID: 4 - }, - { - orderID: 11036, - orderDate: 1587330000000, - orderTotal: 1692, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1589794200000, - requiredDateEnd: 1589797800000, - teamID: 4 - }, - { - orderID: 11046, - orderDate: 1587589200000, - orderTotal: 1485.8, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1590066000000, - requiredDateEnd: 1590067800000, - teamID: 4 - }, - { - orderID: 11050, - orderDate: 1587934800000, - orderTotal: 810, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1590404400000, - requiredDateEnd: 1590409800000, - teamID: 4 - }, - { - orderID: 11054, - orderDate: 1588021200000, - orderTotal: 305, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1590498000000, - requiredDateEnd: 1590499800000, - teamID: 4 - }, - { - orderID: 11056, - orderDate: 1588021200000, - orderTotal: 3740, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1589270400000, - requiredDateEnd: 1589274000000, - teamID: 4 - }, - { - orderID: 11065, - orderDate: 1588280400000, - orderTotal: 189.42, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1590755400000, - requiredDateEnd: 1590757200000, - teamID: 4 - }, - { - orderID: 11068, - orderDate: 1588539600000, - orderTotal: 2027.08, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1591011000000, - requiredDateEnd: 1591016400000, - teamID: 4 - }, - { - orderID: 11075, - orderDate: 1588712400000, - orderTotal: 498.1, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1591180200000, - requiredDateEnd: 1591185600000, - teamID: 4 - }, - { - orderID: 10289, - orderDate: 1535230800000, - orderTotal: 479.4, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1537698600000, - requiredDateEnd: 1537704000000, - teamID: 3 - }, - { - orderID: 10303, - orderDate: 1536613200000, - orderTotal: 1117.8, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1539090000000, - requiredDateEnd: 1539093600000, - teamID: 3 - }, - { - orderID: 10308, - orderDate: 1537218000000, - orderTotal: 88.8, - customerCompanyName: 'Ana Trujillo Emparedados y helados', - customerContactName: 'Ana Trujillo', - requiredDateStart: 1539696600000, - requiredDateEnd: 1539702000000, - teamID: 3 - }, - { - orderID: 10319, - orderDate: 1538427600000, - orderTotal: 1191.2, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1540909800000, - requiredDateEnd: 1540915200000, - teamID: 3 - }, - { - orderID: 10322, - orderDate: 1538600400000, - orderTotal: 112, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1541080800000, - requiredDateEnd: 1541086200000, - teamID: 3 - }, - { - orderID: 10335, - orderDate: 1540155600000, - orderTotal: 2036.16, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1542619800000, - requiredDateEnd: 1542623400000, - teamID: 3 - }, - { - orderID: 10336, - orderDate: 1540242000000, - orderTotal: 285.12, - customerCompanyName: 'Princesa Isabel Vinhos', - customerContactName: 'Isabel de Castro', - requiredDateStart: 1542720600000, - requiredDateEnd: 1542722400000, - teamID: 3 - }, - { - orderID: 10341, - orderDate: 1540764000000, - orderTotal: 352.6, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1543222800000, - requiredDateEnd: 1543224600000, - teamID: 3 - }, - { - orderID: 10349, - orderDate: 1541628000000, - orderTotal: 141.6, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1544104800000, - requiredDateEnd: 1544106600000, - teamID: 3 - }, - { - orderID: 10353, - orderDate: 1542060000000, - orderTotal: 8593.28, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1544520600000, - requiredDateEnd: 1544524200000, - teamID: 3 - }, - { - orderID: 10367, - orderDate: 1543356000000, - orderTotal: 834.2, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1545834600000, - requiredDateEnd: 1545838200000, - teamID: 3 - }, - { - orderID: 10406, - orderDate: 1546812000000, - orderTotal: 1830.78, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1550498400000, - requiredDateEnd: 1550500200000, - teamID: 3 - }, - { - orderID: 10424, - orderDate: 1548194400000, - orderTotal: 9194.56, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1550665800000, - requiredDateEnd: 1550667600000, - teamID: 3 - }, - { - orderID: 10428, - orderDate: 1548626400000, - orderTotal: 192, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1551097800000, - requiredDateEnd: 1551103200000, - teamID: 3 - }, - { - orderID: 10458, - orderDate: 1551132000000, - orderTotal: 3891, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1553607000000, - requiredDateEnd: 1553612400000, - teamID: 3 - }, - { - orderID: 10483, - orderDate: 1553378400000, - orderTotal: 668.8, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1555839000000, - requiredDateEnd: 1555840800000, - teamID: 3 - }, - { - orderID: 10490, - orderDate: 1553983200000, - orderTotal: 3163.2, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1556445600000, - requiredDateEnd: 1556451000000, - teamID: 3 - }, - { - orderID: 10496, - orderDate: 1554325200000, - orderTotal: 190, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1556796600000, - requiredDateEnd: 1556800200000, - teamID: 3 - }, - { - orderID: 10497, - orderDate: 1554325200000, - orderTotal: 1380.6, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1556802000000, - requiredDateEnd: 1556803800000, - teamID: 3 - }, - { - orderID: 10507, - orderDate: 1555275600000, - orderTotal: 749.0625, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1557736200000, - requiredDateEnd: 1557738000000, - teamID: 3 - }, - { - orderID: 10512, - orderDate: 1555794000000, - orderTotal: 525.3, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1558265400000, - requiredDateEnd: 1558267200000, - teamID: 3 - }, - { - orderID: 10513, - orderDate: 1555880400000, - orderTotal: 1942, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1559563200000, - requiredDateEnd: 1559566800000, - teamID: 3 - }, - { - orderID: 10520, - orderDate: 1556485200000, - orderTotal: 200, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1558958400000, - requiredDateEnd: 1558962000000, - teamID: 3 - }, - { - orderID: 10523, - orderDate: 1556658000000, - orderTotal: 2444.31, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1559120400000, - requiredDateEnd: 1559124000000, - teamID: 3 - }, - { - orderID: 10527, - orderDate: 1557003600000, - orderTotal: 1503, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1559462400000, - requiredDateEnd: 1559466000000, - teamID: 3 - }, - { - orderID: 10531, - orderDate: 1557262800000, - orderTotal: 110, - customerCompanyName: 'Océano Atlántico Ltda.', - customerContactName: 'Yvonne Moncada', - requiredDateStart: 1559725200000, - requiredDateEnd: 1559730600000, - teamID: 3 - }, - { - orderID: 10532, - orderDate: 1557349200000, - orderTotal: 796.35, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1559808000000, - requiredDateEnd: 1559813400000, - teamID: 3 - }, - { - orderID: 10550, - orderDate: 1558990800000, - orderTotal: 683.3, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1561469400000, - requiredDateEnd: 1561471200000, - teamID: 3 - }, - { - orderID: 10573, - orderDate: 1560891600000, - orderTotal: 2082, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1563354000000, - requiredDateEnd: 1563359400000, - teamID: 3 - }, - { - orderID: 10585, - orderDate: 1561928400000, - orderTotal: 142.5, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1564398000000, - requiredDateEnd: 1564399800000, - teamID: 3 - }, - { - orderID: 10593, - orderDate: 1562619600000, - orderTotal: 1994.4, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1565091000000, - requiredDateEnd: 1565092800000, - teamID: 3 - }, - { - orderID: 10597, - orderDate: 1562792400000, - orderTotal: 718.08, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1565258400000, - requiredDateEnd: 1565263800000, - teamID: 3 - }, - { - orderID: 10601, - orderDate: 1563224400000, - orderTotal: 2285, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1566912600000, - requiredDateEnd: 1566914400000, - teamID: 3 - }, - { - orderID: 10609, - orderDate: 1563915600000, - orderTotal: 424, - customerCompanyName: 'Du monde entier', - customerContactName: 'Janine Labrune', - requiredDateStart: 1566392400000, - requiredDateEnd: 1566396000000, - teamID: 3 - }, - { - orderID: 10633, - orderDate: 1565816400000, - orderTotal: 5510.5925, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1568286000000, - requiredDateEnd: 1568287800000, - teamID: 3 - }, - { - orderID: 10639, - orderDate: 1566248400000, - orderTotal: 500, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1568727000000, - requiredDateEnd: 1568732400000, - teamID: 3 - }, - { - orderID: 10642, - orderDate: 1566421200000, - orderTotal: 696, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1568896200000, - requiredDateEnd: 1568898000000, - teamID: 3 - }, - { - orderID: 10659, - orderDate: 1567630800000, - orderTotal: 1227.02, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1570098600000, - requiredDateEnd: 1570100400000, - teamID: 3 - }, - { - orderID: 10661, - orderDate: 1567976400000, - orderTotal: 562.6, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1570437000000, - requiredDateEnd: 1570442400000, - teamID: 3 - }, - { - orderID: 10666, - orderDate: 1568235600000, - orderTotal: 4666.94, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1570696200000, - requiredDateEnd: 1570701600000, - teamID: 3 - }, - { - orderID: 10667, - orderDate: 1568235600000, - orderTotal: 1536.8, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1570707000000, - requiredDateEnd: 1570710600000, - teamID: 3 - }, - { - orderID: 10678, - orderDate: 1569186000000, - orderTotal: 5256.5, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1571657400000, - requiredDateEnd: 1571659200000, - teamID: 3 - }, - { - orderID: 10695, - orderDate: 1570395600000, - orderTotal: 642, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1574067600000, - requiredDateEnd: 1574069400000, - teamID: 3 - }, - { - orderID: 10731, - orderDate: 1572991200000, - orderTotal: 1890.5, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1575469800000, - requiredDateEnd: 1575473400000, - teamID: 3 - }, - { - orderID: 10775, - orderDate: 1576101600000, - orderTotal: 228, - customerCompanyName: 'The Cracker Box', - customerContactName: 'Liu Wong', - requiredDateStart: 1578580200000, - requiredDateEnd: 1578585600000, - teamID: 3 - }, - { - orderID: 10777, - orderDate: 1576360800000, - orderTotal: 224, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1577611800000, - requiredDateEnd: 1577617200000, - teamID: 3 - }, - { - orderID: 10797, - orderDate: 1577224800000, - orderTotal: 420, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1579690800000, - requiredDateEnd: 1579692600000, - teamID: 3 - }, - { - orderID: 10809, - orderDate: 1577829600000, - orderTotal: 140, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1580292000000, - requiredDateEnd: 1580293800000, - teamID: 3 - }, - { - orderID: 10818, - orderDate: 1578348000000, - orderTotal: 833, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1580823000000, - requiredDateEnd: 1580828400000, - teamID: 3 - }, - { - orderID: 10836, - orderDate: 1579125600000, - orderTotal: 4705.5, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1581600600000, - requiredDateEnd: 1581602400000, - teamID: 3 - }, - { - orderID: 10848, - orderDate: 1579730400000, - orderTotal: 931.5, - customerCompanyName: 'Consolidated Holdings', - customerContactName: 'Elizabeth Brown', - requiredDateStart: 1582209000000, - requiredDateEnd: 1582210800000, - teamID: 3 - }, - { - orderID: 10868, - orderDate: 1580767200000, - orderTotal: 1920.6, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1583319600000, - requiredDateEnd: 1583321400000, - teamID: 3 - }, - { - orderID: 10876, - orderDate: 1581199200000, - orderTotal: 917, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1583749800000, - requiredDateEnd: 1583755200000, - teamID: 3 - }, - { - orderID: 10880, - orderDate: 1581285600000, - orderTotal: 1500, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1585058400000, - requiredDateEnd: 1585063800000, - teamID: 3 - }, - { - orderID: 10890, - orderDate: 1581804000000, - orderTotal: 860.1, - customerCompanyName: 'Du monde entier', - customerContactName: 'Janine Labrune', - requiredDateStart: 1584354600000, - requiredDateEnd: 1584360000000, - teamID: 3 - }, - { - orderID: 10891, - orderDate: 1581890400000, - orderTotal: 368.9325, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1584441000000, - requiredDateEnd: 1584444600000, - teamID: 3 - }, - { - orderID: 10896, - orderDate: 1582063200000, - orderTotal: 750.5, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1584610200000, - requiredDateEnd: 1584613800000, - teamID: 3 - }, - { - orderID: 10923, - orderDate: 1583186400000, - orderTotal: 748.8, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1586865600000, - requiredDateEnd: 1586869200000, - teamID: 3 - }, - { - orderID: 10937, - orderDate: 1583791200000, - orderTotal: 644.8, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1585053000000, - requiredDateEnd: 1585054800000, - teamID: 3 - }, - { - orderID: 10941, - orderDate: 1583877600000, - orderTotal: 4011.75, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1586347200000, - requiredDateEnd: 1586352600000, - teamID: 3 - }, - { - orderID: 10958, - orderDate: 1584482400000, - orderTotal: 781, - customerCompanyName: 'Océano Atlántico Ltda.', - customerContactName: 'Yvonne Moncada', - requiredDateStart: 1586948400000, - requiredDateEnd: 1586950200000, - teamID: 3 - }, - { - orderID: 10993, - orderDate: 1585688400000, - orderTotal: 4895.4375, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1588152600000, - requiredDateEnd: 1588154400000, - teamID: 3 - }, - { - orderID: 11008, - orderDate: 1586293200000, - orderTotal: 4680.9, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1588759200000, - requiredDateEnd: 1588762800000, - teamID: 3 - }, - { - orderID: 11030, - orderDate: 1587070800000, - orderTotal: 12615.05, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1589544000000, - requiredDateEnd: 1589545800000, - teamID: 3 - }, - { - orderID: 11033, - orderDate: 1587070800000, - orderTotal: 3232.8, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1589549400000, - requiredDateEnd: 1589553000000, - teamID: 3 - }, - { - orderID: 11037, - orderDate: 1587416400000, - orderTotal: 60, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1589882400000, - requiredDateEnd: 1589886000000, - teamID: 3 - }, - { - orderID: 11047, - orderDate: 1587675600000, - orderTotal: 817.875, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1590141600000, - requiredDateEnd: 1590145200000, - teamID: 3 - }, - { - orderID: 11048, - orderDate: 1587675600000, - orderTotal: 525, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1590143400000, - requiredDateEnd: 1590145200000, - teamID: 3 - }, - { - orderID: 11051, - orderDate: 1587934800000, - orderTotal: 36, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1590413400000, - requiredDateEnd: 1590418800000, - teamID: 3 - }, - { - orderID: 11055, - orderDate: 1588021200000, - orderTotal: 1727.5, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1590492600000, - requiredDateEnd: 1590494400000, - teamID: 3 - }, - { - orderID: 11066, - orderDate: 1588280400000, - orderTotal: 928.75, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1590751800000, - requiredDateEnd: 1590755400000, - teamID: 3 - }, - { - orderID: 11074, - orderDate: 1588712400000, - orderTotal: 232.085, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1591189200000, - requiredDateEnd: 1591192800000, - teamID: 3 - }, - { - orderID: 10249, - orderDate: 1530738000000, - orderTotal: 1863.4, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1534426200000, - requiredDateEnd: 1534429800000, - teamID: 3 - }, - { - orderID: 10264, - orderDate: 1532379600000, - orderTotal: 695.625, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1534851000000, - requiredDateEnd: 1534852800000, - teamID: 3 - }, - { - orderID: 10271, - orderDate: 1533070800000, - orderTotal: 48, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1535533200000, - requiredDateEnd: 1535538600000, - teamID: 3 - }, - { - orderID: 10272, - orderDate: 1533157200000, - orderTotal: 1456, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1535623200000, - requiredDateEnd: 1535626800000, - teamID: 3 - }, - { - orderID: 10274, - orderDate: 1533502800000, - orderTotal: 538.6, - customerCompanyName: 'Vins et alcools Chevalier', - customerContactName: 'Paul Henriot', - requiredDateStart: 1535977800000, - requiredDateEnd: 1535981400000, - teamID: 3 - }, - { - orderID: 10291, - orderDate: 1535317200000, - orderTotal: 497.52, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1537779600000, - requiredDateEnd: 1537785000000, - teamID: 3 - }, - { - orderID: 10296, - orderDate: 1535922000000, - orderTotal: 1050.6, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1538382600000, - requiredDateEnd: 1538386200000, - teamID: 3 - }, - { - orderID: 10298, - orderDate: 1536094800000, - orderTotal: 2645, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1538553600000, - requiredDateEnd: 1538555400000, - teamID: 3 - }, - { - orderID: 10317, - orderDate: 1538254800000, - orderTotal: 288, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1540726200000, - requiredDateEnd: 1540729800000, - teamID: 3 - }, - { - orderID: 10350, - orderDate: 1541887200000, - orderTotal: 642.06, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1544349600000, - requiredDateEnd: 1544353200000, - teamID: 3 - }, - { - orderID: 10355, - orderDate: 1542232800000, - orderTotal: 480, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1544711400000, - requiredDateEnd: 1544716800000, - teamID: 3 - }, - { - orderID: 10356, - orderDate: 1542492000000, - orderTotal: 1106.4, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1544970600000, - requiredDateEnd: 1544972400000, - teamID: 3 - }, - { - orderID: 10370, - orderDate: 1543788000000, - orderTotal: 1117.6, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1546263000000, - requiredDateEnd: 1546268400000, - teamID: 3 - }, - { - orderID: 10390, - orderDate: 1545516000000, - orderTotal: 2090.88, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1547992800000, - requiredDateEnd: 1547998200000, - teamID: 3 - }, - { - orderID: 10395, - orderDate: 1545775200000, - orderTotal: 2122.92, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1548235800000, - requiredDateEnd: 1548239400000, - teamID: 3 - }, - { - orderID: 10423, - orderDate: 1548194400000, - orderTotal: 1020, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1549443600000, - requiredDateEnd: 1549447200000, - teamID: 3 - }, - { - orderID: 10425, - orderDate: 1548280800000, - orderTotal: 360, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1550745000000, - requiredDateEnd: 1550748600000, - teamID: 3 - }, - { - orderID: 10439, - orderDate: 1549490400000, - orderTotal: 1078, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1551952800000, - requiredDateEnd: 1551954600000, - teamID: 3 - }, - { - orderID: 10446, - orderDate: 1550095200000, - orderTotal: 246.24, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1552564800000, - requiredDateEnd: 1552566600000, - teamID: 3 - }, - { - orderID: 10480, - orderDate: 1553032800000, - orderTotal: 756, - customerCompanyName: 'Folies gourmandes', - customerContactName: 'Martine Rancé', - requiredDateStart: 1555498800000, - requiredDateEnd: 1555504200000, - teamID: 3 - }, - { - orderID: 10489, - orderDate: 1553724000000, - orderTotal: 439.2, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1556188200000, - requiredDateEnd: 1556190000000, - teamID: 3 - }, - { - orderID: 10500, - orderDate: 1554757200000, - orderTotal: 523.26, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1557235800000, - requiredDateEnd: 1557241200000, - teamID: 3 - }, - { - orderID: 10503, - orderDate: 1554930000000, - orderTotal: 2048.5, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1557397800000, - requiredDateEnd: 1557399600000, - teamID: 3 - }, - { - orderID: 10510, - orderDate: 1555534800000, - orderTotal: 4707.54, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1558006200000, - requiredDateEnd: 1558009800000, - teamID: 3 - }, - { - orderID: 10519, - orderDate: 1556398800000, - orderTotal: 2314.2, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1558868400000, - requiredDateEnd: 1558873800000, - teamID: 3 - }, - { - orderID: 10528, - orderDate: 1557090000000, - orderTotal: 392.2, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1558350000000, - requiredDateEnd: 1558355400000, - teamID: 3 - }, - { - orderID: 10539, - orderDate: 1557954000000, - orderTotal: 355.5, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1560421800000, - requiredDateEnd: 1560425400000, - teamID: 3 - }, - { - orderID: 10555, - orderDate: 1559422800000, - orderTotal: 2944.4, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1561890600000, - requiredDateEnd: 1561892400000, - teamID: 3 - }, - { - orderID: 10559, - orderDate: 1559682000000, - orderTotal: 520.41, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1562144400000, - requiredDateEnd: 1562149800000, - teamID: 3 - }, - { - orderID: 10599, - orderDate: 1563138000000, - orderTotal: 493, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1566811800000, - requiredDateEnd: 1566815400000, - teamID: 3 - }, - { - orderID: 10611, - orderDate: 1564002000000, - orderTotal: 808, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1566477000000, - requiredDateEnd: 1566478800000, - teamID: 3 - }, - { - orderID: 10637, - orderDate: 1566162000000, - orderTotal: 2761.9375, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1568629800000, - requiredDateEnd: 1568633400000, - teamID: 3 - }, - { - orderID: 10643, - orderDate: 1566680400000, - orderTotal: 814.5, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1569150000000, - requiredDateEnd: 1569153600000, - teamID: 3 - }, - { - orderID: 10656, - orderDate: 1567544400000, - orderTotal: 604.215, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1570021200000, - requiredDateEnd: 1570023000000, - teamID: 3 - }, - { - orderID: 10701, - orderDate: 1570914000000, - orderTotal: 2864.5, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1572183000000, - requiredDateEnd: 1572184800000, - teamID: 3 - }, - { - orderID: 10703, - orderDate: 1571000400000, - orderTotal: 2545, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1573466400000, - requiredDateEnd: 1573470000000, - teamID: 3 - }, - { - orderID: 10704, - orderDate: 1571000400000, - orderTotal: 595.5, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1573471800000, - requiredDateEnd: 1573477200000, - teamID: 3 - }, - { - orderID: 10708, - orderDate: 1571259600000, - orderTotal: 180.4, - customerCompanyName: 'The Big Cheese', - customerContactName: 'Liz Nixon', - requiredDateStart: 1574944200000, - requiredDateEnd: 1574946000000, - teamID: 3 - }, - { - orderID: 10735, - orderDate: 1573336800000, - orderTotal: 536.4, - customerCompanyName: `Let's Stop N Shop`, - customerContactName: 'Jaime Yorres', - requiredDateStart: 1575813600000, - requiredDateEnd: 1575819000000, - teamID: 3 - }, - { - orderID: 10744, - orderDate: 1573941600000, - orderTotal: 736, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1576413000000, - requiredDateEnd: 1576418400000, - teamID: 3 - }, - { - orderID: 10747, - orderDate: 1574114400000, - orderTotal: 1912.85, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1576576800000, - requiredDateEnd: 1576580400000, - teamID: 3 - }, - { - orderID: 10754, - orderDate: 1574632800000, - orderTotal: 55.2, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1577095200000, - requiredDateEnd: 1577097000000, - teamID: 3 - }, - { - orderID: 10757, - orderDate: 1574805600000, - orderTotal: 3082, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1577266200000, - requiredDateEnd: 1577269800000, - teamID: 3 - }, - { - orderID: 10764, - orderDate: 1575324000000, - orderTotal: 2286, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1577797200000, - requiredDateEnd: 1577799000000, - teamID: 3 - }, - { - orderID: 10790, - orderDate: 1576965600000, - orderTotal: 722.5, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1579433400000, - requiredDateEnd: 1579438800000, - teamID: 3 - }, - { - orderID: 10791, - orderDate: 1577052000000, - orderTotal: 1829.757, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1579527000000, - requiredDateEnd: 1579530600000, - teamID: 3 - }, - { - orderID: 10794, - orderDate: 1577138400000, - orderTotal: 314.76, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1579613400000, - requiredDateEnd: 1579618800000, - teamID: 3 - }, - { - orderID: 10804, - orderDate: 1577656800000, - orderTotal: 2278.4, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1580124600000, - requiredDateEnd: 1580126400000, - teamID: 3 - }, - { - orderID: 10822, - orderDate: 1578434400000, - orderTotal: 237.9, - customerCompanyName: `Trail's Head Gourmet Provisioners`, - customerContactName: 'Helvetius Nagy', - requiredDateStart: 1580898600000, - requiredDateEnd: 1580900400000, - teamID: 3 - }, - { - orderID: 10826, - orderDate: 1578780000000, - orderTotal: 730, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1581242400000, - requiredDateEnd: 1581247800000, - teamID: 3 - }, - { - orderID: 10833, - orderDate: 1579039200000, - orderTotal: 906.93, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1581514200000, - requiredDateEnd: 1581516000000, - teamID: 3 - }, - { - orderID: 10867, - orderDate: 1580680800000, - orderTotal: 98.4, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1584451800000, - requiredDateEnd: 1584453600000, - teamID: 3 - }, - { - orderID: 10885, - orderDate: 1581458400000, - orderTotal: 1209, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1584016200000, - requiredDateEnd: 1584018000000, - teamID: 3 - }, - { - orderID: 10907, - orderDate: 1582581600000, - orderTotal: 108.5, - customerCompanyName: 'Spécialités du monde', - customerContactName: 'Dominique Perrier', - requiredDateStart: 1585130400000, - requiredDateEnd: 1585134000000, - teamID: 3 - }, - { - orderID: 10914, - orderDate: 1582754400000, - orderTotal: 537.5, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1585306800000, - requiredDateEnd: 1585312200000, - teamID: 3 - }, - { - orderID: 10929, - orderDate: 1583359200000, - orderTotal: 1174.75, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1585823400000, - requiredDateEnd: 1585828800000, - teamID: 3 - }, - { - orderID: 10933, - orderDate: 1583445600000, - orderTotal: 920.6, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1585906200000, - requiredDateEnd: 1585908000000, - teamID: 3 - }, - { - orderID: 10944, - orderDate: 1583964000000, - orderTotal: 1025.325, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1585231200000, - requiredDateEnd: 1585233000000, - teamID: 3 - }, - { - orderID: 10956, - orderDate: 1584396000000, - orderTotal: 677, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1588068000000, - requiredDateEnd: 1588073400000, - teamID: 3 - }, - { - orderID: 10959, - orderDate: 1584482400000, - orderTotal: 131.75, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1588161600000, - requiredDateEnd: 1588167000000, - teamID: 3 - }, - { - orderID: 10965, - orderDate: 1584655200000, - orderTotal: 848, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1587128400000, - requiredDateEnd: 1587132000000, - teamID: 3 - }, - { - orderID: 10973, - orderDate: 1585000800000, - orderTotal: 291.55, - customerCompanyName: `La corne d'abondance`, - customerContactName: 'Daniel Tonini', - requiredDateStart: 1587459600000, - requiredDateEnd: 1587461400000, - teamID: 3 - }, - { - orderID: 10999, - orderDate: 1585861200000, - orderTotal: 1197.95, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1588339800000, - requiredDateEnd: 1588345200000, - teamID: 3 - }, - { - orderID: 11019, - orderDate: 1586725200000, - orderTotal: 76, - customerCompanyName: 'Rancho grande', - customerContactName: 'Sergio Gutiérrez', - requiredDateStart: 1589202000000, - requiredDateEnd: 1589203800000, - teamID: 3 - }, - { - orderID: 11025, - orderDate: 1586898000000, - orderTotal: 270, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1589362200000, - requiredDateEnd: 1589364000000, - teamID: 3 - }, - { - orderID: 11031, - orderDate: 1587070800000, - orderTotal: 2393.5, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1589549400000, - requiredDateEnd: 1589551200000, - teamID: 3 - }, - { - orderID: 11045, - orderDate: 1587589200000, - orderTotal: 1309.5, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1590057000000, - requiredDateEnd: 1590058800000, - teamID: 3 - }, - { - orderID: 10248, - orderDate: 1530651600000, - orderTotal: 440, - customerCompanyName: 'Vins et alcools Chevalier', - customerContactName: 'Paul Henriot', - requiredDateStart: 1533123000000, - requiredDateEnd: 1533126600000, - teamID: 3 - }, - { - orderID: 10254, - orderDate: 1531256400000, - orderTotal: 556.62, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1533729600000, - requiredDateEnd: 1533735000000, - teamID: 3 - }, - { - orderID: 10269, - orderDate: 1532984400000, - orderTotal: 642.2, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1534248000000, - requiredDateEnd: 1534251600000, - teamID: 3 - }, - { - orderID: 10297, - orderDate: 1536008400000, - orderTotal: 1420, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1539696600000, - requiredDateEnd: 1539698400000, - teamID: 3 - }, - { - orderID: 10320, - orderDate: 1538514000000, - orderTotal: 516, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1539770400000, - requiredDateEnd: 1539772200000, - teamID: 3 - }, - { - orderID: 10333, - orderDate: 1539810000000, - orderTotal: 877.2, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1542276000000, - requiredDateEnd: 1542277800000, - teamID: 3 - }, - { - orderID: 10358, - orderDate: 1542664800000, - orderTotal: 429.4, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1545141600000, - requiredDateEnd: 1545143400000, - teamID: 3 - }, - { - orderID: 10359, - orderDate: 1542751200000, - orderTotal: 3471.68, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1545220800000, - requiredDateEnd: 1545226200000, - teamID: 3 - }, - { - orderID: 10372, - orderDate: 1543874400000, - orderTotal: 9210.9, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1546335000000, - requiredDateEnd: 1546338600000, - teamID: 3 - }, - { - orderID: 10378, - orderDate: 1544392800000, - orderTotal: 103.2, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1546871400000, - requiredDateEnd: 1546876800000, - teamID: 3 - }, - { - orderID: 10397, - orderDate: 1545861600000, - orderTotal: 716.72, - customerCompanyName: 'Princesa Isabel Vinhos', - customerContactName: 'Isabel de Castro', - requiredDateStart: 1548322200000, - requiredDateEnd: 1548325800000, - teamID: 3 - }, - { - orderID: 10463, - orderDate: 1551650400000, - orderTotal: 713.3, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1554112800000, - requiredDateEnd: 1554114600000, - teamID: 3 - }, - { - orderID: 10474, - orderDate: 1552428000000, - orderTotal: 1249.1, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1554888600000, - requiredDateEnd: 1554892200000, - teamID: 3 - }, - { - orderID: 10477, - orderDate: 1552773600000, - orderTotal: 558, - customerCompanyName: 'Princesa Isabel Vinhos', - customerContactName: 'Isabel de Castro', - requiredDateStart: 1555228800000, - requiredDateEnd: 1555234200000, - teamID: 3 - }, - { - orderID: 10529, - orderDate: 1557176400000, - orderTotal: 946, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1559653200000, - requiredDateEnd: 1559656800000, - teamID: 3 - }, - { - orderID: 10549, - orderDate: 1558904400000, - orderTotal: 3554.275, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1560153600000, - requiredDateEnd: 1560155400000, - teamID: 3 - }, - { - orderID: 10569, - orderDate: 1560632400000, - orderTotal: 890, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1563098400000, - requiredDateEnd: 1563102000000, - teamID: 3 - }, - { - orderID: 10575, - orderDate: 1560978000000, - orderTotal: 2147.4, - customerCompanyName: 'Morgenstern Gesundkost', - customerContactName: 'Alexander Feuer', - requiredDateStart: 1562232600000, - requiredDateEnd: 1562238000000, - teamID: 3 - }, - { - orderID: 10607, - orderDate: 1563742800000, - orderTotal: 6475.4, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1566207000000, - requiredDateEnd: 1566208800000, - teamID: 3 - }, - { - orderID: 10648, - orderDate: 1566939600000, - orderTotal: 372.375, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1570609800000, - requiredDateEnd: 1570611600000, - teamID: 3 - }, - { - orderID: 10649, - orderDate: 1566939600000, - orderTotal: 1434, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1569400200000, - requiredDateEnd: 1569403800000, - teamID: 3 - }, - { - orderID: 10650, - orderDate: 1567026000000, - orderTotal: 1779.2, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1569490200000, - requiredDateEnd: 1569493800000, - teamID: 3 - }, - { - orderID: 10654, - orderDate: 1567371600000, - orderTotal: 601.83, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1569850200000, - requiredDateEnd: 1569855600000, - teamID: 3 - }, - { - orderID: 10675, - orderDate: 1568840400000, - orderTotal: 1423, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1571299200000, - requiredDateEnd: 1571304600000, - teamID: 3 - }, - { - orderID: 10711, - orderDate: 1571605200000, - orderTotal: 4451.7, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1575297000000, - requiredDateEnd: 1575298800000, - teamID: 3 - }, - { - orderID: 10714, - orderDate: 1571691600000, - orderTotal: 2205.75, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1574173800000, - requiredDateEnd: 1574179200000, - teamID: 3 - }, - { - orderID: 10721, - orderDate: 1572300000000, - orderTotal: 923.875, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1574775000000, - requiredDateEnd: 1574780400000, - teamID: 3 - }, - { - orderID: 10730, - orderDate: 1572904800000, - orderTotal: 484.2625, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1575376200000, - requiredDateEnd: 1575379800000, - teamID: 3 - }, - { - orderID: 10761, - orderDate: 1575237600000, - orderTotal: 507, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1577712600000, - requiredDateEnd: 1577716200000, - teamID: 3 - }, - { - orderID: 10812, - orderDate: 1577916000000, - orderTotal: 1692.8, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1580394600000, - requiredDateEnd: 1580396400000, - teamID: 3 - }, - { - orderID: 10823, - orderDate: 1578520800000, - orderTotal: 2826, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1580988600000, - requiredDateEnd: 1580994000000, - teamID: 3 - }, - { - orderID: 10841, - orderDate: 1579471200000, - orderTotal: 4581, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1581948000000, - requiredDateEnd: 1581953400000, - teamID: 3 - }, - { - orderID: 10851, - orderDate: 1579989600000, - orderTotal: 2603, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1582468200000, - requiredDateEnd: 1582470000000, - teamID: 3 - }, - { - orderID: 10866, - orderDate: 1580680800000, - orderTotal: 1096.2, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1583233200000, - requiredDateEnd: 1583238600000, - teamID: 3 - }, - { - orderID: 10869, - orderDate: 1580767200000, - orderTotal: 1630, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1583328600000, - requiredDateEnd: 1583334000000, - teamID: 3 - }, - { - orderID: 10870, - orderDate: 1580767200000, - orderTotal: 160, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1583330400000, - requiredDateEnd: 1583334000000, - teamID: 3 - }, - { - orderID: 10872, - orderDate: 1580853600000, - orderTotal: 2058.46, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1583418600000, - requiredDateEnd: 1583422200000, - teamID: 3 - }, - { - orderID: 10874, - orderDate: 1580940000000, - orderTotal: 310, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1583505000000, - requiredDateEnd: 1583508600000, - teamID: 3 - }, - { - orderID: 10899, - orderDate: 1582149600000, - orderTotal: 122.4, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1584703800000, - requiredDateEnd: 1584709200000, - teamID: 3 - }, - { - orderID: 10922, - orderDate: 1583186400000, - orderTotal: 742.5, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1585652400000, - requiredDateEnd: 1585656000000, - teamID: 3 - }, - { - orderID: 10954, - orderDate: 1584396000000, - orderTotal: 1659.535, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1588075200000, - requiredDateEnd: 1588080600000, - teamID: 3 - }, - { - orderID: 11043, - orderDate: 1587502800000, - orderTotal: 210, - customerCompanyName: 'Spécialités du monde', - customerContactName: 'Dominique Perrier', - requiredDateStart: 1589981400000, - requiredDateEnd: 1589985000000, - teamID: 3 - }, - { - orderID: 10250, - orderDate: 1530997200000, - orderTotal: 1552.6, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1533466800000, - requiredDateEnd: 1533468600000, - teamID: 2 - }, - { - orderID: 10252, - orderDate: 1531083600000, - orderTotal: 3597.9, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1533547800000, - requiredDateEnd: 1533551400000, - teamID: 2 - }, - { - orderID: 10257, - orderDate: 1531688400000, - orderTotal: 1119.9, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1534154400000, - requiredDateEnd: 1534156200000, - teamID: 2 - }, - { - orderID: 10259, - orderDate: 1531861200000, - orderTotal: 100.8, - customerCompanyName: 'Centro comercial Moctezuma', - customerContactName: 'Francisco Chang', - requiredDateStart: 1534320000000, - requiredDateEnd: 1534325400000, - teamID: 2 - }, - { - orderID: 10260, - orderDate: 1531947600000, - orderTotal: 1504.65, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1534410000000, - requiredDateEnd: 1534411800000, - teamID: 2 - }, - { - orderID: 10261, - orderDate: 1531947600000, - orderTotal: 448, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1534422600000, - requiredDateEnd: 1534426200000, - teamID: 2 - }, - { - orderID: 10267, - orderDate: 1532811600000, - orderTotal: 3536.6, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1535270400000, - requiredDateEnd: 1535274000000, - teamID: 2 - }, - { - orderID: 10281, - orderDate: 1534194000000, - orderTotal: 86.5, - customerCompanyName: 'Romero y tomillo', - customerContactName: 'Alejandra Camino', - requiredDateStart: 1535459400000, - requiredDateEnd: 1535464800000, - teamID: 2 - }, - { - orderID: 10282, - orderDate: 1534280400000, - orderTotal: 155.4, - customerCompanyName: 'Romero y tomillo', - customerContactName: 'Alejandra Camino', - requiredDateStart: 1536755400000, - requiredDateEnd: 1536757200000, - teamID: 2 - }, - { - orderID: 10284, - orderDate: 1534626000000, - orderTotal: 1170.375, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1537084800000, - requiredDateEnd: 1537086600000, - teamID: 2 - }, - { - orderID: 10288, - orderDate: 1534971600000, - orderTotal: 80.1, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1537435800000, - requiredDateEnd: 1537439400000, - teamID: 2 - }, - { - orderID: 10294, - orderDate: 1535576400000, - orderTotal: 1887.6, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1538049600000, - requiredDateEnd: 1538055000000, - teamID: 2 - }, - { - orderID: 10299, - orderDate: 1536181200000, - orderTotal: 349.5, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1538658000000, - requiredDateEnd: 1538661600000, - teamID: 2 - }, - { - orderID: 10302, - orderDate: 1536526800000, - orderTotal: 2708.8, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1538998200000, - requiredDateEnd: 1539003600000, - teamID: 2 - }, - { - orderID: 10315, - orderDate: 1537909200000, - orderTotal: 516.8, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1540371600000, - requiredDateEnd: 1540375200000, - teamID: 2 - }, - { - orderID: 10323, - orderDate: 1538859600000, - orderTotal: 164.4, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1541323800000, - requiredDateEnd: 1541325600000, - teamID: 2 - }, - { - orderID: 10326, - orderDate: 1539118800000, - orderTotal: 982, - customerCompanyName: 'Bólido Comidas preparadas', - customerContactName: 'Martín Sommer', - requiredDateStart: 1541601000000, - requiredDateEnd: 1541604600000, - teamID: 2 - }, - { - orderID: 10328, - orderDate: 1539464400000, - orderTotal: 1168, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1541939400000, - requiredDateEnd: 1541944800000, - teamID: 2 - }, - { - orderID: 10329, - orderDate: 1539550800000, - orderTotal: 4578.43, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1543224600000, - requiredDateEnd: 1543230000000, - teamID: 2 - }, - { - orderID: 10337, - orderDate: 1540328400000, - orderTotal: 2467, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1542805200000, - requiredDateEnd: 1542810600000, - teamID: 2 - }, - { - orderID: 10338, - orderDate: 1540414800000, - orderTotal: 934.5, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1542893400000, - requiredDateEnd: 1542898800000, - teamID: 2 - }, - { - orderID: 10342, - orderDate: 1540850400000, - orderTotal: 1840.64, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1542115800000, - requiredDateEnd: 1542121200000, - teamID: 2 - }, - { - orderID: 10343, - orderDate: 1540936800000, - orderTotal: 1584, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1543415400000, - requiredDateEnd: 1543419000000, - teamID: 2 - }, - { - orderID: 10344, - orderDate: 1541023200000, - orderTotal: 2296, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1543489200000, - requiredDateEnd: 1543494600000, - teamID: 2 - }, - { - orderID: 10347, - orderDate: 1541455200000, - orderTotal: 814.42, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1543914000000, - requiredDateEnd: 1543915800000, - teamID: 2 - }, - { - orderID: 10348, - orderDate: 1541541600000, - orderTotal: 363.6, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1544020200000, - requiredDateEnd: 1544025600000, - teamID: 2 - }, - { - orderID: 10360, - orderDate: 1542837600000, - orderTotal: 7390.2, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1545298200000, - requiredDateEnd: 1545300000000, - teamID: 2 - }, - { - orderID: 10363, - orderDate: 1543183200000, - orderTotal: 447.2, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1545658200000, - requiredDateEnd: 1545661800000, - teamID: 2 - }, - { - orderID: 10373, - orderDate: 1543960800000, - orderTotal: 1366.4, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1546430400000, - requiredDateEnd: 1546432200000, - teamID: 2 - }, - { - orderID: 10382, - orderDate: 1544652000000, - orderTotal: 2900, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1547112600000, - requiredDateEnd: 1547114400000, - teamID: 2 - }, - { - orderID: 10389, - orderDate: 1545256800000, - orderTotal: 1832.8, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1547722800000, - requiredDateEnd: 1547728200000, - teamID: 2 - }, - { - orderID: 10403, - orderDate: 1546466400000, - orderTotal: 855.015, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1548941400000, - requiredDateEnd: 1548946800000, - teamID: 2 - }, - { - orderID: 10417, - orderDate: 1547589600000, - orderTotal: 11188.4, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1550068200000, - requiredDateEnd: 1550071800000, - teamID: 2 - }, - { - orderID: 10418, - orderDate: 1547676000000, - orderTotal: 1814.8, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1550147400000, - requiredDateEnd: 1550149200000, - teamID: 2 - }, - { - orderID: 10419, - orderDate: 1547935200000, - orderTotal: 2097.6, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1550413800000, - requiredDateEnd: 1550417400000, - teamID: 2 - }, - { - orderID: 10426, - orderDate: 1548540000000, - orderTotal: 338.2, - customerCompanyName: 'Galería del gastrónomo', - customerContactName: 'Eduardo Saavedra', - requiredDateStart: 1551002400000, - requiredDateEnd: 1551007800000, - teamID: 2 - }, - { - orderID: 10427, - orderDate: 1548540000000, - orderTotal: 651, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1551004200000, - requiredDateEnd: 1551006000000, - teamID: 2 - }, - { - orderID: 10430, - orderDate: 1548799200000, - orderTotal: 4899.2, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1550068200000, - requiredDateEnd: 1550073600000, - teamID: 2 - }, - { - orderID: 10431, - orderDate: 1548799200000, - orderTotal: 1892.25, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1550068200000, - requiredDateEnd: 1550071800000, - teamID: 2 - }, - { - orderID: 10440, - orderDate: 1549749600000, - orderTotal: 4924.135, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1552208400000, - requiredDateEnd: 1552210200000, - teamID: 2 - }, - { - orderID: 10447, - orderDate: 1550095200000, - orderTotal: 914.4, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1552555800000, - requiredDateEnd: 1552557600000, - teamID: 2 - }, - { - orderID: 10448, - orderDate: 1550354400000, - orderTotal: 443.4, - customerCompanyName: 'Rancho grande', - customerContactName: 'Sergio Gutiérrez', - requiredDateStart: 1552825800000, - requiredDateEnd: 1552829400000, - teamID: 2 - }, - { - orderID: 10451, - orderDate: 1550527200000, - orderTotal: 3849.66, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1551787200000, - requiredDateEnd: 1551789000000, - teamID: 2 - }, - { - orderID: 10454, - orderDate: 1550700000000, - orderTotal: 331.2, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1553164200000, - requiredDateEnd: 1553166000000, - teamID: 2 - }, - { - orderID: 10459, - orderDate: 1551218400000, - orderTotal: 1659.2, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1553689800000, - requiredDateEnd: 1553695200000, - teamID: 2 - }, - { - orderID: 10464, - orderDate: 1551650400000, - orderTotal: 1609.28, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1554105600000, - requiredDateEnd: 1554107400000, - teamID: 2 - }, - { - orderID: 10466, - orderDate: 1551823200000, - orderTotal: 216, - customerCompanyName: 'Comércio Mineiro', - customerContactName: 'Pedro Afonso', - requiredDateStart: 1554291000000, - requiredDateEnd: 1554296400000, - teamID: 2 - }, - { - orderID: 10470, - orderDate: 1552255200000, - orderTotal: 1820.8, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1554712200000, - requiredDateEnd: 1554714000000, - teamID: 2 - }, - { - orderID: 10485, - orderDate: 1553464800000, - orderTotal: 1584, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1554728400000, - requiredDateEnd: 1554733800000, - teamID: 2 - }, - { - orderID: 10493, - orderDate: 1554152400000, - orderTotal: 608.4, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1556627400000, - requiredDateEnd: 1556629200000, - teamID: 2 - }, - { - orderID: 10494, - orderDate: 1554152400000, - orderTotal: 912, - customerCompanyName: 'Comércio Mineiro', - customerContactName: 'Pedro Afonso', - requiredDateStart: 1556622000000, - requiredDateEnd: 1556625600000, - teamID: 2 - }, - { - orderID: 10499, - orderDate: 1554670800000, - orderTotal: 1412, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1557149400000, - requiredDateEnd: 1557154800000, - teamID: 2 - }, - { - orderID: 10504, - orderDate: 1554930000000, - orderTotal: 1388.5, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1557388800000, - requiredDateEnd: 1557392400000, - teamID: 2 - }, - { - orderID: 10509, - orderDate: 1555448400000, - orderTotal: 136.8, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1557909000000, - requiredDateEnd: 1557912600000, - teamID: 2 - }, - { - orderID: 10511, - orderDate: 1555534800000, - orderTotal: 2550, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1558009800000, - requiredDateEnd: 1558011600000, - teamID: 2 - }, - { - orderID: 10518, - orderDate: 1556139600000, - orderTotal: 4150.05, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1557392400000, - requiredDateEnd: 1557397800000, - teamID: 2 - }, - { - orderID: 10522, - orderDate: 1556571600000, - orderTotal: 2318.24, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1559050200000, - requiredDateEnd: 1559052000000, - teamID: 2 - }, - { - orderID: 10526, - orderDate: 1557003600000, - orderTotal: 1151.4, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1559466000000, - requiredDateEnd: 1559471400000, - teamID: 2 - }, - { - orderID: 10535, - orderDate: 1557694800000, - orderTotal: 1940.85, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1560171600000, - requiredDateEnd: 1560173400000, - teamID: 2 - }, - { - orderID: 10544, - orderDate: 1558386000000, - orderTotal: 417.2, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1560862800000, - requiredDateEnd: 1560864600000, - teamID: 2 - }, - { - orderID: 10551, - orderDate: 1558990800000, - orderTotal: 1677.3, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1562679000000, - requiredDateEnd: 1562684400000, - teamID: 2 - }, - { - orderID: 10554, - orderDate: 1559163600000, - orderTotal: 1728.525, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1561624200000, - requiredDateEnd: 1561627800000, - teamID: 2 - }, - { - orderID: 10564, - orderDate: 1560114000000, - orderTotal: 1234.05, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1562587200000, - requiredDateEnd: 1562592600000, - teamID: 2 - }, - { - orderID: 10574, - orderDate: 1560891600000, - orderTotal: 764.3, - customerCompanyName: `Trail's Head Gourmet Provisioners`, - customerContactName: 'Helvetius Nagy', - requiredDateStart: 1563370200000, - requiredDateEnd: 1563373800000, - teamID: 2 - }, - { - orderID: 10578, - orderDate: 1561323600000, - orderTotal: 477, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1563786000000, - requiredDateEnd: 1563789600000, - teamID: 2 - }, - { - orderID: 10580, - orderDate: 1561496400000, - orderTotal: 1013.745, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1563971400000, - requiredDateEnd: 1563973200000, - teamID: 2 - }, - { - orderID: 10584, - orderDate: 1561842000000, - orderTotal: 593.75, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1564315200000, - requiredDateEnd: 1564318800000, - teamID: 2 - }, - { - orderID: 10590, - orderDate: 1562446800000, - orderTotal: 1101, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1564916400000, - requiredDateEnd: 1564918200000, - teamID: 2 - }, - { - orderID: 10600, - orderDate: 1563224400000, - orderTotal: 479.8, - customerCompanyName: 'Hungry Coyote Import Store', - customerContactName: 'Yoshi Latimer', - requiredDateStart: 1565688600000, - requiredDateEnd: 1565690400000, - teamID: 2 - }, - { - orderID: 10606, - orderDate: 1563742800000, - orderTotal: 1130.4, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1566219600000, - requiredDateEnd: 1566225000000, - teamID: 2 - }, - { - orderID: 10608, - orderDate: 1563829200000, - orderTotal: 1064, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1566304200000, - requiredDateEnd: 1566307800000, - teamID: 2 - }, - { - orderID: 10613, - orderDate: 1564347600000, - orderTotal: 353.2, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1566819000000, - requiredDateEnd: 1566822600000, - teamID: 2 - }, - { - orderID: 10617, - orderDate: 1564520400000, - orderTotal: 1402.5, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1566997200000, - requiredDateEnd: 1567000800000, - teamID: 2 - }, - { - orderID: 10621, - orderDate: 1564952400000, - orderTotal: 758.5, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1567414800000, - requiredDateEnd: 1567418400000, - teamID: 2 - }, - { - orderID: 10622, - orderDate: 1565038800000, - orderTotal: 560, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1567499400000, - requiredDateEnd: 1567503000000, - teamID: 2 - }, - { - orderID: 10624, - orderDate: 1565125200000, - orderTotal: 1393.24, - customerCompanyName: 'The Cracker Box', - customerContactName: 'Liu Wong', - requiredDateStart: 1567594800000, - requiredDateEnd: 1567598400000, - teamID: 2 - }, - { - orderID: 10628, - orderDate: 1565557200000, - orderTotal: 450, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1568017800000, - requiredDateEnd: 1568021400000, - teamID: 2 - }, - { - orderID: 10629, - orderDate: 1565557200000, - orderTotal: 2775.05, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1568035800000, - requiredDateEnd: 1568039400000, - teamID: 2 - }, - { - orderID: 10634, - orderDate: 1565816400000, - orderTotal: 4985.5, - customerCompanyName: 'Folies gourmandes', - customerContactName: 'Martine Rancé', - requiredDateStart: 1568295000000, - requiredDateEnd: 1568298600000, - teamID: 2 - }, - { - orderID: 10636, - orderDate: 1566162000000, - orderTotal: 629.5, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1568629800000, - requiredDateEnd: 1568631600000, - teamID: 2 - }, - { - orderID: 10640, - orderDate: 1566334800000, - orderTotal: 708.75, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1568799000000, - requiredDateEnd: 1568802600000, - teamID: 2 - }, - { - orderID: 10641, - orderDate: 1566421200000, - orderTotal: 2054, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1568896200000, - requiredDateEnd: 1568899800000, - teamID: 2 - }, - { - orderID: 10645, - orderDate: 1566766800000, - orderTotal: 1535, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1569243600000, - requiredDateEnd: 1569247200000, - teamID: 2 - }, - { - orderID: 10647, - orderDate: 1566853200000, - orderTotal: 636, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1568116800000, - requiredDateEnd: 1568120400000, - teamID: 2 - }, - { - orderID: 10652, - orderDate: 1567285200000, - orderTotal: 318.835, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1569756600000, - requiredDateEnd: 1569758400000, - teamID: 2 - }, - { - orderID: 10658, - orderDate: 1567630800000, - orderTotal: 4464.6, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1570096800000, - requiredDateEnd: 1570100400000, - teamID: 2 - }, - { - orderID: 10670, - orderDate: 1568581200000, - orderTotal: 2301.75, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1571043600000, - requiredDateEnd: 1571045400000, - teamID: 2 - }, - { - orderID: 10674, - orderDate: 1568754000000, - orderTotal: 45, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1571214600000, - requiredDateEnd: 1571220000000, - teamID: 2 - }, - { - orderID: 10685, - orderDate: 1569704400000, - orderTotal: 801.1, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1570960800000, - requiredDateEnd: 1570962600000, - teamID: 2 - }, - { - orderID: 10688, - orderDate: 1569877200000, - orderTotal: 3160.6, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1571137200000, - requiredDateEnd: 1571140800000, - teamID: 2 - }, - { - orderID: 10692, - orderDate: 1570050000000, - orderTotal: 878, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1572526800000, - requiredDateEnd: 1572528600000, - teamID: 2 - }, - { - orderID: 10698, - orderDate: 1570568400000, - orderTotal: 3436.4435, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1573050600000, - requiredDateEnd: 1573054200000, - teamID: 2 - }, - { - orderID: 10702, - orderDate: 1570914000000, - orderTotal: 330, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1574586000000, - requiredDateEnd: 1574587800000, - teamID: 2 - }, - { - orderID: 10707, - orderDate: 1571173200000, - orderTotal: 1641, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1572431400000, - requiredDateEnd: 1572435000000, - teamID: 2 - }, - { - orderID: 10716, - orderDate: 1571864400000, - orderTotal: 706, - customerCompanyName: 'Rancho grande', - customerContactName: 'Sergio Gutiérrez', - requiredDateStart: 1574343000000, - requiredDateEnd: 1574346600000, - teamID: 2 - }, - { - orderID: 10725, - orderDate: 1572472800000, - orderTotal: 287.8, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1574933400000, - requiredDateEnd: 1574938800000, - teamID: 2 - }, - { - orderID: 10726, - orderDate: 1572732000000, - orderTotal: 655, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1573986600000, - requiredDateEnd: 1573990200000, - teamID: 2 - }, - { - orderID: 10728, - orderDate: 1572818400000, - orderTotal: 1296.75, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1575288000000, - requiredDateEnd: 1575289800000, - teamID: 2 - }, - { - orderID: 10740, - orderDate: 1573596000000, - orderTotal: 1416, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1576065600000, - requiredDateEnd: 1576069200000, - teamID: 2 - }, - { - orderID: 10741, - orderDate: 1573682400000, - orderTotal: 228, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1574946000000, - requiredDateEnd: 1574949600000, - teamID: 2 - }, - { - orderID: 10749, - orderDate: 1574200800000, - orderTotal: 1080, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1576677600000, - requiredDateEnd: 1576679400000, - teamID: 2 - }, - { - orderID: 10755, - orderDate: 1574719200000, - orderTotal: 1948.5, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1577178000000, - requiredDateEnd: 1577179800000, - teamID: 2 - }, - { - orderID: 10760, - orderDate: 1575151200000, - orderTotal: 2917, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1577629800000, - requiredDateEnd: 1577631600000, - teamID: 2 - }, - { - orderID: 10766, - orderDate: 1575496800000, - orderTotal: 2310, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1577964600000, - requiredDateEnd: 1577968200000, - teamID: 2 - }, - { - orderID: 10767, - orderDate: 1575496800000, - orderTotal: 28, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1577961000000, - requiredDateEnd: 1577966400000, - teamID: 2 - }, - { - orderID: 10774, - orderDate: 1576015200000, - orderTotal: 868.75, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1577278800000, - requiredDateEnd: 1577282400000, - teamID: 2 - }, - { - orderID: 10783, - orderDate: 1576620000000, - orderTotal: 1442.5, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1579082400000, - requiredDateEnd: 1579086000000, - teamID: 2 - }, - { - orderID: 10784, - orderDate: 1576620000000, - orderTotal: 1488, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1579082400000, - requiredDateEnd: 1579087800000, - teamID: 2 - }, - { - orderID: 10801, - orderDate: 1577570400000, - orderTotal: 3026.85, - customerCompanyName: 'Bólido Comidas preparadas', - customerContactName: 'Martín Sommer', - requiredDateStart: 1580038200000, - requiredDateEnd: 1580043600000, - teamID: 2 - }, - { - orderID: 10802, - orderDate: 1577570400000, - orderTotal: 2942.8125, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1580034600000, - requiredDateEnd: 1580036400000, - teamID: 2 - }, - { - orderID: 10803, - orderDate: 1577656800000, - orderTotal: 1193.01, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1580130000000, - requiredDateEnd: 1580135400000, - teamID: 2 - }, - { - orderID: 10807, - orderDate: 1577743200000, - orderTotal: 18.4, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1580220000000, - requiredDateEnd: 1580225400000, - teamID: 2 - }, - { - orderID: 10816, - orderDate: 1578261600000, - orderTotal: 8446.45, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1580734800000, - requiredDateEnd: 1580736600000, - teamID: 2 - }, - { - orderID: 10830, - orderDate: 1578866400000, - orderTotal: 1974, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1582551000000, - requiredDateEnd: 1582552800000, - teamID: 2 - }, - { - orderID: 10840, - orderDate: 1579384800000, - orderTotal: 211.2, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1583139600000, - requiredDateEnd: 1583145000000, - teamID: 2 - }, - { - orderID: 10843, - orderDate: 1579557600000, - orderTotal: 159, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1582032600000, - requiredDateEnd: 1582036200000, - teamID: 2 - }, - { - orderID: 10847, - orderDate: 1579644000000, - orderTotal: 4931.92, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1580896800000, - requiredDateEnd: 1580898600000, - teamID: 2 - }, - { - orderID: 10861, - orderDate: 1580335200000, - orderTotal: 3523.4, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1582799400000, - requiredDateEnd: 1582803000000, - teamID: 2 - }, - { - orderID: 10863, - orderDate: 1580594400000, - orderTotal: 441.15, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1583141400000, - requiredDateEnd: 1583143200000, - teamID: 2 - }, - { - orderID: 10864, - orderDate: 1580594400000, - orderTotal: 282, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1583159400000, - requiredDateEnd: 1583164800000, - teamID: 2 - }, - { - orderID: 10873, - orderDate: 1580940000000, - orderTotal: 336.8, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1583497800000, - requiredDateEnd: 1583501400000, - teamID: 2 - }, - { - orderID: 10875, - orderDate: 1580940000000, - orderTotal: 709.55, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1583505000000, - requiredDateEnd: 1583510400000, - teamID: 2 - }, - { - orderID: 10878, - orderDate: 1581285600000, - orderTotal: 1539, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1583839800000, - requiredDateEnd: 1583845200000, - teamID: 2 - }, - { - orderID: 10881, - orderDate: 1581372000000, - orderTotal: 150, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1583931600000, - requiredDateEnd: 1583935200000, - teamID: 2 - }, - { - orderID: 10882, - orderDate: 1581372000000, - orderTotal: 892.64, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1583928000000, - requiredDateEnd: 1583929800000, - teamID: 2 - }, - { - orderID: 10884, - orderDate: 1581458400000, - orderTotal: 1378.07, - customerCompanyName: `Let's Stop N Shop`, - customerContactName: 'Jaime Yorres', - requiredDateStart: 1584007200000, - requiredDateEnd: 1584012600000, - teamID: 2 - }, - { - orderID: 10892, - orderDate: 1581890400000, - orderTotal: 2090, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1584435600000, - requiredDateEnd: 1584437400000, - teamID: 2 - }, - { - orderID: 10898, - orderDate: 1582149600000, - orderTotal: 30, - customerCompanyName: 'Océano Atlántico Ltda.', - customerContactName: 'Yvonne Moncada', - requiredDateStart: 1584696600000, - requiredDateEnd: 1584702000000, - teamID: 2 - }, - { - orderID: 10901, - orderDate: 1582408800000, - orderTotal: 934.5, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1584968400000, - requiredDateEnd: 1584972000000, - teamID: 2 - }, - { - orderID: 10906, - orderDate: 1582581600000, - orderTotal: 427.5, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1583928000000, - requiredDateEnd: 1583933400000, - teamID: 2 - }, - { - orderID: 10908, - orderDate: 1582668000000, - orderTotal: 663.1, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1585224000000, - requiredDateEnd: 1585229400000, - teamID: 2 - }, - { - orderID: 10913, - orderDate: 1582668000000, - orderTotal: 768.75, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1585220400000, - requiredDateEnd: 1585224000000, - teamID: 2 - }, - { - orderID: 10917, - orderDate: 1583100000000, - orderTotal: 365.89, - customerCompanyName: 'Romero y tomillo', - customerContactName: 'Alejandra Camino', - requiredDateStart: 1585566000000, - requiredDateEnd: 1585569600000, - teamID: 2 - }, - { - orderID: 10920, - orderDate: 1583186400000, - orderTotal: 390, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1585648800000, - requiredDateEnd: 1585652400000, - teamID: 2 - }, - { - orderID: 10926, - orderDate: 1583272800000, - orderTotal: 514.4, - customerCompanyName: 'Ana Trujillo Emparedados y helados', - customerContactName: 'Ana Trujillo', - requiredDateStart: 1585746000000, - requiredDateEnd: 1585749600000, - teamID: 2 - }, - { - orderID: 10927, - orderDate: 1583359200000, - orderTotal: 800, - customerCompanyName: `La corne d'abondance`, - customerContactName: 'Daniel Tonini', - requiredDateStart: 1585814400000, - requiredDateEnd: 1585816200000, - teamID: 2 - }, - { - orderID: 10930, - orderDate: 1583445600000, - orderTotal: 2255.5, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1587123000000, - requiredDateEnd: 1587124800000, - teamID: 2 - }, - { - orderID: 10931, - orderDate: 1583445600000, - orderTotal: 799.2, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1584702000000, - requiredDateEnd: 1584705600000, - teamID: 2 - }, - { - orderID: 10935, - orderDate: 1583704800000, - orderTotal: 619.5, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1586160000000, - requiredDateEnd: 1586165400000, - teamID: 2 - }, - { - orderID: 10943, - orderDate: 1583877600000, - orderTotal: 711, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1586345400000, - requiredDateEnd: 1586349000000, - teamID: 2 - }, - { - orderID: 10945, - orderDate: 1583964000000, - orderTotal: 245, - customerCompanyName: 'Morgenstern Gesundkost', - customerContactName: 'Alexander Feuer', - requiredDateStart: 1586435400000, - requiredDateEnd: 1586440800000, - teamID: 2 - }, - { - orderID: 10966, - orderDate: 1584655200000, - orderTotal: 1098.46, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1587115800000, - requiredDateEnd: 1587117600000, - teamID: 2 - }, - { - orderID: 10972, - orderDate: 1585000800000, - orderTotal: 251.5, - customerCompanyName: `La corne d'abondance`, - customerContactName: 'Daniel Tonini', - requiredDateStart: 1587461400000, - requiredDateEnd: 1587465000000, - teamID: 2 - }, - { - orderID: 10980, - orderDate: 1585260000000, - orderTotal: 248, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1588930200000, - requiredDateEnd: 1588935600000, - teamID: 2 - }, - { - orderID: 10996, - orderDate: 1585774800000, - orderTotal: 560, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1588233600000, - requiredDateEnd: 1588237200000, - teamID: 2 - }, - { - orderID: 11002, - orderDate: 1586120400000, - orderTotal: 1811.1, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1588579200000, - requiredDateEnd: 1588581000000, - teamID: 2 - }, - { - orderID: 11018, - orderDate: 1586725200000, - orderTotal: 1575, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1589193000000, - requiredDateEnd: 1589194800000, - teamID: 2 - }, - { - orderID: 11024, - orderDate: 1586898000000, - orderTotal: 1966.81, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1589365800000, - requiredDateEnd: 1589371200000, - teamID: 2 - }, - { - orderID: 11026, - orderDate: 1586898000000, - orderTotal: 1030, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1589369400000, - requiredDateEnd: 1589371200000, - teamID: 2 - }, - { - orderID: 11029, - orderDate: 1586984400000, - orderTotal: 1286.8, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1589443200000, - requiredDateEnd: 1589445000000, - teamID: 2 - }, - { - orderID: 11040, - orderDate: 1587502800000, - orderTotal: 200, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1589981400000, - requiredDateEnd: 1589983200000, - teamID: 2 - }, - { - orderID: 11044, - orderDate: 1587589200000, - orderTotal: 591.6, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1590055200000, - requiredDateEnd: 1590058800000, - teamID: 2 - }, - { - orderID: 11061, - orderDate: 1588194000000, - orderTotal: 510, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1591862400000, - requiredDateEnd: 1591867800000, - teamID: 2 - }, - { - orderID: 11062, - orderDate: 1588194000000, - orderTotal: 406.4, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1590669000000, - requiredDateEnd: 1590674400000, - teamID: 2 - }, - { - orderID: 11072, - orderDate: 1588626000000, - orderTotal: 5218, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1591102800000, - requiredDateEnd: 1591104600000, - teamID: 2 - }, - { - orderID: 11076, - orderDate: 1588712400000, - orderTotal: 792.75, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1591183800000, - requiredDateEnd: 1591185600000, - teamID: 2 - }, - { - orderID: 10251, - orderDate: 1530997200000, - orderTotal: 654.06, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1533459600000, - requiredDateEnd: 1533463200000, - teamID: 2 - }, - { - orderID: 10253, - orderDate: 1531170000000, - orderTotal: 1444.8, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1532433600000, - requiredDateEnd: 1532437200000, - teamID: 2 - }, - { - orderID: 10256, - orderDate: 1531602000000, - orderTotal: 517.8, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1534075200000, - requiredDateEnd: 1534080600000, - teamID: 2 - }, - { - orderID: 10266, - orderDate: 1532552400000, - orderTotal: 346.56, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1536222600000, - requiredDateEnd: 1536228000000, - teamID: 2 - }, - { - orderID: 10273, - orderDate: 1533416400000, - orderTotal: 2037.28, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1535880600000, - requiredDateEnd: 1535884200000, - teamID: 2 - }, - { - orderID: 10283, - orderDate: 1534366800000, - orderTotal: 1414.8, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1536841800000, - requiredDateEnd: 1536845400000, - teamID: 2 - }, - { - orderID: 10309, - orderDate: 1537304400000, - orderTotal: 1762, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1539770400000, - requiredDateEnd: 1539775800000, - teamID: 2 - }, - { - orderID: 10321, - orderDate: 1538514000000, - orderTotal: 144, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1540987200000, - requiredDateEnd: 1540989000000, - teamID: 2 - }, - { - orderID: 10330, - orderDate: 1539637200000, - orderTotal: 1649, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1542117600000, - requiredDateEnd: 1542121200000, - teamID: 2 - }, - { - orderID: 10332, - orderDate: 1539723600000, - orderTotal: 1786.88, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1543395600000, - requiredDateEnd: 1543397400000, - teamID: 2 - }, - { - orderID: 10346, - orderDate: 1541368800000, - orderTotal: 1618.88, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1545051600000, - requiredDateEnd: 1545055200000, - teamID: 2 - }, - { - orderID: 10352, - orderDate: 1541973600000, - orderTotal: 136.3, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1543224600000, - requiredDateEnd: 1543228200000, - teamID: 2 - }, - { - orderID: 10362, - orderDate: 1543096800000, - orderTotal: 1549.6, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1545570000000, - requiredDateEnd: 1545573600000, - teamID: 2 - }, - { - orderID: 10365, - orderDate: 1543269600000, - orderTotal: 403.2, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1545739200000, - requiredDateEnd: 1545741000000, - teamID: 2 - }, - { - orderID: 10375, - orderDate: 1544047200000, - orderTotal: 338, - customerCompanyName: 'Hungry Coyote Import Store', - customerContactName: 'Yoshi Latimer', - requiredDateStart: 1546506000000, - requiredDateEnd: 1546507800000, - teamID: 2 - }, - { - orderID: 10381, - orderDate: 1544565600000, - orderTotal: 112, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1547035200000, - requiredDateEnd: 1547037000000, - teamID: 2 - }, - { - orderID: 10384, - orderDate: 1544911200000, - orderTotal: 2222.4, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1547375400000, - requiredDateEnd: 1547380800000, - teamID: 2 - }, - { - orderID: 10391, - orderDate: 1545516000000, - orderTotal: 86.4, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1547974800000, - requiredDateEnd: 1547980200000, - teamID: 2 - }, - { - orderID: 10409, - orderDate: 1546984800000, - orderTotal: 319.2, - customerCompanyName: 'Océano Atlántico Ltda.', - customerContactName: 'Yvonne Moncada', - requiredDateStart: 1549461600000, - requiredDateEnd: 1549465200000, - teamID: 2 - }, - { - orderID: 10410, - orderDate: 1547071200000, - orderTotal: 802, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1549540800000, - requiredDateEnd: 1549544400000, - teamID: 2 - }, - { - orderID: 10413, - orderDate: 1547416800000, - orderTotal: 2123.2, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1549890000000, - requiredDateEnd: 1549895400000, - teamID: 2 - }, - { - orderID: 10415, - orderDate: 1547503200000, - orderTotal: 102.4, - customerCompanyName: 'Hungry Coyote Import Store', - customerContactName: 'Yoshi Latimer', - requiredDateStart: 1549967400000, - requiredDateEnd: 1549969200000, - teamID: 2 - }, - { - orderID: 10420, - orderDate: 1548021600000, - orderTotal: 1707.84, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1550482200000, - requiredDateEnd: 1550487600000, - teamID: 2 - }, - { - orderID: 10429, - orderDate: 1548712800000, - orderTotal: 1441.375, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1552383000000, - requiredDateEnd: 1552384800000, - teamID: 2 - }, - { - orderID: 10432, - orderDate: 1548885600000, - orderTotal: 485, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1550152800000, - requiredDateEnd: 1550158200000, - teamID: 2 - }, - { - orderID: 10433, - orderDate: 1549144800000, - orderTotal: 851.2, - customerCompanyName: 'Princesa Isabel Vinhos', - customerContactName: 'Isabel de Castro', - requiredDateStart: 1551618000000, - requiredDateEnd: 1551619800000, - teamID: 2 - }, - { - orderID: 10434, - orderDate: 1549144800000, - orderTotal: 321.12, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1551609000000, - requiredDateEnd: 1551612600000, - teamID: 2 - }, - { - orderID: 10436, - orderDate: 1549317600000, - orderTotal: 1994.52, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1551787200000, - requiredDateEnd: 1551789000000, - teamID: 2 - }, - { - orderID: 10438, - orderDate: 1549404000000, - orderTotal: 454, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1551868200000, - requiredDateEnd: 1551870000000, - teamID: 2 - }, - { - orderID: 10441, - orderDate: 1549749600000, - orderTotal: 1755, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1553434200000, - requiredDateEnd: 1553437800000, - teamID: 2 - }, - { - orderID: 10442, - orderDate: 1549836000000, - orderTotal: 1792, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1552302000000, - requiredDateEnd: 1552303800000, - teamID: 2 - }, - { - orderID: 10444, - orderDate: 1549922400000, - orderTotal: 1031.7, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1552388400000, - requiredDateEnd: 1552390200000, - teamID: 2 - }, - { - orderID: 10445, - orderDate: 1550008800000, - orderTotal: 174.9, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1552471200000, - requiredDateEnd: 1552476600000, - teamID: 2 - }, - { - orderID: 10449, - orderDate: 1550440800000, - orderTotal: 1838.2, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1552917600000, - requiredDateEnd: 1552923000000, - teamID: 2 - }, - { - orderID: 10468, - orderDate: 1551909600000, - orderTotal: 717.6, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1554364800000, - requiredDateEnd: 1554370200000, - teamID: 2 - }, - { - orderID: 10479, - orderDate: 1552946400000, - orderTotal: 10495.6, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1555412400000, - requiredDateEnd: 1555414200000, - teamID: 2 - }, - { - orderID: 10484, - orderDate: 1553378400000, - orderTotal: 386.2, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1555846200000, - requiredDateEnd: 1555848000000, - teamID: 2 - }, - { - orderID: 10492, - orderDate: 1554066000000, - orderTotal: 851.2, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1556533800000, - requiredDateEnd: 1556535600000, - teamID: 2 - }, - { - orderID: 10495, - orderDate: 1554238800000, - orderTotal: 278, - customerCompanyName: 'Laughing Bacchus Wine Cellars', - customerContactName: 'Yoshi Tannamuri', - requiredDateStart: 1556703000000, - requiredDateEnd: 1556708400000, - teamID: 2 - }, - { - orderID: 10505, - orderDate: 1555189200000, - orderTotal: 147.9, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1557649800000, - requiredDateEnd: 1557655200000, - teamID: 2 - }, - { - orderID: 10514, - orderDate: 1555880400000, - orderTotal: 8623.45, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1558359000000, - requiredDateEnd: 1558364400000, - teamID: 2 - }, - { - orderID: 10517, - orderDate: 1556053200000, - orderTotal: 352, - customerCompanyName: 'North/South', - customerContactName: 'Simon Crowther', - requiredDateStart: 1558530000000, - requiredDateEnd: 1558533600000, - teamID: 2 - }, - { - orderID: 10530, - orderDate: 1557262800000, - orderTotal: 4180, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1559730600000, - requiredDateEnd: 1559736000000, - teamID: 2 - }, - { - orderID: 10536, - orderDate: 1557781200000, - orderTotal: 1645, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1560247200000, - requiredDateEnd: 1560252600000, - teamID: 2 - }, - { - orderID: 10540, - orderDate: 1558213200000, - orderTotal: 10191.7, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1560684600000, - requiredDateEnd: 1560690000000, - teamID: 2 - }, - { - orderID: 10547, - orderDate: 1558558800000, - orderTotal: 1792.8, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1561017600000, - requiredDateEnd: 1561021200000, - teamID: 2 - }, - { - orderID: 10548, - orderDate: 1558818000000, - orderTotal: 240.1, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1561285800000, - requiredDateEnd: 1561287600000, - teamID: 2 - }, - { - orderID: 10568, - orderDate: 1560373200000, - orderTotal: 155, - customerCompanyName: 'Galería del gastrónomo', - customerContactName: 'Eduardo Saavedra', - requiredDateStart: 1562846400000, - requiredDateEnd: 1562848200000, - teamID: 2 - }, - { - orderID: 10570, - orderDate: 1560718800000, - orderTotal: 2465.25, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1563192000000, - requiredDateEnd: 1563195600000, - teamID: 2 - }, - { - orderID: 10572, - orderDate: 1560805200000, - orderTotal: 1501.085, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1563280200000, - requiredDateEnd: 1563285600000, - teamID: 2 - }, - { - orderID: 10576, - orderDate: 1561237200000, - orderTotal: 838.45, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1562502600000, - requiredDateEnd: 1562504400000, - teamID: 2 - }, - { - orderID: 10581, - orderDate: 1561496400000, - orderTotal: 310, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1563971400000, - requiredDateEnd: 1563975000000, - teamID: 2 - }, - { - orderID: 10582, - orderDate: 1561582800000, - orderTotal: 330, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1564048800000, - requiredDateEnd: 1564054200000, - teamID: 2 - }, - { - orderID: 10592, - orderDate: 1562533200000, - orderTotal: 516.4675, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1565002800000, - requiredDateEnd: 1565004600000, - teamID: 2 - }, - { - orderID: 10594, - orderDate: 1562619600000, - orderTotal: 565.5, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1565096400000, - requiredDateEnd: 1565100000000, - teamID: 2 - }, - { - orderID: 10619, - orderDate: 1564866000000, - orderTotal: 1260, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1567341000000, - requiredDateEnd: 1567342800000, - teamID: 2 - }, - { - orderID: 10625, - orderDate: 1565211600000, - orderTotal: 479.75, - customerCompanyName: 'Ana Trujillo Emparedados y helados', - customerContactName: 'Ana Trujillo', - requiredDateStart: 1567677600000, - requiredDateEnd: 1567679400000, - teamID: 2 - }, - { - orderID: 10638, - orderDate: 1566248400000, - orderTotal: 2720.05, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1568709000000, - requiredDateEnd: 1568714400000, - teamID: 2 - }, - { - orderID: 10644, - orderDate: 1566680400000, - orderTotal: 1371.8, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1569146400000, - requiredDateEnd: 1569148200000, - teamID: 2 - }, - { - orderID: 10662, - orderDate: 1567976400000, - orderTotal: 125, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1570451400000, - requiredDateEnd: 1570456800000, - teamID: 2 - }, - { - orderID: 10681, - orderDate: 1569358800000, - orderTotal: 1287.4, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1571824800000, - requiredDateEnd: 1571830200000, - teamID: 2 - }, - { - orderID: 10682, - orderDate: 1569358800000, - orderTotal: 375.5, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1571830200000, - requiredDateEnd: 1571833800000, - teamID: 2 - }, - { - orderID: 10684, - orderDate: 1569445200000, - orderTotal: 1768, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1571909400000, - requiredDateEnd: 1571914800000, - teamID: 2 - }, - { - orderID: 10693, - orderDate: 1570309200000, - orderTotal: 2071.2, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1571567400000, - requiredDateEnd: 1571572800000, - teamID: 2 - }, - { - orderID: 10697, - orderDate: 1570482000000, - orderTotal: 805.425, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1572944400000, - requiredDateEnd: 1572948000000, - teamID: 2 - }, - { - orderID: 10699, - orderDate: 1570568400000, - orderTotal: 114, - customerCompanyName: 'Morgenstern Gesundkost', - customerContactName: 'Alexander Feuer', - requiredDateStart: 1573036200000, - requiredDateEnd: 1573039800000, - teamID: 2 - }, - { - orderID: 10700, - orderDate: 1570654800000, - orderTotal: 1638.4, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1573128000000, - requiredDateEnd: 1573131600000, - teamID: 2 - }, - { - orderID: 10712, - orderDate: 1571605200000, - orderTotal: 1233.48, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1574067600000, - requiredDateEnd: 1574073000000, - teamID: 2 - }, - { - orderID: 10715, - orderDate: 1571778000000, - orderTotal: 1296, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1573030800000, - requiredDateEnd: 1573032600000, - teamID: 2 - }, - { - orderID: 10723, - orderDate: 1572386400000, - orderTotal: 468.45, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1574856000000, - requiredDateEnd: 1574859600000, - teamID: 2 - }, - { - orderID: 10732, - orderDate: 1572991200000, - orderTotal: 360, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1575469800000, - requiredDateEnd: 1575471600000, - teamID: 2 - }, - { - orderID: 10739, - orderDate: 1573509600000, - orderTotal: 240, - customerCompanyName: 'Vins et alcools Chevalier', - customerContactName: 'Paul Henriot', - requiredDateStart: 1575973800000, - requiredDateEnd: 1575979200000, - teamID: 2 - }, - { - orderID: 10742, - orderDate: 1573682400000, - orderTotal: 3118, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1576150200000, - requiredDateEnd: 1576153800000, - teamID: 2 - }, - { - orderID: 10748, - orderDate: 1574200800000, - orderTotal: 2196, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1576670400000, - requiredDateEnd: 1576675800000, - teamID: 2 - }, - { - orderID: 10751, - orderDate: 1574546400000, - orderTotal: 1631.484, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1577007000000, - requiredDateEnd: 1577010600000, - teamID: 2 - }, - { - orderID: 10753, - orderDate: 1574632800000, - orderTotal: 88, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1577093400000, - requiredDateEnd: 1577095200000, - teamID: 2 - }, - { - orderID: 10758, - orderDate: 1574892000000, - orderTotal: 1644.6, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1577352600000, - requiredDateEnd: 1577354400000, - teamID: 2 - }, - { - orderID: 10759, - orderDate: 1574892000000, - orderTotal: 320, - customerCompanyName: 'Ana Trujillo Emparedados y helados', - customerContactName: 'Ana Trujillo', - requiredDateStart: 1577368800000, - requiredDateEnd: 1577374200000, - teamID: 2 - }, - { - orderID: 10762, - orderDate: 1575237600000, - orderTotal: 4337, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1577710800000, - requiredDateEnd: 1577712600000, - teamID: 2 - }, - { - orderID: 10763, - orderDate: 1575324000000, - orderTotal: 616, - customerCompanyName: 'Folies gourmandes', - customerContactName: 'Martine Rancé', - requiredDateStart: 1577799000000, - requiredDateEnd: 1577800800000, - teamID: 2 - }, - { - orderID: 10765, - orderDate: 1575410400000, - orderTotal: 1515.6, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1577869200000, - requiredDateEnd: 1577872800000, - teamID: 2 - }, - { - orderID: 10768, - orderDate: 1575756000000, - orderTotal: 1477, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1578231000000, - requiredDateEnd: 1578232800000, - teamID: 2 - }, - { - orderID: 10769, - orderDate: 1575756000000, - orderTotal: 1684.275, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1578223800000, - requiredDateEnd: 1578225600000, - teamID: 2 - }, - { - orderID: 10772, - orderDate: 1575928800000, - orderTotal: 3603.22, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1578387600000, - requiredDateEnd: 1578393000000, - teamID: 2 - }, - { - orderID: 10778, - orderDate: 1576447200000, - orderTotal: 96.5, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1578913200000, - requiredDateEnd: 1578915000000, - teamID: 2 - }, - { - orderID: 10779, - orderDate: 1576447200000, - orderTotal: 1335, - customerCompanyName: 'Morgenstern Gesundkost', - customerContactName: 'Alexander Feuer', - requiredDateStart: 1578913200000, - requiredDateEnd: 1578918600000, - teamID: 2 - }, - { - orderID: 10793, - orderDate: 1577138400000, - orderTotal: 191.1, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1579613400000, - requiredDateEnd: 1579617000000, - teamID: 2 - }, - { - orderID: 10796, - orderDate: 1577224800000, - orderTotal: 2341.364, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1579689000000, - requiredDateEnd: 1579692600000, - teamID: 2 - }, - { - orderID: 10806, - orderDate: 1577743200000, - orderTotal: 439.6, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1580209200000, - requiredDateEnd: 1580212800000, - teamID: 2 - }, - { - orderID: 10814, - orderDate: 1578175200000, - orderTotal: 1788.45, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1580639400000, - requiredDateEnd: 1580644800000, - teamID: 2 - }, - { - orderID: 10817, - orderDate: 1578261600000, - orderTotal: 10952.845, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1579516200000, - requiredDateEnd: 1579521600000, - teamID: 2 - }, - { - orderID: 10820, - orderDate: 1578348000000, - orderTotal: 1140, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1580810400000, - requiredDateEnd: 1580812200000, - teamID: 2 - }, - { - orderID: 10831, - orderDate: 1578952800000, - orderTotal: 2684.4, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1581426000000, - requiredDateEnd: 1581427800000, - teamID: 2 - }, - { - orderID: 10838, - orderDate: 1579384800000, - orderTotal: 1938.375, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1581852600000, - requiredDateEnd: 1581854400000, - teamID: 2 - }, - { - orderID: 10839, - orderDate: 1579384800000, - orderTotal: 827.55, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1581861600000, - requiredDateEnd: 1581865200000, - teamID: 2 - }, - { - orderID: 10854, - orderDate: 1580076000000, - orderTotal: 2966.5, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1582536600000, - requiredDateEnd: 1582542000000, - teamID: 2 - }, - { - orderID: 10855, - orderDate: 1580076000000, - orderTotal: 2227.8875, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1582551000000, - requiredDateEnd: 1582556400000, - teamID: 2 - }, - { - orderID: 10856, - orderDate: 1580162400000, - orderTotal: 660, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1582626600000, - requiredDateEnd: 1582628400000, - teamID: 2 - }, - { - orderID: 10860, - orderDate: 1580248800000, - orderTotal: 519, - customerCompanyName: 'France restauration', - customerContactName: 'Carine Schmitt', - requiredDateStart: 1582727400000, - requiredDateEnd: 1582731000000, - teamID: 2 - }, - { - orderID: 10879, - orderDate: 1581285600000, - orderTotal: 611.3, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1583838000000, - requiredDateEnd: 1583839800000, - teamID: 2 - }, - { - orderID: 10895, - orderDate: 1581976800000, - orderTotal: 6379.4, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1584540000000, - requiredDateEnd: 1584543600000, - teamID: 2 - }, - { - orderID: 10897, - orderDate: 1582063200000, - orderTotal: 10835.24, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1584628200000, - requiredDateEnd: 1584631800000, - teamID: 2 - }, - { - orderID: 10903, - orderDate: 1582495200000, - orderTotal: 932.05, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1585047600000, - requiredDateEnd: 1585049400000, - teamID: 2 - }, - { - orderID: 10904, - orderDate: 1582495200000, - orderTotal: 1924.25, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1585056600000, - requiredDateEnd: 1585060200000, - teamID: 2 - }, - { - orderID: 10911, - orderDate: 1582668000000, - orderTotal: 858, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1585218600000, - requiredDateEnd: 1585222200000, - teamID: 2 - }, - { - orderID: 10918, - orderDate: 1583100000000, - orderTotal: 1447.5, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1585555200000, - requiredDateEnd: 1585560600000, - teamID: 2 - }, - { - orderID: 10924, - orderDate: 1583272800000, - orderTotal: 1835.7, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1585738800000, - requiredDateEnd: 1585744200000, - teamID: 2 - }, - { - orderID: 10925, - orderDate: 1583272800000, - orderTotal: 475.15, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1585735200000, - requiredDateEnd: 1585740600000, - teamID: 2 - }, - { - orderID: 10934, - orderDate: 1583704800000, - orderTotal: 500, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1586161800000, - requiredDateEnd: 1586163600000, - teamID: 2 - }, - { - orderID: 10936, - orderDate: 1583704800000, - orderTotal: 456, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1586176200000, - requiredDateEnd: 1586181600000, - teamID: 2 - }, - { - orderID: 10938, - orderDate: 1583791200000, - orderTotal: 2731.875, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1586253600000, - requiredDateEnd: 1586259000000, - teamID: 2 - }, - { - orderID: 10947, - orderDate: 1584050400000, - orderTotal: 220, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1586525400000, - requiredDateEnd: 1586527200000, - teamID: 2 - }, - { - orderID: 10948, - orderDate: 1584050400000, - orderTotal: 2362.25, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1586505600000, - requiredDateEnd: 1586509200000, - teamID: 2 - }, - { - orderID: 10960, - orderDate: 1584568800000, - orderTotal: 265.35, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1585830600000, - requiredDateEnd: 1585834200000, - teamID: 2 - }, - { - orderID: 10964, - orderDate: 1584655200000, - orderTotal: 2052.5, - customerCompanyName: 'Spécialités du monde', - customerContactName: 'Dominique Perrier', - requiredDateStart: 1587114000000, - requiredDateEnd: 1587117600000, - teamID: 2 - }, - { - orderID: 10974, - orderDate: 1585087200000, - orderTotal: 439, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1586349000000, - requiredDateEnd: 1586354400000, - teamID: 2 - }, - { - orderID: 10988, - orderDate: 1585602000000, - orderTotal: 3574.8, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1588075200000, - requiredDateEnd: 1588080600000, - teamID: 2 - }, - { - orderID: 11003, - orderDate: 1586120400000, - orderTotal: 326, - customerCompanyName: 'The Cracker Box', - customerContactName: 'Liu Wong', - requiredDateStart: 1588591800000, - requiredDateEnd: 1588593600000, - teamID: 2 - }, - { - orderID: 11004, - orderDate: 1586206800000, - orderTotal: 295.38, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1588671000000, - requiredDateEnd: 1588674600000, - teamID: 2 - }, - { - orderID: 11006, - orderDate: 1586206800000, - orderTotal: 329.685, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1588680000000, - requiredDateEnd: 1588681800000, - teamID: 2 - }, - { - orderID: 11011, - orderDate: 1586379600000, - orderTotal: 933.5, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1588847400000, - requiredDateEnd: 1588849200000, - teamID: 2 - }, - { - orderID: 11021, - orderDate: 1586811600000, - orderTotal: 6306.24, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1589284800000, - requiredDateEnd: 1589288400000, - teamID: 2 - }, - { - orderID: 11041, - orderDate: 1587502800000, - orderTotal: 1773, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1589968800000, - requiredDateEnd: 1589970600000, - teamID: 2 - }, - { - orderID: 11049, - orderDate: 1587675600000, - orderTotal: 273.6, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1590141600000, - requiredDateEnd: 1590145200000, - teamID: 2 - }, - { - orderID: 11052, - orderDate: 1587934800000, - orderTotal: 1332, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1590395400000, - requiredDateEnd: 1590399000000, - teamID: 2 - }, - { - orderID: 11057, - orderDate: 1588107600000, - orderTotal: 45, - customerCompanyName: 'North/South', - customerContactName: 'Simon Crowther', - requiredDateStart: 1590577200000, - requiredDateEnd: 1590582600000, - teamID: 2 - }, - { - orderID: 11063, - orderDate: 1588194000000, - orderTotal: 1342.95, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1590654600000, - requiredDateEnd: 1590656400000, - teamID: 2 - }, - { - orderID: 10265, - orderDate: 1532466000000, - orderTotal: 1176, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1534933800000, - requiredDateEnd: 1534937400000, - teamID: 1 - }, - { - orderID: 10277, - orderDate: 1533762000000, - orderTotal: 1200.8, - customerCompanyName: 'Morgenstern Gesundkost', - customerContactName: 'Alexander Feuer', - requiredDateStart: 1536231600000, - requiredDateEnd: 1536233400000, - teamID: 1 - }, - { - orderID: 10280, - orderDate: 1534194000000, - orderTotal: 613.2, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1536652800000, - requiredDateEnd: 1536656400000, - teamID: 1 - }, - { - orderID: 10295, - orderDate: 1535835600000, - orderTotal: 121.6, - customerCompanyName: 'Vins et alcools Chevalier', - customerContactName: 'Paul Henriot', - requiredDateStart: 1538296200000, - requiredDateEnd: 1538299800000, - teamID: 1 - }, - { - orderID: 10300, - orderDate: 1536440400000, - orderTotal: 608, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1538908200000, - requiredDateEnd: 1538913600000, - teamID: 1 - }, - { - orderID: 10307, - orderDate: 1537131600000, - orderTotal: 424, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1539604800000, - requiredDateEnd: 1539606600000, - teamID: 1 - }, - { - orderID: 10312, - orderDate: 1537650000000, - orderTotal: 1614.8, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1540116000000, - requiredDateEnd: 1540119600000, - teamID: 1 - }, - { - orderID: 10313, - orderDate: 1537736400000, - orderTotal: 182.4, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1540195200000, - requiredDateEnd: 1540200600000, - teamID: 1 - }, - { - orderID: 10327, - orderDate: 1539205200000, - orderTotal: 1810, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1541673000000, - requiredDateEnd: 1541674800000, - teamID: 1 - }, - { - orderID: 10339, - orderDate: 1540674000000, - orderTotal: 3354, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1543140000000, - requiredDateEnd: 1543141800000, - teamID: 1 - }, - { - orderID: 10345, - orderDate: 1541282400000, - orderTotal: 2924.8, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1543761000000, - requiredDateEnd: 1543766400000, - teamID: 1 - }, - { - orderID: 10368, - orderDate: 1543442400000, - orderTotal: 1689.78, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1545906600000, - requiredDateEnd: 1545912000000, - teamID: 1 - }, - { - orderID: 10379, - orderDate: 1544479200000, - orderTotal: 863.28, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1546956000000, - requiredDateEnd: 1546961400000, - teamID: 1 - }, - { - orderID: 10388, - orderDate: 1545170400000, - orderTotal: 1228.8, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1547641800000, - requiredDateEnd: 1547647200000, - teamID: 1 - }, - { - orderID: 10392, - orderDate: 1545602400000, - orderTotal: 1440, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1548063000000, - requiredDateEnd: 1548066600000, - teamID: 1 - }, - { - orderID: 10398, - orderDate: 1546120800000, - orderTotal: 2505.6, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1548579600000, - requiredDateEnd: 1548585000000, - teamID: 1 - }, - { - orderID: 10404, - orderDate: 1546466400000, - orderTotal: 1591.25, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1548928800000, - requiredDateEnd: 1548932400000, - teamID: 1 - }, - { - orderID: 10407, - orderDate: 1546812000000, - orderTotal: 1194, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1549285200000, - requiredDateEnd: 1549288800000, - teamID: 1 - }, - { - orderID: 10414, - orderDate: 1547416800000, - orderTotal: 224.83, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1549879200000, - requiredDateEnd: 1549881000000, - teamID: 1 - }, - { - orderID: 10422, - orderDate: 1548108000000, - orderTotal: 49.8, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1550583000000, - requiredDateEnd: 1550586600000, - teamID: 1 - }, - { - orderID: 10457, - orderDate: 1551045600000, - orderTotal: 1584, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1553513400000, - requiredDateEnd: 1553517000000, - teamID: 1 - }, - { - orderID: 10462, - orderDate: 1551564000000, - orderTotal: 156, - customerCompanyName: 'Consolidated Holdings', - customerContactName: 'Elizabeth Brown', - requiredDateStart: 1554042600000, - requiredDateEnd: 1554046200000, - teamID: 1 - }, - { - orderID: 10471, - orderDate: 1552255200000, - orderTotal: 1328, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1554715800000, - requiredDateEnd: 1554721200000, - teamID: 1 - }, - { - orderID: 10478, - orderDate: 1552860000000, - orderTotal: 471.2, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1554116400000, - requiredDateEnd: 1554120000000, - teamID: 1 - }, - { - orderID: 10487, - orderDate: 1553551200000, - orderTotal: 889.7, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1556006400000, - requiredDateEnd: 1556010000000, - teamID: 1 - }, - { - orderID: 10502, - orderDate: 1554843600000, - orderTotal: 816.3, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1557313200000, - requiredDateEnd: 1557315000000, - teamID: 1 - }, - { - orderID: 10515, - orderDate: 1555966800000, - orderTotal: 9921.3, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1557217800000, - requiredDateEnd: 1557221400000, - teamID: 1 - }, - { - orderID: 10516, - orderDate: 1556053200000, - orderTotal: 2381.05, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1558513800000, - requiredDateEnd: 1558519200000, - teamID: 1 - }, - { - orderID: 10541, - orderDate: 1558213200000, - orderTotal: 1946.52, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1560684600000, - requiredDateEnd: 1560688200000, - teamID: 1 - }, - { - orderID: 10552, - orderDate: 1559077200000, - orderTotal: 880.5, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1561543200000, - requiredDateEnd: 1561548600000, - teamID: 1 - }, - { - orderID: 10553, - orderDate: 1559163600000, - orderTotal: 1546.3, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1561627800000, - requiredDateEnd: 1561629600000, - teamID: 1 - }, - { - orderID: 10556, - orderDate: 1559509200000, - orderTotal: 835.2, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1563177600000, - requiredDateEnd: 1563181200000, - teamID: 1 - }, - { - orderID: 10561, - orderDate: 1559768400000, - orderTotal: 2844.5, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1562230800000, - requiredDateEnd: 1562232600000, - teamID: 1 - }, - { - orderID: 10563, - orderDate: 1560114000000, - orderTotal: 965, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1563789600000, - requiredDateEnd: 1563791400000, - teamID: 1 - }, - { - orderID: 10583, - orderDate: 1561842000000, - orderTotal: 2237.5, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1564315200000, - requiredDateEnd: 1564317000000, - teamID: 1 - }, - { - orderID: 10588, - orderDate: 1562101200000, - orderTotal: 3120, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1564578000000, - requiredDateEnd: 1564583400000, - teamID: 1 - }, - { - orderID: 10595, - orderDate: 1562706000000, - orderTotal: 4725, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1565181000000, - requiredDateEnd: 1565182800000, - teamID: 1 - }, - { - orderID: 10615, - orderDate: 1564434000000, - orderTotal: 120, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1566900000000, - requiredDateEnd: 1566901800000, - teamID: 1 - }, - { - orderID: 10620, - orderDate: 1564952400000, - orderTotal: 57.5, - customerCompanyName: 'Laughing Bacchus Wine Cellars', - customerContactName: 'Yoshi Tannamuri', - requiredDateStart: 1567422000000, - requiredDateEnd: 1567423800000, - teamID: 1 - }, - { - orderID: 10657, - orderDate: 1567544400000, - orderTotal: 4371.6, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1570012200000, - requiredDateEnd: 1570015800000, - teamID: 1 - }, - { - orderID: 10663, - orderDate: 1568062800000, - orderTotal: 1930.4, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1569328200000, - requiredDateEnd: 1569333600000, - teamID: 1 - }, - { - orderID: 10669, - orderDate: 1568494800000, - orderTotal: 570, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1570966200000, - requiredDateEnd: 1570968000000, - teamID: 1 - }, - { - orderID: 10673, - orderDate: 1568754000000, - orderTotal: 412.35, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1571230800000, - requiredDateEnd: 1571234400000, - teamID: 1 - }, - { - orderID: 10676, - orderDate: 1569099600000, - orderTotal: 534.85, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1571569200000, - requiredDateEnd: 1571574600000, - teamID: 1 - }, - { - orderID: 10683, - orderDate: 1569445200000, - orderTotal: 63, - customerCompanyName: 'Du monde entier', - customerContactName: 'Janine Labrune', - requiredDateStart: 1571907600000, - requiredDateEnd: 1571909400000, - teamID: 1 - }, - { - orderID: 10686, - orderDate: 1569790800000, - orderTotal: 1404.45, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1572255000000, - requiredDateEnd: 1572256800000, - teamID: 1 - }, - { - orderID: 10691, - orderDate: 1570050000000, - orderTotal: 10164.8, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1573729200000, - requiredDateEnd: 1573731000000, - teamID: 1 - }, - { - orderID: 10727, - orderDate: 1572732000000, - orderTotal: 1624.5, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1575207000000, - requiredDateEnd: 1575212400000, - teamID: 1 - }, - { - orderID: 10734, - orderDate: 1573077600000, - orderTotal: 1498.35, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1575552600000, - requiredDateEnd: 1575556200000, - teamID: 1 - }, - { - orderID: 10737, - orderDate: 1573423200000, - orderTotal: 139.8, - customerCompanyName: 'Vins et alcools Chevalier', - customerContactName: 'Paul Henriot', - requiredDateStart: 1575901800000, - requiredDateEnd: 1575905400000, - teamID: 1 - }, - { - orderID: 10738, - orderDate: 1573509600000, - orderTotal: 52.35, - customerCompanyName: 'Spécialités du monde', - customerContactName: 'Dominique Perrier', - requiredDateStart: 1575972000000, - requiredDateEnd: 1575977400000, - teamID: 1 - }, - { - orderID: 10752, - orderDate: 1574546400000, - orderTotal: 252, - customerCompanyName: 'North/South', - customerContactName: 'Simon Crowther', - requiredDateStart: 1577019600000, - requiredDateEnd: 1577023200000, - teamID: 1 - }, - { - orderID: 10780, - orderDate: 1576447200000, - orderTotal: 720, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1577696400000, - requiredDateEnd: 1577700000000, - teamID: 1 - }, - { - orderID: 10781, - orderDate: 1576533600000, - orderTotal: 975.88, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1579006800000, - requiredDateEnd: 1579008600000, - teamID: 1 - }, - { - orderID: 10787, - orderDate: 1576706400000, - orderTotal: 2622.76, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1577962800000, - requiredDateEnd: 1577968200000, - teamID: 1 - }, - { - orderID: 10798, - orderDate: 1577311200000, - orderTotal: 446.6, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1579782600000, - requiredDateEnd: 1579786200000, - teamID: 1 - }, - { - orderID: 10805, - orderDate: 1577656800000, - orderTotal: 2775, - customerCompanyName: 'The Big Cheese', - customerContactName: 'Liz Nixon', - requiredDateStart: 1580124600000, - requiredDateEnd: 1580128200000, - teamID: 1 - }, - { - orderID: 10808, - orderDate: 1577829600000, - orderTotal: 1411, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1580290200000, - requiredDateEnd: 1580295600000, - teamID: 1 - }, - { - orderID: 10810, - orderDate: 1577829600000, - orderTotal: 187, - customerCompanyName: 'Laughing Bacchus Wine Cellars', - customerContactName: 'Yoshi Tannamuri', - requiredDateStart: 1580306400000, - requiredDateEnd: 1580308200000, - teamID: 1 - }, - { - orderID: 10815, - orderDate: 1578175200000, - orderTotal: 40, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1580646600000, - requiredDateEnd: 1580652000000, - teamID: 1 - }, - { - orderID: 10819, - orderDate: 1578348000000, - orderTotal: 477, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1580817600000, - requiredDateEnd: 1580819400000, - teamID: 1 - }, - { - orderID: 10832, - orderDate: 1578952800000, - orderTotal: 475.11, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1581413400000, - requiredDateEnd: 1581415200000, - teamID: 1 - }, - { - orderID: 10846, - orderDate: 1579644000000, - orderTotal: 1112, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1583411400000, - requiredDateEnd: 1583415000000, - teamID: 1 - }, - { - orderID: 10858, - orderDate: 1580248800000, - orderTotal: 649, - customerCompanyName: `La corne d'abondance`, - customerContactName: 'Daniel Tonini', - requiredDateStart: 1582718400000, - requiredDateEnd: 1582722000000, - teamID: 1 - }, - { - orderID: 10865, - orderDate: 1580594400000, - orderTotal: 16387.5, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1581847200000, - requiredDateEnd: 1581850800000, - teamID: 1 - }, - { - orderID: 10912, - orderDate: 1582668000000, - orderTotal: 6200.55, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1585220400000, - requiredDateEnd: 1585222200000, - teamID: 1 - }, - { - orderID: 10915, - orderDate: 1582754400000, - orderTotal: 539.5, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1585317600000, - requiredDateEnd: 1585321200000, - teamID: 1 - }, - { - orderID: 10919, - orderDate: 1583100000000, - orderTotal: 1122.8, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1585575000000, - requiredDateEnd: 1585580400000, - teamID: 1 - }, - { - orderID: 10939, - orderDate: 1583791200000, - orderTotal: 637.5, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1586255400000, - requiredDateEnd: 1586259000000, - teamID: 1 - }, - { - orderID: 10949, - orderDate: 1584050400000, - orderTotal: 4422, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1586514600000, - requiredDateEnd: 1586516400000, - teamID: 1 - }, - { - orderID: 10967, - orderDate: 1584914400000, - orderTotal: 910.4, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1587373200000, - requiredDateEnd: 1587376800000, - teamID: 1 - }, - { - orderID: 10971, - orderDate: 1585000800000, - orderTotal: 1733.06, - customerCompanyName: 'France restauration', - customerContactName: 'Carine Schmitt', - requiredDateStart: 1587466800000, - requiredDateEnd: 1587470400000, - teamID: 1 - }, - { - orderID: 10982, - orderDate: 1585260000000, - orderTotal: 1014, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1587717000000, - requiredDateEnd: 1587720600000, - teamID: 1 - }, - { - orderID: 10983, - orderDate: 1585260000000, - orderTotal: 720.9, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1587727800000, - requiredDateEnd: 1587729600000, - teamID: 1 - }, - { - orderID: 10985, - orderDate: 1585515600000, - orderTotal: 2023.38, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1587978000000, - requiredDateEnd: 1587983400000, - teamID: 1 - }, - { - orderID: 10989, - orderDate: 1585602000000, - orderTotal: 1353.6, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1588062600000, - requiredDateEnd: 1588068000000, - teamID: 1 - }, - { - orderID: 10990, - orderDate: 1585688400000, - orderTotal: 4288.85, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1589362200000, - requiredDateEnd: 1589364000000, - teamID: 1 - }, - { - orderID: 10994, - orderDate: 1585774800000, - orderTotal: 940.5, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1587040200000, - requiredDateEnd: 1587042000000, - teamID: 1 - }, - { - orderID: 11000, - orderDate: 1586120400000, - orderTotal: 903.75, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1588581000000, - requiredDateEnd: 1588586400000, - teamID: 1 - }, - { - orderID: 11001, - orderDate: 1586120400000, - orderTotal: 2769, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1588597200000, - requiredDateEnd: 1588599000000, - teamID: 1 - }, - { - orderID: 11005, - orderDate: 1586206800000, - orderTotal: 586, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1588671000000, - requiredDateEnd: 1588672800000, - teamID: 1 - }, - { - orderID: 11009, - orderDate: 1586293200000, - orderTotal: 616.5, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1588753800000, - requiredDateEnd: 1588755600000, - teamID: 1 - }, - { - orderID: 11010, - orderDate: 1586379600000, - orderTotal: 645, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1588851000000, - requiredDateEnd: 1588852800000, - teamID: 1 - }, - { - orderID: 11013, - orderDate: 1586379600000, - orderTotal: 361, - customerCompanyName: 'Romero y tomillo', - customerContactName: 'Alejandra Camino', - requiredDateStart: 1588849200000, - requiredDateEnd: 1588851000000, - teamID: 1 - }, - { - orderID: 11014, - orderDate: 1586466000000, - orderTotal: 243.18, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1588932000000, - requiredDateEnd: 1588935600000, - teamID: 1 - }, - { - orderID: 11015, - orderDate: 1586466000000, - orderTotal: 622.35, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1587731400000, - requiredDateEnd: 1587736800000, - teamID: 1 - }, - { - orderID: 11020, - orderDate: 1586811600000, - orderTotal: 632.4, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1589281200000, - requiredDateEnd: 1589284800000, - teamID: 1 - }, - { - orderID: 11028, - orderDate: 1586984400000, - orderTotal: 2160, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1589445000000, - requiredDateEnd: 1589448600000, - teamID: 1 - }, - { - orderID: 11032, - orderDate: 1587070800000, - orderTotal: 8902.5, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1589549400000, - requiredDateEnd: 1589553000000, - teamID: 1 - }, - { - orderID: 11035, - orderDate: 1587330000000, - orderTotal: 1754.5, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1589801400000, - requiredDateEnd: 1589803200000, - teamID: 1 - }, - { - orderID: 11042, - orderDate: 1587502800000, - orderTotal: 405.75, - customerCompanyName: 'Comércio Mineiro', - customerContactName: 'Pedro Afonso', - requiredDateStart: 1588770000000, - requiredDateEnd: 1588771800000, - teamID: 1 - }, - { - orderID: 11053, - orderDate: 1587934800000, - orderTotal: 3055, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1590395400000, - requiredDateEnd: 1590399000000, - teamID: 1 - }, - { - orderID: 11059, - orderDate: 1588107600000, - orderTotal: 1838, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1591795800000, - requiredDateEnd: 1591799400000, - teamID: 1 - }, - { - orderID: 11060, - orderDate: 1588194000000, - orderTotal: 266, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1590654600000, - requiredDateEnd: 1590656400000, - teamID: 1 - }, - { - orderID: 11070, - orderDate: 1588626000000, - orderTotal: 1629.975, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1591095600000, - requiredDateEnd: 1591099200000, - teamID: 1 - }, - { - orderID: 11073, - orderDate: 1588626000000, - orderTotal: 300, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1591104600000, - requiredDateEnd: 1591110000000, - teamID: 1 - }, - { - orderID: 10258, - orderDate: 1531774800000, - orderTotal: 1614.88, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1534246200000, - requiredDateEnd: 1534248000000, - teamID: 1 - }, - { - orderID: 10270, - orderDate: 1533070800000, - orderTotal: 1376, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1535533200000, - requiredDateEnd: 1535538600000, - teamID: 1 - }, - { - orderID: 10275, - orderDate: 1533589200000, - orderTotal: 291.84, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1536058800000, - requiredDateEnd: 1536062400000, - teamID: 1 - }, - { - orderID: 10285, - orderDate: 1534712400000, - orderTotal: 1743.36, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1537187400000, - requiredDateEnd: 1537192800000, - teamID: 1 - }, - { - orderID: 10292, - orderDate: 1535403600000, - orderTotal: 1296, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1537878600000, - requiredDateEnd: 1537884000000, - teamID: 1 - }, - { - orderID: 10293, - orderDate: 1535490000000, - orderTotal: 848.7, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1537961400000, - requiredDateEnd: 1537966800000, - teamID: 1 - }, - { - orderID: 10304, - orderDate: 1536699600000, - orderTotal: 954.4, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1539167400000, - requiredDateEnd: 1539172800000, - teamID: 1 - }, - { - orderID: 10306, - orderDate: 1537045200000, - orderTotal: 498.5, - customerCompanyName: 'Romero y tomillo', - customerContactName: 'Alejandra Camino', - requiredDateStart: 1539518400000, - requiredDateEnd: 1539522000000, - teamID: 1 - }, - { - orderID: 10311, - orderDate: 1537390800000, - orderTotal: 268.8, - customerCompanyName: 'Du monde entier', - customerContactName: 'Janine Labrune', - requiredDateStart: 1538652600000, - requiredDateEnd: 1538658000000, - teamID: 1 - }, - { - orderID: 10314, - orderDate: 1537822800000, - orderTotal: 2094.3, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1540285200000, - requiredDateEnd: 1540290600000, - teamID: 1 - }, - { - orderID: 10316, - orderDate: 1537995600000, - orderTotal: 2835, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1540468800000, - requiredDateEnd: 1540470600000, - teamID: 1 - }, - { - orderID: 10325, - orderDate: 1539032400000, - orderTotal: 1497, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1540290600000, - requiredDateEnd: 1540296000000, - teamID: 1 - }, - { - orderID: 10340, - orderDate: 1540764000000, - orderTotal: 2436.18, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1543235400000, - requiredDateEnd: 1543240800000, - teamID: 1 - }, - { - orderID: 10351, - orderDate: 1541887200000, - orderTotal: 5398.725, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1544347800000, - requiredDateEnd: 1544349600000, - teamID: 1 - }, - { - orderID: 10357, - orderDate: 1542578400000, - orderTotal: 1167.68, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1545046200000, - requiredDateEnd: 1545051600000, - teamID: 1 - }, - { - orderID: 10361, - orderDate: 1542837600000, - orderTotal: 2046.24, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1545316200000, - requiredDateEnd: 1545319800000, - teamID: 1 - }, - { - orderID: 10364, - orderDate: 1543183200000, - orderTotal: 950, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1546851600000, - requiredDateEnd: 1546853400000, - teamID: 1 - }, - { - orderID: 10371, - orderDate: 1543788000000, - orderTotal: 72.96, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1546261200000, - requiredDateEnd: 1546264800000, - teamID: 1 - }, - { - orderID: 10374, - orderDate: 1543960800000, - orderTotal: 459, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1546419600000, - requiredDateEnd: 1546423200000, - teamID: 1 - }, - { - orderID: 10376, - orderDate: 1544306400000, - orderTotal: 399, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1546768800000, - requiredDateEnd: 1546770600000, - teamID: 1 - }, - { - orderID: 10377, - orderDate: 1544306400000, - orderTotal: 863.6, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1546783200000, - requiredDateEnd: 1546788600000, - teamID: 1 - }, - { - orderID: 10385, - orderDate: 1544997600000, - orderTotal: 691.2, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1547458200000, - requiredDateEnd: 1547463600000, - teamID: 1 - }, - { - orderID: 10387, - orderDate: 1545084000000, - orderTotal: 1058.4, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1547559000000, - requiredDateEnd: 1547562600000, - teamID: 1 - }, - { - orderID: 10393, - orderDate: 1545688800000, - orderTotal: 2556.95, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1548162000000, - requiredDateEnd: 1548165600000, - teamID: 1 - }, - { - orderID: 10394, - orderDate: 1545688800000, - orderTotal: 442, - customerCompanyName: 'Hungry Coyote Import Store', - customerContactName: 'Yoshi Latimer', - requiredDateStart: 1548158400000, - requiredDateEnd: 1548160200000, - teamID: 1 - }, - { - orderID: 10396, - orderDate: 1545861600000, - orderTotal: 1903.8, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1547118000000, - requiredDateEnd: 1547121600000, - teamID: 1 - }, - { - orderID: 10400, - orderDate: 1546293600000, - orderTotal: 3063, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1548761400000, - requiredDateEnd: 1548765000000, - teamID: 1 - }, - { - orderID: 10401, - orderDate: 1546293600000, - orderTotal: 3868.6, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1548772200000, - requiredDateEnd: 1548775800000, - teamID: 1 - }, - { - orderID: 10405, - orderDate: 1546725600000, - orderTotal: 400, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1549200600000, - requiredDateEnd: 1549202400000, - teamID: 1 - }, - { - orderID: 10453, - orderDate: 1550700000000, - orderTotal: 407.7, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1553160600000, - requiredDateEnd: 1553162400000, - teamID: 1 - }, - { - orderID: 10461, - orderDate: 1551304800000, - orderTotal: 1538.7, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1553769000000, - requiredDateEnd: 1553774400000, - teamID: 1 - }, - { - orderID: 10465, - orderDate: 1551736800000, - orderTotal: 2518, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1554201000000, - requiredDateEnd: 1554206400000, - teamID: 1 - }, - { - orderID: 10469, - orderDate: 1552168800000, - orderTotal: 956.675, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1554627600000, - requiredDateEnd: 1554629400000, - teamID: 1 - }, - { - orderID: 10473, - orderDate: 1552428000000, - orderTotal: 230.4, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1553697000000, - requiredDateEnd: 1553700600000, - teamID: 1 - }, - { - orderID: 10482, - orderDate: 1553119200000, - orderTotal: 147, - customerCompanyName: 'Lazy K Kountry Store', - customerContactName: 'John Steel', - requiredDateStart: 1555592400000, - requiredDateEnd: 1555596000000, - teamID: 1 - }, - { - orderID: 10486, - orderDate: 1553551200000, - orderTotal: 1272, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1556010000000, - requiredDateEnd: 1556013600000, - teamID: 1 - }, - { - orderID: 10508, - orderDate: 1555362000000, - orderTotal: 240, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1557824400000, - requiredDateEnd: 1557829800000, - teamID: 1 - }, - { - orderID: 10524, - orderDate: 1556658000000, - orderTotal: 3192.65, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1559131200000, - requiredDateEnd: 1559133000000, - teamID: 1 - }, - { - orderID: 10525, - orderDate: 1556744400000, - orderTotal: 818.4, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1559208600000, - requiredDateEnd: 1559210400000, - teamID: 1 - }, - { - orderID: 10537, - orderDate: 1557781200000, - orderTotal: 1823.8, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1559050200000, - requiredDateEnd: 1559052000000, - teamID: 1 - }, - { - orderID: 10542, - orderDate: 1558299600000, - orderTotal: 469.11, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1560765600000, - requiredDateEnd: 1560771000000, - teamID: 1 - }, - { - orderID: 10546, - orderDate: 1558558800000, - orderTotal: 2812, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1561028400000, - requiredDateEnd: 1561033800000, - teamID: 1 - }, - { - orderID: 10558, - orderDate: 1559595600000, - orderTotal: 2142.9, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1562063400000, - requiredDateEnd: 1562067000000, - teamID: 1 - }, - { - orderID: 10562, - orderDate: 1560027600000, - orderTotal: 488.7, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1562493600000, - requiredDateEnd: 1562497200000, - teamID: 1 - }, - { - orderID: 10567, - orderDate: 1560286800000, - orderTotal: 2519, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1562763600000, - requiredDateEnd: 1562765400000, - teamID: 1 - }, - { - orderID: 10579, - orderDate: 1561410000000, - orderTotal: 317.75, - customerCompanyName: `Let's Stop N Shop`, - customerContactName: 'Jaime Yorres', - requiredDateStart: 1563885000000, - requiredDateEnd: 1563886800000, - teamID: 1 - }, - { - orderID: 10587, - orderDate: 1562014800000, - orderTotal: 807.38, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1564473600000, - requiredDateEnd: 1564475400000, - teamID: 1 - }, - { - orderID: 10591, - orderDate: 1562446800000, - orderTotal: 812.5, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1563710400000, - requiredDateEnd: 1563715800000, - teamID: 1 - }, - { - orderID: 10598, - orderDate: 1563051600000, - orderTotal: 2388.5, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1565514000000, - requiredDateEnd: 1565517600000, - teamID: 1 - }, - { - orderID: 10604, - orderDate: 1563397200000, - orderTotal: 230.85, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1565857800000, - requiredDateEnd: 1565863200000, - teamID: 1 - }, - { - orderID: 10605, - orderDate: 1563656400000, - orderTotal: 4109.7, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1566118800000, - requiredDateEnd: 1566120600000, - teamID: 1 - }, - { - orderID: 10612, - orderDate: 1564261200000, - orderTotal: 6375, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1566732600000, - requiredDateEnd: 1566738000000, - teamID: 1 - }, - { - orderID: 10616, - orderDate: 1564520400000, - orderTotal: 4807, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1566991800000, - requiredDateEnd: 1566997200000, - teamID: 1 - }, - { - orderID: 10618, - orderDate: 1564606800000, - orderTotal: 2697.5, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1568293200000, - requiredDateEnd: 1568295000000, - teamID: 1 - }, - { - orderID: 10626, - orderDate: 1565470800000, - orderTotal: 1503.6, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1567949400000, - requiredDateEnd: 1567954800000, - teamID: 1 - }, - { - orderID: 10630, - orderDate: 1565643600000, - orderTotal: 903.6, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1568118600000, - requiredDateEnd: 1568124000000, - teamID: 1 - }, - { - orderID: 10653, - orderDate: 1567371600000, - orderTotal: 1083.15, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1569834000000, - requiredDateEnd: 1569835800000, - teamID: 1 - }, - { - orderID: 10655, - orderDate: 1567458000000, - orderTotal: 154.4, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1569916800000, - requiredDateEnd: 1569918600000, - teamID: 1 - }, - { - orderID: 10664, - orderDate: 1568062800000, - orderTotal: 1288.3875, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1570532400000, - requiredDateEnd: 1570537800000, - teamID: 1 - }, - { - orderID: 10665, - orderDate: 1568149200000, - orderTotal: 1295, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1570609800000, - requiredDateEnd: 1570615200000, - teamID: 1 - }, - { - orderID: 10668, - orderDate: 1568494800000, - orderTotal: 625.275, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1570968000000, - requiredDateEnd: 1570969800000, - teamID: 1 - }, - { - orderID: 10671, - orderDate: 1568667600000, - orderTotal: 920.1, - customerCompanyName: 'France restauration', - customerContactName: 'Carine Schmitt', - requiredDateStart: 1571144400000, - requiredDateEnd: 1571146200000, - teamID: 1 - }, - { - orderID: 10677, - orderDate: 1569099600000, - orderTotal: 813.365, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1571576400000, - requiredDateEnd: 1571581800000, - teamID: 1 - }, - { - orderID: 10680, - orderDate: 1569272400000, - orderTotal: 1261.875, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1571742000000, - requiredDateEnd: 1571743800000, - teamID: 1 - }, - { - orderID: 10689, - orderDate: 1569877200000, - orderTotal: 472.5, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1572339600000, - requiredDateEnd: 1572343200000, - teamID: 1 - }, - { - orderID: 10690, - orderDate: 1569963600000, - orderTotal: 862.5, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1572436800000, - requiredDateEnd: 1572440400000, - teamID: 1 - }, - { - orderID: 10709, - orderDate: 1571259600000, - orderTotal: 3424, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1573723800000, - requiredDateEnd: 1573727400000, - teamID: 1 - }, - { - orderID: 10710, - orderDate: 1571518800000, - orderTotal: 93.5, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1573986600000, - requiredDateEnd: 1573990200000, - teamID: 1 - }, - { - orderID: 10713, - orderDate: 1571691600000, - orderTotal: 2827.9, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1574164800000, - requiredDateEnd: 1574170200000, - teamID: 1 - }, - { - orderID: 10717, - orderDate: 1571864400000, - orderTotal: 1270.75, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1574328600000, - requiredDateEnd: 1574330400000, - teamID: 1 - }, - { - orderID: 10718, - orderDate: 1572123600000, - orderTotal: 3463, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1574587800000, - requiredDateEnd: 1574591400000, - teamID: 1 - }, - { - orderID: 10733, - orderDate: 1573077600000, - orderTotal: 1459, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1575552600000, - requiredDateEnd: 1575558000000, - teamID: 1 - }, - { - orderID: 10743, - orderDate: 1573941600000, - orderTotal: 319.2, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1576400400000, - requiredDateEnd: 1576404000000, - teamID: 1 - }, - { - orderID: 10746, - orderDate: 1574114400000, - orderTotal: 2311.7, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1576580400000, - requiredDateEnd: 1576584000000, - teamID: 1 - }, - { - orderID: 10773, - orderDate: 1576015200000, - orderTotal: 2030.4, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1578479400000, - requiredDateEnd: 1578483000000, - teamID: 1 - }, - { - orderID: 10776, - orderDate: 1576360800000, - orderTotal: 6635.275, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1578830400000, - requiredDateEnd: 1578834000000, - teamID: 1 - }, - { - orderID: 10785, - orderDate: 1576620000000, - orderTotal: 387.5, - customerCompanyName: 'GROSELLA-Restaurante', - customerContactName: 'Manuel Pereira', - requiredDateStart: 1579095000000, - requiredDateEnd: 1579100400000, - teamID: 1 - }, - { - orderID: 10788, - orderDate: 1576965600000, - orderTotal: 731.5, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1579444200000, - requiredDateEnd: 1579446000000, - teamID: 1 - }, - { - orderID: 10789, - orderDate: 1576965600000, - orderTotal: 3687, - customerCompanyName: 'Folies gourmandes', - customerContactName: 'Martine Rancé', - requiredDateStart: 1579426200000, - requiredDateEnd: 1579429800000, - teamID: 1 - }, - { - orderID: 10792, - orderDate: 1577052000000, - orderTotal: 399.85, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1579528800000, - requiredDateEnd: 1579532400000, - teamID: 1 - }, - { - orderID: 10800, - orderDate: 1577311200000, - orderTotal: 1468.935, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1579780800000, - requiredDateEnd: 1579786200000, - teamID: 1 - }, - { - orderID: 10813, - orderDate: 1578175200000, - orderTotal: 602.4, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1580652000000, - requiredDateEnd: 1580657400000, - teamID: 1 - }, - { - orderID: 10821, - orderDate: 1578434400000, - orderTotal: 678, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1580900400000, - requiredDateEnd: 1580905800000, - teamID: 1 - }, - { - orderID: 10825, - orderDate: 1578520800000, - orderTotal: 1030.76, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1580992200000, - requiredDateEnd: 1580994000000, - teamID: 1 - }, - { - orderID: 10827, - orderDate: 1578780000000, - orderTotal: 843, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1580036400000, - requiredDateEnd: 1580041800000, - teamID: 1 - }, - { - orderID: 10834, - orderDate: 1579039200000, - orderTotal: 1432.714, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1581514200000, - requiredDateEnd: 1581519600000, - teamID: 1 - }, - { - orderID: 10835, - orderDate: 1579039200000, - orderTotal: 845.8, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1581517800000, - requiredDateEnd: 1581521400000, - teamID: 1 - }, - { - orderID: 10842, - orderDate: 1579471200000, - orderTotal: 975, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1581942600000, - requiredDateEnd: 1581946200000, - teamID: 1 - }, - { - orderID: 10850, - orderDate: 1579730400000, - orderTotal: 629, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1583488800000, - requiredDateEnd: 1583494200000, - teamID: 1 - }, - { - orderID: 10859, - orderDate: 1580248800000, - orderTotal: 1078.6875, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1582722000000, - requiredDateEnd: 1582725600000, - teamID: 1 - }, - { - orderID: 10877, - orderDate: 1581199200000, - orderTotal: 1955.125, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1583744400000, - requiredDateEnd: 1583748000000, - teamID: 1 - }, - { - orderID: 10886, - orderDate: 1581544800000, - orderTotal: 3127.5, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1584106200000, - requiredDateEnd: 1584111600000, - teamID: 1 - }, - { - orderID: 10888, - orderDate: 1581804000000, - orderTotal: 605, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1584363600000, - requiredDateEnd: 1584365400000, - teamID: 1 - }, - { - orderID: 10894, - orderDate: 1581976800000, - orderTotal: 2753.1, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1584529200000, - requiredDateEnd: 1584534600000, - teamID: 1 - }, - { - orderID: 10900, - orderDate: 1582149600000, - orderTotal: 33.75, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1584714600000, - requiredDateEnd: 1584720000000, - teamID: 1 - }, - { - orderID: 10902, - orderDate: 1582408800000, - orderTotal: 863.43, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1584957600000, - requiredDateEnd: 1584961200000, - teamID: 1 - }, - { - orderID: 10909, - orderDate: 1582668000000, - orderTotal: 670, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1585229400000, - requiredDateEnd: 1585231200000, - teamID: 1 - }, - { - orderID: 10910, - orderDate: 1582668000000, - orderTotal: 452.9, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1585220400000, - requiredDateEnd: 1585222200000, - teamID: 1 - }, - { - orderID: 10916, - orderDate: 1582754400000, - orderTotal: 686.7, - customerCompanyName: 'Rancho grande', - customerContactName: 'Sergio Gutiérrez', - requiredDateStart: 1585319400000, - requiredDateEnd: 1585323000000, - teamID: 1 - }, - { - orderID: 10921, - orderDate: 1583186400000, - orderTotal: 1936, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1586853000000, - requiredDateEnd: 1586858400000, - teamID: 1 - }, - { - orderID: 10928, - orderDate: 1583359200000, - orderTotal: 137.5, - customerCompanyName: 'Galería del gastrónomo', - customerContactName: 'Eduardo Saavedra', - requiredDateStart: 1585823400000, - requiredDateEnd: 1585825200000, - teamID: 1 - }, - { - orderID: 10946, - orderDate: 1583964000000, - orderTotal: 1407.5, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1586422800000, - requiredDateEnd: 1586426400000, - teamID: 1 - }, - { - orderID: 10950, - orderDate: 1584309600000, - orderTotal: 110, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1586782800000, - requiredDateEnd: 1586788200000, - teamID: 1 - }, - { - orderID: 10952, - orderDate: 1584309600000, - orderTotal: 471.2, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1587985200000, - requiredDateEnd: 1587987000000, - teamID: 1 - }, - { - orderID: 10968, - orderDate: 1584914400000, - orderTotal: 1408, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1587375000000, - requiredDateEnd: 1587380400000, - teamID: 1 - }, - { - orderID: 10969, - orderDate: 1584914400000, - orderTotal: 108, - customerCompanyName: 'Comércio Mineiro', - customerContactName: 'Pedro Afonso', - requiredDateStart: 1587375000000, - requiredDateEnd: 1587376800000, - teamID: 1 - }, - { - orderID: 10975, - orderDate: 1585087200000, - orderTotal: 717.5, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1587560400000, - requiredDateEnd: 1587564000000, - teamID: 1 - }, - { - orderID: 10976, - orderDate: 1585087200000, - orderTotal: 912, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1588757400000, - requiredDateEnd: 1588759200000, - teamID: 1 - }, - { - orderID: 10981, - orderDate: 1585260000000, - orderTotal: 15810, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1587735000000, - requiredDateEnd: 1587736800000, - teamID: 1 - }, - { - orderID: 10984, - orderDate: 1585515600000, - orderTotal: 1809.75, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1587974400000, - requiredDateEnd: 1587976200000, - teamID: 1 - }, - { - orderID: 10991, - orderDate: 1585688400000, - orderTotal: 2296, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1588147200000, - requiredDateEnd: 1588150800000, - teamID: 1 - }, - { - orderID: 10992, - orderDate: 1585688400000, - orderTotal: 69.6, - customerCompanyName: 'The Big Cheese', - customerContactName: 'Liz Nixon', - requiredDateStart: 1588163400000, - requiredDateEnd: 1588165200000, - teamID: 1 - }, - { - orderID: 10995, - orderDate: 1585774800000, - orderTotal: 1196, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1588248000000, - requiredDateEnd: 1588249800000, - teamID: 1 - }, - { - orderID: 11012, - orderDate: 1586379600000, - orderTotal: 2825.3, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1587646800000, - requiredDateEnd: 1587652200000, - teamID: 1 - }, - { - orderID: 11023, - orderDate: 1586811600000, - orderTotal: 1500, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1588073400000, - requiredDateEnd: 1588075200000, - teamID: 1 - }, - { - orderID: 11027, - orderDate: 1586984400000, - orderTotal: 877.725, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1589455800000, - requiredDateEnd: 1589461200000, - teamID: 1 - }, - { - orderID: 11038, - orderDate: 1587416400000, - orderTotal: 732.6, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1589893200000, - requiredDateEnd: 1589896800000, - teamID: 1 - }, - { - orderID: 11039, - orderDate: 1587416400000, - orderTotal: 3090, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1589880600000, - requiredDateEnd: 1589882400000, - teamID: 1 - }, - { - orderID: 11064, - orderDate: 1588280400000, - orderTotal: 4330.4, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1590750000000, - requiredDateEnd: 1590751800000, - teamID: 1 - }, - { - orderID: 11067, - orderDate: 1588539600000, - orderTotal: 86.85, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1589797800000, - requiredDateEnd: 1589799600000, - teamID: 1 - }, - { - orderID: 11069, - orderDate: 1588539600000, - orderTotal: 360, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1591005600000, - requiredDateEnd: 1591009200000, - teamID: 1 - }, - { - orderID: 11071, - orderDate: 1588626000000, - orderTotal: 484.5, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1591095600000, - requiredDateEnd: 1591097400000, - teamID: 1 - }, - { - orderID: 11077, - orderDate: 1588712400000, - orderTotal: 1255.7205, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1591189200000, - requiredDateEnd: 1591194600000, - teamID: 1 - } -].map((order) => ({ - ...order, - // parse dates - orderDate: new Date(order.orderDate), - requiredDateStart: new Date(order.requiredDateStart), - requiredDateEnd: new Date(order.requiredDateEnd) -})); +export const orders = [ + { + orderID: 10255, + orderDate: 1531342800000, + orderTotal: 2490.5, + customerCompanyName: 'Richter Supermarkt', + customerContactName: 'Michael Holz', + requiredDateStart: 1533821400000, + requiredDateEnd: 1533826800000, + teamID: 4 + }, + { + orderID: 10263, + orderDate: 1532293200000, + orderTotal: 1873.8, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1534766400000, + requiredDateEnd: 1534771800000, + teamID: 4 + }, + { + orderID: 10324, + orderDate: 1538946000000, + orderTotal: 5275.715, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1541415600000, + requiredDateEnd: 1541421000000, + teamID: 4 + }, + { + orderID: 10331, + orderDate: 1539637200000, + orderTotal: 88.5, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1543312800000, + requiredDateEnd: 1543316400000, + teamID: 4 + }, + { + orderID: 10386, + orderDate: 1545084000000, + orderTotal: 166, + customerCompanyName: 'Familia Arquibaldo', + customerContactName: 'Aria Cruz', + requiredDateStart: 1546347600000, + requiredDateEnd: 1546353000000, + teamID: 4 + }, + { + orderID: 10411, + orderDate: 1547071200000, + orderTotal: 966.8, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1549530000000, + requiredDateEnd: 1549533600000, + teamID: 4 + }, + { + orderID: 10475, + orderDate: 1552514400000, + orderTotal: 1505.18, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1554989400000, + requiredDateEnd: 1554991200000, + teamID: 4 + }, + { + orderID: 10501, + orderDate: 1554757200000, + orderTotal: 149, + customerCompanyName: 'Blauer See Delikatessen', + customerContactName: 'Hanna Moos', + requiredDateStart: 1557228600000, + requiredDateEnd: 1557232200000, + teamID: 4 + }, + { + orderID: 10506, + orderDate: 1555275600000, + orderTotal: 415.8, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1557748800000, + requiredDateEnd: 1557754200000, + teamID: 4 + }, + { + orderID: 10538, + orderDate: 1557867600000, + orderTotal: 139.8, + customerCompanyName: `B's Beverages`, + customerContactName: 'Victoria Ashworth', + requiredDateStart: 1560337200000, + requiredDateEnd: 1560342600000, + teamID: 4 + }, + { + orderID: 10557, + orderDate: 1559509200000, + orderTotal: 1152.5, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1560771000000, + requiredDateEnd: 1560772800000, + teamID: 4 + }, + { + orderID: 10566, + orderDate: 1560286800000, + orderTotal: 1761, + customerCompanyName: 'Blondesddsl père et fils', + customerContactName: 'Frédérique Citeaux', + requiredDateStart: 1562758200000, + requiredDateEnd: 1562761800000, + teamID: 4 + }, + { + orderID: 10577, + orderDate: 1561237200000, + orderTotal: 569, + customerCompanyName: `Trail's Head Gourmet Provisioners`, + customerContactName: 'Helvetius Nagy', + requiredDateStart: 1564907400000, + requiredDateEnd: 1564911000000, + teamID: 4 + }, + { + orderID: 10586, + orderDate: 1562014800000, + orderTotal: 23.8, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1564473600000, + requiredDateEnd: 1564477200000, + teamID: 4 + }, + { + orderID: 10646, + orderDate: 1566853200000, + orderTotal: 1446, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1570534200000, + requiredDateEnd: 1570537800000, + teamID: 4 + }, + { + orderID: 10672, + orderDate: 1568667600000, + orderTotal: 3815.25, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1569925800000, + requiredDateEnd: 1569927600000, + teamID: 4 + }, + { + orderID: 10687, + orderDate: 1569790800000, + orderTotal: 4960.9, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1572271200000, + requiredDateEnd: 1572273000000, + teamID: 4 + }, + { + orderID: 10705, + orderDate: 1571086800000, + orderTotal: 378, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1573569000000, + requiredDateEnd: 1573574400000, + teamID: 4 + }, + { + orderID: 10736, + orderDate: 1573423200000, + orderTotal: 997, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1575892800000, + requiredDateEnd: 1575894600000, + teamID: 4 + }, + { + orderID: 10745, + orderDate: 1574028000000, + orderTotal: 4529.8, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1576488600000, + requiredDateEnd: 1576492200000, + teamID: 4 + }, + { + orderID: 10750, + orderDate: 1574287200000, + orderTotal: 1590.5625, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1576765800000, + requiredDateEnd: 1576771200000, + teamID: 4 + }, + { + orderID: 10771, + orderDate: 1575928800000, + orderTotal: 344, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1578402000000, + requiredDateEnd: 1578407400000, + teamID: 4 + }, + { + orderID: 10782, + orderDate: 1576533600000, + orderTotal: 12.5, + customerCompanyName: 'Cactus Comidas para llevar', + customerContactName: 'Patricio Simpson', + requiredDateStart: 1579010400000, + requiredDateEnd: 1579015800000, + teamID: 4 + }, + { + orderID: 10799, + orderDate: 1577311200000, + orderTotal: 1553.5, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1580983200000, + requiredDateEnd: 1580985000000, + teamID: 4 + }, + { + orderID: 10828, + orderDate: 1578866400000, + orderTotal: 932, + customerCompanyName: 'Rancho grande', + customerContactName: 'Sergio Gutiérrez', + requiredDateStart: 1580133600000, + requiredDateEnd: 1580139000000, + teamID: 4 + }, + { + orderID: 10829, + orderDate: 1578866400000, + orderTotal: 1764, + customerCompanyName: 'Island Trading', + customerContactName: 'Helen Bennett', + requiredDateStart: 1581332400000, + requiredDateEnd: 1581334200000, + teamID: 4 + }, + { + orderID: 10837, + orderDate: 1579125600000, + orderTotal: 1064.5, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1581595200000, + requiredDateEnd: 1581600600000, + teamID: 4 + }, + { + orderID: 10849, + orderDate: 1579730400000, + orderTotal: 967.819, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1582201800000, + requiredDateEnd: 1582207200000, + teamID: 4 + }, + { + orderID: 10853, + orderDate: 1580076000000, + orderTotal: 625, + customerCompanyName: 'Blauer See Delikatessen', + customerContactName: 'Hanna Moos', + requiredDateStart: 1582551000000, + requiredDateEnd: 1582554600000, + teamID: 4 + }, + { + orderID: 10871, + orderDate: 1580853600000, + orderTotal: 1979.23, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1583402400000, + requiredDateEnd: 1583404200000, + teamID: 4 + }, + { + orderID: 10889, + orderDate: 1581804000000, + orderTotal: 11380, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1584361800000, + requiredDateEnd: 1584367200000, + teamID: 4 + }, + { + orderID: 10893, + orderDate: 1581976800000, + orderTotal: 5502.11, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1584540000000, + requiredDateEnd: 1584541800000, + teamID: 4 + }, + { + orderID: 10905, + orderDate: 1582495200000, + orderTotal: 342, + customerCompanyName: 'Wellington Importadora', + customerContactName: 'Paula Parente', + requiredDateStart: 1585053000000, + requiredDateEnd: 1585058400000, + teamID: 4 + }, + { + orderID: 10942, + orderDate: 1583877600000, + orderTotal: 560, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1586332800000, + requiredDateEnd: 1586334600000, + teamID: 4 + }, + { + orderID: 10951, + orderDate: 1584309600000, + orderTotal: 458.755, + customerCompanyName: 'Richter Supermarkt', + customerContactName: 'Michael Holz', + requiredDateStart: 1587978000000, + requiredDateEnd: 1587979800000, + teamID: 4 + }, + { + orderID: 10953, + orderDate: 1584309600000, + orderTotal: 4441.25, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1585560600000, + requiredDateEnd: 1585562400000, + teamID: 4 + }, + { + orderID: 10963, + orderDate: 1584568800000, + orderTotal: 57.8, + customerCompanyName: 'Furia Bacalhau e Frutos do Mar', + customerContactName: 'Lino Rodriguez', + requiredDateStart: 1587043800000, + requiredDateEnd: 1587045600000, + teamID: 4 + }, + { + orderID: 10970, + orderDate: 1585000800000, + orderTotal: 224, + customerCompanyName: 'Bólido Comidas preparadas', + customerContactName: 'Martín Sommer', + requiredDateStart: 1586246400000, + requiredDateEnd: 1586248200000, + teamID: 4 + }, + { + orderID: 10978, + orderDate: 1585173600000, + orderTotal: 1303.195, + customerCompanyName: 'Maison Dewey', + customerContactName: 'Catherine Dewey', + requiredDateStart: 1587639600000, + requiredDateEnd: 1587645000000, + teamID: 4 + }, + { + orderID: 11016, + orderDate: 1586466000000, + orderTotal: 491.5, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1588924800000, + requiredDateEnd: 1588926600000, + teamID: 4 + }, + { + orderID: 11017, + orderDate: 1586725200000, + orderTotal: 6750, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1589196600000, + requiredDateEnd: 1589198400000, + teamID: 4 + }, + { + orderID: 11022, + orderDate: 1586811600000, + orderTotal: 1402, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1589283000000, + requiredDateEnd: 1589286600000, + teamID: 4 + }, + { + orderID: 11058, + orderDate: 1588107600000, + orderTotal: 858, + customerCompanyName: 'Blauer See Delikatessen', + customerContactName: 'Hanna Moos', + requiredDateStart: 1590586200000, + requiredDateEnd: 1590588000000, + teamID: 4 + }, + { + orderID: 10262, + orderDate: 1532206800000, + orderTotal: 584, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1534672800000, + requiredDateEnd: 1534676400000, + teamID: 4 + }, + { + orderID: 10268, + orderDate: 1532898000000, + orderTotal: 1101.2, + customerCompanyName: 'GROSELLA-Restaurante', + customerContactName: 'Manuel Pereira', + requiredDateStart: 1535369400000, + requiredDateEnd: 1535371200000, + teamID: 4 + }, + { + orderID: 10276, + orderDate: 1533675600000, + orderTotal: 420, + customerCompanyName: 'Tortuga Restaurante', + customerContactName: 'Miguel Angel Paolino', + requiredDateStart: 1534928400000, + requiredDateEnd: 1534930200000, + teamID: 4 + }, + { + orderID: 10278, + orderDate: 1534021200000, + orderTotal: 1488.8, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1536494400000, + requiredDateEnd: 1536498000000, + teamID: 4 + }, + { + orderID: 10279, + orderDate: 1534107600000, + orderTotal: 351, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1536568200000, + requiredDateEnd: 1536571800000, + teamID: 4 + }, + { + orderID: 10286, + orderDate: 1534798800000, + orderTotal: 3016, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1537261200000, + requiredDateEnd: 1537264800000, + teamID: 4 + }, + { + orderID: 10287, + orderDate: 1534885200000, + orderTotal: 819, + customerCompanyName: 'Ricardo Adocicados', + customerContactName: 'Janete Limeira', + requiredDateStart: 1537351200000, + requiredDateEnd: 1537356600000, + teamID: 4 + }, + { + orderID: 10290, + orderDate: 1535317200000, + orderTotal: 2169, + customerCompanyName: 'Comércio Mineiro', + customerContactName: 'Pedro Afonso', + requiredDateStart: 1537776000000, + requiredDateEnd: 1537781400000, + teamID: 4 + }, + { + orderID: 10301, + orderDate: 1536440400000, + orderTotal: 755, + customerCompanyName: 'Die Wandernde Kuh', + customerContactName: 'Rita Müller', + requiredDateStart: 1538919000000, + requiredDateEnd: 1538922600000, + teamID: 4 + }, + { + orderID: 10305, + orderDate: 1536786000000, + orderTotal: 3741.3, + customerCompanyName: 'Old World Delicatessen', + customerContactName: 'Rene Phillips', + requiredDateStart: 1539248400000, + requiredDateEnd: 1539250200000, + teamID: 4 + }, + { + orderID: 10310, + orderDate: 1537390800000, + orderTotal: 336, + customerCompanyName: 'The Big Cheese', + customerContactName: 'Liz Nixon', + requiredDateStart: 1539865800000, + requiredDateEnd: 1539869400000, + teamID: 4 + }, + { + orderID: 10318, + orderDate: 1538341200000, + orderTotal: 240.4, + customerCompanyName: 'Island Trading', + customerContactName: 'Helen Bennett', + requiredDateStart: 1540810800000, + requiredDateEnd: 1540816200000, + teamID: 4 + }, + { + orderID: 10334, + orderDate: 1540069200000, + orderTotal: 144.8, + customerCompanyName: 'Victuailles en stock', + customerContactName: 'Mary Saveley', + requiredDateStart: 1542549600000, + requiredDateEnd: 1542555000000, + teamID: 4 + }, + { + orderID: 10354, + orderDate: 1542146400000, + orderTotal: 568.8, + customerCompanyName: 'Pericles Comidas clásicas', + customerContactName: 'Guillermo Fernández', + requiredDateStart: 1544621400000, + requiredDateEnd: 1544625000000, + teamID: 4 + }, + { + orderID: 10366, + orderDate: 1543356000000, + orderTotal: 136, + customerCompanyName: 'Galería del gastrónomo', + customerContactName: 'Eduardo Saavedra', + requiredDateStart: 1547033400000, + requiredDateEnd: 1547037000000, + teamID: 4 + }, + { + orderID: 10369, + orderDate: 1543701600000, + orderTotal: 2390.4, + customerCompanyName: 'Split Rail Beer & Ale', + customerContactName: 'Art Braunschweiger', + requiredDateStart: 1546180200000, + requiredDateEnd: 1546182000000, + teamID: 4 + }, + { + orderID: 10380, + orderDate: 1544565600000, + orderTotal: 1313.82, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1547044200000, + requiredDateEnd: 1547046000000, + teamID: 4 + }, + { + orderID: 10383, + orderDate: 1544911200000, + orderTotal: 899, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1547389800000, + requiredDateEnd: 1547395200000, + teamID: 4 + }, + { + orderID: 10399, + orderDate: 1546207200000, + orderTotal: 1765.6, + customerCompanyName: 'Vaffeljernet', + customerContactName: 'Palle Ibsen', + requiredDateStart: 1547458200000, + requiredDateEnd: 1547463600000, + teamID: 4 + }, + { + orderID: 10402, + orderDate: 1546380000000, + orderTotal: 2713.5, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1550059200000, + requiredDateEnd: 1550064600000, + teamID: 4 + }, + { + orderID: 10408, + orderDate: 1546898400000, + orderTotal: 1622.4, + customerCompanyName: 'Folies gourmandes', + customerContactName: 'Martine Rancé', + requiredDateStart: 1549369800000, + requiredDateEnd: 1549373400000, + teamID: 4 + }, + { + orderID: 10412, + orderDate: 1547330400000, + orderTotal: 334.8, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1549789200000, + requiredDateEnd: 1549791000000, + teamID: 4 + }, + { + orderID: 10416, + orderDate: 1547589600000, + orderTotal: 720, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1550064600000, + requiredDateEnd: 1550068200000, + teamID: 4 + }, + { + orderID: 10421, + orderDate: 1548021600000, + orderTotal: 1194.27, + customerCompanyName: 'Que Delícia', + customerContactName: 'Bernardo Batista', + requiredDateStart: 1551709800000, + requiredDateEnd: 1551713400000, + teamID: 4 + }, + { + orderID: 10435, + orderDate: 1549231200000, + orderTotal: 631.6, + customerCompanyName: 'Consolidated Holdings', + customerContactName: 'Elizabeth Brown', + requiredDateStart: 1552899600000, + requiredDateEnd: 1552905000000, + teamID: 4 + }, + { + orderID: 10437, + orderDate: 1549317600000, + orderTotal: 393, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1551781800000, + requiredDateEnd: 1551787200000, + teamID: 4 + }, + { + orderID: 10443, + orderDate: 1549922400000, + orderTotal: 517.44, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1552397400000, + requiredDateEnd: 1552402800000, + teamID: 4 + }, + { + orderID: 10450, + orderDate: 1550527200000, + orderTotal: 425.12, + customerCompanyName: 'Victuailles en stock', + customerContactName: 'Mary Saveley', + requiredDateStart: 1552991400000, + requiredDateEnd: 1552996800000, + teamID: 4 + }, + { + orderID: 10452, + orderDate: 1550613600000, + orderTotal: 2018.5, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1553092200000, + requiredDateEnd: 1553094000000, + teamID: 4 + }, + { + orderID: 10455, + orderDate: 1550959200000, + orderTotal: 2684, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1554636600000, + requiredDateEnd: 1554642000000, + teamID: 4 + }, + { + orderID: 10456, + orderDate: 1551045600000, + orderTotal: 557.6, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1554730200000, + requiredDateEnd: 1554735600000, + teamID: 4 + }, + { + orderID: 10460, + orderDate: 1551304800000, + orderTotal: 176.1, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1553781600000, + requiredDateEnd: 1553785200000, + teamID: 4 + }, + { + orderID: 10467, + orderDate: 1551823200000, + orderTotal: 235.2, + customerCompanyName: 'Magazzini Alimentari Riuniti', + customerContactName: 'Giovanni Rovelli', + requiredDateStart: 1554291000000, + requiredDateEnd: 1554292800000, + teamID: 4 + }, + { + orderID: 10472, + orderDate: 1552341600000, + orderTotal: 1036.8, + customerCompanyName: 'Seven Seas Imports', + customerContactName: 'Hari Kumar', + requiredDateStart: 1554796800000, + requiredDateEnd: 1554798600000, + teamID: 4 + }, + { + orderID: 10476, + orderDate: 1552773600000, + orderTotal: 180.48, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1555232400000, + requiredDateEnd: 1555234200000, + teamID: 4 + }, + { + orderID: 10481, + orderDate: 1553032800000, + orderTotal: 1472, + customerCompanyName: 'Ricardo Adocicados', + customerContactName: 'Janete Limeira', + requiredDateStart: 1555493400000, + requiredDateEnd: 1555498800000, + teamID: 4 + }, + { + orderID: 10488, + orderDate: 1553637600000, + orderTotal: 1512, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1556109000000, + requiredDateEnd: 1556114400000, + teamID: 4 + }, + { + orderID: 10491, + orderDate: 1553983200000, + orderTotal: 259.505, + customerCompanyName: 'Furia Bacalhau e Frutos do Mar', + customerContactName: 'Lino Rodriguez', + requiredDateStart: 1556442000000, + requiredDateEnd: 1556445600000, + teamID: 4 + }, + { + orderID: 10498, + orderDate: 1554584400000, + orderTotal: 575, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1557059400000, + requiredDateEnd: 1557063000000, + teamID: 4 + }, + { + orderID: 10521, + orderDate: 1556485200000, + orderTotal: 225.5, + customerCompanyName: 'Cactus Comidas para llevar', + customerContactName: 'Patricio Simpson', + requiredDateStart: 1558963800000, + requiredDateEnd: 1558965600000, + teamID: 4 + }, + { + orderID: 10533, + orderDate: 1557608400000, + orderTotal: 2222.2, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1560067200000, + requiredDateEnd: 1560072600000, + teamID: 4 + }, + { + orderID: 10534, + orderDate: 1557608400000, + orderTotal: 465.7, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1560076200000, + requiredDateEnd: 1560078000000, + teamID: 4 + }, + { + orderID: 10543, + orderDate: 1558386000000, + orderTotal: 1504.5, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1560850200000, + requiredDateEnd: 1560855600000, + teamID: 4 + }, + { + orderID: 10545, + orderDate: 1558472400000, + orderTotal: 210, + customerCompanyName: 'Lazy K Kountry Store', + customerContactName: 'John Steel', + requiredDateStart: 1560931200000, + requiredDateEnd: 1560936600000, + teamID: 4 + }, + { + orderID: 10560, + orderDate: 1559768400000, + orderTotal: 1072.425, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1562238000000, + requiredDateEnd: 1562239800000, + teamID: 4 + }, + { + orderID: 10565, + orderDate: 1560200400000, + orderTotal: 639.9, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1562670000000, + requiredDateEnd: 1562673600000, + teamID: 4 + }, + { + orderID: 10571, + orderDate: 1560718800000, + orderTotal: 550.5875, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1564396200000, + requiredDateEnd: 1564399800000, + teamID: 4 + }, + { + orderID: 10589, + orderDate: 1562187600000, + orderTotal: 72, + customerCompanyName: 'Great Lakes Food Market', + customerContactName: 'Howard Snyder', + requiredDateStart: 1564648200000, + requiredDateEnd: 1564650000000, + teamID: 4 + }, + { + orderID: 10596, + orderDate: 1562792400000, + orderTotal: 1180.88, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1565265600000, + requiredDateEnd: 1565269200000, + teamID: 4 + }, + { + orderID: 10602, + orderDate: 1563310800000, + orderTotal: 48.75, + customerCompanyName: 'Vaffeljernet', + customerContactName: 'Palle Ibsen', + requiredDateStart: 1565780400000, + requiredDateEnd: 1565785800000, + teamID: 4 + }, + { + orderID: 10603, + orderDate: 1563397200000, + orderTotal: 1483, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1565861400000, + requiredDateEnd: 1565866800000, + teamID: 4 + }, + { + orderID: 10610, + orderDate: 1564002000000, + orderTotal: 299.25, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1566473400000, + requiredDateEnd: 1566477000000, + teamID: 4 + }, + { + orderID: 10614, + orderDate: 1564347600000, + orderTotal: 464, + customerCompanyName: 'Blauer See Delikatessen', + customerContactName: 'Hanna Moos', + requiredDateStart: 1566810000000, + requiredDateEnd: 1566815400000, + teamID: 4 + }, + { + orderID: 10623, + orderDate: 1565125200000, + orderTotal: 1336.95, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1567596600000, + requiredDateEnd: 1567600200000, + teamID: 4 + }, + { + orderID: 10627, + orderDate: 1565470800000, + orderTotal: 1185.75, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1569141000000, + requiredDateEnd: 1569144600000, + teamID: 4 + }, + { + orderID: 10631, + orderDate: 1565730000000, + orderTotal: 55.8, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1568208600000, + requiredDateEnd: 1568212200000, + teamID: 4 + }, + { + orderID: 10632, + orderDate: 1565730000000, + orderTotal: 589, + customerCompanyName: 'Die Wandernde Kuh', + customerContactName: 'Rita Müller', + requiredDateStart: 1568205000000, + requiredDateEnd: 1568206800000, + teamID: 4 + }, + { + orderID: 10635, + orderDate: 1566075600000, + orderTotal: 1326.225, + customerCompanyName: 'Magazzini Alimentari Riuniti', + customerContactName: 'Giovanni Rovelli', + requiredDateStart: 1568536200000, + requiredDateEnd: 1568541600000, + teamID: 4 + }, + { + orderID: 10651, + orderDate: 1567285200000, + orderTotal: 397.8, + customerCompanyName: 'Die Wandernde Kuh', + customerContactName: 'Rita Müller', + requiredDateStart: 1569758400000, + requiredDateEnd: 1569762000000, + teamID: 4 + }, + { + orderID: 10660, + orderDate: 1567890000000, + orderTotal: 1701, + customerCompanyName: 'Hungry Coyote Import Store', + customerContactName: 'Yoshi Latimer', + requiredDateStart: 1570348800000, + requiredDateEnd: 1570350600000, + teamID: 4 + }, + { + orderID: 10679, + orderDate: 1569186000000, + orderTotal: 660, + customerCompanyName: 'Blondesddsl père et fils', + customerContactName: 'Frédérique Citeaux', + requiredDateStart: 1571648400000, + requiredDateEnd: 1571650200000, + teamID: 4 + }, + { + orderID: 10694, + orderDate: 1570309200000, + orderTotal: 4825, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1572786000000, + requiredDateEnd: 1572787800000, + teamID: 4 + }, + { + orderID: 10696, + orderDate: 1570482000000, + orderTotal: 996, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1574166600000, + requiredDateEnd: 1574172000000, + teamID: 4 + }, + { + orderID: 10706, + orderDate: 1571173200000, + orderTotal: 1893, + customerCompanyName: 'Old World Delicatessen', + customerContactName: 'Rene Phillips', + requiredDateStart: 1573653600000, + requiredDateEnd: 1573659000000, + teamID: 4 + }, + { + orderID: 10719, + orderDate: 1572123600000, + orderTotal: 844.2525, + customerCompanyName: `Let's Stop N Shop`, + customerContactName: 'Jaime Yorres', + requiredDateStart: 1574598600000, + requiredDateEnd: 1574602200000, + teamID: 4 + }, + { + orderID: 10720, + orderDate: 1572213600000, + orderTotal: 550, + customerCompanyName: 'Que Delícia', + customerContactName: 'Bernardo Batista', + requiredDateStart: 1573473600000, + requiredDateEnd: 1573477200000, + teamID: 4 + }, + { + orderID: 10722, + orderDate: 1572300000000, + orderTotal: 1570, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1575979200000, + requiredDateEnd: 1575981000000, + teamID: 4 + }, + { + orderID: 10724, + orderDate: 1572386400000, + orderTotal: 638.5, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1576072800000, + requiredDateEnd: 1576078200000, + teamID: 4 + }, + { + orderID: 10729, + orderDate: 1572818400000, + orderTotal: 1850, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1576490400000, + requiredDateEnd: 1576495800000, + teamID: 4 + }, + { + orderID: 10756, + orderDate: 1574805600000, + orderTotal: 1990, + customerCompanyName: 'Split Rail Beer & Ale', + customerContactName: 'Art Braunschweiger', + requiredDateStart: 1577275200000, + requiredDateEnd: 1577277000000, + teamID: 4 + }, + { + orderID: 10770, + orderDate: 1575842400000, + orderTotal: 236.25, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1578303000000, + requiredDateEnd: 1578304800000, + teamID: 4 + }, + { + orderID: 10786, + orderDate: 1576706400000, + orderTotal: 1531.08, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1579177800000, + requiredDateEnd: 1579183200000, + teamID: 4 + }, + { + orderID: 10795, + orderDate: 1577138400000, + orderTotal: 2158, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1579609800000, + requiredDateEnd: 1579613400000, + teamID: 4 + }, + { + orderID: 10811, + orderDate: 1577916000000, + orderTotal: 852, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1580376600000, + requiredDateEnd: 1580380200000, + teamID: 4 + }, + { + orderID: 10824, + orderDate: 1578520800000, + orderTotal: 250.8, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1580994000000, + requiredDateEnd: 1580995800000, + teamID: 4 + }, + { + orderID: 10844, + orderDate: 1579557600000, + orderTotal: 735, + customerCompanyName: 'Piccolo und mehr', + customerContactName: 'Georg Pipps', + requiredDateStart: 1582018200000, + requiredDateEnd: 1582021800000, + teamID: 4 + }, + { + orderID: 10845, + orderDate: 1579557600000, + orderTotal: 3812.7, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1580826600000, + requiredDateEnd: 1580832000000, + teamID: 4 + }, + { + orderID: 10852, + orderDate: 1579989600000, + orderTotal: 2984, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1581258600000, + requiredDateEnd: 1581264000000, + teamID: 4 + }, + { + orderID: 10857, + orderDate: 1580162400000, + orderTotal: 2048.2125, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1582632000000, + requiredDateEnd: 1582637400000, + teamID: 4 + }, + { + orderID: 10862, + orderDate: 1580335200000, + orderTotal: 581, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1584100800000, + requiredDateEnd: 1584102600000, + teamID: 4 + }, + { + orderID: 10883, + orderDate: 1581458400000, + orderTotal: 36, + customerCompanyName: 'Lonesome Pine Restaurant', + customerContactName: 'Fran Wilson', + requiredDateStart: 1584012600000, + requiredDateEnd: 1584018000000, + teamID: 4 + }, + { + orderID: 10887, + orderDate: 1581544800000, + orderTotal: 70, + customerCompanyName: 'Galería del gastrónomo', + customerContactName: 'Eduardo Saavedra', + requiredDateStart: 1584095400000, + requiredDateEnd: 1584097200000, + teamID: 4 + }, + { + orderID: 10932, + orderDate: 1583445600000, + orderTotal: 1788.63, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1585911600000, + requiredDateEnd: 1585917000000, + teamID: 4 + }, + { + orderID: 10940, + orderDate: 1583877600000, + orderTotal: 360, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1586334600000, + requiredDateEnd: 1586336400000, + teamID: 4 + }, + { + orderID: 10955, + orderDate: 1584396000000, + orderTotal: 74.4, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1586871000000, + requiredDateEnd: 1586872800000, + teamID: 4 + }, + { + orderID: 10957, + orderDate: 1584482400000, + orderTotal: 1762.7, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1586944800000, + requiredDateEnd: 1586948400000, + teamID: 4 + }, + { + orderID: 10961, + orderDate: 1584568800000, + orderTotal: 1119.9, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1587031200000, + requiredDateEnd: 1587033000000, + teamID: 4 + }, + { + orderID: 10962, + orderDate: 1584568800000, + orderTotal: 3584, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1587038400000, + requiredDateEnd: 1587043800000, + teamID: 4 + }, + { + orderID: 10977, + orderDate: 1585173600000, + orderTotal: 2233, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1587634200000, + requiredDateEnd: 1587636000000, + teamID: 4 + }, + { + orderID: 10979, + orderDate: 1585173600000, + orderTotal: 4813.5, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1587639600000, + requiredDateEnd: 1587643200000, + teamID: 4 + }, + { + orderID: 10986, + orderDate: 1585515600000, + orderTotal: 2220, + customerCompanyName: 'Océano Atlántico Ltda.', + customerContactName: 'Yvonne Moncada', + requiredDateStart: 1587979800000, + requiredDateEnd: 1587983400000, + teamID: 4 + }, + { + orderID: 10987, + orderDate: 1585602000000, + orderTotal: 2772, + customerCompanyName: 'Eastern Connection', + customerContactName: 'Ann Devon', + requiredDateStart: 1588060800000, + requiredDateEnd: 1588064400000, + teamID: 4 + }, + { + orderID: 10997, + orderDate: 1585861200000, + orderTotal: 1885, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1589542200000, + requiredDateEnd: 1589547600000, + teamID: 4 + }, + { + orderID: 10998, + orderDate: 1585861200000, + orderTotal: 686, + customerCompanyName: 'Wolski Zajazd', + customerContactName: 'Zbyszek Piestrzeniewicz', + requiredDateStart: 1587121200000, + requiredDateEnd: 1587123000000, + teamID: 4 + }, + { + orderID: 11007, + orderDate: 1586293200000, + orderTotal: 2633.9, + customerCompanyName: 'Princesa Isabel Vinhos', + customerContactName: 'Isabel de Castro', + requiredDateStart: 1588759200000, + requiredDateEnd: 1588764600000, + teamID: 4 + }, + { + orderID: 11034, + orderDate: 1587330000000, + orderTotal: 539.4, + customerCompanyName: 'Old World Delicatessen', + customerContactName: 'Rene Phillips', + requiredDateStart: 1591016400000, + requiredDateEnd: 1591021800000, + teamID: 4 + }, + { + orderID: 11036, + orderDate: 1587330000000, + orderTotal: 1692, + customerCompanyName: 'Drachenblut Delikatessen', + customerContactName: 'Sven Ottlieb', + requiredDateStart: 1589794200000, + requiredDateEnd: 1589797800000, + teamID: 4 + }, + { + orderID: 11046, + orderDate: 1587589200000, + orderTotal: 1485.8, + customerCompanyName: 'Die Wandernde Kuh', + customerContactName: 'Rita Müller', + requiredDateStart: 1590066000000, + requiredDateEnd: 1590067800000, + teamID: 4 + }, + { + orderID: 11050, + orderDate: 1587934800000, + orderTotal: 810, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1590404400000, + requiredDateEnd: 1590409800000, + teamID: 4 + }, + { + orderID: 11054, + orderDate: 1588021200000, + orderTotal: 305, + customerCompanyName: 'Cactus Comidas para llevar', + customerContactName: 'Patricio Simpson', + requiredDateStart: 1590498000000, + requiredDateEnd: 1590499800000, + teamID: 4 + }, + { + orderID: 11056, + orderDate: 1588021200000, + orderTotal: 3740, + customerCompanyName: 'Eastern Connection', + customerContactName: 'Ann Devon', + requiredDateStart: 1589270400000, + requiredDateEnd: 1589274000000, + teamID: 4 + }, + { + orderID: 11065, + orderDate: 1588280400000, + orderTotal: 189.42, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1590755400000, + requiredDateEnd: 1590757200000, + teamID: 4 + }, + { + orderID: 11068, + orderDate: 1588539600000, + orderTotal: 2027.08, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1591011000000, + requiredDateEnd: 1591016400000, + teamID: 4 + }, + { + orderID: 11075, + orderDate: 1588712400000, + orderTotal: 498.1, + customerCompanyName: 'Richter Supermarkt', + customerContactName: 'Michael Holz', + requiredDateStart: 1591180200000, + requiredDateEnd: 1591185600000, + teamID: 4 + }, + { + orderID: 10289, + orderDate: 1535230800000, + orderTotal: 479.4, + customerCompanyName: `B's Beverages`, + customerContactName: 'Victoria Ashworth', + requiredDateStart: 1537698600000, + requiredDateEnd: 1537704000000, + teamID: 3 + }, + { + orderID: 10303, + orderDate: 1536613200000, + orderTotal: 1117.8, + customerCompanyName: 'Godos Cocina Típica', + customerContactName: 'José Pedro Freyre', + requiredDateStart: 1539090000000, + requiredDateEnd: 1539093600000, + teamID: 3 + }, + { + orderID: 10308, + orderDate: 1537218000000, + orderTotal: 88.8, + customerCompanyName: 'Ana Trujillo Emparedados y helados', + customerContactName: 'Ana Trujillo', + requiredDateStart: 1539696600000, + requiredDateEnd: 1539702000000, + teamID: 3 + }, + { + orderID: 10319, + orderDate: 1538427600000, + orderTotal: 1191.2, + customerCompanyName: 'Tortuga Restaurante', + customerContactName: 'Miguel Angel Paolino', + requiredDateStart: 1540909800000, + requiredDateEnd: 1540915200000, + teamID: 3 + }, + { + orderID: 10322, + orderDate: 1538600400000, + orderTotal: 112, + customerCompanyName: 'Pericles Comidas clásicas', + customerContactName: 'Guillermo Fernández', + requiredDateStart: 1541080800000, + requiredDateEnd: 1541086200000, + teamID: 3 + }, + { + orderID: 10335, + orderDate: 1540155600000, + orderTotal: 2036.16, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1542619800000, + requiredDateEnd: 1542623400000, + teamID: 3 + }, + { + orderID: 10336, + orderDate: 1540242000000, + orderTotal: 285.12, + customerCompanyName: 'Princesa Isabel Vinhos', + customerContactName: 'Isabel de Castro', + requiredDateStart: 1542720600000, + requiredDateEnd: 1542722400000, + teamID: 3 + }, + { + orderID: 10341, + orderDate: 1540764000000, + orderTotal: 352.6, + customerCompanyName: 'Simons bistro', + customerContactName: 'Jytte Petersen', + requiredDateStart: 1543222800000, + requiredDateEnd: 1543224600000, + teamID: 3 + }, + { + orderID: 10349, + orderDate: 1541628000000, + orderTotal: 141.6, + customerCompanyName: 'Split Rail Beer & Ale', + customerContactName: 'Art Braunschweiger', + requiredDateStart: 1544104800000, + requiredDateEnd: 1544106600000, + teamID: 3 + }, + { + orderID: 10353, + orderDate: 1542060000000, + orderTotal: 8593.28, + customerCompanyName: 'Piccolo und mehr', + customerContactName: 'Georg Pipps', + requiredDateStart: 1544520600000, + requiredDateEnd: 1544524200000, + teamID: 3 + }, + { + orderID: 10367, + orderDate: 1543356000000, + orderTotal: 834.2, + customerCompanyName: 'Vaffeljernet', + customerContactName: 'Palle Ibsen', + requiredDateStart: 1545834600000, + requiredDateEnd: 1545838200000, + teamID: 3 + }, + { + orderID: 10406, + orderDate: 1546812000000, + orderTotal: 1830.78, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1550498400000, + requiredDateEnd: 1550500200000, + teamID: 3 + }, + { + orderID: 10424, + orderDate: 1548194400000, + orderTotal: 9194.56, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1550665800000, + requiredDateEnd: 1550667600000, + teamID: 3 + }, + { + orderID: 10428, + orderDate: 1548626400000, + orderTotal: 192, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1551097800000, + requiredDateEnd: 1551103200000, + teamID: 3 + }, + { + orderID: 10458, + orderDate: 1551132000000, + orderTotal: 3891, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1553607000000, + requiredDateEnd: 1553612400000, + teamID: 3 + }, + { + orderID: 10483, + orderDate: 1553378400000, + orderTotal: 668.8, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1555839000000, + requiredDateEnd: 1555840800000, + teamID: 3 + }, + { + orderID: 10490, + orderDate: 1553983200000, + orderTotal: 3163.2, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1556445600000, + requiredDateEnd: 1556451000000, + teamID: 3 + }, + { + orderID: 10496, + orderDate: 1554325200000, + orderTotal: 190, + customerCompanyName: 'Tradição Hipermercados', + customerContactName: 'Anabela Domingues', + requiredDateStart: 1556796600000, + requiredDateEnd: 1556800200000, + teamID: 3 + }, + { + orderID: 10497, + orderDate: 1554325200000, + orderTotal: 1380.6, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1556802000000, + requiredDateEnd: 1556803800000, + teamID: 3 + }, + { + orderID: 10507, + orderDate: 1555275600000, + orderTotal: 749.0625, + customerCompanyName: 'Antonio Moreno Taquería', + customerContactName: 'Antonio Moreno', + requiredDateStart: 1557736200000, + requiredDateEnd: 1557738000000, + teamID: 3 + }, + { + orderID: 10512, + orderDate: 1555794000000, + orderTotal: 525.3, + customerCompanyName: 'Familia Arquibaldo', + customerContactName: 'Aria Cruz', + requiredDateStart: 1558265400000, + requiredDateEnd: 1558267200000, + teamID: 3 + }, + { + orderID: 10513, + orderDate: 1555880400000, + orderTotal: 1942, + customerCompanyName: 'Die Wandernde Kuh', + customerContactName: 'Rita Müller', + requiredDateStart: 1559563200000, + requiredDateEnd: 1559566800000, + teamID: 3 + }, + { + orderID: 10520, + orderDate: 1556485200000, + orderTotal: 200, + customerCompanyName: 'Santé Gourmet', + customerContactName: 'Jonas Bergulfsen', + requiredDateStart: 1558958400000, + requiredDateEnd: 1558962000000, + teamID: 3 + }, + { + orderID: 10523, + orderDate: 1556658000000, + orderTotal: 2444.31, + customerCompanyName: 'Seven Seas Imports', + customerContactName: 'Hari Kumar', + requiredDateStart: 1559120400000, + requiredDateEnd: 1559124000000, + teamID: 3 + }, + { + orderID: 10527, + orderDate: 1557003600000, + orderTotal: 1503, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1559462400000, + requiredDateEnd: 1559466000000, + teamID: 3 + }, + { + orderID: 10531, + orderDate: 1557262800000, + orderTotal: 110, + customerCompanyName: 'Océano Atlántico Ltda.', + customerContactName: 'Yvonne Moncada', + requiredDateStart: 1559725200000, + requiredDateEnd: 1559730600000, + teamID: 3 + }, + { + orderID: 10532, + orderDate: 1557349200000, + orderTotal: 796.35, + customerCompanyName: 'Eastern Connection', + customerContactName: 'Ann Devon', + requiredDateStart: 1559808000000, + requiredDateEnd: 1559813400000, + teamID: 3 + }, + { + orderID: 10550, + orderDate: 1558990800000, + orderTotal: 683.3, + customerCompanyName: 'Godos Cocina Típica', + customerContactName: 'José Pedro Freyre', + requiredDateStart: 1561469400000, + requiredDateEnd: 1561471200000, + teamID: 3 + }, + { + orderID: 10573, + orderDate: 1560891600000, + orderTotal: 2082, + customerCompanyName: 'Antonio Moreno Taquería', + customerContactName: 'Antonio Moreno', + requiredDateStart: 1563354000000, + requiredDateEnd: 1563359400000, + teamID: 3 + }, + { + orderID: 10585, + orderDate: 1561928400000, + orderTotal: 142.5, + customerCompanyName: 'Wellington Importadora', + customerContactName: 'Paula Parente', + requiredDateStart: 1564398000000, + requiredDateEnd: 1564399800000, + teamID: 3 + }, + { + orderID: 10593, + orderDate: 1562619600000, + orderTotal: 1994.4, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1565091000000, + requiredDateEnd: 1565092800000, + teamID: 3 + }, + { + orderID: 10597, + orderDate: 1562792400000, + orderTotal: 718.08, + customerCompanyName: 'Piccolo und mehr', + customerContactName: 'Georg Pipps', + requiredDateStart: 1565258400000, + requiredDateEnd: 1565263800000, + teamID: 3 + }, + { + orderID: 10601, + orderDate: 1563224400000, + orderTotal: 2285, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1566912600000, + requiredDateEnd: 1566914400000, + teamID: 3 + }, + { + orderID: 10609, + orderDate: 1563915600000, + orderTotal: 424, + customerCompanyName: 'Du monde entier', + customerContactName: 'Janine Labrune', + requiredDateStart: 1566392400000, + requiredDateEnd: 1566396000000, + teamID: 3 + }, + { + orderID: 10633, + orderDate: 1565816400000, + orderTotal: 5510.5925, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1568286000000, + requiredDateEnd: 1568287800000, + teamID: 3 + }, + { + orderID: 10639, + orderDate: 1566248400000, + orderTotal: 500, + customerCompanyName: 'Santé Gourmet', + customerContactName: 'Jonas Bergulfsen', + requiredDateStart: 1568727000000, + requiredDateEnd: 1568732400000, + teamID: 3 + }, + { + orderID: 10642, + orderDate: 1566421200000, + orderTotal: 696, + customerCompanyName: 'Simons bistro', + customerContactName: 'Jytte Petersen', + requiredDateStart: 1568896200000, + requiredDateEnd: 1568898000000, + teamID: 3 + }, + { + orderID: 10659, + orderDate: 1567630800000, + orderTotal: 1227.02, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1570098600000, + requiredDateEnd: 1570100400000, + teamID: 3 + }, + { + orderID: 10661, + orderDate: 1567976400000, + orderTotal: 562.6, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1570437000000, + requiredDateEnd: 1570442400000, + teamID: 3 + }, + { + orderID: 10666, + orderDate: 1568235600000, + orderTotal: 4666.94, + customerCompanyName: 'Richter Supermarkt', + customerContactName: 'Michael Holz', + requiredDateStart: 1570696200000, + requiredDateEnd: 1570701600000, + teamID: 3 + }, + { + orderID: 10667, + orderDate: 1568235600000, + orderTotal: 1536.8, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1570707000000, + requiredDateEnd: 1570710600000, + teamID: 3 + }, + { + orderID: 10678, + orderDate: 1569186000000, + orderTotal: 5256.5, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1571657400000, + requiredDateEnd: 1571659200000, + teamID: 3 + }, + { + orderID: 10695, + orderDate: 1570395600000, + orderTotal: 642, + customerCompanyName: 'Wilman Kala', + customerContactName: 'Matti Karttunen', + requiredDateStart: 1574067600000, + requiredDateEnd: 1574069400000, + teamID: 3 + }, + { + orderID: 10731, + orderDate: 1572991200000, + orderTotal: 1890.5, + customerCompanyName: 'Chop-suey Chinese', + customerContactName: 'Yang Wang', + requiredDateStart: 1575469800000, + requiredDateEnd: 1575473400000, + teamID: 3 + }, + { + orderID: 10775, + orderDate: 1576101600000, + orderTotal: 228, + customerCompanyName: 'The Cracker Box', + customerContactName: 'Liu Wong', + requiredDateStart: 1578580200000, + requiredDateEnd: 1578585600000, + teamID: 3 + }, + { + orderID: 10777, + orderDate: 1576360800000, + orderTotal: 224, + customerCompanyName: 'Gourmet Lanchonetes', + customerContactName: 'André Fonseca', + requiredDateStart: 1577611800000, + requiredDateEnd: 1577617200000, + teamID: 3 + }, + { + orderID: 10797, + orderDate: 1577224800000, + orderTotal: 420, + customerCompanyName: 'Drachenblut Delikatessen', + customerContactName: 'Sven Ottlieb', + requiredDateStart: 1579690800000, + requiredDateEnd: 1579692600000, + teamID: 3 + }, + { + orderID: 10809, + orderDate: 1577829600000, + orderTotal: 140, + customerCompanyName: 'Wellington Importadora', + customerContactName: 'Paula Parente', + requiredDateStart: 1580292000000, + requiredDateEnd: 1580293800000, + teamID: 3 + }, + { + orderID: 10818, + orderDate: 1578348000000, + orderTotal: 833, + customerCompanyName: 'Magazzini Alimentari Riuniti', + customerContactName: 'Giovanni Rovelli', + requiredDateStart: 1580823000000, + requiredDateEnd: 1580828400000, + teamID: 3 + }, + { + orderID: 10836, + orderDate: 1579125600000, + orderTotal: 4705.5, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1581600600000, + requiredDateEnd: 1581602400000, + teamID: 3 + }, + { + orderID: 10848, + orderDate: 1579730400000, + orderTotal: 931.5, + customerCompanyName: 'Consolidated Holdings', + customerContactName: 'Elizabeth Brown', + requiredDateStart: 1582209000000, + requiredDateEnd: 1582210800000, + teamID: 3 + }, + { + orderID: 10868, + orderDate: 1580767200000, + orderTotal: 1920.6, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1583319600000, + requiredDateEnd: 1583321400000, + teamID: 3 + }, + { + orderID: 10876, + orderDate: 1581199200000, + orderTotal: 917, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1583749800000, + requiredDateEnd: 1583755200000, + teamID: 3 + }, + { + orderID: 10880, + orderDate: 1581285600000, + orderTotal: 1500, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1585058400000, + requiredDateEnd: 1585063800000, + teamID: 3 + }, + { + orderID: 10890, + orderDate: 1581804000000, + orderTotal: 860.1, + customerCompanyName: 'Du monde entier', + customerContactName: 'Janine Labrune', + requiredDateStart: 1584354600000, + requiredDateEnd: 1584360000000, + teamID: 3 + }, + { + orderID: 10891, + orderDate: 1581890400000, + orderTotal: 368.9325, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1584441000000, + requiredDateEnd: 1584444600000, + teamID: 3 + }, + { + orderID: 10896, + orderDate: 1582063200000, + orderTotal: 750.5, + customerCompanyName: 'Maison Dewey', + customerContactName: 'Catherine Dewey', + requiredDateStart: 1584610200000, + requiredDateEnd: 1584613800000, + teamID: 3 + }, + { + orderID: 10923, + orderDate: 1583186400000, + orderTotal: 748.8, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1586865600000, + requiredDateEnd: 1586869200000, + teamID: 3 + }, + { + orderID: 10937, + orderDate: 1583791200000, + orderTotal: 644.8, + customerCompanyName: 'Cactus Comidas para llevar', + customerContactName: 'Patricio Simpson', + requiredDateStart: 1585053000000, + requiredDateEnd: 1585054800000, + teamID: 3 + }, + { + orderID: 10941, + orderDate: 1583877600000, + orderTotal: 4011.75, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1586347200000, + requiredDateEnd: 1586352600000, + teamID: 3 + }, + { + orderID: 10958, + orderDate: 1584482400000, + orderTotal: 781, + customerCompanyName: 'Océano Atlántico Ltda.', + customerContactName: 'Yvonne Moncada', + requiredDateStart: 1586948400000, + requiredDateEnd: 1586950200000, + teamID: 3 + }, + { + orderID: 10993, + orderDate: 1585688400000, + orderTotal: 4895.4375, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1588152600000, + requiredDateEnd: 1588154400000, + teamID: 3 + }, + { + orderID: 11008, + orderDate: 1586293200000, + orderTotal: 4680.9, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1588759200000, + requiredDateEnd: 1588762800000, + teamID: 3 + }, + { + orderID: 11030, + orderDate: 1587070800000, + orderTotal: 12615.05, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1589544000000, + requiredDateEnd: 1589545800000, + teamID: 3 + }, + { + orderID: 11033, + orderDate: 1587070800000, + orderTotal: 3232.8, + customerCompanyName: 'Richter Supermarkt', + customerContactName: 'Michael Holz', + requiredDateStart: 1589549400000, + requiredDateEnd: 1589553000000, + teamID: 3 + }, + { + orderID: 11037, + orderDate: 1587416400000, + orderTotal: 60, + customerCompanyName: 'Godos Cocina Típica', + customerContactName: 'José Pedro Freyre', + requiredDateStart: 1589882400000, + requiredDateEnd: 1589886000000, + teamID: 3 + }, + { + orderID: 11047, + orderDate: 1587675600000, + orderTotal: 817.875, + customerCompanyName: 'Eastern Connection', + customerContactName: 'Ann Devon', + requiredDateStart: 1590141600000, + requiredDateEnd: 1590145200000, + teamID: 3 + }, + { + orderID: 11048, + orderDate: 1587675600000, + orderTotal: 525, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1590143400000, + requiredDateEnd: 1590145200000, + teamID: 3 + }, + { + orderID: 11051, + orderDate: 1587934800000, + orderTotal: 36, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1590413400000, + requiredDateEnd: 1590418800000, + teamID: 3 + }, + { + orderID: 11055, + orderDate: 1588021200000, + orderTotal: 1727.5, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1590492600000, + requiredDateEnd: 1590494400000, + teamID: 3 + }, + { + orderID: 11066, + orderDate: 1588280400000, + orderTotal: 928.75, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1590751800000, + requiredDateEnd: 1590755400000, + teamID: 3 + }, + { + orderID: 11074, + orderDate: 1588712400000, + orderTotal: 232.085, + customerCompanyName: 'Simons bistro', + customerContactName: 'Jytte Petersen', + requiredDateStart: 1591189200000, + requiredDateEnd: 1591192800000, + teamID: 3 + }, + { + orderID: 10249, + orderDate: 1530738000000, + orderTotal: 1863.4, + customerCompanyName: 'Toms Spezialitäten', + customerContactName: 'Karin Josephs', + requiredDateStart: 1534426200000, + requiredDateEnd: 1534429800000, + teamID: 3 + }, + { + orderID: 10264, + orderDate: 1532379600000, + orderTotal: 695.625, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1534851000000, + requiredDateEnd: 1534852800000, + teamID: 3 + }, + { + orderID: 10271, + orderDate: 1533070800000, + orderTotal: 48, + customerCompanyName: 'Split Rail Beer & Ale', + customerContactName: 'Art Braunschweiger', + requiredDateStart: 1535533200000, + requiredDateEnd: 1535538600000, + teamID: 3 + }, + { + orderID: 10272, + orderDate: 1533157200000, + orderTotal: 1456, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1535623200000, + requiredDateEnd: 1535626800000, + teamID: 3 + }, + { + orderID: 10274, + orderDate: 1533502800000, + orderTotal: 538.6, + customerCompanyName: 'Vins et alcools Chevalier', + customerContactName: 'Paul Henriot', + requiredDateStart: 1535977800000, + requiredDateEnd: 1535981400000, + teamID: 3 + }, + { + orderID: 10291, + orderDate: 1535317200000, + orderTotal: 497.52, + customerCompanyName: 'Que Delícia', + customerContactName: 'Bernardo Batista', + requiredDateStart: 1537779600000, + requiredDateEnd: 1537785000000, + teamID: 3 + }, + { + orderID: 10296, + orderDate: 1535922000000, + orderTotal: 1050.6, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1538382600000, + requiredDateEnd: 1538386200000, + teamID: 3 + }, + { + orderID: 10298, + orderDate: 1536094800000, + orderTotal: 2645, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1538553600000, + requiredDateEnd: 1538555400000, + teamID: 3 + }, + { + orderID: 10317, + orderDate: 1538254800000, + orderTotal: 288, + customerCompanyName: 'Lonesome Pine Restaurant', + customerContactName: 'Fran Wilson', + requiredDateStart: 1540726200000, + requiredDateEnd: 1540729800000, + teamID: 3 + }, + { + orderID: 10350, + orderDate: 1541887200000, + orderTotal: 642.06, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1544349600000, + requiredDateEnd: 1544353200000, + teamID: 3 + }, + { + orderID: 10355, + orderDate: 1542232800000, + orderTotal: 480, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1544711400000, + requiredDateEnd: 1544716800000, + teamID: 3 + }, + { + orderID: 10356, + orderDate: 1542492000000, + orderTotal: 1106.4, + customerCompanyName: 'Die Wandernde Kuh', + customerContactName: 'Rita Müller', + requiredDateStart: 1544970600000, + requiredDateEnd: 1544972400000, + teamID: 3 + }, + { + orderID: 10370, + orderDate: 1543788000000, + orderTotal: 1117.6, + customerCompanyName: 'Chop-suey Chinese', + customerContactName: 'Yang Wang', + requiredDateStart: 1546263000000, + requiredDateEnd: 1546268400000, + teamID: 3 + }, + { + orderID: 10390, + orderDate: 1545516000000, + orderTotal: 2090.88, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1547992800000, + requiredDateEnd: 1547998200000, + teamID: 3 + }, + { + orderID: 10395, + orderDate: 1545775200000, + orderTotal: 2122.92, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1548235800000, + requiredDateEnd: 1548239400000, + teamID: 3 + }, + { + orderID: 10423, + orderDate: 1548194400000, + orderTotal: 1020, + customerCompanyName: 'Gourmet Lanchonetes', + customerContactName: 'André Fonseca', + requiredDateStart: 1549443600000, + requiredDateEnd: 1549447200000, + teamID: 3 + }, + { + orderID: 10425, + orderDate: 1548280800000, + orderTotal: 360, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1550745000000, + requiredDateEnd: 1550748600000, + teamID: 3 + }, + { + orderID: 10439, + orderDate: 1549490400000, + orderTotal: 1078, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1551952800000, + requiredDateEnd: 1551954600000, + teamID: 3 + }, + { + orderID: 10446, + orderDate: 1550095200000, + orderTotal: 246.24, + customerCompanyName: 'Toms Spezialitäten', + customerContactName: 'Karin Josephs', + requiredDateStart: 1552564800000, + requiredDateEnd: 1552566600000, + teamID: 3 + }, + { + orderID: 10480, + orderDate: 1553032800000, + orderTotal: 756, + customerCompanyName: 'Folies gourmandes', + customerContactName: 'Martine Rancé', + requiredDateStart: 1555498800000, + requiredDateEnd: 1555504200000, + teamID: 3 + }, + { + orderID: 10489, + orderDate: 1553724000000, + orderTotal: 439.2, + customerCompanyName: 'Piccolo und mehr', + customerContactName: 'Georg Pipps', + requiredDateStart: 1556188200000, + requiredDateEnd: 1556190000000, + teamID: 3 + }, + { + orderID: 10500, + orderDate: 1554757200000, + orderTotal: 523.26, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1557235800000, + requiredDateEnd: 1557241200000, + teamID: 3 + }, + { + orderID: 10503, + orderDate: 1554930000000, + orderTotal: 2048.5, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1557397800000, + requiredDateEnd: 1557399600000, + teamID: 3 + }, + { + orderID: 10510, + orderDate: 1555534800000, + orderTotal: 4707.54, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1558006200000, + requiredDateEnd: 1558009800000, + teamID: 3 + }, + { + orderID: 10519, + orderDate: 1556398800000, + orderTotal: 2314.2, + customerCompanyName: 'Chop-suey Chinese', + customerContactName: 'Yang Wang', + requiredDateStart: 1558868400000, + requiredDateEnd: 1558873800000, + teamID: 3 + }, + { + orderID: 10528, + orderDate: 1557090000000, + orderTotal: 392.2, + customerCompanyName: 'Great Lakes Food Market', + customerContactName: 'Howard Snyder', + requiredDateStart: 1558350000000, + requiredDateEnd: 1558355400000, + teamID: 3 + }, + { + orderID: 10539, + orderDate: 1557954000000, + orderTotal: 355.5, + customerCompanyName: `B's Beverages`, + customerContactName: 'Victoria Ashworth', + requiredDateStart: 1560421800000, + requiredDateEnd: 1560425400000, + teamID: 3 + }, + { + orderID: 10555, + orderDate: 1559422800000, + orderTotal: 2944.4, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1561890600000, + requiredDateEnd: 1561892400000, + teamID: 3 + }, + { + orderID: 10559, + orderDate: 1559682000000, + orderTotal: 520.41, + customerCompanyName: 'Blondesddsl père et fils', + customerContactName: 'Frédérique Citeaux', + requiredDateStart: 1562144400000, + requiredDateEnd: 1562149800000, + teamID: 3 + }, + { + orderID: 10599, + orderDate: 1563138000000, + orderTotal: 493, + customerCompanyName: `B's Beverages`, + customerContactName: 'Victoria Ashworth', + requiredDateStart: 1566811800000, + requiredDateEnd: 1566815400000, + teamID: 3 + }, + { + orderID: 10611, + orderDate: 1564002000000, + orderTotal: 808, + customerCompanyName: 'Wolski Zajazd', + customerContactName: 'Zbyszek Piestrzeniewicz', + requiredDateStart: 1566477000000, + requiredDateEnd: 1566478800000, + teamID: 3 + }, + { + orderID: 10637, + orderDate: 1566162000000, + orderTotal: 2761.9375, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1568629800000, + requiredDateEnd: 1568633400000, + teamID: 3 + }, + { + orderID: 10643, + orderDate: 1566680400000, + orderTotal: 814.5, + customerCompanyName: 'Alfreds Futterkiste', + customerContactName: 'Maria Anders', + requiredDateStart: 1569150000000, + requiredDateEnd: 1569153600000, + teamID: 3 + }, + { + orderID: 10656, + orderDate: 1567544400000, + orderTotal: 604.215, + customerCompanyName: 'Great Lakes Food Market', + customerContactName: 'Howard Snyder', + requiredDateStart: 1570021200000, + requiredDateEnd: 1570023000000, + teamID: 3 + }, + { + orderID: 10701, + orderDate: 1570914000000, + orderTotal: 2864.5, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1572183000000, + requiredDateEnd: 1572184800000, + teamID: 3 + }, + { + orderID: 10703, + orderDate: 1571000400000, + orderTotal: 2545, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1573466400000, + requiredDateEnd: 1573470000000, + teamID: 3 + }, + { + orderID: 10704, + orderDate: 1571000400000, + orderTotal: 595.5, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1573471800000, + requiredDateEnd: 1573477200000, + teamID: 3 + }, + { + orderID: 10708, + orderDate: 1571259600000, + orderTotal: 180.4, + customerCompanyName: 'The Big Cheese', + customerContactName: 'Liz Nixon', + requiredDateStart: 1574944200000, + requiredDateEnd: 1574946000000, + teamID: 3 + }, + { + orderID: 10735, + orderDate: 1573336800000, + orderTotal: 536.4, + customerCompanyName: `Let's Stop N Shop`, + customerContactName: 'Jaime Yorres', + requiredDateStart: 1575813600000, + requiredDateEnd: 1575819000000, + teamID: 3 + }, + { + orderID: 10744, + orderDate: 1573941600000, + orderTotal: 736, + customerCompanyName: 'Vaffeljernet', + customerContactName: 'Palle Ibsen', + requiredDateStart: 1576413000000, + requiredDateEnd: 1576418400000, + teamID: 3 + }, + { + orderID: 10747, + orderDate: 1574114400000, + orderTotal: 1912.85, + customerCompanyName: 'Piccolo und mehr', + customerContactName: 'Georg Pipps', + requiredDateStart: 1576576800000, + requiredDateEnd: 1576580400000, + teamID: 3 + }, + { + orderID: 10754, + orderDate: 1574632800000, + orderTotal: 55.2, + customerCompanyName: 'Magazzini Alimentari Riuniti', + customerContactName: 'Giovanni Rovelli', + requiredDateStart: 1577095200000, + requiredDateEnd: 1577097000000, + teamID: 3 + }, + { + orderID: 10757, + orderDate: 1574805600000, + orderTotal: 3082, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1577266200000, + requiredDateEnd: 1577269800000, + teamID: 3 + }, + { + orderID: 10764, + orderDate: 1575324000000, + orderTotal: 2286, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1577797200000, + requiredDateEnd: 1577799000000, + teamID: 3 + }, + { + orderID: 10790, + orderDate: 1576965600000, + orderTotal: 722.5, + customerCompanyName: 'Gourmet Lanchonetes', + customerContactName: 'André Fonseca', + requiredDateStart: 1579433400000, + requiredDateEnd: 1579438800000, + teamID: 3 + }, + { + orderID: 10791, + orderDate: 1577052000000, + orderTotal: 1829.757, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1579527000000, + requiredDateEnd: 1579530600000, + teamID: 3 + }, + { + orderID: 10794, + orderDate: 1577138400000, + orderTotal: 314.76, + customerCompanyName: 'Que Delícia', + customerContactName: 'Bernardo Batista', + requiredDateStart: 1579613400000, + requiredDateEnd: 1579618800000, + teamID: 3 + }, + { + orderID: 10804, + orderDate: 1577656800000, + orderTotal: 2278.4, + customerCompanyName: 'Seven Seas Imports', + customerContactName: 'Hari Kumar', + requiredDateStart: 1580124600000, + requiredDateEnd: 1580126400000, + teamID: 3 + }, + { + orderID: 10822, + orderDate: 1578434400000, + orderTotal: 237.9, + customerCompanyName: `Trail's Head Gourmet Provisioners`, + customerContactName: 'Helvetius Nagy', + requiredDateStart: 1580898600000, + requiredDateEnd: 1580900400000, + teamID: 3 + }, + { + orderID: 10826, + orderDate: 1578780000000, + orderTotal: 730, + customerCompanyName: 'Blondesddsl père et fils', + customerContactName: 'Frédérique Citeaux', + requiredDateStart: 1581242400000, + requiredDateEnd: 1581247800000, + teamID: 3 + }, + { + orderID: 10833, + orderDate: 1579039200000, + orderTotal: 906.93, + customerCompanyName: 'Ottilies Käseladen', + customerContactName: 'Henriette Pfalzheim', + requiredDateStart: 1581514200000, + requiredDateEnd: 1581516000000, + teamID: 3 + }, + { + orderID: 10867, + orderDate: 1580680800000, + orderTotal: 98.4, + customerCompanyName: 'Lonesome Pine Restaurant', + customerContactName: 'Fran Wilson', + requiredDateStart: 1584451800000, + requiredDateEnd: 1584453600000, + teamID: 3 + }, + { + orderID: 10885, + orderDate: 1581458400000, + orderTotal: 1209, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1584016200000, + requiredDateEnd: 1584018000000, + teamID: 3 + }, + { + orderID: 10907, + orderDate: 1582581600000, + orderTotal: 108.5, + customerCompanyName: 'Spécialités du monde', + customerContactName: 'Dominique Perrier', + requiredDateStart: 1585130400000, + requiredDateEnd: 1585134000000, + teamID: 3 + }, + { + orderID: 10914, + orderDate: 1582754400000, + orderTotal: 537.5, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1585306800000, + requiredDateEnd: 1585312200000, + teamID: 3 + }, + { + orderID: 10929, + orderDate: 1583359200000, + orderTotal: 1174.75, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1585823400000, + requiredDateEnd: 1585828800000, + teamID: 3 + }, + { + orderID: 10933, + orderDate: 1583445600000, + orderTotal: 920.6, + customerCompanyName: 'Island Trading', + customerContactName: 'Helen Bennett', + requiredDateStart: 1585906200000, + requiredDateEnd: 1585908000000, + teamID: 3 + }, + { + orderID: 10944, + orderDate: 1583964000000, + orderTotal: 1025.325, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1585231200000, + requiredDateEnd: 1585233000000, + teamID: 3 + }, + { + orderID: 10956, + orderDate: 1584396000000, + orderTotal: 677, + customerCompanyName: 'Blauer See Delikatessen', + customerContactName: 'Hanna Moos', + requiredDateStart: 1588068000000, + requiredDateEnd: 1588073400000, + teamID: 3 + }, + { + orderID: 10959, + orderDate: 1584482400000, + orderTotal: 131.75, + customerCompanyName: 'Gourmet Lanchonetes', + customerContactName: 'André Fonseca', + requiredDateStart: 1588161600000, + requiredDateEnd: 1588167000000, + teamID: 3 + }, + { + orderID: 10965, + orderDate: 1584655200000, + orderTotal: 848, + customerCompanyName: 'Old World Delicatessen', + customerContactName: 'Rene Phillips', + requiredDateStart: 1587128400000, + requiredDateEnd: 1587132000000, + teamID: 3 + }, + { + orderID: 10973, + orderDate: 1585000800000, + orderTotal: 291.55, + customerCompanyName: `La corne d'abondance`, + customerContactName: 'Daniel Tonini', + requiredDateStart: 1587459600000, + requiredDateEnd: 1587461400000, + teamID: 3 + }, + { + orderID: 10999, + orderDate: 1585861200000, + orderTotal: 1197.95, + customerCompanyName: 'Ottilies Käseladen', + customerContactName: 'Henriette Pfalzheim', + requiredDateStart: 1588339800000, + requiredDateEnd: 1588345200000, + teamID: 3 + }, + { + orderID: 11019, + orderDate: 1586725200000, + orderTotal: 76, + customerCompanyName: 'Rancho grande', + customerContactName: 'Sergio Gutiérrez', + requiredDateStart: 1589202000000, + requiredDateEnd: 1589203800000, + teamID: 3 + }, + { + orderID: 11025, + orderDate: 1586898000000, + orderTotal: 270, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1589362200000, + requiredDateEnd: 1589364000000, + teamID: 3 + }, + { + orderID: 11031, + orderDate: 1587070800000, + orderTotal: 2393.5, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1589549400000, + requiredDateEnd: 1589551200000, + teamID: 3 + }, + { + orderID: 11045, + orderDate: 1587589200000, + orderTotal: 1309.5, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1590057000000, + requiredDateEnd: 1590058800000, + teamID: 3 + }, + { + orderID: 10248, + orderDate: 1530651600000, + orderTotal: 440, + customerCompanyName: 'Vins et alcools Chevalier', + customerContactName: 'Paul Henriot', + requiredDateStart: 1533123000000, + requiredDateEnd: 1533126600000, + teamID: 3 + }, + { + orderID: 10254, + orderDate: 1531256400000, + orderTotal: 556.62, + customerCompanyName: 'Chop-suey Chinese', + customerContactName: 'Yang Wang', + requiredDateStart: 1533729600000, + requiredDateEnd: 1533735000000, + teamID: 3 + }, + { + orderID: 10269, + orderDate: 1532984400000, + orderTotal: 642.2, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1534248000000, + requiredDateEnd: 1534251600000, + teamID: 3 + }, + { + orderID: 10297, + orderDate: 1536008400000, + orderTotal: 1420, + customerCompanyName: 'Blondesddsl père et fils', + customerContactName: 'Frédérique Citeaux', + requiredDateStart: 1539696600000, + requiredDateEnd: 1539698400000, + teamID: 3 + }, + { + orderID: 10320, + orderDate: 1538514000000, + orderTotal: 516, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1539770400000, + requiredDateEnd: 1539772200000, + teamID: 3 + }, + { + orderID: 10333, + orderDate: 1539810000000, + orderTotal: 877.2, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1542276000000, + requiredDateEnd: 1542277800000, + teamID: 3 + }, + { + orderID: 10358, + orderDate: 1542664800000, + orderTotal: 429.4, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1545141600000, + requiredDateEnd: 1545143400000, + teamID: 3 + }, + { + orderID: 10359, + orderDate: 1542751200000, + orderTotal: 3471.68, + customerCompanyName: 'Seven Seas Imports', + customerContactName: 'Hari Kumar', + requiredDateStart: 1545220800000, + requiredDateEnd: 1545226200000, + teamID: 3 + }, + { + orderID: 10372, + orderDate: 1543874400000, + orderTotal: 9210.9, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1546335000000, + requiredDateEnd: 1546338600000, + teamID: 3 + }, + { + orderID: 10378, + orderDate: 1544392800000, + orderTotal: 103.2, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1546871400000, + requiredDateEnd: 1546876800000, + teamID: 3 + }, + { + orderID: 10397, + orderDate: 1545861600000, + orderTotal: 716.72, + customerCompanyName: 'Princesa Isabel Vinhos', + customerContactName: 'Isabel de Castro', + requiredDateStart: 1548322200000, + requiredDateEnd: 1548325800000, + teamID: 3 + }, + { + orderID: 10463, + orderDate: 1551650400000, + orderTotal: 713.3, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1554112800000, + requiredDateEnd: 1554114600000, + teamID: 3 + }, + { + orderID: 10474, + orderDate: 1552428000000, + orderTotal: 1249.1, + customerCompanyName: 'Pericles Comidas clásicas', + customerContactName: 'Guillermo Fernández', + requiredDateStart: 1554888600000, + requiredDateEnd: 1554892200000, + teamID: 3 + }, + { + orderID: 10477, + orderDate: 1552773600000, + orderTotal: 558, + customerCompanyName: 'Princesa Isabel Vinhos', + customerContactName: 'Isabel de Castro', + requiredDateStart: 1555228800000, + requiredDateEnd: 1555234200000, + teamID: 3 + }, + { + orderID: 10529, + orderDate: 1557176400000, + orderTotal: 946, + customerCompanyName: 'Maison Dewey', + customerContactName: 'Catherine Dewey', + requiredDateStart: 1559653200000, + requiredDateEnd: 1559656800000, + teamID: 3 + }, + { + orderID: 10549, + orderDate: 1558904400000, + orderTotal: 3554.275, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1560153600000, + requiredDateEnd: 1560155400000, + teamID: 3 + }, + { + orderID: 10569, + orderDate: 1560632400000, + orderTotal: 890, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1563098400000, + requiredDateEnd: 1563102000000, + teamID: 3 + }, + { + orderID: 10575, + orderDate: 1560978000000, + orderTotal: 2147.4, + customerCompanyName: 'Morgenstern Gesundkost', + customerContactName: 'Alexander Feuer', + requiredDateStart: 1562232600000, + requiredDateEnd: 1562238000000, + teamID: 3 + }, + { + orderID: 10607, + orderDate: 1563742800000, + orderTotal: 6475.4, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1566207000000, + requiredDateEnd: 1566208800000, + teamID: 3 + }, + { + orderID: 10648, + orderDate: 1566939600000, + orderTotal: 372.375, + customerCompanyName: 'Ricardo Adocicados', + customerContactName: 'Janete Limeira', + requiredDateStart: 1570609800000, + requiredDateEnd: 1570611600000, + teamID: 3 + }, + { + orderID: 10649, + orderDate: 1566939600000, + orderTotal: 1434, + customerCompanyName: 'Maison Dewey', + customerContactName: 'Catherine Dewey', + requiredDateStart: 1569400200000, + requiredDateEnd: 1569403800000, + teamID: 3 + }, + { + orderID: 10650, + orderDate: 1567026000000, + orderTotal: 1779.2, + customerCompanyName: 'Familia Arquibaldo', + customerContactName: 'Aria Cruz', + requiredDateStart: 1569490200000, + requiredDateEnd: 1569493800000, + teamID: 3 + }, + { + orderID: 10654, + orderDate: 1567371600000, + orderTotal: 601.83, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1569850200000, + requiredDateEnd: 1569855600000, + teamID: 3 + }, + { + orderID: 10675, + orderDate: 1568840400000, + orderTotal: 1423, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1571299200000, + requiredDateEnd: 1571304600000, + teamID: 3 + }, + { + orderID: 10711, + orderDate: 1571605200000, + orderTotal: 4451.7, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1575297000000, + requiredDateEnd: 1575298800000, + teamID: 3 + }, + { + orderID: 10714, + orderDate: 1571691600000, + orderTotal: 2205.75, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1574173800000, + requiredDateEnd: 1574179200000, + teamID: 3 + }, + { + orderID: 10721, + orderDate: 1572300000000, + orderTotal: 923.875, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1574775000000, + requiredDateEnd: 1574780400000, + teamID: 3 + }, + { + orderID: 10730, + orderDate: 1572904800000, + orderTotal: 484.2625, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1575376200000, + requiredDateEnd: 1575379800000, + teamID: 3 + }, + { + orderID: 10761, + orderDate: 1575237600000, + orderTotal: 507, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1577712600000, + requiredDateEnd: 1577716200000, + teamID: 3 + }, + { + orderID: 10812, + orderDate: 1577916000000, + orderTotal: 1692.8, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1580394600000, + requiredDateEnd: 1580396400000, + teamID: 3 + }, + { + orderID: 10823, + orderDate: 1578520800000, + orderTotal: 2826, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1580988600000, + requiredDateEnd: 1580994000000, + teamID: 3 + }, + { + orderID: 10841, + orderDate: 1579471200000, + orderTotal: 4581, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1581948000000, + requiredDateEnd: 1581953400000, + teamID: 3 + }, + { + orderID: 10851, + orderDate: 1579989600000, + orderTotal: 2603, + customerCompanyName: 'Ricardo Adocicados', + customerContactName: 'Janete Limeira', + requiredDateStart: 1582468200000, + requiredDateEnd: 1582470000000, + teamID: 3 + }, + { + orderID: 10866, + orderDate: 1580680800000, + orderTotal: 1096.2, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1583233200000, + requiredDateEnd: 1583238600000, + teamID: 3 + }, + { + orderID: 10869, + orderDate: 1580767200000, + orderTotal: 1630, + customerCompanyName: 'Seven Seas Imports', + customerContactName: 'Hari Kumar', + requiredDateStart: 1583328600000, + requiredDateEnd: 1583334000000, + teamID: 3 + }, + { + orderID: 10870, + orderDate: 1580767200000, + orderTotal: 160, + customerCompanyName: 'Wolski Zajazd', + customerContactName: 'Zbyszek Piestrzeniewicz', + requiredDateStart: 1583330400000, + requiredDateEnd: 1583334000000, + teamID: 3 + }, + { + orderID: 10872, + orderDate: 1580853600000, + orderTotal: 2058.46, + customerCompanyName: 'Godos Cocina Típica', + customerContactName: 'José Pedro Freyre', + requiredDateStart: 1583418600000, + requiredDateEnd: 1583422200000, + teamID: 3 + }, + { + orderID: 10874, + orderDate: 1580940000000, + orderTotal: 310, + customerCompanyName: 'Godos Cocina Típica', + customerContactName: 'José Pedro Freyre', + requiredDateStart: 1583505000000, + requiredDateEnd: 1583508600000, + teamID: 3 + }, + { + orderID: 10899, + orderDate: 1582149600000, + orderTotal: 122.4, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1584703800000, + requiredDateEnd: 1584709200000, + teamID: 3 + }, + { + orderID: 10922, + orderDate: 1583186400000, + orderTotal: 742.5, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1585652400000, + requiredDateEnd: 1585656000000, + teamID: 3 + }, + { + orderID: 10954, + orderDate: 1584396000000, + orderTotal: 1659.535, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1588075200000, + requiredDateEnd: 1588080600000, + teamID: 3 + }, + { + orderID: 11043, + orderDate: 1587502800000, + orderTotal: 210, + customerCompanyName: 'Spécialités du monde', + customerContactName: 'Dominique Perrier', + requiredDateStart: 1589981400000, + requiredDateEnd: 1589985000000, + teamID: 3 + }, + { + orderID: 10250, + orderDate: 1530997200000, + orderTotal: 1552.6, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1533466800000, + requiredDateEnd: 1533468600000, + teamID: 2 + }, + { + orderID: 10252, + orderDate: 1531083600000, + orderTotal: 3597.9, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1533547800000, + requiredDateEnd: 1533551400000, + teamID: 2 + }, + { + orderID: 10257, + orderDate: 1531688400000, + orderTotal: 1119.9, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1534154400000, + requiredDateEnd: 1534156200000, + teamID: 2 + }, + { + orderID: 10259, + orderDate: 1531861200000, + orderTotal: 100.8, + customerCompanyName: 'Centro comercial Moctezuma', + customerContactName: 'Francisco Chang', + requiredDateStart: 1534320000000, + requiredDateEnd: 1534325400000, + teamID: 2 + }, + { + orderID: 10260, + orderDate: 1531947600000, + orderTotal: 1504.65, + customerCompanyName: 'Ottilies Käseladen', + customerContactName: 'Henriette Pfalzheim', + requiredDateStart: 1534410000000, + requiredDateEnd: 1534411800000, + teamID: 2 + }, + { + orderID: 10261, + orderDate: 1531947600000, + orderTotal: 448, + customerCompanyName: 'Que Delícia', + customerContactName: 'Bernardo Batista', + requiredDateStart: 1534422600000, + requiredDateEnd: 1534426200000, + teamID: 2 + }, + { + orderID: 10267, + orderDate: 1532811600000, + orderTotal: 3536.6, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1535270400000, + requiredDateEnd: 1535274000000, + teamID: 2 + }, + { + orderID: 10281, + orderDate: 1534194000000, + orderTotal: 86.5, + customerCompanyName: 'Romero y tomillo', + customerContactName: 'Alejandra Camino', + requiredDateStart: 1535459400000, + requiredDateEnd: 1535464800000, + teamID: 2 + }, + { + orderID: 10282, + orderDate: 1534280400000, + orderTotal: 155.4, + customerCompanyName: 'Romero y tomillo', + customerContactName: 'Alejandra Camino', + requiredDateStart: 1536755400000, + requiredDateEnd: 1536757200000, + teamID: 2 + }, + { + orderID: 10284, + orderDate: 1534626000000, + orderTotal: 1170.375, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1537084800000, + requiredDateEnd: 1537086600000, + teamID: 2 + }, + { + orderID: 10288, + orderDate: 1534971600000, + orderTotal: 80.1, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1537435800000, + requiredDateEnd: 1537439400000, + teamID: 2 + }, + { + orderID: 10294, + orderDate: 1535576400000, + orderTotal: 1887.6, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1538049600000, + requiredDateEnd: 1538055000000, + teamID: 2 + }, + { + orderID: 10299, + orderDate: 1536181200000, + orderTotal: 349.5, + customerCompanyName: 'Ricardo Adocicados', + customerContactName: 'Janete Limeira', + requiredDateStart: 1538658000000, + requiredDateEnd: 1538661600000, + teamID: 2 + }, + { + orderID: 10302, + orderDate: 1536526800000, + orderTotal: 2708.8, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1538998200000, + requiredDateEnd: 1539003600000, + teamID: 2 + }, + { + orderID: 10315, + orderDate: 1537909200000, + orderTotal: 516.8, + customerCompanyName: 'Island Trading', + customerContactName: 'Helen Bennett', + requiredDateStart: 1540371600000, + requiredDateEnd: 1540375200000, + teamID: 2 + }, + { + orderID: 10323, + orderDate: 1538859600000, + orderTotal: 164.4, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1541323800000, + requiredDateEnd: 1541325600000, + teamID: 2 + }, + { + orderID: 10326, + orderDate: 1539118800000, + orderTotal: 982, + customerCompanyName: 'Bólido Comidas preparadas', + customerContactName: 'Martín Sommer', + requiredDateStart: 1541601000000, + requiredDateEnd: 1541604600000, + teamID: 2 + }, + { + orderID: 10328, + orderDate: 1539464400000, + orderTotal: 1168, + customerCompanyName: 'Furia Bacalhau e Frutos do Mar', + customerContactName: 'Lino Rodriguez', + requiredDateStart: 1541939400000, + requiredDateEnd: 1541944800000, + teamID: 2 + }, + { + orderID: 10329, + orderDate: 1539550800000, + orderTotal: 4578.43, + customerCompanyName: 'Split Rail Beer & Ale', + customerContactName: 'Art Braunschweiger', + requiredDateStart: 1543224600000, + requiredDateEnd: 1543230000000, + teamID: 2 + }, + { + orderID: 10337, + orderDate: 1540328400000, + orderTotal: 2467, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1542805200000, + requiredDateEnd: 1542810600000, + teamID: 2 + }, + { + orderID: 10338, + orderDate: 1540414800000, + orderTotal: 934.5, + customerCompanyName: 'Old World Delicatessen', + customerContactName: 'Rene Phillips', + requiredDateStart: 1542893400000, + requiredDateEnd: 1542898800000, + teamID: 2 + }, + { + orderID: 10342, + orderDate: 1540850400000, + orderTotal: 1840.64, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1542115800000, + requiredDateEnd: 1542121200000, + teamID: 2 + }, + { + orderID: 10343, + orderDate: 1540936800000, + orderTotal: 1584, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1543415400000, + requiredDateEnd: 1543419000000, + teamID: 2 + }, + { + orderID: 10344, + orderDate: 1541023200000, + orderTotal: 2296, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1543489200000, + requiredDateEnd: 1543494600000, + teamID: 2 + }, + { + orderID: 10347, + orderDate: 1541455200000, + orderTotal: 814.42, + customerCompanyName: 'Familia Arquibaldo', + customerContactName: 'Aria Cruz', + requiredDateStart: 1543914000000, + requiredDateEnd: 1543915800000, + teamID: 2 + }, + { + orderID: 10348, + orderDate: 1541541600000, + orderTotal: 363.6, + customerCompanyName: 'Die Wandernde Kuh', + customerContactName: 'Rita Müller', + requiredDateStart: 1544020200000, + requiredDateEnd: 1544025600000, + teamID: 2 + }, + { + orderID: 10360, + orderDate: 1542837600000, + orderTotal: 7390.2, + customerCompanyName: 'Blondesddsl père et fils', + customerContactName: 'Frédérique Citeaux', + requiredDateStart: 1545298200000, + requiredDateEnd: 1545300000000, + teamID: 2 + }, + { + orderID: 10363, + orderDate: 1543183200000, + orderTotal: 447.2, + customerCompanyName: 'Drachenblut Delikatessen', + customerContactName: 'Sven Ottlieb', + requiredDateStart: 1545658200000, + requiredDateEnd: 1545661800000, + teamID: 2 + }, + { + orderID: 10373, + orderDate: 1543960800000, + orderTotal: 1366.4, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1546430400000, + requiredDateEnd: 1546432200000, + teamID: 2 + }, + { + orderID: 10382, + orderDate: 1544652000000, + orderTotal: 2900, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1547112600000, + requiredDateEnd: 1547114400000, + teamID: 2 + }, + { + orderID: 10389, + orderDate: 1545256800000, + orderTotal: 1832.8, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1547722800000, + requiredDateEnd: 1547728200000, + teamID: 2 + }, + { + orderID: 10403, + orderDate: 1546466400000, + orderTotal: 855.015, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1548941400000, + requiredDateEnd: 1548946800000, + teamID: 2 + }, + { + orderID: 10417, + orderDate: 1547589600000, + orderTotal: 11188.4, + customerCompanyName: 'Simons bistro', + customerContactName: 'Jytte Petersen', + requiredDateStart: 1550068200000, + requiredDateEnd: 1550071800000, + teamID: 2 + }, + { + orderID: 10418, + orderDate: 1547676000000, + orderTotal: 1814.8, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1550147400000, + requiredDateEnd: 1550149200000, + teamID: 2 + }, + { + orderID: 10419, + orderDate: 1547935200000, + orderTotal: 2097.6, + customerCompanyName: 'Richter Supermarkt', + customerContactName: 'Michael Holz', + requiredDateStart: 1550413800000, + requiredDateEnd: 1550417400000, + teamID: 2 + }, + { + orderID: 10426, + orderDate: 1548540000000, + orderTotal: 338.2, + customerCompanyName: 'Galería del gastrónomo', + customerContactName: 'Eduardo Saavedra', + requiredDateStart: 1551002400000, + requiredDateEnd: 1551007800000, + teamID: 2 + }, + { + orderID: 10427, + orderDate: 1548540000000, + orderTotal: 651, + customerCompanyName: 'Piccolo und mehr', + customerContactName: 'Georg Pipps', + requiredDateStart: 1551004200000, + requiredDateEnd: 1551006000000, + teamID: 2 + }, + { + orderID: 10430, + orderDate: 1548799200000, + orderTotal: 4899.2, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1550068200000, + requiredDateEnd: 1550073600000, + teamID: 2 + }, + { + orderID: 10431, + orderDate: 1548799200000, + orderTotal: 1892.25, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1550068200000, + requiredDateEnd: 1550071800000, + teamID: 2 + }, + { + orderID: 10440, + orderDate: 1549749600000, + orderTotal: 4924.135, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1552208400000, + requiredDateEnd: 1552210200000, + teamID: 2 + }, + { + orderID: 10447, + orderDate: 1550095200000, + orderTotal: 914.4, + customerCompanyName: 'Ricardo Adocicados', + customerContactName: 'Janete Limeira', + requiredDateStart: 1552555800000, + requiredDateEnd: 1552557600000, + teamID: 2 + }, + { + orderID: 10448, + orderDate: 1550354400000, + orderTotal: 443.4, + customerCompanyName: 'Rancho grande', + customerContactName: 'Sergio Gutiérrez', + requiredDateStart: 1552825800000, + requiredDateEnd: 1552829400000, + teamID: 2 + }, + { + orderID: 10451, + orderDate: 1550527200000, + orderTotal: 3849.66, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1551787200000, + requiredDateEnd: 1551789000000, + teamID: 2 + }, + { + orderID: 10454, + orderDate: 1550700000000, + orderTotal: 331.2, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1553164200000, + requiredDateEnd: 1553166000000, + teamID: 2 + }, + { + orderID: 10459, + orderDate: 1551218400000, + orderTotal: 1659.2, + customerCompanyName: 'Victuailles en stock', + customerContactName: 'Mary Saveley', + requiredDateStart: 1553689800000, + requiredDateEnd: 1553695200000, + teamID: 2 + }, + { + orderID: 10464, + orderDate: 1551650400000, + orderTotal: 1609.28, + customerCompanyName: 'Furia Bacalhau e Frutos do Mar', + customerContactName: 'Lino Rodriguez', + requiredDateStart: 1554105600000, + requiredDateEnd: 1554107400000, + teamID: 2 + }, + { + orderID: 10466, + orderDate: 1551823200000, + orderTotal: 216, + customerCompanyName: 'Comércio Mineiro', + customerContactName: 'Pedro Afonso', + requiredDateStart: 1554291000000, + requiredDateEnd: 1554296400000, + teamID: 2 + }, + { + orderID: 10470, + orderDate: 1552255200000, + orderTotal: 1820.8, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1554712200000, + requiredDateEnd: 1554714000000, + teamID: 2 + }, + { + orderID: 10485, + orderDate: 1553464800000, + orderTotal: 1584, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1554728400000, + requiredDateEnd: 1554733800000, + teamID: 2 + }, + { + orderID: 10493, + orderDate: 1554152400000, + orderTotal: 608.4, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1556627400000, + requiredDateEnd: 1556629200000, + teamID: 2 + }, + { + orderID: 10494, + orderDate: 1554152400000, + orderTotal: 912, + customerCompanyName: 'Comércio Mineiro', + customerContactName: 'Pedro Afonso', + requiredDateStart: 1556622000000, + requiredDateEnd: 1556625600000, + teamID: 2 + }, + { + orderID: 10499, + orderDate: 1554670800000, + orderTotal: 1412, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1557149400000, + requiredDateEnd: 1557154800000, + teamID: 2 + }, + { + orderID: 10504, + orderDate: 1554930000000, + orderTotal: 1388.5, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1557388800000, + requiredDateEnd: 1557392400000, + teamID: 2 + }, + { + orderID: 10509, + orderDate: 1555448400000, + orderTotal: 136.8, + customerCompanyName: 'Blauer See Delikatessen', + customerContactName: 'Hanna Moos', + requiredDateStart: 1557909000000, + requiredDateEnd: 1557912600000, + teamID: 2 + }, + { + orderID: 10511, + orderDate: 1555534800000, + orderTotal: 2550, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1558009800000, + requiredDateEnd: 1558011600000, + teamID: 2 + }, + { + orderID: 10518, + orderDate: 1556139600000, + orderTotal: 4150.05, + customerCompanyName: 'Tortuga Restaurante', + customerContactName: 'Miguel Angel Paolino', + requiredDateStart: 1557392400000, + requiredDateEnd: 1557397800000, + teamID: 2 + }, + { + orderID: 10522, + orderDate: 1556571600000, + orderTotal: 2318.24, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1559050200000, + requiredDateEnd: 1559052000000, + teamID: 2 + }, + { + orderID: 10526, + orderDate: 1557003600000, + orderTotal: 1151.4, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1559466000000, + requiredDateEnd: 1559471400000, + teamID: 2 + }, + { + orderID: 10535, + orderDate: 1557694800000, + orderTotal: 1940.85, + customerCompanyName: 'Antonio Moreno Taquería', + customerContactName: 'Antonio Moreno', + requiredDateStart: 1560171600000, + requiredDateEnd: 1560173400000, + teamID: 2 + }, + { + orderID: 10544, + orderDate: 1558386000000, + orderTotal: 417.2, + customerCompanyName: 'Lonesome Pine Restaurant', + customerContactName: 'Fran Wilson', + requiredDateStart: 1560862800000, + requiredDateEnd: 1560864600000, + teamID: 2 + }, + { + orderID: 10551, + orderDate: 1558990800000, + orderTotal: 1677.3, + customerCompanyName: 'Furia Bacalhau e Frutos do Mar', + customerContactName: 'Lino Rodriguez', + requiredDateStart: 1562679000000, + requiredDateEnd: 1562684400000, + teamID: 2 + }, + { + orderID: 10554, + orderDate: 1559163600000, + orderTotal: 1728.525, + customerCompanyName: 'Ottilies Käseladen', + customerContactName: 'Henriette Pfalzheim', + requiredDateStart: 1561624200000, + requiredDateEnd: 1561627800000, + teamID: 2 + }, + { + orderID: 10564, + orderDate: 1560114000000, + orderTotal: 1234.05, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1562587200000, + requiredDateEnd: 1562592600000, + teamID: 2 + }, + { + orderID: 10574, + orderDate: 1560891600000, + orderTotal: 764.3, + customerCompanyName: `Trail's Head Gourmet Provisioners`, + customerContactName: 'Helvetius Nagy', + requiredDateStart: 1563370200000, + requiredDateEnd: 1563373800000, + teamID: 2 + }, + { + orderID: 10578, + orderDate: 1561323600000, + orderTotal: 477, + customerCompanyName: `B's Beverages`, + customerContactName: 'Victoria Ashworth', + requiredDateStart: 1563786000000, + requiredDateEnd: 1563789600000, + teamID: 2 + }, + { + orderID: 10580, + orderDate: 1561496400000, + orderTotal: 1013.745, + customerCompanyName: 'Ottilies Käseladen', + customerContactName: 'Henriette Pfalzheim', + requiredDateStart: 1563971400000, + requiredDateEnd: 1563973200000, + teamID: 2 + }, + { + orderID: 10584, + orderDate: 1561842000000, + orderTotal: 593.75, + customerCompanyName: 'Blondesddsl père et fils', + customerContactName: 'Frédérique Citeaux', + requiredDateStart: 1564315200000, + requiredDateEnd: 1564318800000, + teamID: 2 + }, + { + orderID: 10590, + orderDate: 1562446800000, + orderTotal: 1101, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1564916400000, + requiredDateEnd: 1564918200000, + teamID: 2 + }, + { + orderID: 10600, + orderDate: 1563224400000, + orderTotal: 479.8, + customerCompanyName: 'Hungry Coyote Import Store', + customerContactName: 'Yoshi Latimer', + requiredDateStart: 1565688600000, + requiredDateEnd: 1565690400000, + teamID: 2 + }, + { + orderID: 10606, + orderDate: 1563742800000, + orderTotal: 1130.4, + customerCompanyName: 'Tradição Hipermercados', + customerContactName: 'Anabela Domingues', + requiredDateStart: 1566219600000, + requiredDateEnd: 1566225000000, + teamID: 2 + }, + { + orderID: 10608, + orderDate: 1563829200000, + orderTotal: 1064, + customerCompanyName: 'Toms Spezialitäten', + customerContactName: 'Karin Josephs', + requiredDateStart: 1566304200000, + requiredDateEnd: 1566307800000, + teamID: 2 + }, + { + orderID: 10613, + orderDate: 1564347600000, + orderTotal: 353.2, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1566819000000, + requiredDateEnd: 1566822600000, + teamID: 2 + }, + { + orderID: 10617, + orderDate: 1564520400000, + orderTotal: 1402.5, + customerCompanyName: 'Great Lakes Food Market', + customerContactName: 'Howard Snyder', + requiredDateStart: 1566997200000, + requiredDateEnd: 1567000800000, + teamID: 2 + }, + { + orderID: 10621, + orderDate: 1564952400000, + orderTotal: 758.5, + customerCompanyName: 'Island Trading', + customerContactName: 'Helen Bennett', + requiredDateStart: 1567414800000, + requiredDateEnd: 1567418400000, + teamID: 2 + }, + { + orderID: 10622, + orderDate: 1565038800000, + orderTotal: 560, + customerCompanyName: 'Ricardo Adocicados', + customerContactName: 'Janete Limeira', + requiredDateStart: 1567499400000, + requiredDateEnd: 1567503000000, + teamID: 2 + }, + { + orderID: 10624, + orderDate: 1565125200000, + orderTotal: 1393.24, + customerCompanyName: 'The Cracker Box', + customerContactName: 'Liu Wong', + requiredDateStart: 1567594800000, + requiredDateEnd: 1567598400000, + teamID: 2 + }, + { + orderID: 10628, + orderDate: 1565557200000, + orderTotal: 450, + customerCompanyName: 'Blondesddsl père et fils', + customerContactName: 'Frédérique Citeaux', + requiredDateStart: 1568017800000, + requiredDateEnd: 1568021400000, + teamID: 2 + }, + { + orderID: 10629, + orderDate: 1565557200000, + orderTotal: 2775.05, + customerCompanyName: 'Godos Cocina Típica', + customerContactName: 'José Pedro Freyre', + requiredDateStart: 1568035800000, + requiredDateEnd: 1568039400000, + teamID: 2 + }, + { + orderID: 10634, + orderDate: 1565816400000, + orderTotal: 4985.5, + customerCompanyName: 'Folies gourmandes', + customerContactName: 'Martine Rancé', + requiredDateStart: 1568295000000, + requiredDateEnd: 1568298600000, + teamID: 2 + }, + { + orderID: 10636, + orderDate: 1566162000000, + orderTotal: 629.5, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1568629800000, + requiredDateEnd: 1568631600000, + teamID: 2 + }, + { + orderID: 10640, + orderDate: 1566334800000, + orderTotal: 708.75, + customerCompanyName: 'Die Wandernde Kuh', + customerContactName: 'Rita Müller', + requiredDateStart: 1568799000000, + requiredDateEnd: 1568802600000, + teamID: 2 + }, + { + orderID: 10641, + orderDate: 1566421200000, + orderTotal: 2054, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1568896200000, + requiredDateEnd: 1568899800000, + teamID: 2 + }, + { + orderID: 10645, + orderDate: 1566766800000, + orderTotal: 1535, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1569243600000, + requiredDateEnd: 1569247200000, + teamID: 2 + }, + { + orderID: 10647, + orderDate: 1566853200000, + orderTotal: 636, + customerCompanyName: 'Que Delícia', + customerContactName: 'Bernardo Batista', + requiredDateStart: 1568116800000, + requiredDateEnd: 1568120400000, + teamID: 2 + }, + { + orderID: 10652, + orderDate: 1567285200000, + orderTotal: 318.835, + customerCompanyName: 'Gourmet Lanchonetes', + customerContactName: 'André Fonseca', + requiredDateStart: 1569756600000, + requiredDateEnd: 1569758400000, + teamID: 2 + }, + { + orderID: 10658, + orderDate: 1567630800000, + orderTotal: 4464.6, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1570096800000, + requiredDateEnd: 1570100400000, + teamID: 2 + }, + { + orderID: 10670, + orderDate: 1568581200000, + orderTotal: 2301.75, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1571043600000, + requiredDateEnd: 1571045400000, + teamID: 2 + }, + { + orderID: 10674, + orderDate: 1568754000000, + orderTotal: 45, + customerCompanyName: 'Island Trading', + customerContactName: 'Helen Bennett', + requiredDateStart: 1571214600000, + requiredDateEnd: 1571220000000, + teamID: 2 + }, + { + orderID: 10685, + orderDate: 1569704400000, + orderTotal: 801.1, + customerCompanyName: 'Gourmet Lanchonetes', + customerContactName: 'André Fonseca', + requiredDateStart: 1570960800000, + requiredDateEnd: 1570962600000, + teamID: 2 + }, + { + orderID: 10688, + orderDate: 1569877200000, + orderTotal: 3160.6, + customerCompanyName: 'Vaffeljernet', + customerContactName: 'Palle Ibsen', + requiredDateStart: 1571137200000, + requiredDateEnd: 1571140800000, + teamID: 2 + }, + { + orderID: 10692, + orderDate: 1570050000000, + orderTotal: 878, + customerCompanyName: 'Alfreds Futterkiste', + customerContactName: 'Maria Anders', + requiredDateStart: 1572526800000, + requiredDateEnd: 1572528600000, + teamID: 2 + }, + { + orderID: 10698, + orderDate: 1570568400000, + orderTotal: 3436.4435, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1573050600000, + requiredDateEnd: 1573054200000, + teamID: 2 + }, + { + orderID: 10702, + orderDate: 1570914000000, + orderTotal: 330, + customerCompanyName: 'Alfreds Futterkiste', + customerContactName: 'Maria Anders', + requiredDateStart: 1574586000000, + requiredDateEnd: 1574587800000, + teamID: 2 + }, + { + orderID: 10707, + orderDate: 1571173200000, + orderTotal: 1641, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1572431400000, + requiredDateEnd: 1572435000000, + teamID: 2 + }, + { + orderID: 10716, + orderDate: 1571864400000, + orderTotal: 706, + customerCompanyName: 'Rancho grande', + customerContactName: 'Sergio Gutiérrez', + requiredDateStart: 1574343000000, + requiredDateEnd: 1574346600000, + teamID: 2 + }, + { + orderID: 10725, + orderDate: 1572472800000, + orderTotal: 287.8, + customerCompanyName: 'Familia Arquibaldo', + customerContactName: 'Aria Cruz', + requiredDateStart: 1574933400000, + requiredDateEnd: 1574938800000, + teamID: 2 + }, + { + orderID: 10726, + orderDate: 1572732000000, + orderTotal: 655, + customerCompanyName: 'Eastern Connection', + customerContactName: 'Ann Devon', + requiredDateStart: 1573986600000, + requiredDateEnd: 1573990200000, + teamID: 2 + }, + { + orderID: 10728, + orderDate: 1572818400000, + orderTotal: 1296.75, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1575288000000, + requiredDateEnd: 1575289800000, + teamID: 2 + }, + { + orderID: 10740, + orderDate: 1573596000000, + orderTotal: 1416, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1576065600000, + requiredDateEnd: 1576069200000, + teamID: 2 + }, + { + orderID: 10741, + orderDate: 1573682400000, + orderTotal: 228, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1574946000000, + requiredDateEnd: 1574949600000, + teamID: 2 + }, + { + orderID: 10749, + orderDate: 1574200800000, + orderTotal: 1080, + customerCompanyName: 'Island Trading', + customerContactName: 'Helen Bennett', + requiredDateStart: 1576677600000, + requiredDateEnd: 1576679400000, + teamID: 2 + }, + { + orderID: 10755, + orderDate: 1574719200000, + orderTotal: 1948.5, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1577178000000, + requiredDateEnd: 1577179800000, + teamID: 2 + }, + { + orderID: 10760, + orderDate: 1575151200000, + orderTotal: 2917, + customerCompanyName: 'Maison Dewey', + customerContactName: 'Catherine Dewey', + requiredDateStart: 1577629800000, + requiredDateEnd: 1577631600000, + teamID: 2 + }, + { + orderID: 10766, + orderDate: 1575496800000, + orderTotal: 2310, + customerCompanyName: 'Ottilies Käseladen', + customerContactName: 'Henriette Pfalzheim', + requiredDateStart: 1577964600000, + requiredDateEnd: 1577968200000, + teamID: 2 + }, + { + orderID: 10767, + orderDate: 1575496800000, + orderTotal: 28, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1577961000000, + requiredDateEnd: 1577966400000, + teamID: 2 + }, + { + orderID: 10774, + orderDate: 1576015200000, + orderTotal: 868.75, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1577278800000, + requiredDateEnd: 1577282400000, + teamID: 2 + }, + { + orderID: 10783, + orderDate: 1576620000000, + orderTotal: 1442.5, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1579082400000, + requiredDateEnd: 1579086000000, + teamID: 2 + }, + { + orderID: 10784, + orderDate: 1576620000000, + orderTotal: 1488, + customerCompanyName: 'Magazzini Alimentari Riuniti', + customerContactName: 'Giovanni Rovelli', + requiredDateStart: 1579082400000, + requiredDateEnd: 1579087800000, + teamID: 2 + }, + { + orderID: 10801, + orderDate: 1577570400000, + orderTotal: 3026.85, + customerCompanyName: 'Bólido Comidas preparadas', + customerContactName: 'Martín Sommer', + requiredDateStart: 1580038200000, + requiredDateEnd: 1580043600000, + teamID: 2 + }, + { + orderID: 10802, + orderDate: 1577570400000, + orderTotal: 2942.8125, + customerCompanyName: 'Simons bistro', + customerContactName: 'Jytte Petersen', + requiredDateStart: 1580034600000, + requiredDateEnd: 1580036400000, + teamID: 2 + }, + { + orderID: 10803, + orderDate: 1577656800000, + orderTotal: 1193.01, + customerCompanyName: 'Wellington Importadora', + customerContactName: 'Paula Parente', + requiredDateStart: 1580130000000, + requiredDateEnd: 1580135400000, + teamID: 2 + }, + { + orderID: 10807, + orderDate: 1577743200000, + orderTotal: 18.4, + customerCompanyName: 'Franchi S.p.A.', + customerContactName: 'Paolo Accorti', + requiredDateStart: 1580220000000, + requiredDateEnd: 1580225400000, + teamID: 2 + }, + { + orderID: 10816, + orderDate: 1578261600000, + orderTotal: 8446.45, + customerCompanyName: 'Great Lakes Food Market', + customerContactName: 'Howard Snyder', + requiredDateStart: 1580734800000, + requiredDateEnd: 1580736600000, + teamID: 2 + }, + { + orderID: 10830, + orderDate: 1578866400000, + orderTotal: 1974, + customerCompanyName: 'Tradição Hipermercados', + customerContactName: 'Anabela Domingues', + requiredDateStart: 1582551000000, + requiredDateEnd: 1582552800000, + teamID: 2 + }, + { + orderID: 10840, + orderDate: 1579384800000, + orderTotal: 211.2, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1583139600000, + requiredDateEnd: 1583145000000, + teamID: 2 + }, + { + orderID: 10843, + orderDate: 1579557600000, + orderTotal: 159, + customerCompanyName: 'Victuailles en stock', + customerContactName: 'Mary Saveley', + requiredDateStart: 1582032600000, + requiredDateEnd: 1582036200000, + teamID: 2 + }, + { + orderID: 10847, + orderDate: 1579644000000, + orderTotal: 4931.92, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1580896800000, + requiredDateEnd: 1580898600000, + teamID: 2 + }, + { + orderID: 10861, + orderDate: 1580335200000, + orderTotal: 3523.4, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1582799400000, + requiredDateEnd: 1582803000000, + teamID: 2 + }, + { + orderID: 10863, + orderDate: 1580594400000, + orderTotal: 441.15, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1583141400000, + requiredDateEnd: 1583143200000, + teamID: 2 + }, + { + orderID: 10864, + orderDate: 1580594400000, + orderTotal: 282, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1583159400000, + requiredDateEnd: 1583164800000, + teamID: 2 + }, + { + orderID: 10873, + orderDate: 1580940000000, + orderTotal: 336.8, + customerCompanyName: 'Wilman Kala', + customerContactName: 'Matti Karttunen', + requiredDateStart: 1583497800000, + requiredDateEnd: 1583501400000, + teamID: 2 + }, + { + orderID: 10875, + orderDate: 1580940000000, + orderTotal: 709.55, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1583505000000, + requiredDateEnd: 1583510400000, + teamID: 2 + }, + { + orderID: 10878, + orderDate: 1581285600000, + orderTotal: 1539, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1583839800000, + requiredDateEnd: 1583845200000, + teamID: 2 + }, + { + orderID: 10881, + orderDate: 1581372000000, + orderTotal: 150, + customerCompanyName: 'Cactus Comidas para llevar', + customerContactName: 'Patricio Simpson', + requiredDateStart: 1583931600000, + requiredDateEnd: 1583935200000, + teamID: 2 + }, + { + orderID: 10882, + orderDate: 1581372000000, + orderTotal: 892.64, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1583928000000, + requiredDateEnd: 1583929800000, + teamID: 2 + }, + { + orderID: 10884, + orderDate: 1581458400000, + orderTotal: 1378.07, + customerCompanyName: `Let's Stop N Shop`, + customerContactName: 'Jaime Yorres', + requiredDateStart: 1584007200000, + requiredDateEnd: 1584012600000, + teamID: 2 + }, + { + orderID: 10892, + orderDate: 1581890400000, + orderTotal: 2090, + customerCompanyName: 'Maison Dewey', + customerContactName: 'Catherine Dewey', + requiredDateStart: 1584435600000, + requiredDateEnd: 1584437400000, + teamID: 2 + }, + { + orderID: 10898, + orderDate: 1582149600000, + orderTotal: 30, + customerCompanyName: 'Océano Atlántico Ltda.', + customerContactName: 'Yvonne Moncada', + requiredDateStart: 1584696600000, + requiredDateEnd: 1584702000000, + teamID: 2 + }, + { + orderID: 10901, + orderDate: 1582408800000, + orderTotal: 934.5, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1584968400000, + requiredDateEnd: 1584972000000, + teamID: 2 + }, + { + orderID: 10906, + orderDate: 1582581600000, + orderTotal: 427.5, + customerCompanyName: 'Wolski Zajazd', + customerContactName: 'Zbyszek Piestrzeniewicz', + requiredDateStart: 1583928000000, + requiredDateEnd: 1583933400000, + teamID: 2 + }, + { + orderID: 10908, + orderDate: 1582668000000, + orderTotal: 663.1, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1585224000000, + requiredDateEnd: 1585229400000, + teamID: 2 + }, + { + orderID: 10913, + orderDate: 1582668000000, + orderTotal: 768.75, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1585220400000, + requiredDateEnd: 1585224000000, + teamID: 2 + }, + { + orderID: 10917, + orderDate: 1583100000000, + orderTotal: 365.89, + customerCompanyName: 'Romero y tomillo', + customerContactName: 'Alejandra Camino', + requiredDateStart: 1585566000000, + requiredDateEnd: 1585569600000, + teamID: 2 + }, + { + orderID: 10920, + orderDate: 1583186400000, + orderTotal: 390, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1585648800000, + requiredDateEnd: 1585652400000, + teamID: 2 + }, + { + orderID: 10926, + orderDate: 1583272800000, + orderTotal: 514.4, + customerCompanyName: 'Ana Trujillo Emparedados y helados', + customerContactName: 'Ana Trujillo', + requiredDateStart: 1585746000000, + requiredDateEnd: 1585749600000, + teamID: 2 + }, + { + orderID: 10927, + orderDate: 1583359200000, + orderTotal: 800, + customerCompanyName: `La corne d'abondance`, + customerContactName: 'Daniel Tonini', + requiredDateStart: 1585814400000, + requiredDateEnd: 1585816200000, + teamID: 2 + }, + { + orderID: 10930, + orderDate: 1583445600000, + orderTotal: 2255.5, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1587123000000, + requiredDateEnd: 1587124800000, + teamID: 2 + }, + { + orderID: 10931, + orderDate: 1583445600000, + orderTotal: 799.2, + customerCompanyName: 'Richter Supermarkt', + customerContactName: 'Michael Holz', + requiredDateStart: 1584702000000, + requiredDateEnd: 1584705600000, + teamID: 2 + }, + { + orderID: 10935, + orderDate: 1583704800000, + orderTotal: 619.5, + customerCompanyName: 'Wellington Importadora', + customerContactName: 'Paula Parente', + requiredDateStart: 1586160000000, + requiredDateEnd: 1586165400000, + teamID: 2 + }, + { + orderID: 10943, + orderDate: 1583877600000, + orderTotal: 711, + customerCompanyName: `B's Beverages`, + customerContactName: 'Victoria Ashworth', + requiredDateStart: 1586345400000, + requiredDateEnd: 1586349000000, + teamID: 2 + }, + { + orderID: 10945, + orderDate: 1583964000000, + orderTotal: 245, + customerCompanyName: 'Morgenstern Gesundkost', + customerContactName: 'Alexander Feuer', + requiredDateStart: 1586435400000, + requiredDateEnd: 1586440800000, + teamID: 2 + }, + { + orderID: 10966, + orderDate: 1584655200000, + orderTotal: 1098.46, + customerCompanyName: 'Chop-suey Chinese', + customerContactName: 'Yang Wang', + requiredDateStart: 1587115800000, + requiredDateEnd: 1587117600000, + teamID: 2 + }, + { + orderID: 10972, + orderDate: 1585000800000, + orderTotal: 251.5, + customerCompanyName: `La corne d'abondance`, + customerContactName: 'Daniel Tonini', + requiredDateStart: 1587461400000, + requiredDateEnd: 1587465000000, + teamID: 2 + }, + { + orderID: 10980, + orderDate: 1585260000000, + orderTotal: 248, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1588930200000, + requiredDateEnd: 1588935600000, + teamID: 2 + }, + { + orderID: 10996, + orderDate: 1585774800000, + orderTotal: 560, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1588233600000, + requiredDateEnd: 1588237200000, + teamID: 2 + }, + { + orderID: 11002, + orderDate: 1586120400000, + orderTotal: 1811.1, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1588579200000, + requiredDateEnd: 1588581000000, + teamID: 2 + }, + { + orderID: 11018, + orderDate: 1586725200000, + orderTotal: 1575, + customerCompanyName: 'Lonesome Pine Restaurant', + customerContactName: 'Fran Wilson', + requiredDateStart: 1589193000000, + requiredDateEnd: 1589194800000, + teamID: 2 + }, + { + orderID: 11024, + orderDate: 1586898000000, + orderTotal: 1966.81, + customerCompanyName: 'Eastern Connection', + customerContactName: 'Ann Devon', + requiredDateStart: 1589365800000, + requiredDateEnd: 1589371200000, + teamID: 2 + }, + { + orderID: 11026, + orderDate: 1586898000000, + orderTotal: 1030, + customerCompanyName: 'Franchi S.p.A.', + customerContactName: 'Paolo Accorti', + requiredDateStart: 1589369400000, + requiredDateEnd: 1589371200000, + teamID: 2 + }, + { + orderID: 11029, + orderDate: 1586984400000, + orderTotal: 1286.8, + customerCompanyName: 'Chop-suey Chinese', + customerContactName: 'Yang Wang', + requiredDateStart: 1589443200000, + requiredDateEnd: 1589445000000, + teamID: 2 + }, + { + orderID: 11040, + orderDate: 1587502800000, + orderTotal: 200, + customerCompanyName: 'Great Lakes Food Market', + customerContactName: 'Howard Snyder', + requiredDateStart: 1589981400000, + requiredDateEnd: 1589983200000, + teamID: 2 + }, + { + orderID: 11044, + orderDate: 1587589200000, + orderTotal: 591.6, + customerCompanyName: 'Wolski Zajazd', + customerContactName: 'Zbyszek Piestrzeniewicz', + requiredDateStart: 1590055200000, + requiredDateEnd: 1590058800000, + teamID: 2 + }, + { + orderID: 11061, + orderDate: 1588194000000, + orderTotal: 510, + customerCompanyName: 'Great Lakes Food Market', + customerContactName: 'Howard Snyder', + requiredDateStart: 1591862400000, + requiredDateEnd: 1591867800000, + teamID: 2 + }, + { + orderID: 11062, + orderDate: 1588194000000, + orderTotal: 406.4, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1590669000000, + requiredDateEnd: 1590674400000, + teamID: 2 + }, + { + orderID: 11072, + orderDate: 1588626000000, + orderTotal: 5218, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1591102800000, + requiredDateEnd: 1591104600000, + teamID: 2 + }, + { + orderID: 11076, + orderDate: 1588712400000, + orderTotal: 792.75, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1591183800000, + requiredDateEnd: 1591185600000, + teamID: 2 + }, + { + orderID: 10251, + orderDate: 1530997200000, + orderTotal: 654.06, + customerCompanyName: 'Victuailles en stock', + customerContactName: 'Mary Saveley', + requiredDateStart: 1533459600000, + requiredDateEnd: 1533463200000, + teamID: 2 + }, + { + orderID: 10253, + orderDate: 1531170000000, + orderTotal: 1444.8, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1532433600000, + requiredDateEnd: 1532437200000, + teamID: 2 + }, + { + orderID: 10256, + orderDate: 1531602000000, + orderTotal: 517.8, + customerCompanyName: 'Wellington Importadora', + customerContactName: 'Paula Parente', + requiredDateStart: 1534075200000, + requiredDateEnd: 1534080600000, + teamID: 2 + }, + { + orderID: 10266, + orderDate: 1532552400000, + orderTotal: 346.56, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1536222600000, + requiredDateEnd: 1536228000000, + teamID: 2 + }, + { + orderID: 10273, + orderDate: 1533416400000, + orderTotal: 2037.28, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1535880600000, + requiredDateEnd: 1535884200000, + teamID: 2 + }, + { + orderID: 10283, + orderDate: 1534366800000, + orderTotal: 1414.8, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1536841800000, + requiredDateEnd: 1536845400000, + teamID: 2 + }, + { + orderID: 10309, + orderDate: 1537304400000, + orderTotal: 1762, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1539770400000, + requiredDateEnd: 1539775800000, + teamID: 2 + }, + { + orderID: 10321, + orderDate: 1538514000000, + orderTotal: 144, + customerCompanyName: 'Island Trading', + customerContactName: 'Helen Bennett', + requiredDateStart: 1540987200000, + requiredDateEnd: 1540989000000, + teamID: 2 + }, + { + orderID: 10330, + orderDate: 1539637200000, + orderTotal: 1649, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1542117600000, + requiredDateEnd: 1542121200000, + teamID: 2 + }, + { + orderID: 10332, + orderDate: 1539723600000, + orderTotal: 1786.88, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1543395600000, + requiredDateEnd: 1543397400000, + teamID: 2 + }, + { + orderID: 10346, + orderDate: 1541368800000, + orderTotal: 1618.88, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1545051600000, + requiredDateEnd: 1545055200000, + teamID: 2 + }, + { + orderID: 10352, + orderDate: 1541973600000, + orderTotal: 136.3, + customerCompanyName: 'Furia Bacalhau e Frutos do Mar', + customerContactName: 'Lino Rodriguez', + requiredDateStart: 1543224600000, + requiredDateEnd: 1543228200000, + teamID: 2 + }, + { + orderID: 10362, + orderDate: 1543096800000, + orderTotal: 1549.6, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1545570000000, + requiredDateEnd: 1545573600000, + teamID: 2 + }, + { + orderID: 10365, + orderDate: 1543269600000, + orderTotal: 403.2, + customerCompanyName: 'Antonio Moreno Taquería', + customerContactName: 'Antonio Moreno', + requiredDateStart: 1545739200000, + requiredDateEnd: 1545741000000, + teamID: 2 + }, + { + orderID: 10375, + orderDate: 1544047200000, + orderTotal: 338, + customerCompanyName: 'Hungry Coyote Import Store', + customerContactName: 'Yoshi Latimer', + requiredDateStart: 1546506000000, + requiredDateEnd: 1546507800000, + teamID: 2 + }, + { + orderID: 10381, + orderDate: 1544565600000, + orderTotal: 112, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1547035200000, + requiredDateEnd: 1547037000000, + teamID: 2 + }, + { + orderID: 10384, + orderDate: 1544911200000, + orderTotal: 2222.4, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1547375400000, + requiredDateEnd: 1547380800000, + teamID: 2 + }, + { + orderID: 10391, + orderDate: 1545516000000, + orderTotal: 86.4, + customerCompanyName: 'Drachenblut Delikatessen', + customerContactName: 'Sven Ottlieb', + requiredDateStart: 1547974800000, + requiredDateEnd: 1547980200000, + teamID: 2 + }, + { + orderID: 10409, + orderDate: 1546984800000, + orderTotal: 319.2, + customerCompanyName: 'Océano Atlántico Ltda.', + customerContactName: 'Yvonne Moncada', + requiredDateStart: 1549461600000, + requiredDateEnd: 1549465200000, + teamID: 2 + }, + { + orderID: 10410, + orderDate: 1547071200000, + orderTotal: 802, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1549540800000, + requiredDateEnd: 1549544400000, + teamID: 2 + }, + { + orderID: 10413, + orderDate: 1547416800000, + orderTotal: 2123.2, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1549890000000, + requiredDateEnd: 1549895400000, + teamID: 2 + }, + { + orderID: 10415, + orderDate: 1547503200000, + orderTotal: 102.4, + customerCompanyName: 'Hungry Coyote Import Store', + customerContactName: 'Yoshi Latimer', + requiredDateStart: 1549967400000, + requiredDateEnd: 1549969200000, + teamID: 2 + }, + { + orderID: 10420, + orderDate: 1548021600000, + orderTotal: 1707.84, + customerCompanyName: 'Wellington Importadora', + customerContactName: 'Paula Parente', + requiredDateStart: 1550482200000, + requiredDateEnd: 1550487600000, + teamID: 2 + }, + { + orderID: 10429, + orderDate: 1548712800000, + orderTotal: 1441.375, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1552383000000, + requiredDateEnd: 1552384800000, + teamID: 2 + }, + { + orderID: 10432, + orderDate: 1548885600000, + orderTotal: 485, + customerCompanyName: 'Split Rail Beer & Ale', + customerContactName: 'Art Braunschweiger', + requiredDateStart: 1550152800000, + requiredDateEnd: 1550158200000, + teamID: 2 + }, + { + orderID: 10433, + orderDate: 1549144800000, + orderTotal: 851.2, + customerCompanyName: 'Princesa Isabel Vinhos', + customerContactName: 'Isabel de Castro', + requiredDateStart: 1551618000000, + requiredDateEnd: 1551619800000, + teamID: 2 + }, + { + orderID: 10434, + orderDate: 1549144800000, + orderTotal: 321.12, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1551609000000, + requiredDateEnd: 1551612600000, + teamID: 2 + }, + { + orderID: 10436, + orderDate: 1549317600000, + orderTotal: 1994.52, + customerCompanyName: 'Blondesddsl père et fils', + customerContactName: 'Frédérique Citeaux', + requiredDateStart: 1551787200000, + requiredDateEnd: 1551789000000, + teamID: 2 + }, + { + orderID: 10438, + orderDate: 1549404000000, + orderTotal: 454, + customerCompanyName: 'Toms Spezialitäten', + customerContactName: 'Karin Josephs', + requiredDateStart: 1551868200000, + requiredDateEnd: 1551870000000, + teamID: 2 + }, + { + orderID: 10441, + orderDate: 1549749600000, + orderTotal: 1755, + customerCompanyName: 'Old World Delicatessen', + customerContactName: 'Rene Phillips', + requiredDateStart: 1553434200000, + requiredDateEnd: 1553437800000, + teamID: 2 + }, + { + orderID: 10442, + orderDate: 1549836000000, + orderTotal: 1792, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1552302000000, + requiredDateEnd: 1552303800000, + teamID: 2 + }, + { + orderID: 10444, + orderDate: 1549922400000, + orderTotal: 1031.7, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1552388400000, + requiredDateEnd: 1552390200000, + teamID: 2 + }, + { + orderID: 10445, + orderDate: 1550008800000, + orderTotal: 174.9, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1552471200000, + requiredDateEnd: 1552476600000, + teamID: 2 + }, + { + orderID: 10449, + orderDate: 1550440800000, + orderTotal: 1838.2, + customerCompanyName: 'Blondesddsl père et fils', + customerContactName: 'Frédérique Citeaux', + requiredDateStart: 1552917600000, + requiredDateEnd: 1552923000000, + teamID: 2 + }, + { + orderID: 10468, + orderDate: 1551909600000, + orderTotal: 717.6, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1554364800000, + requiredDateEnd: 1554370200000, + teamID: 2 + }, + { + orderID: 10479, + orderDate: 1552946400000, + orderTotal: 10495.6, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1555412400000, + requiredDateEnd: 1555414200000, + teamID: 2 + }, + { + orderID: 10484, + orderDate: 1553378400000, + orderTotal: 386.2, + customerCompanyName: `B's Beverages`, + customerContactName: 'Victoria Ashworth', + requiredDateStart: 1555846200000, + requiredDateEnd: 1555848000000, + teamID: 2 + }, + { + orderID: 10492, + orderDate: 1554066000000, + orderTotal: 851.2, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1556533800000, + requiredDateEnd: 1556535600000, + teamID: 2 + }, + { + orderID: 10495, + orderDate: 1554238800000, + orderTotal: 278, + customerCompanyName: 'Laughing Bacchus Wine Cellars', + customerContactName: 'Yoshi Tannamuri', + requiredDateStart: 1556703000000, + requiredDateEnd: 1556708400000, + teamID: 2 + }, + { + orderID: 10505, + orderDate: 1555189200000, + orderTotal: 147.9, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1557649800000, + requiredDateEnd: 1557655200000, + teamID: 2 + }, + { + orderID: 10514, + orderDate: 1555880400000, + orderTotal: 8623.45, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1558359000000, + requiredDateEnd: 1558364400000, + teamID: 2 + }, + { + orderID: 10517, + orderDate: 1556053200000, + orderTotal: 352, + customerCompanyName: 'North/South', + customerContactName: 'Simon Crowther', + requiredDateStart: 1558530000000, + requiredDateEnd: 1558533600000, + teamID: 2 + }, + { + orderID: 10530, + orderDate: 1557262800000, + orderTotal: 4180, + customerCompanyName: 'Piccolo und mehr', + customerContactName: 'Georg Pipps', + requiredDateStart: 1559730600000, + requiredDateEnd: 1559736000000, + teamID: 2 + }, + { + orderID: 10536, + orderDate: 1557781200000, + orderTotal: 1645, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1560247200000, + requiredDateEnd: 1560252600000, + teamID: 2 + }, + { + orderID: 10540, + orderDate: 1558213200000, + orderTotal: 10191.7, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1560684600000, + requiredDateEnd: 1560690000000, + teamID: 2 + }, + { + orderID: 10547, + orderDate: 1558558800000, + orderTotal: 1792.8, + customerCompanyName: 'Seven Seas Imports', + customerContactName: 'Hari Kumar', + requiredDateStart: 1561017600000, + requiredDateEnd: 1561021200000, + teamID: 2 + }, + { + orderID: 10548, + orderDate: 1558818000000, + orderTotal: 240.1, + customerCompanyName: 'Toms Spezialitäten', + customerContactName: 'Karin Josephs', + requiredDateStart: 1561285800000, + requiredDateEnd: 1561287600000, + teamID: 2 + }, + { + orderID: 10568, + orderDate: 1560373200000, + orderTotal: 155, + customerCompanyName: 'Galería del gastrónomo', + customerContactName: 'Eduardo Saavedra', + requiredDateStart: 1562846400000, + requiredDateEnd: 1562848200000, + teamID: 2 + }, + { + orderID: 10570, + orderDate: 1560718800000, + orderTotal: 2465.25, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1563192000000, + requiredDateEnd: 1563195600000, + teamID: 2 + }, + { + orderID: 10572, + orderDate: 1560805200000, + orderTotal: 1501.085, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1563280200000, + requiredDateEnd: 1563285600000, + teamID: 2 + }, + { + orderID: 10576, + orderDate: 1561237200000, + orderTotal: 838.45, + customerCompanyName: 'Tortuga Restaurante', + customerContactName: 'Miguel Angel Paolino', + requiredDateStart: 1562502600000, + requiredDateEnd: 1562504400000, + teamID: 2 + }, + { + orderID: 10581, + orderDate: 1561496400000, + orderTotal: 310, + customerCompanyName: 'Familia Arquibaldo', + customerContactName: 'Aria Cruz', + requiredDateStart: 1563971400000, + requiredDateEnd: 1563975000000, + teamID: 2 + }, + { + orderID: 10582, + orderDate: 1561582800000, + orderTotal: 330, + customerCompanyName: 'Blauer See Delikatessen', + customerContactName: 'Hanna Moos', + requiredDateStart: 1564048800000, + requiredDateEnd: 1564054200000, + teamID: 2 + }, + { + orderID: 10592, + orderDate: 1562533200000, + orderTotal: 516.4675, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1565002800000, + requiredDateEnd: 1565004600000, + teamID: 2 + }, + { + orderID: 10594, + orderDate: 1562619600000, + orderTotal: 565.5, + customerCompanyName: 'Old World Delicatessen', + customerContactName: 'Rene Phillips', + requiredDateStart: 1565096400000, + requiredDateEnd: 1565100000000, + teamID: 2 + }, + { + orderID: 10619, + orderDate: 1564866000000, + orderTotal: 1260, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1567341000000, + requiredDateEnd: 1567342800000, + teamID: 2 + }, + { + orderID: 10625, + orderDate: 1565211600000, + orderTotal: 479.75, + customerCompanyName: 'Ana Trujillo Emparedados y helados', + customerContactName: 'Ana Trujillo', + requiredDateStart: 1567677600000, + requiredDateEnd: 1567679400000, + teamID: 2 + }, + { + orderID: 10638, + orderDate: 1566248400000, + orderTotal: 2720.05, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1568709000000, + requiredDateEnd: 1568714400000, + teamID: 2 + }, + { + orderID: 10644, + orderDate: 1566680400000, + orderTotal: 1371.8, + customerCompanyName: 'Wellington Importadora', + customerContactName: 'Paula Parente', + requiredDateStart: 1569146400000, + requiredDateEnd: 1569148200000, + teamID: 2 + }, + { + orderID: 10662, + orderDate: 1567976400000, + orderTotal: 125, + customerCompanyName: 'Lonesome Pine Restaurant', + customerContactName: 'Fran Wilson', + requiredDateStart: 1570451400000, + requiredDateEnd: 1570456800000, + teamID: 2 + }, + { + orderID: 10681, + orderDate: 1569358800000, + orderTotal: 1287.4, + customerCompanyName: 'Great Lakes Food Market', + customerContactName: 'Howard Snyder', + requiredDateStart: 1571824800000, + requiredDateEnd: 1571830200000, + teamID: 2 + }, + { + orderID: 10682, + orderDate: 1569358800000, + orderTotal: 375.5, + customerCompanyName: 'Antonio Moreno Taquería', + customerContactName: 'Antonio Moreno', + requiredDateStart: 1571830200000, + requiredDateEnd: 1571833800000, + teamID: 2 + }, + { + orderID: 10684, + orderDate: 1569445200000, + orderTotal: 1768, + customerCompanyName: 'Ottilies Käseladen', + customerContactName: 'Henriette Pfalzheim', + requiredDateStart: 1571909400000, + requiredDateEnd: 1571914800000, + teamID: 2 + }, + { + orderID: 10693, + orderDate: 1570309200000, + orderTotal: 2071.2, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1571567400000, + requiredDateEnd: 1571572800000, + teamID: 2 + }, + { + orderID: 10697, + orderDate: 1570482000000, + orderTotal: 805.425, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1572944400000, + requiredDateEnd: 1572948000000, + teamID: 2 + }, + { + orderID: 10699, + orderDate: 1570568400000, + orderTotal: 114, + customerCompanyName: 'Morgenstern Gesundkost', + customerContactName: 'Alexander Feuer', + requiredDateStart: 1573036200000, + requiredDateEnd: 1573039800000, + teamID: 2 + }, + { + orderID: 10700, + orderDate: 1570654800000, + orderTotal: 1638.4, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1573128000000, + requiredDateEnd: 1573131600000, + teamID: 2 + }, + { + orderID: 10712, + orderDate: 1571605200000, + orderTotal: 1233.48, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1574067600000, + requiredDateEnd: 1574073000000, + teamID: 2 + }, + { + orderID: 10715, + orderDate: 1571778000000, + orderTotal: 1296, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1573030800000, + requiredDateEnd: 1573032600000, + teamID: 2 + }, + { + orderID: 10723, + orderDate: 1572386400000, + orderTotal: 468.45, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1574856000000, + requiredDateEnd: 1574859600000, + teamID: 2 + }, + { + orderID: 10732, + orderDate: 1572991200000, + orderTotal: 360, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1575469800000, + requiredDateEnd: 1575471600000, + teamID: 2 + }, + { + orderID: 10739, + orderDate: 1573509600000, + orderTotal: 240, + customerCompanyName: 'Vins et alcools Chevalier', + customerContactName: 'Paul Henriot', + requiredDateStart: 1575973800000, + requiredDateEnd: 1575979200000, + teamID: 2 + }, + { + orderID: 10742, + orderDate: 1573682400000, + orderTotal: 3118, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1576150200000, + requiredDateEnd: 1576153800000, + teamID: 2 + }, + { + orderID: 10748, + orderDate: 1574200800000, + orderTotal: 2196, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1576670400000, + requiredDateEnd: 1576675800000, + teamID: 2 + }, + { + orderID: 10751, + orderDate: 1574546400000, + orderTotal: 1631.484, + customerCompanyName: 'Richter Supermarkt', + customerContactName: 'Michael Holz', + requiredDateStart: 1577007000000, + requiredDateEnd: 1577010600000, + teamID: 2 + }, + { + orderID: 10753, + orderDate: 1574632800000, + orderTotal: 88, + customerCompanyName: 'Franchi S.p.A.', + customerContactName: 'Paolo Accorti', + requiredDateStart: 1577093400000, + requiredDateEnd: 1577095200000, + teamID: 2 + }, + { + orderID: 10758, + orderDate: 1574892000000, + orderTotal: 1644.6, + customerCompanyName: 'Richter Supermarkt', + customerContactName: 'Michael Holz', + requiredDateStart: 1577352600000, + requiredDateEnd: 1577354400000, + teamID: 2 + }, + { + orderID: 10759, + orderDate: 1574892000000, + orderTotal: 320, + customerCompanyName: 'Ana Trujillo Emparedados y helados', + customerContactName: 'Ana Trujillo', + requiredDateStart: 1577368800000, + requiredDateEnd: 1577374200000, + teamID: 2 + }, + { + orderID: 10762, + orderDate: 1575237600000, + orderTotal: 4337, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1577710800000, + requiredDateEnd: 1577712600000, + teamID: 2 + }, + { + orderID: 10763, + orderDate: 1575324000000, + orderTotal: 616, + customerCompanyName: 'Folies gourmandes', + customerContactName: 'Martine Rancé', + requiredDateStart: 1577799000000, + requiredDateEnd: 1577800800000, + teamID: 2 + }, + { + orderID: 10765, + orderDate: 1575410400000, + orderTotal: 1515.6, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1577869200000, + requiredDateEnd: 1577872800000, + teamID: 2 + }, + { + orderID: 10768, + orderDate: 1575756000000, + orderTotal: 1477, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1578231000000, + requiredDateEnd: 1578232800000, + teamID: 2 + }, + { + orderID: 10769, + orderDate: 1575756000000, + orderTotal: 1684.275, + customerCompanyName: 'Vaffeljernet', + customerContactName: 'Palle Ibsen', + requiredDateStart: 1578223800000, + requiredDateEnd: 1578225600000, + teamID: 2 + }, + { + orderID: 10772, + orderDate: 1575928800000, + orderTotal: 3603.22, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1578387600000, + requiredDateEnd: 1578393000000, + teamID: 2 + }, + { + orderID: 10778, + orderDate: 1576447200000, + orderTotal: 96.5, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1578913200000, + requiredDateEnd: 1578915000000, + teamID: 2 + }, + { + orderID: 10779, + orderDate: 1576447200000, + orderTotal: 1335, + customerCompanyName: 'Morgenstern Gesundkost', + customerContactName: 'Alexander Feuer', + requiredDateStart: 1578913200000, + requiredDateEnd: 1578918600000, + teamID: 2 + }, + { + orderID: 10793, + orderDate: 1577138400000, + orderTotal: 191.1, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1579613400000, + requiredDateEnd: 1579617000000, + teamID: 2 + }, + { + orderID: 10796, + orderDate: 1577224800000, + orderTotal: 2341.364, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1579689000000, + requiredDateEnd: 1579692600000, + teamID: 2 + }, + { + orderID: 10806, + orderDate: 1577743200000, + orderTotal: 439.6, + customerCompanyName: 'Victuailles en stock', + customerContactName: 'Mary Saveley', + requiredDateStart: 1580209200000, + requiredDateEnd: 1580212800000, + teamID: 2 + }, + { + orderID: 10814, + orderDate: 1578175200000, + orderTotal: 1788.45, + customerCompanyName: 'Victuailles en stock', + customerContactName: 'Mary Saveley', + requiredDateStart: 1580639400000, + requiredDateEnd: 1580644800000, + teamID: 2 + }, + { + orderID: 10817, + orderDate: 1578261600000, + orderTotal: 10952.845, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1579516200000, + requiredDateEnd: 1579521600000, + teamID: 2 + }, + { + orderID: 10820, + orderDate: 1578348000000, + orderTotal: 1140, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1580810400000, + requiredDateEnd: 1580812200000, + teamID: 2 + }, + { + orderID: 10831, + orderDate: 1578952800000, + orderTotal: 2684.4, + customerCompanyName: 'Santé Gourmet', + customerContactName: 'Jonas Bergulfsen', + requiredDateStart: 1581426000000, + requiredDateEnd: 1581427800000, + teamID: 2 + }, + { + orderID: 10838, + orderDate: 1579384800000, + orderTotal: 1938.375, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1581852600000, + requiredDateEnd: 1581854400000, + teamID: 2 + }, + { + orderID: 10839, + orderDate: 1579384800000, + orderTotal: 827.55, + customerCompanyName: 'Tradição Hipermercados', + customerContactName: 'Anabela Domingues', + requiredDateStart: 1581861600000, + requiredDateEnd: 1581865200000, + teamID: 2 + }, + { + orderID: 10854, + orderDate: 1580076000000, + orderTotal: 2966.5, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1582536600000, + requiredDateEnd: 1582542000000, + teamID: 2 + }, + { + orderID: 10855, + orderDate: 1580076000000, + orderTotal: 2227.8875, + customerCompanyName: 'Old World Delicatessen', + customerContactName: 'Rene Phillips', + requiredDateStart: 1582551000000, + requiredDateEnd: 1582556400000, + teamID: 2 + }, + { + orderID: 10856, + orderDate: 1580162400000, + orderTotal: 660, + customerCompanyName: 'Antonio Moreno Taquería', + customerContactName: 'Antonio Moreno', + requiredDateStart: 1582626600000, + requiredDateEnd: 1582628400000, + teamID: 2 + }, + { + orderID: 10860, + orderDate: 1580248800000, + orderTotal: 519, + customerCompanyName: 'France restauration', + customerContactName: 'Carine Schmitt', + requiredDateStart: 1582727400000, + requiredDateEnd: 1582731000000, + teamID: 2 + }, + { + orderID: 10879, + orderDate: 1581285600000, + orderTotal: 611.3, + customerCompanyName: 'Wilman Kala', + customerContactName: 'Matti Karttunen', + requiredDateStart: 1583838000000, + requiredDateEnd: 1583839800000, + teamID: 2 + }, + { + orderID: 10895, + orderDate: 1581976800000, + orderTotal: 6379.4, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1584540000000, + requiredDateEnd: 1584543600000, + teamID: 2 + }, + { + orderID: 10897, + orderDate: 1582063200000, + orderTotal: 10835.24, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1584628200000, + requiredDateEnd: 1584631800000, + teamID: 2 + }, + { + orderID: 10903, + orderDate: 1582495200000, + orderTotal: 932.05, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1585047600000, + requiredDateEnd: 1585049400000, + teamID: 2 + }, + { + orderID: 10904, + orderDate: 1582495200000, + orderTotal: 1924.25, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1585056600000, + requiredDateEnd: 1585060200000, + teamID: 2 + }, + { + orderID: 10911, + orderDate: 1582668000000, + orderTotal: 858, + customerCompanyName: 'Godos Cocina Típica', + customerContactName: 'José Pedro Freyre', + requiredDateStart: 1585218600000, + requiredDateEnd: 1585222200000, + teamID: 2 + }, + { + orderID: 10918, + orderDate: 1583100000000, + orderTotal: 1447.5, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1585555200000, + requiredDateEnd: 1585560600000, + teamID: 2 + }, + { + orderID: 10924, + orderDate: 1583272800000, + orderTotal: 1835.7, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1585738800000, + requiredDateEnd: 1585744200000, + teamID: 2 + }, + { + orderID: 10925, + orderDate: 1583272800000, + orderTotal: 475.15, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1585735200000, + requiredDateEnd: 1585740600000, + teamID: 2 + }, + { + orderID: 10934, + orderDate: 1583704800000, + orderTotal: 500, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1586161800000, + requiredDateEnd: 1586163600000, + teamID: 2 + }, + { + orderID: 10936, + orderDate: 1583704800000, + orderTotal: 456, + customerCompanyName: 'Great Lakes Food Market', + customerContactName: 'Howard Snyder', + requiredDateStart: 1586176200000, + requiredDateEnd: 1586181600000, + teamID: 2 + }, + { + orderID: 10938, + orderDate: 1583791200000, + orderTotal: 2731.875, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1586253600000, + requiredDateEnd: 1586259000000, + teamID: 2 + }, + { + orderID: 10947, + orderDate: 1584050400000, + orderTotal: 220, + customerCompanyName: `B's Beverages`, + customerContactName: 'Victoria Ashworth', + requiredDateStart: 1586525400000, + requiredDateEnd: 1586527200000, + teamID: 2 + }, + { + orderID: 10948, + orderDate: 1584050400000, + orderTotal: 2362.25, + customerCompanyName: 'Godos Cocina Típica', + customerContactName: 'José Pedro Freyre', + requiredDateStart: 1586505600000, + requiredDateEnd: 1586509200000, + teamID: 2 + }, + { + orderID: 10960, + orderDate: 1584568800000, + orderTotal: 265.35, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1585830600000, + requiredDateEnd: 1585834200000, + teamID: 2 + }, + { + orderID: 10964, + orderDate: 1584655200000, + orderTotal: 2052.5, + customerCompanyName: 'Spécialités du monde', + customerContactName: 'Dominique Perrier', + requiredDateStart: 1587114000000, + requiredDateEnd: 1587117600000, + teamID: 2 + }, + { + orderID: 10974, + orderDate: 1585087200000, + orderTotal: 439, + customerCompanyName: 'Split Rail Beer & Ale', + customerContactName: 'Art Braunschweiger', + requiredDateStart: 1586349000000, + requiredDateEnd: 1586354400000, + teamID: 2 + }, + { + orderID: 10988, + orderDate: 1585602000000, + orderTotal: 3574.8, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1588075200000, + requiredDateEnd: 1588080600000, + teamID: 2 + }, + { + orderID: 11003, + orderDate: 1586120400000, + orderTotal: 326, + customerCompanyName: 'The Cracker Box', + customerContactName: 'Liu Wong', + requiredDateStart: 1588591800000, + requiredDateEnd: 1588593600000, + teamID: 2 + }, + { + orderID: 11004, + orderDate: 1586206800000, + orderTotal: 295.38, + customerCompanyName: 'Maison Dewey', + customerContactName: 'Catherine Dewey', + requiredDateStart: 1588671000000, + requiredDateEnd: 1588674600000, + teamID: 2 + }, + { + orderID: 11006, + orderDate: 1586206800000, + orderTotal: 329.685, + customerCompanyName: 'Great Lakes Food Market', + customerContactName: 'Howard Snyder', + requiredDateStart: 1588680000000, + requiredDateEnd: 1588681800000, + teamID: 2 + }, + { + orderID: 11011, + orderDate: 1586379600000, + orderTotal: 933.5, + customerCompanyName: 'Alfreds Futterkiste', + customerContactName: 'Maria Anders', + requiredDateStart: 1588847400000, + requiredDateEnd: 1588849200000, + teamID: 2 + }, + { + orderID: 11021, + orderDate: 1586811600000, + orderTotal: 6306.24, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1589284800000, + requiredDateEnd: 1589288400000, + teamID: 2 + }, + { + orderID: 11041, + orderDate: 1587502800000, + orderTotal: 1773, + customerCompanyName: 'Chop-suey Chinese', + customerContactName: 'Yang Wang', + requiredDateStart: 1589968800000, + requiredDateEnd: 1589970600000, + teamID: 2 + }, + { + orderID: 11049, + orderDate: 1587675600000, + orderTotal: 273.6, + customerCompanyName: 'Gourmet Lanchonetes', + customerContactName: 'André Fonseca', + requiredDateStart: 1590141600000, + requiredDateEnd: 1590145200000, + teamID: 2 + }, + { + orderID: 11052, + orderDate: 1587934800000, + orderTotal: 1332, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1590395400000, + requiredDateEnd: 1590399000000, + teamID: 2 + }, + { + orderID: 11057, + orderDate: 1588107600000, + orderTotal: 45, + customerCompanyName: 'North/South', + customerContactName: 'Simon Crowther', + requiredDateStart: 1590577200000, + requiredDateEnd: 1590582600000, + teamID: 2 + }, + { + orderID: 11063, + orderDate: 1588194000000, + orderTotal: 1342.95, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1590654600000, + requiredDateEnd: 1590656400000, + teamID: 2 + }, + { + orderID: 10265, + orderDate: 1532466000000, + orderTotal: 1176, + customerCompanyName: 'Blondesddsl père et fils', + customerContactName: 'Frédérique Citeaux', + requiredDateStart: 1534933800000, + requiredDateEnd: 1534937400000, + teamID: 1 + }, + { + orderID: 10277, + orderDate: 1533762000000, + orderTotal: 1200.8, + customerCompanyName: 'Morgenstern Gesundkost', + customerContactName: 'Alexander Feuer', + requiredDateStart: 1536231600000, + requiredDateEnd: 1536233400000, + teamID: 1 + }, + { + orderID: 10280, + orderDate: 1534194000000, + orderTotal: 613.2, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1536652800000, + requiredDateEnd: 1536656400000, + teamID: 1 + }, + { + orderID: 10295, + orderDate: 1535835600000, + orderTotal: 121.6, + customerCompanyName: 'Vins et alcools Chevalier', + customerContactName: 'Paul Henriot', + requiredDateStart: 1538296200000, + requiredDateEnd: 1538299800000, + teamID: 1 + }, + { + orderID: 10300, + orderDate: 1536440400000, + orderTotal: 608, + customerCompanyName: 'Magazzini Alimentari Riuniti', + customerContactName: 'Giovanni Rovelli', + requiredDateStart: 1538908200000, + requiredDateEnd: 1538913600000, + teamID: 1 + }, + { + orderID: 10307, + orderDate: 1537131600000, + orderTotal: 424, + customerCompanyName: 'Lonesome Pine Restaurant', + customerContactName: 'Fran Wilson', + requiredDateStart: 1539604800000, + requiredDateEnd: 1539606600000, + teamID: 1 + }, + { + orderID: 10312, + orderDate: 1537650000000, + orderTotal: 1614.8, + customerCompanyName: 'Die Wandernde Kuh', + customerContactName: 'Rita Müller', + requiredDateStart: 1540116000000, + requiredDateEnd: 1540119600000, + teamID: 1 + }, + { + orderID: 10313, + orderDate: 1537736400000, + orderTotal: 182.4, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1540195200000, + requiredDateEnd: 1540200600000, + teamID: 1 + }, + { + orderID: 10327, + orderDate: 1539205200000, + orderTotal: 1810, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1541673000000, + requiredDateEnd: 1541674800000, + teamID: 1 + }, + { + orderID: 10339, + orderDate: 1540674000000, + orderTotal: 3354, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1543140000000, + requiredDateEnd: 1543141800000, + teamID: 1 + }, + { + orderID: 10345, + orderDate: 1541282400000, + orderTotal: 2924.8, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1543761000000, + requiredDateEnd: 1543766400000, + teamID: 1 + }, + { + orderID: 10368, + orderDate: 1543442400000, + orderTotal: 1689.78, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1545906600000, + requiredDateEnd: 1545912000000, + teamID: 1 + }, + { + orderID: 10379, + orderDate: 1544479200000, + orderTotal: 863.28, + customerCompanyName: 'Que Delícia', + customerContactName: 'Bernardo Batista', + requiredDateStart: 1546956000000, + requiredDateEnd: 1546961400000, + teamID: 1 + }, + { + orderID: 10388, + orderDate: 1545170400000, + orderTotal: 1228.8, + customerCompanyName: 'Seven Seas Imports', + customerContactName: 'Hari Kumar', + requiredDateStart: 1547641800000, + requiredDateEnd: 1547647200000, + teamID: 1 + }, + { + orderID: 10392, + orderDate: 1545602400000, + orderTotal: 1440, + customerCompanyName: 'Piccolo und mehr', + customerContactName: 'Georg Pipps', + requiredDateStart: 1548063000000, + requiredDateEnd: 1548066600000, + teamID: 1 + }, + { + orderID: 10398, + orderDate: 1546120800000, + orderTotal: 2505.6, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1548579600000, + requiredDateEnd: 1548585000000, + teamID: 1 + }, + { + orderID: 10404, + orderDate: 1546466400000, + orderTotal: 1591.25, + customerCompanyName: 'Magazzini Alimentari Riuniti', + customerContactName: 'Giovanni Rovelli', + requiredDateStart: 1548928800000, + requiredDateEnd: 1548932400000, + teamID: 1 + }, + { + orderID: 10407, + orderDate: 1546812000000, + orderTotal: 1194, + customerCompanyName: 'Ottilies Käseladen', + customerContactName: 'Henriette Pfalzheim', + requiredDateStart: 1549285200000, + requiredDateEnd: 1549288800000, + teamID: 1 + }, + { + orderID: 10414, + orderDate: 1547416800000, + orderTotal: 224.83, + customerCompanyName: 'Familia Arquibaldo', + customerContactName: 'Aria Cruz', + requiredDateStart: 1549879200000, + requiredDateEnd: 1549881000000, + teamID: 1 + }, + { + orderID: 10422, + orderDate: 1548108000000, + orderTotal: 49.8, + customerCompanyName: 'Franchi S.p.A.', + customerContactName: 'Paolo Accorti', + requiredDateStart: 1550583000000, + requiredDateEnd: 1550586600000, + teamID: 1 + }, + { + orderID: 10457, + orderDate: 1551045600000, + orderTotal: 1584, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1553513400000, + requiredDateEnd: 1553517000000, + teamID: 1 + }, + { + orderID: 10462, + orderDate: 1551564000000, + orderTotal: 156, + customerCompanyName: 'Consolidated Holdings', + customerContactName: 'Elizabeth Brown', + requiredDateStart: 1554042600000, + requiredDateEnd: 1554046200000, + teamID: 1 + }, + { + orderID: 10471, + orderDate: 1552255200000, + orderTotal: 1328, + customerCompanyName: `B's Beverages`, + customerContactName: 'Victoria Ashworth', + requiredDateStart: 1554715800000, + requiredDateEnd: 1554721200000, + teamID: 1 + }, + { + orderID: 10478, + orderDate: 1552860000000, + orderTotal: 471.2, + customerCompanyName: 'Victuailles en stock', + customerContactName: 'Mary Saveley', + requiredDateStart: 1554116400000, + requiredDateEnd: 1554120000000, + teamID: 1 + }, + { + orderID: 10487, + orderDate: 1553551200000, + orderTotal: 889.7, + customerCompanyName: 'Queen Cozinha', + customerContactName: 'Lúcia Carvalho', + requiredDateStart: 1556006400000, + requiredDateEnd: 1556010000000, + teamID: 1 + }, + { + orderID: 10502, + orderDate: 1554843600000, + orderTotal: 816.3, + customerCompanyName: 'Pericles Comidas clásicas', + customerContactName: 'Guillermo Fernández', + requiredDateStart: 1557313200000, + requiredDateEnd: 1557315000000, + teamID: 1 + }, + { + orderID: 10515, + orderDate: 1555966800000, + orderTotal: 9921.3, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1557217800000, + requiredDateEnd: 1557221400000, + teamID: 1 + }, + { + orderID: 10516, + orderDate: 1556053200000, + orderTotal: 2381.05, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1558513800000, + requiredDateEnd: 1558519200000, + teamID: 1 + }, + { + orderID: 10541, + orderDate: 1558213200000, + orderTotal: 1946.52, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1560684600000, + requiredDateEnd: 1560688200000, + teamID: 1 + }, + { + orderID: 10552, + orderDate: 1559077200000, + orderTotal: 880.5, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1561543200000, + requiredDateEnd: 1561548600000, + teamID: 1 + }, + { + orderID: 10553, + orderDate: 1559163600000, + orderTotal: 1546.3, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1561627800000, + requiredDateEnd: 1561629600000, + teamID: 1 + }, + { + orderID: 10556, + orderDate: 1559509200000, + orderTotal: 835.2, + customerCompanyName: 'Simons bistro', + customerContactName: 'Jytte Petersen', + requiredDateStart: 1563177600000, + requiredDateEnd: 1563181200000, + teamID: 1 + }, + { + orderID: 10561, + orderDate: 1559768400000, + orderTotal: 2844.5, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1562230800000, + requiredDateEnd: 1562232600000, + teamID: 1 + }, + { + orderID: 10563, + orderDate: 1560114000000, + orderTotal: 965, + customerCompanyName: 'Ricardo Adocicados', + customerContactName: 'Janete Limeira', + requiredDateStart: 1563789600000, + requiredDateEnd: 1563791400000, + teamID: 1 + }, + { + orderID: 10583, + orderDate: 1561842000000, + orderTotal: 2237.5, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1564315200000, + requiredDateEnd: 1564317000000, + teamID: 1 + }, + { + orderID: 10588, + orderDate: 1562101200000, + orderTotal: 3120, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1564578000000, + requiredDateEnd: 1564583400000, + teamID: 1 + }, + { + orderID: 10595, + orderDate: 1562706000000, + orderTotal: 4725, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1565181000000, + requiredDateEnd: 1565182800000, + teamID: 1 + }, + { + orderID: 10615, + orderDate: 1564434000000, + orderTotal: 120, + customerCompanyName: 'Wilman Kala', + customerContactName: 'Matti Karttunen', + requiredDateStart: 1566900000000, + requiredDateEnd: 1566901800000, + teamID: 1 + }, + { + orderID: 10620, + orderDate: 1564952400000, + orderTotal: 57.5, + customerCompanyName: 'Laughing Bacchus Wine Cellars', + customerContactName: 'Yoshi Tannamuri', + requiredDateStart: 1567422000000, + requiredDateEnd: 1567423800000, + teamID: 1 + }, + { + orderID: 10657, + orderDate: 1567544400000, + orderTotal: 4371.6, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1570012200000, + requiredDateEnd: 1570015800000, + teamID: 1 + }, + { + orderID: 10663, + orderDate: 1568062800000, + orderTotal: 1930.4, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1569328200000, + requiredDateEnd: 1569333600000, + teamID: 1 + }, + { + orderID: 10669, + orderDate: 1568494800000, + orderTotal: 570, + customerCompanyName: 'Simons bistro', + customerContactName: 'Jytte Petersen', + requiredDateStart: 1570966200000, + requiredDateEnd: 1570968000000, + teamID: 1 + }, + { + orderID: 10673, + orderDate: 1568754000000, + orderTotal: 412.35, + customerCompanyName: 'Wilman Kala', + customerContactName: 'Matti Karttunen', + requiredDateStart: 1571230800000, + requiredDateEnd: 1571234400000, + teamID: 1 + }, + { + orderID: 10676, + orderDate: 1569099600000, + orderTotal: 534.85, + customerCompanyName: 'Tortuga Restaurante', + customerContactName: 'Miguel Angel Paolino', + requiredDateStart: 1571569200000, + requiredDateEnd: 1571574600000, + teamID: 1 + }, + { + orderID: 10683, + orderDate: 1569445200000, + orderTotal: 63, + customerCompanyName: 'Du monde entier', + customerContactName: 'Janine Labrune', + requiredDateStart: 1571907600000, + requiredDateEnd: 1571909400000, + teamID: 1 + }, + { + orderID: 10686, + orderDate: 1569790800000, + orderTotal: 1404.45, + customerCompanyName: 'Piccolo und mehr', + customerContactName: 'Georg Pipps', + requiredDateStart: 1572255000000, + requiredDateEnd: 1572256800000, + teamID: 1 + }, + { + orderID: 10691, + orderDate: 1570050000000, + orderTotal: 10164.8, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1573729200000, + requiredDateEnd: 1573731000000, + teamID: 1 + }, + { + orderID: 10727, + orderDate: 1572732000000, + orderTotal: 1624.5, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1575207000000, + requiredDateEnd: 1575212400000, + teamID: 1 + }, + { + orderID: 10734, + orderDate: 1573077600000, + orderTotal: 1498.35, + customerCompanyName: 'Gourmet Lanchonetes', + customerContactName: 'André Fonseca', + requiredDateStart: 1575552600000, + requiredDateEnd: 1575556200000, + teamID: 1 + }, + { + orderID: 10737, + orderDate: 1573423200000, + orderTotal: 139.8, + customerCompanyName: 'Vins et alcools Chevalier', + customerContactName: 'Paul Henriot', + requiredDateStart: 1575901800000, + requiredDateEnd: 1575905400000, + teamID: 1 + }, + { + orderID: 10738, + orderDate: 1573509600000, + orderTotal: 52.35, + customerCompanyName: 'Spécialités du monde', + customerContactName: 'Dominique Perrier', + requiredDateStart: 1575972000000, + requiredDateEnd: 1575977400000, + teamID: 1 + }, + { + orderID: 10752, + orderDate: 1574546400000, + orderTotal: 252, + customerCompanyName: 'North/South', + customerContactName: 'Simon Crowther', + requiredDateStart: 1577019600000, + requiredDateEnd: 1577023200000, + teamID: 1 + }, + { + orderID: 10780, + orderDate: 1576447200000, + orderTotal: 720, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1577696400000, + requiredDateEnd: 1577700000000, + teamID: 1 + }, + { + orderID: 10781, + orderDate: 1576533600000, + orderTotal: 975.88, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1579006800000, + requiredDateEnd: 1579008600000, + teamID: 1 + }, + { + orderID: 10787, + orderDate: 1576706400000, + orderTotal: 2622.76, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1577962800000, + requiredDateEnd: 1577968200000, + teamID: 1 + }, + { + orderID: 10798, + orderDate: 1577311200000, + orderTotal: 446.6, + customerCompanyName: 'Island Trading', + customerContactName: 'Helen Bennett', + requiredDateStart: 1579782600000, + requiredDateEnd: 1579786200000, + teamID: 1 + }, + { + orderID: 10805, + orderDate: 1577656800000, + orderTotal: 2775, + customerCompanyName: 'The Big Cheese', + customerContactName: 'Liz Nixon', + requiredDateStart: 1580124600000, + requiredDateEnd: 1580128200000, + teamID: 1 + }, + { + orderID: 10808, + orderDate: 1577829600000, + orderTotal: 1411, + customerCompanyName: 'Old World Delicatessen', + customerContactName: 'Rene Phillips', + requiredDateStart: 1580290200000, + requiredDateEnd: 1580295600000, + teamID: 1 + }, + { + orderID: 10810, + orderDate: 1577829600000, + orderTotal: 187, + customerCompanyName: 'Laughing Bacchus Wine Cellars', + customerContactName: 'Yoshi Tannamuri', + requiredDateStart: 1580306400000, + requiredDateEnd: 1580308200000, + teamID: 1 + }, + { + orderID: 10815, + orderDate: 1578175200000, + orderTotal: 40, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1580646600000, + requiredDateEnd: 1580652000000, + teamID: 1 + }, + { + orderID: 10819, + orderDate: 1578348000000, + orderTotal: 477, + customerCompanyName: 'Cactus Comidas para llevar', + customerContactName: 'Patricio Simpson', + requiredDateStart: 1580817600000, + requiredDateEnd: 1580819400000, + teamID: 1 + }, + { + orderID: 10832, + orderDate: 1578952800000, + orderTotal: 475.11, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1581413400000, + requiredDateEnd: 1581415200000, + teamID: 1 + }, + { + orderID: 10846, + orderDate: 1579644000000, + orderTotal: 1112, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1583411400000, + requiredDateEnd: 1583415000000, + teamID: 1 + }, + { + orderID: 10858, + orderDate: 1580248800000, + orderTotal: 649, + customerCompanyName: `La corne d'abondance`, + customerContactName: 'Daniel Tonini', + requiredDateStart: 1582718400000, + requiredDateEnd: 1582722000000, + teamID: 1 + }, + { + orderID: 10865, + orderDate: 1580594400000, + orderTotal: 16387.5, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1581847200000, + requiredDateEnd: 1581850800000, + teamID: 1 + }, + { + orderID: 10912, + orderDate: 1582668000000, + orderTotal: 6200.55, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1585220400000, + requiredDateEnd: 1585222200000, + teamID: 1 + }, + { + orderID: 10915, + orderDate: 1582754400000, + orderTotal: 539.5, + customerCompanyName: 'Tortuga Restaurante', + customerContactName: 'Miguel Angel Paolino', + requiredDateStart: 1585317600000, + requiredDateEnd: 1585321200000, + teamID: 1 + }, + { + orderID: 10919, + orderDate: 1583100000000, + orderTotal: 1122.8, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1585575000000, + requiredDateEnd: 1585580400000, + teamID: 1 + }, + { + orderID: 10939, + orderDate: 1583791200000, + orderTotal: 637.5, + customerCompanyName: 'Magazzini Alimentari Riuniti', + customerContactName: 'Giovanni Rovelli', + requiredDateStart: 1586255400000, + requiredDateEnd: 1586259000000, + teamID: 1 + }, + { + orderID: 10949, + orderDate: 1584050400000, + orderTotal: 4422, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1586514600000, + requiredDateEnd: 1586516400000, + teamID: 1 + }, + { + orderID: 10967, + orderDate: 1584914400000, + orderTotal: 910.4, + customerCompanyName: 'Toms Spezialitäten', + customerContactName: 'Karin Josephs', + requiredDateStart: 1587373200000, + requiredDateEnd: 1587376800000, + teamID: 1 + }, + { + orderID: 10971, + orderDate: 1585000800000, + orderTotal: 1733.06, + customerCompanyName: 'France restauration', + customerContactName: 'Carine Schmitt', + requiredDateStart: 1587466800000, + requiredDateEnd: 1587470400000, + teamID: 1 + }, + { + orderID: 10982, + orderDate: 1585260000000, + orderTotal: 1014, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1587717000000, + requiredDateEnd: 1587720600000, + teamID: 1 + }, + { + orderID: 10983, + orderDate: 1585260000000, + orderTotal: 720.9, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1587727800000, + requiredDateEnd: 1587729600000, + teamID: 1 + }, + { + orderID: 10985, + orderDate: 1585515600000, + orderTotal: 2023.38, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1587978000000, + requiredDateEnd: 1587983400000, + teamID: 1 + }, + { + orderID: 10989, + orderDate: 1585602000000, + orderTotal: 1353.6, + customerCompanyName: 'Que Delícia', + customerContactName: 'Bernardo Batista', + requiredDateStart: 1588062600000, + requiredDateEnd: 1588068000000, + teamID: 1 + }, + { + orderID: 10990, + orderDate: 1585688400000, + orderTotal: 4288.85, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1589362200000, + requiredDateEnd: 1589364000000, + teamID: 1 + }, + { + orderID: 10994, + orderDate: 1585774800000, + orderTotal: 940.5, + customerCompanyName: 'Vaffeljernet', + customerContactName: 'Palle Ibsen', + requiredDateStart: 1587040200000, + requiredDateEnd: 1587042000000, + teamID: 1 + }, + { + orderID: 11000, + orderDate: 1586120400000, + orderTotal: 903.75, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1588581000000, + requiredDateEnd: 1588586400000, + teamID: 1 + }, + { + orderID: 11001, + orderDate: 1586120400000, + orderTotal: 2769, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1588597200000, + requiredDateEnd: 1588599000000, + teamID: 1 + }, + { + orderID: 11005, + orderDate: 1586206800000, + orderTotal: 586, + customerCompanyName: 'Wilman Kala', + customerContactName: 'Matti Karttunen', + requiredDateStart: 1588671000000, + requiredDateEnd: 1588672800000, + teamID: 1 + }, + { + orderID: 11009, + orderDate: 1586293200000, + orderTotal: 616.5, + customerCompanyName: 'Godos Cocina Típica', + customerContactName: 'José Pedro Freyre', + requiredDateStart: 1588753800000, + requiredDateEnd: 1588755600000, + teamID: 1 + }, + { + orderID: 11010, + orderDate: 1586379600000, + orderTotal: 645, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1588851000000, + requiredDateEnd: 1588852800000, + teamID: 1 + }, + { + orderID: 11013, + orderDate: 1586379600000, + orderTotal: 361, + customerCompanyName: 'Romero y tomillo', + customerContactName: 'Alejandra Camino', + requiredDateStart: 1588849200000, + requiredDateEnd: 1588851000000, + teamID: 1 + }, + { + orderID: 11014, + orderDate: 1586466000000, + orderTotal: 243.18, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1588932000000, + requiredDateEnd: 1588935600000, + teamID: 1 + }, + { + orderID: 11015, + orderDate: 1586466000000, + orderTotal: 622.35, + customerCompanyName: 'Santé Gourmet', + customerContactName: 'Jonas Bergulfsen', + requiredDateStart: 1587731400000, + requiredDateEnd: 1587736800000, + teamID: 1 + }, + { + orderID: 11020, + orderDate: 1586811600000, + orderTotal: 632.4, + customerCompanyName: 'Ottilies Käseladen', + customerContactName: 'Henriette Pfalzheim', + requiredDateStart: 1589281200000, + requiredDateEnd: 1589284800000, + teamID: 1 + }, + { + orderID: 11028, + orderDate: 1586984400000, + orderTotal: 2160, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1589445000000, + requiredDateEnd: 1589448600000, + teamID: 1 + }, + { + orderID: 11032, + orderDate: 1587070800000, + orderTotal: 8902.5, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1589549400000, + requiredDateEnd: 1589553000000, + teamID: 1 + }, + { + orderID: 11035, + orderDate: 1587330000000, + orderTotal: 1754.5, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1589801400000, + requiredDateEnd: 1589803200000, + teamID: 1 + }, + { + orderID: 11042, + orderDate: 1587502800000, + orderTotal: 405.75, + customerCompanyName: 'Comércio Mineiro', + customerContactName: 'Pedro Afonso', + requiredDateStart: 1588770000000, + requiredDateEnd: 1588771800000, + teamID: 1 + }, + { + orderID: 11053, + orderDate: 1587934800000, + orderTotal: 3055, + customerCompanyName: 'Piccolo und mehr', + customerContactName: 'Georg Pipps', + requiredDateStart: 1590395400000, + requiredDateEnd: 1590399000000, + teamID: 1 + }, + { + orderID: 11059, + orderDate: 1588107600000, + orderTotal: 1838, + customerCompanyName: 'Ricardo Adocicados', + customerContactName: 'Janete Limeira', + requiredDateStart: 1591795800000, + requiredDateEnd: 1591799400000, + teamID: 1 + }, + { + orderID: 11060, + orderDate: 1588194000000, + orderTotal: 266, + customerCompanyName: 'Franchi S.p.A.', + customerContactName: 'Paolo Accorti', + requiredDateStart: 1590654600000, + requiredDateEnd: 1590656400000, + teamID: 1 + }, + { + orderID: 11070, + orderDate: 1588626000000, + orderTotal: 1629.975, + customerCompanyName: 'Lehmanns Marktstand', + customerContactName: 'Renate Messner', + requiredDateStart: 1591095600000, + requiredDateEnd: 1591099200000, + teamID: 1 + }, + { + orderID: 11073, + orderDate: 1588626000000, + orderTotal: 300, + customerCompanyName: 'Pericles Comidas clásicas', + customerContactName: 'Guillermo Fernández', + requiredDateStart: 1591104600000, + requiredDateEnd: 1591110000000, + teamID: 1 + }, + { + orderID: 10258, + orderDate: 1531774800000, + orderTotal: 1614.88, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1534246200000, + requiredDateEnd: 1534248000000, + teamID: 1 + }, + { + orderID: 10270, + orderDate: 1533070800000, + orderTotal: 1376, + customerCompanyName: 'Wartian Herkku', + customerContactName: 'Pirkko Koskitalo', + requiredDateStart: 1535533200000, + requiredDateEnd: 1535538600000, + teamID: 1 + }, + { + orderID: 10275, + orderDate: 1533589200000, + orderTotal: 291.84, + customerCompanyName: 'Magazzini Alimentari Riuniti', + customerContactName: 'Giovanni Rovelli', + requiredDateStart: 1536058800000, + requiredDateEnd: 1536062400000, + teamID: 1 + }, + { + orderID: 10285, + orderDate: 1534712400000, + orderTotal: 1743.36, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1537187400000, + requiredDateEnd: 1537192800000, + teamID: 1 + }, + { + orderID: 10292, + orderDate: 1535403600000, + orderTotal: 1296, + customerCompanyName: 'Tradição Hipermercados', + customerContactName: 'Anabela Domingues', + requiredDateStart: 1537878600000, + requiredDateEnd: 1537884000000, + teamID: 1 + }, + { + orderID: 10293, + orderDate: 1535490000000, + orderTotal: 848.7, + customerCompanyName: 'Tortuga Restaurante', + customerContactName: 'Miguel Angel Paolino', + requiredDateStart: 1537961400000, + requiredDateEnd: 1537966800000, + teamID: 1 + }, + { + orderID: 10304, + orderDate: 1536699600000, + orderTotal: 954.4, + customerCompanyName: 'Tortuga Restaurante', + customerContactName: 'Miguel Angel Paolino', + requiredDateStart: 1539167400000, + requiredDateEnd: 1539172800000, + teamID: 1 + }, + { + orderID: 10306, + orderDate: 1537045200000, + orderTotal: 498.5, + customerCompanyName: 'Romero y tomillo', + customerContactName: 'Alejandra Camino', + requiredDateStart: 1539518400000, + requiredDateEnd: 1539522000000, + teamID: 1 + }, + { + orderID: 10311, + orderDate: 1537390800000, + orderTotal: 268.8, + customerCompanyName: 'Du monde entier', + customerContactName: 'Janine Labrune', + requiredDateStart: 1538652600000, + requiredDateEnd: 1538658000000, + teamID: 1 + }, + { + orderID: 10314, + orderDate: 1537822800000, + orderTotal: 2094.3, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1540285200000, + requiredDateEnd: 1540290600000, + teamID: 1 + }, + { + orderID: 10316, + orderDate: 1537995600000, + orderTotal: 2835, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1540468800000, + requiredDateEnd: 1540470600000, + teamID: 1 + }, + { + orderID: 10325, + orderDate: 1539032400000, + orderTotal: 1497, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1540290600000, + requiredDateEnd: 1540296000000, + teamID: 1 + }, + { + orderID: 10340, + orderDate: 1540764000000, + orderTotal: 2436.18, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1543235400000, + requiredDateEnd: 1543240800000, + teamID: 1 + }, + { + orderID: 10351, + orderDate: 1541887200000, + orderTotal: 5398.725, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1544347800000, + requiredDateEnd: 1544349600000, + teamID: 1 + }, + { + orderID: 10357, + orderDate: 1542578400000, + orderTotal: 1167.68, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1545046200000, + requiredDateEnd: 1545051600000, + teamID: 1 + }, + { + orderID: 10361, + orderDate: 1542837600000, + orderTotal: 2046.24, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1545316200000, + requiredDateEnd: 1545319800000, + teamID: 1 + }, + { + orderID: 10364, + orderDate: 1543183200000, + orderTotal: 950, + customerCompanyName: 'Eastern Connection', + customerContactName: 'Ann Devon', + requiredDateStart: 1546851600000, + requiredDateEnd: 1546853400000, + teamID: 1 + }, + { + orderID: 10371, + orderDate: 1543788000000, + orderTotal: 72.96, + customerCompanyName: `La maison d'Asie`, + customerContactName: 'Annette Roulet', + requiredDateStart: 1546261200000, + requiredDateEnd: 1546264800000, + teamID: 1 + }, + { + orderID: 10374, + orderDate: 1543960800000, + orderTotal: 459, + customerCompanyName: 'Wolski Zajazd', + customerContactName: 'Zbyszek Piestrzeniewicz', + requiredDateStart: 1546419600000, + requiredDateEnd: 1546423200000, + teamID: 1 + }, + { + orderID: 10376, + orderDate: 1544306400000, + orderTotal: 399, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1546768800000, + requiredDateEnd: 1546770600000, + teamID: 1 + }, + { + orderID: 10377, + orderDate: 1544306400000, + orderTotal: 863.6, + customerCompanyName: 'Seven Seas Imports', + customerContactName: 'Hari Kumar', + requiredDateStart: 1546783200000, + requiredDateEnd: 1546788600000, + teamID: 1 + }, + { + orderID: 10385, + orderDate: 1544997600000, + orderTotal: 691.2, + customerCompanyName: 'Split Rail Beer & Ale', + customerContactName: 'Art Braunschweiger', + requiredDateStart: 1547458200000, + requiredDateEnd: 1547463600000, + teamID: 1 + }, + { + orderID: 10387, + orderDate: 1545084000000, + orderTotal: 1058.4, + customerCompanyName: 'Santé Gourmet', + customerContactName: 'Jonas Bergulfsen', + requiredDateStart: 1547559000000, + requiredDateEnd: 1547562600000, + teamID: 1 + }, + { + orderID: 10393, + orderDate: 1545688800000, + orderTotal: 2556.95, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1548162000000, + requiredDateEnd: 1548165600000, + teamID: 1 + }, + { + orderID: 10394, + orderDate: 1545688800000, + orderTotal: 442, + customerCompanyName: 'Hungry Coyote Import Store', + customerContactName: 'Yoshi Latimer', + requiredDateStart: 1548158400000, + requiredDateEnd: 1548160200000, + teamID: 1 + }, + { + orderID: 10396, + orderDate: 1545861600000, + orderTotal: 1903.8, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1547118000000, + requiredDateEnd: 1547121600000, + teamID: 1 + }, + { + orderID: 10400, + orderDate: 1546293600000, + orderTotal: 3063, + customerCompanyName: 'Eastern Connection', + customerContactName: 'Ann Devon', + requiredDateStart: 1548761400000, + requiredDateEnd: 1548765000000, + teamID: 1 + }, + { + orderID: 10401, + orderDate: 1546293600000, + orderTotal: 3868.6, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1548772200000, + requiredDateEnd: 1548775800000, + teamID: 1 + }, + { + orderID: 10405, + orderDate: 1546725600000, + orderTotal: 400, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1549200600000, + requiredDateEnd: 1549202400000, + teamID: 1 + }, + { + orderID: 10453, + orderDate: 1550700000000, + orderTotal: 407.7, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1553160600000, + requiredDateEnd: 1553162400000, + teamID: 1 + }, + { + orderID: 10461, + orderDate: 1551304800000, + orderTotal: 1538.7, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1553769000000, + requiredDateEnd: 1553774400000, + teamID: 1 + }, + { + orderID: 10465, + orderDate: 1551736800000, + orderTotal: 2518, + customerCompanyName: 'Vaffeljernet', + customerContactName: 'Palle Ibsen', + requiredDateStart: 1554201000000, + requiredDateEnd: 1554206400000, + teamID: 1 + }, + { + orderID: 10469, + orderDate: 1552168800000, + orderTotal: 956.675, + customerCompanyName: 'White Clover Markets', + customerContactName: 'Karl Jablonski', + requiredDateStart: 1554627600000, + requiredDateEnd: 1554629400000, + teamID: 1 + }, + { + orderID: 10473, + orderDate: 1552428000000, + orderTotal: 230.4, + customerCompanyName: 'Island Trading', + customerContactName: 'Helen Bennett', + requiredDateStart: 1553697000000, + requiredDateEnd: 1553700600000, + teamID: 1 + }, + { + orderID: 10482, + orderDate: 1553119200000, + orderTotal: 147, + customerCompanyName: 'Lazy K Kountry Store', + customerContactName: 'John Steel', + requiredDateStart: 1555592400000, + requiredDateEnd: 1555596000000, + teamID: 1 + }, + { + orderID: 10486, + orderDate: 1553551200000, + orderTotal: 1272, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1556010000000, + requiredDateEnd: 1556013600000, + teamID: 1 + }, + { + orderID: 10508, + orderDate: 1555362000000, + orderTotal: 240, + customerCompanyName: 'Ottilies Käseladen', + customerContactName: 'Henriette Pfalzheim', + requiredDateStart: 1557824400000, + requiredDateEnd: 1557829800000, + teamID: 1 + }, + { + orderID: 10524, + orderDate: 1556658000000, + orderTotal: 3192.65, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1559131200000, + requiredDateEnd: 1559133000000, + teamID: 1 + }, + { + orderID: 10525, + orderDate: 1556744400000, + orderTotal: 818.4, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1559208600000, + requiredDateEnd: 1559210400000, + teamID: 1 + }, + { + orderID: 10537, + orderDate: 1557781200000, + orderTotal: 1823.8, + customerCompanyName: 'Richter Supermarkt', + customerContactName: 'Michael Holz', + requiredDateStart: 1559050200000, + requiredDateEnd: 1559052000000, + teamID: 1 + }, + { + orderID: 10542, + orderDate: 1558299600000, + orderTotal: 469.11, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1560765600000, + requiredDateEnd: 1560771000000, + teamID: 1 + }, + { + orderID: 10546, + orderDate: 1558558800000, + orderTotal: 2812, + customerCompanyName: 'Victuailles en stock', + customerContactName: 'Mary Saveley', + requiredDateStart: 1561028400000, + requiredDateEnd: 1561033800000, + teamID: 1 + }, + { + orderID: 10558, + orderDate: 1559595600000, + orderTotal: 2142.9, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1562063400000, + requiredDateEnd: 1562067000000, + teamID: 1 + }, + { + orderID: 10562, + orderDate: 1560027600000, + orderTotal: 488.7, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1562493600000, + requiredDateEnd: 1562497200000, + teamID: 1 + }, + { + orderID: 10567, + orderDate: 1560286800000, + orderTotal: 2519, + customerCompanyName: 'Hungry Owl All-Night Grocers', + customerContactName: 'Patricia McKenna', + requiredDateStart: 1562763600000, + requiredDateEnd: 1562765400000, + teamID: 1 + }, + { + orderID: 10579, + orderDate: 1561410000000, + orderTotal: 317.75, + customerCompanyName: `Let's Stop N Shop`, + customerContactName: 'Jaime Yorres', + requiredDateStart: 1563885000000, + requiredDateEnd: 1563886800000, + teamID: 1 + }, + { + orderID: 10587, + orderDate: 1562014800000, + orderTotal: 807.38, + customerCompanyName: 'Que Delícia', + customerContactName: 'Bernardo Batista', + requiredDateStart: 1564473600000, + requiredDateEnd: 1564475400000, + teamID: 1 + }, + { + orderID: 10591, + orderDate: 1562446800000, + orderTotal: 812.5, + customerCompanyName: 'Vaffeljernet', + customerContactName: 'Palle Ibsen', + requiredDateStart: 1563710400000, + requiredDateEnd: 1563715800000, + teamID: 1 + }, + { + orderID: 10598, + orderDate: 1563051600000, + orderTotal: 2388.5, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1565514000000, + requiredDateEnd: 1565517600000, + teamID: 1 + }, + { + orderID: 10604, + orderDate: 1563397200000, + orderTotal: 230.85, + customerCompanyName: 'Furia Bacalhau e Frutos do Mar', + customerContactName: 'Lino Rodriguez', + requiredDateStart: 1565857800000, + requiredDateEnd: 1565863200000, + teamID: 1 + }, + { + orderID: 10605, + orderDate: 1563656400000, + orderTotal: 4109.7, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1566118800000, + requiredDateEnd: 1566120600000, + teamID: 1 + }, + { + orderID: 10612, + orderDate: 1564261200000, + orderTotal: 6375, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1566732600000, + requiredDateEnd: 1566738000000, + teamID: 1 + }, + { + orderID: 10616, + orderDate: 1564520400000, + orderTotal: 4807, + customerCompanyName: 'Great Lakes Food Market', + customerContactName: 'Howard Snyder', + requiredDateStart: 1566991800000, + requiredDateEnd: 1566997200000, + teamID: 1 + }, + { + orderID: 10618, + orderDate: 1564606800000, + orderTotal: 2697.5, + customerCompanyName: 'Mère Paillarde', + customerContactName: 'Jean Fresnière', + requiredDateStart: 1568293200000, + requiredDateEnd: 1568295000000, + teamID: 1 + }, + { + orderID: 10626, + orderDate: 1565470800000, + orderTotal: 1503.6, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1567949400000, + requiredDateEnd: 1567954800000, + teamID: 1 + }, + { + orderID: 10630, + orderDate: 1565643600000, + orderTotal: 903.6, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1568118600000, + requiredDateEnd: 1568124000000, + teamID: 1 + }, + { + orderID: 10653, + orderDate: 1567371600000, + orderTotal: 1083.15, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1569834000000, + requiredDateEnd: 1569835800000, + teamID: 1 + }, + { + orderID: 10655, + orderDate: 1567458000000, + orderTotal: 154.4, + customerCompanyName: 'Reggiani Caseifici', + customerContactName: 'Maurizio Moroni', + requiredDateStart: 1569916800000, + requiredDateEnd: 1569918600000, + teamID: 1 + }, + { + orderID: 10664, + orderDate: 1568062800000, + orderTotal: 1288.3875, + customerCompanyName: 'Furia Bacalhau e Frutos do Mar', + customerContactName: 'Lino Rodriguez', + requiredDateStart: 1570532400000, + requiredDateEnd: 1570537800000, + teamID: 1 + }, + { + orderID: 10665, + orderDate: 1568149200000, + orderTotal: 1295, + customerCompanyName: 'Lonesome Pine Restaurant', + customerContactName: 'Fran Wilson', + requiredDateStart: 1570609800000, + requiredDateEnd: 1570615200000, + teamID: 1 + }, + { + orderID: 10668, + orderDate: 1568494800000, + orderTotal: 625.275, + customerCompanyName: 'Die Wandernde Kuh', + customerContactName: 'Rita Müller', + requiredDateStart: 1570968000000, + requiredDateEnd: 1570969800000, + teamID: 1 + }, + { + orderID: 10671, + orderDate: 1568667600000, + orderTotal: 920.1, + customerCompanyName: 'France restauration', + customerContactName: 'Carine Schmitt', + requiredDateStart: 1571144400000, + requiredDateEnd: 1571146200000, + teamID: 1 + }, + { + orderID: 10677, + orderDate: 1569099600000, + orderTotal: 813.365, + customerCompanyName: 'Antonio Moreno Taquería', + customerContactName: 'Antonio Moreno', + requiredDateStart: 1571576400000, + requiredDateEnd: 1571581800000, + teamID: 1 + }, + { + orderID: 10680, + orderDate: 1569272400000, + orderTotal: 1261.875, + customerCompanyName: 'Old World Delicatessen', + customerContactName: 'Rene Phillips', + requiredDateStart: 1571742000000, + requiredDateEnd: 1571743800000, + teamID: 1 + }, + { + orderID: 10689, + orderDate: 1569877200000, + orderTotal: 472.5, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1572339600000, + requiredDateEnd: 1572343200000, + teamID: 1 + }, + { + orderID: 10690, + orderDate: 1569963600000, + orderTotal: 862.5, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1572436800000, + requiredDateEnd: 1572440400000, + teamID: 1 + }, + { + orderID: 10709, + orderDate: 1571259600000, + orderTotal: 3424, + customerCompanyName: 'Gourmet Lanchonetes', + customerContactName: 'André Fonseca', + requiredDateStart: 1573723800000, + requiredDateEnd: 1573727400000, + teamID: 1 + }, + { + orderID: 10710, + orderDate: 1571518800000, + orderTotal: 93.5, + customerCompanyName: 'Franchi S.p.A.', + customerContactName: 'Paolo Accorti', + requiredDateStart: 1573986600000, + requiredDateEnd: 1573990200000, + teamID: 1 + }, + { + orderID: 10713, + orderDate: 1571691600000, + orderTotal: 2827.9, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1574164800000, + requiredDateEnd: 1574170200000, + teamID: 1 + }, + { + orderID: 10717, + orderDate: 1571864400000, + orderTotal: 1270.75, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1574328600000, + requiredDateEnd: 1574330400000, + teamID: 1 + }, + { + orderID: 10718, + orderDate: 1572123600000, + orderTotal: 3463, + customerCompanyName: 'Königlich Essen', + customerContactName: 'Philip Cramer', + requiredDateStart: 1574587800000, + requiredDateEnd: 1574591400000, + teamID: 1 + }, + { + orderID: 10733, + orderDate: 1573077600000, + orderTotal: 1459, + customerCompanyName: 'Berglunds snabbköp', + customerContactName: 'Christina Berglund', + requiredDateStart: 1575552600000, + requiredDateEnd: 1575558000000, + teamID: 1 + }, + { + orderID: 10743, + orderDate: 1573941600000, + orderTotal: 319.2, + customerCompanyName: 'Around the Horn', + customerContactName: 'Thomas Hardy', + requiredDateStart: 1576400400000, + requiredDateEnd: 1576404000000, + teamID: 1 + }, + { + orderID: 10746, + orderDate: 1574114400000, + orderTotal: 2311.7, + customerCompanyName: 'Chop-suey Chinese', + customerContactName: 'Yang Wang', + requiredDateStart: 1576580400000, + requiredDateEnd: 1576584000000, + teamID: 1 + }, + { + orderID: 10773, + orderDate: 1576015200000, + orderTotal: 2030.4, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1578479400000, + requiredDateEnd: 1578483000000, + teamID: 1 + }, + { + orderID: 10776, + orderDate: 1576360800000, + orderTotal: 6635.275, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1578830400000, + requiredDateEnd: 1578834000000, + teamID: 1 + }, + { + orderID: 10785, + orderDate: 1576620000000, + orderTotal: 387.5, + customerCompanyName: 'GROSELLA-Restaurante', + customerContactName: 'Manuel Pereira', + requiredDateStart: 1579095000000, + requiredDateEnd: 1579100400000, + teamID: 1 + }, + { + orderID: 10788, + orderDate: 1576965600000, + orderTotal: 731.5, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1579444200000, + requiredDateEnd: 1579446000000, + teamID: 1 + }, + { + orderID: 10789, + orderDate: 1576965600000, + orderTotal: 3687, + customerCompanyName: 'Folies gourmandes', + customerContactName: 'Martine Rancé', + requiredDateStart: 1579426200000, + requiredDateEnd: 1579429800000, + teamID: 1 + }, + { + orderID: 10792, + orderDate: 1577052000000, + orderTotal: 399.85, + customerCompanyName: 'Wolski Zajazd', + customerContactName: 'Zbyszek Piestrzeniewicz', + requiredDateStart: 1579528800000, + requiredDateEnd: 1579532400000, + teamID: 1 + }, + { + orderID: 10800, + orderDate: 1577311200000, + orderTotal: 1468.935, + customerCompanyName: 'Seven Seas Imports', + customerContactName: 'Hari Kumar', + requiredDateStart: 1579780800000, + requiredDateEnd: 1579786200000, + teamID: 1 + }, + { + orderID: 10813, + orderDate: 1578175200000, + orderTotal: 602.4, + customerCompanyName: 'Ricardo Adocicados', + customerContactName: 'Janete Limeira', + requiredDateStart: 1580652000000, + requiredDateEnd: 1580657400000, + teamID: 1 + }, + { + orderID: 10821, + orderDate: 1578434400000, + orderTotal: 678, + customerCompanyName: 'Split Rail Beer & Ale', + customerContactName: 'Art Braunschweiger', + requiredDateStart: 1580900400000, + requiredDateEnd: 1580905800000, + teamID: 1 + }, + { + orderID: 10825, + orderDate: 1578520800000, + orderTotal: 1030.76, + customerCompanyName: 'Drachenblut Delikatessen', + customerContactName: 'Sven Ottlieb', + requiredDateStart: 1580992200000, + requiredDateEnd: 1580994000000, + teamID: 1 + }, + { + orderID: 10827, + orderDate: 1578780000000, + orderTotal: 843, + customerCompanyName: 'Bon app', + customerContactName: 'Laurence Lebihan', + requiredDateStart: 1580036400000, + requiredDateEnd: 1580041800000, + teamID: 1 + }, + { + orderID: 10834, + orderDate: 1579039200000, + orderTotal: 1432.714, + customerCompanyName: 'Tradição Hipermercados', + customerContactName: 'Anabela Domingues', + requiredDateStart: 1581514200000, + requiredDateEnd: 1581519600000, + teamID: 1 + }, + { + orderID: 10835, + orderDate: 1579039200000, + orderTotal: 845.8, + customerCompanyName: 'Alfreds Futterkiste', + customerContactName: 'Maria Anders', + requiredDateStart: 1581517800000, + requiredDateEnd: 1581521400000, + teamID: 1 + }, + { + orderID: 10842, + orderDate: 1579471200000, + orderTotal: 975, + customerCompanyName: 'Tortuga Restaurante', + customerContactName: 'Miguel Angel Paolino', + requiredDateStart: 1581942600000, + requiredDateEnd: 1581946200000, + teamID: 1 + }, + { + orderID: 10850, + orderDate: 1579730400000, + orderTotal: 629, + customerCompanyName: 'Victuailles en stock', + customerContactName: 'Mary Saveley', + requiredDateStart: 1583488800000, + requiredDateEnd: 1583494200000, + teamID: 1 + }, + { + orderID: 10859, + orderDate: 1580248800000, + orderTotal: 1078.6875, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1582722000000, + requiredDateEnd: 1582725600000, + teamID: 1 + }, + { + orderID: 10877, + orderDate: 1581199200000, + orderTotal: 1955.125, + customerCompanyName: 'Ricardo Adocicados', + customerContactName: 'Janete Limeira', + requiredDateStart: 1583744400000, + requiredDateEnd: 1583748000000, + teamID: 1 + }, + { + orderID: 10886, + orderDate: 1581544800000, + orderTotal: 3127.5, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1584106200000, + requiredDateEnd: 1584111600000, + teamID: 1 + }, + { + orderID: 10888, + orderDate: 1581804000000, + orderTotal: 605, + customerCompanyName: 'Godos Cocina Típica', + customerContactName: 'José Pedro Freyre', + requiredDateStart: 1584363600000, + requiredDateEnd: 1584365400000, + teamID: 1 + }, + { + orderID: 10894, + orderDate: 1581976800000, + orderTotal: 2753.1, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1584529200000, + requiredDateEnd: 1584534600000, + teamID: 1 + }, + { + orderID: 10900, + orderDate: 1582149600000, + orderTotal: 33.75, + customerCompanyName: 'Wellington Importadora', + customerContactName: 'Paula Parente', + requiredDateStart: 1584714600000, + requiredDateEnd: 1584720000000, + teamID: 1 + }, + { + orderID: 10902, + orderDate: 1582408800000, + orderTotal: 863.43, + customerCompanyName: 'Folk och fä HB', + customerContactName: 'Maria Larsson', + requiredDateStart: 1584957600000, + requiredDateEnd: 1584961200000, + teamID: 1 + }, + { + orderID: 10909, + orderDate: 1582668000000, + orderTotal: 670, + customerCompanyName: 'Santé Gourmet', + customerContactName: 'Jonas Bergulfsen', + requiredDateStart: 1585229400000, + requiredDateEnd: 1585231200000, + teamID: 1 + }, + { + orderID: 10910, + orderDate: 1582668000000, + orderTotal: 452.9, + customerCompanyName: 'Wilman Kala', + customerContactName: 'Matti Karttunen', + requiredDateStart: 1585220400000, + requiredDateEnd: 1585222200000, + teamID: 1 + }, + { + orderID: 10916, + orderDate: 1582754400000, + orderTotal: 686.7, + customerCompanyName: 'Rancho grande', + customerContactName: 'Sergio Gutiérrez', + requiredDateStart: 1585319400000, + requiredDateEnd: 1585323000000, + teamID: 1 + }, + { + orderID: 10921, + orderDate: 1583186400000, + orderTotal: 1936, + customerCompanyName: 'Vaffeljernet', + customerContactName: 'Palle Ibsen', + requiredDateStart: 1586853000000, + requiredDateEnd: 1586858400000, + teamID: 1 + }, + { + orderID: 10928, + orderDate: 1583359200000, + orderTotal: 137.5, + customerCompanyName: 'Galería del gastrónomo', + customerContactName: 'Eduardo Saavedra', + requiredDateStart: 1585823400000, + requiredDateEnd: 1585825200000, + teamID: 1 + }, + { + orderID: 10946, + orderDate: 1583964000000, + orderTotal: 1407.5, + customerCompanyName: 'Vaffeljernet', + customerContactName: 'Palle Ibsen', + requiredDateStart: 1586422800000, + requiredDateEnd: 1586426400000, + teamID: 1 + }, + { + orderID: 10950, + orderDate: 1584309600000, + orderTotal: 110, + customerCompanyName: 'Magazzini Alimentari Riuniti', + customerContactName: 'Giovanni Rovelli', + requiredDateStart: 1586782800000, + requiredDateEnd: 1586788200000, + teamID: 1 + }, + { + orderID: 10952, + orderDate: 1584309600000, + orderTotal: 471.2, + customerCompanyName: 'Alfreds Futterkiste', + customerContactName: 'Maria Anders', + requiredDateStart: 1587985200000, + requiredDateEnd: 1587987000000, + teamID: 1 + }, + { + orderID: 10968, + orderDate: 1584914400000, + orderTotal: 1408, + customerCompanyName: 'Ernst Handel', + customerContactName: 'Roland Mendel', + requiredDateStart: 1587375000000, + requiredDateEnd: 1587380400000, + teamID: 1 + }, + { + orderID: 10969, + orderDate: 1584914400000, + orderTotal: 108, + customerCompanyName: 'Comércio Mineiro', + customerContactName: 'Pedro Afonso', + requiredDateStart: 1587375000000, + requiredDateEnd: 1587376800000, + teamID: 1 + }, + { + orderID: 10975, + orderDate: 1585087200000, + orderTotal: 717.5, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1587560400000, + requiredDateEnd: 1587564000000, + teamID: 1 + }, + { + orderID: 10976, + orderDate: 1585087200000, + orderTotal: 912, + customerCompanyName: 'HILARION-Abastos', + customerContactName: 'Carlos Hernández', + requiredDateStart: 1588757400000, + requiredDateEnd: 1588759200000, + teamID: 1 + }, + { + orderID: 10981, + orderDate: 1585260000000, + orderTotal: 15810, + customerCompanyName: 'Hanari Carnes', + customerContactName: 'Mario Pontes', + requiredDateStart: 1587735000000, + requiredDateEnd: 1587736800000, + teamID: 1 + }, + { + orderID: 10984, + orderDate: 1585515600000, + orderTotal: 1809.75, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1587974400000, + requiredDateEnd: 1587976200000, + teamID: 1 + }, + { + orderID: 10991, + orderDate: 1585688400000, + orderTotal: 2296, + customerCompanyName: 'QUICK-Stop', + customerContactName: 'Horst Kloss', + requiredDateStart: 1588147200000, + requiredDateEnd: 1588150800000, + teamID: 1 + }, + { + orderID: 10992, + orderDate: 1585688400000, + orderTotal: 69.6, + customerCompanyName: 'The Big Cheese', + customerContactName: 'Liz Nixon', + requiredDateStart: 1588163400000, + requiredDateEnd: 1588165200000, + teamID: 1 + }, + { + orderID: 10995, + orderDate: 1585774800000, + orderTotal: 1196, + customerCompanyName: 'Pericles Comidas clásicas', + customerContactName: 'Guillermo Fernández', + requiredDateStart: 1588248000000, + requiredDateEnd: 1588249800000, + teamID: 1 + }, + { + orderID: 11012, + orderDate: 1586379600000, + orderTotal: 2825.3, + customerCompanyName: 'Frankenversand', + customerContactName: 'Peter Franken', + requiredDateStart: 1587646800000, + requiredDateEnd: 1587652200000, + teamID: 1 + }, + { + orderID: 11023, + orderDate: 1586811600000, + orderTotal: 1500, + customerCompanyName: `B's Beverages`, + customerContactName: 'Victoria Ashworth', + requiredDateStart: 1588073400000, + requiredDateEnd: 1588075200000, + teamID: 1 + }, + { + orderID: 11027, + orderDate: 1586984400000, + orderTotal: 877.725, + customerCompanyName: 'Bottom-Dollar Markets', + customerContactName: 'Elizabeth Lincoln', + requiredDateStart: 1589455800000, + requiredDateEnd: 1589461200000, + teamID: 1 + }, + { + orderID: 11038, + orderDate: 1587416400000, + orderTotal: 732.6, + customerCompanyName: 'Suprêmes délices', + customerContactName: 'Pascale Cartrain', + requiredDateStart: 1589893200000, + requiredDateEnd: 1589896800000, + teamID: 1 + }, + { + orderID: 11039, + orderDate: 1587416400000, + orderTotal: 3090, + customerCompanyName: 'LINO-Delicateses', + customerContactName: 'Felipe Izquierdo', + requiredDateStart: 1589880600000, + requiredDateEnd: 1589882400000, + teamID: 1 + }, + { + orderID: 11064, + orderDate: 1588280400000, + orderTotal: 4330.4, + customerCompanyName: 'Save-a-lot Markets', + customerContactName: 'Jose Pavarotti', + requiredDateStart: 1590750000000, + requiredDateEnd: 1590751800000, + teamID: 1 + }, + { + orderID: 11067, + orderDate: 1588539600000, + orderTotal: 86.85, + customerCompanyName: 'Drachenblut Delikatessen', + customerContactName: 'Sven Ottlieb', + requiredDateStart: 1589797800000, + requiredDateEnd: 1589799600000, + teamID: 1 + }, + { + orderID: 11069, + orderDate: 1588539600000, + orderTotal: 360, + customerCompanyName: 'Tortuga Restaurante', + customerContactName: 'Miguel Angel Paolino', + requiredDateStart: 1591005600000, + requiredDateEnd: 1591009200000, + teamID: 1 + }, + { + orderID: 11071, + orderDate: 1588626000000, + orderTotal: 484.5, + customerCompanyName: 'LILA-Supermercado', + customerContactName: 'Carlos González', + requiredDateStart: 1591095600000, + requiredDateEnd: 1591097400000, + teamID: 1 + }, + { + orderID: 11077, + orderDate: 1588712400000, + orderTotal: 1255.7205, + customerCompanyName: 'Rattlesnake Canyon Grocery', + customerContactName: 'Paula Wilson', + requiredDateStart: 1591189200000, + requiredDateEnd: 1591194600000, + teamID: 1 + } +].map((order) => ({ + ...order, + // parse dates + orderDate: new Date(order.orderDate), + requiredDateStart: new Date(order.requiredDateStart), + requiredDateEnd: new Date(order.requiredDateEnd) +})); diff --git a/examples-standalone/coffee-warehouse/src/assets/styles/app.scss b/examples-standalone/coffee-warehouse/src/assets/styles/app.scss index b854678a..6924fdd2 100644 --- a/examples-standalone/coffee-warehouse/src/assets/styles/app.scss +++ b/examples-standalone/coffee-warehouse/src/assets/styles/app.scss @@ -1,246 +1,262 @@ -@import "./variables.scss"; -@import "./common.scss"; -@import './typography.scss'; - - - -$grid-columns: 12; -$grid-gutter-width: 48px; -$grid-column-width: 48px; - -$grid-breakpoints: ( - xs: 0, - sm: 576px, - md: 768px, - lg: 992px, - xl: 1200px -); - -$container-max-widths: ( - sm: 540px, - md: 720px, - lg: 960px, - xl: 1140px -); - -// @import "~bootstrap/scss/grid"; - - -.app-header>.project-name{ - text-align: left; - letter-spacing: 0; - color: #000000; - opacity: 1; - } - - .app-header>.nav{ - float: righnpmt; - } - - .content { - min-height: 100vh; - } - - .logo { - font-weight: 700; - font-size: 24px; - } - - .welcome { - text-align: center; - font-weight: 900; - letter-spacing: 0; - color: #000000; - opacity: 1; - } - - .sub-header { - text-align: center; - font-weight: 400; - letter-spacing: 0; - color: #919191; - opacity: 1; - margin-bottom: 4rem; - } - - .get-started { - text-align: center; - font-weight: 900; - font-size: 78px; - letter-spacing: 0; - color: #000000; - opacity: 1; - margin-bottom: 1rem; - } - - .kendoka { - width: 12.5rem; - height: 12.5rem; - opacity: 1; - } - - .change-theme { - font-size: 14px; - color: #9098A5; - } - - .components-list>p>a { - margin-left: 0.6em; - } - .components-list>p>img { - width: 1.25rem; - height: 1.3125rem; - } - - .divider { - margin-left: 0.4rem; - margin-right: 0.4rem; - opacity: 0.2; - } - - .copyright{ - letter-spacing: 0.33px; - color: #FFFFFF; - opacity: 0.6; - } - - .k-widget.k-menu { - height: 100%; - } - - .social img { - margin-left: 3rem; - } - - // Header -.header-bg { - background-image: url('./assets/images/header-bg.png'); -} - -.header { - height: 80px; - position: sticky; - top: 0; - z-index: 3; - - .nav-container { - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-between; - height: 100%; - color: $white; - } - - .menu-button { - flex: 0 0 50px; - text-align: center; - } - - .hamburger-icon { - background-image: url('./assets/images/hamburger-icon.svg'); - background-repeat: no-repeat; - width: 20px; - cursor: pointer; - } - - .title { - display: flex; - flex: 1 0 auto; - flex-direction: column; - align-items: flex-start; - margin-left: 25px; - } - - .k-avatar { - display: block; - width: 40px; - height: 40px; - flex-basis: 40px; - margin: 0 25px; - box-shadow: 0 0 0px 1px $white; - } - - .settings { - display: none; - } -} - -@media (min-width: 480px) { - .header { - .title { - flex-direction: row; - align-items: center; - } - .vl { - border-left: 1px solid $white; - height: 25px; - margin: 6px 15px; - } - } -} - -@media (min-width: 768px) { - .header { - .settings { - display: flex; - flex: 0 0 auto; - align-items: center; - } - - .k-dropdown { - max-width: 90px; - margin-left: 15px; - } - } -} - -.header { - .title { - flex-direction: row; - align-items: center; - } - .vl { - border-left: 1px solid $white; - height: 25px; - margin: 6px 15px; - } -} - -.k-menu-vertical > .k-menu-item.k-state-selected.material > .k-menu-link { - color: #ff4081;; -} - -.k-menu-vertical > .k-menu-item.material > .k-menu-link { - color: rgba(0, 0, 0, 0.87); -} - -.k-menu-vertical > .k-menu-item.k-state-selected.bootstrap > .k-menu-link { - color: #ffffff; -} -.k-menu-vertical > .k-menu-item.k-state-selected.bootstrap { - background-color: #0071eb; -} -.k-menu-vertical > .k-menu-item.bootstrap > .k-menu-link { - color: #212529; -} - -.k-menu-vertical > .k-menu-item.k-state-selected.default > .k-menu-link { - color: #ffffff; -} -.k-menu-vertical > .k-menu-item.k-state-selected.default { - background-color: #ff6358; -} -.k-menu-vertical > .k-menu-item.default > .k-menu-link { - color: #424242; -} - -.k-widget.k-dropdown.localeDropDownList, .k-widget.k-dropdown.ddl-theme{ - background-color: #f5f5f5; - border-radius: 2px; -} - - -.k-menu.k-menu-vertical:not(.k-context-menu){ - padding:0; +@import "./variables.scss"; +@import "./common.scss"; +@import './typography.scss'; + +@import "@progress/kendo-font-icons/dist/index.css"; + +$grid-columns: 12; +$grid-gutter-width: 48px; +$grid-column-width: 48px; + +$grid-breakpoints: ( + xs: 0, + sm: 576px, + md: 768px, + lg: 992px, + xl: 1200px +); + +$container-max-widths: ( + sm: 540px, + md: 720px, + lg: 960px, + xl: 1140px +); + +// @import "~bootstrap/scss/grid"; + + +.app-header>.project-name{ + text-align: left; + letter-spacing: 0; + color: #000000; + opacity: 1; + } + + .app-header>.nav{ + float: righnpmt; + } + + .content { + min-height: 100vh; + } + + .logo { + font-weight: 700; + font-size: 24px; + } + + .welcome { + text-align: center; + font-weight: 900; + letter-spacing: 0; + color: #000000; + opacity: 1; + } + + .sub-header { + text-align: center; + font-weight: 400; + letter-spacing: 0; + color: #919191; + opacity: 1; + margin-bottom: 4rem; + } + + .get-started { + text-align: center; + font-weight: 900; + font-size: 78px; + letter-spacing: 0; + color: #000000; + opacity: 1; + margin-bottom: 1rem; + } + + .kendoka { + width: 12.5rem; + height: 12.5rem; + opacity: 1; + } + + .change-theme { + font-size: 14px; + color: #9098A5; + } + + .components-list>p>a { + margin-left: 0.6em; + } + .components-list>p>img { + width: 1.25rem; + height: 1.3125rem; + } + + .divider { + margin-left: 0.4rem; + margin-right: 0.4rem; + opacity: 0.2; + } + + .copyright{ + letter-spacing: 0.33px; + color: #FFFFFF; + opacity: 0.6; + } + + .k-widget.k-menu { + height: 100%; + } + + .social img { + margin-left: 3rem; + } + + // Header +.header-bg { + background-image: url('./assets/images/header-bg.png'); +} + +.header { + height: 80px; + position: sticky; + top: 0; + z-index: 3; + + .nav-container { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + height: 100%; + color: $white; + } + + .menu-button { + flex: 0 0 50px; + text-align: center; + } + + .hamburger-icon { + background-image: url('./assets/images/hamburger-icon.svg'); + background-repeat: no-repeat; + width: 20px; + cursor: pointer; + } + + .title { + display: flex; + flex: 1 0 auto; + flex-direction: column; + align-items: flex-start; + margin-left: 25px; + color: #ffffff; + + h1, + h2 { + font-size: 1.75rem; + font-weight: 400; + } + } + + .k-avatar { + display: block; + width: 40px; + height: 40px; + flex-basis: 40px; + margin: 0 25px; + box-shadow: 0 0 0px 1px $white; + } + + .settings { + display: none; + } +} + +@media (min-width: 480px) { + .header { + .title { + flex-direction: row; + align-items: center; + } + .vl { + border-left: 1px solid $white; + height: 25px; + margin: 6px 15px; + } + } +} + +@media (min-width: 768px) { + .header { + .settings { + display: flex; + flex: 0 0 auto; + align-items: center; + } + + .k-dropdown { + max-width: 90px; + margin-left: 15px; + } + } +} + +.header { + .title { + flex-direction: row; + align-items: center; + } + .vl { + border-left: 1px solid $white; + height: 25px; + margin: 6px 15px; + } +} + +.k-menu-vertical > .k-menu-item.k-state-selected.material > .k-menu-link { + color: #ff4081;; +} + +.k-menu-vertical > .k-menu-item.material > .k-menu-link { + color: rgba(0, 0, 0, 0.87); +} + +.k-menu-vertical > .k-menu-item.k-state-selected.bootstrap > .k-menu-link { + color: #ffffff; +} +.k-menu-vertical > .k-menu-item.k-state-selected.bootstrap { + background-color: #0071eb; +} +.k-menu-vertical > .k-menu-item.bootstrap > .k-menu-link { + color: #212529; +} + +.k-menu-vertical > .k-menu-item.k-state-selected.default > .k-menu-link { + color: #ffffff; +} +.k-menu-vertical > .k-menu-item.k-state-selected.default { + background-color: #ff6358; +} +.k-menu-vertical > .k-menu-item.default > .k-menu-link { + color: #424242; +} + +.k-widget.k-dropdown.localeDropDownList, .k-widget.k-dropdown.ddl-theme{ + background-color: #f5f5f5; + border-radius: 2px; +} + + +.k-menu.k-menu-vertical:not(.k-context-menu){ + padding:0; +} +.k-picker.ddl-theme { + width: 60px; + min-width: 60px; +} + +.k-dropdownlist.localeDropDownList { + min-width: 100px; + margin: 10px; } \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/assets/styles/common.scss b/examples-standalone/coffee-warehouse/src/assets/styles/common.scss index b441b4f0..d1d48637 100644 --- a/examples-standalone/coffee-warehouse/src/assets/styles/common.scss +++ b/examples-standalone/coffee-warehouse/src/assets/styles/common.scss @@ -1,555 +1,555 @@ -// Normalization -body, -h1, -h2, -h3 { - margin: 0; - padding: 0; -} - -a { - text-decoration: none; -} - -// App styles -.k-drawer-container { - background-color: $background-color; - min-height: 100%; - - .k-drawer { - box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - - &.k-drawer-start { - border-right-width: 0; - } - } - - &.k-drawer-push .k-drawer { - position: sticky; - top: 80px; - height: calc(100vh - 80px); - } - - .k-drawer-item { - user-select: none; - } - - .k-drawer-content { - overflow: hidden; - } -} - -.card-container { - min-height: 100%; - background-color: $white; - padding: 40px 0; - text-align: center; - - .card-header-wrapper { - display: flex; - justify-content: space-between; - margin-bottom: 1rem; - } - - &.grid { - display: grid; - grid-template-columns: repeat(1, 1fr); - column-gap: 10px; - row-gap: 1em; - } - - .card-buttons { - .k-button { - min-width: 105px; - } - } - - .card-ranges .k-dateinput { - width: 105px; - } - - .chart-tooltip { - text-align: center; - font-size: 15px; - font-weight: bold; - } - - .card-ranges .k-i-calendar { - color: #656565; - cursor: pointer; - margin-right: 5px; - } - - .card-ranges { - white-space: nowrap; - - .k-daterangepicker { - .k-textbox-container, - .k-floating-label-container { - padding-top: 0; - min-width: 105px; - } - - .k-label { - display: none; - } - } - } - - .card-component { - grid-column: 1 / -1; - overflow: hidden; - } -} - -@media (min-width: 480px) { - .content-wrapper > .column.menu{ - display: none; - } - .card-container { - text-align: initial; - padding: 30px; - - &.grid { - grid-template-columns: repeat(2, 1fr); - } - - .card-title { - grid-column: 1 / 2; - grid-row: 1; - } - - .card-buttons { - text-align: center; - grid-column: 1 / -1; - grid-row: 2; - } - - .card-ranges { - text-align: right; - grid-column: 2 / 3; - grid-row: 1; - } - } -} - -@media (min-width: 768px) { - .content-wrapper > .column.menu{ - display: inherit; - } - .card-container { - margin: 25px; - border-radius: 5px; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - - &.grid { - grid-template-columns: repeat(3, 1fr); - } - - .card-buttons { - text-align: center; - } - - .card-ranges { - text-align: right; - grid-column: 3 / 4; - } - - .card-component { - grid-column-start: 1; - grid-column-end: -1; - } - } -} - -@media (min-width: 900px) { - .card-container { - .card-buttons { - text-align: center; - grid-column: 2 / 3; - grid-row: 1; - } - } -} - -@media (max-width: 900px) { - .card-header-wrapper { - flex-direction: column; - - .card-buttons, - .card-ranges { - margin-top: 1rem; - text-align: left; - } - } -} - -// Dashboard page -.dashboard-page { - .k-grid-toolbar .k-textbox { - margin-bottom: 10px; - } -} - -@media (min-width: 480px) { - .dashboard-page { - .k-grid-toolbar .k-textbox { - margin-bottom: 0; - float: left; - } - - .k-grid-toolbar .k-button { - float: right; - } - } -} - -@media (min-width: 768px) { - .dashboard-page { - .card-container:last-of-type { - padding-top: 30px; - } - } -} -// Planning page -.planning-page { - .card-container, - .personal-card { - grid-template-columns: repeat(1, 1fr); - } - - .personal-card { - display: grid; - grid-template-columns: repeat(1, 1fr); - grid-row-gap: 1em; - row-gap: 1em; - } - - .k-card-header { - padding-left: 10px; - padding-right: 10px; - } - - .card-title { - grid-column: 1 / -1; - } - .k-hbox { - padding: 0 20px; - background: transparent; - align-items: center; - } - .k-card-title { - font-size: 15px; - margin-bottom: -6px; - text-align: left; - } - .k-card-subtitle { - margin-top: 0; - text-transform: uppercase; - font-size: 11px; - } - .disabled { - opacity: 0.5; - } -} - -@media (min-width: 480px) { - .planning-page { - .card-container, - .personal-card { - grid-template-columns: repeat(2, 1fr); - } - - .k-hbox { - padding-left: 0; - } - } -} - -@media (min-width: 768px) { - .planning-page { - .k-hbox { - border-width: 0; - } - } -} - -@media (min-width: 960px) { - .planning-page { - .card-container { - grid-template-columns: repeat(3, 1fr); - } - - .personal-card { - grid-template-columns: repeat(2, 1fr); - } - } -} - -@media (min-width: 1130px) { - .planning-page { - .personal-card { - grid-template-columns: repeat(3, 1fr); - } - } -} - -@media (min-width: 1360px) { - .planning-page { - .card-container { - grid-template-columns: repeat(5, 1fr); - } - } -} - -@media (min-width: 1770px) { - .planning-page { - .personal-card { - grid-template-columns: repeat(5, 1fr); - } - } -} - -// Profile page -.profile-page { - .card-container { - text-align: left; - } - - .k-form .k-form-field { - display: block; - padding: 0 15px; - margin-top: 1.5rem; - } - - .k-form .k-label { - text-align: right; - } - - .k-form-field:first-of-type .k-form-field-wrap { - margin: auto; - } - - .k-form-field:first-of-type .k-avatar { - margin: 0 auto 1rem; - } - - hr { - margin-top: 2rem; - opacity: 0.2; - } - - .k-form .k-form-buttons { - justify-content: center; - - & > * { - min-width: 140px; - } - } -} - -@media (min-width: 480px) { - .profile-page { - .k-form .k-form-field { - display: flex; - } - - .k-form-field:first-of-type .k-avatar { - margin: 0; - } - } -} - -@media (min-width: 768px) { - .profile-page { - .k-form { - margin: 0 auto; - padding: 0; - } - .k-form .k-form-field { - padding: 0; - } - } -} - -// Info page -.info-page { - background-color: #06163e; - background-image: url('./assets/images/info-bg.png'); - background-position: right 0px top 0px; - color: $white; - background-repeat: no-repeat; - opacity: 0.9; - - h1, - h2, - h3, - .component-link { - font-family: Metric, Helvetica, Arial, sans-serif; - } - a:not(.k-button) { - color: $link-color; - } - - .content { - padding-top: 40px; - margin: 0 auto; - position: relative; - background-image: url('./assets/images/info-bg-line.png'); - background-repeat: repeat-y; - } - - .section-1 { - text-align: center; - h1 { - font-size: 48px; - font-weight: bold; - } - - h2 { - font-size: 30px; - margin-bottom: 53px; - } - - .button-group { - margin-bottom: 30px; - - .k-button { - display: block; - margin: 10px auto; - min-width: 145px; - width: 60%; - } - } - - .github-link { - display: inline-flex; - flex-direction: row; - align-items: center; - align-content: center; - - .github-text { - margin-left: 15px; - } - } - } - - .section-2 { - text-align: center; - margin-top: 40px; - padding: 0 15px; - } - - .section-3 { - column-count: 2; - margin-top: 40px; - padding: 0 15px; - text-align: center; - - ul { - list-style: none; - padding: 0; - margin: 0; - } - } - - .package-item { - display: inline-block; - margin-top: 20px; - } - - .package-title a { - font-size: 17px; - color: #cccccc; - text-transform: uppercase; - } - - .component-link { - padding: 5px 0; - - a { - font-size: 20px; - } - } - - .footer { - background-image: url('./assets/images/info-waves.svg'); - background-repeat: no-repeat; - height: 320px; - background-size: cover; - } -} - -@media (min-width: 480px) { - .info-page { - .content { - padding: 40px 40px 40px; - } - - .section-1 { - h1 { - font-size: 71px; - } - - h2 { - font-size: 38px; - } - - .button-group { - .k-button { - display: inline-block; - margin-right: 10px; - width: auto; - } - } - } - } -} - -@media (min-width: 992px) { - .info-page { - .section-3 { - column-count: 3; - } - } -} - -@media (min-width: 1370px) { - .info-page { - .content { - padding: 120px 40px 0; - } - .section-1, - .section-2 { - text-align: left; - padding: 0; - } - .section-3 { - text-align: left; - column-count: 4; - padding: 0; - } - } -} - -// IE11 Adjustments -@media all and (-ms-high-contrast: none) { - .k-drawer-container { - &.k-drawer-push .k-drawer { - position: static; - height: auto; - } - } - - .planning-page { - .card-title { - margin-bottom: 1rem; - text-align: left; - } - - .personal-card { - display: block; - margin-bottom: 1rem; - } - } +// Normalization +body, +h1, +h2, +h3 { + margin: 0; + padding: 0; +} + +a { + text-decoration: none; +} + +// App styles +.k-drawer-container { + background-color: $background-color; + min-height: 100%; + + .k-drawer { + box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); + + &.k-drawer-start { + border-right-width: 0; + } + } + + &.k-drawer-push .k-drawer { + position: sticky; + top: 80px; + height: calc(100vh - 80px); + } + + .k-drawer-item { + user-select: none; + } + + .k-drawer-content { + overflow: hidden; + } +} + +.card-container { + min-height: 100%; + background-color: $white; + padding: 40px 0; + text-align: center; + + .card-header-wrapper { + display: flex; + justify-content: space-between; + margin-bottom: 1rem; + } + + &.grid { + display: grid; + grid-template-columns: repeat(1, 1fr); + column-gap: 10px; + row-gap: 1em; + } + + .card-buttons { + .k-button { + min-width: 105px; + } + } + + .card-ranges .k-dateinput { + width: 105px; + } + + .chart-tooltip { + text-align: center; + font-size: 15px; + font-weight: bold; + } + + .card-ranges .k-i-calendar { + color: #656565; + cursor: pointer; + margin-right: 5px; + } + + .card-ranges { + white-space: nowrap; + + .k-daterangepicker { + .k-textbox-container, + .k-floating-label-container { + padding-top: 0; + min-width: 105px; + } + + .k-label { + display: none; + } + } + } + + .card-component { + grid-column: 1 / -1; + overflow: hidden; + } +} + +@media (min-width: 480px) { + .content-wrapper > .column.menu{ + display: none; + } + .card-container { + text-align: initial; + padding: 30px; + + &.grid { + grid-template-columns: repeat(2, 1fr); + } + + .card-title { + grid-column: 1 / 2; + grid-row: 1; + } + + .card-buttons { + text-align: center; + grid-column: 1 / -1; + grid-row: 2; + } + + .card-ranges { + text-align: right; + grid-column: 2 / 3; + grid-row: 1; + } + } +} + +@media (min-width: 768px) { + .content-wrapper > .column.menu{ + display: inherit; + } + .card-container { + margin: 25px; + border-radius: 5px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); + + &.grid { + grid-template-columns: repeat(3, 1fr); + } + + .card-buttons { + text-align: center; + } + + .card-ranges { + text-align: right; + grid-column: 3 / 4; + } + + .card-component { + grid-column-start: 1; + grid-column-end: -1; + } + } +} + +@media (min-width: 900px) { + .card-container { + .card-buttons { + text-align: center; + grid-column: 2 / 3; + grid-row: 1; + } + } +} + +@media (max-width: 900px) { + .card-header-wrapper { + flex-direction: column; + + .card-buttons, + .card-ranges { + margin-top: 1rem; + text-align: left; + } + } +} + +// Dashboard page +.dashboard-page { + .k-grid-toolbar .k-textbox { + margin-bottom: 10px; + } +} + +@media (min-width: 480px) { + .dashboard-page { + .k-grid-toolbar .k-textbox { + margin-bottom: 0; + float: left; + } + + .k-grid-toolbar .k-button { + float: right; + } + } +} + +@media (min-width: 768px) { + .dashboard-page { + .card-container:last-of-type { + padding-top: 30px; + } + } +} +// Planning page +.planning-page { + .card-container, + .personal-card { + grid-template-columns: repeat(1, 1fr); + } + + .personal-card { + display: grid; + grid-template-columns: repeat(1, 1fr); + grid-row-gap: 1em; + row-gap: 1em; + } + + .k-card-header { + padding-left: 10px; + padding-right: 10px; + } + + .card-title { + grid-column: 1 / -1; + } + .k-hbox { + padding: 0 20px; + background: transparent; + align-items: center; + } + .k-card-title { + font-size: 15px; + margin-bottom: -6px; + text-align: left; + } + .k-card-subtitle { + margin-top: 0; + text-transform: uppercase; + font-size: 11px; + } + .disabled { + opacity: 0.5; + } +} + +@media (min-width: 480px) { + .planning-page { + .card-container, + .personal-card { + grid-template-columns: repeat(2, 1fr); + } + + .k-hbox { + padding-left: 0; + } + } +} + +@media (min-width: 768px) { + .planning-page { + .k-hbox { + border-width: 0; + } + } +} + +@media (min-width: 960px) { + .planning-page { + .card-container { + grid-template-columns: repeat(3, 1fr); + } + + .personal-card { + grid-template-columns: repeat(2, 1fr); + } + } +} + +@media (min-width: 1130px) { + .planning-page { + .personal-card { + grid-template-columns: repeat(3, 1fr); + } + } +} + +@media (min-width: 1360px) { + .planning-page { + .card-container { + grid-template-columns: repeat(5, 1fr); + } + } +} + +@media (min-width: 1770px) { + .planning-page { + .personal-card { + grid-template-columns: repeat(5, 1fr); + } + } +} + +// Profile page +.profile-page { + .card-container { + text-align: left; + } + + .k-form .k-form-field { + display: block; + padding: 0 15px; + margin-top: 1.5rem; + } + + .k-form .k-label { + text-align: right; + } + + .k-form-field:first-of-type .k-form-field-wrap { + margin: auto; + } + + .k-form-field:first-of-type .k-avatar { + margin: 0 auto 1rem; + } + + hr { + margin-top: 2rem; + opacity: 0.2; + } + + .k-form .k-form-buttons { + justify-content: center; + + & > * { + min-width: 140px; + } + } +} + +@media (min-width: 480px) { + .profile-page { + .k-form .k-form-field { + display: flex; + } + + .k-form-field:first-of-type .k-avatar { + margin: 0; + } + } +} + +@media (min-width: 768px) { + .profile-page { + .k-form { + margin: 0 auto; + padding: 0; + } + .k-form .k-form-field { + padding: 0; + } + } +} + +// Info page +.info-page { + background-color: #06163e; + background-image: url('./assets/images/info-bg.png'); + background-position: right 0px top 0px; + color: $white; + background-repeat: no-repeat; + opacity: 0.9; + + h1, + h2, + h3, + .component-link { + font-family: Metric, Helvetica, Arial, sans-serif; + } + a:not(.k-button) { + color: $link-color; + } + + .content { + padding-top: 40px; + margin: 0 auto; + position: relative; + background-image: url('./assets/images/info-bg-line.png'); + background-repeat: repeat-y; + } + + .section-1 { + text-align: center; + h1 { + font-size: 48px; + font-weight: bold; + } + + h2 { + font-size: 30px; + margin-bottom: 53px; + } + + .button-group { + margin-bottom: 30px; + + .k-button { + display: block; + margin: 10px auto; + min-width: 145px; + width: 60%; + } + } + + .github-link { + display: inline-flex; + flex-direction: row; + align-items: center; + align-content: center; + + .github-text { + margin-left: 15px; + } + } + } + + .section-2 { + text-align: center; + margin-top: 40px; + padding: 0 15px; + } + + .section-3 { + column-count: 2; + margin-top: 40px; + padding: 0 15px; + text-align: center; + + ul { + list-style: none; + padding: 0; + margin: 0; + } + } + + .package-item { + display: inline-block; + margin-top: 20px; + } + + .package-title a { + font-size: 17px; + color: #cccccc; + text-transform: uppercase; + } + + .component-link { + padding: 5px 0; + + a { + font-size: 20px; + } + } + + .footer { + background-image: url('./assets/images/info-waves.svg'); + background-repeat: no-repeat; + height: 320px; + background-size: cover; + } +} + +@media (min-width: 480px) { + .info-page { + .content { + padding: 40px 40px 40px; + } + + .section-1 { + h1 { + font-size: 71px; + } + + h2 { + font-size: 38px; + } + + .button-group { + .k-button { + display: inline-block; + margin-right: 10px; + width: auto; + } + } + } + } +} + +@media (min-width: 992px) { + .info-page { + .section-3 { + column-count: 3; + } + } +} + +@media (min-width: 1370px) { + .info-page { + .content { + padding: 120px 40px 0; + } + .section-1, + .section-2 { + text-align: left; + padding: 0; + } + .section-3 { + text-align: left; + column-count: 4; + padding: 0; + } + } +} + +// IE11 Adjustments +@media all and (-ms-high-contrast: none) { + .k-drawer-container { + &.k-drawer-push .k-drawer { + position: static; + height: auto; + } + } + + .planning-page { + .card-title { + margin-bottom: 1rem; + text-align: left; + } + + .personal-card { + display: block; + margin-bottom: 1rem; + } + } } \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/assets/styles/variables.scss b/examples-standalone/coffee-warehouse/src/assets/styles/variables.scss index 8eb1b456..9ccf7513 100644 --- a/examples-standalone/coffee-warehouse/src/assets/styles/variables.scss +++ b/examples-standalone/coffee-warehouse/src/assets/styles/variables.scss @@ -1,9 +1,9 @@ -// Global variables here -$background-color: #D4D6E4; -$info-background: #151950; -$link-color: #71A6FF; -$white: #FFFFFF; -$tiger-team: #FF6358; -$lemon-team: #FFD246; -$organic-team: #55AB1D; +// Global variables here +$background-color: #D4D6E4; +$info-background: #151950; +$link-color: #71A6FF; +$white: #FFFFFF; +$tiger-team: #FF6358; +$lemon-team: #FFD246; +$organic-team: #55AB1D; $ocean-team: #28B4C8; \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/assets/validators.js b/examples-standalone/coffee-warehouse/src/assets/validators.js index dee693c8..1754b701 100644 --- a/examples-standalone/coffee-warehouse/src/assets/validators.js +++ b/examples-standalone/coffee-warehouse/src/assets/validators.js @@ -1,89 +1,89 @@ -import { getter } from '@progress/kendo-vue-common'; - -const emailRegex = new RegExp(/\S+@\S+\.\S+/); -const phoneRegex = new RegExp(/^[0-9 ()+-]+$/); -const ccardRegex = new RegExp(/^[0-9-]+$/); -const cvcRegex = new RegExp(/^[0-9]+$/); - -export const termsValidator = value => - value ? '' : "It's required to agree with Terms and Conditions."; -export const emailValidator = value => - !value - ? 'Error: Email field is required.' - : emailRegex.test(value) - ? '' - : 'Email is not in a valid format.'; -export const firstNameValidator = value => { - return !value - ? 'Error: First Name is required' - : value.length < 2 - ? 'First Name should be at least 2 characters long.' - : ''; -} -export const lastNameValidator = value => - !value - ? 'Error: Last Name is required' - : value.length < 2 - ? 'Last Name should be at least 2 characters long.' - : ''; -export const userNameValidator = value => - !value - ? 'User Name is required' - : value.length < 5 - ? 'User name should be at least 5 characters long.' - : ''; -export const phoneValidator = value => - !value - ? 'Phone number is required.' - : phoneRegex.test(value) - ? '' - : 'Not a valid phone number.'; -export const cardValidator = value => - !value - ? 'Credit card number is required. ' - : ccardRegex.test(value) - ? '' - : 'Not a valid credit card number format.'; -export const cvcValidator = value => - !value - ? 'CVC code is required,' - : cvcRegex.test(value) || value.length !== 3 - ? '' - : 'Not a valid CVC code format.'; -export const guestsValidator = value => - !value - ? 'Number of guests is required' - : value <= 5 - ? '' - : 'Maximum 5 guests'; -export const nightsValidator = value => - value ? '' : 'Number of Nights is required.'; -export const arrivalDateValidator = value => - value ? '' : 'Arrival Date is required.'; -export const colorValidator = value => (value ? '' : 'Color is required.'); -export const requiredValidator = value => - value ? '' : 'Error: This field is required.'; -export const passwordValidator = value => - value && value.length > 8 ? '' : 'Password must be at least 8 symbols.'; -export const addressValidator = value => (value ? '' : 'Address is required.'); - -const userNameGetter = getter('username'); -const emailGetter = getter('email'); - -export const formValidator = values => { - const userName = userNameGetter(values); - const emailValue = emailGetter(values); - - if (userName && emailValue && emailRegex.test(emailValue)) { - return {}; - } - - return { - VALIDATION_SUMMARY: 'Please fill in the following fields.', - ['username']: !userName ? 'User Name is required.' : '', - ['email']: - emailValue && emailRegex.test(emailValue) - ? '' - : 'Email is required and should be in a valid format.' - }; -}; +import { getter } from '@progress/kendo-vue-common'; + +const emailRegex = new RegExp(/\S+@\S+\.\S+/); +const phoneRegex = new RegExp(/^[0-9 ()+-]+$/); +const ccardRegex = new RegExp(/^[0-9-]+$/); +const cvcRegex = new RegExp(/^[0-9]+$/); + +export const termsValidator = value => + value ? '' : "It's required to agree with Terms and Conditions."; +export const emailValidator = value => + !value + ? 'Error: Email field is required.' + : emailRegex.test(value) + ? '' + : 'Email is not in a valid format.'; +export const firstNameValidator = value => { + return !value + ? 'Error: First Name is required' + : value.length < 2 + ? 'First Name should be at least 2 characters long.' + : ''; +} +export const lastNameValidator = value => + !value + ? 'Error: Last Name is required' + : value.length < 2 + ? 'Last Name should be at least 2 characters long.' + : ''; +export const userNameValidator = value => + !value + ? 'User Name is required' + : value.length < 5 + ? 'User name should be at least 5 characters long.' + : ''; +export const phoneValidator = value => + !value + ? 'Phone number is required.' + : phoneRegex.test(value) + ? '' + : 'Not a valid phone number.'; +export const cardValidator = value => + !value + ? 'Credit card number is required. ' + : ccardRegex.test(value) + ? '' + : 'Not a valid credit card number format.'; +export const cvcValidator = value => + !value + ? 'CVC code is required,' + : cvcRegex.test(value) || value.length !== 3 + ? '' + : 'Not a valid CVC code format.'; +export const guestsValidator = value => + !value + ? 'Number of guests is required' + : value <= 5 + ? '' + : 'Maximum 5 guests'; +export const nightsValidator = value => + value ? '' : 'Number of Nights is required.'; +export const arrivalDateValidator = value => + value ? '' : 'Arrival Date is required.'; +export const colorValidator = value => (value ? '' : 'Color is required.'); +export const requiredValidator = value => + value ? '' : 'Error: This field is required.'; +export const passwordValidator = value => + value && value.length > 8 ? '' : 'Password must be at least 8 symbols.'; +export const addressValidator = value => (value ? '' : 'Address is required.'); + +const userNameGetter = getter('username'); +const emailGetter = getter('email'); + +export const formValidator = values => { + const userName = userNameGetter(values); + const emailValue = emailGetter(values); + + if (userName && emailValue && emailRegex.test(emailValue)) { + return {}; + } + + return { + VALIDATION_SUMMARY: 'Please fill in the following fields.', + ['username']: !userName ? 'User Name is required.' : '', + ['email']: + emailValue && emailRegex.test(emailValue) + ? '' + : 'Email is required and should be in a valid format.' + }; +}; diff --git a/examples-standalone/coffee-warehouse/src/common/sample-products.js b/examples-standalone/coffee-warehouse/src/common/sample-products.js index 201b666f..73ef9e3d 100644 --- a/examples-standalone/coffee-warehouse/src/common/sample-products.js +++ b/examples-standalone/coffee-warehouse/src/common/sample-products.js @@ -1,182 +1,182 @@ -export const sampleProducts = [ - { - "ProductID": 1, - "ProductName": "Chai", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "10 boxes x 20 bags", - "UnitPrice": 18, - "UnitsInStock": 39, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - }, - "FirstOrderedOn": new Date(1996, 8, 20) - }, - { - "ProductID": 2, - "ProductName": "Chang", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 19, - "UnitsInStock": 17, - "UnitsOnOrder": 40, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - }, - "FirstOrderedOn": new Date(1996, 7, 12) - }, - { - "ProductID": 3, - "ProductName": "Aniseed Syrup", - "SupplierID": 1, - "CategoryID": 2, - "QuantityPerUnit": "12 - 550 ml bottles", - "UnitPrice": 10, - "UnitsInStock": 13, - "UnitsOnOrder": 70, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 8, 26) - }, - { - "ProductID": 4, - "ProductName": "Chef Anton's Cajun Seasoning", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "48 - 6 oz jars", - "UnitPrice": 22, - "UnitsInStock": 53, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 9, 19) - }, - { - "ProductID": 5, - "ProductName": "Chef Anton's Gumbo Mix", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "36 boxes", - "UnitPrice": 21.35, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 7, 17) - }, - { - "ProductID": 6, - "ProductName": "Grandma's Boysenberry Spread", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 8 oz jars", - "UnitPrice": 25, - "UnitsInStock": 120, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 9, 19) - }, - { - "ProductID": 7, - "ProductName": "Uncle Bob's Organic Dried Pears", - "SupplierID": 3, - "CategoryID": 7, - "QuantityPerUnit": "12 - 1 lb pkgs.", - "UnitPrice": 30, - "UnitsInStock": 15, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - }, - "FirstOrderedOn": new Date(1996, 7, 22) - }, - { - "ProductID": 8, - "ProductName": "Northwoods Cranberry Sauce", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 12 oz jars", - "UnitPrice": 40, - "UnitsInStock": 6, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 11, 1) - }, - { - "ProductID": 9, - "ProductName": "Mishi Kobe Niku", - "SupplierID": 4, - "CategoryID": 6, - "QuantityPerUnit": "18 - 500 g pkgs.", - "UnitPrice": 97, - "UnitsInStock": 29, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - }, - "FirstOrderedOn": new Date(1997, 1, 21) - }, - { - "ProductID": 10, - "ProductName": "Ikura", - "SupplierID": 4, - "CategoryID": 8, - "QuantityPerUnit": "12 - 200 ml jars", - "UnitPrice": 31, - "UnitsInStock": 31, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - }, - "FirstOrderedOn": new Date(1996, 8, 5) - } +export const sampleProducts = [ + { + "ProductID": 1, + "ProductName": "Chai", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "10 boxes x 20 bags", + "UnitPrice": 18, + "UnitsInStock": 39, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + }, + "FirstOrderedOn": new Date(1996, 8, 20) + }, + { + "ProductID": 2, + "ProductName": "Chang", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 19, + "UnitsInStock": 17, + "UnitsOnOrder": 40, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales" + }, + "FirstOrderedOn": new Date(1996, 7, 12) + }, + { + "ProductID": 3, + "ProductName": "Aniseed Syrup", + "SupplierID": 1, + "CategoryID": 2, + "QuantityPerUnit": "12 - 550 ml bottles", + "UnitPrice": 10, + "UnitsInStock": 13, + "UnitsOnOrder": 70, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 8, 26) + }, + { + "ProductID": 4, + "ProductName": "Chef Anton's Cajun Seasoning", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "48 - 6 oz jars", + "UnitPrice": 22, + "UnitsInStock": 53, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 9, 19) + }, + { + "ProductID": 5, + "ProductName": "Chef Anton's Gumbo Mix", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "36 boxes", + "UnitPrice": 21.35, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 7, 17) + }, + { + "ProductID": 6, + "ProductName": "Grandma's Boysenberry Spread", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 8 oz jars", + "UnitPrice": 25, + "UnitsInStock": 120, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 9, 19) + }, + { + "ProductID": 7, + "ProductName": "Uncle Bob's Organic Dried Pears", + "SupplierID": 3, + "CategoryID": 7, + "QuantityPerUnit": "12 - 1 lb pkgs.", + "UnitPrice": 30, + "UnitsInStock": 15, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false, + "Category": { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd" + }, + "FirstOrderedOn": new Date(1996, 7, 22) + }, + { + "ProductID": 8, + "ProductName": "Northwoods Cranberry Sauce", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 12 oz jars", + "UnitPrice": 40, + "UnitsInStock": 6, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" + }, + "FirstOrderedOn": new Date(1996, 11, 1) + }, + { + "ProductID": 9, + "ProductName": "Mishi Kobe Niku", + "SupplierID": 4, + "CategoryID": 6, + "QuantityPerUnit": "18 - 500 g pkgs.", + "UnitPrice": 97, + "UnitsInStock": 29, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": true, + "Category": { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats" + }, + "FirstOrderedOn": new Date(1997, 1, 21) + }, + { + "ProductID": 10, + "ProductName": "Ikura", + "SupplierID": 4, + "CategoryID": 8, + "QuantityPerUnit": "12 - 200 ml jars", + "UnitPrice": 31, + "UnitsInStock": 31, + "UnitsOnOrder": 0, + "ReorderLevel": 0, + "Discontinued": false, + "Category": { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish" + }, + "FirstOrderedOn": new Date(1996, 8, 5) + } ]; \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/components/Dashboard.vue b/examples-standalone/coffee-warehouse/src/components/Dashboard.vue index 2d9f13ba..5466729f 100644 --- a/examples-standalone/coffee-warehouse/src/components/Dashboard.vue +++ b/examples-standalone/coffee-warehouse/src/components/Dashboard.vue @@ -1,303 +1,303 @@ - - - - - \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/components/GridComponents/BudgetComponent.vue b/examples-standalone/coffee-warehouse/src/components/GridComponents/BudgetComponent.vue index 8c20da4a..865b74a3 100644 --- a/examples-standalone/coffee-warehouse/src/components/GridComponents/BudgetComponent.vue +++ b/examples-standalone/coffee-warehouse/src/components/GridComponents/BudgetComponent.vue @@ -1,23 +1,23 @@ - - - + + + diff --git a/examples-standalone/coffee-warehouse/src/components/GridComponents/ContactNameComponent.vue b/examples-standalone/coffee-warehouse/src/components/GridComponents/ContactNameComponent.vue index 9a9cb69d..010cf60f 100644 --- a/examples-standalone/coffee-warehouse/src/components/GridComponents/ContactNameComponent.vue +++ b/examples-standalone/coffee-warehouse/src/components/GridComponents/ContactNameComponent.vue @@ -1,24 +1,24 @@ - - - + + + diff --git a/examples-standalone/coffee-warehouse/src/components/GridComponents/EngagementComponent.vue b/examples-standalone/coffee-warehouse/src/components/GridComponents/EngagementComponent.vue index 707312cc..b485d1f0 100644 --- a/examples-standalone/coffee-warehouse/src/components/GridComponents/EngagementComponent.vue +++ b/examples-standalone/coffee-warehouse/src/components/GridComponents/EngagementComponent.vue @@ -1,49 +1,49 @@ - - - + + + diff --git a/examples-standalone/coffee-warehouse/src/components/GridComponents/FlagComponent.vue b/examples-standalone/coffee-warehouse/src/components/GridComponents/FlagComponent.vue index 513dba67..f92eac3a 100644 --- a/examples-standalone/coffee-warehouse/src/components/GridComponents/FlagComponent.vue +++ b/examples-standalone/coffee-warehouse/src/components/GridComponents/FlagComponent.vue @@ -1,21 +1,21 @@ - - - + + + diff --git a/examples-standalone/coffee-warehouse/src/components/GridComponents/IsOnlineComponent.vue b/examples-standalone/coffee-warehouse/src/components/GridComponents/IsOnlineComponent.vue index 92e8bff6..715c4ff8 100644 --- a/examples-standalone/coffee-warehouse/src/components/GridComponents/IsOnlineComponent.vue +++ b/examples-standalone/coffee-warehouse/src/components/GridComponents/IsOnlineComponent.vue @@ -1,18 +1,18 @@ - - - + + + diff --git a/examples-standalone/coffee-warehouse/src/components/Header.vue b/examples-standalone/coffee-warehouse/src/components/Header.vue index 2b807c65..25c3c008 100644 --- a/examples-standalone/coffee-warehouse/src/components/Header.vue +++ b/examples-standalone/coffee-warehouse/src/components/Header.vue @@ -1,127 +1,127 @@ - - - - \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/components/Info.vue b/examples-standalone/coffee-warehouse/src/components/Info.vue index a871ad98..6f93b284 100644 --- a/examples-standalone/coffee-warehouse/src/components/Info.vue +++ b/examples-standalone/coffee-warehouse/src/components/Info.vue @@ -1,338 +1,338 @@ - - - - - + + + + + diff --git a/examples-standalone/coffee-warehouse/src/components/MenuNavContainer.vue b/examples-standalone/coffee-warehouse/src/components/MenuNavContainer.vue index 60f4595a..0af01337 100644 --- a/examples-standalone/coffee-warehouse/src/components/MenuNavContainer.vue +++ b/examples-standalone/coffee-warehouse/src/components/MenuNavContainer.vue @@ -1,148 +1,154 @@ - - - \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/components/Profile.vue b/examples-standalone/coffee-warehouse/src/components/Profile.vue index 04001463..424aea85 100644 --- a/examples-standalone/coffee-warehouse/src/components/Profile.vue +++ b/examples-standalone/coffee-warehouse/src/components/Profile.vue @@ -1,61 +1,61 @@ - - - \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormAutoComplete.vue b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormAutoComplete.vue index 2e8927f4..224cc3eb 100644 --- a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormAutoComplete.vue +++ b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormAutoComplete.vue @@ -1,80 +1,80 @@ - - + + diff --git a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormContent.vue b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormContent.vue index d3aa01bb..84599bd5 100644 --- a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormContent.vue +++ b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormContent.vue @@ -1,254 +1,254 @@ - - - \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormInput.vue b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormInput.vue index ee316f83..f1be1812 100644 --- a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormInput.vue +++ b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormInput.vue @@ -1,88 +1,88 @@ - - + + diff --git a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormMaskedTextBox.vue b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormMaskedTextBox.vue index 4602deed..e24fe79f 100644 --- a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormMaskedTextBox.vue +++ b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormMaskedTextBox.vue @@ -1,82 +1,82 @@ - - + + diff --git a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormRadioGroup.vue b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormRadioGroup.vue index 5da94e14..d4d0a0c9 100644 --- a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormRadioGroup.vue +++ b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormRadioGroup.vue @@ -1,98 +1,98 @@ - - + + diff --git a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormTextArea.vue b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormTextArea.vue index cb49e4c3..764b0f21 100644 --- a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormTextArea.vue +++ b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormTextArea.vue @@ -1,80 +1,80 @@ - - + + diff --git a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormUpload.vue b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormUpload.vue index 4cbeca79..18560e4c 100644 --- a/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormUpload.vue +++ b/examples-standalone/coffee-warehouse/src/components/ProfileComponents/FormUpload.vue @@ -1,106 +1,106 @@ - - - - \ No newline at end of file diff --git a/examples-standalone/coffee-warehouse/src/components/Team.vue b/examples-standalone/coffee-warehouse/src/components/Team.vue index 21641a02..94f181b7 100644 --- a/examples-standalone/coffee-warehouse/src/components/Team.vue +++ b/examples-standalone/coffee-warehouse/src/components/Team.vue @@ -1,480 +1,480 @@ - - - - - + + + + + diff --git a/examples-standalone/vite-coffee-warehouse/src/index.js b/examples-standalone/coffee-warehouse/src/index.js similarity index 90% rename from examples-standalone/vite-coffee-warehouse/src/index.js rename to examples-standalone/coffee-warehouse/src/index.js index 89bc4439..745d10f9 100644 --- a/examples-standalone/vite-coffee-warehouse/src/index.js +++ b/examples-standalone/coffee-warehouse/src/index.js @@ -29,7 +29,7 @@ const routes = [ ]; const router = createRouter({ - history: createWebHistory("/kendo-vue/vite-coffee-warehouse/"), + history: createWebHistory("/kendo-vue/coffee-warehouse/"), routes, }); diff --git a/examples-standalone/coffee-warehouse/src/main.js b/examples-standalone/coffee-warehouse/src/main.js index c2028398..0d53d442 100644 --- a/examples-standalone/coffee-warehouse/src/main.js +++ b/examples-standalone/coffee-warehouse/src/main.js @@ -1,5 +1,9 @@ -import { createApp } from 'vue' -import App from './App.vue' -import router from "./router"; - -createApp(App).use(router).mount('#app') +import { createApp } from 'vue' +// Import our custom CSS +import './assets/styles/app.scss' + +import router from "./index.js"; + +import App from './App.vue' + +createApp(App).use(router).mount('#app') diff --git a/examples-standalone/coffee-warehouse/src/messages/es.js b/examples-standalone/coffee-warehouse/src/messages/es.js index 833e1844..fd5b1251 100644 --- a/examples-standalone/coffee-warehouse/src/messages/es.js +++ b/examples-standalone/coffee-warehouse/src/messages/es.js @@ -1,121 +1,121 @@ -// Custom Messages -export const esCustomMessages = { - teamEfficiency: 'Eficiencia del equipo', - teamMembers: 'Miembros del equipo', - dashboard: 'Tablero', - planning: 'Planificación', - info: 'Informacion', - profile: 'Perfil', - language: 'Idioma', - trend: 'Tendencia', - volume: 'Volumen', - myTeam: 'Mi equipo', - allTeams: 'Todos los equipos', - teamCalendar: 'Calendario del equipo', - saveChanges: 'Guardar cambios', - cancel: 'Cancelar', - warehouse: 'Almacén De Café', - startFreeTrial: 'Iniciar prueba gratuita', - buyNow: 'Comprar ahora', - getSource: 'Obtenga el código fuente en GitHub', - demoInfo: - 'Esta aplicación de demostración está construida utilizando los siguientes componentes de Kendo UI for Vue.', - firstName: 'Primer nombre', - middleName: 'Segundo nombre', - lastName: 'Apellido', - email: 'Dirección de correo electrónico', - phoneNumber: 'Número de teléfono', - country: 'País', - biography: 'Biografía corta', - public: 'Incluir en directorio público', - team: 'Equipo', - employee: 'Empleado', - contactName: 'Nombre de contacto', - jobTitle: 'Título del trabajo', - status: 'Estado', - performance: 'Rendimiento', - rating: 'Clasificación', - engagement: 'Compromiso', - budget: 'Presupuesto', - contacts: 'Contactos', - address: 'Dirección', - phone: 'Teléfono', - gridSearch: 'Buscar en todas las columnas ...', - exportExcel: 'Exportar a Excel', - exportPdf: 'Exportar a PDF' -}; - -// Kendo Vue Component Messages -export const esComponentMessages = { - "datepicker": { - "toggleCalendar": "Alternar calendario" - }, - "calendar": { - "today": "Hoy" - }, - "dateinput": { - "increment": "Incrementar valor", - "decrement": "Disminuir valor" - }, - "datetimepicker": { - "date": "Fecha", - "time": "Hora", - "cancel": "Cancelar", - "set": "Establecer" - }, - "numerictextbox": { - "increment": "Incrementar valor", - "decrement": "Disminuir valor" - }, - "timepicker": { - "now": "AHORA", - "set": "Establecer", - "cancel": "Cancelar" - }, - "grid": { - "groupPanelEmpty": "Arrastre el título de una columna y suéltelo aquí para agrupar por ese criterio", - "noRecords": "No hay datos disponibles.", - "pagerFirstPage": "Ir a la primera página", - "pagerPreviousPage": "Ir a la página anterior", - "pagerNextPage": "Ir a la página siguiente", - "pagerLastPage": "Ir a la última página", - "pagerPage": "Página", - "pagerOf": "de", - "pagerItems": "ítems", - "pagerInfo": "{0} - {1} de {2} ítems", - "pagerItemsPerPage": "ítems por página", - "filterEqOperator": "Es igual a", - "filterNotEqOperator": "No es igual a", - "filterIsNullOperator": "Es nulo", - "filterIsNotNullOperator": "No es nulo", - "filterIsEmptyOperator": "Está vacío", - "filterIsNotEmptyOperator": "No está vacío", - "filterStartsWithOperator": "Comienza con", - "filterContainsOperator": "Contiene", - "filterNotContainsOperator": "No contiene", - "filterEndsWithOperator": "Termina en", - "filterGteOperator": "Es mayor o igual que", - "filterGtOperator": "Es mayor que", - "filterLteOperator": "Es menor o igual que", - "filterLtOperator": "Es menor o igual que", - "filterIsTrue": "Sí", - "filterIsFalse": "No", - "filterBooleanAll": "(Todas)", - "filterAfterOrEqualOperator": "Es posterior o igual a", - "filterAfterOperator": "Es posterior", - "filterBeforeOperator": "Es anterior", - "filterBeforeOrEqualOperator": "Es anterior o igual a", - "filterSubmitButton": "Filtrar", - "filterClearButton": "Limpiar", - "filterAndLogic": "Y", - "filterOrLogic": "O", - "filterTitle": "Filtros", - "sortAscending": "Orden ascendente", - "sortDescending": "Orden descendente" - }, - "upload": { - "cancel": "Cancelar", - "dropFilesHere": "Arrastre los archivos aquí para subirlos", - "select": "Seleccione...", - }, -}; +// Custom Messages +export const esCustomMessages = { + teamEfficiency: 'Eficiencia del equipo', + teamMembers: 'Miembros del equipo', + dashboard: 'Tablero', + planning: 'Planificación', + info: 'Informacion', + profile: 'Perfil', + language: 'Idioma', + trend: 'Tendencia', + volume: 'Volumen', + myTeam: 'Mi equipo', + allTeams: 'Todos los equipos', + teamCalendar: 'Calendario del equipo', + saveChanges: 'Guardar cambios', + cancel: 'Cancelar', + warehouse: 'Almacén De Café', + startFreeTrial: 'Iniciar prueba gratuita', + buyNow: 'Comprar ahora', + getSource: 'Obtenga el código fuente en GitHub', + demoInfo: + 'Esta aplicación de demostración está construida utilizando los siguientes componentes de Kendo UI for Vue.', + firstName: 'Primer nombre', + middleName: 'Segundo nombre', + lastName: 'Apellido', + email: 'Dirección de correo electrónico', + phoneNumber: 'Número de teléfono', + country: 'País', + biography: 'Biografía corta', + public: 'Incluir en directorio público', + team: 'Equipo', + employee: 'Empleado', + contactName: 'Nombre de contacto', + jobTitle: 'Título del trabajo', + status: 'Estado', + performance: 'Rendimiento', + rating: 'Clasificación', + engagement: 'Compromiso', + budget: 'Presupuesto', + contacts: 'Contactos', + address: 'Dirección', + phone: 'Teléfono', + gridSearch: 'Buscar en todas las columnas ...', + exportExcel: 'Exportar a Excel', + exportPdf: 'Exportar a PDF' +}; + +// Kendo Vue Component Messages +export const esComponentMessages = { + "datepicker": { + "toggleCalendar": "Alternar calendario" + }, + "calendar": { + "today": "Hoy" + }, + "dateinput": { + "increment": "Incrementar valor", + "decrement": "Disminuir valor" + }, + "datetimepicker": { + "date": "Fecha", + "time": "Hora", + "cancel": "Cancelar", + "set": "Establecer" + }, + "numerictextbox": { + "increment": "Incrementar valor", + "decrement": "Disminuir valor" + }, + "timepicker": { + "now": "AHORA", + "set": "Establecer", + "cancel": "Cancelar" + }, + "grid": { + "groupPanelEmpty": "Arrastre el título de una columna y suéltelo aquí para agrupar por ese criterio", + "noRecords": "No hay datos disponibles.", + "pagerFirstPage": "Ir a la primera página", + "pagerPreviousPage": "Ir a la página anterior", + "pagerNextPage": "Ir a la página siguiente", + "pagerLastPage": "Ir a la última página", + "pagerPage": "Página", + "pagerOf": "de", + "pagerItems": "ítems", + "pagerInfo": "{0} - {1} de {2} ítems", + "pagerItemsPerPage": "ítems por página", + "filterEqOperator": "Es igual a", + "filterNotEqOperator": "No es igual a", + "filterIsNullOperator": "Es nulo", + "filterIsNotNullOperator": "No es nulo", + "filterIsEmptyOperator": "Está vacío", + "filterIsNotEmptyOperator": "No está vacío", + "filterStartsWithOperator": "Comienza con", + "filterContainsOperator": "Contiene", + "filterNotContainsOperator": "No contiene", + "filterEndsWithOperator": "Termina en", + "filterGteOperator": "Es mayor o igual que", + "filterGtOperator": "Es mayor que", + "filterLteOperator": "Es menor o igual que", + "filterLtOperator": "Es menor o igual que", + "filterIsTrue": "Sí", + "filterIsFalse": "No", + "filterBooleanAll": "(Todas)", + "filterAfterOrEqualOperator": "Es posterior o igual a", + "filterAfterOperator": "Es posterior", + "filterBeforeOperator": "Es anterior", + "filterBeforeOrEqualOperator": "Es anterior o igual a", + "filterSubmitButton": "Filtrar", + "filterClearButton": "Limpiar", + "filterAndLogic": "Y", + "filterOrLogic": "O", + "filterTitle": "Filtros", + "sortAscending": "Orden ascendente", + "sortDescending": "Orden descendente" + }, + "upload": { + "cancel": "Cancelar", + "dropFilesHere": "Arrastre los archivos aquí para subirlos", + "select": "Seleccione...", + }, +}; diff --git a/examples-standalone/coffee-warehouse/src/messages/fr.js b/examples-standalone/coffee-warehouse/src/messages/fr.js index 202fc486..aef5f699 100644 --- a/examples-standalone/coffee-warehouse/src/messages/fr.js +++ b/examples-standalone/coffee-warehouse/src/messages/fr.js @@ -1,121 +1,121 @@ -// Custom Messages -export const frCustomMessages = { - teamEfficiency: "Efficacité de l'équipe", - teamMembers: "Membres de l'équipe", - dashboard: 'Tableau de bord', - planning: 'Planification', - info: 'Info', - profile: 'Profil', - language: 'Langue', - trend: 'Tendance', - volume: 'Le volume', - myTeam: 'Mon équipe', - allTeams: 'Toutes les équipes', - teamCalendar: "Calendrier d'équipe", - saveChanges: 'Sauvegarder les modifications', - cancel: 'Annuler', - warehouse: 'Entrepôt De Café', - startFreeTrial: "Démarrer l'essai gratuit", - buyNow: 'Acheter maintenant', - getSource: 'Récupérer le code source sur GitHub', - demoInfo: - "Cette application de démonstration est construite à l'aide des composants Kendo UI for Vue.", - firstName: 'Prénom', - middleName: 'Deuxième nom', - lastName: 'Nom de famille', - email: 'Adresse e-mail', - phoneNumber: 'Numéro de téléphone', - country: 'Pays', - biography: 'Biographie courte', - public: 'Inclure dans le répertoire public', - team: 'Équipe', - employee: 'Employé', - contactName: 'Nom du contact', - jobTitle: 'Titre du poste', - status: 'Statut', - performance: 'Performance', - rating: 'Évaluation', - engagement: 'Engagement', - budget: 'Budget', - contacts: 'Contacts', - address: 'Adresse', - phone: 'Téléphone', - gridSearch: 'Rechercher dans toutes les colonnes ...', - exportExcel: 'Exporter vers Excel', - exportPdf: 'Exporter au format PDF' -}; - -export const frComponentMessages = { - "grid": { - "groupPanelEmpty": "Faites glisser un en-tête de colonne et déposez-le ici pour grouper par cette colonne", - "pagerItemsPerPage": "éléments par page", - "pagerInfo": "{0} - {1} sur {2} éléments", - "pagerFirstPage": "Aller à la première page", - "pagerPreviousPage": "Aller à la page précédente", - "pagerNextPage": "Aller à la page suivante", - "pagerLastPage": "Aller à la dernière page", - "pagerPage": "Page", - "pagerOf": "de", - "filterClearButton": "Effacer", - "filterEqOperator": "Est égal à", - "filterNotEqOperator": "N'est pas égal à", - "filterIsNullOperator": "Est nulle", - "filterIsNotNullOperator": "Est non nulle", - "filterIsEmptyOperator": "Est vide", - "filterIsNotEmptyOperator": "N'est pas vide", - "filterStartsWithOperator": "Commence par", - "filterContainsOperator": "Contient", - "filterNotContainsOperator": "Ne contient pas", - "filterEndsWithOperator": "Se termine par", - "filterGteOperator": "Est supérieur ou égal à", - "filterGtOperator": "Est supérieur à", - "filterLteOperator": "Est inférieur ou égal à", - "filterLtOperator": "Est inférieur à", - "filterIsTrue": "Est vrai", - "filterIsFalse": "Est faux", - "filterBooleanAll": "(Tous)", - "filterAfterOrEqualOperator": "Est postérieur ou égal à", - "filterAfterOperator": "Est postérieur", - "filterBeforeOperator": "Est antérieur", - "filterBeforeOrEqualOperator": "Est antérieur ou égal à", - "noRecords": "Aucun enregistrement disponible." - }, - "dateinput": { - "increment": "Augmenter la valeur", - "decrement": "Diminuer la valeur" - }, - "calendar": { - "today": "AUJOURD'HUI" - }, - "datepicker": { - "toggleCalendar": "Basculer le calendrier" - }, - "dropdowns": { - "nodata": "AUCUNE DONNÉE DISPONIBLE.", - "clear": "Effacer" - }, - "numerictextbox": { - "increment": "Augmenter la valeur", - "decrement": "Diminuer la valeur" - }, - "upload": { - "cancel": "Cancel", - "clearSelectedFiles": "Effacer", - "dropFilesHere": "Déposer des fichiers ici pour télécharger", - "headerStatusUploaded": "Terminé", - "headerStatusUploading": "Téléchargement...", - "invalidFileExtension": "Type de fichier non autorisé.", - "invalidFiles": "Fichier(s) invalide(s). Veuillez vérifier les exigences de téléchargement de fichier.", - "invalidMaxFileSize": "La taille du fichier est trop grande.", - "invalidMinFileSize": "La taille du fichier est trop petite.", - "remove": "Retirer", - "retry": "Réessayez", - "select": "Sélectionnez les fichiers...", - "uploadSelectedFiles": "Télécharger", - "total": "Total", - "files": "fichiers" - }, - "sortable": { - "noData": "Aucune donnée" - } -}; +// Custom Messages +export const frCustomMessages = { + teamEfficiency: "Efficacité de l'équipe", + teamMembers: "Membres de l'équipe", + dashboard: 'Tableau de bord', + planning: 'Planification', + info: 'Info', + profile: 'Profil', + language: 'Langue', + trend: 'Tendance', + volume: 'Le volume', + myTeam: 'Mon équipe', + allTeams: 'Toutes les équipes', + teamCalendar: "Calendrier d'équipe", + saveChanges: 'Sauvegarder les modifications', + cancel: 'Annuler', + warehouse: 'Entrepôt De Café', + startFreeTrial: "Démarrer l'essai gratuit", + buyNow: 'Acheter maintenant', + getSource: 'Récupérer le code source sur GitHub', + demoInfo: + "Cette application de démonstration est construite à l'aide des composants Kendo UI for Vue.", + firstName: 'Prénom', + middleName: 'Deuxième nom', + lastName: 'Nom de famille', + email: 'Adresse e-mail', + phoneNumber: 'Numéro de téléphone', + country: 'Pays', + biography: 'Biographie courte', + public: 'Inclure dans le répertoire public', + team: 'Équipe', + employee: 'Employé', + contactName: 'Nom du contact', + jobTitle: 'Titre du poste', + status: 'Statut', + performance: 'Performance', + rating: 'Évaluation', + engagement: 'Engagement', + budget: 'Budget', + contacts: 'Contacts', + address: 'Adresse', + phone: 'Téléphone', + gridSearch: 'Rechercher dans toutes les colonnes ...', + exportExcel: 'Exporter vers Excel', + exportPdf: 'Exporter au format PDF' +}; + +export const frComponentMessages = { + "grid": { + "groupPanelEmpty": "Faites glisser un en-tête de colonne et déposez-le ici pour grouper par cette colonne", + "pagerItemsPerPage": "éléments par page", + "pagerInfo": "{0} - {1} sur {2} éléments", + "pagerFirstPage": "Aller à la première page", + "pagerPreviousPage": "Aller à la page précédente", + "pagerNextPage": "Aller à la page suivante", + "pagerLastPage": "Aller à la dernière page", + "pagerPage": "Page", + "pagerOf": "de", + "filterClearButton": "Effacer", + "filterEqOperator": "Est égal à", + "filterNotEqOperator": "N'est pas égal à", + "filterIsNullOperator": "Est nulle", + "filterIsNotNullOperator": "Est non nulle", + "filterIsEmptyOperator": "Est vide", + "filterIsNotEmptyOperator": "N'est pas vide", + "filterStartsWithOperator": "Commence par", + "filterContainsOperator": "Contient", + "filterNotContainsOperator": "Ne contient pas", + "filterEndsWithOperator": "Se termine par", + "filterGteOperator": "Est supérieur ou égal à", + "filterGtOperator": "Est supérieur à", + "filterLteOperator": "Est inférieur ou égal à", + "filterLtOperator": "Est inférieur à", + "filterIsTrue": "Est vrai", + "filterIsFalse": "Est faux", + "filterBooleanAll": "(Tous)", + "filterAfterOrEqualOperator": "Est postérieur ou égal à", + "filterAfterOperator": "Est postérieur", + "filterBeforeOperator": "Est antérieur", + "filterBeforeOrEqualOperator": "Est antérieur ou égal à", + "noRecords": "Aucun enregistrement disponible." + }, + "dateinput": { + "increment": "Augmenter la valeur", + "decrement": "Diminuer la valeur" + }, + "calendar": { + "today": "AUJOURD'HUI" + }, + "datepicker": { + "toggleCalendar": "Basculer le calendrier" + }, + "dropdowns": { + "nodata": "AUCUNE DONNÉE DISPONIBLE.", + "clear": "Effacer" + }, + "numerictextbox": { + "increment": "Augmenter la valeur", + "decrement": "Diminuer la valeur" + }, + "upload": { + "cancel": "Cancel", + "clearSelectedFiles": "Effacer", + "dropFilesHere": "Déposer des fichiers ici pour télécharger", + "headerStatusUploaded": "Terminé", + "headerStatusUploading": "Téléchargement...", + "invalidFileExtension": "Type de fichier non autorisé.", + "invalidFiles": "Fichier(s) invalide(s). Veuillez vérifier les exigences de téléchargement de fichier.", + "invalidMaxFileSize": "La taille du fichier est trop grande.", + "invalidMinFileSize": "La taille du fichier est trop petite.", + "remove": "Retirer", + "retry": "Réessayez", + "select": "Sélectionnez les fichiers...", + "uploadSelectedFiles": "Télécharger", + "total": "Total", + "files": "fichiers" + }, + "sortable": { + "noData": "Aucune donnée" + } +}; diff --git a/examples-standalone/coffee-warehouse/src/router/index.js b/examples-standalone/coffee-warehouse/src/router/index.js deleted file mode 100644 index dbbb4d33..00000000 --- a/examples-standalone/coffee-warehouse/src/router/index.js +++ /dev/null @@ -1,36 +0,0 @@ -import { createWebHistory, createRouter } from "vue-router"; -import Team from "../components/Team"; -import Profile from "../components/Profile"; -import Dashboard from "../components/Dashboard"; -import Info from "../components/Info"; - -const routes = [ - { - path: "/", - name: "Team", - component: Team, - props: true - }, - { - path: "/Profile", - name: "Profile", - component: Profile - }, - { - path: "/Dashboard", - name: "Dashboard", - component: Dashboard - }, - { - path: "/Info", - name: "Info", - component: Info - } -]; - -const router = createRouter({ - history: createWebHistory(process.env.BASE_URL), - routes, -}); - -export default router; diff --git a/examples-standalone/vite-coffee-warehouse/vite.config.js b/examples-standalone/coffee-warehouse/vite.config.js similarity index 77% rename from examples-standalone/vite-coffee-warehouse/vite.config.js rename to examples-standalone/coffee-warehouse/vite.config.js index 0b5d410f..7110af74 100644 --- a/examples-standalone/vite-coffee-warehouse/vite.config.js +++ b/examples-standalone/coffee-warehouse/vite.config.js @@ -5,6 +5,6 @@ import vue from '@vitejs/plugin-vue' // https://vitejs.dev/config/ export default defineConfig({ - base: `/kendo-vue/vite-coffee-warehouse/`, + base: `/kendo-vue/coffee-warehouse/`, plugins: [vue()] }) diff --git a/examples-standalone/coffee-warehouse/vue.config.js b/examples-standalone/coffee-warehouse/vue.config.js deleted file mode 100644 index 29e538a7..00000000 --- a/examples-standalone/coffee-warehouse/vue.config.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - publicPath: process.env.NODE_ENV === 'production' ? '/kendo-vue/coffee-warehouse/' : '', - chainWebpack: config => { - config.performance - .maxEntrypointSize(400000) - .maxAssetSize(400000) - } - } \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/.gitignore b/examples-standalone/vite-coffee-warehouse/.gitignore deleted file mode 100644 index a547bf36..00000000 --- a/examples-standalone/vite-coffee-warehouse/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/examples-standalone/vite-coffee-warehouse/README.md b/examples-standalone/vite-coffee-warehouse/README.md deleted file mode 100644 index 0f47065a..00000000 --- a/examples-standalone/vite-coffee-warehouse/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# Kendo UI for Vue Dashboard Application - -The current example shows how the Native Grid, Charts, Inputs, Labels, etc. component can be combined in a real-life application. The project uses Vue 3 in Vite. - -## Project setup - -Install the NPM packages using: - -``` -npm install -``` - -Start the project using: - -``` -npm run dev -``` - -## Recommended IDE Setup - -- [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) diff --git a/examples-standalone/vite-coffee-warehouse/package-lock.json b/examples-standalone/vite-coffee-warehouse/package-lock.json deleted file mode 100644 index 8c51be4f..00000000 --- a/examples-standalone/vite-coffee-warehouse/package-lock.json +++ /dev/null @@ -1,7356 +0,0 @@ -{ - "name": "vite-coffee-warehouse", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "vite-coffee-warehouse", - "version": "0.0.0", - "dependencies": { - "@popperjs/core": "^2.11.6", - "@progress/kendo-data-query": "latest", - "@progress/kendo-date-math": "^1.5.14", - "@progress/kendo-drawing": "latest", - "@progress/kendo-font-icons": "latest", - "@progress/kendo-intl": "latest", - "@progress/kendo-licensing": "latest", - "@progress/kendo-svg-icons": "latest", - "@progress/kendo-theme-bootstrap": "latest", - "@progress/kendo-theme-default": "latest", - "@progress/kendo-theme-material": "latest", - "@progress/kendo-vue-animation": "latest", - "@progress/kendo-vue-buttons": "latest", - "@progress/kendo-vue-charts": "latest", - "@progress/kendo-vue-common": "latest", - "@progress/kendo-vue-data-tools": "latest", - "@progress/kendo-vue-dateinputs": "latest", - "@progress/kendo-vue-dialogs": "latest", - "@progress/kendo-vue-dropdowns": "latest", - "@progress/kendo-vue-excel-export": "latest", - "@progress/kendo-vue-form": "latest", - "@progress/kendo-vue-grid": "latest", - "@progress/kendo-vue-indicators": "latest", - "@progress/kendo-vue-inputs": "latest", - "@progress/kendo-vue-intl": "latest", - "@progress/kendo-vue-labels": "latest", - "@progress/kendo-vue-layout": "latest", - "@progress/kendo-vue-pdf": "latest", - "@progress/kendo-vue-popup": "latest", - "@progress/kendo-vue-progressbars": "latest", - "@progress/kendo-vue-treeview": "latest", - "@progress/kendo-vue-upload": "latest", - "cldr-core": "^40.0.0", - "cldr-dates-full": "^40.0.0", - "cldr-numbers-full": "^40.0.0", - "core-js": "3.19.0", - "hammerjs": "^2.0.8", - "less": "^4.2.2", - "less-loader": "^12.2.0", - "socks": ">=2.7.3", - "vue": "^3.2.37", - "vue-router": "^4.1.3" - }, - "devDependencies": { - "@vitejs/plugin-vue": "^5.2.1", - "@vue/compiler-sfc": "^3.0.4", - "eslint": "^7.5.0", - "eslint-plugin-vue": "^7.2.0", - "node-sass": "^7.0.3", - "sass": "^1.54.4", - "sass-loader": "^13.2.0", - "vite": "^5.4.14" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz", - "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", - "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.26.9" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/types": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", - "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "deprecated": "Use @eslint/config-array instead", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dev": true, - "license": "MIT", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", - "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", - "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", - "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", - "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", - "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", - "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", - "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", - "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", - "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", - "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", - "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", - "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@progress/jszip-esm": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@progress/jszip-esm/-/jszip-esm-1.0.4.tgz", - "integrity": "sha512-A5i26JcTosFKeHCrklarNsByW3RUJd8osRq69eskZgIaq05weTCXdpztlFMwrHpgOGods1D0WFoSQcMNE0eI8Q==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@progress/pako-esm": "^1.0.1" - } - }, - "node_modules/@progress/kendo-charts": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@progress/kendo-charts/-/kendo-charts-2.7.1.tgz", - "integrity": "sha512-fIAfX3U0u5HUP+k4BSQX8yZz7t2arbUYi2meHJK6i3x6xL5qQQuaa3IAL9g9NpVKNycOTm/JVtf0FhLocxWWiA==", - "license": "SEE LICENSE IN license.txt", - "peerDependencies": { - "@progress/kendo-drawing": "^1.21.0" - } - }, - "node_modules/@progress/kendo-common": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@progress/kendo-common/-/kendo-common-1.0.2.tgz", - "integrity": "sha512-PHxnquetSmtmXiF4dmlQiypzXaFLUEPK3VAOHxmnRDrLxaPrcZfaW9FOOiyur8hv4QmXlohISMwMElZS8Xi1Ag==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "tslib": "^1.7.0" - } - }, - "node_modules/@progress/kendo-common/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "license": "0BSD" - }, - "node_modules/@progress/kendo-data-query": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@progress/kendo-data-query/-/kendo-data-query-1.7.1.tgz", - "integrity": "sha512-1ax6mNx1XVr5A8d9VhzuZprAq1il7oES+XwIGnLikCmkKnFk+jcBmGVksw4MKB+kcdGzQPd4RV4iO6G0kaknEA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "tslib": "^2.8.1" - } - }, - "node_modules/@progress/kendo-date-math": { - "version": "1.5.14", - "resolved": "https://registry.npmjs.org/@progress/kendo-date-math/-/kendo-date-math-1.5.14.tgz", - "integrity": "sha512-uJDYQWIm5/kEc0SD6wG+yt2ttHE4/CfPlVhRPSYdrbNetZ1IAls/f37jCgXv7IYm6KZ5ImXlRWlwa/V1q9XXDg==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "tslib": "^1.7.0" - } - }, - "node_modules/@progress/kendo-date-math/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "license": "0BSD" - }, - "node_modules/@progress/kendo-draggable": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-draggable/-/kendo-draggable-3.1.0.tgz", - "integrity": "sha512-S5AHF9uiy44um+06ABJcjZn/wpO3ZwLahd2BhiTd7NeBVPt5lkj2bjdmkd88GEIIBKmT7FOK308WUt5/MmKVTQ==", - "license": "Apache-2.0" - }, - "node_modules/@progress/kendo-drawing": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/@progress/kendo-drawing/-/kendo-drawing-1.21.2.tgz", - "integrity": "sha512-1U/0EpVRk71nOMHQVYjdNbUwuZAaTT46xY6PPrtMATPPywIenJuK+NlRQFIdcbyY7/WplHJxLdIrmOVpKJvkcw==", - "license": "See license in LICENSE.md", - "dependencies": { - "@progress/kendo-common": "^1.0.1", - "@progress/pako-esm": "^1.0.1" - } - }, - "node_modules/@progress/kendo-file-saver": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@progress/kendo-file-saver/-/kendo-file-saver-1.1.2.tgz", - "integrity": "sha512-hWpJ67L8b2+GIhsIWR09NgGaEh87jvcHv7kScC671cbVWJycXTGqdy3ZoI0pzIaH8K0IgP2TNkF1ay4HGxe+pg==", - "license": "Apache-2.0" - }, - "node_modules/@progress/kendo-font-icons": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-font-icons/-/kendo-font-icons-4.0.0.tgz", - "integrity": "sha512-st74b6C4D9YjQ8eYgs1lg5U61ltc1GTVWUBSBiZF+Y4zHC+PzxFf8AJw770JUO5CAuApKhNhQSfdrleLL3Flvg==", - "license": "Apache-2.0" - }, - "node_modules/@progress/kendo-inputs-common": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@progress/kendo-inputs-common/-/kendo-inputs-common-3.1.1.tgz", - "integrity": "sha512-OqID8+2DuAnUET0W1j357qqTPvws6hnByt2h5+uVS7uK9Wmt/NHA0gVhdYmh+Jyv6Pw+S2epSk47mDsfyreKYA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "tslib": "^2.3.1" - }, - "peerDependencies": { - "@progress/kendo-drawing": "^1.17.0" - } - }, - "node_modules/@progress/kendo-intl": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@progress/kendo-intl/-/kendo-intl-3.1.2.tgz", - "integrity": "sha512-rOtMppQSrScwryMfeQSOdsnRi9Oj1l08HFoEC2ticZ0T2N0/JN9CHt+fuToRx5onXK7QkcbbuNM0D09o8TeeMw==", - "license": "Apache-2.0" - }, - "node_modules/@progress/kendo-licensing": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-licensing/-/kendo-licensing-1.4.0.tgz", - "integrity": "sha512-8kKoPOp6Y3PVTvEUXT3Aw9n+P2uoEMQnUdw6BQeCVodRe/RdVh4JVdVJ5A/FKzD9eei6CK1FacoOrrfL8EE81Q==", - "hasInstallScript": true, - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "jsonwebtoken": "^9.0.2" - }, - "bin": { - "kendo-ui-license": "bin/kendo-ui-license.js" - } - }, - "node_modules/@progress/kendo-ooxml": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@progress/kendo-ooxml/-/kendo-ooxml-1.9.1.tgz", - "integrity": "sha512-zdRYVA07rxwxxbO+G97zSg6v+cWMCFS7PcxVsvb0/JrF2/soKFvbudklPpVqZT55i0D8B3G8PKumc8fqpTtlPQ==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@progress/jszip-esm": "^1.0.4", - "@progress/pako-esm": "^1.0.1" - } - }, - "node_modules/@progress/kendo-popup-common": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/@progress/kendo-popup-common/-/kendo-popup-common-1.9.2.tgz", - "integrity": "sha512-Gs50UafJcERiGuSP/47Yg7ftPX3HQXiK5M9zHB8sHSoc1/AEYd0/Sj5wh8UrVVBAM9b0pUTwmEuzQ/D5yDDd2Q==", - "license": "Apache-2.0" - }, - "node_modules/@progress/kendo-svg-icons": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-svg-icons/-/kendo-svg-icons-4.0.0.tgz", - "integrity": "sha512-u3JcSBm+0W4o2TTiLWe372F0we2K5GkXDDTNcqpVayi/0XxKguRuPN7Bnfv/NYPt32JM+pc6EwmWvOnUC0F8MA==", - "license": "Apache-2.0" - }, - "node_modules/@progress/kendo-theme-bootstrap": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-theme-bootstrap/-/kendo-theme-bootstrap-10.2.0.tgz", - "integrity": "sha512-6vHgb/coJpgbPreYSMkWANo7TT1eGGatmnRRiU+JUIZAoSm9UUPK4ymvfjw/ADRHKwp4CM3JsFi3A2/AjxvBSA==", - "license": "Apache-2.0", - "dependencies": { - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-theme-core": "10.2.0", - "@progress/kendo-theme-utils": "10.2.0" - } - }, - "node_modules/@progress/kendo-theme-core": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-theme-core/-/kendo-theme-core-10.2.0.tgz", - "integrity": "sha512-yZjrSz0S2Lqmf6by0vzkgr+q3atPWcq0DK6tUjjWblKO+4Bn8xXs+F1FUpIL83UxkEgc9vM9Of9vuz1El1dnwQ==", - "license": "Apache-2.0" - }, - "node_modules/@progress/kendo-theme-default": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-theme-default/-/kendo-theme-default-10.2.0.tgz", - "integrity": "sha512-o5YpvYhDMFd8p/qXiicEd9PvZ8KcBd7Btv8yEgY3jw4LdSIocP8HsdWj228vkvVzKsVw2LhZdEf/S22kOooGWQ==", - "license": "Apache-2.0", - "dependencies": { - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-theme-core": "10.2.0", - "@progress/kendo-theme-utils": "10.2.0" - } - }, - "node_modules/@progress/kendo-theme-material": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-theme-material/-/kendo-theme-material-10.2.0.tgz", - "integrity": "sha512-W0R94hMkgqAYVDW01eCTgYrUtFqDKIxsfHsW6L8QHSm8tIleHwE0BYQtdvpF1pQnWu6UIEmCNx/1WGoxD+HVNQ==", - "license": "Apache-2.0", - "dependencies": { - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-theme-core": "10.2.0", - "@progress/kendo-theme-utils": "10.2.0" - } - }, - "node_modules/@progress/kendo-theme-utils": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-theme-utils/-/kendo-theme-utils-10.2.0.tgz", - "integrity": "sha512-93sTjv7SBOxjBR7p2V/ppw4CkJc3yfNUEGJcP56I+fdSd9r96UJ8ckRz64pa9GOxnaiOUkEpIKodISiuY7jm2Q==", - "license": "Apache-2.0", - "dependencies": { - "@progress/kendo-theme-core": "10.2.0" - } - }, - "node_modules/@progress/kendo-vue-animation": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-animation/-/kendo-vue-animation-6.1.0.tgz", - "integrity": "sha512-m8et528lebQ1evUV/NK7GrxZdg1kOcwvZ4rTipR1JKmW2oefsXePWw8QTGkuY6BR20ZYNunnJ5oKSrwGQ2CmeA==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-common": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-buttons": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-buttons/-/kendo-vue-buttons-6.1.0.tgz", - "integrity": "sha512-wQVCXeP/y3WBHQJxkiP8r/KTJG+XVelu9efQl11/xwmWLEqzLs/NakSygrfDdV9IOdL0squTDuqTP3uvYkUNag==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-common": "6.1.0", - "@progress/kendo-vue-popup": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-charts": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-charts/-/kendo-vue-charts-6.1.0.tgz", - "integrity": "sha512-TNNuyOCFmCIQXLYS8dzTCIqY5f0fyO3itMhXuQKP0bMNgCnGtPq5PxKTreIHWhKuW+kdj+Syl+haoTrZAwgCnw==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@progress/kendo-charts": "2.7.1" - }, - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-common": "6.1.0", - "@progress/kendo-vue-intl": "6.1.0", - "@progress/kendo-vue-popup": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-common": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-common/-/kendo-vue-common-6.1.0.tgz", - "integrity": "sha512-37eEITwAzPdFfOhBFu2vipZy3O55DBD9j96PkU0wXBSUYWzqkC1kfBmYXMzrX2yLWLPmMfjpgcKFzJvuP4g7lg==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@progress/kendo-draggable": "^3.1.0" - }, - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-data-tools": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-data-tools/-/kendo-vue-data-tools-6.1.0.tgz", - "integrity": "sha512-vPJQ2V6doorK3rWpcAh0UnT0rfNJlbuTLS/yattRkoJ1+GTGm9Zv4YGLzieE2yI2UPNzXATwKV+CQA0TTWB0iw==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-data-query": "^1.7.0", - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-animation": "6.1.0", - "@progress/kendo-vue-buttons": "6.1.0", - "@progress/kendo-vue-common": "6.1.0", - "@progress/kendo-vue-dateinputs": "6.1.0", - "@progress/kendo-vue-dropdowns": "6.1.0", - "@progress/kendo-vue-inputs": "6.1.0", - "@progress/kendo-vue-intl": "6.1.0", - "@progress/kendo-vue-popup": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-dateinputs": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-dateinputs/-/kendo-vue-dateinputs-6.1.0.tgz", - "integrity": "sha512-ufGrME1KVU8Jx1EqL6yUhCAtLVnCsXfapL19s1Rc0j4lN01ykQd0S/sgJceomIUYLTuqiMraBRK7d7gxbJY2Yg==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-date-math": "^1.4.0", - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-buttons": "6.1.0", - "@progress/kendo-vue-common": "6.1.0", - "@progress/kendo-vue-intl": "6.1.0", - "@progress/kendo-vue-labels": "6.1.0", - "@progress/kendo-vue-layout": "6.1.0", - "@progress/kendo-vue-popup": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-dialogs": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-dialogs/-/kendo-vue-dialogs-6.1.0.tgz", - "integrity": "sha512-WX12YC1vEtS4X/ubvXR59LDpipnWoElIZcZGMlFTHoHRPby5Y6VrxnV8QnJqZmIYxJgnmqpEOXsiH03siVmRUQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-buttons": "6.1.0", - "@progress/kendo-vue-common": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-dropdowns": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-dropdowns/-/kendo-vue-dropdowns-6.1.0.tgz", - "integrity": "sha512-wGqg5GFtshfE6EubqJFW/GBBPNobLalFI5kQgFwjAYinZYfgvhe9EIAMS/luHph9EqwX6gWpQo5BUWxefgu3EA==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-buttons": "6.1.0", - "@progress/kendo-vue-common": "6.1.0", - "@progress/kendo-vue-inputs": "6.1.0", - "@progress/kendo-vue-intl": "6.1.0", - "@progress/kendo-vue-labels": "6.1.0", - "@progress/kendo-vue-layout": "6.1.0", - "@progress/kendo-vue-popup": "6.1.0", - "@progress/kendo-vue-treeview": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-excel-export": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-excel-export/-/kendo-vue-excel-export-6.1.0.tgz", - "integrity": "sha512-szeekKATT5TrLm70e0fXv6vCEwU1R3DDHK+ISGE3lhgYMZCuqke/LckiNeqA9Nkk0k/wq2WqiYBE6f+gAMruOA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@progress/kendo-file-saver": "^1.1.2", - "@progress/kendo-ooxml": "^1.6.3" - }, - "peerDependencies": { - "@progress/kendo-data-query": "^1.7.0", - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-vue-common": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-form": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-form/-/kendo-vue-form-6.1.0.tgz", - "integrity": "sha512-5RDJayJ8Yc82AIFYxWH0SvNQrCYqS/jwdEXsdFK+pYCI3tEepAcQdnj9v74oDNQFxMx2I8/2u+cwLeuC92fubw==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-vue-common": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-grid": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-grid/-/kendo-vue-grid-6.1.0.tgz", - "integrity": "sha512-h7rGlKr5zTHI4/3ThSomQelTtmBRcoB+QKoOgf5dhJ2nVPnr+JYiAftUM5tutZAcwDBNHcbs+01P3Xa1o2P7HQ==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-data-query": "^1.7.0", - "@progress/kendo-drawing": "^1.21.1", - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-animation": "6.1.0", - "@progress/kendo-vue-buttons": "6.1.0", - "@progress/kendo-vue-common": "6.1.0", - "@progress/kendo-vue-data-tools": "6.1.0", - "@progress/kendo-vue-dateinputs": "6.1.0", - "@progress/kendo-vue-dropdowns": "6.1.0", - "@progress/kendo-vue-inputs": "6.1.0", - "@progress/kendo-vue-intl": "6.1.0", - "@progress/kendo-vue-popup": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-indicators": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-indicators/-/kendo-vue-indicators-6.1.0.tgz", - "integrity": "sha512-rcKUM6e+6/QVzbTF9XOsPHaKNVaQNzHJjtppbDKh3JBSpXkbYjvK9dpLCJrHhEWeXQLCuY9iMVaNMm3Tk8mZkg==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-vue-common": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-inputs": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-inputs/-/kendo-vue-inputs-6.1.0.tgz", - "integrity": "sha512-DrqtTb4KFaI3pRa18TLtcV2uZDkfwh22A3KYTQxB4702L+pqQ4k+M6zAxxJGTXVrL0B8du+2XKIr/3LxSx+TMQ==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@progress/kendo-inputs-common": "^3.1.0" - }, - "peerDependencies": { - "@progress/kendo-drawing": "^1.21.1", - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-animation": "6.1.0", - "@progress/kendo-vue-buttons": "6.1.0", - "@progress/kendo-vue-common": "6.1.0", - "@progress/kendo-vue-dialogs": "6.1.0", - "@progress/kendo-vue-intl": "6.1.0", - "@progress/kendo-vue-labels": "6.1.0", - "@progress/kendo-vue-popup": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-intl": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-intl/-/kendo-vue-intl-6.1.0.tgz", - "integrity": "sha512-zhZzUeW6pSYGk/J22K0Rdu3WDp+eZOmvDwn35VVEMMTaRk8WH5lG5N0kgTvk8AADY7uS44dGjXX9DQFQTu1jXA==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-intl": "^3.1.1", - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-vue-common": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-labels": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-labels/-/kendo-vue-labels-6.1.0.tgz", - "integrity": "sha512-Zp3ZKrYFtiM7a6mowrAD0oNYjuGD8WF9QYTaO9jkQV0b8PjWgBXf/7Mfhgp6LWUJDxaLrkC4KJExa37s0/wEog==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-vue-common": "6.1.0", - "@progress/kendo-vue-intl": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-layout": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-layout/-/kendo-vue-layout-6.1.0.tgz", - "integrity": "sha512-yTEW36leOFSi0P3uwZUe5lAOYqtzG5UgWzdKwO4/k2p8I15Ee+pMhgk59KcbmoXIMqiFSF34Io64s7iIOQ95yw==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-animation": "6.1.0", - "@progress/kendo-vue-common": "6.1.0", - "@progress/kendo-vue-intl": "6.1.0", - "@progress/kendo-vue-popup": "6.1.0", - "@progress/kendo-vue-progressbars": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-pdf": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-pdf/-/kendo-vue-pdf-6.1.0.tgz", - "integrity": "sha512-IocSuO2yIEsPQnPTrrpSBzCYw+qrL1kNzNsSZ5XCJhoHP6jOkLq0bie5fFcJnRuBousf/qR44x64OEhVUdHesg==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-drawing": "^1.21.1", - "@progress/kendo-file-saver": "^1.0.1", - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-vue-common": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-popup": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-popup/-/kendo-vue-popup-6.1.0.tgz", - "integrity": "sha512-0oIj+St8NbLSGO2U5M55AyfA1kABkFYs2jdExuZkvlDrOBuxSi/P6DkaZMEbzpcZ27Tj7Nm3rFtCldjJcBUVAA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@progress/kendo-popup-common": "^1.9.0" - }, - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-vue-animation": "6.1.0", - "@progress/kendo-vue-common": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-progressbars": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-progressbars/-/kendo-vue-progressbars-6.1.0.tgz", - "integrity": "sha512-5GM2qi2W4X7rjY7gqp1CEHrDcZF3I71pwyiq20cMkijzAdgvQQFichJDdVAe1aA4G7FW+YrUn6FfImB/vVpS+A==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-vue-animation": "6.1.0", - "@progress/kendo-vue-common": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-treeview": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-treeview/-/kendo-vue-treeview-6.1.0.tgz", - "integrity": "sha512-x/LaNYB68ft+/Qoq2xFEci5MaDpusFWb7XoCMdq+eR8arenJUiWL0UC3otoynPG2/ExEo2GxYwqvFd7VuxReRw==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-animation": "6.1.0", - "@progress/kendo-vue-common": "6.1.0", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/kendo-vue-upload": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@progress/kendo-vue-upload/-/kendo-vue-upload-6.1.0.tgz", - "integrity": "sha512-AG6zS2b0lIFuvKFwKZCdaSp4EF4Rq8vn1JBm7fePfZfR6HmOIw0Zxyy4XOZCT9aTWYsKLE8TByQ1WuQCYdlO6w==", - "license": "SEE LICENSE IN LICENSE.md", - "peerDependencies": { - "@progress/kendo-licensing": "^1.4.0", - "@progress/kendo-svg-icons": "^4.0.0", - "@progress/kendo-vue-buttons": "6.1.0", - "@progress/kendo-vue-common": "6.1.0", - "@progress/kendo-vue-intl": "6.1.0", - "@progress/kendo-vue-progressbars": "6.1.0", - "axios": "^1.7.4", - "vue": "^3.0.2" - } - }, - "node_modules/@progress/pako-esm": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@progress/pako-esm/-/pako-esm-1.0.1.tgz", - "integrity": "sha512-O4A3b1EuE9Xe1pC3Xz9Tcn1M/CYrL71f4y/5TXeytOVTkmkzBgYW97fYP2f+54H0e0erWRaqV/kUUB/a8Uxfbw==", - "license": "SEE LICENSE IN LICENSE.md" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", - "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", - "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", - "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", - "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", - "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", - "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", - "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", - "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", - "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", - "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", - "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", - "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", - "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", - "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", - "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", - "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", - "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", - "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", - "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/@types/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "22.13.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.5.tgz", - "integrity": "sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "undici-types": "~6.20.0" - } - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vitejs/plugin-vue": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", - "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0", - "vue": "^3.2.25" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", - "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.13", - "entities": "^4.5.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.0" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", - "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-core": "3.5.13", - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", - "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.13", - "@vue/compiler-dom": "3.5.13", - "@vue/compiler-ssr": "3.5.13", - "@vue/shared": "3.5.13", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.11", - "postcss": "^8.4.48", - "source-map-js": "^1.2.0" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", - "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.13", - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/devtools-api": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", - "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", - "license": "MIT" - }, - "node_modules/@vue/reactivity": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", - "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", - "license": "MIT", - "dependencies": { - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", - "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", - "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.13", - "@vue/shared": "3.5.13" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", - "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", - "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.5.13", - "@vue/runtime-core": "3.5.13", - "@vue/shared": "3.5.13", - "csstype": "^3.1.3" - } - }, - "node_modules/@vue/server-renderer": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", - "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-ssr": "3.5.13", - "@vue/shared": "3.5.13" - }, - "peerDependencies": { - "vue": "3.5.13" - } - }, - "node_modules/@vue/shared": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", - "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", - "license": "MIT" - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "devOptional": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "devOptional": true, - "license": "BSD-3-Clause", - "peer": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "devOptional": true, - "license": "Apache-2.0", - "peer": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true, - "license": "ISC" - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agentkeepalive": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", - "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asn1": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", - "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": "~2.1.0" - } - }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/aws4": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", - "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", - "dev": true, - "license": "MIT" - }, - "node_modules/axios": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.1.tgz", - "integrity": "sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==", - "license": "MIT", - "peer": true, - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tweetnacl": "^0.14.3" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", - "devOptional": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "license": "BSD-3-Clause" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001701", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001701.tgz", - "integrity": "sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==", - "devOptional": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0", - "peer": true - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/cldr-core": { - "version": "40.0.0", - "resolved": "https://registry.npmjs.org/cldr-core/-/cldr-core-40.0.0.tgz", - "integrity": "sha512-0nmiOR9I2ImfspRTvFhzF7uXYtVCnHMYULrIncArrsnICUxNnZVEJ6pHPRUtB3J8i4VkwQQMRcs9yl4+wxVP4g==", - "license": "Unicode-DFS-2016" - }, - "node_modules/cldr-dates-full": { - "version": "40.0.0", - "resolved": "https://registry.npmjs.org/cldr-dates-full/-/cldr-dates-full-40.0.0.tgz", - "integrity": "sha512-AqsXdzaga/kN2+Gbtj72ztWjFG+JdnZd2Yu5SNZb7ZwWR6zESGXOdymPaR3phKosIpsNrDsye1RQC33pv+fOAw==", - "license": "Unicode-DFS-2016", - "peerDependencies": { - "cldr-numbers-full": "40.0.0" - } - }, - "node_modules/cldr-numbers-full": { - "version": "40.0.0", - "resolved": "https://registry.npmjs.org/cldr-numbers-full/-/cldr-numbers-full-40.0.0.tgz", - "integrity": "sha512-NE5uKg0JDAcg5Pn6MKDg50cAKkUQtMd+mOxGPfDZVL+JRUHimQFvY/21KuzLBTI1i1IDbhEF9so/iXMmUJugPg==", - "license": "Unicode-DFS-2016", - "peerDependencies": { - "cldr-core": "40.0.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "license": "MIT", - "dependencies": { - "is-what": "^3.14.1" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/core-js": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.0.tgz", - "integrity": "sha512-L1TpFRWXZ76vH1yLM+z6KssLZrP8Z6GxxW4auoCj+XiViOzNPJCAuTIkn03BGdFe6Z5clX5t64wRIRypsZQrUg==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", - "dev": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", - "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", - "dev": true, - "license": "MIT", - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", - "dev": true, - "license": "MIT", - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "node_modules/ecc-jsbn/node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true, - "license": "MIT" - }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.105", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.105.tgz", - "integrity": "sha512-ccp7LocdXx3yBhwiG0qTQ7XFrK48Ua2pxIxBdJO8cbddp/MvbBtPFzvnTchtyHQTsgqqczO8cdmAIbpMa0u2+g==", - "devOptional": true, - "license": "ISC", - "peer": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enquirer": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", - "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true, - "license": "MIT" - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "license": "MIT", - "optional": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", - "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "peer": true, - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-vue": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz", - "integrity": "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-utils": "^2.1.0", - "natural-compare": "^1.4.0", - "semver": "^6.3.0", - "vue-eslint-parser": "^7.10.0" - }, - "engines": { - "node": ">=8.10" - }, - "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-vue/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "devOptional": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "devOptional": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "devOptional": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "devOptional": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true, - "license": "MIT" - }, - "node_modules/extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", - "devOptional": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "peer": true, - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", - "license": "MIT", - "peer": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", - "dev": true, - "license": "MIT" - }, - "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "globule": "^1.0.0" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "peer": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "peer": true, - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "devOptional": true, - "license": "BSD-2-Clause", - "peer": true - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globule": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.4.tgz", - "integrity": "sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "~7.1.1", - "lodash": "^4.17.21", - "minimatch": "~3.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/globule/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/globule/node_modules/minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "devOptional": true, - "license": "ISC" - }, - "node_modules/hammerjs": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", - "integrity": "sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=4" - } - }, - "node_modules/har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", - "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", - "deprecated": "this library is no longer supported", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "peer": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - }, - "engines": { - "node": ">=0.8", - "npm": ">=1.3.7" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "license": "MIT", - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/immutable": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", - "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", - "dev": true, - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true, - "license": "ISC" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "license": "MIT", - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/ip-address/node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "license": "BSD-3-Clause" - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "license": "MIT" - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", - "dev": true, - "license": "MIT" - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-base64": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", - "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "license": "MIT" - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true, - "license": "(AFL-2.1 OR BSD-3-Clause)" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", - "dev": true, - "license": "ISC" - }, - "node_modules/jsonwebtoken": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", - "license": "MIT", - "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/jsprim": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", - "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.4.0", - "verror": "1.10.0" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "license": "MIT", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "license": "MIT", - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/less": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/less/-/less-4.2.2.tgz", - "integrity": "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==", - "license": "Apache-2.0", - "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "source-map": "~0.6.0" - } - }, - "node_modules/less-loader": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", - "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", - "license": "MIT", - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "license": "MIT" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "license": "MIT" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "license": "MIT" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "license": "MIT" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "license": "MIT" - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "license": "MIT", - "optional": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "license": "ISC", - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "dev": true, - "license": "ISC", - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/meow": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", - "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "optional": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/nan": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.1.tgz", - "integrity": "sha512-pfRR4ZcNTSm2ZFHaztuvbICf+hyiG6ecA06SfAxoPmuHjvMu0KUIae7Y8GyVkbBqeEIidsmXeYooWIX9+qjfRQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/needle": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", - "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", - "license": "MIT", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, - "license": "MIT", - "optional": true - }, - "node_modules/node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/node-gyp/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-gyp/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-gyp/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/node-sass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-7.0.3.tgz", - "integrity": "sha512-8MIlsY/4dXUkJDYht9pIWBhMil3uHmE8b/AdJPjmFn1nBx9X9BASzfzmsCy0uCCb8eqI3SYYzVPDswWqSx7gjw==", - "deprecated": "Node Sass is no longer supported. Please use `sass` or `sass-embedded` instead.", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "async-foreach": "^0.1.3", - "chalk": "^4.1.2", - "cross-spawn": "^7.0.3", - "gaze": "^1.0.0", - "get-stdin": "^4.0.1", - "glob": "^7.0.3", - "lodash": "^4.17.15", - "meow": "^9.0.0", - "nan": "^2.13.2", - "node-gyp": "^8.4.1", - "npmlog": "^5.0.0", - "request": "^2.88.0", - "sass-graph": "^4.0.1", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" - }, - "bin": { - "node-sass": "bin/node-sass" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "deprecated": "This package is no longer supported.", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "node_modules/oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "*" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true, - "license": "MIT" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "license": "MIT", - "peer": true - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "license": "MIT", - "optional": true - }, - "node_modules/psl": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", - "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "funding": { - "url": "https://github.com/sponsors/lupomontero" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "license": "ISC" - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/request/node_modules/form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", - "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.6" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.8", - "@rollup/rollup-android-arm64": "4.34.8", - "@rollup/rollup-darwin-arm64": "4.34.8", - "@rollup/rollup-darwin-x64": "4.34.8", - "@rollup/rollup-freebsd-arm64": "4.34.8", - "@rollup/rollup-freebsd-x64": "4.34.8", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", - "@rollup/rollup-linux-arm-musleabihf": "4.34.8", - "@rollup/rollup-linux-arm64-gnu": "4.34.8", - "@rollup/rollup-linux-arm64-musl": "4.34.8", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", - "@rollup/rollup-linux-riscv64-gnu": "4.34.8", - "@rollup/rollup-linux-s390x-gnu": "4.34.8", - "@rollup/rollup-linux-x64-gnu": "4.34.8", - "@rollup/rollup-linux-x64-musl": "4.34.8", - "@rollup/rollup-win32-arm64-msvc": "4.34.8", - "@rollup/rollup-win32-ia32-msvc": "4.34.8", - "@rollup/rollup-win32-x64-msvc": "4.34.8", - "fsevents": "~2.3.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/sass": { - "version": "1.85.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.1.tgz", - "integrity": "sha512-Uk8WpxM5v+0cMR0XjX9KfRIacmSG86RH4DCCZjLU2rFh5tyutt9siAXJ7G+YfxQ99Q6wrRMbMlVl6KqUms71ag==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/sass-graph": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-4.0.1.tgz", - "integrity": "sha512-5YCfmGBmxoIRYHnKK2AKzrAkCoQ8ozO+iumT8K4tXJXRVCPf+7s1/9KxTSW3Rbvf+7Y7b4FR3mWyLnQr3PHocA==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "^7.0.0", - "lodash": "^4.17.11", - "scss-tokenizer": "^0.4.3", - "yargs": "^17.2.1" - }, - "bin": { - "sassgraph": "bin/sassgraph" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/sass-loader": { - "version": "13.3.3", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.3.tgz", - "integrity": "sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - } - } - }, - "node_modules/sax": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "license": "ISC", - "optional": true - }, - "node_modules/schema-utils": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", - "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/scss-tokenizer": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.4.3.tgz", - "integrity": "sha512-raKLgf1LI5QMQnG+RxHz6oK0sL3x3I4FN2UDLqgLOGO8hodECNnNh5BXn7fAyBxrA8zVzdQizQ6XjNJQ+uBwMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-base64": "^2.4.9", - "source-map": "^0.7.3" - } - }, - "node_modules/scss-tokenizer/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "devOptional": true, - "license": "BSD-3-Clause", - "peer": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true, - "license": "ISC" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "license": "MIT", - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", - "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", - "license": "MIT", - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "devOptional": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", - "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/sshpk": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", - "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - }, - "bin": { - "sshpk-conv": "bin/sshpk-conv", - "sshpk-sign": "bin/sshpk-sign", - "sshpk-verify": "bin/sshpk-verify" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sshpk/node_modules/jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", - "dev": true, - "license": "MIT" - }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.1" - } - }, - "node_modules/stdout-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/stdout-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/stdout-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/table": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", - "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "dev": true, - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/terser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", - "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", - "devOptional": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.11", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", - "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser/node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/true-case-path": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "glob": "^7.1.2" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", - "dev": true, - "license": "Unlicense" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "devOptional": true, - "license": "MIT", - "peer": true - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "license": "ISC", - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", - "devOptional": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", - "dev": true, - "license": "MIT", - "bin": { - "uuid": "bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", - "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", - "dev": true, - "license": "MIT" - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", - "dev": true, - "engines": [ - "node >=0.6.0" - ], - "license": "MIT", - "dependencies": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "node_modules/vite": { - "version": "5.4.14", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.14.tgz", - "integrity": "sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.43", - "rollup": "^4.20.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vue": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", - "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.5.13", - "@vue/compiler-sfc": "3.5.13", - "@vue/runtime-dom": "3.5.13", - "@vue/server-renderer": "3.5.13", - "@vue/shared": "3.5.13" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/vue-eslint-parser": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz", - "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.1.1", - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^1.1.0", - "espree": "^6.2.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8.10" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5.0.0" - } - }, - "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/vue-eslint-parser/node_modules/espree": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", - "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^7.1.1", - "acorn-jsx": "^5.2.0", - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/vue-eslint-parser/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/vue-router": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz", - "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", - "license": "MIT", - "dependencies": { - "@vue/devtools-api": "^6.6.4" - }, - "funding": { - "url": "https://github.com/sponsors/posva" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.98.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz", - "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "devOptional": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "devOptional": true, - "license": "MIT", - "peer": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - } - } -} diff --git a/examples-standalone/vite-coffee-warehouse/package.json b/examples-standalone/vite-coffee-warehouse/package.json deleted file mode 100644 index c277790b..00000000 --- a/examples-standalone/vite-coffee-warehouse/package.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "name": "vite-coffee-warehouse", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview" - }, - "dependencies": { - "vue": "^3.2.37", - "vue-router": "^4.1.3", - "@popperjs/core": "^2.11.6", - "@progress/kendo-data-query": "latest", - "@progress/kendo-date-math": "^1.5.14", - "@progress/kendo-drawing": "latest", - "@progress/kendo-intl": "latest", - "@progress/kendo-licensing": "latest", - "@progress/kendo-svg-icons": "latest", - "@progress/kendo-theme-bootstrap": "latest", - "@progress/kendo-theme-default": "latest", - "@progress/kendo-theme-material": "latest", - "@progress/kendo-vue-animation": "latest", - "@progress/kendo-vue-buttons": "latest", - "@progress/kendo-vue-charts": "latest", - "@progress/kendo-vue-common": "latest", - "@progress/kendo-vue-data-tools": "latest", - "@progress/kendo-vue-dateinputs": "latest", - "@progress/kendo-vue-dialogs": "latest", - "@progress/kendo-vue-dropdowns": "latest", - "@progress/kendo-vue-excel-export": "latest", - "@progress/kendo-vue-form": "latest", - "@progress/kendo-vue-grid": "latest", - "@progress/kendo-vue-indicators": "latest", - "@progress/kendo-vue-inputs": "latest", - "@progress/kendo-vue-intl": "latest", - "@progress/kendo-vue-labels": "latest", - "@progress/kendo-vue-layout": "latest", - "@progress/kendo-vue-pdf": "latest", - "@progress/kendo-vue-popup": "latest", - "@progress/kendo-vue-progressbars": "latest", - "@progress/kendo-vue-treeview": "latest", - "@progress/kendo-vue-upload": "latest", - "@progress/kendo-font-icons": "latest", - "cldr-core": "^40.0.0", - "cldr-dates-full": "^40.0.0", - "cldr-numbers-full": "^40.0.0", - "core-js": "3.19.0", - "hammerjs": "^2.0.8", - "less": "^4.2.2", - "less-loader": "^12.2.0", - "socks": ">=2.7.3" - }, - "devDependencies": { - "vite": "^5.4.14", - "@vitejs/plugin-vue": "^5.2.1", - "@vue/compiler-sfc": "^3.0.4", - "eslint": "^7.5.0", - "eslint-plugin-vue": "^7.2.0", - "sass": "^1.54.4", - "node-sass": "^7.0.3", - "sass-loader": "^13.2.0" - } -} diff --git a/examples-standalone/vite-coffee-warehouse/public/favicon.ico b/examples-standalone/vite-coffee-warehouse/public/favicon.ico deleted file mode 100644 index df36fcfb..00000000 Binary files a/examples-standalone/vite-coffee-warehouse/public/favicon.ico and /dev/null differ diff --git a/examples-standalone/vite-coffee-warehouse/public/index.html b/examples-standalone/vite-coffee-warehouse/public/index.html deleted file mode 100644 index ace8485a..00000000 --- a/examples-standalone/vite-coffee-warehouse/public/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - kendo-vue-template-app - - - - -
    - - - - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/App.vue b/examples-standalone/vite-coffee-warehouse/src/App.vue deleted file mode 100644 index 3717345e..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/App.vue +++ /dev/null @@ -1,146 +0,0 @@ - - - - - diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/data.js b/examples-standalone/vite-coffee-warehouse/src/assets/data.js deleted file mode 100644 index 0a5075a1..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/data.js +++ /dev/null @@ -1,252 +0,0 @@ -export const teams = [ - { label: "Tiger Team", value: "tiger" }, - { label: "Lemon Team", value: "lemon" }, - { label: "Organic Team", value: "organic" }, - { label: "Ocean Team", value: "ocean" }, -]; - -export const countries = [ - { name: 'Afghanistan', code: 'AF' }, - { name: 'Åland Islands', code: 'AX' }, - { name: 'Albania', code: 'AL' }, - { name: 'Algeria', code: 'DZ' }, - { name: 'American Samoa', code: 'AS' }, - { name: 'AndorrA', code: 'AD' }, - { name: 'Angola', code: 'AO' }, - { name: 'Anguilla', code: 'AI' }, - { name: 'Antarctica', code: 'AQ' }, - { name: 'Antigua and Barbuda', code: 'AG' }, - { name: 'Argentina', code: 'AR' }, - { name: 'Armenia', code: 'AM' }, - { name: 'Aruba', code: 'AW' }, - { name: 'Australia', code: 'AU' }, - { name: 'Austria', code: 'AT' }, - { name: 'Azerbaijan', code: 'AZ' }, - { name: 'Bahamas', code: 'BS' }, - { name: 'Bahrain', code: 'BH' }, - { name: 'Bangladesh', code: 'BD' }, - { name: 'Barbados', code: 'BB' }, - { name: 'Belarus', code: 'BY' }, - { name: 'Belgium', code: 'BE' }, - { name: 'Belize', code: 'BZ' }, - { name: 'Benin', code: 'BJ' }, - { name: 'Bermuda', code: 'BM' }, - { name: 'Bhutan', code: 'BT' }, - { name: 'Bolivia', code: 'BO' }, - { name: 'Bosnia and Herzegovina', code: 'BA' }, - { name: 'Botswana', code: 'BW' }, - { name: 'Bouvet Island', code: 'BV' }, - { name: 'Brazil', code: 'BR' }, - { name: 'British Indian Ocean Territory', code: 'IO' }, - { name: 'Brunei Darussalam', code: 'BN' }, - { name: 'Bulgaria', code: 'BG' }, - { name: 'Burkina Faso', code: 'BF' }, - { name: 'Burundi', code: 'BI' }, - { name: 'Cambodia', code: 'KH' }, - { name: 'Cameroon', code: 'CM' }, - { name: 'Canada', code: 'CA' }, - { name: 'Cape Verde', code: 'CV' }, - { name: 'Cayman Islands', code: 'KY' }, - { name: 'Central African Republic', code: 'CF' }, - { name: 'Chad', code: 'TD' }, - { name: 'Chile', code: 'CL' }, - { name: 'China', code: 'CN' }, - { name: 'Christmas Island', code: 'CX' }, - { name: 'Cocos (Keeling) Islands', code: 'CC' }, - { name: 'Colombia', code: 'CO' }, - { name: 'Comoros', code: 'KM' }, - { name: 'Congo', code: 'CG' }, - { name: 'Congo, The Democratic Republic of the', code: 'CD' }, - { name: 'Cook Islands', code: 'CK' }, - { name: 'Costa Rica', code: 'CR' }, - { name: 'Cote D\'Ivoire', code: 'CI' }, - { name: 'Croatia', code: 'HR' }, - { name: 'Cuba', code: 'CU' }, - { name: 'Cyprus', code: 'CY' }, - { name: 'Czech Republic', code: 'CZ' }, - { name: 'Denmark', code: 'DK' }, - { name: 'Djibouti', code: 'DJ' }, - { name: 'Dominica', code: 'DM' }, - { name: 'Dominican Republic', code: 'DO' }, - { name: 'Ecuador', code: 'EC' }, - { name: 'Egypt', code: 'EG' }, - { name: 'El Salvador', code: 'SV' }, - { name: 'Equatorial Guinea', code: 'GQ' }, - { name: 'Eritrea', code: 'ER' }, - { name: 'Estonia', code: 'EE' }, - { name: 'Ethiopia', code: 'ET' }, - { name: 'Falkland Islands (Malvinas)', code: 'FK' }, - { name: 'Faroe Islands', code: 'FO' }, - { name: 'Fiji', code: 'FJ' }, - { name: 'Finland', code: 'FI' }, - { name: 'France', code: 'FR' }, - { name: 'French Guiana', code: 'GF' }, - { name: 'French Polynesia', code: 'PF' }, - { name: 'French Southern Territories', code: 'TF' }, - { name: 'Gabon', code: 'GA' }, - { name: 'Gambia', code: 'GM' }, - { name: 'Georgia', code: 'GE' }, - { name: 'Germany', code: 'DE' }, - { name: 'Ghana', code: 'GH' }, - { name: 'Gibraltar', code: 'GI' }, - { name: 'Greece', code: 'GR' }, - { name: 'Greenland', code: 'GL' }, - { name: 'Grenada', code: 'GD' }, - { name: 'Guadeloupe', code: 'GP' }, - { name: 'Guam', code: 'GU' }, - { name: 'Guatemala', code: 'GT' }, - { name: 'Guernsey', code: 'GG' }, - { name: 'Guinea', code: 'GN' }, - { name: 'Guinea-Bissau', code: 'GW' }, - { name: 'Guyana', code: 'GY' }, - { name: 'Haiti', code: 'HT' }, - { name: 'Heard Island and Mcdonald Islands', code: 'HM' }, - { name: 'Holy See (Vatican City State)', code: 'VA' }, - { name: 'Honduras', code: 'HN' }, - { name: 'Hong Kong', code: 'HK' }, - { name: 'Hungary', code: 'HU' }, - { name: 'Iceland', code: 'IS' }, - { name: 'India', code: 'IN' }, - { name: 'Indonesia', code: 'ID' }, - { name: 'Iran, Islamic Republic Of', code: 'IR' }, - { name: 'Iraq', code: 'IQ' }, - { name: 'Ireland', code: 'IE' }, - { name: 'Isle of Man', code: 'IM' }, - { name: 'Israel', code: 'IL' }, - { name: 'Italy', code: 'IT' }, - { name: 'Jamaica', code: 'JM' }, - { name: 'Japan', code: 'JP' }, - { name: 'Jersey', code: 'JE' }, - { name: 'Jordan', code: 'JO' }, - { name: 'Kazakhstan', code: 'KZ' }, - { name: 'Kenya', code: 'KE' }, - { name: 'Kiribati', code: 'KI' }, - { name: 'Korea, Democratic People\'S Republic of', code: 'KP' }, - { name: 'Korea, Republic of', code: 'KR' }, - { name: 'Kuwait', code: 'KW' }, - { name: 'Kyrgyzstan', code: 'KG' }, - { name: 'Lao People\'S Democratic Republic', code: 'LA' }, - { name: 'Latvia', code: 'LV' }, - { name: 'Lebanon', code: 'LB' }, - { name: 'Lesotho', code: 'LS' }, - { name: 'Liberia', code: 'LR' }, - { name: 'Libyan Arab Jamahiriya', code: 'LY' }, - { name: 'Liechtenstein', code: 'LI' }, - { name: 'Lithuania', code: 'LT' }, - { name: 'Luxembourg', code: 'LU' }, - { name: 'Macao', code: 'MO' }, - { name: 'Macedonia, The Former Yugoslav Republic of', code: 'MK' }, - { name: 'Madagascar', code: 'MG' }, - { name: 'Malawi', code: 'MW' }, - { name: 'Malaysia', code: 'MY' }, - { name: 'Maldives', code: 'MV' }, - { name: 'Mali', code: 'ML' }, - { name: 'Malta', code: 'MT' }, - { name: 'Marshall Islands', code: 'MH' }, - { name: 'Martinique', code: 'MQ' }, - { name: 'Mauritania', code: 'MR' }, - { name: 'Mauritius', code: 'MU' }, - { name: 'Mayotte', code: 'YT' }, - { name: 'Mexico', code: 'MX' }, - { name: 'Micronesia, Federated States of', code: 'FM' }, - { name: 'Moldova, Republic of', code: 'MD' }, - { name: 'Monaco', code: 'MC' }, - { name: 'Mongolia', code: 'MN' }, - { name: 'Montserrat', code: 'MS' }, - { name: 'Morocco', code: 'MA' }, - { name: 'Mozambique', code: 'MZ' }, - { name: 'Myanmar', code: 'MM' }, - { name: 'Namibia', code: 'NA' }, - { name: 'Nauru', code: 'NR' }, - { name: 'Nepal', code: 'NP' }, - { name: 'Netherlands', code: 'NL' }, - { name: 'Netherlands Antilles', code: 'AN' }, - { name: 'New Caledonia', code: 'NC' }, - { name: 'New Zealand', code: 'NZ' }, - { name: 'Nicaragua', code: 'NI' }, - { name: 'Niger', code: 'NE' }, - { name: 'Nigeria', code: 'NG' }, - { name: 'Niue', code: 'NU' }, - { name: 'Norfolk Island', code: 'NF' }, - { name: 'Northern Mariana Islands', code: 'MP' }, - { name: 'Norway', code: 'NO' }, - { name: 'Oman', code: 'OM' }, - { name: 'Pakistan', code: 'PK' }, - { name: 'Palau', code: 'PW' }, - { name: 'Palestinian Territory, Occupied', code: 'PS' }, - { name: 'Panama', code: 'PA' }, - { name: 'Papua New Guinea', code: 'PG' }, - { name: 'Paraguay', code: 'PY' }, - { name: 'Peru', code: 'PE' }, - { name: 'Philippines', code: 'PH' }, - { name: 'Pitcairn', code: 'PN' }, - { name: 'Poland', code: 'PL' }, - { name: 'Portugal', code: 'PT' }, - { name: 'Puerto Rico', code: 'PR' }, - { name: 'Qatar', code: 'QA' }, - { name: 'Reunion', code: 'RE' }, - { name: 'Romania', code: 'RO' }, - { name: 'Russian Federation', code: 'RU' }, - { name: 'RWANDA', code: 'RW' }, - { name: 'Saint Helena', code: 'SH' }, - { name: 'Saint Kitts and Nevis', code: 'KN' }, - { name: 'Saint Lucia', code: 'LC' }, - { name: 'Saint Pierre and Miquelon', code: 'PM' }, - { name: 'Saint Vincent and the Grenadines', code: 'VC' }, - { name: 'Samoa', code: 'WS' }, - { name: 'San Marino', code: 'SM' }, - { name: 'Sao Tome and Principe', code: 'ST' }, - { name: 'Saudi Arabia', code: 'SA' }, - { name: 'Senegal', code: 'SN' }, - { name: 'Serbia and Montenegro', code: 'CS' }, - { name: 'Seychelles', code: 'SC' }, - { name: 'Sierra Leone', code: 'SL' }, - { name: 'Singapore', code: 'SG' }, - { name: 'Slovakia', code: 'SK' }, - { name: 'Slovenia', code: 'SI' }, - { name: 'Solomon Islands', code: 'SB' }, - { name: 'Somalia', code: 'SO' }, - { name: 'South Africa', code: 'ZA' }, - { name: 'South Georgia and the South Sandwich Islands', code: 'GS' }, - { name: 'Spain', code: 'ES' }, - { name: 'Sri Lanka', code: 'LK' }, - { name: 'Sudan', code: 'SD' }, - { name: 'Suriname', code: 'SR' }, - { name: 'Svalbard and Jan Mayen', code: 'SJ' }, - { name: 'Swaziland', code: 'SZ' }, - { name: 'Sweden', code: 'SE' }, - { name: 'Switzerland', code: 'CH' }, - { name: 'Syrian Arab Republic', code: 'SY' }, - { name: 'Taiwan, Province of China', code: 'TW' }, - { name: 'Tajikistan', code: 'TJ' }, - { name: 'Tanzania, United Republic of', code: 'TZ' }, - { name: 'Thailand', code: 'TH' }, - { name: 'Timor-Leste', code: 'TL' }, - { name: 'Togo', code: 'TG' }, - { name: 'Tokelau', code: 'TK' }, - { name: 'Tonga', code: 'TO' }, - { name: 'Trinidad and Tobago', code: 'TT' }, - { name: 'Tunisia', code: 'TN' }, - { name: 'Turkey', code: 'TR' }, - { name: 'Turkmenistan', code: 'TM' }, - { name: 'Turks and Caicos Islands', code: 'TC' }, - { name: 'Tuvalu', code: 'TV' }, - { name: 'Uganda', code: 'UG' }, - { name: 'Ukraine', code: 'UA' }, - { name: 'United Arab Emirates', code: 'AE' }, - { name: 'United Kingdom', code: 'GB' }, - { name: 'United States', code: 'US' }, - { name: 'United States Minor Outlying Islands', code: 'UM' }, - { name: 'Uruguay', code: 'UY' }, - { name: 'Uzbekistan', code: 'UZ' }, - { name: 'Vanuatu', code: 'VU' }, - { name: 'Venezuela', code: 'VE' }, - { name: 'Viet Nam', code: 'VN' }, - { name: 'Virgin Islands, British', code: 'VG' }, - { name: 'Virgin Islands, U.S.', code: 'VI' }, - { name: 'Wallis and Futuna', code: 'WF' }, - { name: 'Western Sahara', code: 'EH' }, - { name: 'Yemen', code: 'YE' }, - { name: 'Zambia', code: 'ZM' }, - { name: 'Zimbabwe', code: 'ZW' } -]; \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/employees.json b/examples-standalone/vite-coffee-warehouse/src/assets/employees.json deleted file mode 100644 index b1240ebd..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/employees.json +++ /dev/null @@ -1,1403 +0,0 @@ -[ - { - "id": "848e6002-8a92-447d-951b-1ffd5e695578", - "full_name": "Sig Jeannel", - "job_title": "Human Resources Assistant III", - "country": "US", - "is_online": true, - "rating": 3, - "target": 100, - "budget": 47601, - "phone": "(936) 9429601", - "address": "138 Buhler Avenue", - "img_id": 1, - "gender": "M" - }, - { - "id": "19d18d40-0e64-4837-9420-92130a0ed253", - "full_name": "Shelden Greyes", - "job_title": "Operator", - "country": "GB", - "is_online": true, - "rating": 5, - "target": 40, - "budget": 12253, - "phone": "(343) 6656271", - "address": "2 Waxwing Point", - "img_id": 2, - "gender": "M" - }, - { - "id": "bebdc6eb-9179-484a-917d-2e16a23bfdfe", - "full_name": "Megen Cody", - "job_title": "Operator", - "country": "BR", - "is_online": true, - "rating": 1, - "target": 66, - "budget": 96183, - "phone": "(178) 2336256", - "address": "4082 Stephen Court", - "img_id": 6, - "gender": "F" - }, - { - "id": "38b08b88-e482-46fc-8976-83590c02ec23", - "full_name": "Clevey Thursfield", - "job_title": "VP Quality Control", - "country": "BR", - "is_online": true, - "rating": 2, - "target": 58, - "budget": 54936, - "phone": "(277) 7415010", - "address": "1563 Glacier Hill Parkway", - "img_id": 5, - "gender": "M" - }, - { - "id": "2aac53f8-b72d-4629-9082-6d8239a8fecf", - "full_name": "Ruthi Baldini", - "job_title": "Data Coordiator", - "country": "BR", - "is_online": true, - "rating": 3, - "target": 37, - "budget": 46572, - "phone": "(766) 5691615", - "address": "6 Laurel Avenue", - "img_id": 8, - "gender": "F" - }, - { - "id": "1aa789e5-de01-406e-a2ee-cc5ce20f7e34", - "full_name": "Annecorinne Morter", - "job_title": "Professor", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 35, - "budget": 37198, - "phone": "(807) 2524830", - "address": "106 Green Street", - "img_id": 3, - "gender": "F" - }, - { - "id": "d2ff1b02-3808-44aa-9056-3b5df34bf865", - "full_name": "Gracia Punyer", - "job_title": "Assistant Manager", - "country": "ES", - "is_online": true, - "rating": 4, - "target": 64, - "budget": 84752, - "phone": "(515) 9749536", - "address": "69 Brentwood Alley", - "img_id": 2, - "gender": "F" - }, - { - "id": "26b2b760-27e8-47a6-81c2-07870d1b2b30", - "full_name": "Duky Hurring", - "job_title": "Account Executive", - "country": "BR", - "is_online": false, - "rating": 3, - "target": 61, - "budget": -1266, - "phone": "(897) 7202034", - "address": "39 Morning Circle", - "img_id": 3, - "gender": "M" - }, - { - "id": "91c6b652-4206-4a0c-bac6-dc21283a72d7", - "full_name": "Briana Shemelt", - "job_title": "Professor", - "country": "US", - "is_online": false, - "rating": 3, - "target": 63, - "budget": -9308, - "phone": "(205) 2560799", - "address": "11 Walton Court", - "img_id": 2, - "gender": "F" - }, - { - "id": "1e8289dc-2ef3-4045-ad6b-786d00368427", - "full_name": "Lexis Mostin", - "job_title": "Analyst Programmer", - "country": "FR", - "is_online": true, - "rating": 4, - "target": 81, - "budget": 38153, - "phone": "(903) 8388089", - "address": "38547 Westend Way", - "img_id": 4, - "gender": "F" - }, - { - "id": "797387bd-c247-48b3-97b6-5e75791f8809", - "full_name": "Felizio Gooda", - "job_title": "GIS Technical Architect", - "country": "DE", - "is_online": true, - "rating": 3, - "target": 89, - "budget": 81585, - "phone": "(372) 2389397", - "address": "9 Summer Ridge Circle", - "img_id": 2, - "gender": "M" - }, - { - "id": "24c541b0-4978-4072-84d0-abe94fcd0756", - "full_name": "Aubry Oxberry", - "job_title": "Financial Advisor", - "country": "BR", - "is_online": false, - "rating": 2, - "target": 3, - "budget": -6095, - "phone": "(665) 4176083", - "address": "06 Lerdahl Point", - "img_id": 10, - "gender": "F" - }, - { - "id": "d3416440-7411-42cc-a913-7dd319ca8311", - "full_name": "Orly Glasbey", - "job_title": "Environmental Tech", - "country": "BR", - "is_online": true, - "rating": 5, - "target": 63, - "budget": 63945, - "phone": "(449) 8482879", - "address": "4035 Porter Parkway", - "img_id": 6, - "gender": "F" - }, - { - "id": "139066b5-60c5-4cf5-9afe-fb4e5558b087", - "full_name": "Stephanus Culp", - "job_title": "Cost Accountant", - "country": "BR", - "is_online": false, - "rating": 2, - "target": 60, - "budget": 10613, - "phone": "(148) 3124030", - "address": "57028 Moland Terrace", - "img_id": 8, - "gender": "M" - }, - { - "id": "eb844971-b97d-4f79-bd5a-a266fcfaaf70", - "full_name": "Roseanna Janecek", - "job_title": "Database Administrator IV", - "country": "FR", - "is_online": false, - "rating": 4, - "target": 97, - "budget": 77351, - "phone": "(125) 4421623", - "address": "21973 Beilfuss Alley", - "img_id": 4, - "gender": "F" - }, - { - "id": "5cb391fe-4855-445c-a8b8-617c04d1d999", - "full_name": "Weidar McCombe", - "job_title": "Civil Engineer", - "country": "FR", - "is_online": true, - "rating": 1, - "target": 77, - "budget": 35924, - "phone": "(488) 7911627", - "address": "7 Dahle Terrace", - "img_id": 1, - "gender": "M" - }, - { - "id": "4ba9ad7e-d8b7-40e7-b8cd-67a8e743a249", - "full_name": "Evelin Spirritt", - "job_title": "Analyst Programmer", - "country": "BR", - "is_online": false, - "rating": 2, - "target": 18, - "budget": 58552, - "phone": "(821) 9538078", - "address": "89418 Knutson Pass", - "img_id": 1, - "gender": "M" - }, - { - "id": "e4a31407-39d1-4ab7-aad1-4e026a8c42fa", - "full_name": "Andria Helbeck", - "job_title": "Nurse Practicioner", - "country": "BR", - "is_online": true, - "rating": 4, - "target": 53, - "budget": 72526, - "phone": "(387) 9614638", - "address": "8589 Vernon Drive", - "img_id": 8, - "gender": "F" - }, - { - "id": "cd050499-dbf1-4a43-86ab-54feaacef401", - "full_name": "Mariellen Ravelus", - "job_title": "Systems Administrator I", - "country": "DE", - "is_online": true, - "rating": 2, - "target": 22, - "budget": -6659, - "phone": "(300) 6741661", - "address": "707 Gale Hill", - "img_id": 9, - "gender": "F" - }, - { - "id": "fda1c419-c0b8-4278-94b0-2ebef6bda164", - "full_name": "Corri Pergens", - "job_title": "Help Desk Operator", - "country": "BR", - "is_online": true, - "rating": 2, - "target": 74, - "budget": 12376, - "phone": "(769) 7145603", - "address": "856 Forest Crossing", - "img_id": 3, - "gender": "F" - }, - { - "id": "4a962db9-136e-4fcc-a683-2f961e27fb6e", - "full_name": "Friedrick Macknish", - "job_title": "Human Resources Assistant II", - "country": "FR", - "is_online": true, - "rating": 2, - "target": 38, - "budget": 97848, - "phone": "(196) 4156385", - "address": "157 Talisman Trail", - "img_id": 9, - "gender": "M" - }, - { - "id": "fa47e456-83c4-4fdc-b57b-07effb279967", - "full_name": "Georgette Trevorrow", - "job_title": "VP Accounting", - "country": "FR", - "is_online": true, - "rating": 3, - "target": 3, - "budget": 17327, - "phone": "(319) 1412549", - "address": "07 Marquette Point", - "img_id": 3, - "gender": "F" - }, - { - "id": "67656444-fbcd-4813-84e7-1bdcd82f803e", - "full_name": "Vanya Goalby", - "job_title": "Senior Cost Accountant", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 77, - "budget": 33584, - "phone": "(496) 7538982", - "address": "2192 Iowa Lane", - "img_id": 6, - "gender": "F" - }, - { - "id": "05c098c2-9617-4e66-928a-e29b97297138", - "full_name": "Abel Ansell", - "job_title": "Actuary", - "country": "US", - "is_online": false, - "rating": 4, - "target": 52, - "budget": 12312, - "phone": "(571) 9908377", - "address": "4355 Iowa Parkway", - "img_id": 4, - "gender": "M" - }, - { - "id": "3b263e99-51bf-4461-bb20-d4303d326cd9", - "full_name": "Odille Barus", - "job_title": "Speech Pathologist", - "country": "FR", - "is_online": true, - "rating": 4, - "target": 60, - "budget": 46911, - "phone": "(974) 1137672", - "address": "496 Lotheville Avenue", - "img_id": 8, - "gender": "F" - }, - { - "id": "c09ddfaf-569e-4a75-8e53-1be27cf25927", - "full_name": "Rudolf Consadine", - "job_title": "Structural Analysis Engineer", - "country": "FR", - "is_online": true, - "rating": 4, - "target": 20, - "budget": 94258, - "phone": "(450) 7612220", - "address": "93 Thierer Park", - "img_id": 6, - "gender": "M" - }, - { - "id": "a48abbc9-6143-4f77-a720-0b76ad862a9a", - "full_name": "Christabel Bick", - "job_title": "Engineer III", - "country": "FR", - "is_online": true, - "rating": 5, - "target": 0, - "budget": 65359, - "phone": "(361) 5159566", - "address": "191 Bunting Pass", - "img_id": 5, - "gender": "F" - }, - { - "id": "d8816aee-4230-4392-a045-0a9c297451f7", - "full_name": "Lancelot Tanzer", - "job_title": "Senior Developer", - "country": "US", - "is_online": true, - "rating": 5, - "target": 80, - "budget": 13246, - "phone": "(502) 3949900", - "address": "4287 Corben Plaza", - "img_id": 8, - "gender": "M" - }, - { - "id": "9f5af32c-fb0d-4449-a658-f2c7f182b63a", - "full_name": "Bink Byk", - "job_title": "Software Engineer I", - "country": "FR", - "is_online": false, - "rating": 3, - "target": 17, - "budget": 56472, - "phone": "(475) 9070061", - "address": "075 Eggendart Avenue", - "img_id": 9, - "gender": "M" - }, - { - "id": "dbd7f48a-6540-4560-bb7c-cd60456b55b8", - "full_name": "Rhys Pheazey", - "job_title": "Speech Pathologist", - "country": "BR", - "is_online": false, - "rating": 5, - "target": 98, - "budget": 62483, - "phone": "(365) 8904529", - "address": "987 Carioca Lane", - "img_id": 9, - "gender": "M" - }, - { - "id": "844189fe-d36e-4e06-9761-932259701fc8", - "full_name": "Lyndell Howieson", - "job_title": "Speech Pathologist", - "country": "DE", - "is_online": true, - "rating": 2, - "target": 82, - "budget": 16694, - "phone": "(461) 3130038", - "address": "9 Pennsylvania Crossing", - "img_id": 8, - "gender": "F" - }, - { - "id": "5544d9d5-40ea-4e5a-8fb8-f5016b313b8f", - "full_name": "Cassey Fitchell", - "job_title": "Software Engineer III", - "country": "FR", - "is_online": true, - "rating": 2, - "target": 10, - "budget": 91253, - "phone": "(985) 5060547", - "address": "652 Merry Place", - "img_id": 9, - "gender": "F" - }, - { - "id": "1c669764-3cff-424a-b7e4-e7711d6c7d6c", - "full_name": "Coralyn Steljes", - "job_title": "Accounting Assistant III", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 81, - "budget": -9871, - "phone": "(760) 5696853", - "address": "4 Norway Maple Pass", - "img_id": 9, - "gender": "F" - }, - { - "id": "4cc649dc-7f85-40ab-bc59-950f37268a65", - "full_name": "Bruis Creavin", - "job_title": "Nuclear Power Engineer", - "country": "BR", - "is_online": false, - "rating": 1, - "target": 59, - "budget": -5798, - "phone": "(570) 8801169", - "address": "71 Carioca Park", - "img_id": 6, - "gender": "M" - }, - { - "id": "8c9505f1-e8f8-4ba6-8c9a-5a1d089c6f09", - "full_name": "Adrianne Peery", - "job_title": "Chief Design Engineer", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 2, - "budget": 56575, - "phone": "(793) 1143493", - "address": "3 2nd Drive", - "img_id": 7, - "gender": "F" - }, - { - "id": "ced0905e-44ac-4317-a203-76994e53a751", - "full_name": "Port Gerauld", - "job_title": "Senior Cost Accountant", - "country": "FR", - "is_online": true, - "rating": 2, - "target": 27, - "budget": 97919, - "phone": "(155) 5488067", - "address": "9 High Crossing Center", - "img_id": 5, - "gender": "M" - }, - { - "id": "f0bcc7cd-999e-4611-a04f-7bdc16bc6160", - "full_name": "Boy Antoszewski", - "job_title": "VP Accounting", - "country": "GB", - "is_online": true, - "rating": 2, - "target": 11, - "budget": 74779, - "phone": "(715) 9192627", - "address": "3773 Hazelcrest Road", - "img_id": 6, - "gender": "M" - }, - { - "id": "322540e3-b72e-4b7d-ae4a-d927911340b7", - "full_name": "Gib Yakebowitch", - "job_title": "Marketing Assistant", - "country": "BR", - "is_online": false, - "rating": 5, - "target": 57, - "budget": 89028, - "phone": "(923) 6953600", - "address": "7 Mariners Cove Point", - "img_id": 8, - "gender": "M" - }, - { - "id": "b1ed798d-6177-4a27-9571-2e02be932214", - "full_name": "Minerva Gilders", - "job_title": "Administrative Officer", - "country": "BR", - "is_online": false, - "rating": 3, - "target": 54, - "budget": 32267, - "phone": "(773) 8863232", - "address": "82 Annamark Way", - "img_id": 4, - "gender": "F" - }, - { - "id": "d26bcf84-a8b4-471c-a582-2de64d7e7715", - "full_name": "Wait Peperell", - "job_title": "Web Designer III", - "country": "US", - "is_online": true, - "rating": 4, - "target": 94, - "budget": 72251, - "phone": "(419) 5806752", - "address": "0355 Petterle Avenue", - "img_id": 8, - "gender": "M" - }, - { - "id": "da813d45-bd3b-4bfa-abdd-e12050a5da14", - "full_name": "Ailsun Esmead", - "job_title": "Software Test Engineer III", - "country": "FR", - "is_online": true, - "rating": 1, - "target": 12, - "budget": 69596, - "phone": "(852) 7039628", - "address": "0 Lunder Crossing", - "img_id": 8, - "gender": "F" - }, - { - "id": "944d8752-ef63-47bc-8db0-f40808d50b15", - "full_name": "Vallie Van der Velde", - "job_title": "Nurse", - "country": "GB", - "is_online": true, - "rating": 3, - "target": 89, - "budget": 19530, - "phone": "(331) 7690832", - "address": "2 Almo Lane", - "img_id": 4, - "gender": "F" - }, - { - "id": "3d2f991c-58ef-436d-912e-49496fd2065c", - "full_name": "Dov Amber", - "job_title": "Sales Representative", - "country": "FR", - "is_online": false, - "rating": 4, - "target": 55, - "budget": 61106, - "phone": "(793) 4768356", - "address": "4 Rockefeller Street", - "img_id": 3, - "gender": "M" - }, - { - "id": "29b406e9-ca20-45cb-8630-6df3a632276a", - "full_name": "Tedie Alu", - "job_title": "Business Systems Analyst", - "country": "FR", - "is_online": false, - "rating": 1, - "target": 76, - "budget": 3114, - "phone": "(602) 5831373", - "address": "28 Claremont Plaza", - "img_id": 5, - "gender": "M" - }, - { - "id": "767de27a-421c-4147-a552-26ac56390339", - "full_name": "Tally Rizzi", - "job_title": "Civil Engineer", - "country": "US", - "is_online": false, - "rating": 1, - "target": 5, - "budget": 78575, - "phone": "(302) 6856300", - "address": "1 Roth Park", - "img_id": 10, - "gender": "M" - }, - { - "id": "2b6e6902-11b5-4ca7-8a59-c32b3f57533b", - "full_name": "Ilise Lewnden", - "job_title": "Database Administrator I", - "country": "BR", - "is_online": false, - "rating": 4, - "target": 33, - "budget": -1059, - "phone": "(659) 8660881", - "address": "19 Stuart Alley", - "img_id": 2, - "gender": "F" - }, - { - "id": "c891e87f-b19b-4cb5-8902-b19c59e37494", - "full_name": "Farr Penwright", - "job_title": "Senior Editor", - "country": "US", - "is_online": true, - "rating": 3, - "target": 82, - "budget": 30505, - "phone": "(505) 3900066", - "address": "9200 Karstens Crossing", - "img_id": 6, - "gender": "M" - }, - { - "id": "65821428-adc7-4743-9dd8-cf62400e62f2", - "full_name": "Chantal Bidgod", - "job_title": "VP Sales", - "country": "BR", - "is_online": false, - "rating": 3, - "target": 62, - "budget": 25742, - "phone": "(746) 3962702", - "address": "8807 Kinsman Drive", - "img_id": 2, - "gender": "F" - }, - { - "id": "f42907e0-d92c-4fb0-b886-2e84331ffe28", - "full_name": "Johanna Bergin", - "job_title": "Electrical Engineer", - "country": "BR", - "is_online": false, - "rating": 2, - "target": 54, - "budget": 25864, - "phone": "(720) 6442547", - "address": "93166 Spohn Court", - "img_id": 3, - "gender": "F" - }, - { - "id": "4531be30-eec7-477f-bdc5-88acb8d902af", - "full_name": "Padriac Syphas", - "job_title": "Marketing Assistant", - "country": "BR", - "is_online": true, - "rating": 1, - "target": 50, - "budget": 20879, - "phone": "(606) 9062546", - "address": "50465 Buena Vista Plaza", - "img_id": 5, - "gender": "M" - }, - { - "id": "4f0ab8f6-7a36-4a5c-a513-d5495223a9cd", - "full_name": "Garey De Maria", - "job_title": "Operator", - "country": "US", - "is_online": true, - "rating": 2, - "target": 54, - "budget": 94251, - "phone": "(972) 1133958", - "address": "24 Maple Wood Terrace", - "img_id": 9, - "gender": "M" - }, - { - "id": "13556e73-d43a-485d-8603-cbf1769bd0ac", - "full_name": "Glenn Thorwarth", - "job_title": "Developer IV", - "country": "BR", - "is_online": false, - "rating": 5, - "target": 39, - "budget": 33511, - "phone": "(394) 3115946", - "address": "8 Dryden Park", - "img_id": 1, - "gender": "M" - }, - { - "id": "c8389213-a2cd-4bb8-ba99-9c29e9b70881", - "full_name": "Bron Crosson", - "job_title": "GIS Technical Architect", - "country": "FR", - "is_online": true, - "rating": 2, - "target": 80, - "budget": 62081, - "phone": "(686) 7934926", - "address": "974 Mayfield Place", - "img_id": 9, - "gender": "M" - }, - { - "id": "cd233a4e-0315-496d-8f5f-4c8787b0f1ba", - "full_name": "Garey Malecky", - "job_title": "Account Executive", - "country": "BR", - "is_online": false, - "rating": 5, - "target": 51, - "budget": 76354, - "phone": "(304) 6324519", - "address": "3 Paget Court", - "img_id": 9, - "gender": "M" - }, - { - "id": "339838eb-99dc-4fc0-8e18-060dbcf6bf78", - "full_name": "Elisabet Kimblin", - "job_title": "Automation Specialist I", - "country": "US", - "is_online": true, - "rating": 3, - "target": 35, - "budget": 26755, - "phone": "(904) 3334563", - "address": "75 Buell Court", - "img_id": 1, - "gender": "F" - }, - { - "id": "90a03a5a-1f16-4721-8c56-af4bb89a1f57", - "full_name": "Berk Uttley", - "job_title": "Health Coach IV", - "country": "FR", - "is_online": false, - "rating": 4, - "target": 58, - "budget": 82064, - "phone": "(200) 2124940", - "address": "4 Mockingbird Trail", - "img_id": 8, - "gender": "M" - }, - { - "id": "ce5ba778-43eb-4658-a6bd-56f04e6f125f", - "full_name": "Kenny Clackers", - "job_title": "Assistant Manager", - "country": "FR", - "is_online": true, - "rating": 4, - "target": 37, - "budget": 47477, - "phone": "(926) 3235464", - "address": "53315 Bashford Lane", - "img_id": 2, - "gender": "M" - }, - { - "id": "df3dffe4-6fb4-4a9c-8512-71f7cb508180", - "full_name": "Rickard Pingston", - "job_title": "Environmental Specialist", - "country": "BR", - "is_online": true, - "rating": 5, - "target": 72, - "budget": 94173, - "phone": "(902) 4658383", - "address": "8 Mesta Court", - "img_id": 2, - "gender": "M" - }, - { - "id": "2757a92d-5eed-4215-818f-fdf15b6b27d0", - "full_name": "Hobard Clabburn", - "job_title": "Systems Administrator I", - "country": "BR", - "is_online": true, - "rating": 2, - "target": 37, - "budget": 66166, - "phone": "(711) 6587550", - "address": "29796 Mcbride Court", - "img_id": 2, - "gender": "M" - }, - { - "id": "71ebd82a-f9f2-48ea-ada4-ce8db424df64", - "full_name": "Uri Champken", - "job_title": "Software Test Engineer IV", - "country": "BR", - "is_online": false, - "rating": 1, - "target": 39, - "budget": 65176, - "phone": "(514) 1953919", - "address": "78 Rowland Alley", - "img_id": 6, - "gender": "M" - }, - { - "id": "b7a77c35-1f9f-45c5-ba44-7622d279b377", - "full_name": "Obidiah Fold", - "job_title": "Budget/Accounting Analyst I", - "country": "FR", - "is_online": false, - "rating": 5, - "target": 66, - "budget": 74529, - "phone": "(747) 8711780", - "address": "58 Lakeland Court", - "img_id": 9, - "gender": "M" - }, - { - "id": "9c0fbca6-b793-4fdc-8dcf-5136cb5d049c", - "full_name": "Angelia Marconi", - "job_title": "Associate Professor", - "country": "FR", - "is_online": false, - "rating": 4, - "target": 91, - "budget": 38996, - "phone": "(530) 7506861", - "address": "7 Ohio Parkway", - "img_id": 2, - "gender": "F" - }, - { - "id": "9083010c-4f59-49e7-96c6-894cbf24ed75", - "full_name": "Ronda Lock", - "job_title": "Quality Engineer", - "country": "US", - "is_online": false, - "rating": 5, - "target": 36, - "budget": 69903, - "phone": "(916) 6819628", - "address": "802 American Ash Street", - "img_id": 6, - "gender": "F" - }, - { - "id": "4225013e-fd75-46f6-b678-b25675e131bc", - "full_name": "Rachele Fantham", - "job_title": "Business Systems Analyst", - "country": "FR", - "is_online": true, - "rating": 2, - "target": 100, - "budget": 79333, - "phone": "(652) 3112938", - "address": "62 Grim Center", - "img_id": 4, - "gender": "F" - }, - { - "id": "b75a42e9-db84-479c-96b0-d88109abfebb", - "full_name": "Emanuel Deery", - "job_title": "Electrical Engineer", - "country": "BR", - "is_online": false, - "rating": 3, - "target": 93, - "budget": 77477, - "phone": "(860) 8318923", - "address": "850 Mifflin Junction", - "img_id": 8, - "gender": "M" - }, - { - "id": "b2e28f42-7a35-4e23-b2e4-40fe3ed909ca", - "full_name": "Clay Ellins", - "job_title": "Design Engineer", - "country": "US", - "is_online": true, - "rating": 4, - "target": 98, - "budget": 4120, - "phone": "(682) 4688237", - "address": "458 Scoville Lane", - "img_id": 5, - "gender": "M" - }, - { - "id": "4239103e-80bc-4f09-8655-c2165b063027", - "full_name": "Bettina Menlove", - "job_title": "Senior Financial Analyst", - "country": "FR", - "is_online": false, - "rating": 5, - "target": 78, - "budget": 80574, - "phone": "(293) 8801412", - "address": "29 Onsgard Junction", - "img_id": 8, - "gender": "F" - }, - { - "id": "8442ff74-6f05-43f7-90de-b948a5c2c895", - "full_name": "Claiborne Willoughey", - "job_title": "Food Chemist", - "country": "US", - "is_online": true, - "rating": 5, - "target": 44, - "budget": 44673, - "phone": "(707) 3380798", - "address": "39114 Killdeer Terrace", - "img_id": 6, - "gender": "M" - }, - { - "id": "1701041a-2ede-4c1d-a51b-8fe4b3ec1c35", - "full_name": "Desmond Gritskov", - "job_title": "Pharmacist", - "country": "BR", - "is_online": false, - "rating": 4, - "target": 66, - "budget": 45319, - "phone": "(412) 1336481", - "address": "6912 Farwell Street", - "img_id": 6, - "gender": "M" - }, - { - "id": "609fd74e-e6c3-41ae-a227-d3d9caba0582", - "full_name": "Codee Maybery", - "job_title": "Clinical Specialist", - "country": "US", - "is_online": true, - "rating": 2, - "target": 26, - "budget": 43462, - "phone": "(682) 7969803", - "address": "4 Tennessee Plaza", - "img_id": 3, - "gender": "F" - }, - { - "id": "f535ef7f-c79d-4936-af40-d062d2b2d5c0", - "full_name": "Denys Beynke", - "job_title": "Occupational Therapist", - "country": "BR", - "is_online": true, - "rating": 4, - "target": 60, - "budget": 32402, - "phone": "(110) 4341370", - "address": "99 Trailsway Park", - "img_id": 4, - "gender": "M" - }, - { - "id": "ae126e65-b6ab-4388-ba5c-f6f5d54fc435", - "full_name": "Guthry Limpricht", - "job_title": "Geologist II", - "country": "DE", - "is_online": true, - "rating": 3, - "target": 65, - "budget": 68462, - "phone": "(100) 8946768", - "address": "3117 Commercial Crossing", - "img_id": 2, - "gender": "M" - }, - { - "id": "9b1efdfc-4cce-4350-9516-028884fb1725", - "full_name": "Cammie Knoble", - "job_title": "Community Outreach Specialist", - "country": "GB", - "is_online": false, - "rating": 2, - "target": 1, - "budget": 70198, - "phone": "(352) 1663192", - "address": "55 Longview Place", - "img_id": 4, - "gender": "F" - }, - { - "id": "a44c41e2-3adc-4d52-acb3-06f90e0214c9", - "full_name": "Kiri Espinal", - "job_title": "Accounting Assistant I", - "country": "FR", - "is_online": false, - "rating": 3, - "target": 47, - "budget": 3712, - "phone": "(946) 6686147", - "address": "90480 Chinook Drive", - "img_id": 4, - "gender": "F" - }, - { - "id": "9d6d3063-7be8-49fe-be31-64d0d5949f02", - "full_name": "Joy Tiddy", - "job_title": "Engineer III", - "country": "FR", - "is_online": true, - "rating": 5, - "target": 80, - "budget": 61355, - "phone": "(849) 1097790", - "address": "76 Summerview Hill", - "img_id": 9, - "gender": "F" - }, - { - "id": "44def3bb-7c65-45d3-aef6-bf8b49f934b3", - "full_name": "Arlene Karlsson", - "job_title": "Civil Engineer", - "country": "BR", - "is_online": true, - "rating": 4, - "target": 98, - "budget": 14267, - "phone": "(699) 4713080", - "address": "90 Dorton Point", - "img_id": 5, - "gender": "F" - }, - { - "id": "7b991e13-bef7-4f19-bd18-d5aa9d263cba", - "full_name": "Melony Millwater", - "job_title": "Chief Design Engineer", - "country": "US", - "is_online": true, - "rating": 2, - "target": 27, - "budget": 67126, - "phone": "(352) 5197697", - "address": "65242 Derek Place", - "img_id": 1, - "gender": "F" - }, - { - "id": "ab6704b8-20ed-4881-ab28-96e3d55f7792", - "full_name": "Mab Ballham", - "job_title": "Programmer Analyst II", - "country": "FR", - "is_online": false, - "rating": 1, - "target": 34, - "budget": 65648, - "phone": "(699) 9285470", - "address": "2579 Messerschmidt Crossing", - "img_id": 8, - "gender": "F" - }, - { - "id": "03f0f5a0-8b7c-486e-ae4b-c9e5858bbde8", - "full_name": "Nixie MacAskie", - "job_title": "Structural Analysis Engineer", - "country": "BR", - "is_online": true, - "rating": 2, - "target": 13, - "budget": -5312, - "phone": "(434) 6153212", - "address": "59672 Village Court", - "img_id": 4, - "gender": "F" - }, - { - "id": "6b63462d-b181-4055-813d-983002ea57b8", - "full_name": "Gianni Crafts", - "job_title": "Tax Accountant", - "country": "FR", - "is_online": false, - "rating": 3, - "target": 54, - "budget": 85744, - "phone": "(428) 3135618", - "address": "53766 Buhler Parkway", - "img_id": 8, - "gender": "M" - }, - { - "id": "dcafac96-c436-4232-8d0e-eda10d029e1d", - "full_name": "Moyra Summerlie", - "job_title": "Business Systems Analyst", - "country": "FR", - "is_online": true, - "rating": 5, - "target": 3, - "budget": 19109, - "phone": "(960) 7792763", - "address": "127 Spohn Crossing", - "img_id": 6, - "gender": "F" - }, - { - "id": "a765924f-8ffb-4186-8991-6000a6ce2652", - "full_name": "Hagan Trevers", - "job_title": "Mechanical Systems Engineer", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 93, - "budget": 28290, - "phone": "(749) 8913157", - "address": "516 Clove Road", - "img_id": 7, - "gender": "M" - }, - { - "id": "2c3423dd-81d0-4e41-987e-1c39956c9ba8", - "full_name": "Sela Westmacott", - "job_title": "Account Executive", - "country": "BR", - "is_online": false, - "rating": 3, - "target": 29, - "budget": 58239, - "phone": "(130) 9778509", - "address": "81 Maple Point", - "img_id": 2, - "gender": "F" - }, - { - "id": "e8bce62e-3bf4-4232-801c-bbcc8dab2e74", - "full_name": "Lilia Wiz", - "job_title": "VP Product Management", - "country": "FR", - "is_online": false, - "rating": 1, - "target": 65, - "budget": 1438, - "phone": "(418) 5940094", - "address": "905 Hauk Point", - "img_id": 1, - "gender": "F" - }, - { - "id": "5b9b9235-e0f2-4102-b5f1-d512774e7191", - "full_name": "Orlan MacAlpin", - "job_title": "Statistician I", - "country": "US", - "is_online": false, - "rating": 1, - "target": 1, - "budget": 9094, - "phone": "(512) 7106617", - "address": "6055 Truax Way", - "img_id": 2, - "gender": "M" - }, - { - "id": "1124d1b2-6ac3-4f2f-ba35-1da116844b0e", - "full_name": "Ty Nutton", - "job_title": "Speech Pathologist", - "country": "FR", - "is_online": false, - "rating": 5, - "target": 88, - "budget": 76684, - "phone": "(250) 2530424", - "address": "37247 Merry Plaza", - "img_id": 1, - "gender": "M" - }, - { - "id": "01e7f525-ab3f-48b7-941f-c6ad601ea69f", - "full_name": "Mirelle Jandl", - "job_title": "Civil Engineer", - "country": "DE", - "is_online": true, - "rating": 3, - "target": 19, - "budget": 94486, - "phone": "(871) 7917453", - "address": "31 Anderson Hill", - "img_id": 10, - "gender": "F" - }, - { - "id": "078b38d3-79a5-4df1-bd97-f83e300224a4", - "full_name": "Diann Bertram", - "job_title": "Structural Engineer", - "country": "BR", - "is_online": true, - "rating": 2, - "target": 38, - "budget": 2769, - "phone": "(716) 9445650", - "address": "958 Swallow Drive", - "img_id": 4, - "gender": "F" - }, - { - "id": "7ca6af51-11bc-44f3-b92f-7af02923d040", - "full_name": "Cindra Slobom", - "job_title": "Web Designer III", - "country": "BR", - "is_online": true, - "rating": 5, - "target": 48, - "budget": 81624, - "phone": "(409) 9223432", - "address": "82525 Northridge Junction", - "img_id": 1, - "gender": "F" - }, - { - "id": "86a585e1-b76d-43b5-982d-e74b5b4b616b", - "full_name": "Tymon Mattheissen", - "job_title": "Dental Hygienist", - "country": "FR", - "is_online": false, - "rating": 2, - "target": 51, - "budget": 42972, - "phone": "(724) 3234885", - "address": "64363 Anzinger Plaza", - "img_id": 3, - "gender": "M" - }, - { - "id": "37e366fb-9371-4df5-980c-e9678ec9cde2", - "full_name": "Fancie Heighton", - "job_title": "Paralegal", - "country": "FR", - "is_online": true, - "rating": 5, - "target": 52, - "budget": 67403, - "phone": "(738) 9982239", - "address": "4353 Hermina Junction", - "img_id": 1, - "gender": "F" - }, - { - "id": "b7df7c2a-4d40-4c03-bfb6-ab6d6930340c", - "full_name": "Kit Utteridge", - "job_title": "Office Assistant I", - "country": "FR", - "is_online": true, - "rating": 4, - "target": 93, - "budget": 36268, - "phone": "(710) 2371400", - "address": "46806 Moland Center", - "img_id": 7, - "gender": "F" - }, - { - "id": "7d740468-fad9-4687-895b-cee07aa3bc3d", - "full_name": "Lea Willey", - "job_title": "VP Quality Control", - "country": "US", - "is_online": false, - "rating": 3, - "target": 19, - "budget": 54614, - "phone": "(304) 3327700", - "address": "1 Moland Crossing", - "img_id": 6, - "gender": "F" - }, - { - "id": "88df162f-24fa-495d-a65c-b948607193b8", - "full_name": "Arri Halton", - "job_title": "Staff Accountant II", - "country": "GB", - "is_online": true, - "rating": 5, - "target": 73, - "budget": 32500, - "phone": "(743) 8449571", - "address": "3 Starling Trail", - "img_id": 3, - "gender": "M" - }, - { - "id": "cb93d087-2f15-43cd-9bc3-89716e39a724", - "full_name": "Malva Pierpoint", - "job_title": "Operator", - "country": "US", - "is_online": true, - "rating": 4, - "target": 98, - "budget": 20312, - "phone": "(423) 8195288", - "address": "57584 Algoma Plaza", - "img_id": 1, - "gender": "F" - }, - { - "id": "b76e54a1-1c46-49aa-9464-7dd9aa738b65", - "full_name": "Dalston Sabben", - "job_title": "Social Worker", - "country": "BR", - "is_online": true, - "rating": 4, - "target": 85, - "budget": 99048, - "phone": "(388) 2523908", - "address": "53578 Clove Lane", - "img_id": 4, - "gender": "M" - }, - { - "id": "608f098b-16f8-4460-bb35-9599a8a74280", - "full_name": "Delinda Margrie", - "job_title": "Financial Advisor", - "country": "US", - "is_online": false, - "rating": 1, - "target": 1, - "budget": 8398, - "phone": "(702) 6480692", - "address": "9 Dapin Plaza", - "img_id": 9, - "gender": "F" - }, - { - "id": "23b426f8-76d5-4808-84cb-c42bde8362fd", - "full_name": "Meggi Westman", - "job_title": "Librarian", - "country": "US", - "is_online": true, - "rating": 3, - "target": 64, - "budget": 63413, - "phone": "(682) 3495155", - "address": "82 Duke Terrace", - "img_id": 7, - "gender": "F" - }, - { - "id": "7ecfb74e-64d9-43ee-a028-d2e3841acba9", - "full_name": "Bret Barnsdall", - "job_title": "Registered Nurse", - "country": "BR", - "is_online": true, - "rating": 3, - "target": 52, - "budget": 55153, - "phone": "(222) 2089814", - "address": "4 Corry Park", - "img_id": 8, - "gender": "M" - }, - { - "id": "cf505561-d9e1-4d2a-93d5-4745d50595c2", - "full_name": "Matthus Shyres", - "job_title": "Marketing Manager", - "country": "FR", - "is_online": false, - "rating": 3, - "target": 68, - "budget": 33697, - "phone": "(539) 9486139", - "address": "460 Norway Maple Junction", - "img_id": 1, - "gender": "M" - } - ] - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images.js b/examples-standalone/vite-coffee-warehouse/src/assets/images.js deleted file mode 100644 index 5b2915f9..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/images.js +++ /dev/null @@ -1,79 +0,0 @@ -export const images = { - "10F": - "url('data:image/jpeg;base64,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')", - - "10M": - "url('data:image/jpeg;base64,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')", - - "1F": - "url('data:image/jpeg;base64,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')", - - "1M": - "url('data:image/jpeg;base64,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')", - - "2F": - "url('data:image/jpeg;base64,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')", - - "2M": - "url('data:image/jpeg;base64,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')", - - "3F": - "url('data:image/jpeg;base64,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')", - - "3M": - "url('data:image/jpeg;base64,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')", - - "4F": - "url('data:image/jpeg;base64,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')", - - "4M": - "url('data:image/jpeg;base64,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')", - - "5F": - "url('data:image/jpeg;base64,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')", - - "5M": - "url('data:image/jpeg;base64,/9j/4AAQSkZJRgABAAEBkAGQAAD//gAfTEVBRCBUZWNobm9sb2dpZXMgSW5jLiBWMS4wMQD/2wCEAAUFBQgFCAwHBwwMCQkJDA0MDAwMDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0BBQgICgcKDAcHDA0MCgwNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+foRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIAG4AZAMBEQACEQEDEQH/2gAMAwEAAhEDEQA/APsugAoAKACgAoA8U+I/xitfBjmwskF3fqPnBJEcGRlfMIGWY5yEUg4+8R0OblbRFqPU+Utc+LniLXJBJPcMsQYlYocxRjP+4wLdON7Njn1rJtvcpabGj4d+LWp6YSkk8jk8qBIFIP8AwJHU57gg/Wo1jsaJp6Ox7Fofx+mVkGqW4aMnDSQkAj38s9fU4b6DFNVWtxumuh9L6bqNvq1tHeWjiWCZQyMvQg/yI6EdjxXSmmro5muV2ZeqhBQAUAFABQAUAFAHK+NPFMPg3SZ9VnG7ygBGmceZIxwiD8eTjnaGI6VLfKrjSu7Hwnonhm+8e3k2oXjtHDNM8ssuOZGY52R54wM8nkLwOTXBOooep6dHDurrtHv/AJHbn4W6fbqVDyH644/p+lc3t32PUWBikzidb+GohQvaSFmUEhSOp/Cto1k9GctTBWV4M4mCSS3CpLkMOD/ssp6+vvn3NatX2ODWGkj7A/Z811rqyudNc58lxMnoA+A4HoM7W9Mlq0pOzcPmvyZlVWimvR/mj6LrrOUKACgAoAKACgAoA8L/AGgmJ8OxxBQwkvIQSeqjbJyvoxOB/u7h3rKeiNIK7sZGjWkel2sVrEoCQxqgH0GMn3JyT6k14N225PqfZwgoRUI6WQtxOvzcdO31pHRys5yaRHba2B/OizFseV/EHw/HCi6hb/JJuw4H3WGMg+x7H1rroyveLPExlNK1SOj6np/7N4Z7m9k7CGMY9Cz5/I7a74K0r+X6o8Sb923n+h9ZV1HOFABQAUAFABQAUAebfFTTDqujCFV3stzbuPQYkAJPIOArHpmsaukWb0VecV5o+f8AXbDUtPkE1gjl3c75FnO5u/MeMKCeAOw5LV5alG1np8j6RwmpXivXVr8LF7XJLiK0BRm8xUBZQRuY4JwTg857gVlFpvU75Kah1+W5zllYvcujmB2Uqrmc3H7yNyeVCYAJXr2znANdDaS3XpY81QlzfC/Xm1+41/GSRpoziU5cYCkd26enGc8isKek1Y2rpuk79DT/AGfIru0v7lPLbyZIk81uirjc0fsSckDnoTx6enB+9pt1PnatNwiuZWvqvM+tK6zjCgAoAKACgAoAKAOJ8eTtb2CbVDB541Of4R8zZHv8uPxrmru0GduFV60fLX7keOahqDCRVhUYVdzE9yfuqDzjJ5J5wB7ivHSvsfYOaitTktV1Jd42ozZGGG7GPfhTnmtVT8yJV1ZRsyTTJT5GXxuU4yOOO2R9OtZtWdjWM01cqeNCsmmY7eYhPbjPb3qoaS+Rw13em/Vfmey/BpZLezmgeIgfunM+NocspHlgesaqCcf3snGRXo4f7T7s8nMWuenBfYppW83r+qPaK7TxAoAKACgAoAKACgDL1uw/tKyltwAWdTtz/fHK/TkDms5x5ouPdG1Kfs5xn0T19Ov4Hzbe2z3MgjWRoWj4dQBksp+6dw4HBBxhuuGFeGrxdmup9dFxlqn00at+F7r8DC1NPtGYolEcgHLgP2GM4aVlz+BFbXS1svxK1enNL5qH/wAiQ2Kra2zRO++Ukgnpx24HGfoBWTu2n0M9I3jFmklvb6kqW9x9wOpBJxgk4DEk4+XOeeOOeKa0f4feEkmrdtf/AAFXPp/Q9OttMtI4bQ74wi4k3BjJwPnLjhi3UkcE8969uMVFWR8hKTm3KTbfmbFWQFABQAUAFABQAUANd1iUu5CqoySTgAepPagD5a8T+LNM1bWbiPTkYGEDzXyAkjgkb0A7dmJPJ5IBznza8Ve66/mj3cJKUVrsrO3VJ3ONn1KNiBhlOTntx9ehrBQPQlW6Wf3WKzSjdlTgD+tD0MY73NnQbV9cnNnFnYq5mlH3UU8bQe8jcgf3Rlj0AOtGg60lfSKd2LE4qOFg1HWpJWS7J9WfUfhcx29sLKIBEt1VUUdFQDAH4Y/WvbqRULW0R8nCV733OmrA2CgAoAKACgAoAq3d9BYLvuHWMHgbjjJ9AOpP0ppN6ITaW55n4g8dabqFlNaQq04mUxIWAWN2wTgZO4gbSSduAOvXFbKnJa7GXOrpHyhpETWHiZ45DujuYZNu49SHU46DsD78ivLxUeSKfZnvYGXPVcW94v8ABp/5nd3+lQJ92MbmPXv+leepnvOit2jOl0eNImuJ2MNtECSdx8yZwOIox15YqGYc84XLdPRw9F1nzP4Fv/wDxsZXjhV7OH8R7eS7s9D0e/j0iyggkVI5vLTzI4QBukA+YDHGFYncxIGdxOAa+ghBQjZK3kfIzm5ybbv5l2PxHLHcK8EjQlRwkY3GT2Ix9zgDcQAcZAxSkk9HsCbjsen6R4waVVXUI/JZjgMCPzZQTtz7Ej6VySp9Y7eZ0qp0l+B3McqSjchDD1BBH6Vz7HR6D6ACgAoA5G/8TqrPBaKWkjYoXbhAwzu2922ngnAXOQCcGuiFJvV7HPKoo6I8z1iaa8fzp2MrszLGvQZb5BgDgDYM+g3E12KKirI5HJvVnm2yXVtZFpGdsFijBiBhQWUpxj1JAHsM9c02vsoE7O7/AK7nB+LLRrDVLF4xtKl8nPO7coYemeP1ryMUtLPqme5g3aakujR3tjqBvJWygXYCd7cIgxy7M3QZ49+gySM+HClKpJQp6v8AI+rqYmNKDnUdkvvfkjN1W5k1zZb6eDIkDoVlbCLM0TBsjqEhDcu5Gf4V3MTj62nD2dNUl0/F7/nufAVqntasqzVuZ7b2X/DHVabohC7ndmXH+sc5ZlznuMLGPTGZD8zDFbJcqtdu2l2czd3fbyOgt4IbddtuvMnOedxB/iZvvHPUAnOOM+s2LNCKRLcDnJ9gO/vxx9MD2osF7HQaXrj6bJuBBifG5fTHGcduOc/nWcoc2hcZ8ux6ja3Ud3Gs0RyrD/Irha5XZnandXRZpDKd9ci0hZ+4BwPU/wD1utaQjzNLoZzlypv7jxTULw6demVuIiSjk9vNO9HPsWaVM+qj1r1ErHmlmMlS8rgCOGPCepIXLt/JR9G9aoRh+HtLFtD9qYfvLyQzOe+P+WY+gGDj1peYHkuuRPq15Zqw/ePLcADoAFZ1Lsey4j3sfTJrzMVBySjFa3svmethJqm3KbtFK7+R0dtopvEVE3ixDA9cSXUn94+iH7sYJ+VSXwcljvRoqjHlW7+J9/Ty7HPiK8q8+Z/CvhXZf5vqdrb6ZHaJtwuDgEKMKxHCoo7RJ0Vf4jljnJrqOIm1e4S1hEbchiN4HUrkDYP99isePRjRsUOQ7VDSHJPXHQknoPUDoPXriiwhxYoenPr0A9h6/UUAWYZORxn0/wD1UhnV2UkkUeEYx5OSFJUZ9cA1i0nujZOysmenE4rzzuPLrrUGu7q+lYnEBWKMdgoXcSP99jkn2HpXpwjypL5s82cuZv7kcf4n2TrNaSjAuICEcdVIXeP++SuV9zjvW9rqxlexOkn2uyk2ngCWIHOSdjiIk/Uqx/GnsI2nVbdVReFj2qPYDH+FTsUcJcaNG9xuYfewnIzlDg+WMfwsw8yQjqoC1KSbv/X9dBt2Vl6nWC3CkdAFBA9v7zD0wDtX0yaA2M8zq85PAjtxz6buij/gI5PuaYHK3F017eFcZSOQKfYKvJH+8zeWPc56rRsI3HuJFb93ESwGAT8qqPXJ559EB9+aQDAJGOZGH0GaBWNC2BRsjlj3OePwxUt2LSOvtV8uJV6+5rO/c3SO01W/2IY4jk4O4jtjqPr61hShrzP5GlSdlyo85lXZNcqv3bpcj2kRDlT/ALylWX6Gu5KxxM828XarthjmU9YoiMdckKCP1INVeyYrXaNPwTA/2acxyedGbmXBPTDbXbG3jG5m6/X2p3VmTZpo3Zb8SlY9yszM2dp6bcZz6EYOcgY71D8i15mbpMdwJ5Z7po2EzDylUfNGv8eePQqeCxOD0AxWcVJN3a5dLd/Mt8tlZWlrc1L2/ZG2woHDKApzjLnJVefU89/fpVq3VkvyRyCWGozE25VY03nzn35IJw5x0JJGB0x70n5AvM6WKGG0yyKA78se5OSTk/Uk46c0h7D/ADN3OOfwoAcFWgCeHCsMVLLR3unaV9thDhgNp2/lg/1rnlLldreZ0RjdFK8m8oglSys2CV6jPfjnHrXYtDjZw2ra1DpTtI7Fo127wwIeMrwH5ADrggFlz8o5zyaq9ibdjmvC3h6PxXbjU9SDPZozJbwISvmssrEuzDB2BvkVQQCUYsduAeTmc/JHTZQ9TulsbTSIJRbwpBAqszpGu0OxGCeMZOOCT17+2qXRGbfU4LStJuP7Pl1C0SOL93MbS2RSeXZmLOSeS5JO1QOo5xwHstNhep1ui6eEs43mkM8jpuZsBBlvvAKvTBJGDk+tCvbVhotkS30sdm8DcKgdk+jOpCn65G3P+1TSFsV5CUlMinG8fMOxx0PsQOM9xgdhVbCKUkwzxzUhsV9u45HBoAtRsaWxSL8D/NnsP51O7t95Wx6h4aUy2m7oN7Y9wABn8Tmueq7S+R0U17vzOO1G/W3wrKTk444rvRxPQ5fVrCDWYijjHH8XzD64yOR60NDXkTeHJXtdNGkWhEctivlo7Dcnzs21tvBYr3UkBj/FzxlGCgrLz/zNHJyd35Grb2D20DQ3Esl0XJLvIRkluuAoCqo/hVQAB0qtiTP0cvZq2nE7hbHCN/0zOdoPuo49xg9adtBGju8s8DGevbPuff3/ADqUMzNStlu4JIDxvGQf7rA5U/gcGqEULSU3Fskjfexgn1I4J/GhiIJ0Abip2KsQhsUASKxJwOKl6FItQtuYJ0BP+f8A69V8OxO57nocPk2MKf7GfxJJP8686bvJnoQVopH/2Q==')", - - "6F": - "url('data:image/jpeg;base64,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')", - - "6M": - "url('data:image/jpeg;base64,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')", - - "7F": - "url('data:image/jpeg;base64,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')", - - "7M": - "url('data:image/jpeg;base64,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')", - - "8F": - "url('data:image/jpeg;base64,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')", - - "8M": - "url('data:image/jpeg;base64,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')", - - "9F": - "url('data:image/jpeg;base64,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')", - - "9M": - "url('data:image/jpeg;base64,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')", - - BR: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAtCAIAAACRYfoNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJGNTM2NzBBMEMzNTExRTY5Q0NDQkU3NkQ1MUQ1OTFCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJGNTM2NzBCMEMzNTExRTY5Q0NDQkU3NkQ1MUQ1OTFCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkY1MzY3MDgwQzM1MTFFNjlDQ0NCRTc2RDUxRDU5MUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkY1MzY3MDkwQzM1MTFFNjlDQ0NCRTc2RDUxRDU5MUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4SeXTsAAAKC0lEQVR42uxZ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", - - DE: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAmCAIAAAD7pgrOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjZFMUI5MDQ1MEM3MjExRTY4MTcyRDlCOEZDMDU3Rjc3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjZFMUI5MDQ2MEM3MjExRTY4MTcyRDlCOEZDMDU3Rjc3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NkUxQjkwNDMwQzcyMTFFNjgxNzJEOUI4RkMwNTdGNzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NkUxQjkwNDQwQzcyMTFFNjgxNzJEOUI4RkMwNTdGNzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6gw/inAAAAVklEQVR42uzWUQ2AMAxF0Y5MxCThDI1TMAXwCXjg74VzHZw0TVslSZL039qeDljhgH6FA7YCAAAAAABIvsR3OmAc4c/cM8MnUKclBgAAAAAAAPjaK8AAbScGyes+6bEAAAAASUVORK5CYII5OTg=", - - ES: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAIAAABHOBkQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkRGRTFGQzcyMEQxRTExRTY4ODAyRUM0Q0I3OUUwQUMzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkRGRTFGQzczMEQxRTExRTY4ODAyRUM0Q0I3OUUwQUMzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REZFMUZDNzAwRDFFMTFFNjg4MDJFQzRDQjc5RTBBQzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6REZFMUZDNzEwRDFFMTFFNjg4MDJFQzRDQjc5RTBBQzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5CGIEmAAAD1UlEQVR42uyYy28bRRzHfzOzD7/Wie3EdtIkdkwSkTRt0iRSlJKKJqhCnJBAiAM3JLhx4QQ3uCP+A269IIGQECFItEhBrVFJBQ1NaVqTuCHOy0lsK2t7nzPDxs0BboYgY4sdzUr7mFnNZ3+v76yQ9vdBKzcMLd5cABfABXABXIAzNYFqqLUBwjNaSwMgvtziLgTGWfBrnbViEKOTqZxBXsVAaq9B/5UF/v7SOce6JaiGvF8Rf9oOzQ/kFYF5RMvpzrPmBkBQNaStY6+qiUS3pLLu14Dl9PskFG4zvQJPRhyLsCYGwHBoeDJfIfEhOgoIeMOrTVd+vNVujVF6iKovku450YMN4E0YA46Li+C4e7ytIoWMrIEqPqM6bnFcKE0w1TIfW6S7s+yRTZBqIxuXRm/VtXpG0c1vBUzghWsWeGHpLlnelAUdhQ71ShsIfnZlmA8PQ7mAbtwQB1J09BIFu5lciAL/nVoEgWGg1et+lseeLGKbHM+/3HdpjCq7WpewVV732Ytrquk3YLS5YoCDgGBwcp5yG8P3W4v+LY9u9uo9m3Lb+UlPcgZ+Xs+pHeJoLKosnp97rVO8ByzTXDGAZAjHXpXJS1YVEQ8tDsv58YAaAIEgdlDyFagSVhAxWBUFg2/7lPGT4tBEFhBhY0nK3vsECE0Xg+YRqDy0pyu9PLu3komNjJjtomLTfMaf/05SfR9qfDt8jXSkGhEG9VmAwHGOkok3yOzrz1xVcZTF8uX+uyyT7PlI969++bU9mSj45M4hs+sCD7zy3rE8YZVYY6Q6+eDNOkYxCPXD3sP24jcPUjMbBwSJx/Y5c/uOPb31bF9sdWWwuKD/tiTt3/ZiNfMF67/4ZGg6h1jzuJAMa5/jQt6feCvaPXRz5VeK44BlcnUnnUxvTkWzzK6IVWA7fOgdabd3Kvtpti+Cuib4mZTivwlgQOoKpeFZRlVmAndyKkOUknhXKSEXZL93JxLpqFQ5WGBx+cLlgeByJJh2rprGAgyUGGi5jy2L4hSAjRwd6hzURhUpIWm52AZYDAsRZLPK0dq7/YHHUhCaqZARuL/bf/2Xy05JjirGyMXN2yVsMMWMTZl4xH50x6dlRKINzukL67MLj0bC3oH3lc/afZUG6Lp6C1lA1GZ795164AEtOUbb4vqBltwVO3aK2cT0uVjxSVfPvq+Dx9dLz/cdeYQydkK4IZKuPi30NN+SU1Fx8l2FU9c63ccINYehtZOnd2xoDIDgZJh/XjnIX235Z3NKjVKjD56LtvamvvCDt7UBiJe3NID7b9QFcAFcABfg/w3whwADALA9jy2I9PhSAAAAAElFTkSuQmCCMTg5Mw==", - - FR: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAArCAIAAABHOBkQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkJENDg5REJDMEM3MDExRTZBM0QzODREQzFFNDczOURFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkJENDg5REJEMEM3MDExRTZBM0QzODREQzFFNDczOURFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkQ0ODlEQkEwQzcwMTFFNkEzRDM4NERDMUU0NzM5REUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkQ0ODlEQkIwQzcwMTFFNkEzRDM4NERDMUU0NzM5REUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5eKs0eAAAAZUlEQVR42uzPMQ2AQBAAwXu610EwQxCAAnrE0GAAETR4IqGABg/XfTIrYJMp0W+R7vmOfZynIT14z+te1lJr+tBF4wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTVL8AAJaAJpU7NMCAAAAAASUVORK5CYIIxMDEz", - - GB: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFERTU2NTJEMEQyRDExRTY5MUVCQTMxOUMzRTQ4OUQ4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFERTU2NTJFMEQyRDExRTY5MUVCQTMxOUMzRTQ4OUQ4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MURFNTY1MkIwRDJEMTFFNjkxRUJBMzE5QzNFNDg5RDgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MURFNTY1MkMwRDJEMTFFNjkxRUJBMzE5QzNFNDg5RDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4LW+oDAAAIsElEQVR42sxZ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", - - US: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAiCAIAAABgN0jYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkFBOEQ0MUQxMEQyRDExRTY4NzY1OUZEN0M0RTRGNDEzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkFBOEQ0MUQyMEQyRDExRTY4NzY1OUZEN0M0RTRGNDEzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUE4RDQxQ0YwRDJEMTFFNjg3NjU5RkQ3QzRFNEY0MTMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QUE4RDQxRDAwRDJEMTFFNjg3NjU5RkQ3QzRFNEY0MTMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6Xh7i9AAAGGElEQVR42uxX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" -}; diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images/components.svg b/examples-standalone/vite-coffee-warehouse/src/assets/images/components.svg deleted file mode 100644 index 54b11e90..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/images/components.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images/github-icon.svg b/examples-standalone/vite-coffee-warehouse/src/assets/images/github-icon.svg deleted file mode 100644 index a4ed73da..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/images/github-icon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images/hamburger-icon.svg b/examples-standalone/vite-coffee-warehouse/src/assets/images/hamburger-icon.svg deleted file mode 100644 index 4814a830..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/images/hamburger-icon.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images/header-bg.png b/examples-standalone/vite-coffee-warehouse/src/assets/images/header-bg.png deleted file mode 100644 index 80b2b45b..00000000 Binary files a/examples-standalone/vite-coffee-warehouse/src/assets/images/header-bg.png and /dev/null differ diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images/info-bg-line.png b/examples-standalone/vite-coffee-warehouse/src/assets/images/info-bg-line.png deleted file mode 100644 index ea422305..00000000 Binary files a/examples-standalone/vite-coffee-warehouse/src/assets/images/info-bg-line.png and /dev/null differ diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images/info-bg.png b/examples-standalone/vite-coffee-warehouse/src/assets/images/info-bg.png deleted file mode 100644 index 205bf8b4..00000000 Binary files a/examples-standalone/vite-coffee-warehouse/src/assets/images/info-bg.png and /dev/null differ diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images/info-waves.svg b/examples-standalone/vite-coffee-warehouse/src/assets/images/info-waves.svg deleted file mode 100644 index c147dab1..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/images/info-waves.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images/logo-kendo.png b/examples-standalone/vite-coffee-warehouse/src/assets/images/logo-kendo.png deleted file mode 100644 index 3db6937b..00000000 Binary files a/examples-standalone/vite-coffee-warehouse/src/assets/images/logo-kendo.png and /dev/null differ diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images/palette.svg b/examples-standalone/vite-coffee-warehouse/src/assets/images/palette.svg deleted file mode 100644 index bd22d6cd..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/images/palette.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images/styles.svg b/examples-standalone/vite-coffee-warehouse/src/assets/images/styles.svg deleted file mode 100644 index 946f727d..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/images/styles.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/images/user.jpg b/examples-standalone/vite-coffee-warehouse/src/assets/images/user.jpg deleted file mode 100644 index 61d0de30..00000000 Binary files a/examples-standalone/vite-coffee-warehouse/src/assets/images/user.jpg and /dev/null differ diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/logo.png b/examples-standalone/vite-coffee-warehouse/src/assets/logo.png deleted file mode 100644 index f3d2503f..00000000 Binary files a/examples-standalone/vite-coffee-warehouse/src/assets/logo.png and /dev/null differ diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/orders.js b/examples-standalone/vite-coffee-warehouse/src/assets/orders.js deleted file mode 100644 index 6e85d92d..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/orders.js +++ /dev/null @@ -1,8308 +0,0 @@ -export const orders = [ - { - orderID: 10255, - orderDate: 1531342800000, - orderTotal: 2490.5, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1533821400000, - requiredDateEnd: 1533826800000, - teamID: 4 - }, - { - orderID: 10263, - orderDate: 1532293200000, - orderTotal: 1873.8, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1534766400000, - requiredDateEnd: 1534771800000, - teamID: 4 - }, - { - orderID: 10324, - orderDate: 1538946000000, - orderTotal: 5275.715, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1541415600000, - requiredDateEnd: 1541421000000, - teamID: 4 - }, - { - orderID: 10331, - orderDate: 1539637200000, - orderTotal: 88.5, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1543312800000, - requiredDateEnd: 1543316400000, - teamID: 4 - }, - { - orderID: 10386, - orderDate: 1545084000000, - orderTotal: 166, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1546347600000, - requiredDateEnd: 1546353000000, - teamID: 4 - }, - { - orderID: 10411, - orderDate: 1547071200000, - orderTotal: 966.8, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1549530000000, - requiredDateEnd: 1549533600000, - teamID: 4 - }, - { - orderID: 10475, - orderDate: 1552514400000, - orderTotal: 1505.18, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1554989400000, - requiredDateEnd: 1554991200000, - teamID: 4 - }, - { - orderID: 10501, - orderDate: 1554757200000, - orderTotal: 149, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1557228600000, - requiredDateEnd: 1557232200000, - teamID: 4 - }, - { - orderID: 10506, - orderDate: 1555275600000, - orderTotal: 415.8, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1557748800000, - requiredDateEnd: 1557754200000, - teamID: 4 - }, - { - orderID: 10538, - orderDate: 1557867600000, - orderTotal: 139.8, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1560337200000, - requiredDateEnd: 1560342600000, - teamID: 4 - }, - { - orderID: 10557, - orderDate: 1559509200000, - orderTotal: 1152.5, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1560771000000, - requiredDateEnd: 1560772800000, - teamID: 4 - }, - { - orderID: 10566, - orderDate: 1560286800000, - orderTotal: 1761, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1562758200000, - requiredDateEnd: 1562761800000, - teamID: 4 - }, - { - orderID: 10577, - orderDate: 1561237200000, - orderTotal: 569, - customerCompanyName: `Trail's Head Gourmet Provisioners`, - customerContactName: 'Helvetius Nagy', - requiredDateStart: 1564907400000, - requiredDateEnd: 1564911000000, - teamID: 4 - }, - { - orderID: 10586, - orderDate: 1562014800000, - orderTotal: 23.8, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1564473600000, - requiredDateEnd: 1564477200000, - teamID: 4 - }, - { - orderID: 10646, - orderDate: 1566853200000, - orderTotal: 1446, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1570534200000, - requiredDateEnd: 1570537800000, - teamID: 4 - }, - { - orderID: 10672, - orderDate: 1568667600000, - orderTotal: 3815.25, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1569925800000, - requiredDateEnd: 1569927600000, - teamID: 4 - }, - { - orderID: 10687, - orderDate: 1569790800000, - orderTotal: 4960.9, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1572271200000, - requiredDateEnd: 1572273000000, - teamID: 4 - }, - { - orderID: 10705, - orderDate: 1571086800000, - orderTotal: 378, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1573569000000, - requiredDateEnd: 1573574400000, - teamID: 4 - }, - { - orderID: 10736, - orderDate: 1573423200000, - orderTotal: 997, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1575892800000, - requiredDateEnd: 1575894600000, - teamID: 4 - }, - { - orderID: 10745, - orderDate: 1574028000000, - orderTotal: 4529.8, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1576488600000, - requiredDateEnd: 1576492200000, - teamID: 4 - }, - { - orderID: 10750, - orderDate: 1574287200000, - orderTotal: 1590.5625, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1576765800000, - requiredDateEnd: 1576771200000, - teamID: 4 - }, - { - orderID: 10771, - orderDate: 1575928800000, - orderTotal: 344, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1578402000000, - requiredDateEnd: 1578407400000, - teamID: 4 - }, - { - orderID: 10782, - orderDate: 1576533600000, - orderTotal: 12.5, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1579010400000, - requiredDateEnd: 1579015800000, - teamID: 4 - }, - { - orderID: 10799, - orderDate: 1577311200000, - orderTotal: 1553.5, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1580983200000, - requiredDateEnd: 1580985000000, - teamID: 4 - }, - { - orderID: 10828, - orderDate: 1578866400000, - orderTotal: 932, - customerCompanyName: 'Rancho grande', - customerContactName: 'Sergio Gutiérrez', - requiredDateStart: 1580133600000, - requiredDateEnd: 1580139000000, - teamID: 4 - }, - { - orderID: 10829, - orderDate: 1578866400000, - orderTotal: 1764, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1581332400000, - requiredDateEnd: 1581334200000, - teamID: 4 - }, - { - orderID: 10837, - orderDate: 1579125600000, - orderTotal: 1064.5, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1581595200000, - requiredDateEnd: 1581600600000, - teamID: 4 - }, - { - orderID: 10849, - orderDate: 1579730400000, - orderTotal: 967.819, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1582201800000, - requiredDateEnd: 1582207200000, - teamID: 4 - }, - { - orderID: 10853, - orderDate: 1580076000000, - orderTotal: 625, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1582551000000, - requiredDateEnd: 1582554600000, - teamID: 4 - }, - { - orderID: 10871, - orderDate: 1580853600000, - orderTotal: 1979.23, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1583402400000, - requiredDateEnd: 1583404200000, - teamID: 4 - }, - { - orderID: 10889, - orderDate: 1581804000000, - orderTotal: 11380, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1584361800000, - requiredDateEnd: 1584367200000, - teamID: 4 - }, - { - orderID: 10893, - orderDate: 1581976800000, - orderTotal: 5502.11, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1584540000000, - requiredDateEnd: 1584541800000, - teamID: 4 - }, - { - orderID: 10905, - orderDate: 1582495200000, - orderTotal: 342, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1585053000000, - requiredDateEnd: 1585058400000, - teamID: 4 - }, - { - orderID: 10942, - orderDate: 1583877600000, - orderTotal: 560, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1586332800000, - requiredDateEnd: 1586334600000, - teamID: 4 - }, - { - orderID: 10951, - orderDate: 1584309600000, - orderTotal: 458.755, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1587978000000, - requiredDateEnd: 1587979800000, - teamID: 4 - }, - { - orderID: 10953, - orderDate: 1584309600000, - orderTotal: 4441.25, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1585560600000, - requiredDateEnd: 1585562400000, - teamID: 4 - }, - { - orderID: 10963, - orderDate: 1584568800000, - orderTotal: 57.8, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1587043800000, - requiredDateEnd: 1587045600000, - teamID: 4 - }, - { - orderID: 10970, - orderDate: 1585000800000, - orderTotal: 224, - customerCompanyName: 'Bólido Comidas preparadas', - customerContactName: 'Martín Sommer', - requiredDateStart: 1586246400000, - requiredDateEnd: 1586248200000, - teamID: 4 - }, - { - orderID: 10978, - orderDate: 1585173600000, - orderTotal: 1303.195, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1587639600000, - requiredDateEnd: 1587645000000, - teamID: 4 - }, - { - orderID: 11016, - orderDate: 1586466000000, - orderTotal: 491.5, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1588924800000, - requiredDateEnd: 1588926600000, - teamID: 4 - }, - { - orderID: 11017, - orderDate: 1586725200000, - orderTotal: 6750, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1589196600000, - requiredDateEnd: 1589198400000, - teamID: 4 - }, - { - orderID: 11022, - orderDate: 1586811600000, - orderTotal: 1402, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1589283000000, - requiredDateEnd: 1589286600000, - teamID: 4 - }, - { - orderID: 11058, - orderDate: 1588107600000, - orderTotal: 858, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1590586200000, - requiredDateEnd: 1590588000000, - teamID: 4 - }, - { - orderID: 10262, - orderDate: 1532206800000, - orderTotal: 584, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1534672800000, - requiredDateEnd: 1534676400000, - teamID: 4 - }, - { - orderID: 10268, - orderDate: 1532898000000, - orderTotal: 1101.2, - customerCompanyName: 'GROSELLA-Restaurante', - customerContactName: 'Manuel Pereira', - requiredDateStart: 1535369400000, - requiredDateEnd: 1535371200000, - teamID: 4 - }, - { - orderID: 10276, - orderDate: 1533675600000, - orderTotal: 420, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1534928400000, - requiredDateEnd: 1534930200000, - teamID: 4 - }, - { - orderID: 10278, - orderDate: 1534021200000, - orderTotal: 1488.8, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1536494400000, - requiredDateEnd: 1536498000000, - teamID: 4 - }, - { - orderID: 10279, - orderDate: 1534107600000, - orderTotal: 351, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1536568200000, - requiredDateEnd: 1536571800000, - teamID: 4 - }, - { - orderID: 10286, - orderDate: 1534798800000, - orderTotal: 3016, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1537261200000, - requiredDateEnd: 1537264800000, - teamID: 4 - }, - { - orderID: 10287, - orderDate: 1534885200000, - orderTotal: 819, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1537351200000, - requiredDateEnd: 1537356600000, - teamID: 4 - }, - { - orderID: 10290, - orderDate: 1535317200000, - orderTotal: 2169, - customerCompanyName: 'Comércio Mineiro', - customerContactName: 'Pedro Afonso', - requiredDateStart: 1537776000000, - requiredDateEnd: 1537781400000, - teamID: 4 - }, - { - orderID: 10301, - orderDate: 1536440400000, - orderTotal: 755, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1538919000000, - requiredDateEnd: 1538922600000, - teamID: 4 - }, - { - orderID: 10305, - orderDate: 1536786000000, - orderTotal: 3741.3, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1539248400000, - requiredDateEnd: 1539250200000, - teamID: 4 - }, - { - orderID: 10310, - orderDate: 1537390800000, - orderTotal: 336, - customerCompanyName: 'The Big Cheese', - customerContactName: 'Liz Nixon', - requiredDateStart: 1539865800000, - requiredDateEnd: 1539869400000, - teamID: 4 - }, - { - orderID: 10318, - orderDate: 1538341200000, - orderTotal: 240.4, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1540810800000, - requiredDateEnd: 1540816200000, - teamID: 4 - }, - { - orderID: 10334, - orderDate: 1540069200000, - orderTotal: 144.8, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1542549600000, - requiredDateEnd: 1542555000000, - teamID: 4 - }, - { - orderID: 10354, - orderDate: 1542146400000, - orderTotal: 568.8, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1544621400000, - requiredDateEnd: 1544625000000, - teamID: 4 - }, - { - orderID: 10366, - orderDate: 1543356000000, - orderTotal: 136, - customerCompanyName: 'Galería del gastrónomo', - customerContactName: 'Eduardo Saavedra', - requiredDateStart: 1547033400000, - requiredDateEnd: 1547037000000, - teamID: 4 - }, - { - orderID: 10369, - orderDate: 1543701600000, - orderTotal: 2390.4, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1546180200000, - requiredDateEnd: 1546182000000, - teamID: 4 - }, - { - orderID: 10380, - orderDate: 1544565600000, - orderTotal: 1313.82, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1547044200000, - requiredDateEnd: 1547046000000, - teamID: 4 - }, - { - orderID: 10383, - orderDate: 1544911200000, - orderTotal: 899, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1547389800000, - requiredDateEnd: 1547395200000, - teamID: 4 - }, - { - orderID: 10399, - orderDate: 1546207200000, - orderTotal: 1765.6, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1547458200000, - requiredDateEnd: 1547463600000, - teamID: 4 - }, - { - orderID: 10402, - orderDate: 1546380000000, - orderTotal: 2713.5, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1550059200000, - requiredDateEnd: 1550064600000, - teamID: 4 - }, - { - orderID: 10408, - orderDate: 1546898400000, - orderTotal: 1622.4, - customerCompanyName: 'Folies gourmandes', - customerContactName: 'Martine Rancé', - requiredDateStart: 1549369800000, - requiredDateEnd: 1549373400000, - teamID: 4 - }, - { - orderID: 10412, - orderDate: 1547330400000, - orderTotal: 334.8, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1549789200000, - requiredDateEnd: 1549791000000, - teamID: 4 - }, - { - orderID: 10416, - orderDate: 1547589600000, - orderTotal: 720, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1550064600000, - requiredDateEnd: 1550068200000, - teamID: 4 - }, - { - orderID: 10421, - orderDate: 1548021600000, - orderTotal: 1194.27, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1551709800000, - requiredDateEnd: 1551713400000, - teamID: 4 - }, - { - orderID: 10435, - orderDate: 1549231200000, - orderTotal: 631.6, - customerCompanyName: 'Consolidated Holdings', - customerContactName: 'Elizabeth Brown', - requiredDateStart: 1552899600000, - requiredDateEnd: 1552905000000, - teamID: 4 - }, - { - orderID: 10437, - orderDate: 1549317600000, - orderTotal: 393, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1551781800000, - requiredDateEnd: 1551787200000, - teamID: 4 - }, - { - orderID: 10443, - orderDate: 1549922400000, - orderTotal: 517.44, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1552397400000, - requiredDateEnd: 1552402800000, - teamID: 4 - }, - { - orderID: 10450, - orderDate: 1550527200000, - orderTotal: 425.12, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1552991400000, - requiredDateEnd: 1552996800000, - teamID: 4 - }, - { - orderID: 10452, - orderDate: 1550613600000, - orderTotal: 2018.5, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1553092200000, - requiredDateEnd: 1553094000000, - teamID: 4 - }, - { - orderID: 10455, - orderDate: 1550959200000, - orderTotal: 2684, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1554636600000, - requiredDateEnd: 1554642000000, - teamID: 4 - }, - { - orderID: 10456, - orderDate: 1551045600000, - orderTotal: 557.6, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1554730200000, - requiredDateEnd: 1554735600000, - teamID: 4 - }, - { - orderID: 10460, - orderDate: 1551304800000, - orderTotal: 176.1, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1553781600000, - requiredDateEnd: 1553785200000, - teamID: 4 - }, - { - orderID: 10467, - orderDate: 1551823200000, - orderTotal: 235.2, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1554291000000, - requiredDateEnd: 1554292800000, - teamID: 4 - }, - { - orderID: 10472, - orderDate: 1552341600000, - orderTotal: 1036.8, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1554796800000, - requiredDateEnd: 1554798600000, - teamID: 4 - }, - { - orderID: 10476, - orderDate: 1552773600000, - orderTotal: 180.48, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1555232400000, - requiredDateEnd: 1555234200000, - teamID: 4 - }, - { - orderID: 10481, - orderDate: 1553032800000, - orderTotal: 1472, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1555493400000, - requiredDateEnd: 1555498800000, - teamID: 4 - }, - { - orderID: 10488, - orderDate: 1553637600000, - orderTotal: 1512, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1556109000000, - requiredDateEnd: 1556114400000, - teamID: 4 - }, - { - orderID: 10491, - orderDate: 1553983200000, - orderTotal: 259.505, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1556442000000, - requiredDateEnd: 1556445600000, - teamID: 4 - }, - { - orderID: 10498, - orderDate: 1554584400000, - orderTotal: 575, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1557059400000, - requiredDateEnd: 1557063000000, - teamID: 4 - }, - { - orderID: 10521, - orderDate: 1556485200000, - orderTotal: 225.5, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1558963800000, - requiredDateEnd: 1558965600000, - teamID: 4 - }, - { - orderID: 10533, - orderDate: 1557608400000, - orderTotal: 2222.2, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1560067200000, - requiredDateEnd: 1560072600000, - teamID: 4 - }, - { - orderID: 10534, - orderDate: 1557608400000, - orderTotal: 465.7, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1560076200000, - requiredDateEnd: 1560078000000, - teamID: 4 - }, - { - orderID: 10543, - orderDate: 1558386000000, - orderTotal: 1504.5, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1560850200000, - requiredDateEnd: 1560855600000, - teamID: 4 - }, - { - orderID: 10545, - orderDate: 1558472400000, - orderTotal: 210, - customerCompanyName: 'Lazy K Kountry Store', - customerContactName: 'John Steel', - requiredDateStart: 1560931200000, - requiredDateEnd: 1560936600000, - teamID: 4 - }, - { - orderID: 10560, - orderDate: 1559768400000, - orderTotal: 1072.425, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1562238000000, - requiredDateEnd: 1562239800000, - teamID: 4 - }, - { - orderID: 10565, - orderDate: 1560200400000, - orderTotal: 639.9, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1562670000000, - requiredDateEnd: 1562673600000, - teamID: 4 - }, - { - orderID: 10571, - orderDate: 1560718800000, - orderTotal: 550.5875, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1564396200000, - requiredDateEnd: 1564399800000, - teamID: 4 - }, - { - orderID: 10589, - orderDate: 1562187600000, - orderTotal: 72, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1564648200000, - requiredDateEnd: 1564650000000, - teamID: 4 - }, - { - orderID: 10596, - orderDate: 1562792400000, - orderTotal: 1180.88, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1565265600000, - requiredDateEnd: 1565269200000, - teamID: 4 - }, - { - orderID: 10602, - orderDate: 1563310800000, - orderTotal: 48.75, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1565780400000, - requiredDateEnd: 1565785800000, - teamID: 4 - }, - { - orderID: 10603, - orderDate: 1563397200000, - orderTotal: 1483, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1565861400000, - requiredDateEnd: 1565866800000, - teamID: 4 - }, - { - orderID: 10610, - orderDate: 1564002000000, - orderTotal: 299.25, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1566473400000, - requiredDateEnd: 1566477000000, - teamID: 4 - }, - { - orderID: 10614, - orderDate: 1564347600000, - orderTotal: 464, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1566810000000, - requiredDateEnd: 1566815400000, - teamID: 4 - }, - { - orderID: 10623, - orderDate: 1565125200000, - orderTotal: 1336.95, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1567596600000, - requiredDateEnd: 1567600200000, - teamID: 4 - }, - { - orderID: 10627, - orderDate: 1565470800000, - orderTotal: 1185.75, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1569141000000, - requiredDateEnd: 1569144600000, - teamID: 4 - }, - { - orderID: 10631, - orderDate: 1565730000000, - orderTotal: 55.8, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1568208600000, - requiredDateEnd: 1568212200000, - teamID: 4 - }, - { - orderID: 10632, - orderDate: 1565730000000, - orderTotal: 589, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1568205000000, - requiredDateEnd: 1568206800000, - teamID: 4 - }, - { - orderID: 10635, - orderDate: 1566075600000, - orderTotal: 1326.225, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1568536200000, - requiredDateEnd: 1568541600000, - teamID: 4 - }, - { - orderID: 10651, - orderDate: 1567285200000, - orderTotal: 397.8, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1569758400000, - requiredDateEnd: 1569762000000, - teamID: 4 - }, - { - orderID: 10660, - orderDate: 1567890000000, - orderTotal: 1701, - customerCompanyName: 'Hungry Coyote Import Store', - customerContactName: 'Yoshi Latimer', - requiredDateStart: 1570348800000, - requiredDateEnd: 1570350600000, - teamID: 4 - }, - { - orderID: 10679, - orderDate: 1569186000000, - orderTotal: 660, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1571648400000, - requiredDateEnd: 1571650200000, - teamID: 4 - }, - { - orderID: 10694, - orderDate: 1570309200000, - orderTotal: 4825, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1572786000000, - requiredDateEnd: 1572787800000, - teamID: 4 - }, - { - orderID: 10696, - orderDate: 1570482000000, - orderTotal: 996, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1574166600000, - requiredDateEnd: 1574172000000, - teamID: 4 - }, - { - orderID: 10706, - orderDate: 1571173200000, - orderTotal: 1893, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1573653600000, - requiredDateEnd: 1573659000000, - teamID: 4 - }, - { - orderID: 10719, - orderDate: 1572123600000, - orderTotal: 844.2525, - customerCompanyName: `Let's Stop N Shop`, - customerContactName: 'Jaime Yorres', - requiredDateStart: 1574598600000, - requiredDateEnd: 1574602200000, - teamID: 4 - }, - { - orderID: 10720, - orderDate: 1572213600000, - orderTotal: 550, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1573473600000, - requiredDateEnd: 1573477200000, - teamID: 4 - }, - { - orderID: 10722, - orderDate: 1572300000000, - orderTotal: 1570, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1575979200000, - requiredDateEnd: 1575981000000, - teamID: 4 - }, - { - orderID: 10724, - orderDate: 1572386400000, - orderTotal: 638.5, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1576072800000, - requiredDateEnd: 1576078200000, - teamID: 4 - }, - { - orderID: 10729, - orderDate: 1572818400000, - orderTotal: 1850, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1576490400000, - requiredDateEnd: 1576495800000, - teamID: 4 - }, - { - orderID: 10756, - orderDate: 1574805600000, - orderTotal: 1990, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1577275200000, - requiredDateEnd: 1577277000000, - teamID: 4 - }, - { - orderID: 10770, - orderDate: 1575842400000, - orderTotal: 236.25, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1578303000000, - requiredDateEnd: 1578304800000, - teamID: 4 - }, - { - orderID: 10786, - orderDate: 1576706400000, - orderTotal: 1531.08, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1579177800000, - requiredDateEnd: 1579183200000, - teamID: 4 - }, - { - orderID: 10795, - orderDate: 1577138400000, - orderTotal: 2158, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1579609800000, - requiredDateEnd: 1579613400000, - teamID: 4 - }, - { - orderID: 10811, - orderDate: 1577916000000, - orderTotal: 852, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1580376600000, - requiredDateEnd: 1580380200000, - teamID: 4 - }, - { - orderID: 10824, - orderDate: 1578520800000, - orderTotal: 250.8, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1580994000000, - requiredDateEnd: 1580995800000, - teamID: 4 - }, - { - orderID: 10844, - orderDate: 1579557600000, - orderTotal: 735, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1582018200000, - requiredDateEnd: 1582021800000, - teamID: 4 - }, - { - orderID: 10845, - orderDate: 1579557600000, - orderTotal: 3812.7, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1580826600000, - requiredDateEnd: 1580832000000, - teamID: 4 - }, - { - orderID: 10852, - orderDate: 1579989600000, - orderTotal: 2984, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1581258600000, - requiredDateEnd: 1581264000000, - teamID: 4 - }, - { - orderID: 10857, - orderDate: 1580162400000, - orderTotal: 2048.2125, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1582632000000, - requiredDateEnd: 1582637400000, - teamID: 4 - }, - { - orderID: 10862, - orderDate: 1580335200000, - orderTotal: 581, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1584100800000, - requiredDateEnd: 1584102600000, - teamID: 4 - }, - { - orderID: 10883, - orderDate: 1581458400000, - orderTotal: 36, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1584012600000, - requiredDateEnd: 1584018000000, - teamID: 4 - }, - { - orderID: 10887, - orderDate: 1581544800000, - orderTotal: 70, - customerCompanyName: 'Galería del gastrónomo', - customerContactName: 'Eduardo Saavedra', - requiredDateStart: 1584095400000, - requiredDateEnd: 1584097200000, - teamID: 4 - }, - { - orderID: 10932, - orderDate: 1583445600000, - orderTotal: 1788.63, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1585911600000, - requiredDateEnd: 1585917000000, - teamID: 4 - }, - { - orderID: 10940, - orderDate: 1583877600000, - orderTotal: 360, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1586334600000, - requiredDateEnd: 1586336400000, - teamID: 4 - }, - { - orderID: 10955, - orderDate: 1584396000000, - orderTotal: 74.4, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1586871000000, - requiredDateEnd: 1586872800000, - teamID: 4 - }, - { - orderID: 10957, - orderDate: 1584482400000, - orderTotal: 1762.7, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1586944800000, - requiredDateEnd: 1586948400000, - teamID: 4 - }, - { - orderID: 10961, - orderDate: 1584568800000, - orderTotal: 1119.9, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1587031200000, - requiredDateEnd: 1587033000000, - teamID: 4 - }, - { - orderID: 10962, - orderDate: 1584568800000, - orderTotal: 3584, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1587038400000, - requiredDateEnd: 1587043800000, - teamID: 4 - }, - { - orderID: 10977, - orderDate: 1585173600000, - orderTotal: 2233, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1587634200000, - requiredDateEnd: 1587636000000, - teamID: 4 - }, - { - orderID: 10979, - orderDate: 1585173600000, - orderTotal: 4813.5, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1587639600000, - requiredDateEnd: 1587643200000, - teamID: 4 - }, - { - orderID: 10986, - orderDate: 1585515600000, - orderTotal: 2220, - customerCompanyName: 'Océano Atlántico Ltda.', - customerContactName: 'Yvonne Moncada', - requiredDateStart: 1587979800000, - requiredDateEnd: 1587983400000, - teamID: 4 - }, - { - orderID: 10987, - orderDate: 1585602000000, - orderTotal: 2772, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1588060800000, - requiredDateEnd: 1588064400000, - teamID: 4 - }, - { - orderID: 10997, - orderDate: 1585861200000, - orderTotal: 1885, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1589542200000, - requiredDateEnd: 1589547600000, - teamID: 4 - }, - { - orderID: 10998, - orderDate: 1585861200000, - orderTotal: 686, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1587121200000, - requiredDateEnd: 1587123000000, - teamID: 4 - }, - { - orderID: 11007, - orderDate: 1586293200000, - orderTotal: 2633.9, - customerCompanyName: 'Princesa Isabel Vinhos', - customerContactName: 'Isabel de Castro', - requiredDateStart: 1588759200000, - requiredDateEnd: 1588764600000, - teamID: 4 - }, - { - orderID: 11034, - orderDate: 1587330000000, - orderTotal: 539.4, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1591016400000, - requiredDateEnd: 1591021800000, - teamID: 4 - }, - { - orderID: 11036, - orderDate: 1587330000000, - orderTotal: 1692, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1589794200000, - requiredDateEnd: 1589797800000, - teamID: 4 - }, - { - orderID: 11046, - orderDate: 1587589200000, - orderTotal: 1485.8, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1590066000000, - requiredDateEnd: 1590067800000, - teamID: 4 - }, - { - orderID: 11050, - orderDate: 1587934800000, - orderTotal: 810, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1590404400000, - requiredDateEnd: 1590409800000, - teamID: 4 - }, - { - orderID: 11054, - orderDate: 1588021200000, - orderTotal: 305, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1590498000000, - requiredDateEnd: 1590499800000, - teamID: 4 - }, - { - orderID: 11056, - orderDate: 1588021200000, - orderTotal: 3740, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1589270400000, - requiredDateEnd: 1589274000000, - teamID: 4 - }, - { - orderID: 11065, - orderDate: 1588280400000, - orderTotal: 189.42, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1590755400000, - requiredDateEnd: 1590757200000, - teamID: 4 - }, - { - orderID: 11068, - orderDate: 1588539600000, - orderTotal: 2027.08, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1591011000000, - requiredDateEnd: 1591016400000, - teamID: 4 - }, - { - orderID: 11075, - orderDate: 1588712400000, - orderTotal: 498.1, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1591180200000, - requiredDateEnd: 1591185600000, - teamID: 4 - }, - { - orderID: 10289, - orderDate: 1535230800000, - orderTotal: 479.4, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1537698600000, - requiredDateEnd: 1537704000000, - teamID: 3 - }, - { - orderID: 10303, - orderDate: 1536613200000, - orderTotal: 1117.8, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1539090000000, - requiredDateEnd: 1539093600000, - teamID: 3 - }, - { - orderID: 10308, - orderDate: 1537218000000, - orderTotal: 88.8, - customerCompanyName: 'Ana Trujillo Emparedados y helados', - customerContactName: 'Ana Trujillo', - requiredDateStart: 1539696600000, - requiredDateEnd: 1539702000000, - teamID: 3 - }, - { - orderID: 10319, - orderDate: 1538427600000, - orderTotal: 1191.2, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1540909800000, - requiredDateEnd: 1540915200000, - teamID: 3 - }, - { - orderID: 10322, - orderDate: 1538600400000, - orderTotal: 112, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1541080800000, - requiredDateEnd: 1541086200000, - teamID: 3 - }, - { - orderID: 10335, - orderDate: 1540155600000, - orderTotal: 2036.16, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1542619800000, - requiredDateEnd: 1542623400000, - teamID: 3 - }, - { - orderID: 10336, - orderDate: 1540242000000, - orderTotal: 285.12, - customerCompanyName: 'Princesa Isabel Vinhos', - customerContactName: 'Isabel de Castro', - requiredDateStart: 1542720600000, - requiredDateEnd: 1542722400000, - teamID: 3 - }, - { - orderID: 10341, - orderDate: 1540764000000, - orderTotal: 352.6, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1543222800000, - requiredDateEnd: 1543224600000, - teamID: 3 - }, - { - orderID: 10349, - orderDate: 1541628000000, - orderTotal: 141.6, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1544104800000, - requiredDateEnd: 1544106600000, - teamID: 3 - }, - { - orderID: 10353, - orderDate: 1542060000000, - orderTotal: 8593.28, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1544520600000, - requiredDateEnd: 1544524200000, - teamID: 3 - }, - { - orderID: 10367, - orderDate: 1543356000000, - orderTotal: 834.2, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1545834600000, - requiredDateEnd: 1545838200000, - teamID: 3 - }, - { - orderID: 10406, - orderDate: 1546812000000, - orderTotal: 1830.78, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1550498400000, - requiredDateEnd: 1550500200000, - teamID: 3 - }, - { - orderID: 10424, - orderDate: 1548194400000, - orderTotal: 9194.56, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1550665800000, - requiredDateEnd: 1550667600000, - teamID: 3 - }, - { - orderID: 10428, - orderDate: 1548626400000, - orderTotal: 192, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1551097800000, - requiredDateEnd: 1551103200000, - teamID: 3 - }, - { - orderID: 10458, - orderDate: 1551132000000, - orderTotal: 3891, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1553607000000, - requiredDateEnd: 1553612400000, - teamID: 3 - }, - { - orderID: 10483, - orderDate: 1553378400000, - orderTotal: 668.8, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1555839000000, - requiredDateEnd: 1555840800000, - teamID: 3 - }, - { - orderID: 10490, - orderDate: 1553983200000, - orderTotal: 3163.2, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1556445600000, - requiredDateEnd: 1556451000000, - teamID: 3 - }, - { - orderID: 10496, - orderDate: 1554325200000, - orderTotal: 190, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1556796600000, - requiredDateEnd: 1556800200000, - teamID: 3 - }, - { - orderID: 10497, - orderDate: 1554325200000, - orderTotal: 1380.6, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1556802000000, - requiredDateEnd: 1556803800000, - teamID: 3 - }, - { - orderID: 10507, - orderDate: 1555275600000, - orderTotal: 749.0625, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1557736200000, - requiredDateEnd: 1557738000000, - teamID: 3 - }, - { - orderID: 10512, - orderDate: 1555794000000, - orderTotal: 525.3, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1558265400000, - requiredDateEnd: 1558267200000, - teamID: 3 - }, - { - orderID: 10513, - orderDate: 1555880400000, - orderTotal: 1942, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1559563200000, - requiredDateEnd: 1559566800000, - teamID: 3 - }, - { - orderID: 10520, - orderDate: 1556485200000, - orderTotal: 200, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1558958400000, - requiredDateEnd: 1558962000000, - teamID: 3 - }, - { - orderID: 10523, - orderDate: 1556658000000, - orderTotal: 2444.31, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1559120400000, - requiredDateEnd: 1559124000000, - teamID: 3 - }, - { - orderID: 10527, - orderDate: 1557003600000, - orderTotal: 1503, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1559462400000, - requiredDateEnd: 1559466000000, - teamID: 3 - }, - { - orderID: 10531, - orderDate: 1557262800000, - orderTotal: 110, - customerCompanyName: 'Océano Atlántico Ltda.', - customerContactName: 'Yvonne Moncada', - requiredDateStart: 1559725200000, - requiredDateEnd: 1559730600000, - teamID: 3 - }, - { - orderID: 10532, - orderDate: 1557349200000, - orderTotal: 796.35, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1559808000000, - requiredDateEnd: 1559813400000, - teamID: 3 - }, - { - orderID: 10550, - orderDate: 1558990800000, - orderTotal: 683.3, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1561469400000, - requiredDateEnd: 1561471200000, - teamID: 3 - }, - { - orderID: 10573, - orderDate: 1560891600000, - orderTotal: 2082, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1563354000000, - requiredDateEnd: 1563359400000, - teamID: 3 - }, - { - orderID: 10585, - orderDate: 1561928400000, - orderTotal: 142.5, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1564398000000, - requiredDateEnd: 1564399800000, - teamID: 3 - }, - { - orderID: 10593, - orderDate: 1562619600000, - orderTotal: 1994.4, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1565091000000, - requiredDateEnd: 1565092800000, - teamID: 3 - }, - { - orderID: 10597, - orderDate: 1562792400000, - orderTotal: 718.08, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1565258400000, - requiredDateEnd: 1565263800000, - teamID: 3 - }, - { - orderID: 10601, - orderDate: 1563224400000, - orderTotal: 2285, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1566912600000, - requiredDateEnd: 1566914400000, - teamID: 3 - }, - { - orderID: 10609, - orderDate: 1563915600000, - orderTotal: 424, - customerCompanyName: 'Du monde entier', - customerContactName: 'Janine Labrune', - requiredDateStart: 1566392400000, - requiredDateEnd: 1566396000000, - teamID: 3 - }, - { - orderID: 10633, - orderDate: 1565816400000, - orderTotal: 5510.5925, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1568286000000, - requiredDateEnd: 1568287800000, - teamID: 3 - }, - { - orderID: 10639, - orderDate: 1566248400000, - orderTotal: 500, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1568727000000, - requiredDateEnd: 1568732400000, - teamID: 3 - }, - { - orderID: 10642, - orderDate: 1566421200000, - orderTotal: 696, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1568896200000, - requiredDateEnd: 1568898000000, - teamID: 3 - }, - { - orderID: 10659, - orderDate: 1567630800000, - orderTotal: 1227.02, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1570098600000, - requiredDateEnd: 1570100400000, - teamID: 3 - }, - { - orderID: 10661, - orderDate: 1567976400000, - orderTotal: 562.6, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1570437000000, - requiredDateEnd: 1570442400000, - teamID: 3 - }, - { - orderID: 10666, - orderDate: 1568235600000, - orderTotal: 4666.94, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1570696200000, - requiredDateEnd: 1570701600000, - teamID: 3 - }, - { - orderID: 10667, - orderDate: 1568235600000, - orderTotal: 1536.8, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1570707000000, - requiredDateEnd: 1570710600000, - teamID: 3 - }, - { - orderID: 10678, - orderDate: 1569186000000, - orderTotal: 5256.5, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1571657400000, - requiredDateEnd: 1571659200000, - teamID: 3 - }, - { - orderID: 10695, - orderDate: 1570395600000, - orderTotal: 642, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1574067600000, - requiredDateEnd: 1574069400000, - teamID: 3 - }, - { - orderID: 10731, - orderDate: 1572991200000, - orderTotal: 1890.5, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1575469800000, - requiredDateEnd: 1575473400000, - teamID: 3 - }, - { - orderID: 10775, - orderDate: 1576101600000, - orderTotal: 228, - customerCompanyName: 'The Cracker Box', - customerContactName: 'Liu Wong', - requiredDateStart: 1578580200000, - requiredDateEnd: 1578585600000, - teamID: 3 - }, - { - orderID: 10777, - orderDate: 1576360800000, - orderTotal: 224, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1577611800000, - requiredDateEnd: 1577617200000, - teamID: 3 - }, - { - orderID: 10797, - orderDate: 1577224800000, - orderTotal: 420, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1579690800000, - requiredDateEnd: 1579692600000, - teamID: 3 - }, - { - orderID: 10809, - orderDate: 1577829600000, - orderTotal: 140, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1580292000000, - requiredDateEnd: 1580293800000, - teamID: 3 - }, - { - orderID: 10818, - orderDate: 1578348000000, - orderTotal: 833, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1580823000000, - requiredDateEnd: 1580828400000, - teamID: 3 - }, - { - orderID: 10836, - orderDate: 1579125600000, - orderTotal: 4705.5, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1581600600000, - requiredDateEnd: 1581602400000, - teamID: 3 - }, - { - orderID: 10848, - orderDate: 1579730400000, - orderTotal: 931.5, - customerCompanyName: 'Consolidated Holdings', - customerContactName: 'Elizabeth Brown', - requiredDateStart: 1582209000000, - requiredDateEnd: 1582210800000, - teamID: 3 - }, - { - orderID: 10868, - orderDate: 1580767200000, - orderTotal: 1920.6, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1583319600000, - requiredDateEnd: 1583321400000, - teamID: 3 - }, - { - orderID: 10876, - orderDate: 1581199200000, - orderTotal: 917, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1583749800000, - requiredDateEnd: 1583755200000, - teamID: 3 - }, - { - orderID: 10880, - orderDate: 1581285600000, - orderTotal: 1500, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1585058400000, - requiredDateEnd: 1585063800000, - teamID: 3 - }, - { - orderID: 10890, - orderDate: 1581804000000, - orderTotal: 860.1, - customerCompanyName: 'Du monde entier', - customerContactName: 'Janine Labrune', - requiredDateStart: 1584354600000, - requiredDateEnd: 1584360000000, - teamID: 3 - }, - { - orderID: 10891, - orderDate: 1581890400000, - orderTotal: 368.9325, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1584441000000, - requiredDateEnd: 1584444600000, - teamID: 3 - }, - { - orderID: 10896, - orderDate: 1582063200000, - orderTotal: 750.5, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1584610200000, - requiredDateEnd: 1584613800000, - teamID: 3 - }, - { - orderID: 10923, - orderDate: 1583186400000, - orderTotal: 748.8, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1586865600000, - requiredDateEnd: 1586869200000, - teamID: 3 - }, - { - orderID: 10937, - orderDate: 1583791200000, - orderTotal: 644.8, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1585053000000, - requiredDateEnd: 1585054800000, - teamID: 3 - }, - { - orderID: 10941, - orderDate: 1583877600000, - orderTotal: 4011.75, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1586347200000, - requiredDateEnd: 1586352600000, - teamID: 3 - }, - { - orderID: 10958, - orderDate: 1584482400000, - orderTotal: 781, - customerCompanyName: 'Océano Atlántico Ltda.', - customerContactName: 'Yvonne Moncada', - requiredDateStart: 1586948400000, - requiredDateEnd: 1586950200000, - teamID: 3 - }, - { - orderID: 10993, - orderDate: 1585688400000, - orderTotal: 4895.4375, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1588152600000, - requiredDateEnd: 1588154400000, - teamID: 3 - }, - { - orderID: 11008, - orderDate: 1586293200000, - orderTotal: 4680.9, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1588759200000, - requiredDateEnd: 1588762800000, - teamID: 3 - }, - { - orderID: 11030, - orderDate: 1587070800000, - orderTotal: 12615.05, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1589544000000, - requiredDateEnd: 1589545800000, - teamID: 3 - }, - { - orderID: 11033, - orderDate: 1587070800000, - orderTotal: 3232.8, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1589549400000, - requiredDateEnd: 1589553000000, - teamID: 3 - }, - { - orderID: 11037, - orderDate: 1587416400000, - orderTotal: 60, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1589882400000, - requiredDateEnd: 1589886000000, - teamID: 3 - }, - { - orderID: 11047, - orderDate: 1587675600000, - orderTotal: 817.875, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1590141600000, - requiredDateEnd: 1590145200000, - teamID: 3 - }, - { - orderID: 11048, - orderDate: 1587675600000, - orderTotal: 525, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1590143400000, - requiredDateEnd: 1590145200000, - teamID: 3 - }, - { - orderID: 11051, - orderDate: 1587934800000, - orderTotal: 36, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1590413400000, - requiredDateEnd: 1590418800000, - teamID: 3 - }, - { - orderID: 11055, - orderDate: 1588021200000, - orderTotal: 1727.5, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1590492600000, - requiredDateEnd: 1590494400000, - teamID: 3 - }, - { - orderID: 11066, - orderDate: 1588280400000, - orderTotal: 928.75, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1590751800000, - requiredDateEnd: 1590755400000, - teamID: 3 - }, - { - orderID: 11074, - orderDate: 1588712400000, - orderTotal: 232.085, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1591189200000, - requiredDateEnd: 1591192800000, - teamID: 3 - }, - { - orderID: 10249, - orderDate: 1530738000000, - orderTotal: 1863.4, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1534426200000, - requiredDateEnd: 1534429800000, - teamID: 3 - }, - { - orderID: 10264, - orderDate: 1532379600000, - orderTotal: 695.625, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1534851000000, - requiredDateEnd: 1534852800000, - teamID: 3 - }, - { - orderID: 10271, - orderDate: 1533070800000, - orderTotal: 48, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1535533200000, - requiredDateEnd: 1535538600000, - teamID: 3 - }, - { - orderID: 10272, - orderDate: 1533157200000, - orderTotal: 1456, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1535623200000, - requiredDateEnd: 1535626800000, - teamID: 3 - }, - { - orderID: 10274, - orderDate: 1533502800000, - orderTotal: 538.6, - customerCompanyName: 'Vins et alcools Chevalier', - customerContactName: 'Paul Henriot', - requiredDateStart: 1535977800000, - requiredDateEnd: 1535981400000, - teamID: 3 - }, - { - orderID: 10291, - orderDate: 1535317200000, - orderTotal: 497.52, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1537779600000, - requiredDateEnd: 1537785000000, - teamID: 3 - }, - { - orderID: 10296, - orderDate: 1535922000000, - orderTotal: 1050.6, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1538382600000, - requiredDateEnd: 1538386200000, - teamID: 3 - }, - { - orderID: 10298, - orderDate: 1536094800000, - orderTotal: 2645, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1538553600000, - requiredDateEnd: 1538555400000, - teamID: 3 - }, - { - orderID: 10317, - orderDate: 1538254800000, - orderTotal: 288, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1540726200000, - requiredDateEnd: 1540729800000, - teamID: 3 - }, - { - orderID: 10350, - orderDate: 1541887200000, - orderTotal: 642.06, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1544349600000, - requiredDateEnd: 1544353200000, - teamID: 3 - }, - { - orderID: 10355, - orderDate: 1542232800000, - orderTotal: 480, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1544711400000, - requiredDateEnd: 1544716800000, - teamID: 3 - }, - { - orderID: 10356, - orderDate: 1542492000000, - orderTotal: 1106.4, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1544970600000, - requiredDateEnd: 1544972400000, - teamID: 3 - }, - { - orderID: 10370, - orderDate: 1543788000000, - orderTotal: 1117.6, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1546263000000, - requiredDateEnd: 1546268400000, - teamID: 3 - }, - { - orderID: 10390, - orderDate: 1545516000000, - orderTotal: 2090.88, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1547992800000, - requiredDateEnd: 1547998200000, - teamID: 3 - }, - { - orderID: 10395, - orderDate: 1545775200000, - orderTotal: 2122.92, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1548235800000, - requiredDateEnd: 1548239400000, - teamID: 3 - }, - { - orderID: 10423, - orderDate: 1548194400000, - orderTotal: 1020, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1549443600000, - requiredDateEnd: 1549447200000, - teamID: 3 - }, - { - orderID: 10425, - orderDate: 1548280800000, - orderTotal: 360, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1550745000000, - requiredDateEnd: 1550748600000, - teamID: 3 - }, - { - orderID: 10439, - orderDate: 1549490400000, - orderTotal: 1078, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1551952800000, - requiredDateEnd: 1551954600000, - teamID: 3 - }, - { - orderID: 10446, - orderDate: 1550095200000, - orderTotal: 246.24, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1552564800000, - requiredDateEnd: 1552566600000, - teamID: 3 - }, - { - orderID: 10480, - orderDate: 1553032800000, - orderTotal: 756, - customerCompanyName: 'Folies gourmandes', - customerContactName: 'Martine Rancé', - requiredDateStart: 1555498800000, - requiredDateEnd: 1555504200000, - teamID: 3 - }, - { - orderID: 10489, - orderDate: 1553724000000, - orderTotal: 439.2, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1556188200000, - requiredDateEnd: 1556190000000, - teamID: 3 - }, - { - orderID: 10500, - orderDate: 1554757200000, - orderTotal: 523.26, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1557235800000, - requiredDateEnd: 1557241200000, - teamID: 3 - }, - { - orderID: 10503, - orderDate: 1554930000000, - orderTotal: 2048.5, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1557397800000, - requiredDateEnd: 1557399600000, - teamID: 3 - }, - { - orderID: 10510, - orderDate: 1555534800000, - orderTotal: 4707.54, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1558006200000, - requiredDateEnd: 1558009800000, - teamID: 3 - }, - { - orderID: 10519, - orderDate: 1556398800000, - orderTotal: 2314.2, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1558868400000, - requiredDateEnd: 1558873800000, - teamID: 3 - }, - { - orderID: 10528, - orderDate: 1557090000000, - orderTotal: 392.2, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1558350000000, - requiredDateEnd: 1558355400000, - teamID: 3 - }, - { - orderID: 10539, - orderDate: 1557954000000, - orderTotal: 355.5, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1560421800000, - requiredDateEnd: 1560425400000, - teamID: 3 - }, - { - orderID: 10555, - orderDate: 1559422800000, - orderTotal: 2944.4, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1561890600000, - requiredDateEnd: 1561892400000, - teamID: 3 - }, - { - orderID: 10559, - orderDate: 1559682000000, - orderTotal: 520.41, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1562144400000, - requiredDateEnd: 1562149800000, - teamID: 3 - }, - { - orderID: 10599, - orderDate: 1563138000000, - orderTotal: 493, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1566811800000, - requiredDateEnd: 1566815400000, - teamID: 3 - }, - { - orderID: 10611, - orderDate: 1564002000000, - orderTotal: 808, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1566477000000, - requiredDateEnd: 1566478800000, - teamID: 3 - }, - { - orderID: 10637, - orderDate: 1566162000000, - orderTotal: 2761.9375, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1568629800000, - requiredDateEnd: 1568633400000, - teamID: 3 - }, - { - orderID: 10643, - orderDate: 1566680400000, - orderTotal: 814.5, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1569150000000, - requiredDateEnd: 1569153600000, - teamID: 3 - }, - { - orderID: 10656, - orderDate: 1567544400000, - orderTotal: 604.215, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1570021200000, - requiredDateEnd: 1570023000000, - teamID: 3 - }, - { - orderID: 10701, - orderDate: 1570914000000, - orderTotal: 2864.5, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1572183000000, - requiredDateEnd: 1572184800000, - teamID: 3 - }, - { - orderID: 10703, - orderDate: 1571000400000, - orderTotal: 2545, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1573466400000, - requiredDateEnd: 1573470000000, - teamID: 3 - }, - { - orderID: 10704, - orderDate: 1571000400000, - orderTotal: 595.5, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1573471800000, - requiredDateEnd: 1573477200000, - teamID: 3 - }, - { - orderID: 10708, - orderDate: 1571259600000, - orderTotal: 180.4, - customerCompanyName: 'The Big Cheese', - customerContactName: 'Liz Nixon', - requiredDateStart: 1574944200000, - requiredDateEnd: 1574946000000, - teamID: 3 - }, - { - orderID: 10735, - orderDate: 1573336800000, - orderTotal: 536.4, - customerCompanyName: `Let's Stop N Shop`, - customerContactName: 'Jaime Yorres', - requiredDateStart: 1575813600000, - requiredDateEnd: 1575819000000, - teamID: 3 - }, - { - orderID: 10744, - orderDate: 1573941600000, - orderTotal: 736, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1576413000000, - requiredDateEnd: 1576418400000, - teamID: 3 - }, - { - orderID: 10747, - orderDate: 1574114400000, - orderTotal: 1912.85, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1576576800000, - requiredDateEnd: 1576580400000, - teamID: 3 - }, - { - orderID: 10754, - orderDate: 1574632800000, - orderTotal: 55.2, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1577095200000, - requiredDateEnd: 1577097000000, - teamID: 3 - }, - { - orderID: 10757, - orderDate: 1574805600000, - orderTotal: 3082, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1577266200000, - requiredDateEnd: 1577269800000, - teamID: 3 - }, - { - orderID: 10764, - orderDate: 1575324000000, - orderTotal: 2286, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1577797200000, - requiredDateEnd: 1577799000000, - teamID: 3 - }, - { - orderID: 10790, - orderDate: 1576965600000, - orderTotal: 722.5, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1579433400000, - requiredDateEnd: 1579438800000, - teamID: 3 - }, - { - orderID: 10791, - orderDate: 1577052000000, - orderTotal: 1829.757, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1579527000000, - requiredDateEnd: 1579530600000, - teamID: 3 - }, - { - orderID: 10794, - orderDate: 1577138400000, - orderTotal: 314.76, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1579613400000, - requiredDateEnd: 1579618800000, - teamID: 3 - }, - { - orderID: 10804, - orderDate: 1577656800000, - orderTotal: 2278.4, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1580124600000, - requiredDateEnd: 1580126400000, - teamID: 3 - }, - { - orderID: 10822, - orderDate: 1578434400000, - orderTotal: 237.9, - customerCompanyName: `Trail's Head Gourmet Provisioners`, - customerContactName: 'Helvetius Nagy', - requiredDateStart: 1580898600000, - requiredDateEnd: 1580900400000, - teamID: 3 - }, - { - orderID: 10826, - orderDate: 1578780000000, - orderTotal: 730, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1581242400000, - requiredDateEnd: 1581247800000, - teamID: 3 - }, - { - orderID: 10833, - orderDate: 1579039200000, - orderTotal: 906.93, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1581514200000, - requiredDateEnd: 1581516000000, - teamID: 3 - }, - { - orderID: 10867, - orderDate: 1580680800000, - orderTotal: 98.4, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1584451800000, - requiredDateEnd: 1584453600000, - teamID: 3 - }, - { - orderID: 10885, - orderDate: 1581458400000, - orderTotal: 1209, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1584016200000, - requiredDateEnd: 1584018000000, - teamID: 3 - }, - { - orderID: 10907, - orderDate: 1582581600000, - orderTotal: 108.5, - customerCompanyName: 'Spécialités du monde', - customerContactName: 'Dominique Perrier', - requiredDateStart: 1585130400000, - requiredDateEnd: 1585134000000, - teamID: 3 - }, - { - orderID: 10914, - orderDate: 1582754400000, - orderTotal: 537.5, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1585306800000, - requiredDateEnd: 1585312200000, - teamID: 3 - }, - { - orderID: 10929, - orderDate: 1583359200000, - orderTotal: 1174.75, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1585823400000, - requiredDateEnd: 1585828800000, - teamID: 3 - }, - { - orderID: 10933, - orderDate: 1583445600000, - orderTotal: 920.6, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1585906200000, - requiredDateEnd: 1585908000000, - teamID: 3 - }, - { - orderID: 10944, - orderDate: 1583964000000, - orderTotal: 1025.325, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1585231200000, - requiredDateEnd: 1585233000000, - teamID: 3 - }, - { - orderID: 10956, - orderDate: 1584396000000, - orderTotal: 677, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1588068000000, - requiredDateEnd: 1588073400000, - teamID: 3 - }, - { - orderID: 10959, - orderDate: 1584482400000, - orderTotal: 131.75, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1588161600000, - requiredDateEnd: 1588167000000, - teamID: 3 - }, - { - orderID: 10965, - orderDate: 1584655200000, - orderTotal: 848, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1587128400000, - requiredDateEnd: 1587132000000, - teamID: 3 - }, - { - orderID: 10973, - orderDate: 1585000800000, - orderTotal: 291.55, - customerCompanyName: `La corne d'abondance`, - customerContactName: 'Daniel Tonini', - requiredDateStart: 1587459600000, - requiredDateEnd: 1587461400000, - teamID: 3 - }, - { - orderID: 10999, - orderDate: 1585861200000, - orderTotal: 1197.95, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1588339800000, - requiredDateEnd: 1588345200000, - teamID: 3 - }, - { - orderID: 11019, - orderDate: 1586725200000, - orderTotal: 76, - customerCompanyName: 'Rancho grande', - customerContactName: 'Sergio Gutiérrez', - requiredDateStart: 1589202000000, - requiredDateEnd: 1589203800000, - teamID: 3 - }, - { - orderID: 11025, - orderDate: 1586898000000, - orderTotal: 270, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1589362200000, - requiredDateEnd: 1589364000000, - teamID: 3 - }, - { - orderID: 11031, - orderDate: 1587070800000, - orderTotal: 2393.5, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1589549400000, - requiredDateEnd: 1589551200000, - teamID: 3 - }, - { - orderID: 11045, - orderDate: 1587589200000, - orderTotal: 1309.5, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1590057000000, - requiredDateEnd: 1590058800000, - teamID: 3 - }, - { - orderID: 10248, - orderDate: 1530651600000, - orderTotal: 440, - customerCompanyName: 'Vins et alcools Chevalier', - customerContactName: 'Paul Henriot', - requiredDateStart: 1533123000000, - requiredDateEnd: 1533126600000, - teamID: 3 - }, - { - orderID: 10254, - orderDate: 1531256400000, - orderTotal: 556.62, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1533729600000, - requiredDateEnd: 1533735000000, - teamID: 3 - }, - { - orderID: 10269, - orderDate: 1532984400000, - orderTotal: 642.2, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1534248000000, - requiredDateEnd: 1534251600000, - teamID: 3 - }, - { - orderID: 10297, - orderDate: 1536008400000, - orderTotal: 1420, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1539696600000, - requiredDateEnd: 1539698400000, - teamID: 3 - }, - { - orderID: 10320, - orderDate: 1538514000000, - orderTotal: 516, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1539770400000, - requiredDateEnd: 1539772200000, - teamID: 3 - }, - { - orderID: 10333, - orderDate: 1539810000000, - orderTotal: 877.2, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1542276000000, - requiredDateEnd: 1542277800000, - teamID: 3 - }, - { - orderID: 10358, - orderDate: 1542664800000, - orderTotal: 429.4, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1545141600000, - requiredDateEnd: 1545143400000, - teamID: 3 - }, - { - orderID: 10359, - orderDate: 1542751200000, - orderTotal: 3471.68, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1545220800000, - requiredDateEnd: 1545226200000, - teamID: 3 - }, - { - orderID: 10372, - orderDate: 1543874400000, - orderTotal: 9210.9, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1546335000000, - requiredDateEnd: 1546338600000, - teamID: 3 - }, - { - orderID: 10378, - orderDate: 1544392800000, - orderTotal: 103.2, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1546871400000, - requiredDateEnd: 1546876800000, - teamID: 3 - }, - { - orderID: 10397, - orderDate: 1545861600000, - orderTotal: 716.72, - customerCompanyName: 'Princesa Isabel Vinhos', - customerContactName: 'Isabel de Castro', - requiredDateStart: 1548322200000, - requiredDateEnd: 1548325800000, - teamID: 3 - }, - { - orderID: 10463, - orderDate: 1551650400000, - orderTotal: 713.3, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1554112800000, - requiredDateEnd: 1554114600000, - teamID: 3 - }, - { - orderID: 10474, - orderDate: 1552428000000, - orderTotal: 1249.1, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1554888600000, - requiredDateEnd: 1554892200000, - teamID: 3 - }, - { - orderID: 10477, - orderDate: 1552773600000, - orderTotal: 558, - customerCompanyName: 'Princesa Isabel Vinhos', - customerContactName: 'Isabel de Castro', - requiredDateStart: 1555228800000, - requiredDateEnd: 1555234200000, - teamID: 3 - }, - { - orderID: 10529, - orderDate: 1557176400000, - orderTotal: 946, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1559653200000, - requiredDateEnd: 1559656800000, - teamID: 3 - }, - { - orderID: 10549, - orderDate: 1558904400000, - orderTotal: 3554.275, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1560153600000, - requiredDateEnd: 1560155400000, - teamID: 3 - }, - { - orderID: 10569, - orderDate: 1560632400000, - orderTotal: 890, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1563098400000, - requiredDateEnd: 1563102000000, - teamID: 3 - }, - { - orderID: 10575, - orderDate: 1560978000000, - orderTotal: 2147.4, - customerCompanyName: 'Morgenstern Gesundkost', - customerContactName: 'Alexander Feuer', - requiredDateStart: 1562232600000, - requiredDateEnd: 1562238000000, - teamID: 3 - }, - { - orderID: 10607, - orderDate: 1563742800000, - orderTotal: 6475.4, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1566207000000, - requiredDateEnd: 1566208800000, - teamID: 3 - }, - { - orderID: 10648, - orderDate: 1566939600000, - orderTotal: 372.375, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1570609800000, - requiredDateEnd: 1570611600000, - teamID: 3 - }, - { - orderID: 10649, - orderDate: 1566939600000, - orderTotal: 1434, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1569400200000, - requiredDateEnd: 1569403800000, - teamID: 3 - }, - { - orderID: 10650, - orderDate: 1567026000000, - orderTotal: 1779.2, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1569490200000, - requiredDateEnd: 1569493800000, - teamID: 3 - }, - { - orderID: 10654, - orderDate: 1567371600000, - orderTotal: 601.83, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1569850200000, - requiredDateEnd: 1569855600000, - teamID: 3 - }, - { - orderID: 10675, - orderDate: 1568840400000, - orderTotal: 1423, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1571299200000, - requiredDateEnd: 1571304600000, - teamID: 3 - }, - { - orderID: 10711, - orderDate: 1571605200000, - orderTotal: 4451.7, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1575297000000, - requiredDateEnd: 1575298800000, - teamID: 3 - }, - { - orderID: 10714, - orderDate: 1571691600000, - orderTotal: 2205.75, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1574173800000, - requiredDateEnd: 1574179200000, - teamID: 3 - }, - { - orderID: 10721, - orderDate: 1572300000000, - orderTotal: 923.875, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1574775000000, - requiredDateEnd: 1574780400000, - teamID: 3 - }, - { - orderID: 10730, - orderDate: 1572904800000, - orderTotal: 484.2625, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1575376200000, - requiredDateEnd: 1575379800000, - teamID: 3 - }, - { - orderID: 10761, - orderDate: 1575237600000, - orderTotal: 507, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1577712600000, - requiredDateEnd: 1577716200000, - teamID: 3 - }, - { - orderID: 10812, - orderDate: 1577916000000, - orderTotal: 1692.8, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1580394600000, - requiredDateEnd: 1580396400000, - teamID: 3 - }, - { - orderID: 10823, - orderDate: 1578520800000, - orderTotal: 2826, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1580988600000, - requiredDateEnd: 1580994000000, - teamID: 3 - }, - { - orderID: 10841, - orderDate: 1579471200000, - orderTotal: 4581, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1581948000000, - requiredDateEnd: 1581953400000, - teamID: 3 - }, - { - orderID: 10851, - orderDate: 1579989600000, - orderTotal: 2603, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1582468200000, - requiredDateEnd: 1582470000000, - teamID: 3 - }, - { - orderID: 10866, - orderDate: 1580680800000, - orderTotal: 1096.2, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1583233200000, - requiredDateEnd: 1583238600000, - teamID: 3 - }, - { - orderID: 10869, - orderDate: 1580767200000, - orderTotal: 1630, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1583328600000, - requiredDateEnd: 1583334000000, - teamID: 3 - }, - { - orderID: 10870, - orderDate: 1580767200000, - orderTotal: 160, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1583330400000, - requiredDateEnd: 1583334000000, - teamID: 3 - }, - { - orderID: 10872, - orderDate: 1580853600000, - orderTotal: 2058.46, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1583418600000, - requiredDateEnd: 1583422200000, - teamID: 3 - }, - { - orderID: 10874, - orderDate: 1580940000000, - orderTotal: 310, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1583505000000, - requiredDateEnd: 1583508600000, - teamID: 3 - }, - { - orderID: 10899, - orderDate: 1582149600000, - orderTotal: 122.4, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1584703800000, - requiredDateEnd: 1584709200000, - teamID: 3 - }, - { - orderID: 10922, - orderDate: 1583186400000, - orderTotal: 742.5, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1585652400000, - requiredDateEnd: 1585656000000, - teamID: 3 - }, - { - orderID: 10954, - orderDate: 1584396000000, - orderTotal: 1659.535, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1588075200000, - requiredDateEnd: 1588080600000, - teamID: 3 - }, - { - orderID: 11043, - orderDate: 1587502800000, - orderTotal: 210, - customerCompanyName: 'Spécialités du monde', - customerContactName: 'Dominique Perrier', - requiredDateStart: 1589981400000, - requiredDateEnd: 1589985000000, - teamID: 3 - }, - { - orderID: 10250, - orderDate: 1530997200000, - orderTotal: 1552.6, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1533466800000, - requiredDateEnd: 1533468600000, - teamID: 2 - }, - { - orderID: 10252, - orderDate: 1531083600000, - orderTotal: 3597.9, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1533547800000, - requiredDateEnd: 1533551400000, - teamID: 2 - }, - { - orderID: 10257, - orderDate: 1531688400000, - orderTotal: 1119.9, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1534154400000, - requiredDateEnd: 1534156200000, - teamID: 2 - }, - { - orderID: 10259, - orderDate: 1531861200000, - orderTotal: 100.8, - customerCompanyName: 'Centro comercial Moctezuma', - customerContactName: 'Francisco Chang', - requiredDateStart: 1534320000000, - requiredDateEnd: 1534325400000, - teamID: 2 - }, - { - orderID: 10260, - orderDate: 1531947600000, - orderTotal: 1504.65, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1534410000000, - requiredDateEnd: 1534411800000, - teamID: 2 - }, - { - orderID: 10261, - orderDate: 1531947600000, - orderTotal: 448, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1534422600000, - requiredDateEnd: 1534426200000, - teamID: 2 - }, - { - orderID: 10267, - orderDate: 1532811600000, - orderTotal: 3536.6, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1535270400000, - requiredDateEnd: 1535274000000, - teamID: 2 - }, - { - orderID: 10281, - orderDate: 1534194000000, - orderTotal: 86.5, - customerCompanyName: 'Romero y tomillo', - customerContactName: 'Alejandra Camino', - requiredDateStart: 1535459400000, - requiredDateEnd: 1535464800000, - teamID: 2 - }, - { - orderID: 10282, - orderDate: 1534280400000, - orderTotal: 155.4, - customerCompanyName: 'Romero y tomillo', - customerContactName: 'Alejandra Camino', - requiredDateStart: 1536755400000, - requiredDateEnd: 1536757200000, - teamID: 2 - }, - { - orderID: 10284, - orderDate: 1534626000000, - orderTotal: 1170.375, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1537084800000, - requiredDateEnd: 1537086600000, - teamID: 2 - }, - { - orderID: 10288, - orderDate: 1534971600000, - orderTotal: 80.1, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1537435800000, - requiredDateEnd: 1537439400000, - teamID: 2 - }, - { - orderID: 10294, - orderDate: 1535576400000, - orderTotal: 1887.6, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1538049600000, - requiredDateEnd: 1538055000000, - teamID: 2 - }, - { - orderID: 10299, - orderDate: 1536181200000, - orderTotal: 349.5, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1538658000000, - requiredDateEnd: 1538661600000, - teamID: 2 - }, - { - orderID: 10302, - orderDate: 1536526800000, - orderTotal: 2708.8, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1538998200000, - requiredDateEnd: 1539003600000, - teamID: 2 - }, - { - orderID: 10315, - orderDate: 1537909200000, - orderTotal: 516.8, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1540371600000, - requiredDateEnd: 1540375200000, - teamID: 2 - }, - { - orderID: 10323, - orderDate: 1538859600000, - orderTotal: 164.4, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1541323800000, - requiredDateEnd: 1541325600000, - teamID: 2 - }, - { - orderID: 10326, - orderDate: 1539118800000, - orderTotal: 982, - customerCompanyName: 'Bólido Comidas preparadas', - customerContactName: 'Martín Sommer', - requiredDateStart: 1541601000000, - requiredDateEnd: 1541604600000, - teamID: 2 - }, - { - orderID: 10328, - orderDate: 1539464400000, - orderTotal: 1168, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1541939400000, - requiredDateEnd: 1541944800000, - teamID: 2 - }, - { - orderID: 10329, - orderDate: 1539550800000, - orderTotal: 4578.43, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1543224600000, - requiredDateEnd: 1543230000000, - teamID: 2 - }, - { - orderID: 10337, - orderDate: 1540328400000, - orderTotal: 2467, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1542805200000, - requiredDateEnd: 1542810600000, - teamID: 2 - }, - { - orderID: 10338, - orderDate: 1540414800000, - orderTotal: 934.5, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1542893400000, - requiredDateEnd: 1542898800000, - teamID: 2 - }, - { - orderID: 10342, - orderDate: 1540850400000, - orderTotal: 1840.64, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1542115800000, - requiredDateEnd: 1542121200000, - teamID: 2 - }, - { - orderID: 10343, - orderDate: 1540936800000, - orderTotal: 1584, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1543415400000, - requiredDateEnd: 1543419000000, - teamID: 2 - }, - { - orderID: 10344, - orderDate: 1541023200000, - orderTotal: 2296, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1543489200000, - requiredDateEnd: 1543494600000, - teamID: 2 - }, - { - orderID: 10347, - orderDate: 1541455200000, - orderTotal: 814.42, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1543914000000, - requiredDateEnd: 1543915800000, - teamID: 2 - }, - { - orderID: 10348, - orderDate: 1541541600000, - orderTotal: 363.6, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1544020200000, - requiredDateEnd: 1544025600000, - teamID: 2 - }, - { - orderID: 10360, - orderDate: 1542837600000, - orderTotal: 7390.2, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1545298200000, - requiredDateEnd: 1545300000000, - teamID: 2 - }, - { - orderID: 10363, - orderDate: 1543183200000, - orderTotal: 447.2, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1545658200000, - requiredDateEnd: 1545661800000, - teamID: 2 - }, - { - orderID: 10373, - orderDate: 1543960800000, - orderTotal: 1366.4, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1546430400000, - requiredDateEnd: 1546432200000, - teamID: 2 - }, - { - orderID: 10382, - orderDate: 1544652000000, - orderTotal: 2900, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1547112600000, - requiredDateEnd: 1547114400000, - teamID: 2 - }, - { - orderID: 10389, - orderDate: 1545256800000, - orderTotal: 1832.8, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1547722800000, - requiredDateEnd: 1547728200000, - teamID: 2 - }, - { - orderID: 10403, - orderDate: 1546466400000, - orderTotal: 855.015, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1548941400000, - requiredDateEnd: 1548946800000, - teamID: 2 - }, - { - orderID: 10417, - orderDate: 1547589600000, - orderTotal: 11188.4, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1550068200000, - requiredDateEnd: 1550071800000, - teamID: 2 - }, - { - orderID: 10418, - orderDate: 1547676000000, - orderTotal: 1814.8, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1550147400000, - requiredDateEnd: 1550149200000, - teamID: 2 - }, - { - orderID: 10419, - orderDate: 1547935200000, - orderTotal: 2097.6, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1550413800000, - requiredDateEnd: 1550417400000, - teamID: 2 - }, - { - orderID: 10426, - orderDate: 1548540000000, - orderTotal: 338.2, - customerCompanyName: 'Galería del gastrónomo', - customerContactName: 'Eduardo Saavedra', - requiredDateStart: 1551002400000, - requiredDateEnd: 1551007800000, - teamID: 2 - }, - { - orderID: 10427, - orderDate: 1548540000000, - orderTotal: 651, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1551004200000, - requiredDateEnd: 1551006000000, - teamID: 2 - }, - { - orderID: 10430, - orderDate: 1548799200000, - orderTotal: 4899.2, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1550068200000, - requiredDateEnd: 1550073600000, - teamID: 2 - }, - { - orderID: 10431, - orderDate: 1548799200000, - orderTotal: 1892.25, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1550068200000, - requiredDateEnd: 1550071800000, - teamID: 2 - }, - { - orderID: 10440, - orderDate: 1549749600000, - orderTotal: 4924.135, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1552208400000, - requiredDateEnd: 1552210200000, - teamID: 2 - }, - { - orderID: 10447, - orderDate: 1550095200000, - orderTotal: 914.4, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1552555800000, - requiredDateEnd: 1552557600000, - teamID: 2 - }, - { - orderID: 10448, - orderDate: 1550354400000, - orderTotal: 443.4, - customerCompanyName: 'Rancho grande', - customerContactName: 'Sergio Gutiérrez', - requiredDateStart: 1552825800000, - requiredDateEnd: 1552829400000, - teamID: 2 - }, - { - orderID: 10451, - orderDate: 1550527200000, - orderTotal: 3849.66, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1551787200000, - requiredDateEnd: 1551789000000, - teamID: 2 - }, - { - orderID: 10454, - orderDate: 1550700000000, - orderTotal: 331.2, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1553164200000, - requiredDateEnd: 1553166000000, - teamID: 2 - }, - { - orderID: 10459, - orderDate: 1551218400000, - orderTotal: 1659.2, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1553689800000, - requiredDateEnd: 1553695200000, - teamID: 2 - }, - { - orderID: 10464, - orderDate: 1551650400000, - orderTotal: 1609.28, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1554105600000, - requiredDateEnd: 1554107400000, - teamID: 2 - }, - { - orderID: 10466, - orderDate: 1551823200000, - orderTotal: 216, - customerCompanyName: 'Comércio Mineiro', - customerContactName: 'Pedro Afonso', - requiredDateStart: 1554291000000, - requiredDateEnd: 1554296400000, - teamID: 2 - }, - { - orderID: 10470, - orderDate: 1552255200000, - orderTotal: 1820.8, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1554712200000, - requiredDateEnd: 1554714000000, - teamID: 2 - }, - { - orderID: 10485, - orderDate: 1553464800000, - orderTotal: 1584, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1554728400000, - requiredDateEnd: 1554733800000, - teamID: 2 - }, - { - orderID: 10493, - orderDate: 1554152400000, - orderTotal: 608.4, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1556627400000, - requiredDateEnd: 1556629200000, - teamID: 2 - }, - { - orderID: 10494, - orderDate: 1554152400000, - orderTotal: 912, - customerCompanyName: 'Comércio Mineiro', - customerContactName: 'Pedro Afonso', - requiredDateStart: 1556622000000, - requiredDateEnd: 1556625600000, - teamID: 2 - }, - { - orderID: 10499, - orderDate: 1554670800000, - orderTotal: 1412, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1557149400000, - requiredDateEnd: 1557154800000, - teamID: 2 - }, - { - orderID: 10504, - orderDate: 1554930000000, - orderTotal: 1388.5, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1557388800000, - requiredDateEnd: 1557392400000, - teamID: 2 - }, - { - orderID: 10509, - orderDate: 1555448400000, - orderTotal: 136.8, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1557909000000, - requiredDateEnd: 1557912600000, - teamID: 2 - }, - { - orderID: 10511, - orderDate: 1555534800000, - orderTotal: 2550, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1558009800000, - requiredDateEnd: 1558011600000, - teamID: 2 - }, - { - orderID: 10518, - orderDate: 1556139600000, - orderTotal: 4150.05, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1557392400000, - requiredDateEnd: 1557397800000, - teamID: 2 - }, - { - orderID: 10522, - orderDate: 1556571600000, - orderTotal: 2318.24, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1559050200000, - requiredDateEnd: 1559052000000, - teamID: 2 - }, - { - orderID: 10526, - orderDate: 1557003600000, - orderTotal: 1151.4, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1559466000000, - requiredDateEnd: 1559471400000, - teamID: 2 - }, - { - orderID: 10535, - orderDate: 1557694800000, - orderTotal: 1940.85, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1560171600000, - requiredDateEnd: 1560173400000, - teamID: 2 - }, - { - orderID: 10544, - orderDate: 1558386000000, - orderTotal: 417.2, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1560862800000, - requiredDateEnd: 1560864600000, - teamID: 2 - }, - { - orderID: 10551, - orderDate: 1558990800000, - orderTotal: 1677.3, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1562679000000, - requiredDateEnd: 1562684400000, - teamID: 2 - }, - { - orderID: 10554, - orderDate: 1559163600000, - orderTotal: 1728.525, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1561624200000, - requiredDateEnd: 1561627800000, - teamID: 2 - }, - { - orderID: 10564, - orderDate: 1560114000000, - orderTotal: 1234.05, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1562587200000, - requiredDateEnd: 1562592600000, - teamID: 2 - }, - { - orderID: 10574, - orderDate: 1560891600000, - orderTotal: 764.3, - customerCompanyName: `Trail's Head Gourmet Provisioners`, - customerContactName: 'Helvetius Nagy', - requiredDateStart: 1563370200000, - requiredDateEnd: 1563373800000, - teamID: 2 - }, - { - orderID: 10578, - orderDate: 1561323600000, - orderTotal: 477, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1563786000000, - requiredDateEnd: 1563789600000, - teamID: 2 - }, - { - orderID: 10580, - orderDate: 1561496400000, - orderTotal: 1013.745, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1563971400000, - requiredDateEnd: 1563973200000, - teamID: 2 - }, - { - orderID: 10584, - orderDate: 1561842000000, - orderTotal: 593.75, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1564315200000, - requiredDateEnd: 1564318800000, - teamID: 2 - }, - { - orderID: 10590, - orderDate: 1562446800000, - orderTotal: 1101, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1564916400000, - requiredDateEnd: 1564918200000, - teamID: 2 - }, - { - orderID: 10600, - orderDate: 1563224400000, - orderTotal: 479.8, - customerCompanyName: 'Hungry Coyote Import Store', - customerContactName: 'Yoshi Latimer', - requiredDateStart: 1565688600000, - requiredDateEnd: 1565690400000, - teamID: 2 - }, - { - orderID: 10606, - orderDate: 1563742800000, - orderTotal: 1130.4, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1566219600000, - requiredDateEnd: 1566225000000, - teamID: 2 - }, - { - orderID: 10608, - orderDate: 1563829200000, - orderTotal: 1064, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1566304200000, - requiredDateEnd: 1566307800000, - teamID: 2 - }, - { - orderID: 10613, - orderDate: 1564347600000, - orderTotal: 353.2, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1566819000000, - requiredDateEnd: 1566822600000, - teamID: 2 - }, - { - orderID: 10617, - orderDate: 1564520400000, - orderTotal: 1402.5, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1566997200000, - requiredDateEnd: 1567000800000, - teamID: 2 - }, - { - orderID: 10621, - orderDate: 1564952400000, - orderTotal: 758.5, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1567414800000, - requiredDateEnd: 1567418400000, - teamID: 2 - }, - { - orderID: 10622, - orderDate: 1565038800000, - orderTotal: 560, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1567499400000, - requiredDateEnd: 1567503000000, - teamID: 2 - }, - { - orderID: 10624, - orderDate: 1565125200000, - orderTotal: 1393.24, - customerCompanyName: 'The Cracker Box', - customerContactName: 'Liu Wong', - requiredDateStart: 1567594800000, - requiredDateEnd: 1567598400000, - teamID: 2 - }, - { - orderID: 10628, - orderDate: 1565557200000, - orderTotal: 450, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1568017800000, - requiredDateEnd: 1568021400000, - teamID: 2 - }, - { - orderID: 10629, - orderDate: 1565557200000, - orderTotal: 2775.05, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1568035800000, - requiredDateEnd: 1568039400000, - teamID: 2 - }, - { - orderID: 10634, - orderDate: 1565816400000, - orderTotal: 4985.5, - customerCompanyName: 'Folies gourmandes', - customerContactName: 'Martine Rancé', - requiredDateStart: 1568295000000, - requiredDateEnd: 1568298600000, - teamID: 2 - }, - { - orderID: 10636, - orderDate: 1566162000000, - orderTotal: 629.5, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1568629800000, - requiredDateEnd: 1568631600000, - teamID: 2 - }, - { - orderID: 10640, - orderDate: 1566334800000, - orderTotal: 708.75, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1568799000000, - requiredDateEnd: 1568802600000, - teamID: 2 - }, - { - orderID: 10641, - orderDate: 1566421200000, - orderTotal: 2054, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1568896200000, - requiredDateEnd: 1568899800000, - teamID: 2 - }, - { - orderID: 10645, - orderDate: 1566766800000, - orderTotal: 1535, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1569243600000, - requiredDateEnd: 1569247200000, - teamID: 2 - }, - { - orderID: 10647, - orderDate: 1566853200000, - orderTotal: 636, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1568116800000, - requiredDateEnd: 1568120400000, - teamID: 2 - }, - { - orderID: 10652, - orderDate: 1567285200000, - orderTotal: 318.835, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1569756600000, - requiredDateEnd: 1569758400000, - teamID: 2 - }, - { - orderID: 10658, - orderDate: 1567630800000, - orderTotal: 4464.6, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1570096800000, - requiredDateEnd: 1570100400000, - teamID: 2 - }, - { - orderID: 10670, - orderDate: 1568581200000, - orderTotal: 2301.75, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1571043600000, - requiredDateEnd: 1571045400000, - teamID: 2 - }, - { - orderID: 10674, - orderDate: 1568754000000, - orderTotal: 45, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1571214600000, - requiredDateEnd: 1571220000000, - teamID: 2 - }, - { - orderID: 10685, - orderDate: 1569704400000, - orderTotal: 801.1, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1570960800000, - requiredDateEnd: 1570962600000, - teamID: 2 - }, - { - orderID: 10688, - orderDate: 1569877200000, - orderTotal: 3160.6, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1571137200000, - requiredDateEnd: 1571140800000, - teamID: 2 - }, - { - orderID: 10692, - orderDate: 1570050000000, - orderTotal: 878, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1572526800000, - requiredDateEnd: 1572528600000, - teamID: 2 - }, - { - orderID: 10698, - orderDate: 1570568400000, - orderTotal: 3436.4435, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1573050600000, - requiredDateEnd: 1573054200000, - teamID: 2 - }, - { - orderID: 10702, - orderDate: 1570914000000, - orderTotal: 330, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1574586000000, - requiredDateEnd: 1574587800000, - teamID: 2 - }, - { - orderID: 10707, - orderDate: 1571173200000, - orderTotal: 1641, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1572431400000, - requiredDateEnd: 1572435000000, - teamID: 2 - }, - { - orderID: 10716, - orderDate: 1571864400000, - orderTotal: 706, - customerCompanyName: 'Rancho grande', - customerContactName: 'Sergio Gutiérrez', - requiredDateStart: 1574343000000, - requiredDateEnd: 1574346600000, - teamID: 2 - }, - { - orderID: 10725, - orderDate: 1572472800000, - orderTotal: 287.8, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1574933400000, - requiredDateEnd: 1574938800000, - teamID: 2 - }, - { - orderID: 10726, - orderDate: 1572732000000, - orderTotal: 655, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1573986600000, - requiredDateEnd: 1573990200000, - teamID: 2 - }, - { - orderID: 10728, - orderDate: 1572818400000, - orderTotal: 1296.75, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1575288000000, - requiredDateEnd: 1575289800000, - teamID: 2 - }, - { - orderID: 10740, - orderDate: 1573596000000, - orderTotal: 1416, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1576065600000, - requiredDateEnd: 1576069200000, - teamID: 2 - }, - { - orderID: 10741, - orderDate: 1573682400000, - orderTotal: 228, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1574946000000, - requiredDateEnd: 1574949600000, - teamID: 2 - }, - { - orderID: 10749, - orderDate: 1574200800000, - orderTotal: 1080, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1576677600000, - requiredDateEnd: 1576679400000, - teamID: 2 - }, - { - orderID: 10755, - orderDate: 1574719200000, - orderTotal: 1948.5, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1577178000000, - requiredDateEnd: 1577179800000, - teamID: 2 - }, - { - orderID: 10760, - orderDate: 1575151200000, - orderTotal: 2917, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1577629800000, - requiredDateEnd: 1577631600000, - teamID: 2 - }, - { - orderID: 10766, - orderDate: 1575496800000, - orderTotal: 2310, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1577964600000, - requiredDateEnd: 1577968200000, - teamID: 2 - }, - { - orderID: 10767, - orderDate: 1575496800000, - orderTotal: 28, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1577961000000, - requiredDateEnd: 1577966400000, - teamID: 2 - }, - { - orderID: 10774, - orderDate: 1576015200000, - orderTotal: 868.75, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1577278800000, - requiredDateEnd: 1577282400000, - teamID: 2 - }, - { - orderID: 10783, - orderDate: 1576620000000, - orderTotal: 1442.5, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1579082400000, - requiredDateEnd: 1579086000000, - teamID: 2 - }, - { - orderID: 10784, - orderDate: 1576620000000, - orderTotal: 1488, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1579082400000, - requiredDateEnd: 1579087800000, - teamID: 2 - }, - { - orderID: 10801, - orderDate: 1577570400000, - orderTotal: 3026.85, - customerCompanyName: 'Bólido Comidas preparadas', - customerContactName: 'Martín Sommer', - requiredDateStart: 1580038200000, - requiredDateEnd: 1580043600000, - teamID: 2 - }, - { - orderID: 10802, - orderDate: 1577570400000, - orderTotal: 2942.8125, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1580034600000, - requiredDateEnd: 1580036400000, - teamID: 2 - }, - { - orderID: 10803, - orderDate: 1577656800000, - orderTotal: 1193.01, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1580130000000, - requiredDateEnd: 1580135400000, - teamID: 2 - }, - { - orderID: 10807, - orderDate: 1577743200000, - orderTotal: 18.4, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1580220000000, - requiredDateEnd: 1580225400000, - teamID: 2 - }, - { - orderID: 10816, - orderDate: 1578261600000, - orderTotal: 8446.45, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1580734800000, - requiredDateEnd: 1580736600000, - teamID: 2 - }, - { - orderID: 10830, - orderDate: 1578866400000, - orderTotal: 1974, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1582551000000, - requiredDateEnd: 1582552800000, - teamID: 2 - }, - { - orderID: 10840, - orderDate: 1579384800000, - orderTotal: 211.2, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1583139600000, - requiredDateEnd: 1583145000000, - teamID: 2 - }, - { - orderID: 10843, - orderDate: 1579557600000, - orderTotal: 159, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1582032600000, - requiredDateEnd: 1582036200000, - teamID: 2 - }, - { - orderID: 10847, - orderDate: 1579644000000, - orderTotal: 4931.92, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1580896800000, - requiredDateEnd: 1580898600000, - teamID: 2 - }, - { - orderID: 10861, - orderDate: 1580335200000, - orderTotal: 3523.4, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1582799400000, - requiredDateEnd: 1582803000000, - teamID: 2 - }, - { - orderID: 10863, - orderDate: 1580594400000, - orderTotal: 441.15, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1583141400000, - requiredDateEnd: 1583143200000, - teamID: 2 - }, - { - orderID: 10864, - orderDate: 1580594400000, - orderTotal: 282, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1583159400000, - requiredDateEnd: 1583164800000, - teamID: 2 - }, - { - orderID: 10873, - orderDate: 1580940000000, - orderTotal: 336.8, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1583497800000, - requiredDateEnd: 1583501400000, - teamID: 2 - }, - { - orderID: 10875, - orderDate: 1580940000000, - orderTotal: 709.55, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1583505000000, - requiredDateEnd: 1583510400000, - teamID: 2 - }, - { - orderID: 10878, - orderDate: 1581285600000, - orderTotal: 1539, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1583839800000, - requiredDateEnd: 1583845200000, - teamID: 2 - }, - { - orderID: 10881, - orderDate: 1581372000000, - orderTotal: 150, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1583931600000, - requiredDateEnd: 1583935200000, - teamID: 2 - }, - { - orderID: 10882, - orderDate: 1581372000000, - orderTotal: 892.64, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1583928000000, - requiredDateEnd: 1583929800000, - teamID: 2 - }, - { - orderID: 10884, - orderDate: 1581458400000, - orderTotal: 1378.07, - customerCompanyName: `Let's Stop N Shop`, - customerContactName: 'Jaime Yorres', - requiredDateStart: 1584007200000, - requiredDateEnd: 1584012600000, - teamID: 2 - }, - { - orderID: 10892, - orderDate: 1581890400000, - orderTotal: 2090, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1584435600000, - requiredDateEnd: 1584437400000, - teamID: 2 - }, - { - orderID: 10898, - orderDate: 1582149600000, - orderTotal: 30, - customerCompanyName: 'Océano Atlántico Ltda.', - customerContactName: 'Yvonne Moncada', - requiredDateStart: 1584696600000, - requiredDateEnd: 1584702000000, - teamID: 2 - }, - { - orderID: 10901, - orderDate: 1582408800000, - orderTotal: 934.5, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1584968400000, - requiredDateEnd: 1584972000000, - teamID: 2 - }, - { - orderID: 10906, - orderDate: 1582581600000, - orderTotal: 427.5, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1583928000000, - requiredDateEnd: 1583933400000, - teamID: 2 - }, - { - orderID: 10908, - orderDate: 1582668000000, - orderTotal: 663.1, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1585224000000, - requiredDateEnd: 1585229400000, - teamID: 2 - }, - { - orderID: 10913, - orderDate: 1582668000000, - orderTotal: 768.75, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1585220400000, - requiredDateEnd: 1585224000000, - teamID: 2 - }, - { - orderID: 10917, - orderDate: 1583100000000, - orderTotal: 365.89, - customerCompanyName: 'Romero y tomillo', - customerContactName: 'Alejandra Camino', - requiredDateStart: 1585566000000, - requiredDateEnd: 1585569600000, - teamID: 2 - }, - { - orderID: 10920, - orderDate: 1583186400000, - orderTotal: 390, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1585648800000, - requiredDateEnd: 1585652400000, - teamID: 2 - }, - { - orderID: 10926, - orderDate: 1583272800000, - orderTotal: 514.4, - customerCompanyName: 'Ana Trujillo Emparedados y helados', - customerContactName: 'Ana Trujillo', - requiredDateStart: 1585746000000, - requiredDateEnd: 1585749600000, - teamID: 2 - }, - { - orderID: 10927, - orderDate: 1583359200000, - orderTotal: 800, - customerCompanyName: `La corne d'abondance`, - customerContactName: 'Daniel Tonini', - requiredDateStart: 1585814400000, - requiredDateEnd: 1585816200000, - teamID: 2 - }, - { - orderID: 10930, - orderDate: 1583445600000, - orderTotal: 2255.5, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1587123000000, - requiredDateEnd: 1587124800000, - teamID: 2 - }, - { - orderID: 10931, - orderDate: 1583445600000, - orderTotal: 799.2, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1584702000000, - requiredDateEnd: 1584705600000, - teamID: 2 - }, - { - orderID: 10935, - orderDate: 1583704800000, - orderTotal: 619.5, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1586160000000, - requiredDateEnd: 1586165400000, - teamID: 2 - }, - { - orderID: 10943, - orderDate: 1583877600000, - orderTotal: 711, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1586345400000, - requiredDateEnd: 1586349000000, - teamID: 2 - }, - { - orderID: 10945, - orderDate: 1583964000000, - orderTotal: 245, - customerCompanyName: 'Morgenstern Gesundkost', - customerContactName: 'Alexander Feuer', - requiredDateStart: 1586435400000, - requiredDateEnd: 1586440800000, - teamID: 2 - }, - { - orderID: 10966, - orderDate: 1584655200000, - orderTotal: 1098.46, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1587115800000, - requiredDateEnd: 1587117600000, - teamID: 2 - }, - { - orderID: 10972, - orderDate: 1585000800000, - orderTotal: 251.5, - customerCompanyName: `La corne d'abondance`, - customerContactName: 'Daniel Tonini', - requiredDateStart: 1587461400000, - requiredDateEnd: 1587465000000, - teamID: 2 - }, - { - orderID: 10980, - orderDate: 1585260000000, - orderTotal: 248, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1588930200000, - requiredDateEnd: 1588935600000, - teamID: 2 - }, - { - orderID: 10996, - orderDate: 1585774800000, - orderTotal: 560, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1588233600000, - requiredDateEnd: 1588237200000, - teamID: 2 - }, - { - orderID: 11002, - orderDate: 1586120400000, - orderTotal: 1811.1, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1588579200000, - requiredDateEnd: 1588581000000, - teamID: 2 - }, - { - orderID: 11018, - orderDate: 1586725200000, - orderTotal: 1575, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1589193000000, - requiredDateEnd: 1589194800000, - teamID: 2 - }, - { - orderID: 11024, - orderDate: 1586898000000, - orderTotal: 1966.81, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1589365800000, - requiredDateEnd: 1589371200000, - teamID: 2 - }, - { - orderID: 11026, - orderDate: 1586898000000, - orderTotal: 1030, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1589369400000, - requiredDateEnd: 1589371200000, - teamID: 2 - }, - { - orderID: 11029, - orderDate: 1586984400000, - orderTotal: 1286.8, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1589443200000, - requiredDateEnd: 1589445000000, - teamID: 2 - }, - { - orderID: 11040, - orderDate: 1587502800000, - orderTotal: 200, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1589981400000, - requiredDateEnd: 1589983200000, - teamID: 2 - }, - { - orderID: 11044, - orderDate: 1587589200000, - orderTotal: 591.6, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1590055200000, - requiredDateEnd: 1590058800000, - teamID: 2 - }, - { - orderID: 11061, - orderDate: 1588194000000, - orderTotal: 510, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1591862400000, - requiredDateEnd: 1591867800000, - teamID: 2 - }, - { - orderID: 11062, - orderDate: 1588194000000, - orderTotal: 406.4, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1590669000000, - requiredDateEnd: 1590674400000, - teamID: 2 - }, - { - orderID: 11072, - orderDate: 1588626000000, - orderTotal: 5218, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1591102800000, - requiredDateEnd: 1591104600000, - teamID: 2 - }, - { - orderID: 11076, - orderDate: 1588712400000, - orderTotal: 792.75, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1591183800000, - requiredDateEnd: 1591185600000, - teamID: 2 - }, - { - orderID: 10251, - orderDate: 1530997200000, - orderTotal: 654.06, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1533459600000, - requiredDateEnd: 1533463200000, - teamID: 2 - }, - { - orderID: 10253, - orderDate: 1531170000000, - orderTotal: 1444.8, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1532433600000, - requiredDateEnd: 1532437200000, - teamID: 2 - }, - { - orderID: 10256, - orderDate: 1531602000000, - orderTotal: 517.8, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1534075200000, - requiredDateEnd: 1534080600000, - teamID: 2 - }, - { - orderID: 10266, - orderDate: 1532552400000, - orderTotal: 346.56, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1536222600000, - requiredDateEnd: 1536228000000, - teamID: 2 - }, - { - orderID: 10273, - orderDate: 1533416400000, - orderTotal: 2037.28, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1535880600000, - requiredDateEnd: 1535884200000, - teamID: 2 - }, - { - orderID: 10283, - orderDate: 1534366800000, - orderTotal: 1414.8, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1536841800000, - requiredDateEnd: 1536845400000, - teamID: 2 - }, - { - orderID: 10309, - orderDate: 1537304400000, - orderTotal: 1762, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1539770400000, - requiredDateEnd: 1539775800000, - teamID: 2 - }, - { - orderID: 10321, - orderDate: 1538514000000, - orderTotal: 144, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1540987200000, - requiredDateEnd: 1540989000000, - teamID: 2 - }, - { - orderID: 10330, - orderDate: 1539637200000, - orderTotal: 1649, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1542117600000, - requiredDateEnd: 1542121200000, - teamID: 2 - }, - { - orderID: 10332, - orderDate: 1539723600000, - orderTotal: 1786.88, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1543395600000, - requiredDateEnd: 1543397400000, - teamID: 2 - }, - { - orderID: 10346, - orderDate: 1541368800000, - orderTotal: 1618.88, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1545051600000, - requiredDateEnd: 1545055200000, - teamID: 2 - }, - { - orderID: 10352, - orderDate: 1541973600000, - orderTotal: 136.3, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1543224600000, - requiredDateEnd: 1543228200000, - teamID: 2 - }, - { - orderID: 10362, - orderDate: 1543096800000, - orderTotal: 1549.6, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1545570000000, - requiredDateEnd: 1545573600000, - teamID: 2 - }, - { - orderID: 10365, - orderDate: 1543269600000, - orderTotal: 403.2, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1545739200000, - requiredDateEnd: 1545741000000, - teamID: 2 - }, - { - orderID: 10375, - orderDate: 1544047200000, - orderTotal: 338, - customerCompanyName: 'Hungry Coyote Import Store', - customerContactName: 'Yoshi Latimer', - requiredDateStart: 1546506000000, - requiredDateEnd: 1546507800000, - teamID: 2 - }, - { - orderID: 10381, - orderDate: 1544565600000, - orderTotal: 112, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1547035200000, - requiredDateEnd: 1547037000000, - teamID: 2 - }, - { - orderID: 10384, - orderDate: 1544911200000, - orderTotal: 2222.4, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1547375400000, - requiredDateEnd: 1547380800000, - teamID: 2 - }, - { - orderID: 10391, - orderDate: 1545516000000, - orderTotal: 86.4, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1547974800000, - requiredDateEnd: 1547980200000, - teamID: 2 - }, - { - orderID: 10409, - orderDate: 1546984800000, - orderTotal: 319.2, - customerCompanyName: 'Océano Atlántico Ltda.', - customerContactName: 'Yvonne Moncada', - requiredDateStart: 1549461600000, - requiredDateEnd: 1549465200000, - teamID: 2 - }, - { - orderID: 10410, - orderDate: 1547071200000, - orderTotal: 802, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1549540800000, - requiredDateEnd: 1549544400000, - teamID: 2 - }, - { - orderID: 10413, - orderDate: 1547416800000, - orderTotal: 2123.2, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1549890000000, - requiredDateEnd: 1549895400000, - teamID: 2 - }, - { - orderID: 10415, - orderDate: 1547503200000, - orderTotal: 102.4, - customerCompanyName: 'Hungry Coyote Import Store', - customerContactName: 'Yoshi Latimer', - requiredDateStart: 1549967400000, - requiredDateEnd: 1549969200000, - teamID: 2 - }, - { - orderID: 10420, - orderDate: 1548021600000, - orderTotal: 1707.84, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1550482200000, - requiredDateEnd: 1550487600000, - teamID: 2 - }, - { - orderID: 10429, - orderDate: 1548712800000, - orderTotal: 1441.375, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1552383000000, - requiredDateEnd: 1552384800000, - teamID: 2 - }, - { - orderID: 10432, - orderDate: 1548885600000, - orderTotal: 485, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1550152800000, - requiredDateEnd: 1550158200000, - teamID: 2 - }, - { - orderID: 10433, - orderDate: 1549144800000, - orderTotal: 851.2, - customerCompanyName: 'Princesa Isabel Vinhos', - customerContactName: 'Isabel de Castro', - requiredDateStart: 1551618000000, - requiredDateEnd: 1551619800000, - teamID: 2 - }, - { - orderID: 10434, - orderDate: 1549144800000, - orderTotal: 321.12, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1551609000000, - requiredDateEnd: 1551612600000, - teamID: 2 - }, - { - orderID: 10436, - orderDate: 1549317600000, - orderTotal: 1994.52, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1551787200000, - requiredDateEnd: 1551789000000, - teamID: 2 - }, - { - orderID: 10438, - orderDate: 1549404000000, - orderTotal: 454, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1551868200000, - requiredDateEnd: 1551870000000, - teamID: 2 - }, - { - orderID: 10441, - orderDate: 1549749600000, - orderTotal: 1755, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1553434200000, - requiredDateEnd: 1553437800000, - teamID: 2 - }, - { - orderID: 10442, - orderDate: 1549836000000, - orderTotal: 1792, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1552302000000, - requiredDateEnd: 1552303800000, - teamID: 2 - }, - { - orderID: 10444, - orderDate: 1549922400000, - orderTotal: 1031.7, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1552388400000, - requiredDateEnd: 1552390200000, - teamID: 2 - }, - { - orderID: 10445, - orderDate: 1550008800000, - orderTotal: 174.9, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1552471200000, - requiredDateEnd: 1552476600000, - teamID: 2 - }, - { - orderID: 10449, - orderDate: 1550440800000, - orderTotal: 1838.2, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1552917600000, - requiredDateEnd: 1552923000000, - teamID: 2 - }, - { - orderID: 10468, - orderDate: 1551909600000, - orderTotal: 717.6, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1554364800000, - requiredDateEnd: 1554370200000, - teamID: 2 - }, - { - orderID: 10479, - orderDate: 1552946400000, - orderTotal: 10495.6, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1555412400000, - requiredDateEnd: 1555414200000, - teamID: 2 - }, - { - orderID: 10484, - orderDate: 1553378400000, - orderTotal: 386.2, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1555846200000, - requiredDateEnd: 1555848000000, - teamID: 2 - }, - { - orderID: 10492, - orderDate: 1554066000000, - orderTotal: 851.2, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1556533800000, - requiredDateEnd: 1556535600000, - teamID: 2 - }, - { - orderID: 10495, - orderDate: 1554238800000, - orderTotal: 278, - customerCompanyName: 'Laughing Bacchus Wine Cellars', - customerContactName: 'Yoshi Tannamuri', - requiredDateStart: 1556703000000, - requiredDateEnd: 1556708400000, - teamID: 2 - }, - { - orderID: 10505, - orderDate: 1555189200000, - orderTotal: 147.9, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1557649800000, - requiredDateEnd: 1557655200000, - teamID: 2 - }, - { - orderID: 10514, - orderDate: 1555880400000, - orderTotal: 8623.45, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1558359000000, - requiredDateEnd: 1558364400000, - teamID: 2 - }, - { - orderID: 10517, - orderDate: 1556053200000, - orderTotal: 352, - customerCompanyName: 'North/South', - customerContactName: 'Simon Crowther', - requiredDateStart: 1558530000000, - requiredDateEnd: 1558533600000, - teamID: 2 - }, - { - orderID: 10530, - orderDate: 1557262800000, - orderTotal: 4180, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1559730600000, - requiredDateEnd: 1559736000000, - teamID: 2 - }, - { - orderID: 10536, - orderDate: 1557781200000, - orderTotal: 1645, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1560247200000, - requiredDateEnd: 1560252600000, - teamID: 2 - }, - { - orderID: 10540, - orderDate: 1558213200000, - orderTotal: 10191.7, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1560684600000, - requiredDateEnd: 1560690000000, - teamID: 2 - }, - { - orderID: 10547, - orderDate: 1558558800000, - orderTotal: 1792.8, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1561017600000, - requiredDateEnd: 1561021200000, - teamID: 2 - }, - { - orderID: 10548, - orderDate: 1558818000000, - orderTotal: 240.1, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1561285800000, - requiredDateEnd: 1561287600000, - teamID: 2 - }, - { - orderID: 10568, - orderDate: 1560373200000, - orderTotal: 155, - customerCompanyName: 'Galería del gastrónomo', - customerContactName: 'Eduardo Saavedra', - requiredDateStart: 1562846400000, - requiredDateEnd: 1562848200000, - teamID: 2 - }, - { - orderID: 10570, - orderDate: 1560718800000, - orderTotal: 2465.25, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1563192000000, - requiredDateEnd: 1563195600000, - teamID: 2 - }, - { - orderID: 10572, - orderDate: 1560805200000, - orderTotal: 1501.085, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1563280200000, - requiredDateEnd: 1563285600000, - teamID: 2 - }, - { - orderID: 10576, - orderDate: 1561237200000, - orderTotal: 838.45, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1562502600000, - requiredDateEnd: 1562504400000, - teamID: 2 - }, - { - orderID: 10581, - orderDate: 1561496400000, - orderTotal: 310, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1563971400000, - requiredDateEnd: 1563975000000, - teamID: 2 - }, - { - orderID: 10582, - orderDate: 1561582800000, - orderTotal: 330, - customerCompanyName: 'Blauer See Delikatessen', - customerContactName: 'Hanna Moos', - requiredDateStart: 1564048800000, - requiredDateEnd: 1564054200000, - teamID: 2 - }, - { - orderID: 10592, - orderDate: 1562533200000, - orderTotal: 516.4675, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1565002800000, - requiredDateEnd: 1565004600000, - teamID: 2 - }, - { - orderID: 10594, - orderDate: 1562619600000, - orderTotal: 565.5, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1565096400000, - requiredDateEnd: 1565100000000, - teamID: 2 - }, - { - orderID: 10619, - orderDate: 1564866000000, - orderTotal: 1260, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1567341000000, - requiredDateEnd: 1567342800000, - teamID: 2 - }, - { - orderID: 10625, - orderDate: 1565211600000, - orderTotal: 479.75, - customerCompanyName: 'Ana Trujillo Emparedados y helados', - customerContactName: 'Ana Trujillo', - requiredDateStart: 1567677600000, - requiredDateEnd: 1567679400000, - teamID: 2 - }, - { - orderID: 10638, - orderDate: 1566248400000, - orderTotal: 2720.05, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1568709000000, - requiredDateEnd: 1568714400000, - teamID: 2 - }, - { - orderID: 10644, - orderDate: 1566680400000, - orderTotal: 1371.8, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1569146400000, - requiredDateEnd: 1569148200000, - teamID: 2 - }, - { - orderID: 10662, - orderDate: 1567976400000, - orderTotal: 125, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1570451400000, - requiredDateEnd: 1570456800000, - teamID: 2 - }, - { - orderID: 10681, - orderDate: 1569358800000, - orderTotal: 1287.4, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1571824800000, - requiredDateEnd: 1571830200000, - teamID: 2 - }, - { - orderID: 10682, - orderDate: 1569358800000, - orderTotal: 375.5, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1571830200000, - requiredDateEnd: 1571833800000, - teamID: 2 - }, - { - orderID: 10684, - orderDate: 1569445200000, - orderTotal: 1768, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1571909400000, - requiredDateEnd: 1571914800000, - teamID: 2 - }, - { - orderID: 10693, - orderDate: 1570309200000, - orderTotal: 2071.2, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1571567400000, - requiredDateEnd: 1571572800000, - teamID: 2 - }, - { - orderID: 10697, - orderDate: 1570482000000, - orderTotal: 805.425, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1572944400000, - requiredDateEnd: 1572948000000, - teamID: 2 - }, - { - orderID: 10699, - orderDate: 1570568400000, - orderTotal: 114, - customerCompanyName: 'Morgenstern Gesundkost', - customerContactName: 'Alexander Feuer', - requiredDateStart: 1573036200000, - requiredDateEnd: 1573039800000, - teamID: 2 - }, - { - orderID: 10700, - orderDate: 1570654800000, - orderTotal: 1638.4, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1573128000000, - requiredDateEnd: 1573131600000, - teamID: 2 - }, - { - orderID: 10712, - orderDate: 1571605200000, - orderTotal: 1233.48, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1574067600000, - requiredDateEnd: 1574073000000, - teamID: 2 - }, - { - orderID: 10715, - orderDate: 1571778000000, - orderTotal: 1296, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1573030800000, - requiredDateEnd: 1573032600000, - teamID: 2 - }, - { - orderID: 10723, - orderDate: 1572386400000, - orderTotal: 468.45, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1574856000000, - requiredDateEnd: 1574859600000, - teamID: 2 - }, - { - orderID: 10732, - orderDate: 1572991200000, - orderTotal: 360, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1575469800000, - requiredDateEnd: 1575471600000, - teamID: 2 - }, - { - orderID: 10739, - orderDate: 1573509600000, - orderTotal: 240, - customerCompanyName: 'Vins et alcools Chevalier', - customerContactName: 'Paul Henriot', - requiredDateStart: 1575973800000, - requiredDateEnd: 1575979200000, - teamID: 2 - }, - { - orderID: 10742, - orderDate: 1573682400000, - orderTotal: 3118, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1576150200000, - requiredDateEnd: 1576153800000, - teamID: 2 - }, - { - orderID: 10748, - orderDate: 1574200800000, - orderTotal: 2196, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1576670400000, - requiredDateEnd: 1576675800000, - teamID: 2 - }, - { - orderID: 10751, - orderDate: 1574546400000, - orderTotal: 1631.484, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1577007000000, - requiredDateEnd: 1577010600000, - teamID: 2 - }, - { - orderID: 10753, - orderDate: 1574632800000, - orderTotal: 88, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1577093400000, - requiredDateEnd: 1577095200000, - teamID: 2 - }, - { - orderID: 10758, - orderDate: 1574892000000, - orderTotal: 1644.6, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1577352600000, - requiredDateEnd: 1577354400000, - teamID: 2 - }, - { - orderID: 10759, - orderDate: 1574892000000, - orderTotal: 320, - customerCompanyName: 'Ana Trujillo Emparedados y helados', - customerContactName: 'Ana Trujillo', - requiredDateStart: 1577368800000, - requiredDateEnd: 1577374200000, - teamID: 2 - }, - { - orderID: 10762, - orderDate: 1575237600000, - orderTotal: 4337, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1577710800000, - requiredDateEnd: 1577712600000, - teamID: 2 - }, - { - orderID: 10763, - orderDate: 1575324000000, - orderTotal: 616, - customerCompanyName: 'Folies gourmandes', - customerContactName: 'Martine Rancé', - requiredDateStart: 1577799000000, - requiredDateEnd: 1577800800000, - teamID: 2 - }, - { - orderID: 10765, - orderDate: 1575410400000, - orderTotal: 1515.6, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1577869200000, - requiredDateEnd: 1577872800000, - teamID: 2 - }, - { - orderID: 10768, - orderDate: 1575756000000, - orderTotal: 1477, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1578231000000, - requiredDateEnd: 1578232800000, - teamID: 2 - }, - { - orderID: 10769, - orderDate: 1575756000000, - orderTotal: 1684.275, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1578223800000, - requiredDateEnd: 1578225600000, - teamID: 2 - }, - { - orderID: 10772, - orderDate: 1575928800000, - orderTotal: 3603.22, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1578387600000, - requiredDateEnd: 1578393000000, - teamID: 2 - }, - { - orderID: 10778, - orderDate: 1576447200000, - orderTotal: 96.5, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1578913200000, - requiredDateEnd: 1578915000000, - teamID: 2 - }, - { - orderID: 10779, - orderDate: 1576447200000, - orderTotal: 1335, - customerCompanyName: 'Morgenstern Gesundkost', - customerContactName: 'Alexander Feuer', - requiredDateStart: 1578913200000, - requiredDateEnd: 1578918600000, - teamID: 2 - }, - { - orderID: 10793, - orderDate: 1577138400000, - orderTotal: 191.1, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1579613400000, - requiredDateEnd: 1579617000000, - teamID: 2 - }, - { - orderID: 10796, - orderDate: 1577224800000, - orderTotal: 2341.364, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1579689000000, - requiredDateEnd: 1579692600000, - teamID: 2 - }, - { - orderID: 10806, - orderDate: 1577743200000, - orderTotal: 439.6, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1580209200000, - requiredDateEnd: 1580212800000, - teamID: 2 - }, - { - orderID: 10814, - orderDate: 1578175200000, - orderTotal: 1788.45, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1580639400000, - requiredDateEnd: 1580644800000, - teamID: 2 - }, - { - orderID: 10817, - orderDate: 1578261600000, - orderTotal: 10952.845, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1579516200000, - requiredDateEnd: 1579521600000, - teamID: 2 - }, - { - orderID: 10820, - orderDate: 1578348000000, - orderTotal: 1140, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1580810400000, - requiredDateEnd: 1580812200000, - teamID: 2 - }, - { - orderID: 10831, - orderDate: 1578952800000, - orderTotal: 2684.4, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1581426000000, - requiredDateEnd: 1581427800000, - teamID: 2 - }, - { - orderID: 10838, - orderDate: 1579384800000, - orderTotal: 1938.375, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1581852600000, - requiredDateEnd: 1581854400000, - teamID: 2 - }, - { - orderID: 10839, - orderDate: 1579384800000, - orderTotal: 827.55, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1581861600000, - requiredDateEnd: 1581865200000, - teamID: 2 - }, - { - orderID: 10854, - orderDate: 1580076000000, - orderTotal: 2966.5, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1582536600000, - requiredDateEnd: 1582542000000, - teamID: 2 - }, - { - orderID: 10855, - orderDate: 1580076000000, - orderTotal: 2227.8875, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1582551000000, - requiredDateEnd: 1582556400000, - teamID: 2 - }, - { - orderID: 10856, - orderDate: 1580162400000, - orderTotal: 660, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1582626600000, - requiredDateEnd: 1582628400000, - teamID: 2 - }, - { - orderID: 10860, - orderDate: 1580248800000, - orderTotal: 519, - customerCompanyName: 'France restauration', - customerContactName: 'Carine Schmitt', - requiredDateStart: 1582727400000, - requiredDateEnd: 1582731000000, - teamID: 2 - }, - { - orderID: 10879, - orderDate: 1581285600000, - orderTotal: 611.3, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1583838000000, - requiredDateEnd: 1583839800000, - teamID: 2 - }, - { - orderID: 10895, - orderDate: 1581976800000, - orderTotal: 6379.4, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1584540000000, - requiredDateEnd: 1584543600000, - teamID: 2 - }, - { - orderID: 10897, - orderDate: 1582063200000, - orderTotal: 10835.24, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1584628200000, - requiredDateEnd: 1584631800000, - teamID: 2 - }, - { - orderID: 10903, - orderDate: 1582495200000, - orderTotal: 932.05, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1585047600000, - requiredDateEnd: 1585049400000, - teamID: 2 - }, - { - orderID: 10904, - orderDate: 1582495200000, - orderTotal: 1924.25, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1585056600000, - requiredDateEnd: 1585060200000, - teamID: 2 - }, - { - orderID: 10911, - orderDate: 1582668000000, - orderTotal: 858, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1585218600000, - requiredDateEnd: 1585222200000, - teamID: 2 - }, - { - orderID: 10918, - orderDate: 1583100000000, - orderTotal: 1447.5, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1585555200000, - requiredDateEnd: 1585560600000, - teamID: 2 - }, - { - orderID: 10924, - orderDate: 1583272800000, - orderTotal: 1835.7, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1585738800000, - requiredDateEnd: 1585744200000, - teamID: 2 - }, - { - orderID: 10925, - orderDate: 1583272800000, - orderTotal: 475.15, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1585735200000, - requiredDateEnd: 1585740600000, - teamID: 2 - }, - { - orderID: 10934, - orderDate: 1583704800000, - orderTotal: 500, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1586161800000, - requiredDateEnd: 1586163600000, - teamID: 2 - }, - { - orderID: 10936, - orderDate: 1583704800000, - orderTotal: 456, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1586176200000, - requiredDateEnd: 1586181600000, - teamID: 2 - }, - { - orderID: 10938, - orderDate: 1583791200000, - orderTotal: 2731.875, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1586253600000, - requiredDateEnd: 1586259000000, - teamID: 2 - }, - { - orderID: 10947, - orderDate: 1584050400000, - orderTotal: 220, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1586525400000, - requiredDateEnd: 1586527200000, - teamID: 2 - }, - { - orderID: 10948, - orderDate: 1584050400000, - orderTotal: 2362.25, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1586505600000, - requiredDateEnd: 1586509200000, - teamID: 2 - }, - { - orderID: 10960, - orderDate: 1584568800000, - orderTotal: 265.35, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1585830600000, - requiredDateEnd: 1585834200000, - teamID: 2 - }, - { - orderID: 10964, - orderDate: 1584655200000, - orderTotal: 2052.5, - customerCompanyName: 'Spécialités du monde', - customerContactName: 'Dominique Perrier', - requiredDateStart: 1587114000000, - requiredDateEnd: 1587117600000, - teamID: 2 - }, - { - orderID: 10974, - orderDate: 1585087200000, - orderTotal: 439, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1586349000000, - requiredDateEnd: 1586354400000, - teamID: 2 - }, - { - orderID: 10988, - orderDate: 1585602000000, - orderTotal: 3574.8, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1588075200000, - requiredDateEnd: 1588080600000, - teamID: 2 - }, - { - orderID: 11003, - orderDate: 1586120400000, - orderTotal: 326, - customerCompanyName: 'The Cracker Box', - customerContactName: 'Liu Wong', - requiredDateStart: 1588591800000, - requiredDateEnd: 1588593600000, - teamID: 2 - }, - { - orderID: 11004, - orderDate: 1586206800000, - orderTotal: 295.38, - customerCompanyName: 'Maison Dewey', - customerContactName: 'Catherine Dewey', - requiredDateStart: 1588671000000, - requiredDateEnd: 1588674600000, - teamID: 2 - }, - { - orderID: 11006, - orderDate: 1586206800000, - orderTotal: 329.685, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1588680000000, - requiredDateEnd: 1588681800000, - teamID: 2 - }, - { - orderID: 11011, - orderDate: 1586379600000, - orderTotal: 933.5, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1588847400000, - requiredDateEnd: 1588849200000, - teamID: 2 - }, - { - orderID: 11021, - orderDate: 1586811600000, - orderTotal: 6306.24, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1589284800000, - requiredDateEnd: 1589288400000, - teamID: 2 - }, - { - orderID: 11041, - orderDate: 1587502800000, - orderTotal: 1773, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1589968800000, - requiredDateEnd: 1589970600000, - teamID: 2 - }, - { - orderID: 11049, - orderDate: 1587675600000, - orderTotal: 273.6, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1590141600000, - requiredDateEnd: 1590145200000, - teamID: 2 - }, - { - orderID: 11052, - orderDate: 1587934800000, - orderTotal: 1332, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1590395400000, - requiredDateEnd: 1590399000000, - teamID: 2 - }, - { - orderID: 11057, - orderDate: 1588107600000, - orderTotal: 45, - customerCompanyName: 'North/South', - customerContactName: 'Simon Crowther', - requiredDateStart: 1590577200000, - requiredDateEnd: 1590582600000, - teamID: 2 - }, - { - orderID: 11063, - orderDate: 1588194000000, - orderTotal: 1342.95, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1590654600000, - requiredDateEnd: 1590656400000, - teamID: 2 - }, - { - orderID: 10265, - orderDate: 1532466000000, - orderTotal: 1176, - customerCompanyName: 'Blondesddsl père et fils', - customerContactName: 'Frédérique Citeaux', - requiredDateStart: 1534933800000, - requiredDateEnd: 1534937400000, - teamID: 1 - }, - { - orderID: 10277, - orderDate: 1533762000000, - orderTotal: 1200.8, - customerCompanyName: 'Morgenstern Gesundkost', - customerContactName: 'Alexander Feuer', - requiredDateStart: 1536231600000, - requiredDateEnd: 1536233400000, - teamID: 1 - }, - { - orderID: 10280, - orderDate: 1534194000000, - orderTotal: 613.2, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1536652800000, - requiredDateEnd: 1536656400000, - teamID: 1 - }, - { - orderID: 10295, - orderDate: 1535835600000, - orderTotal: 121.6, - customerCompanyName: 'Vins et alcools Chevalier', - customerContactName: 'Paul Henriot', - requiredDateStart: 1538296200000, - requiredDateEnd: 1538299800000, - teamID: 1 - }, - { - orderID: 10300, - orderDate: 1536440400000, - orderTotal: 608, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1538908200000, - requiredDateEnd: 1538913600000, - teamID: 1 - }, - { - orderID: 10307, - orderDate: 1537131600000, - orderTotal: 424, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1539604800000, - requiredDateEnd: 1539606600000, - teamID: 1 - }, - { - orderID: 10312, - orderDate: 1537650000000, - orderTotal: 1614.8, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1540116000000, - requiredDateEnd: 1540119600000, - teamID: 1 - }, - { - orderID: 10313, - orderDate: 1537736400000, - orderTotal: 182.4, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1540195200000, - requiredDateEnd: 1540200600000, - teamID: 1 - }, - { - orderID: 10327, - orderDate: 1539205200000, - orderTotal: 1810, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1541673000000, - requiredDateEnd: 1541674800000, - teamID: 1 - }, - { - orderID: 10339, - orderDate: 1540674000000, - orderTotal: 3354, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1543140000000, - requiredDateEnd: 1543141800000, - teamID: 1 - }, - { - orderID: 10345, - orderDate: 1541282400000, - orderTotal: 2924.8, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1543761000000, - requiredDateEnd: 1543766400000, - teamID: 1 - }, - { - orderID: 10368, - orderDate: 1543442400000, - orderTotal: 1689.78, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1545906600000, - requiredDateEnd: 1545912000000, - teamID: 1 - }, - { - orderID: 10379, - orderDate: 1544479200000, - orderTotal: 863.28, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1546956000000, - requiredDateEnd: 1546961400000, - teamID: 1 - }, - { - orderID: 10388, - orderDate: 1545170400000, - orderTotal: 1228.8, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1547641800000, - requiredDateEnd: 1547647200000, - teamID: 1 - }, - { - orderID: 10392, - orderDate: 1545602400000, - orderTotal: 1440, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1548063000000, - requiredDateEnd: 1548066600000, - teamID: 1 - }, - { - orderID: 10398, - orderDate: 1546120800000, - orderTotal: 2505.6, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1548579600000, - requiredDateEnd: 1548585000000, - teamID: 1 - }, - { - orderID: 10404, - orderDate: 1546466400000, - orderTotal: 1591.25, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1548928800000, - requiredDateEnd: 1548932400000, - teamID: 1 - }, - { - orderID: 10407, - orderDate: 1546812000000, - orderTotal: 1194, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1549285200000, - requiredDateEnd: 1549288800000, - teamID: 1 - }, - { - orderID: 10414, - orderDate: 1547416800000, - orderTotal: 224.83, - customerCompanyName: 'Familia Arquibaldo', - customerContactName: 'Aria Cruz', - requiredDateStart: 1549879200000, - requiredDateEnd: 1549881000000, - teamID: 1 - }, - { - orderID: 10422, - orderDate: 1548108000000, - orderTotal: 49.8, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1550583000000, - requiredDateEnd: 1550586600000, - teamID: 1 - }, - { - orderID: 10457, - orderDate: 1551045600000, - orderTotal: 1584, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1553513400000, - requiredDateEnd: 1553517000000, - teamID: 1 - }, - { - orderID: 10462, - orderDate: 1551564000000, - orderTotal: 156, - customerCompanyName: 'Consolidated Holdings', - customerContactName: 'Elizabeth Brown', - requiredDateStart: 1554042600000, - requiredDateEnd: 1554046200000, - teamID: 1 - }, - { - orderID: 10471, - orderDate: 1552255200000, - orderTotal: 1328, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1554715800000, - requiredDateEnd: 1554721200000, - teamID: 1 - }, - { - orderID: 10478, - orderDate: 1552860000000, - orderTotal: 471.2, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1554116400000, - requiredDateEnd: 1554120000000, - teamID: 1 - }, - { - orderID: 10487, - orderDate: 1553551200000, - orderTotal: 889.7, - customerCompanyName: 'Queen Cozinha', - customerContactName: 'Lúcia Carvalho', - requiredDateStart: 1556006400000, - requiredDateEnd: 1556010000000, - teamID: 1 - }, - { - orderID: 10502, - orderDate: 1554843600000, - orderTotal: 816.3, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1557313200000, - requiredDateEnd: 1557315000000, - teamID: 1 - }, - { - orderID: 10515, - orderDate: 1555966800000, - orderTotal: 9921.3, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1557217800000, - requiredDateEnd: 1557221400000, - teamID: 1 - }, - { - orderID: 10516, - orderDate: 1556053200000, - orderTotal: 2381.05, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1558513800000, - requiredDateEnd: 1558519200000, - teamID: 1 - }, - { - orderID: 10541, - orderDate: 1558213200000, - orderTotal: 1946.52, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1560684600000, - requiredDateEnd: 1560688200000, - teamID: 1 - }, - { - orderID: 10552, - orderDate: 1559077200000, - orderTotal: 880.5, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1561543200000, - requiredDateEnd: 1561548600000, - teamID: 1 - }, - { - orderID: 10553, - orderDate: 1559163600000, - orderTotal: 1546.3, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1561627800000, - requiredDateEnd: 1561629600000, - teamID: 1 - }, - { - orderID: 10556, - orderDate: 1559509200000, - orderTotal: 835.2, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1563177600000, - requiredDateEnd: 1563181200000, - teamID: 1 - }, - { - orderID: 10561, - orderDate: 1559768400000, - orderTotal: 2844.5, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1562230800000, - requiredDateEnd: 1562232600000, - teamID: 1 - }, - { - orderID: 10563, - orderDate: 1560114000000, - orderTotal: 965, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1563789600000, - requiredDateEnd: 1563791400000, - teamID: 1 - }, - { - orderID: 10583, - orderDate: 1561842000000, - orderTotal: 2237.5, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1564315200000, - requiredDateEnd: 1564317000000, - teamID: 1 - }, - { - orderID: 10588, - orderDate: 1562101200000, - orderTotal: 3120, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1564578000000, - requiredDateEnd: 1564583400000, - teamID: 1 - }, - { - orderID: 10595, - orderDate: 1562706000000, - orderTotal: 4725, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1565181000000, - requiredDateEnd: 1565182800000, - teamID: 1 - }, - { - orderID: 10615, - orderDate: 1564434000000, - orderTotal: 120, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1566900000000, - requiredDateEnd: 1566901800000, - teamID: 1 - }, - { - orderID: 10620, - orderDate: 1564952400000, - orderTotal: 57.5, - customerCompanyName: 'Laughing Bacchus Wine Cellars', - customerContactName: 'Yoshi Tannamuri', - requiredDateStart: 1567422000000, - requiredDateEnd: 1567423800000, - teamID: 1 - }, - { - orderID: 10657, - orderDate: 1567544400000, - orderTotal: 4371.6, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1570012200000, - requiredDateEnd: 1570015800000, - teamID: 1 - }, - { - orderID: 10663, - orderDate: 1568062800000, - orderTotal: 1930.4, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1569328200000, - requiredDateEnd: 1569333600000, - teamID: 1 - }, - { - orderID: 10669, - orderDate: 1568494800000, - orderTotal: 570, - customerCompanyName: 'Simons bistro', - customerContactName: 'Jytte Petersen', - requiredDateStart: 1570966200000, - requiredDateEnd: 1570968000000, - teamID: 1 - }, - { - orderID: 10673, - orderDate: 1568754000000, - orderTotal: 412.35, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1571230800000, - requiredDateEnd: 1571234400000, - teamID: 1 - }, - { - orderID: 10676, - orderDate: 1569099600000, - orderTotal: 534.85, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1571569200000, - requiredDateEnd: 1571574600000, - teamID: 1 - }, - { - orderID: 10683, - orderDate: 1569445200000, - orderTotal: 63, - customerCompanyName: 'Du monde entier', - customerContactName: 'Janine Labrune', - requiredDateStart: 1571907600000, - requiredDateEnd: 1571909400000, - teamID: 1 - }, - { - orderID: 10686, - orderDate: 1569790800000, - orderTotal: 1404.45, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1572255000000, - requiredDateEnd: 1572256800000, - teamID: 1 - }, - { - orderID: 10691, - orderDate: 1570050000000, - orderTotal: 10164.8, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1573729200000, - requiredDateEnd: 1573731000000, - teamID: 1 - }, - { - orderID: 10727, - orderDate: 1572732000000, - orderTotal: 1624.5, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1575207000000, - requiredDateEnd: 1575212400000, - teamID: 1 - }, - { - orderID: 10734, - orderDate: 1573077600000, - orderTotal: 1498.35, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1575552600000, - requiredDateEnd: 1575556200000, - teamID: 1 - }, - { - orderID: 10737, - orderDate: 1573423200000, - orderTotal: 139.8, - customerCompanyName: 'Vins et alcools Chevalier', - customerContactName: 'Paul Henriot', - requiredDateStart: 1575901800000, - requiredDateEnd: 1575905400000, - teamID: 1 - }, - { - orderID: 10738, - orderDate: 1573509600000, - orderTotal: 52.35, - customerCompanyName: 'Spécialités du monde', - customerContactName: 'Dominique Perrier', - requiredDateStart: 1575972000000, - requiredDateEnd: 1575977400000, - teamID: 1 - }, - { - orderID: 10752, - orderDate: 1574546400000, - orderTotal: 252, - customerCompanyName: 'North/South', - customerContactName: 'Simon Crowther', - requiredDateStart: 1577019600000, - requiredDateEnd: 1577023200000, - teamID: 1 - }, - { - orderID: 10780, - orderDate: 1576447200000, - orderTotal: 720, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1577696400000, - requiredDateEnd: 1577700000000, - teamID: 1 - }, - { - orderID: 10781, - orderDate: 1576533600000, - orderTotal: 975.88, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1579006800000, - requiredDateEnd: 1579008600000, - teamID: 1 - }, - { - orderID: 10787, - orderDate: 1576706400000, - orderTotal: 2622.76, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1577962800000, - requiredDateEnd: 1577968200000, - teamID: 1 - }, - { - orderID: 10798, - orderDate: 1577311200000, - orderTotal: 446.6, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1579782600000, - requiredDateEnd: 1579786200000, - teamID: 1 - }, - { - orderID: 10805, - orderDate: 1577656800000, - orderTotal: 2775, - customerCompanyName: 'The Big Cheese', - customerContactName: 'Liz Nixon', - requiredDateStart: 1580124600000, - requiredDateEnd: 1580128200000, - teamID: 1 - }, - { - orderID: 10808, - orderDate: 1577829600000, - orderTotal: 1411, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1580290200000, - requiredDateEnd: 1580295600000, - teamID: 1 - }, - { - orderID: 10810, - orderDate: 1577829600000, - orderTotal: 187, - customerCompanyName: 'Laughing Bacchus Wine Cellars', - customerContactName: 'Yoshi Tannamuri', - requiredDateStart: 1580306400000, - requiredDateEnd: 1580308200000, - teamID: 1 - }, - { - orderID: 10815, - orderDate: 1578175200000, - orderTotal: 40, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1580646600000, - requiredDateEnd: 1580652000000, - teamID: 1 - }, - { - orderID: 10819, - orderDate: 1578348000000, - orderTotal: 477, - customerCompanyName: 'Cactus Comidas para llevar', - customerContactName: 'Patricio Simpson', - requiredDateStart: 1580817600000, - requiredDateEnd: 1580819400000, - teamID: 1 - }, - { - orderID: 10832, - orderDate: 1578952800000, - orderTotal: 475.11, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1581413400000, - requiredDateEnd: 1581415200000, - teamID: 1 - }, - { - orderID: 10846, - orderDate: 1579644000000, - orderTotal: 1112, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1583411400000, - requiredDateEnd: 1583415000000, - teamID: 1 - }, - { - orderID: 10858, - orderDate: 1580248800000, - orderTotal: 649, - customerCompanyName: `La corne d'abondance`, - customerContactName: 'Daniel Tonini', - requiredDateStart: 1582718400000, - requiredDateEnd: 1582722000000, - teamID: 1 - }, - { - orderID: 10865, - orderDate: 1580594400000, - orderTotal: 16387.5, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1581847200000, - requiredDateEnd: 1581850800000, - teamID: 1 - }, - { - orderID: 10912, - orderDate: 1582668000000, - orderTotal: 6200.55, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1585220400000, - requiredDateEnd: 1585222200000, - teamID: 1 - }, - { - orderID: 10915, - orderDate: 1582754400000, - orderTotal: 539.5, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1585317600000, - requiredDateEnd: 1585321200000, - teamID: 1 - }, - { - orderID: 10919, - orderDate: 1583100000000, - orderTotal: 1122.8, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1585575000000, - requiredDateEnd: 1585580400000, - teamID: 1 - }, - { - orderID: 10939, - orderDate: 1583791200000, - orderTotal: 637.5, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1586255400000, - requiredDateEnd: 1586259000000, - teamID: 1 - }, - { - orderID: 10949, - orderDate: 1584050400000, - orderTotal: 4422, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1586514600000, - requiredDateEnd: 1586516400000, - teamID: 1 - }, - { - orderID: 10967, - orderDate: 1584914400000, - orderTotal: 910.4, - customerCompanyName: 'Toms Spezialitäten', - customerContactName: 'Karin Josephs', - requiredDateStart: 1587373200000, - requiredDateEnd: 1587376800000, - teamID: 1 - }, - { - orderID: 10971, - orderDate: 1585000800000, - orderTotal: 1733.06, - customerCompanyName: 'France restauration', - customerContactName: 'Carine Schmitt', - requiredDateStart: 1587466800000, - requiredDateEnd: 1587470400000, - teamID: 1 - }, - { - orderID: 10982, - orderDate: 1585260000000, - orderTotal: 1014, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1587717000000, - requiredDateEnd: 1587720600000, - teamID: 1 - }, - { - orderID: 10983, - orderDate: 1585260000000, - orderTotal: 720.9, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1587727800000, - requiredDateEnd: 1587729600000, - teamID: 1 - }, - { - orderID: 10985, - orderDate: 1585515600000, - orderTotal: 2023.38, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1587978000000, - requiredDateEnd: 1587983400000, - teamID: 1 - }, - { - orderID: 10989, - orderDate: 1585602000000, - orderTotal: 1353.6, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1588062600000, - requiredDateEnd: 1588068000000, - teamID: 1 - }, - { - orderID: 10990, - orderDate: 1585688400000, - orderTotal: 4288.85, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1589362200000, - requiredDateEnd: 1589364000000, - teamID: 1 - }, - { - orderID: 10994, - orderDate: 1585774800000, - orderTotal: 940.5, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1587040200000, - requiredDateEnd: 1587042000000, - teamID: 1 - }, - { - orderID: 11000, - orderDate: 1586120400000, - orderTotal: 903.75, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1588581000000, - requiredDateEnd: 1588586400000, - teamID: 1 - }, - { - orderID: 11001, - orderDate: 1586120400000, - orderTotal: 2769, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1588597200000, - requiredDateEnd: 1588599000000, - teamID: 1 - }, - { - orderID: 11005, - orderDate: 1586206800000, - orderTotal: 586, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1588671000000, - requiredDateEnd: 1588672800000, - teamID: 1 - }, - { - orderID: 11009, - orderDate: 1586293200000, - orderTotal: 616.5, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1588753800000, - requiredDateEnd: 1588755600000, - teamID: 1 - }, - { - orderID: 11010, - orderDate: 1586379600000, - orderTotal: 645, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1588851000000, - requiredDateEnd: 1588852800000, - teamID: 1 - }, - { - orderID: 11013, - orderDate: 1586379600000, - orderTotal: 361, - customerCompanyName: 'Romero y tomillo', - customerContactName: 'Alejandra Camino', - requiredDateStart: 1588849200000, - requiredDateEnd: 1588851000000, - teamID: 1 - }, - { - orderID: 11014, - orderDate: 1586466000000, - orderTotal: 243.18, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1588932000000, - requiredDateEnd: 1588935600000, - teamID: 1 - }, - { - orderID: 11015, - orderDate: 1586466000000, - orderTotal: 622.35, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1587731400000, - requiredDateEnd: 1587736800000, - teamID: 1 - }, - { - orderID: 11020, - orderDate: 1586811600000, - orderTotal: 632.4, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1589281200000, - requiredDateEnd: 1589284800000, - teamID: 1 - }, - { - orderID: 11028, - orderDate: 1586984400000, - orderTotal: 2160, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1589445000000, - requiredDateEnd: 1589448600000, - teamID: 1 - }, - { - orderID: 11032, - orderDate: 1587070800000, - orderTotal: 8902.5, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1589549400000, - requiredDateEnd: 1589553000000, - teamID: 1 - }, - { - orderID: 11035, - orderDate: 1587330000000, - orderTotal: 1754.5, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1589801400000, - requiredDateEnd: 1589803200000, - teamID: 1 - }, - { - orderID: 11042, - orderDate: 1587502800000, - orderTotal: 405.75, - customerCompanyName: 'Comércio Mineiro', - customerContactName: 'Pedro Afonso', - requiredDateStart: 1588770000000, - requiredDateEnd: 1588771800000, - teamID: 1 - }, - { - orderID: 11053, - orderDate: 1587934800000, - orderTotal: 3055, - customerCompanyName: 'Piccolo und mehr', - customerContactName: 'Georg Pipps', - requiredDateStart: 1590395400000, - requiredDateEnd: 1590399000000, - teamID: 1 - }, - { - orderID: 11059, - orderDate: 1588107600000, - orderTotal: 1838, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1591795800000, - requiredDateEnd: 1591799400000, - teamID: 1 - }, - { - orderID: 11060, - orderDate: 1588194000000, - orderTotal: 266, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1590654600000, - requiredDateEnd: 1590656400000, - teamID: 1 - }, - { - orderID: 11070, - orderDate: 1588626000000, - orderTotal: 1629.975, - customerCompanyName: 'Lehmanns Marktstand', - customerContactName: 'Renate Messner', - requiredDateStart: 1591095600000, - requiredDateEnd: 1591099200000, - teamID: 1 - }, - { - orderID: 11073, - orderDate: 1588626000000, - orderTotal: 300, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1591104600000, - requiredDateEnd: 1591110000000, - teamID: 1 - }, - { - orderID: 10258, - orderDate: 1531774800000, - orderTotal: 1614.88, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1534246200000, - requiredDateEnd: 1534248000000, - teamID: 1 - }, - { - orderID: 10270, - orderDate: 1533070800000, - orderTotal: 1376, - customerCompanyName: 'Wartian Herkku', - customerContactName: 'Pirkko Koskitalo', - requiredDateStart: 1535533200000, - requiredDateEnd: 1535538600000, - teamID: 1 - }, - { - orderID: 10275, - orderDate: 1533589200000, - orderTotal: 291.84, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1536058800000, - requiredDateEnd: 1536062400000, - teamID: 1 - }, - { - orderID: 10285, - orderDate: 1534712400000, - orderTotal: 1743.36, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1537187400000, - requiredDateEnd: 1537192800000, - teamID: 1 - }, - { - orderID: 10292, - orderDate: 1535403600000, - orderTotal: 1296, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1537878600000, - requiredDateEnd: 1537884000000, - teamID: 1 - }, - { - orderID: 10293, - orderDate: 1535490000000, - orderTotal: 848.7, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1537961400000, - requiredDateEnd: 1537966800000, - teamID: 1 - }, - { - orderID: 10304, - orderDate: 1536699600000, - orderTotal: 954.4, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1539167400000, - requiredDateEnd: 1539172800000, - teamID: 1 - }, - { - orderID: 10306, - orderDate: 1537045200000, - orderTotal: 498.5, - customerCompanyName: 'Romero y tomillo', - customerContactName: 'Alejandra Camino', - requiredDateStart: 1539518400000, - requiredDateEnd: 1539522000000, - teamID: 1 - }, - { - orderID: 10311, - orderDate: 1537390800000, - orderTotal: 268.8, - customerCompanyName: 'Du monde entier', - customerContactName: 'Janine Labrune', - requiredDateStart: 1538652600000, - requiredDateEnd: 1538658000000, - teamID: 1 - }, - { - orderID: 10314, - orderDate: 1537822800000, - orderTotal: 2094.3, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1540285200000, - requiredDateEnd: 1540290600000, - teamID: 1 - }, - { - orderID: 10316, - orderDate: 1537995600000, - orderTotal: 2835, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1540468800000, - requiredDateEnd: 1540470600000, - teamID: 1 - }, - { - orderID: 10325, - orderDate: 1539032400000, - orderTotal: 1497, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1540290600000, - requiredDateEnd: 1540296000000, - teamID: 1 - }, - { - orderID: 10340, - orderDate: 1540764000000, - orderTotal: 2436.18, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1543235400000, - requiredDateEnd: 1543240800000, - teamID: 1 - }, - { - orderID: 10351, - orderDate: 1541887200000, - orderTotal: 5398.725, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1544347800000, - requiredDateEnd: 1544349600000, - teamID: 1 - }, - { - orderID: 10357, - orderDate: 1542578400000, - orderTotal: 1167.68, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1545046200000, - requiredDateEnd: 1545051600000, - teamID: 1 - }, - { - orderID: 10361, - orderDate: 1542837600000, - orderTotal: 2046.24, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1545316200000, - requiredDateEnd: 1545319800000, - teamID: 1 - }, - { - orderID: 10364, - orderDate: 1543183200000, - orderTotal: 950, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1546851600000, - requiredDateEnd: 1546853400000, - teamID: 1 - }, - { - orderID: 10371, - orderDate: 1543788000000, - orderTotal: 72.96, - customerCompanyName: `La maison d'Asie`, - customerContactName: 'Annette Roulet', - requiredDateStart: 1546261200000, - requiredDateEnd: 1546264800000, - teamID: 1 - }, - { - orderID: 10374, - orderDate: 1543960800000, - orderTotal: 459, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1546419600000, - requiredDateEnd: 1546423200000, - teamID: 1 - }, - { - orderID: 10376, - orderDate: 1544306400000, - orderTotal: 399, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1546768800000, - requiredDateEnd: 1546770600000, - teamID: 1 - }, - { - orderID: 10377, - orderDate: 1544306400000, - orderTotal: 863.6, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1546783200000, - requiredDateEnd: 1546788600000, - teamID: 1 - }, - { - orderID: 10385, - orderDate: 1544997600000, - orderTotal: 691.2, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1547458200000, - requiredDateEnd: 1547463600000, - teamID: 1 - }, - { - orderID: 10387, - orderDate: 1545084000000, - orderTotal: 1058.4, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1547559000000, - requiredDateEnd: 1547562600000, - teamID: 1 - }, - { - orderID: 10393, - orderDate: 1545688800000, - orderTotal: 2556.95, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1548162000000, - requiredDateEnd: 1548165600000, - teamID: 1 - }, - { - orderID: 10394, - orderDate: 1545688800000, - orderTotal: 442, - customerCompanyName: 'Hungry Coyote Import Store', - customerContactName: 'Yoshi Latimer', - requiredDateStart: 1548158400000, - requiredDateEnd: 1548160200000, - teamID: 1 - }, - { - orderID: 10396, - orderDate: 1545861600000, - orderTotal: 1903.8, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1547118000000, - requiredDateEnd: 1547121600000, - teamID: 1 - }, - { - orderID: 10400, - orderDate: 1546293600000, - orderTotal: 3063, - customerCompanyName: 'Eastern Connection', - customerContactName: 'Ann Devon', - requiredDateStart: 1548761400000, - requiredDateEnd: 1548765000000, - teamID: 1 - }, - { - orderID: 10401, - orderDate: 1546293600000, - orderTotal: 3868.6, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1548772200000, - requiredDateEnd: 1548775800000, - teamID: 1 - }, - { - orderID: 10405, - orderDate: 1546725600000, - orderTotal: 400, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1549200600000, - requiredDateEnd: 1549202400000, - teamID: 1 - }, - { - orderID: 10453, - orderDate: 1550700000000, - orderTotal: 407.7, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1553160600000, - requiredDateEnd: 1553162400000, - teamID: 1 - }, - { - orderID: 10461, - orderDate: 1551304800000, - orderTotal: 1538.7, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1553769000000, - requiredDateEnd: 1553774400000, - teamID: 1 - }, - { - orderID: 10465, - orderDate: 1551736800000, - orderTotal: 2518, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1554201000000, - requiredDateEnd: 1554206400000, - teamID: 1 - }, - { - orderID: 10469, - orderDate: 1552168800000, - orderTotal: 956.675, - customerCompanyName: 'White Clover Markets', - customerContactName: 'Karl Jablonski', - requiredDateStart: 1554627600000, - requiredDateEnd: 1554629400000, - teamID: 1 - }, - { - orderID: 10473, - orderDate: 1552428000000, - orderTotal: 230.4, - customerCompanyName: 'Island Trading', - customerContactName: 'Helen Bennett', - requiredDateStart: 1553697000000, - requiredDateEnd: 1553700600000, - teamID: 1 - }, - { - orderID: 10482, - orderDate: 1553119200000, - orderTotal: 147, - customerCompanyName: 'Lazy K Kountry Store', - customerContactName: 'John Steel', - requiredDateStart: 1555592400000, - requiredDateEnd: 1555596000000, - teamID: 1 - }, - { - orderID: 10486, - orderDate: 1553551200000, - orderTotal: 1272, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1556010000000, - requiredDateEnd: 1556013600000, - teamID: 1 - }, - { - orderID: 10508, - orderDate: 1555362000000, - orderTotal: 240, - customerCompanyName: 'Ottilies Käseladen', - customerContactName: 'Henriette Pfalzheim', - requiredDateStart: 1557824400000, - requiredDateEnd: 1557829800000, - teamID: 1 - }, - { - orderID: 10524, - orderDate: 1556658000000, - orderTotal: 3192.65, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1559131200000, - requiredDateEnd: 1559133000000, - teamID: 1 - }, - { - orderID: 10525, - orderDate: 1556744400000, - orderTotal: 818.4, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1559208600000, - requiredDateEnd: 1559210400000, - teamID: 1 - }, - { - orderID: 10537, - orderDate: 1557781200000, - orderTotal: 1823.8, - customerCompanyName: 'Richter Supermarkt', - customerContactName: 'Michael Holz', - requiredDateStart: 1559050200000, - requiredDateEnd: 1559052000000, - teamID: 1 - }, - { - orderID: 10542, - orderDate: 1558299600000, - orderTotal: 469.11, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1560765600000, - requiredDateEnd: 1560771000000, - teamID: 1 - }, - { - orderID: 10546, - orderDate: 1558558800000, - orderTotal: 2812, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1561028400000, - requiredDateEnd: 1561033800000, - teamID: 1 - }, - { - orderID: 10558, - orderDate: 1559595600000, - orderTotal: 2142.9, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1562063400000, - requiredDateEnd: 1562067000000, - teamID: 1 - }, - { - orderID: 10562, - orderDate: 1560027600000, - orderTotal: 488.7, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1562493600000, - requiredDateEnd: 1562497200000, - teamID: 1 - }, - { - orderID: 10567, - orderDate: 1560286800000, - orderTotal: 2519, - customerCompanyName: 'Hungry Owl All-Night Grocers', - customerContactName: 'Patricia McKenna', - requiredDateStart: 1562763600000, - requiredDateEnd: 1562765400000, - teamID: 1 - }, - { - orderID: 10579, - orderDate: 1561410000000, - orderTotal: 317.75, - customerCompanyName: `Let's Stop N Shop`, - customerContactName: 'Jaime Yorres', - requiredDateStart: 1563885000000, - requiredDateEnd: 1563886800000, - teamID: 1 - }, - { - orderID: 10587, - orderDate: 1562014800000, - orderTotal: 807.38, - customerCompanyName: 'Que Delícia', - customerContactName: 'Bernardo Batista', - requiredDateStart: 1564473600000, - requiredDateEnd: 1564475400000, - teamID: 1 - }, - { - orderID: 10591, - orderDate: 1562446800000, - orderTotal: 812.5, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1563710400000, - requiredDateEnd: 1563715800000, - teamID: 1 - }, - { - orderID: 10598, - orderDate: 1563051600000, - orderTotal: 2388.5, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1565514000000, - requiredDateEnd: 1565517600000, - teamID: 1 - }, - { - orderID: 10604, - orderDate: 1563397200000, - orderTotal: 230.85, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1565857800000, - requiredDateEnd: 1565863200000, - teamID: 1 - }, - { - orderID: 10605, - orderDate: 1563656400000, - orderTotal: 4109.7, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1566118800000, - requiredDateEnd: 1566120600000, - teamID: 1 - }, - { - orderID: 10612, - orderDate: 1564261200000, - orderTotal: 6375, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1566732600000, - requiredDateEnd: 1566738000000, - teamID: 1 - }, - { - orderID: 10616, - orderDate: 1564520400000, - orderTotal: 4807, - customerCompanyName: 'Great Lakes Food Market', - customerContactName: 'Howard Snyder', - requiredDateStart: 1566991800000, - requiredDateEnd: 1566997200000, - teamID: 1 - }, - { - orderID: 10618, - orderDate: 1564606800000, - orderTotal: 2697.5, - customerCompanyName: 'Mère Paillarde', - customerContactName: 'Jean Fresnière', - requiredDateStart: 1568293200000, - requiredDateEnd: 1568295000000, - teamID: 1 - }, - { - orderID: 10626, - orderDate: 1565470800000, - orderTotal: 1503.6, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1567949400000, - requiredDateEnd: 1567954800000, - teamID: 1 - }, - { - orderID: 10630, - orderDate: 1565643600000, - orderTotal: 903.6, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1568118600000, - requiredDateEnd: 1568124000000, - teamID: 1 - }, - { - orderID: 10653, - orderDate: 1567371600000, - orderTotal: 1083.15, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1569834000000, - requiredDateEnd: 1569835800000, - teamID: 1 - }, - { - orderID: 10655, - orderDate: 1567458000000, - orderTotal: 154.4, - customerCompanyName: 'Reggiani Caseifici', - customerContactName: 'Maurizio Moroni', - requiredDateStart: 1569916800000, - requiredDateEnd: 1569918600000, - teamID: 1 - }, - { - orderID: 10664, - orderDate: 1568062800000, - orderTotal: 1288.3875, - customerCompanyName: 'Furia Bacalhau e Frutos do Mar', - customerContactName: 'Lino Rodriguez', - requiredDateStart: 1570532400000, - requiredDateEnd: 1570537800000, - teamID: 1 - }, - { - orderID: 10665, - orderDate: 1568149200000, - orderTotal: 1295, - customerCompanyName: 'Lonesome Pine Restaurant', - customerContactName: 'Fran Wilson', - requiredDateStart: 1570609800000, - requiredDateEnd: 1570615200000, - teamID: 1 - }, - { - orderID: 10668, - orderDate: 1568494800000, - orderTotal: 625.275, - customerCompanyName: 'Die Wandernde Kuh', - customerContactName: 'Rita Müller', - requiredDateStart: 1570968000000, - requiredDateEnd: 1570969800000, - teamID: 1 - }, - { - orderID: 10671, - orderDate: 1568667600000, - orderTotal: 920.1, - customerCompanyName: 'France restauration', - customerContactName: 'Carine Schmitt', - requiredDateStart: 1571144400000, - requiredDateEnd: 1571146200000, - teamID: 1 - }, - { - orderID: 10677, - orderDate: 1569099600000, - orderTotal: 813.365, - customerCompanyName: 'Antonio Moreno Taquería', - customerContactName: 'Antonio Moreno', - requiredDateStart: 1571576400000, - requiredDateEnd: 1571581800000, - teamID: 1 - }, - { - orderID: 10680, - orderDate: 1569272400000, - orderTotal: 1261.875, - customerCompanyName: 'Old World Delicatessen', - customerContactName: 'Rene Phillips', - requiredDateStart: 1571742000000, - requiredDateEnd: 1571743800000, - teamID: 1 - }, - { - orderID: 10689, - orderDate: 1569877200000, - orderTotal: 472.5, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1572339600000, - requiredDateEnd: 1572343200000, - teamID: 1 - }, - { - orderID: 10690, - orderDate: 1569963600000, - orderTotal: 862.5, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1572436800000, - requiredDateEnd: 1572440400000, - teamID: 1 - }, - { - orderID: 10709, - orderDate: 1571259600000, - orderTotal: 3424, - customerCompanyName: 'Gourmet Lanchonetes', - customerContactName: 'André Fonseca', - requiredDateStart: 1573723800000, - requiredDateEnd: 1573727400000, - teamID: 1 - }, - { - orderID: 10710, - orderDate: 1571518800000, - orderTotal: 93.5, - customerCompanyName: 'Franchi S.p.A.', - customerContactName: 'Paolo Accorti', - requiredDateStart: 1573986600000, - requiredDateEnd: 1573990200000, - teamID: 1 - }, - { - orderID: 10713, - orderDate: 1571691600000, - orderTotal: 2827.9, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1574164800000, - requiredDateEnd: 1574170200000, - teamID: 1 - }, - { - orderID: 10717, - orderDate: 1571864400000, - orderTotal: 1270.75, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1574328600000, - requiredDateEnd: 1574330400000, - teamID: 1 - }, - { - orderID: 10718, - orderDate: 1572123600000, - orderTotal: 3463, - customerCompanyName: 'Königlich Essen', - customerContactName: 'Philip Cramer', - requiredDateStart: 1574587800000, - requiredDateEnd: 1574591400000, - teamID: 1 - }, - { - orderID: 10733, - orderDate: 1573077600000, - orderTotal: 1459, - customerCompanyName: 'Berglunds snabbköp', - customerContactName: 'Christina Berglund', - requiredDateStart: 1575552600000, - requiredDateEnd: 1575558000000, - teamID: 1 - }, - { - orderID: 10743, - orderDate: 1573941600000, - orderTotal: 319.2, - customerCompanyName: 'Around the Horn', - customerContactName: 'Thomas Hardy', - requiredDateStart: 1576400400000, - requiredDateEnd: 1576404000000, - teamID: 1 - }, - { - orderID: 10746, - orderDate: 1574114400000, - orderTotal: 2311.7, - customerCompanyName: 'Chop-suey Chinese', - customerContactName: 'Yang Wang', - requiredDateStart: 1576580400000, - requiredDateEnd: 1576584000000, - teamID: 1 - }, - { - orderID: 10773, - orderDate: 1576015200000, - orderTotal: 2030.4, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1578479400000, - requiredDateEnd: 1578483000000, - teamID: 1 - }, - { - orderID: 10776, - orderDate: 1576360800000, - orderTotal: 6635.275, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1578830400000, - requiredDateEnd: 1578834000000, - teamID: 1 - }, - { - orderID: 10785, - orderDate: 1576620000000, - orderTotal: 387.5, - customerCompanyName: 'GROSELLA-Restaurante', - customerContactName: 'Manuel Pereira', - requiredDateStart: 1579095000000, - requiredDateEnd: 1579100400000, - teamID: 1 - }, - { - orderID: 10788, - orderDate: 1576965600000, - orderTotal: 731.5, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1579444200000, - requiredDateEnd: 1579446000000, - teamID: 1 - }, - { - orderID: 10789, - orderDate: 1576965600000, - orderTotal: 3687, - customerCompanyName: 'Folies gourmandes', - customerContactName: 'Martine Rancé', - requiredDateStart: 1579426200000, - requiredDateEnd: 1579429800000, - teamID: 1 - }, - { - orderID: 10792, - orderDate: 1577052000000, - orderTotal: 399.85, - customerCompanyName: 'Wolski Zajazd', - customerContactName: 'Zbyszek Piestrzeniewicz', - requiredDateStart: 1579528800000, - requiredDateEnd: 1579532400000, - teamID: 1 - }, - { - orderID: 10800, - orderDate: 1577311200000, - orderTotal: 1468.935, - customerCompanyName: 'Seven Seas Imports', - customerContactName: 'Hari Kumar', - requiredDateStart: 1579780800000, - requiredDateEnd: 1579786200000, - teamID: 1 - }, - { - orderID: 10813, - orderDate: 1578175200000, - orderTotal: 602.4, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1580652000000, - requiredDateEnd: 1580657400000, - teamID: 1 - }, - { - orderID: 10821, - orderDate: 1578434400000, - orderTotal: 678, - customerCompanyName: 'Split Rail Beer & Ale', - customerContactName: 'Art Braunschweiger', - requiredDateStart: 1580900400000, - requiredDateEnd: 1580905800000, - teamID: 1 - }, - { - orderID: 10825, - orderDate: 1578520800000, - orderTotal: 1030.76, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1580992200000, - requiredDateEnd: 1580994000000, - teamID: 1 - }, - { - orderID: 10827, - orderDate: 1578780000000, - orderTotal: 843, - customerCompanyName: 'Bon app', - customerContactName: 'Laurence Lebihan', - requiredDateStart: 1580036400000, - requiredDateEnd: 1580041800000, - teamID: 1 - }, - { - orderID: 10834, - orderDate: 1579039200000, - orderTotal: 1432.714, - customerCompanyName: 'Tradição Hipermercados', - customerContactName: 'Anabela Domingues', - requiredDateStart: 1581514200000, - requiredDateEnd: 1581519600000, - teamID: 1 - }, - { - orderID: 10835, - orderDate: 1579039200000, - orderTotal: 845.8, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1581517800000, - requiredDateEnd: 1581521400000, - teamID: 1 - }, - { - orderID: 10842, - orderDate: 1579471200000, - orderTotal: 975, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1581942600000, - requiredDateEnd: 1581946200000, - teamID: 1 - }, - { - orderID: 10850, - orderDate: 1579730400000, - orderTotal: 629, - customerCompanyName: 'Victuailles en stock', - customerContactName: 'Mary Saveley', - requiredDateStart: 1583488800000, - requiredDateEnd: 1583494200000, - teamID: 1 - }, - { - orderID: 10859, - orderDate: 1580248800000, - orderTotal: 1078.6875, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1582722000000, - requiredDateEnd: 1582725600000, - teamID: 1 - }, - { - orderID: 10877, - orderDate: 1581199200000, - orderTotal: 1955.125, - customerCompanyName: 'Ricardo Adocicados', - customerContactName: 'Janete Limeira', - requiredDateStart: 1583744400000, - requiredDateEnd: 1583748000000, - teamID: 1 - }, - { - orderID: 10886, - orderDate: 1581544800000, - orderTotal: 3127.5, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1584106200000, - requiredDateEnd: 1584111600000, - teamID: 1 - }, - { - orderID: 10888, - orderDate: 1581804000000, - orderTotal: 605, - customerCompanyName: 'Godos Cocina Típica', - customerContactName: 'José Pedro Freyre', - requiredDateStart: 1584363600000, - requiredDateEnd: 1584365400000, - teamID: 1 - }, - { - orderID: 10894, - orderDate: 1581976800000, - orderTotal: 2753.1, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1584529200000, - requiredDateEnd: 1584534600000, - teamID: 1 - }, - { - orderID: 10900, - orderDate: 1582149600000, - orderTotal: 33.75, - customerCompanyName: 'Wellington Importadora', - customerContactName: 'Paula Parente', - requiredDateStart: 1584714600000, - requiredDateEnd: 1584720000000, - teamID: 1 - }, - { - orderID: 10902, - orderDate: 1582408800000, - orderTotal: 863.43, - customerCompanyName: 'Folk och fä HB', - customerContactName: 'Maria Larsson', - requiredDateStart: 1584957600000, - requiredDateEnd: 1584961200000, - teamID: 1 - }, - { - orderID: 10909, - orderDate: 1582668000000, - orderTotal: 670, - customerCompanyName: 'Santé Gourmet', - customerContactName: 'Jonas Bergulfsen', - requiredDateStart: 1585229400000, - requiredDateEnd: 1585231200000, - teamID: 1 - }, - { - orderID: 10910, - orderDate: 1582668000000, - orderTotal: 452.9, - customerCompanyName: 'Wilman Kala', - customerContactName: 'Matti Karttunen', - requiredDateStart: 1585220400000, - requiredDateEnd: 1585222200000, - teamID: 1 - }, - { - orderID: 10916, - orderDate: 1582754400000, - orderTotal: 686.7, - customerCompanyName: 'Rancho grande', - customerContactName: 'Sergio Gutiérrez', - requiredDateStart: 1585319400000, - requiredDateEnd: 1585323000000, - teamID: 1 - }, - { - orderID: 10921, - orderDate: 1583186400000, - orderTotal: 1936, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1586853000000, - requiredDateEnd: 1586858400000, - teamID: 1 - }, - { - orderID: 10928, - orderDate: 1583359200000, - orderTotal: 137.5, - customerCompanyName: 'Galería del gastrónomo', - customerContactName: 'Eduardo Saavedra', - requiredDateStart: 1585823400000, - requiredDateEnd: 1585825200000, - teamID: 1 - }, - { - orderID: 10946, - orderDate: 1583964000000, - orderTotal: 1407.5, - customerCompanyName: 'Vaffeljernet', - customerContactName: 'Palle Ibsen', - requiredDateStart: 1586422800000, - requiredDateEnd: 1586426400000, - teamID: 1 - }, - { - orderID: 10950, - orderDate: 1584309600000, - orderTotal: 110, - customerCompanyName: 'Magazzini Alimentari Riuniti', - customerContactName: 'Giovanni Rovelli', - requiredDateStart: 1586782800000, - requiredDateEnd: 1586788200000, - teamID: 1 - }, - { - orderID: 10952, - orderDate: 1584309600000, - orderTotal: 471.2, - customerCompanyName: 'Alfreds Futterkiste', - customerContactName: 'Maria Anders', - requiredDateStart: 1587985200000, - requiredDateEnd: 1587987000000, - teamID: 1 - }, - { - orderID: 10968, - orderDate: 1584914400000, - orderTotal: 1408, - customerCompanyName: 'Ernst Handel', - customerContactName: 'Roland Mendel', - requiredDateStart: 1587375000000, - requiredDateEnd: 1587380400000, - teamID: 1 - }, - { - orderID: 10969, - orderDate: 1584914400000, - orderTotal: 108, - customerCompanyName: 'Comércio Mineiro', - customerContactName: 'Pedro Afonso', - requiredDateStart: 1587375000000, - requiredDateEnd: 1587376800000, - teamID: 1 - }, - { - orderID: 10975, - orderDate: 1585087200000, - orderTotal: 717.5, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1587560400000, - requiredDateEnd: 1587564000000, - teamID: 1 - }, - { - orderID: 10976, - orderDate: 1585087200000, - orderTotal: 912, - customerCompanyName: 'HILARION-Abastos', - customerContactName: 'Carlos Hernández', - requiredDateStart: 1588757400000, - requiredDateEnd: 1588759200000, - teamID: 1 - }, - { - orderID: 10981, - orderDate: 1585260000000, - orderTotal: 15810, - customerCompanyName: 'Hanari Carnes', - customerContactName: 'Mario Pontes', - requiredDateStart: 1587735000000, - requiredDateEnd: 1587736800000, - teamID: 1 - }, - { - orderID: 10984, - orderDate: 1585515600000, - orderTotal: 1809.75, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1587974400000, - requiredDateEnd: 1587976200000, - teamID: 1 - }, - { - orderID: 10991, - orderDate: 1585688400000, - orderTotal: 2296, - customerCompanyName: 'QUICK-Stop', - customerContactName: 'Horst Kloss', - requiredDateStart: 1588147200000, - requiredDateEnd: 1588150800000, - teamID: 1 - }, - { - orderID: 10992, - orderDate: 1585688400000, - orderTotal: 69.6, - customerCompanyName: 'The Big Cheese', - customerContactName: 'Liz Nixon', - requiredDateStart: 1588163400000, - requiredDateEnd: 1588165200000, - teamID: 1 - }, - { - orderID: 10995, - orderDate: 1585774800000, - orderTotal: 1196, - customerCompanyName: 'Pericles Comidas clásicas', - customerContactName: 'Guillermo Fernández', - requiredDateStart: 1588248000000, - requiredDateEnd: 1588249800000, - teamID: 1 - }, - { - orderID: 11012, - orderDate: 1586379600000, - orderTotal: 2825.3, - customerCompanyName: 'Frankenversand', - customerContactName: 'Peter Franken', - requiredDateStart: 1587646800000, - requiredDateEnd: 1587652200000, - teamID: 1 - }, - { - orderID: 11023, - orderDate: 1586811600000, - orderTotal: 1500, - customerCompanyName: `B's Beverages`, - customerContactName: 'Victoria Ashworth', - requiredDateStart: 1588073400000, - requiredDateEnd: 1588075200000, - teamID: 1 - }, - { - orderID: 11027, - orderDate: 1586984400000, - orderTotal: 877.725, - customerCompanyName: 'Bottom-Dollar Markets', - customerContactName: 'Elizabeth Lincoln', - requiredDateStart: 1589455800000, - requiredDateEnd: 1589461200000, - teamID: 1 - }, - { - orderID: 11038, - orderDate: 1587416400000, - orderTotal: 732.6, - customerCompanyName: 'Suprêmes délices', - customerContactName: 'Pascale Cartrain', - requiredDateStart: 1589893200000, - requiredDateEnd: 1589896800000, - teamID: 1 - }, - { - orderID: 11039, - orderDate: 1587416400000, - orderTotal: 3090, - customerCompanyName: 'LINO-Delicateses', - customerContactName: 'Felipe Izquierdo', - requiredDateStart: 1589880600000, - requiredDateEnd: 1589882400000, - teamID: 1 - }, - { - orderID: 11064, - orderDate: 1588280400000, - orderTotal: 4330.4, - customerCompanyName: 'Save-a-lot Markets', - customerContactName: 'Jose Pavarotti', - requiredDateStart: 1590750000000, - requiredDateEnd: 1590751800000, - teamID: 1 - }, - { - orderID: 11067, - orderDate: 1588539600000, - orderTotal: 86.85, - customerCompanyName: 'Drachenblut Delikatessen', - customerContactName: 'Sven Ottlieb', - requiredDateStart: 1589797800000, - requiredDateEnd: 1589799600000, - teamID: 1 - }, - { - orderID: 11069, - orderDate: 1588539600000, - orderTotal: 360, - customerCompanyName: 'Tortuga Restaurante', - customerContactName: 'Miguel Angel Paolino', - requiredDateStart: 1591005600000, - requiredDateEnd: 1591009200000, - teamID: 1 - }, - { - orderID: 11071, - orderDate: 1588626000000, - orderTotal: 484.5, - customerCompanyName: 'LILA-Supermercado', - customerContactName: 'Carlos González', - requiredDateStart: 1591095600000, - requiredDateEnd: 1591097400000, - teamID: 1 - }, - { - orderID: 11077, - orderDate: 1588712400000, - orderTotal: 1255.7205, - customerCompanyName: 'Rattlesnake Canyon Grocery', - customerContactName: 'Paula Wilson', - requiredDateStart: 1591189200000, - requiredDateEnd: 1591194600000, - teamID: 1 - } -].map((order) => ({ - ...order, - // parse dates - orderDate: new Date(order.orderDate), - requiredDateStart: new Date(order.requiredDateStart), - requiredDateEnd: new Date(order.requiredDateEnd) -})); diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/styles/app.scss b/examples-standalone/vite-coffee-warehouse/src/assets/styles/app.scss deleted file mode 100644 index 6924fdd2..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/styles/app.scss +++ /dev/null @@ -1,262 +0,0 @@ -@import "./variables.scss"; -@import "./common.scss"; -@import './typography.scss'; - -@import "@progress/kendo-font-icons/dist/index.css"; - -$grid-columns: 12; -$grid-gutter-width: 48px; -$grid-column-width: 48px; - -$grid-breakpoints: ( - xs: 0, - sm: 576px, - md: 768px, - lg: 992px, - xl: 1200px -); - -$container-max-widths: ( - sm: 540px, - md: 720px, - lg: 960px, - xl: 1140px -); - -// @import "~bootstrap/scss/grid"; - - -.app-header>.project-name{ - text-align: left; - letter-spacing: 0; - color: #000000; - opacity: 1; - } - - .app-header>.nav{ - float: righnpmt; - } - - .content { - min-height: 100vh; - } - - .logo { - font-weight: 700; - font-size: 24px; - } - - .welcome { - text-align: center; - font-weight: 900; - letter-spacing: 0; - color: #000000; - opacity: 1; - } - - .sub-header { - text-align: center; - font-weight: 400; - letter-spacing: 0; - color: #919191; - opacity: 1; - margin-bottom: 4rem; - } - - .get-started { - text-align: center; - font-weight: 900; - font-size: 78px; - letter-spacing: 0; - color: #000000; - opacity: 1; - margin-bottom: 1rem; - } - - .kendoka { - width: 12.5rem; - height: 12.5rem; - opacity: 1; - } - - .change-theme { - font-size: 14px; - color: #9098A5; - } - - .components-list>p>a { - margin-left: 0.6em; - } - .components-list>p>img { - width: 1.25rem; - height: 1.3125rem; - } - - .divider { - margin-left: 0.4rem; - margin-right: 0.4rem; - opacity: 0.2; - } - - .copyright{ - letter-spacing: 0.33px; - color: #FFFFFF; - opacity: 0.6; - } - - .k-widget.k-menu { - height: 100%; - } - - .social img { - margin-left: 3rem; - } - - // Header -.header-bg { - background-image: url('./assets/images/header-bg.png'); -} - -.header { - height: 80px; - position: sticky; - top: 0; - z-index: 3; - - .nav-container { - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-between; - height: 100%; - color: $white; - } - - .menu-button { - flex: 0 0 50px; - text-align: center; - } - - .hamburger-icon { - background-image: url('./assets/images/hamburger-icon.svg'); - background-repeat: no-repeat; - width: 20px; - cursor: pointer; - } - - .title { - display: flex; - flex: 1 0 auto; - flex-direction: column; - align-items: flex-start; - margin-left: 25px; - color: #ffffff; - - h1, - h2 { - font-size: 1.75rem; - font-weight: 400; - } - } - - .k-avatar { - display: block; - width: 40px; - height: 40px; - flex-basis: 40px; - margin: 0 25px; - box-shadow: 0 0 0px 1px $white; - } - - .settings { - display: none; - } -} - -@media (min-width: 480px) { - .header { - .title { - flex-direction: row; - align-items: center; - } - .vl { - border-left: 1px solid $white; - height: 25px; - margin: 6px 15px; - } - } -} - -@media (min-width: 768px) { - .header { - .settings { - display: flex; - flex: 0 0 auto; - align-items: center; - } - - .k-dropdown { - max-width: 90px; - margin-left: 15px; - } - } -} - -.header { - .title { - flex-direction: row; - align-items: center; - } - .vl { - border-left: 1px solid $white; - height: 25px; - margin: 6px 15px; - } -} - -.k-menu-vertical > .k-menu-item.k-state-selected.material > .k-menu-link { - color: #ff4081;; -} - -.k-menu-vertical > .k-menu-item.material > .k-menu-link { - color: rgba(0, 0, 0, 0.87); -} - -.k-menu-vertical > .k-menu-item.k-state-selected.bootstrap > .k-menu-link { - color: #ffffff; -} -.k-menu-vertical > .k-menu-item.k-state-selected.bootstrap { - background-color: #0071eb; -} -.k-menu-vertical > .k-menu-item.bootstrap > .k-menu-link { - color: #212529; -} - -.k-menu-vertical > .k-menu-item.k-state-selected.default > .k-menu-link { - color: #ffffff; -} -.k-menu-vertical > .k-menu-item.k-state-selected.default { - background-color: #ff6358; -} -.k-menu-vertical > .k-menu-item.default > .k-menu-link { - color: #424242; -} - -.k-widget.k-dropdown.localeDropDownList, .k-widget.k-dropdown.ddl-theme{ - background-color: #f5f5f5; - border-radius: 2px; -} - - -.k-menu.k-menu-vertical:not(.k-context-menu){ - padding:0; -} -.k-picker.ddl-theme { - width: 60px; - min-width: 60px; -} - -.k-dropdownlist.localeDropDownList { - min-width: 100px; - margin: 10px; -} \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/styles/common.scss b/examples-standalone/vite-coffee-warehouse/src/assets/styles/common.scss deleted file mode 100644 index d1d48637..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/styles/common.scss +++ /dev/null @@ -1,555 +0,0 @@ -// Normalization -body, -h1, -h2, -h3 { - margin: 0; - padding: 0; -} - -a { - text-decoration: none; -} - -// App styles -.k-drawer-container { - background-color: $background-color; - min-height: 100%; - - .k-drawer { - box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - - &.k-drawer-start { - border-right-width: 0; - } - } - - &.k-drawer-push .k-drawer { - position: sticky; - top: 80px; - height: calc(100vh - 80px); - } - - .k-drawer-item { - user-select: none; - } - - .k-drawer-content { - overflow: hidden; - } -} - -.card-container { - min-height: 100%; - background-color: $white; - padding: 40px 0; - text-align: center; - - .card-header-wrapper { - display: flex; - justify-content: space-between; - margin-bottom: 1rem; - } - - &.grid { - display: grid; - grid-template-columns: repeat(1, 1fr); - column-gap: 10px; - row-gap: 1em; - } - - .card-buttons { - .k-button { - min-width: 105px; - } - } - - .card-ranges .k-dateinput { - width: 105px; - } - - .chart-tooltip { - text-align: center; - font-size: 15px; - font-weight: bold; - } - - .card-ranges .k-i-calendar { - color: #656565; - cursor: pointer; - margin-right: 5px; - } - - .card-ranges { - white-space: nowrap; - - .k-daterangepicker { - .k-textbox-container, - .k-floating-label-container { - padding-top: 0; - min-width: 105px; - } - - .k-label { - display: none; - } - } - } - - .card-component { - grid-column: 1 / -1; - overflow: hidden; - } -} - -@media (min-width: 480px) { - .content-wrapper > .column.menu{ - display: none; - } - .card-container { - text-align: initial; - padding: 30px; - - &.grid { - grid-template-columns: repeat(2, 1fr); - } - - .card-title { - grid-column: 1 / 2; - grid-row: 1; - } - - .card-buttons { - text-align: center; - grid-column: 1 / -1; - grid-row: 2; - } - - .card-ranges { - text-align: right; - grid-column: 2 / 3; - grid-row: 1; - } - } -} - -@media (min-width: 768px) { - .content-wrapper > .column.menu{ - display: inherit; - } - .card-container { - margin: 25px; - border-radius: 5px; - box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - - &.grid { - grid-template-columns: repeat(3, 1fr); - } - - .card-buttons { - text-align: center; - } - - .card-ranges { - text-align: right; - grid-column: 3 / 4; - } - - .card-component { - grid-column-start: 1; - grid-column-end: -1; - } - } -} - -@media (min-width: 900px) { - .card-container { - .card-buttons { - text-align: center; - grid-column: 2 / 3; - grid-row: 1; - } - } -} - -@media (max-width: 900px) { - .card-header-wrapper { - flex-direction: column; - - .card-buttons, - .card-ranges { - margin-top: 1rem; - text-align: left; - } - } -} - -// Dashboard page -.dashboard-page { - .k-grid-toolbar .k-textbox { - margin-bottom: 10px; - } -} - -@media (min-width: 480px) { - .dashboard-page { - .k-grid-toolbar .k-textbox { - margin-bottom: 0; - float: left; - } - - .k-grid-toolbar .k-button { - float: right; - } - } -} - -@media (min-width: 768px) { - .dashboard-page { - .card-container:last-of-type { - padding-top: 30px; - } - } -} -// Planning page -.planning-page { - .card-container, - .personal-card { - grid-template-columns: repeat(1, 1fr); - } - - .personal-card { - display: grid; - grid-template-columns: repeat(1, 1fr); - grid-row-gap: 1em; - row-gap: 1em; - } - - .k-card-header { - padding-left: 10px; - padding-right: 10px; - } - - .card-title { - grid-column: 1 / -1; - } - .k-hbox { - padding: 0 20px; - background: transparent; - align-items: center; - } - .k-card-title { - font-size: 15px; - margin-bottom: -6px; - text-align: left; - } - .k-card-subtitle { - margin-top: 0; - text-transform: uppercase; - font-size: 11px; - } - .disabled { - opacity: 0.5; - } -} - -@media (min-width: 480px) { - .planning-page { - .card-container, - .personal-card { - grid-template-columns: repeat(2, 1fr); - } - - .k-hbox { - padding-left: 0; - } - } -} - -@media (min-width: 768px) { - .planning-page { - .k-hbox { - border-width: 0; - } - } -} - -@media (min-width: 960px) { - .planning-page { - .card-container { - grid-template-columns: repeat(3, 1fr); - } - - .personal-card { - grid-template-columns: repeat(2, 1fr); - } - } -} - -@media (min-width: 1130px) { - .planning-page { - .personal-card { - grid-template-columns: repeat(3, 1fr); - } - } -} - -@media (min-width: 1360px) { - .planning-page { - .card-container { - grid-template-columns: repeat(5, 1fr); - } - } -} - -@media (min-width: 1770px) { - .planning-page { - .personal-card { - grid-template-columns: repeat(5, 1fr); - } - } -} - -// Profile page -.profile-page { - .card-container { - text-align: left; - } - - .k-form .k-form-field { - display: block; - padding: 0 15px; - margin-top: 1.5rem; - } - - .k-form .k-label { - text-align: right; - } - - .k-form-field:first-of-type .k-form-field-wrap { - margin: auto; - } - - .k-form-field:first-of-type .k-avatar { - margin: 0 auto 1rem; - } - - hr { - margin-top: 2rem; - opacity: 0.2; - } - - .k-form .k-form-buttons { - justify-content: center; - - & > * { - min-width: 140px; - } - } -} - -@media (min-width: 480px) { - .profile-page { - .k-form .k-form-field { - display: flex; - } - - .k-form-field:first-of-type .k-avatar { - margin: 0; - } - } -} - -@media (min-width: 768px) { - .profile-page { - .k-form { - margin: 0 auto; - padding: 0; - } - .k-form .k-form-field { - padding: 0; - } - } -} - -// Info page -.info-page { - background-color: #06163e; - background-image: url('./assets/images/info-bg.png'); - background-position: right 0px top 0px; - color: $white; - background-repeat: no-repeat; - opacity: 0.9; - - h1, - h2, - h3, - .component-link { - font-family: Metric, Helvetica, Arial, sans-serif; - } - a:not(.k-button) { - color: $link-color; - } - - .content { - padding-top: 40px; - margin: 0 auto; - position: relative; - background-image: url('./assets/images/info-bg-line.png'); - background-repeat: repeat-y; - } - - .section-1 { - text-align: center; - h1 { - font-size: 48px; - font-weight: bold; - } - - h2 { - font-size: 30px; - margin-bottom: 53px; - } - - .button-group { - margin-bottom: 30px; - - .k-button { - display: block; - margin: 10px auto; - min-width: 145px; - width: 60%; - } - } - - .github-link { - display: inline-flex; - flex-direction: row; - align-items: center; - align-content: center; - - .github-text { - margin-left: 15px; - } - } - } - - .section-2 { - text-align: center; - margin-top: 40px; - padding: 0 15px; - } - - .section-3 { - column-count: 2; - margin-top: 40px; - padding: 0 15px; - text-align: center; - - ul { - list-style: none; - padding: 0; - margin: 0; - } - } - - .package-item { - display: inline-block; - margin-top: 20px; - } - - .package-title a { - font-size: 17px; - color: #cccccc; - text-transform: uppercase; - } - - .component-link { - padding: 5px 0; - - a { - font-size: 20px; - } - } - - .footer { - background-image: url('./assets/images/info-waves.svg'); - background-repeat: no-repeat; - height: 320px; - background-size: cover; - } -} - -@media (min-width: 480px) { - .info-page { - .content { - padding: 40px 40px 40px; - } - - .section-1 { - h1 { - font-size: 71px; - } - - h2 { - font-size: 38px; - } - - .button-group { - .k-button { - display: inline-block; - margin-right: 10px; - width: auto; - } - } - } - } -} - -@media (min-width: 992px) { - .info-page { - .section-3 { - column-count: 3; - } - } -} - -@media (min-width: 1370px) { - .info-page { - .content { - padding: 120px 40px 0; - } - .section-1, - .section-2 { - text-align: left; - padding: 0; - } - .section-3 { - text-align: left; - column-count: 4; - padding: 0; - } - } -} - -// IE11 Adjustments -@media all and (-ms-high-contrast: none) { - .k-drawer-container { - &.k-drawer-push .k-drawer { - position: static; - height: auto; - } - } - - .planning-page { - .card-title { - margin-bottom: 1rem; - text-align: left; - } - - .personal-card { - display: block; - margin-bottom: 1rem; - } - } -} \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/styles/fonts/Roboto-Regular.ttf b/examples-standalone/vite-coffee-warehouse/src/assets/styles/fonts/Roboto-Regular.ttf deleted file mode 100644 index 2b6392ff..00000000 Binary files a/examples-standalone/vite-coffee-warehouse/src/assets/styles/fonts/Roboto-Regular.ttf and /dev/null differ diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/styles/typography.scss b/examples-standalone/vite-coffee-warehouse/src/assets/styles/typography.scss deleted file mode 100644 index 9e5b1e7c..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/styles/typography.scss +++ /dev/null @@ -1,54 +0,0 @@ -@font-face { - font-family: "Roboto"; - src: url("./assets/styles/fonts/Roboto-Regular.ttf") format("truetype"); -} -body { - font-family: "Roboto", sans-serif; -} - -h1 { - font-size: 1.25rem; - font-weight: 400; -} -h2 { - font-size: 1.0rem;; - font-weight: 200; -} -h3 { - font-size: 1.25rem; - font-weight: 400; -} -h4 { - font-size: 1.25rem; -} -h5 { - font-size: 1.25rem; -} -p { - font-size: 1rem; -} -a { - font-size: 1rem; -} - -@media (min-width: 480px) { - h1 { - font-size: 1.5rem; - font-weight: 400; - } - h2 { - font-size: 1.25rem;; - font-weight: 200; - } -} - -@media (min-width: 768px) { - h1 { - font-size: 1.75rem; - font-weight: 400; - } - h2 { - font-size: 1.75rem;; - font-weight: 200; - } -} \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/styles/variables.scss b/examples-standalone/vite-coffee-warehouse/src/assets/styles/variables.scss deleted file mode 100644 index 9ccf7513..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/styles/variables.scss +++ /dev/null @@ -1,9 +0,0 @@ -// Global variables here -$background-color: #D4D6E4; -$info-background: #151950; -$link-color: #71A6FF; -$white: #FFFFFF; -$tiger-team: #FF6358; -$lemon-team: #FFD246; -$organic-team: #55AB1D; -$ocean-team: #28B4C8; \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/assets/validators.js b/examples-standalone/vite-coffee-warehouse/src/assets/validators.js deleted file mode 100644 index 1754b701..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/assets/validators.js +++ /dev/null @@ -1,89 +0,0 @@ -import { getter } from '@progress/kendo-vue-common'; - -const emailRegex = new RegExp(/\S+@\S+\.\S+/); -const phoneRegex = new RegExp(/^[0-9 ()+-]+$/); -const ccardRegex = new RegExp(/^[0-9-]+$/); -const cvcRegex = new RegExp(/^[0-9]+$/); - -export const termsValidator = value => - value ? '' : "It's required to agree with Terms and Conditions."; -export const emailValidator = value => - !value - ? 'Error: Email field is required.' - : emailRegex.test(value) - ? '' - : 'Email is not in a valid format.'; -export const firstNameValidator = value => { - return !value - ? 'Error: First Name is required' - : value.length < 2 - ? 'First Name should be at least 2 characters long.' - : ''; -} -export const lastNameValidator = value => - !value - ? 'Error: Last Name is required' - : value.length < 2 - ? 'Last Name should be at least 2 characters long.' - : ''; -export const userNameValidator = value => - !value - ? 'User Name is required' - : value.length < 5 - ? 'User name should be at least 5 characters long.' - : ''; -export const phoneValidator = value => - !value - ? 'Phone number is required.' - : phoneRegex.test(value) - ? '' - : 'Not a valid phone number.'; -export const cardValidator = value => - !value - ? 'Credit card number is required. ' - : ccardRegex.test(value) - ? '' - : 'Not a valid credit card number format.'; -export const cvcValidator = value => - !value - ? 'CVC code is required,' - : cvcRegex.test(value) || value.length !== 3 - ? '' - : 'Not a valid CVC code format.'; -export const guestsValidator = value => - !value - ? 'Number of guests is required' - : value <= 5 - ? '' - : 'Maximum 5 guests'; -export const nightsValidator = value => - value ? '' : 'Number of Nights is required.'; -export const arrivalDateValidator = value => - value ? '' : 'Arrival Date is required.'; -export const colorValidator = value => (value ? '' : 'Color is required.'); -export const requiredValidator = value => - value ? '' : 'Error: This field is required.'; -export const passwordValidator = value => - value && value.length > 8 ? '' : 'Password must be at least 8 symbols.'; -export const addressValidator = value => (value ? '' : 'Address is required.'); - -const userNameGetter = getter('username'); -const emailGetter = getter('email'); - -export const formValidator = values => { - const userName = userNameGetter(values); - const emailValue = emailGetter(values); - - if (userName && emailValue && emailRegex.test(emailValue)) { - return {}; - } - - return { - VALIDATION_SUMMARY: 'Please fill in the following fields.', - ['username']: !userName ? 'User Name is required.' : '', - ['email']: - emailValue && emailRegex.test(emailValue) - ? '' - : 'Email is required and should be in a valid format.' - }; -}; diff --git a/examples-standalone/vite-coffee-warehouse/src/common/sample-products.js b/examples-standalone/vite-coffee-warehouse/src/common/sample-products.js deleted file mode 100644 index 73ef9e3d..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/common/sample-products.js +++ /dev/null @@ -1,182 +0,0 @@ -export const sampleProducts = [ - { - "ProductID": 1, - "ProductName": "Chai", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "10 boxes x 20 bags", - "UnitPrice": 18, - "UnitsInStock": 39, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - }, - "FirstOrderedOn": new Date(1996, 8, 20) - }, - { - "ProductID": 2, - "ProductName": "Chang", - "SupplierID": 1, - "CategoryID": 1, - "QuantityPerUnit": "24 - 12 oz bottles", - "UnitPrice": 19, - "UnitsInStock": 17, - "UnitsOnOrder": 40, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 1, - "CategoryName": "Beverages", - "Description": "Soft drinks, coffees, teas, beers, and ales" - }, - "FirstOrderedOn": new Date(1996, 7, 12) - }, - { - "ProductID": 3, - "ProductName": "Aniseed Syrup", - "SupplierID": 1, - "CategoryID": 2, - "QuantityPerUnit": "12 - 550 ml bottles", - "UnitPrice": 10, - "UnitsInStock": 13, - "UnitsOnOrder": 70, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 8, 26) - }, - { - "ProductID": 4, - "ProductName": "Chef Anton's Cajun Seasoning", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "48 - 6 oz jars", - "UnitPrice": 22, - "UnitsInStock": 53, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 9, 19) - }, - { - "ProductID": 5, - "ProductName": "Chef Anton's Gumbo Mix", - "SupplierID": 2, - "CategoryID": 2, - "QuantityPerUnit": "36 boxes", - "UnitPrice": 21.35, - "UnitsInStock": 0, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 7, 17) - }, - { - "ProductID": 6, - "ProductName": "Grandma's Boysenberry Spread", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 8 oz jars", - "UnitPrice": 25, - "UnitsInStock": 120, - "UnitsOnOrder": 0, - "ReorderLevel": 25, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 9, 19) - }, - { - "ProductID": 7, - "ProductName": "Uncle Bob's Organic Dried Pears", - "SupplierID": 3, - "CategoryID": 7, - "QuantityPerUnit": "12 - 1 lb pkgs.", - "UnitPrice": 30, - "UnitsInStock": 15, - "UnitsOnOrder": 0, - "ReorderLevel": 10, - "Discontinued": false, - "Category": { - "CategoryID": 7, - "CategoryName": "Produce", - "Description": "Dried fruit and bean curd" - }, - "FirstOrderedOn": new Date(1996, 7, 22) - }, - { - "ProductID": 8, - "ProductName": "Northwoods Cranberry Sauce", - "SupplierID": 3, - "CategoryID": 2, - "QuantityPerUnit": "12 - 12 oz jars", - "UnitPrice": 40, - "UnitsInStock": 6, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 2, - "CategoryName": "Condiments", - "Description": "Sweet and savory sauces, relishes, spreads, and seasonings" - }, - "FirstOrderedOn": new Date(1996, 11, 1) - }, - { - "ProductID": 9, - "ProductName": "Mishi Kobe Niku", - "SupplierID": 4, - "CategoryID": 6, - "QuantityPerUnit": "18 - 500 g pkgs.", - "UnitPrice": 97, - "UnitsInStock": 29, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": true, - "Category": { - "CategoryID": 6, - "CategoryName": "Meat/Poultry", - "Description": "Prepared meats" - }, - "FirstOrderedOn": new Date(1997, 1, 21) - }, - { - "ProductID": 10, - "ProductName": "Ikura", - "SupplierID": 4, - "CategoryID": 8, - "QuantityPerUnit": "12 - 200 ml jars", - "UnitPrice": 31, - "UnitsInStock": 31, - "UnitsOnOrder": 0, - "ReorderLevel": 0, - "Discontinued": false, - "Category": { - "CategoryID": 8, - "CategoryName": "Seafood", - "Description": "Seaweed and fish" - }, - "FirstOrderedOn": new Date(1996, 8, 5) - } -]; \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/components/Dashboard.vue b/examples-standalone/vite-coffee-warehouse/src/components/Dashboard.vue deleted file mode 100644 index 5466729f..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/Dashboard.vue +++ /dev/null @@ -1,303 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/BudgetComponent.vue b/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/BudgetComponent.vue deleted file mode 100644 index 865b74a3..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/BudgetComponent.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - diff --git a/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/ContactNameComponent.vue b/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/ContactNameComponent.vue deleted file mode 100644 index 010cf60f..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/ContactNameComponent.vue +++ /dev/null @@ -1,24 +0,0 @@ - - - diff --git a/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/EngagementComponent.vue b/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/EngagementComponent.vue deleted file mode 100644 index b485d1f0..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/EngagementComponent.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - diff --git a/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/FlagComponent.vue b/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/FlagComponent.vue deleted file mode 100644 index f92eac3a..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/FlagComponent.vue +++ /dev/null @@ -1,21 +0,0 @@ - - - diff --git a/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/IsOnlineComponent.vue b/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/IsOnlineComponent.vue deleted file mode 100644 index 715c4ff8..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/GridComponents/IsOnlineComponent.vue +++ /dev/null @@ -1,18 +0,0 @@ - - - diff --git a/examples-standalone/vite-coffee-warehouse/src/components/Header.vue b/examples-standalone/vite-coffee-warehouse/src/components/Header.vue deleted file mode 100644 index 25c3c008..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/Header.vue +++ /dev/null @@ -1,127 +0,0 @@ - - - - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/components/Info.vue b/examples-standalone/vite-coffee-warehouse/src/components/Info.vue deleted file mode 100644 index 6f93b284..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/Info.vue +++ /dev/null @@ -1,338 +0,0 @@ - - - - - diff --git a/examples-standalone/vite-coffee-warehouse/src/components/MenuNavContainer.vue b/examples-standalone/vite-coffee-warehouse/src/components/MenuNavContainer.vue deleted file mode 100644 index 0af01337..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/MenuNavContainer.vue +++ /dev/null @@ -1,154 +0,0 @@ - - - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/components/Profile.vue b/examples-standalone/vite-coffee-warehouse/src/components/Profile.vue deleted file mode 100644 index 424aea85..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/Profile.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormAutoComplete.vue b/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormAutoComplete.vue deleted file mode 100644 index 224cc3eb..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormAutoComplete.vue +++ /dev/null @@ -1,80 +0,0 @@ - - diff --git a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormContent.vue b/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormContent.vue deleted file mode 100644 index 84599bd5..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormContent.vue +++ /dev/null @@ -1,254 +0,0 @@ - - - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormInput.vue b/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormInput.vue deleted file mode 100644 index f1be1812..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormInput.vue +++ /dev/null @@ -1,88 +0,0 @@ - - diff --git a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormMaskedTextBox.vue b/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormMaskedTextBox.vue deleted file mode 100644 index e24fe79f..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormMaskedTextBox.vue +++ /dev/null @@ -1,82 +0,0 @@ - - diff --git a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormRadioGroup.vue b/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormRadioGroup.vue deleted file mode 100644 index d4d0a0c9..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormRadioGroup.vue +++ /dev/null @@ -1,98 +0,0 @@ - - diff --git a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormTextArea.vue b/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormTextArea.vue deleted file mode 100644 index 764b0f21..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormTextArea.vue +++ /dev/null @@ -1,80 +0,0 @@ - - diff --git a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormUpload.vue b/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormUpload.vue deleted file mode 100644 index 18560e4c..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/ProfileComponents/FormUpload.vue +++ /dev/null @@ -1,106 +0,0 @@ - - - - \ No newline at end of file diff --git a/examples-standalone/vite-coffee-warehouse/src/components/Team.vue b/examples-standalone/vite-coffee-warehouse/src/components/Team.vue deleted file mode 100644 index 94f181b7..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/components/Team.vue +++ /dev/null @@ -1,480 +0,0 @@ - - - - - diff --git a/examples-standalone/vite-coffee-warehouse/src/main.js b/examples-standalone/vite-coffee-warehouse/src/main.js deleted file mode 100644 index 0d53d442..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/main.js +++ /dev/null @@ -1,9 +0,0 @@ -import { createApp } from 'vue' -// Import our custom CSS -import './assets/styles/app.scss' - -import router from "./index.js"; - -import App from './App.vue' - -createApp(App).use(router).mount('#app') diff --git a/examples-standalone/vite-coffee-warehouse/src/messages/en-US.js b/examples-standalone/vite-coffee-warehouse/src/messages/en-US.js deleted file mode 100644 index e74d88e7..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/messages/en-US.js +++ /dev/null @@ -1,291 +0,0 @@ -// Custom Messages -export const enCustomMessages = { - teamEfficiency: 'Team Efficiency', - teamMembers: 'Team Members', - dashboard: 'Dashboard', - planning: 'Planning', - profile: 'Profile', - info: 'Info', - language: 'Language', - trend: 'Trend', - volume: 'Volume', - myTeam: 'My Team', - allTeams: 'All Teams', - teamCalendar: 'Team Calendar', - saveChanges: 'Save Changes', - cancel: 'Cancel', - warehouse: 'Coffee Warehouse', - startFreeTrial: 'Start Free Trial', - buyNow: 'Buy Now', - getSource: 'Get the source code on GitHub', - demoInfo: 'This demo application is built using the following Kendo UI for Vue components.', - firstName: 'First Name', - middleName: 'Middle Name', - lastName: 'Last Name', - email: 'Email Address', - phoneNumber: 'Phone Number', - country: 'Country', - biography: 'Short Biography', - public: 'Include in public directory', - team: 'Team', - employee: 'Employee', - contactName: 'Contact Name', - jobTitle: 'Job Title', - status: 'Status', - performance: 'Performance', - rating: 'Rating', - engagement: 'Engagement', - budget: 'Budget', - contacts: 'Contacts', - address: 'Address', - phone: 'Phone', - gridSearch: 'Search in all columns...', - exportExcel: 'Export to Excel', - exportPdf: 'Export to PDF' -}; - -// Kendo Component Messages -export const enComponentMessages = { - // Grid - 'kendo.grid.groupPanelEmpty': 'Drag a column header and drop it here to group by that column', - 'kendo.grid.noRecords': 'No records available.', - 'kendo.grid.pagerFirstPage': 'Go to the first page', - 'kendo.grid.pagerPreviousPage': 'Go to the previous page', - 'kendo.grid.pagerNextPage': 'Go to the next page', - 'kendo.grid.pagerLastPage': 'Go to the last page', - 'kendo.grid.pagerPage': 'Page', - 'kendo.grid.pagerOf': 'of', - 'kendo.grid.pagerItems': 'items', - 'kendo.grid.pagerItemsPerPage': 'items per page', - 'kendo.grid.pagerPageNumberInputTitle': 'Page Number', - 'kendo.grid.filter': 'Filter', - 'kendo.grid.filterEqOperator': 'Is equal to', - 'kendo.grid.filterNotEqOperator': 'Is not equal to', - 'kendo.grid.filterIsNullOperator': 'Is null', - 'kendo.grid.filterIsNotNullOperator': 'Is not null', - 'kendo.grid.filterIsEmptyOperator': 'Is empty', - 'kendo.grid.filterIsNotEmptyOperator': 'Is not empty', - 'kendo.grid.filterStartsWithOperator': 'Starts with', - 'kendo.grid.filterContainsOperator': 'Contains', - 'kendo.grid.filterNotContainsOperator': 'Does not contain', - 'kendo.grid.filterEndsWithOperator': 'Ends with', - 'kendo.grid.filterGteOperator': 'Is greater than or equal to', - 'kendo.grid.filterGtOperator': 'Is greater than', - 'kendo.grid.filterLteOperator': 'Is less than or equal to', - 'kendo.grid.filterLtOperator': 'Is less than', - 'kendo.grid.filterIsTrue': 'is true', - 'kendo.grid.filterIsFalse': 'is false', - 'kendo.grid.filterBooleanAll': '(All)', - 'kendo.grid.filterAfterOrEqualOperator': 'Is after or equal to', - 'kendo.grid.filterAfterOperator': 'Is after', - 'kendo.grid.filterBeforeOperator': 'Is before', - 'kendo.grid.filterBeforeOrEqualOperator': 'Is before or equal to', - 'kendo.grid.filterFilterButton': 'Filter', - 'kendo.grid.filterClearButton': 'Clear', - 'kendo.grid.filterAndLogic': 'And', - 'kendo.grid.filterOrLogic': 'Or', - 'kendo.grid.filterDateToggle': 'Toggle calendar', - 'kendo.grid.filterDateToday': 'Today', - 'kendo.grid.filterNumericDecrement': 'Decrease value', - 'kendo.grid.filterNumericIncrement': 'Increase value', - 'kendo.grid.loading': 'Loading', - 'kendo.grid.sort': 'Sort', - 'kendo.grid.columnMenu': 'Column Menu', - 'kendo.grid.columns': 'Columns', - 'kendo.grid.lock': 'Lock', - 'kendo.grid.unlock': 'Unlock', - 'kendo.grid.stick': 'Stick', - 'kendo.grid.unstick': 'Unstick', - 'kendo.grid.setColumnPosition': 'Set Column Position', - 'kendo.grid.sortAscending': 'Sort Ascending', - 'kendo.grid.sortDescending': 'Sort Descending', - 'kendo.grid.columnsApply': 'Apply', - 'kendo.grid.columnsReset': 'Reset', - 'kendo.grid.sortable': 'Sortable', - 'kendo.grid.sortedAscending': 'Sorted ascending', - 'kendo.grid.sortedDescending': 'Sorted descending', - 'kendo.grid.sortedDefault': 'Not sorted', - - // DropDowns - 'kendo.autocomplete.noDataText': 'No data found', - 'kendo.autocomplete.clearTitle': 'Clear', - 'kendo.combobox.noDataText': 'No data found', - 'kendo.combobox.clearTitle': 'Clear', - 'kendo.dropdownlist.noDataText': 'No data found', - 'kendo.dropdownlist.clearTitle': 'Clear', - - // Calendar - 'kendo.calendar.today': 'TODAY', - - // TextBox - 'kendo.textbox.clearTitle': 'Clear', - - // DatePicker - 'kendo.datepicker.today': 'TODAY', - 'kendo.datepicker.toggle': 'Toggle calendar', - - // DateInput - 'kendo.dateinput.increment': 'Increase value', - 'kendo.dateinput.decrement': 'Decrease value', - - // NumericTextBox - 'kendo.numerictextbox.increment': 'Increase value', - 'kendo.numerictextbox.decrement': 'Decrease value', - - // DateTimePicker - 'kendo.datetimepicker.dateTab': 'Date', - 'kendo.datetimepicker.dateTabLabel': 'Date tab', - 'kendo.datetimepicker.timeTab': 'Time', - 'kendo.datetimepicker.timeTabLabel': 'Time tab', - 'kendo.datetimepicker.toggle': 'Toggle popup', - 'kendo.datetimepicker.accept': 'Set', - 'kendo.datetimepicker.acceptLabel': 'Set', - 'kendo.datetimepicker.cancel': 'Cancel', - 'kendo.datetimepicker.cancelLabel': 'Cancel', - 'kendo.datetimepicker.now': 'NOW', - 'kendo.datetimepicker.nowLabel': 'Select now', - 'kendo.datetimepicker.today': 'TODAY', - 'kendo.datetimepicker.prevButtonTitle': 'Navigate to previous view', - 'kendo.datetimepicker.nextButtonTitle': 'Navigate to next view', - - // TimePicker - 'kendo.timepicker.accept': 'Set', - 'kendo.timepicker.acceptLabel': 'Set', - 'kendo.timepicker.cancel': 'Cancel', - 'kendo.timepicker.cancelLabel': 'Cancel', - 'kendo.timepicker.now': 'Now', - 'kendo.timepicker.nowLabel': 'Now', - 'kendo.timepicker.toggle': 'Toggle time list', - - // FileSelect - 'kendo.fileselect.cancel': 'Cancel', - 'kendo.fileselect.clearSelectedFiles': 'Clear', - 'kendo.fileselect.dropFilesHere': 'Drop files here to upload', - 'kendo.fileselect.externalDropFilesHere': 'Drag and drop files here to upload', - 'kendo.fileselect.filesBatchStatus': 'files', - 'kendo.fileselect.filesBatchStatusFailed': 'files failed to upload.', - 'kendo.fileselect.filesBatchStatusUploaded': 'files successfully uploaded.', - 'kendo.fileselect.fileStatusFailed': 'File failed to upload.', - 'kendo.fileselect.fileStatusUploaded': 'File successfully uploaded.', - 'kendo.fileselect.headerStatusPaused': 'Paused', - 'kendo.fileselect.headerStatusUploaded': 'Done', - 'kendo.fileselect.headerStatusUploading': 'Uploading...', - 'kendo.fileselect.invalidFileExtension': 'File type not allowed.', - 'kendo.fileselect.invalidMaxFileSize': 'File size too large.', - 'kendo.fileselect.invalidMinFileSize': 'File size too small.', - 'kendo.fileselect.remove': 'Remove', - 'kendo.fileselect.retry': 'Retry', - 'kendo.fileselect.select': 'Select files...', - 'kendo.fileselect.uploadSelectedFiles': 'Upload files', - - // Scheduler - "kendo.scheduler.agendaViewTitle": "Agenda", - "kendo.scheduler.allDay": "all day", - "kendo.scheduler.allEvents": "All events", - "kendo.scheduler.calendarToday": "TODAY", - "kendo.scheduler.cancel": "Cancel", - "kendo.scheduler.save": "Save", - "kendo.scheduler.editorEventTitle": "Title", - "kendo.scheduler.editorEventStart": "Start", - "kendo.scheduler.editorEventStartTimeZone": "Start Time Zone", - "kendo.scheduler.editorEventEnd": "End", - "kendo.scheduler.editorEventEndTimeZone": "End Time Zone", - "kendo.scheduler.dateHeader": "Date", - "kendo.scheduler.dayViewTitle": "Day", - "kendo.scheduler.deleteConfirmation": "Are you sure you want to delete this event?", - "kendo.scheduler.deleteDialogTitle": "Delete Event", - "kendo.scheduler.deleteOccurrence": "Delete current occurrence", - "kendo.scheduler.deleteRecurringConfirmation": "Do you want to delete only this event occurrence or the whole series?", - "kendo.scheduler.deleteRecurringDialogTitle": "Delete Recurring Item", - "kendo.scheduler.deleteSeries": "Delete the series", - "kendo.scheduler.deleteTitle": "Delete", - "kendo.scheduler.destroy": "Delete", - "kendo.scheduler.editOccurrence": "Edit current occurrence", - "kendo.scheduler.editorEventAllDay": "All Day Event", - "kendo.scheduler.editorEventDescription": "Description", - "kendo.scheduler.editorEventSeparateTimeZones": "End in different Time Zone", - "kendo.scheduler.editorEventTimeZone": "Specify Time Zone", - "kendo.scheduler.editorTitle": "Event", - "kendo.scheduler.editRecurringConfirmation": "Do you want to edit only this event occurrence or the whole series?", - "kendo.scheduler.editRecurringDialogTitle": "Edit Recurring Item", - "kendo.scheduler.editSeries": "Edit the series", - "kendo.scheduler.eventHeader": "Event", - "kendo.scheduler.monthViewTitle": "Month", - "kendo.scheduler.multiDayViewTitle": "Multi-Day", - "kendo.scheduler.nextTitle": "Next", - "kendo.scheduler.previousTitle": "Previous", - "kendo.scheduler.recurrenceEditorDailyInterval": "day(s)", - "kendo.scheduler.recurrenceEditorDailyRepeatEvery": "Repeat every", - "kendo.scheduler.recurrenceEditorEndAfter": "After", - "kendo.scheduler.recurrenceEditorEndLabel": "End", - "kendo.scheduler.recurrenceEditorEndNever": "Never", - "kendo.scheduler.recurrenceEditorEndOccurrence": "occurrence(s)", - "kendo.scheduler.recurrenceEditorEndOn": "On", - "kendo.scheduler.recurrenceEditorFrequenciesDaily": "Daily", - "kendo.scheduler.recurrenceEditorFrequenciesMonthly": "Monthly", - "kendo.scheduler.recurrenceEditorFrequenciesNever": "Never", - "kendo.scheduler.recurrenceEditorFrequenciesWeekly": "Weekly", - "kendo.scheduler.recurrenceEditorFrequenciesYearly": "Yearly", - "kendo.scheduler.recurrenceEditorMonthlyDay": "Day", - "kendo.scheduler.recurrenceEditorMonthlyInterval": "month(s)", - "kendo.scheduler.recurrenceEditorMonthlyRepeatEvery": "Repeat every", - "kendo.scheduler.recurrenceEditorMonthlyRepeatOn": "Repeat on", - "kendo.scheduler.recurrenceEditorOffsetPositionsFirst": "First", - "kendo.scheduler.recurrenceEditorOffsetPositionsFourth": "Fourth", - "kendo.scheduler.recurrenceEditorOffsetPositionsLast": "Last", - "kendo.scheduler.recurrenceEditorOffsetPositionsSecond": "Second", - "kendo.scheduler.recurrenceEditorOffsetPositionsThird": "Third", - "kendo.scheduler.recurrenceEditorRepeat": "Repeat", - "kendo.scheduler.recurrenceEditorWeekdaysDay": "Day", - "kendo.scheduler.recurrenceEditorWeekdaysWeekday": "Weekday", - "kendo.scheduler.recurrenceEditorWeekdaysWeekendday": "Weekend Day", - "kendo.scheduler.recurrenceEditorWeeklyInterval": "week(s)", - "kendo.scheduler.recurrenceEditorWeeklyRepeatEvery": "Repeat every", - "kendo.scheduler.recurrenceEditorWeeklyRepeatOn": "Repeat on", - "kendo.scheduler.recurrenceEditorYearlyInterval": "year(s)", - "kendo.scheduler.recurrenceEditorYearlyOf": "of", - "kendo.scheduler.recurrenceEditorYearlyRepeatEvery": "Repeat every", - "kendo.scheduler.recurrenceEditorYearlyRepeatOn": "Repeat on", - "kendo.scheduler.showFullDay": "Show full day", - "kendo.scheduler.showWorkDay": "Show business hours", - "kendo.scheduler.timeHeader": "Time", - "kendo.scheduler.timelineMonthViewTitle": "Timeline Month", - "kendo.scheduler.timelineViewTitle": "Timeline", - "kendo.scheduler.timelineWeekViewTitle": "Timeline Week", - "kendo.scheduler.today": "Today", - "kendo.scheduler.weekViewTitle": "Week", - "kendo.scheduler.workWeekViewTitle": "Work Week", - - // RecurrenceEditor - "kendo.recurrenceeditor.dailyInterval": "day(s)", - "kendo.recurrenceeditor.dailyRepeatEvery": "Repeat every", - "kendo.recurrenceeditor.endAfter": "After", - "kendo.recurrenceeditor.endLabel": "End", - "kendo.recurrenceeditor.endNever": "Never", - "kendo.recurrenceeditor.endOccurrence": "occurrence(s)", - "kendo.recurrenceeditor.endOn": "On", - "kendo.recurrenceeditor.frequenciesDaily": "Daily", - "kendo.recurrenceeditor.frequenciesMonthly": "Monthly", - "kendo.recurrenceeditor.frequenciesNever": "Never", - "kendo.recurrenceeditor.frequenciesWeekly": "Weekly", - "kendo.recurrenceeditor.frequenciesYearly": "Yearly", - "kendo.recurrenceeditor.monthlyDay": "Day", - "kendo.recurrenceeditor.monthlyInterval": "month(s)", - "kendo.recurrenceeditor.monthlyRepeatEvery": "Repeat every", - "kendo.recurrenceeditor.monthlyRepeatOn": "Repeat on", - "kendo.recurrenceeditor.offsetPositionsFourth": "Fourth", - "kendo.recurrenceeditor.offsetPositionsLast": "Last", - "kendo.recurrenceeditor.offsetPositionsSecond": "Second", - "kendo.recurrenceeditor.offsetPositionsThird": "Third", - "kendo.recurrenceeditor.repeat": "Repeat", - "kendo.recurrenceeditor.weekdaysDay": "Day", - "kendo.recurrenceeditor.weekdaysWeekday": "Weekday", - "kendo.recurrenceeditor.weekdaysWeekendday": "Weekend Day", - "kendo.recurrenceeditor.weeklyInterval": "week(s)", - "kendo.recurrenceeditor.weeklyRepeatEvery": "Repeat every", - "kendo.recurrenceeditor.weeklyRepeatOn": "Repeat on", - "kendo.recurrenceeditor.yearlyInterval": "year(s)", - "kendo.recurrenceeditor.yearlyOf": "of", - "kendo.recurrenceeditor.yearlyRepeatEvery": "Repeat every", - "kendo.recurrenceeditor.yearlyRepeatOn": "Repeat on", -}; diff --git a/examples-standalone/vite-coffee-warehouse/src/messages/es.js b/examples-standalone/vite-coffee-warehouse/src/messages/es.js deleted file mode 100644 index fd5b1251..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/messages/es.js +++ /dev/null @@ -1,121 +0,0 @@ -// Custom Messages -export const esCustomMessages = { - teamEfficiency: 'Eficiencia del equipo', - teamMembers: 'Miembros del equipo', - dashboard: 'Tablero', - planning: 'Planificación', - info: 'Informacion', - profile: 'Perfil', - language: 'Idioma', - trend: 'Tendencia', - volume: 'Volumen', - myTeam: 'Mi equipo', - allTeams: 'Todos los equipos', - teamCalendar: 'Calendario del equipo', - saveChanges: 'Guardar cambios', - cancel: 'Cancelar', - warehouse: 'Almacén De Café', - startFreeTrial: 'Iniciar prueba gratuita', - buyNow: 'Comprar ahora', - getSource: 'Obtenga el código fuente en GitHub', - demoInfo: - 'Esta aplicación de demostración está construida utilizando los siguientes componentes de Kendo UI for Vue.', - firstName: 'Primer nombre', - middleName: 'Segundo nombre', - lastName: 'Apellido', - email: 'Dirección de correo electrónico', - phoneNumber: 'Número de teléfono', - country: 'País', - biography: 'Biografía corta', - public: 'Incluir en directorio público', - team: 'Equipo', - employee: 'Empleado', - contactName: 'Nombre de contacto', - jobTitle: 'Título del trabajo', - status: 'Estado', - performance: 'Rendimiento', - rating: 'Clasificación', - engagement: 'Compromiso', - budget: 'Presupuesto', - contacts: 'Contactos', - address: 'Dirección', - phone: 'Teléfono', - gridSearch: 'Buscar en todas las columnas ...', - exportExcel: 'Exportar a Excel', - exportPdf: 'Exportar a PDF' -}; - -// Kendo Vue Component Messages -export const esComponentMessages = { - "datepicker": { - "toggleCalendar": "Alternar calendario" - }, - "calendar": { - "today": "Hoy" - }, - "dateinput": { - "increment": "Incrementar valor", - "decrement": "Disminuir valor" - }, - "datetimepicker": { - "date": "Fecha", - "time": "Hora", - "cancel": "Cancelar", - "set": "Establecer" - }, - "numerictextbox": { - "increment": "Incrementar valor", - "decrement": "Disminuir valor" - }, - "timepicker": { - "now": "AHORA", - "set": "Establecer", - "cancel": "Cancelar" - }, - "grid": { - "groupPanelEmpty": "Arrastre el título de una columna y suéltelo aquí para agrupar por ese criterio", - "noRecords": "No hay datos disponibles.", - "pagerFirstPage": "Ir a la primera página", - "pagerPreviousPage": "Ir a la página anterior", - "pagerNextPage": "Ir a la página siguiente", - "pagerLastPage": "Ir a la última página", - "pagerPage": "Página", - "pagerOf": "de", - "pagerItems": "ítems", - "pagerInfo": "{0} - {1} de {2} ítems", - "pagerItemsPerPage": "ítems por página", - "filterEqOperator": "Es igual a", - "filterNotEqOperator": "No es igual a", - "filterIsNullOperator": "Es nulo", - "filterIsNotNullOperator": "No es nulo", - "filterIsEmptyOperator": "Está vacío", - "filterIsNotEmptyOperator": "No está vacío", - "filterStartsWithOperator": "Comienza con", - "filterContainsOperator": "Contiene", - "filterNotContainsOperator": "No contiene", - "filterEndsWithOperator": "Termina en", - "filterGteOperator": "Es mayor o igual que", - "filterGtOperator": "Es mayor que", - "filterLteOperator": "Es menor o igual que", - "filterLtOperator": "Es menor o igual que", - "filterIsTrue": "Sí", - "filterIsFalse": "No", - "filterBooleanAll": "(Todas)", - "filterAfterOrEqualOperator": "Es posterior o igual a", - "filterAfterOperator": "Es posterior", - "filterBeforeOperator": "Es anterior", - "filterBeforeOrEqualOperator": "Es anterior o igual a", - "filterSubmitButton": "Filtrar", - "filterClearButton": "Limpiar", - "filterAndLogic": "Y", - "filterOrLogic": "O", - "filterTitle": "Filtros", - "sortAscending": "Orden ascendente", - "sortDescending": "Orden descendente" - }, - "upload": { - "cancel": "Cancelar", - "dropFilesHere": "Arrastre los archivos aquí para subirlos", - "select": "Seleccione...", - }, -}; diff --git a/examples-standalone/vite-coffee-warehouse/src/messages/fr.js b/examples-standalone/vite-coffee-warehouse/src/messages/fr.js deleted file mode 100644 index aef5f699..00000000 --- a/examples-standalone/vite-coffee-warehouse/src/messages/fr.js +++ /dev/null @@ -1,121 +0,0 @@ -// Custom Messages -export const frCustomMessages = { - teamEfficiency: "Efficacité de l'équipe", - teamMembers: "Membres de l'équipe", - dashboard: 'Tableau de bord', - planning: 'Planification', - info: 'Info', - profile: 'Profil', - language: 'Langue', - trend: 'Tendance', - volume: 'Le volume', - myTeam: 'Mon équipe', - allTeams: 'Toutes les équipes', - teamCalendar: "Calendrier d'équipe", - saveChanges: 'Sauvegarder les modifications', - cancel: 'Annuler', - warehouse: 'Entrepôt De Café', - startFreeTrial: "Démarrer l'essai gratuit", - buyNow: 'Acheter maintenant', - getSource: 'Récupérer le code source sur GitHub', - demoInfo: - "Cette application de démonstration est construite à l'aide des composants Kendo UI for Vue.", - firstName: 'Prénom', - middleName: 'Deuxième nom', - lastName: 'Nom de famille', - email: 'Adresse e-mail', - phoneNumber: 'Numéro de téléphone', - country: 'Pays', - biography: 'Biographie courte', - public: 'Inclure dans le répertoire public', - team: 'Équipe', - employee: 'Employé', - contactName: 'Nom du contact', - jobTitle: 'Titre du poste', - status: 'Statut', - performance: 'Performance', - rating: 'Évaluation', - engagement: 'Engagement', - budget: 'Budget', - contacts: 'Contacts', - address: 'Adresse', - phone: 'Téléphone', - gridSearch: 'Rechercher dans toutes les colonnes ...', - exportExcel: 'Exporter vers Excel', - exportPdf: 'Exporter au format PDF' -}; - -export const frComponentMessages = { - "grid": { - "groupPanelEmpty": "Faites glisser un en-tête de colonne et déposez-le ici pour grouper par cette colonne", - "pagerItemsPerPage": "éléments par page", - "pagerInfo": "{0} - {1} sur {2} éléments", - "pagerFirstPage": "Aller à la première page", - "pagerPreviousPage": "Aller à la page précédente", - "pagerNextPage": "Aller à la page suivante", - "pagerLastPage": "Aller à la dernière page", - "pagerPage": "Page", - "pagerOf": "de", - "filterClearButton": "Effacer", - "filterEqOperator": "Est égal à", - "filterNotEqOperator": "N'est pas égal à", - "filterIsNullOperator": "Est nulle", - "filterIsNotNullOperator": "Est non nulle", - "filterIsEmptyOperator": "Est vide", - "filterIsNotEmptyOperator": "N'est pas vide", - "filterStartsWithOperator": "Commence par", - "filterContainsOperator": "Contient", - "filterNotContainsOperator": "Ne contient pas", - "filterEndsWithOperator": "Se termine par", - "filterGteOperator": "Est supérieur ou égal à", - "filterGtOperator": "Est supérieur à", - "filterLteOperator": "Est inférieur ou égal à", - "filterLtOperator": "Est inférieur à", - "filterIsTrue": "Est vrai", - "filterIsFalse": "Est faux", - "filterBooleanAll": "(Tous)", - "filterAfterOrEqualOperator": "Est postérieur ou égal à", - "filterAfterOperator": "Est postérieur", - "filterBeforeOperator": "Est antérieur", - "filterBeforeOrEqualOperator": "Est antérieur ou égal à", - "noRecords": "Aucun enregistrement disponible." - }, - "dateinput": { - "increment": "Augmenter la valeur", - "decrement": "Diminuer la valeur" - }, - "calendar": { - "today": "AUJOURD'HUI" - }, - "datepicker": { - "toggleCalendar": "Basculer le calendrier" - }, - "dropdowns": { - "nodata": "AUCUNE DONNÉE DISPONIBLE.", - "clear": "Effacer" - }, - "numerictextbox": { - "increment": "Augmenter la valeur", - "decrement": "Diminuer la valeur" - }, - "upload": { - "cancel": "Cancel", - "clearSelectedFiles": "Effacer", - "dropFilesHere": "Déposer des fichiers ici pour télécharger", - "headerStatusUploaded": "Terminé", - "headerStatusUploading": "Téléchargement...", - "invalidFileExtension": "Type de fichier non autorisé.", - "invalidFiles": "Fichier(s) invalide(s). Veuillez vérifier les exigences de téléchargement de fichier.", - "invalidMaxFileSize": "La taille du fichier est trop grande.", - "invalidMinFileSize": "La taille du fichier est trop petite.", - "remove": "Retirer", - "retry": "Réessayez", - "select": "Sélectionnez les fichiers...", - "uploadSelectedFiles": "Télécharger", - "total": "Total", - "files": "fichiers" - }, - "sortable": { - "noData": "Aucune donnée" - } -}; diff --git a/examples/bin/build-gh-pages b/examples/bin/build-gh-pages index ddb665c3..09333281 100755 --- a/examples/bin/build-gh-pages +++ b/examples/bin/build-gh-pages @@ -1,7 +1,7 @@ #!/usr/bin/env bash # Builds example projects and deploys them to GH Pages -STANDALONE_PROJECTS=(coffee-warehouse dashboard vite-coffee-warehouse) +STANDALONE_PROJECTS=(coffee-warehouse dashboard) set -e @@ -11,16 +11,9 @@ do pushd ../examples-standalone/${PROJECT} > /dev/null echo Building ${PROJECT} - - # Skip build steps for coffee-warehouse - if [[ "${PROJECT}" != "coffee-warehouse" ]]; then - npm ci - rm -rf dist - npm run build - else - echo Skipping build for ${PROJECT} - fi - + npm ci + rm -rf dist + npm run build mkdir -p ../../examples/dist/${PROJECT} mv -v dist/* ../../examples/dist/${PROJECT} diff --git a/examples/static/index.html b/examples/static/index.html index e392ad8b..39c45931 100644 --- a/examples/static/index.html +++ b/examples/static/index.html @@ -11,9 +11,8 @@

    Kendo UI for Vue - Sample Applications

    This GitHub pages site hosts runnable versions of the following sample applications:

    To access the source code of all sample applications, go to the